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

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

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

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [85 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.client_extensions = external hidden unnamed_addr constant [16 x i8], align 16
@.str.49 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [165 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [165 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [163 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@__const.main.client_extensions.63 = external hidden unnamed_addr constant [32 x i8], align 16
@.str.64 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [58 x i8], align 1
@__const.main.client_extensions.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.client_extensions.69 = external hidden unnamed_addr constant [37 x i8], align 16
@.str.70 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [102 x i8], align 1
@server_ocsp_status_bytes = external hidden global [1609 x i8], align 16
@.str.73 = external hidden unnamed_addr constant [162 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [102 x i8], align 1
@sct_list = external hidden global [5 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [74 x i8], align 1
@mfl_code_to_length = external global [5 x i16], align 2
@.str.103 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca %struct.s2n_test_io_pair, align 4
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %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 i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca 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 ptr, align 8
  %78 = alloca i32, align 4
  %79 = alloca ptr, align 8
  %80 = alloca ptr, align 8
  %81 = alloca ptr, align 8
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca [16 x i8], align 16
  %85 = alloca i32, align 4
  %86 = alloca [75 x i8], align 16
  %87 = alloca i32, align 4
  %88 = alloca [4 x i8], align 1
  %89 = alloca i32, align 4
  %90 = alloca [5 x i8], align 1
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca ptr, align 8
  %116 = alloca ptr, align 8
  %117 = alloca i32, align 4
  %118 = alloca ptr, align 8
  %119 = alloca [32 x i8], align 16
  %120 = alloca i32, align 4
  %121 = alloca [75 x i8], align 16
  %122 = alloca i32, align 4
  %123 = alloca [4 x i8], align 1
  %124 = alloca i32, align 4
  %125 = alloca [5 x i8], align 1
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %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 i32, align 4
  %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 ptr, align 8
  %145 = alloca ptr, align 8
  %146 = alloca i32, align 4
  %147 = alloca ptr, align 8
  %148 = alloca [5 x i8], align 1
  %149 = alloca i32, align 4
  %150 = alloca [75 x i8], align 16
  %151 = alloca i32, align 4
  %152 = alloca [4 x i8], align 1
  %153 = alloca i32, align 4
  %154 = alloca [5 x i8], align 1
  %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 i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %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 ptr, align 8
  %178 = alloca ptr, align 8
  %179 = alloca i32, align 4
  %180 = alloca ptr, align 8
  %181 = alloca [5120 x i8], align 16
  %182 = alloca [37 x i8], align 16
  %183 = alloca i32, align 4
  %184 = alloca [75 x i8], align 16
  %185 = alloca i32, align 4
  %186 = alloca [4 x i8], align 1
  %187 = alloca i32, align 4
  %188 = alloca [5 x i8], align 1
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, 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 i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca ptr, align 8
  %209 = alloca ptr, align 8
  %210 = alloca ptr, align 8
  %211 = alloca i32, align 4
  %212 = alloca ptr, align 8
  %213 = alloca i32, align 4
  %214 = alloca i32, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, 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 i32, align 4
  %236 = alloca ptr, align 8
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca ptr, align 8
  %243 = alloca ptr, align 8
  %244 = alloca ptr, align 8
  %245 = alloca ptr, align 8
  %246 = alloca i32, align 4
  %247 = alloca ptr, align 8
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca ptr, align 8
  %276 = alloca ptr, align 8
  %277 = alloca ptr, align 8
  %278 = alloca ptr, align 8
  %279 = alloca ptr, align 8
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i64, align 8
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca ptr, align 8
  %308 = alloca ptr, align 8
  %309 = alloca ptr, align 8
  %310 = alloca ptr, align 8
  %311 = alloca ptr, align 8
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca i32, align 4
  %319 = alloca i32, align 4
  %320 = alloca i32, align 4
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i64, align 8
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca ptr, align 8
  %340 = alloca ptr, align 8
  %341 = alloca ptr, align 8
  %342 = alloca ptr, align 8
  %343 = alloca ptr, align 8
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i64, align 8
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca ptr, align 8
  %376 = alloca ptr, align 8
  %377 = alloca ptr, align 8
  %378 = alloca i32, align 4
  %379 = alloca ptr, align 8
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca i32, align 4
  %385 = alloca i32, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca ptr, align 8
  %402 = alloca ptr, align 8
  %403 = alloca ptr, align 8
  %404 = alloca ptr, align 8
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca i32, align 4
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca ptr, align 8
  %430 = alloca ptr, align 8
  %431 = alloca ptr, align 8
  %432 = alloca ptr, align 8
  %433 = alloca ptr, align 8
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca i32, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca i32, align 4
  %456 = alloca i32, align 4
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca i8, align 1
  %461 = alloca ptr, align 8
  %462 = alloca ptr, align 8
  %463 = alloca ptr, align 8
  %464 = alloca ptr, align 8
  %465 = alloca ptr, align 8
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca i32, align 4
  %472 = alloca i32, align 4
  %473 = alloca i32, align 4
  %474 = alloca i32, align 4
  %475 = alloca i32, align 4
  %476 = alloca i32, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca i32, align 4
  %487 = alloca i32, align 4
  %488 = alloca i32, align 4
  %489 = alloca i32, align 4
  %490 = alloca ptr, align 8
  %491 = alloca ptr, align 8
  %492 = alloca ptr, align 8
  %493 = alloca ptr, align 8
  %494 = alloca ptr, align 8
  %495 = alloca i32, align 4
  %496 = alloca i32, align 4
  %497 = alloca i32, align 4
  %498 = alloca i32, align 4
  %499 = alloca i32, align 4
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca i32, align 4
  %503 = alloca i32, align 4
  %504 = alloca i32, align 4
  %505 = alloca i32, align 4
  %506 = alloca i32, align 4
  %507 = alloca i32, align 4
  %508 = alloca i32, align 4
  %509 = alloca i32, align 4
  %510 = alloca i32, align 4
  %511 = alloca i32, align 4
  %512 = alloca i32, align 4
  %513 = alloca i32, align 4
  %514 = alloca i32, align 4
  %515 = alloca i32, align 4
  %516 = alloca i32, align 4
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca i32, align 4
  %520 = alloca ptr, align 8
  %521 = alloca ptr, align 8
  %522 = alloca ptr, align 8
  %523 = alloca ptr, align 8
  %524 = alloca ptr, align 8
  %525 = alloca i32, align 4
  %526 = alloca i32, align 4
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca i32, align 4
  %531 = alloca i32, align 4
  %532 = alloca i32, align 4
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i32, align 4
  %536 = alloca i32, align 4
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca i32, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca i32, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca i32, align 4
  %549 = alloca i32, align 4
  %550 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #10
  store ptr null, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #10
  store ptr null, ptr %7, align 8, !tbaa !9
  br label %551

551:                                              ; preds = %2
  br label %552

552:                                              ; preds = %551
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %553 = load ptr, ptr @stdout, align 8, !tbaa !9
  %554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %553, ptr noundef @.str, ptr noundef @.str.1) #10
  %555 = load ptr, ptr @stdout, align 8, !tbaa !9
  %556 = call i32 @fflush(ptr noundef %555)
  br label %557

557:                                              ; preds = %552
  %558 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %559 = icmp eq i32 %558, -1
  br i1 %559, label %560, label %613

560:                                              ; preds = %557
  br label %561

561:                                              ; preds = %560
  br label %562

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

569:                                              ; preds = %562
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = call i32 @fileno(ptr noundef %570) #10
  %572 = call i32 @isatty(i32 noundef %571) #10
  %573 = icmp ne i32 %572, 0
  br i1 %573, label %574, label %591

574:                                              ; preds = %569
  %575 = load i32, ptr %8, align 4, !tbaa !5
  %576 = call ptr @__errno_location() #11
  store i32 %575, ptr %576, align 4, !tbaa !5
  %577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %580 = load i32, ptr %579, align 4, !tbaa !5
  %581 = call ptr @s2n_strerror(i32 noundef %580, ptr noundef @.str.4)
  %582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror_debug(i32 noundef %583, ptr noundef @.str.4)
  %585 = call ptr @__errno_location() #11
  %586 = load i32, ptr %585, align 4, !tbaa !5
  %587 = call ptr @strerror(i32 noundef %586) #10
  %588 = call ptr @__errno_location() #11
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %577, ptr noundef @.str.2, i32 noundef %578, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 156, ptr noundef %581, ptr noundef %584, ptr noundef %587, i32 noundef %589) #10
  br label %608

591:                                              ; preds = %569, %562
  %592 = load i32, ptr %8, align 4, !tbaa !5
  %593 = call ptr @__errno_location() #11
  store i32 %592, ptr %593, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %597 = load i32, ptr %596, align 4, !tbaa !5
  %598 = call ptr @s2n_strerror(i32 noundef %597, ptr noundef @.str.4)
  %599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %600 = load i32, ptr %599, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror_debug(i32 noundef %600, ptr noundef @.str.4)
  %602 = call ptr @__errno_location() #11
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @strerror(i32 noundef %603) #10
  %605 = call ptr @__errno_location() #11
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef @.str.5, i32 noundef %595, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 156, ptr noundef %598, ptr noundef %601, ptr noundef %604, i32 noundef %606) #10
  br label %608

608:                                              ; preds = %591, %574
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %609

609:                                              ; preds = %608
  br label %610

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

611:                                              ; No predecessors!
  br label %612

612:                                              ; preds = %611
  br label %613

613:                                              ; preds = %612, %557
  br label %614

614:                                              ; preds = %613
  br label %615

615:                                              ; preds = %614
  br label %616

616:                                              ; preds = %615
  %617 = load i32, ptr @test_count, align 4, !tbaa !5
  %618 = add nsw i32 %617, 1
  store i32 %618, ptr @test_count, align 4, !tbaa !5
  %619 = call i32 @s2n_enable_atexit()
  %620 = icmp eq i32 %619, -1
  br i1 %620, label %621, label %674

621:                                              ; preds = %616
  br label %622

622:                                              ; preds = %621
  br label %623

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

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

635:                                              ; preds = %630
  %636 = load i32, ptr %9, align 4, !tbaa !5
  %637 = call ptr @__errno_location() #11
  store i32 %636, ptr %637, align 4, !tbaa !5
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror(i32 noundef %641, ptr noundef @.str.4)
  %643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call ptr @s2n_strerror_debug(i32 noundef %644, ptr noundef @.str.4)
  %646 = call ptr @__errno_location() #11
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call ptr @strerror(i32 noundef %647) #10
  %649 = call ptr @__errno_location() #11
  %650 = load i32, ptr %649, align 4, !tbaa !5
  %651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %638, ptr noundef @.str.2, i32 noundef %639, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 156, ptr noundef %642, ptr noundef %645, ptr noundef %648, i32 noundef %650) #10
  br label %669

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

669:                                              ; preds = %652, %635
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #10
  br label %670

670:                                              ; preds = %669
  br label %671

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

672:                                              ; No predecessors!
  br label %673

673:                                              ; preds = %672
  br label %674

674:                                              ; preds = %673, %616
  br label %675

675:                                              ; preds = %674
  br label %676

676:                                              ; preds = %675
  br label %677

677:                                              ; preds = %676
  br label %678

678:                                              ; preds = %677
  br label %679

679:                                              ; preds = %678
  %680 = call i32 @s2n_init()
  %681 = icmp eq i32 %680, -1
  br i1 %681, label %682, label %735

682:                                              ; preds = %679
  br label %683

683:                                              ; preds = %682
  br label %684

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

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

696:                                              ; preds = %691
  %697 = load i32, ptr %10, align 4, !tbaa !5
  %698 = call ptr @__errno_location() #11
  store i32 %697, ptr %698, align 4, !tbaa !5
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @s2n_strerror(i32 noundef %702, ptr noundef @.str.4)
  %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_debug(i32 noundef %705, ptr noundef @.str.4)
  %707 = call ptr @__errno_location() #11
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @strerror(i32 noundef %708) #10
  %710 = call ptr @__errno_location() #11
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %699, ptr noundef @.str.2, i32 noundef %700, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 156, ptr noundef %703, ptr noundef %706, ptr noundef %709, i32 noundef %711) #10
  br label %730

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

730:                                              ; preds = %713, %696
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #10
  br label %731

731:                                              ; preds = %730
  br label %732

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

733:                                              ; No predecessors!
  br label %734

734:                                              ; preds = %733
  br label %735

735:                                              ; preds = %734, %679
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  br label %738

738:                                              ; preds = %737
  br label %739

739:                                              ; preds = %738
  br label %740

740:                                              ; preds = %739
  %741 = load i32, ptr @test_count, align 4, !tbaa !5
  %742 = add nsw i32 %741, 1
  store i32 %742, ptr @test_count, align 4, !tbaa !5
  %743 = call i32 (...) @s2n_disable_tls13_in_test()
  %744 = icmp eq i32 %743, -1
  br i1 %744, label %745, label %798

745:                                              ; preds = %740
  br label %746

746:                                              ; preds = %745
  br label %747

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

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

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

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

793:                                              ; preds = %776, %759
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %794

794:                                              ; preds = %793
  br label %795

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

796:                                              ; No predecessors!
  br label %797

797:                                              ; preds = %796
  br label %798

798:                                              ; preds = %797, %740
  br label %799

799:                                              ; preds = %798
  br label %800

800:                                              ; preds = %799
  br label %801

801:                                              ; preds = %800
  %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 = call noalias ptr @malloc(i64 noundef 12000) #13
  store ptr %804, ptr %6, align 8, !tbaa !9
  %805 = icmp eq ptr %804, null
  br i1 %805, label %806, label %859

806:                                              ; preds = %801
  br label %807

807:                                              ; preds = %806
  br label %808

808:                                              ; preds = %807
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #10
  %809 = call ptr @__errno_location() #11
  %810 = load i32, ptr %809, align 4, !tbaa !5
  store i32 %810, ptr %12, 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) #10
  %818 = call i32 @isatty(i32 noundef %817) #10
  %819 = icmp ne i32 %818, 0
  br i1 %819, label %820, label %837

820:                                              ; preds = %815
  %821 = load i32, ptr %12, align 4, !tbaa !5
  %822 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %831 = call ptr @__errno_location() #11
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @strerror(i32 noundef %832) #10
  %834 = call ptr @__errno_location() #11
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %823, ptr noundef @.str.2, i32 noundef %824, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 159, ptr noundef %827, ptr noundef %830, ptr noundef %833, i32 noundef %835) #10
  br label %854

837:                                              ; preds = %815, %808
  %838 = load i32, ptr %12, align 4, !tbaa !5
  %839 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %848 = call ptr @__errno_location() #11
  %849 = load i32, ptr %848, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #10
  %851 = call ptr @__errno_location() #11
  %852 = load i32, ptr %851, align 4, !tbaa !5
  %853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %840, ptr noundef @.str.5, i32 noundef %841, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 159, ptr noundef %844, ptr noundef %847, ptr noundef %850, i32 noundef %852) #10
  br label %854

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

855:                                              ; preds = %854
  br label %856

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

857:                                              ; No predecessors!
  br label %858

858:                                              ; preds = %857
  br label %859

859:                                              ; preds = %858, %801
  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 = call noalias ptr @malloc(i64 noundef 12000) #13
  store ptr %865, ptr %7, align 8, !tbaa !9
  %866 = icmp eq ptr %865, null
  br i1 %866, label %867, label %920

867:                                              ; preds = %862
  br label %868

868:                                              ; preds = %867
  br label %869

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

876:                                              ; preds = %869
  %877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %878 = call i32 @fileno(ptr noundef %877) #10
  %879 = call i32 @isatty(i32 noundef %878) #10
  %880 = icmp ne i32 %879, 0
  br i1 %880, label %881, label %898

881:                                              ; preds = %876
  %882 = load i32, ptr %13, align 4, !tbaa !5
  %883 = call ptr @__errno_location() #11
  store i32 %882, ptr %883, align 4, !tbaa !5
  %884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %885 = load i32, ptr @test_count, align 4, !tbaa !5
  %886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @s2n_strerror(i32 noundef %887, ptr noundef @.str.4)
  %889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call ptr @s2n_strerror_debug(i32 noundef %890, ptr noundef @.str.4)
  %892 = call ptr @__errno_location() #11
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call ptr @strerror(i32 noundef %893) #10
  %895 = call ptr @__errno_location() #11
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %884, ptr noundef @.str.2, i32 noundef %885, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 160, ptr noundef %888, ptr noundef %891, ptr noundef %894, i32 noundef %896) #10
  br label %915

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

915:                                              ; preds = %898, %881
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %916

916:                                              ; preds = %915
  br label %917

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

918:                                              ; No predecessors!
  br label %919

919:                                              ; preds = %918
  br label %920

920:                                              ; preds = %919, %862
  br label %921

921:                                              ; preds = %920
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = add nsw i32 %924, 1
  store i32 %925, ptr @test_count, align 4, !tbaa !5
  %926 = call i32 @setenv(ptr noundef @.str.11, ptr noundef @.str.12, i32 noundef 0) #10
  %927 = icmp eq i32 %926, -1
  br i1 %927, label %928, label %981

928:                                              ; preds = %923
  br label %929

929:                                              ; preds = %928
  br label %930

930:                                              ; preds = %929
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  %931 = call ptr @__errno_location() #11
  %932 = load i32, ptr %931, align 4, !tbaa !5
  store i32 %932, ptr %14, align 4, !tbaa !5
  %933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %934 = call i32 @s2n_print_stacktrace(ptr noundef %933)
  %935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %936 = trunc i8 %935 to i1
  br i1 %936, label %937, label %959

937:                                              ; preds = %930
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @fileno(ptr noundef %938) #10
  %940 = call i32 @isatty(i32 noundef %939) #10
  %941 = icmp ne i32 %940, 0
  br i1 %941, label %942, label %959

942:                                              ; preds = %937
  %943 = load i32, ptr %14, align 4, !tbaa !5
  %944 = call ptr @__errno_location() #11
  store i32 %943, ptr %944, align 4, !tbaa !5
  %945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %946 = load i32, ptr @test_count, align 4, !tbaa !5
  %947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror(i32 noundef %948, ptr noundef @.str.4)
  %950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call ptr @s2n_strerror_debug(i32 noundef %951, ptr noundef @.str.4)
  %953 = call ptr @__errno_location() #11
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = call ptr @strerror(i32 noundef %954) #10
  %956 = call ptr @__errno_location() #11
  %957 = load i32, ptr %956, align 4, !tbaa !5
  %958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %945, ptr noundef @.str.2, i32 noundef %946, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 161, ptr noundef %949, ptr noundef %952, ptr noundef %955, i32 noundef %957) #10
  br label %976

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

976:                                              ; preds = %959, %942
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %977

977:                                              ; preds = %976
  br label %978

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

979:                                              ; No predecessors!
  br label %980

980:                                              ; preds = %979
  br label %981

981:                                              ; preds = %980, %923
  br label %982

982:                                              ; preds = %981
  br label %983

983:                                              ; preds = %982
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  br label %984

984:                                              ; preds = %983
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = add nsw i32 %985, 1
  store i32 %986, ptr @test_count, align 4, !tbaa !5
  %987 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %15)
  %988 = icmp eq i32 %987, -1
  br i1 %988, label %989, label %1042

989:                                              ; preds = %984
  br label %990

990:                                              ; preds = %989
  br label %991

991:                                              ; preds = %990
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %992 = call ptr @__errno_location() #11
  %993 = load i32, ptr %992, align 4, !tbaa !5
  store i32 %993, ptr %16, align 4, !tbaa !5
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 @s2n_print_stacktrace(ptr noundef %994)
  %996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %997 = trunc i8 %996 to i1
  br i1 %997, label %998, label %1020

998:                                              ; preds = %991
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = call i32 @fileno(ptr noundef %999) #10
  %1001 = call i32 @isatty(i32 noundef %1000) #10
  %1002 = icmp ne i32 %1001, 0
  br i1 %1002, label %1003, label %1020

1003:                                             ; preds = %998
  %1004 = load i32, ptr %16, align 4, !tbaa !5
  %1005 = call ptr @__errno_location() #11
  store i32 %1004, ptr %1005, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef @.str.4)
  %1011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror_debug(i32 noundef %1012, ptr noundef @.str.4)
  %1014 = call ptr @__errno_location() #11
  %1015 = load i32, ptr %1014, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #10
  %1017 = call ptr @__errno_location() #11
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef @.str.2, i32 noundef %1007, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 165, ptr noundef %1010, ptr noundef %1013, ptr noundef %1016, i32 noundef %1018) #10
  br label %1037

1020:                                             ; preds = %998, %991
  %1021 = load i32, ptr %16, align 4, !tbaa !5
  %1022 = call ptr @__errno_location() #11
  store i32 %1021, ptr %1022, align 4, !tbaa !5
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = load i32, ptr @test_count, align 4, !tbaa !5
  %1025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  %1027 = call ptr @s2n_strerror(i32 noundef %1026, ptr noundef @.str.4)
  %1028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1029 = load i32, ptr %1028, align 4, !tbaa !5
  %1030 = call ptr @s2n_strerror_debug(i32 noundef %1029, ptr noundef @.str.4)
  %1031 = call ptr @__errno_location() #11
  %1032 = load i32, ptr %1031, align 4, !tbaa !5
  %1033 = call ptr @strerror(i32 noundef %1032) #10
  %1034 = call ptr @__errno_location() #11
  %1035 = load i32, ptr %1034, align 4, !tbaa !5
  %1036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1023, ptr noundef @.str.5, i32 noundef %1024, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 165, ptr noundef %1027, ptr noundef %1030, ptr noundef %1033, i32 noundef %1035) #10
  br label %1037

1037:                                             ; preds = %1020, %1003
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %1038

1038:                                             ; preds = %1037
  br label %1039

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

1040:                                             ; No predecessors!
  br label %1041

1041:                                             ; preds = %1040
  br label %1042

1042:                                             ; preds = %1041, %984
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

1044:                                             ; preds = %1043
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #10
  store ptr null, ptr %17, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  store ptr null, ptr %18, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  store ptr null, ptr %19, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  store ptr null, ptr %20, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #10
  store ptr null, ptr %21, align 8, !tbaa !9
  br label %1045

1045:                                             ; preds = %1044
  %1046 = load i32, ptr @test_count, align 4, !tbaa !5
  %1047 = add nsw i32 %1046, 1
  store i32 %1047, ptr @test_count, align 4, !tbaa !5
  %1048 = call ptr @s2n_config_new()
  store ptr %1048, ptr %21, align 8, !tbaa !9
  %1049 = icmp eq ptr %1048, null
  br i1 %1049, label %1050, label %1103

1050:                                             ; preds = %1045
  br label %1051

1051:                                             ; preds = %1050
  br label %1052

1052:                                             ; preds = %1051
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %1053 = call ptr @__errno_location() #11
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  store i32 %1054, ptr %22, align 4, !tbaa !5
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = call i32 @s2n_print_stacktrace(ptr noundef %1055)
  %1057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1058 = trunc i8 %1057 to i1
  br i1 %1058, label %1059, label %1081

1059:                                             ; preds = %1052
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = call i32 @fileno(ptr noundef %1060) #10
  %1062 = call i32 @isatty(i32 noundef %1061) #10
  %1063 = icmp ne i32 %1062, 0
  br i1 %1063, label %1064, label %1081

1064:                                             ; preds = %1059
  %1065 = load i32, ptr %22, align 4, !tbaa !5
  %1066 = call ptr @__errno_location() #11
  store i32 %1065, ptr %1066, align 4, !tbaa !5
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = load i32, ptr @test_count, align 4, !tbaa !5
  %1069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1070 = load i32, ptr %1069, align 4, !tbaa !5
  %1071 = call ptr @s2n_strerror(i32 noundef %1070, ptr noundef @.str.4)
  %1072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call ptr @s2n_strerror_debug(i32 noundef %1073, ptr noundef @.str.4)
  %1075 = call ptr @__errno_location() #11
  %1076 = load i32, ptr %1075, align 4, !tbaa !5
  %1077 = call ptr @strerror(i32 noundef %1076) #10
  %1078 = call ptr @__errno_location() #11
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1067, ptr noundef @.str.2, i32 noundef %1068, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 175, ptr noundef %1071, ptr noundef %1074, ptr noundef %1077, i32 noundef %1079) #10
  br label %1098

1081:                                             ; preds = %1059, %1052
  %1082 = load i32, ptr %22, align 4, !tbaa !5
  %1083 = call ptr @__errno_location() #11
  store i32 %1082, ptr %1083, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = load i32, ptr @test_count, align 4, !tbaa !5
  %1086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call ptr @s2n_strerror(i32 noundef %1087, ptr noundef @.str.4)
  %1089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror_debug(i32 noundef %1090, ptr noundef @.str.4)
  %1092 = call ptr @__errno_location() #11
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  %1094 = call ptr @strerror(i32 noundef %1093) #10
  %1095 = call ptr @__errno_location() #11
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1084, ptr noundef @.str.5, i32 noundef %1085, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 175, ptr noundef %1088, ptr noundef %1091, ptr noundef %1094, i32 noundef %1096) #10
  br label %1098

1098:                                             ; preds = %1081, %1064
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

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

1101:                                             ; No predecessors!
  br label %1102

1102:                                             ; preds = %1101
  br label %1103

1103:                                             ; preds = %1102, %1045
  br label %1104

1104:                                             ; preds = %1103
  br label %1105

1105:                                             ; preds = %1104
  br label %1106

1106:                                             ; preds = %1105
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = add nsw i32 %1107, 1
  store i32 %1108, ptr @test_count, align 4, !tbaa !5
  %1109 = load ptr, ptr %21, align 8, !tbaa !9
  %1110 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %1109, i8 noundef zeroext 0)
  %1111 = icmp eq i32 %1110, -1
  br i1 %1111, label %1112, label %1165

1112:                                             ; preds = %1106
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %1115 = call ptr @__errno_location() #11
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  store i32 %1116, ptr %23, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = call i32 @s2n_print_stacktrace(ptr noundef %1117)
  %1119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1120 = trunc i8 %1119 to i1
  br i1 %1120, label %1121, label %1143

1121:                                             ; preds = %1114
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 @fileno(ptr noundef %1122) #10
  %1124 = call i32 @isatty(i32 noundef %1123) #10
  %1125 = icmp ne i32 %1124, 0
  br i1 %1125, label %1126, label %1143

1126:                                             ; preds = %1121
  %1127 = load i32, ptr %23, align 4, !tbaa !5
  %1128 = call ptr @__errno_location() #11
  store i32 %1127, ptr %1128, align 4, !tbaa !5
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror(i32 noundef %1132, ptr noundef @.str.4)
  %1134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1135 = load i32, ptr %1134, align 4, !tbaa !5
  %1136 = call ptr @s2n_strerror_debug(i32 noundef %1135, ptr noundef @.str.4)
  %1137 = call ptr @__errno_location() #11
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call ptr @strerror(i32 noundef %1138) #10
  %1140 = call ptr @__errno_location() #11
  %1141 = load i32, ptr %1140, align 4, !tbaa !5
  %1142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1129, ptr noundef @.str.2, i32 noundef %1130, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 176, ptr noundef %1133, ptr noundef %1136, ptr noundef %1139, i32 noundef %1141) #10
  br label %1160

1143:                                             ; preds = %1121, %1114
  %1144 = load i32, ptr %23, align 4, !tbaa !5
  %1145 = call ptr @__errno_location() #11
  store i32 %1144, ptr %1145, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef @.str.4)
  %1151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef @.str.4)
  %1154 = call ptr @__errno_location() #11
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #10
  %1157 = call ptr @__errno_location() #11
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1146, ptr noundef @.str.5, i32 noundef %1147, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 176, ptr noundef %1150, ptr noundef %1153, ptr noundef %1156, i32 noundef %1158) #10
  br label %1160

1160:                                             ; preds = %1143, %1126
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

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

1163:                                             ; No predecessors!
  br label %1164

1164:                                             ; preds = %1163
  br label %1165

1165:                                             ; preds = %1164, %1106
  br label %1166

1166:                                             ; preds = %1165
  br label %1167

1167:                                             ; preds = %1166
  br label %1168

1168:                                             ; preds = %1167
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr @test_count, align 4, !tbaa !5
  %1171 = load ptr, ptr %21, align 8, !tbaa !9
  %1172 = call i32 @s2n_config_disable_x509_verification(ptr noundef %1171)
  %1173 = icmp eq i32 %1172, -1
  br i1 %1173, label %1174, label %1227

1174:                                             ; preds = %1168
  br label %1175

1175:                                             ; preds = %1174
  br label %1176

1176:                                             ; preds = %1175
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  %1177 = call ptr @__errno_location() #11
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  store i32 %1178, ptr %24, align 4, !tbaa !5
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = call i32 @s2n_print_stacktrace(ptr noundef %1179)
  %1181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1182 = trunc i8 %1181 to i1
  br i1 %1182, label %1183, label %1205

1183:                                             ; preds = %1176
  %1184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1185 = call i32 @fileno(ptr noundef %1184) #10
  %1186 = call i32 @isatty(i32 noundef %1185) #10
  %1187 = icmp ne i32 %1186, 0
  br i1 %1187, label %1188, label %1205

1188:                                             ; preds = %1183
  %1189 = load i32, ptr %24, align 4, !tbaa !5
  %1190 = call ptr @__errno_location() #11
  store i32 %1189, ptr %1190, align 4, !tbaa !5
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = load i32, ptr @test_count, align 4, !tbaa !5
  %1193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror(i32 noundef %1194, ptr noundef @.str.4)
  %1196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  %1198 = call ptr @s2n_strerror_debug(i32 noundef %1197, ptr noundef @.str.4)
  %1199 = call ptr @__errno_location() #11
  %1200 = load i32, ptr %1199, align 4, !tbaa !5
  %1201 = call ptr @strerror(i32 noundef %1200) #10
  %1202 = call ptr @__errno_location() #11
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1191, ptr noundef @.str.2, i32 noundef %1192, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 177, ptr noundef %1195, ptr noundef %1198, ptr noundef %1201, i32 noundef %1203) #10
  br label %1222

1205:                                             ; preds = %1183, %1176
  %1206 = load i32, ptr %24, align 4, !tbaa !5
  %1207 = call ptr @__errno_location() #11
  store i32 %1206, ptr %1207, align 4, !tbaa !5
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1211, ptr noundef @.str.4)
  %1213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call ptr @s2n_strerror_debug(i32 noundef %1214, ptr noundef @.str.4)
  %1216 = call ptr @__errno_location() #11
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call ptr @strerror(i32 noundef %1217) #10
  %1219 = call ptr @__errno_location() #11
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1208, ptr noundef @.str.5, i32 noundef %1209, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 177, ptr noundef %1212, ptr noundef %1215, ptr noundef %1218, i32 noundef %1220) #10
  br label %1222

1222:                                             ; preds = %1205, %1188
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1223

1223:                                             ; preds = %1222
  br label %1224

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

1225:                                             ; No predecessors!
  br label %1226

1226:                                             ; preds = %1225
  br label %1227

1227:                                             ; preds = %1226, %1168
  br label %1228

1228:                                             ; preds = %1227
  br label %1229

1229:                                             ; preds = %1228
  br label %1230

1230:                                             ; preds = %1229
  %1231 = load i32, ptr @test_count, align 4, !tbaa !5
  %1232 = add nsw i32 %1231, 1
  store i32 %1232, ptr @test_count, align 4, !tbaa !5
  %1233 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1233, ptr %17, align 8, !tbaa !9
  %1234 = icmp eq ptr %1233, null
  br i1 %1234, label %1235, label %1288

1235:                                             ; preds = %1230
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

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

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

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

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

1283:                                             ; preds = %1266, %1249
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

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

1286:                                             ; No predecessors!
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287, %1230
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290
  %1292 = load i32, ptr @test_count, align 4, !tbaa !5
  %1293 = add nsw i32 %1292, 1
  store i32 %1293, ptr @test_count, align 4, !tbaa !5
  %1294 = load ptr, ptr %17, align 8, !tbaa !9
  %1295 = load ptr, ptr %21, align 8, !tbaa !9
  %1296 = call i32 @s2n_connection_set_config(ptr noundef %1294, ptr noundef %1295)
  %1297 = icmp eq i32 %1296, -1
  br i1 %1297, label %1298, label %1351

1298:                                             ; preds = %1291
  br label %1299

1299:                                             ; preds = %1298
  br label %1300

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

1307:                                             ; preds = %1300
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = call i32 @fileno(ptr noundef %1308) #10
  %1310 = call i32 @isatty(i32 noundef %1309) #10
  %1311 = icmp ne i32 %1310, 0
  br i1 %1311, label %1312, label %1329

1312:                                             ; preds = %1307
  %1313 = load i32, ptr %26, align 4, !tbaa !5
  %1314 = call ptr @__errno_location() #11
  store i32 %1313, ptr %1314, align 4, !tbaa !5
  %1315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1316 = load i32, ptr @test_count, align 4, !tbaa !5
  %1317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1318 = load i32, ptr %1317, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror(i32 noundef %1318, ptr noundef @.str.4)
  %1320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror_debug(i32 noundef %1321, ptr noundef @.str.4)
  %1323 = call ptr @__errno_location() #11
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @strerror(i32 noundef %1324) #10
  %1326 = call ptr @__errno_location() #11
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1315, ptr noundef @.str.2, i32 noundef %1316, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1319, ptr noundef %1322, ptr noundef %1325, i32 noundef %1327) #10
  br label %1346

1329:                                             ; preds = %1307, %1300
  %1330 = load i32, ptr %26, align 4, !tbaa !5
  %1331 = call ptr @__errno_location() #11
  store i32 %1330, ptr %1331, align 4, !tbaa !5
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = load i32, ptr @test_count, align 4, !tbaa !5
  %1334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror(i32 noundef %1335, ptr noundef @.str.4)
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef @.str.4)
  %1340 = call ptr @__errno_location() #11
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @strerror(i32 noundef %1341) #10
  %1343 = call ptr @__errno_location() #11
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1332, ptr noundef @.str.5, i32 noundef %1333, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %1336, ptr noundef %1339, ptr noundef %1342, i32 noundef %1344) #10
  br label %1346

1346:                                             ; preds = %1329, %1312
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %1347

1347:                                             ; preds = %1346
  br label %1348

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

1349:                                             ; No predecessors!
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

1351:                                             ; preds = %1350, %1291
  br label %1352

1352:                                             ; preds = %1351
  br label %1353

1353:                                             ; preds = %1352
  %1354 = load ptr, ptr %17, align 8, !tbaa !9
  %1355 = getelementptr inbounds %struct.s2n_connection, ptr %1354, i32 0, i32 23
  store i8 33, ptr %1355, align 4, !tbaa !15
  %1356 = load ptr, ptr %17, align 8, !tbaa !9
  %1357 = getelementptr inbounds %struct.s2n_connection, ptr %1356, i32 0, i32 22
  store i8 33, ptr %1357, align 1, !tbaa !42
  %1358 = load ptr, ptr %17, align 8, !tbaa !9
  %1359 = getelementptr inbounds %struct.s2n_connection, ptr %1358, i32 0, i32 21
  store i8 33, ptr %1359, align 2, !tbaa !43
  br label %1360

1360:                                             ; preds = %1353
  %1361 = load i32, ptr @test_count, align 4, !tbaa !5
  %1362 = add nsw i32 %1361, 1
  store i32 %1362, ptr @test_count, align 4, !tbaa !5
  %1363 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1363, ptr %18, align 8, !tbaa !9
  %1364 = icmp eq ptr %1363, null
  br i1 %1364, label %1365, label %1418

1365:                                             ; preds = %1360
  br label %1366

1366:                                             ; preds = %1365
  br label %1367

1367:                                             ; preds = %1366
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #10
  %1368 = call ptr @__errno_location() #11
  %1369 = load i32, ptr %1368, align 4, !tbaa !5
  store i32 %1369, ptr %27, align 4, !tbaa !5
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = call i32 @s2n_print_stacktrace(ptr noundef %1370)
  %1372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1373 = trunc i8 %1372 to i1
  br i1 %1373, label %1374, label %1396

1374:                                             ; preds = %1367
  %1375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1376 = call i32 @fileno(ptr noundef %1375) #10
  %1377 = call i32 @isatty(i32 noundef %1376) #10
  %1378 = icmp ne i32 %1377, 0
  br i1 %1378, label %1379, label %1396

1379:                                             ; preds = %1374
  %1380 = load i32, ptr %27, align 4, !tbaa !5
  %1381 = call ptr @__errno_location() #11
  store i32 %1380, ptr %1381, align 4, !tbaa !5
  %1382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1383 = load i32, ptr @test_count, align 4, !tbaa !5
  %1384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1385 = load i32, ptr %1384, align 4, !tbaa !5
  %1386 = call ptr @s2n_strerror(i32 noundef %1385, ptr noundef @.str.4)
  %1387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1388 = load i32, ptr %1387, align 4, !tbaa !5
  %1389 = call ptr @s2n_strerror_debug(i32 noundef %1388, ptr noundef @.str.4)
  %1390 = call ptr @__errno_location() #11
  %1391 = load i32, ptr %1390, align 4, !tbaa !5
  %1392 = call ptr @strerror(i32 noundef %1391) #10
  %1393 = call ptr @__errno_location() #11
  %1394 = load i32, ptr %1393, align 4, !tbaa !5
  %1395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1382, ptr noundef @.str.2, i32 noundef %1383, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 184, ptr noundef %1386, ptr noundef %1389, ptr noundef %1392, i32 noundef %1394) #10
  br label %1413

1396:                                             ; preds = %1374, %1367
  %1397 = load i32, ptr %27, align 4, !tbaa !5
  %1398 = call ptr @__errno_location() #11
  store i32 %1397, ptr %1398, align 4, !tbaa !5
  %1399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1400 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1402, ptr noundef @.str.4)
  %1404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef @.str.4)
  %1407 = call ptr @__errno_location() #11
  %1408 = load i32, ptr %1407, align 4, !tbaa !5
  %1409 = call ptr @strerror(i32 noundef %1408) #10
  %1410 = call ptr @__errno_location() #11
  %1411 = load i32, ptr %1410, align 4, !tbaa !5
  %1412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1399, ptr noundef @.str.5, i32 noundef %1400, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 184, ptr noundef %1403, ptr noundef %1406, ptr noundef %1409, i32 noundef %1411) #10
  br label %1413

1413:                                             ; preds = %1396, %1379
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1414

1414:                                             ; preds = %1413
  br label %1415

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

1416:                                             ; No predecessors!
  br label %1417

1417:                                             ; preds = %1416
  br label %1418

1418:                                             ; preds = %1417, %1360
  br label %1419

1419:                                             ; preds = %1418
  br label %1420

1420:                                             ; preds = %1419
  %1421 = load ptr, ptr %18, align 8, !tbaa !9
  %1422 = getelementptr inbounds %struct.s2n_connection, ptr %1421, i32 0, i32 23
  store i8 33, ptr %1422, align 4, !tbaa !15
  %1423 = load ptr, ptr %18, align 8, !tbaa !9
  %1424 = getelementptr inbounds %struct.s2n_connection, ptr %1423, i32 0, i32 22
  store i8 33, ptr %1424, align 1, !tbaa !42
  %1425 = load ptr, ptr %18, align 8, !tbaa !9
  %1426 = getelementptr inbounds %struct.s2n_connection, ptr %1425, i32 0, i32 21
  store i8 33, ptr %1426, align 2, !tbaa !43
  br label %1427

1427:                                             ; preds = %1420
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = add nsw i32 %1428, 1
  store i32 %1429, ptr @test_count, align 4, !tbaa !5
  %1430 = load ptr, ptr %17, align 8, !tbaa !9
  %1431 = load ptr, ptr %18, align 8, !tbaa !9
  %1432 = call i32 @s2n_connections_set_io_pair(ptr noundef %1430, ptr noundef %1431, ptr noundef %15)
  %1433 = icmp eq i32 %1432, -1
  br i1 %1433, label %1434, label %1487

1434:                                             ; preds = %1427
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  %1437 = call ptr @__errno_location() #11
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  store i32 %1438, ptr %28, align 4, !tbaa !5
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @s2n_print_stacktrace(ptr noundef %1439)
  %1441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1442 = trunc i8 %1441 to i1
  br i1 %1442, label %1443, label %1465

1443:                                             ; preds = %1436
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = call i32 @fileno(ptr noundef %1444) #10
  %1446 = call i32 @isatty(i32 noundef %1445) #10
  %1447 = icmp ne i32 %1446, 0
  br i1 %1447, label %1448, label %1465

1448:                                             ; preds = %1443
  %1449 = load i32, ptr %28, align 4, !tbaa !5
  %1450 = call ptr @__errno_location() #11
  store i32 %1449, ptr %1450, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = load i32, ptr @test_count, align 4, !tbaa !5
  %1453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror(i32 noundef %1454, ptr noundef @.str.4)
  %1456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror_debug(i32 noundef %1457, ptr noundef @.str.4)
  %1459 = call ptr @__errno_location() #11
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @strerror(i32 noundef %1460) #10
  %1462 = call ptr @__errno_location() #11
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1451, ptr noundef @.str.2, i32 noundef %1452, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 189, ptr noundef %1455, ptr noundef %1458, ptr noundef %1461, i32 noundef %1463) #10
  br label %1482

1465:                                             ; preds = %1443, %1436
  %1466 = load i32, ptr %28, align 4, !tbaa !5
  %1467 = call ptr @__errno_location() #11
  store i32 %1466, ptr %1467, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror(i32 noundef %1471, ptr noundef @.str.4)
  %1473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @s2n_strerror_debug(i32 noundef %1474, ptr noundef @.str.4)
  %1476 = call ptr @__errno_location() #11
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call ptr @strerror(i32 noundef %1477) #10
  %1479 = call ptr @__errno_location() #11
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1468, ptr noundef @.str.5, i32 noundef %1469, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 189, ptr noundef %1472, ptr noundef %1475, ptr noundef %1478, i32 noundef %1480) #10
  br label %1482

1482:                                             ; preds = %1465, %1448
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

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

1485:                                             ; No predecessors!
  br label %1486

1486:                                             ; preds = %1485
  br label %1487

1487:                                             ; preds = %1486, %1427
  br label %1488

1488:                                             ; preds = %1487
  br label %1489

1489:                                             ; preds = %1488
  br label %1490

1490:                                             ; preds = %1489
  %1491 = load i32, ptr @test_count, align 4, !tbaa !5
  %1492 = add nsw i32 %1491, 1
  store i32 %1492, ptr @test_count, align 4, !tbaa !5
  %1493 = call ptr @s2n_config_new()
  store ptr %1493, ptr %19, align 8, !tbaa !9
  %1494 = icmp eq ptr %1493, null
  br i1 %1494, label %1495, label %1548

1495:                                             ; preds = %1490
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %1498 = call ptr @__errno_location() #11
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  store i32 %1499, ptr %29, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = call i32 @s2n_print_stacktrace(ptr noundef %1500)
  %1502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1503 = trunc i8 %1502 to i1
  br i1 %1503, label %1504, label %1526

1504:                                             ; preds = %1497
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = call i32 @fileno(ptr noundef %1505) #10
  %1507 = call i32 @isatty(i32 noundef %1506) #10
  %1508 = icmp ne i32 %1507, 0
  br i1 %1508, label %1509, label %1526

1509:                                             ; preds = %1504
  %1510 = load i32, ptr %29, align 4, !tbaa !5
  %1511 = call ptr @__errno_location() #11
  store i32 %1510, ptr %1511, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef @.str.4)
  %1517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef @.str.4)
  %1520 = call ptr @__errno_location() #11
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #10
  %1523 = call ptr @__errno_location() #11
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1512, ptr noundef @.str.2, i32 noundef %1513, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 191, ptr noundef %1516, ptr noundef %1519, ptr noundef %1522, i32 noundef %1524) #10
  br label %1543

1526:                                             ; preds = %1504, %1497
  %1527 = load i32, ptr %29, align 4, !tbaa !5
  %1528 = call ptr @__errno_location() #11
  store i32 %1527, ptr %1528, align 4, !tbaa !5
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror(i32 noundef %1532, ptr noundef @.str.4)
  %1534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @s2n_strerror_debug(i32 noundef %1535, ptr noundef @.str.4)
  %1537 = call ptr @__errno_location() #11
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @strerror(i32 noundef %1538) #10
  %1540 = call ptr @__errno_location() #11
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1529, ptr noundef @.str.5, i32 noundef %1530, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 191, ptr noundef %1533, ptr noundef %1536, ptr noundef %1539, i32 noundef %1541) #10
  br label %1543

1543:                                             ; preds = %1526, %1509
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1544

1544:                                             ; preds = %1543
  br label %1545

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

1546:                                             ; No predecessors!
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

1548:                                             ; preds = %1547, %1490
  br label %1549

1549:                                             ; preds = %1548
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550
  %1552 = load i32, ptr @test_count, align 4, !tbaa !5
  %1553 = add nsw i32 %1552, 1
  store i32 %1553, ptr @test_count, align 4, !tbaa !5
  %1554 = load ptr, ptr %6, align 8, !tbaa !9
  %1555 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %1554, i64 noundef 12000)
  %1556 = icmp eq i32 %1555, -1
  br i1 %1556, label %1557, label %1610

1557:                                             ; preds = %1551
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  %1560 = call ptr @__errno_location() #11
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  store i32 %1561, ptr %30, align 4, !tbaa !5
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = call i32 @s2n_print_stacktrace(ptr noundef %1562)
  %1564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1565 = trunc i8 %1564 to i1
  br i1 %1565, label %1566, label %1588

1566:                                             ; preds = %1559
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = call i32 @fileno(ptr noundef %1567) #10
  %1569 = call i32 @isatty(i32 noundef %1568) #10
  %1570 = icmp ne i32 %1569, 0
  br i1 %1570, label %1571, label %1588

1571:                                             ; preds = %1566
  %1572 = load i32, ptr %30, align 4, !tbaa !5
  %1573 = call ptr @__errno_location() #11
  store i32 %1572, ptr %1573, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = load i32, ptr @test_count, align 4, !tbaa !5
  %1576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  %1578 = call ptr @s2n_strerror(i32 noundef %1577, ptr noundef @.str.4)
  %1579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror_debug(i32 noundef %1580, ptr noundef @.str.4)
  %1582 = call ptr @__errno_location() #11
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call ptr @strerror(i32 noundef %1583) #10
  %1585 = call ptr @__errno_location() #11
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1574, ptr noundef @.str.2, i32 noundef %1575, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 192, ptr noundef %1578, ptr noundef %1581, ptr noundef %1584, i32 noundef %1586) #10
  br label %1605

1588:                                             ; preds = %1566, %1559
  %1589 = load i32, ptr %30, align 4, !tbaa !5
  %1590 = call ptr @__errno_location() #11
  store i32 %1589, ptr %1590, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1594 = load i32, ptr %1593, align 4, !tbaa !5
  %1595 = call ptr @s2n_strerror(i32 noundef %1594, ptr noundef @.str.4)
  %1596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror_debug(i32 noundef %1597, ptr noundef @.str.4)
  %1599 = call ptr @__errno_location() #11
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  %1601 = call ptr @strerror(i32 noundef %1600) #10
  %1602 = call ptr @__errno_location() #11
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1591, ptr noundef @.str.5, i32 noundef %1592, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 192, ptr noundef %1595, ptr noundef %1598, ptr noundef %1601, i32 noundef %1603) #10
  br label %1605

1605:                                             ; preds = %1588, %1571
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %1606

1606:                                             ; preds = %1605
  br label %1607

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

1608:                                             ; No predecessors!
  br label %1609

1609:                                             ; preds = %1608
  br label %1610

1610:                                             ; preds = %1609, %1551
  br label %1611

1611:                                             ; preds = %1610
  br label %1612

1612:                                             ; preds = %1611
  br label %1613

1613:                                             ; preds = %1612
  %1614 = load i32, ptr @test_count, align 4, !tbaa !5
  %1615 = add nsw i32 %1614, 1
  store i32 %1615, ptr @test_count, align 4, !tbaa !5
  %1616 = load ptr, ptr %7, align 8, !tbaa !9
  %1617 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %1616, i64 noundef 12000)
  %1618 = icmp eq i32 %1617, -1
  br i1 %1618, label %1619, label %1672

1619:                                             ; preds = %1613
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  %1622 = call ptr @__errno_location() #11
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  store i32 %1623, ptr %31, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = call i32 @s2n_print_stacktrace(ptr noundef %1624)
  %1626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1627 = trunc i8 %1626 to i1
  br i1 %1627, label %1628, label %1650

1628:                                             ; preds = %1621
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = call i32 @fileno(ptr noundef %1629) #10
  %1631 = call i32 @isatty(i32 noundef %1630) #10
  %1632 = icmp ne i32 %1631, 0
  br i1 %1632, label %1633, label %1650

1633:                                             ; preds = %1628
  %1634 = load i32, ptr %31, align 4, !tbaa !5
  %1635 = call ptr @__errno_location() #11
  store i32 %1634, ptr %1635, align 4, !tbaa !5
  %1636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1637 = load i32, ptr @test_count, align 4, !tbaa !5
  %1638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror(i32 noundef %1639, ptr noundef @.str.4)
  %1641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call ptr @s2n_strerror_debug(i32 noundef %1642, ptr noundef @.str.4)
  %1644 = call ptr @__errno_location() #11
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #10
  %1647 = call ptr @__errno_location() #11
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1636, ptr noundef @.str.2, i32 noundef %1637, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 193, ptr noundef %1640, ptr noundef %1643, ptr noundef %1646, i32 noundef %1648) #10
  br label %1667

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

1667:                                             ; preds = %1650, %1633
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1668

1668:                                             ; preds = %1667
  br label %1669

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

1670:                                             ; No predecessors!
  br label %1671

1671:                                             ; preds = %1670
  br label %1672

1672:                                             ; preds = %1671, %1613
  br label %1673

1673:                                             ; preds = %1672
  br label %1674

1674:                                             ; preds = %1673
  br label %1675

1675:                                             ; preds = %1674
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = add nsw i32 %1676, 1
  store i32 %1677, ptr @test_count, align 4, !tbaa !5
  %1678 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %1678, ptr %20, align 8, !tbaa !9
  %1679 = icmp eq ptr %1678, null
  br i1 %1679, label %1680, label %1733

1680:                                             ; preds = %1675
  br label %1681

1681:                                             ; preds = %1680
  br label %1682

1682:                                             ; preds = %1681
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1683 = call ptr @__errno_location() #11
  %1684 = load i32, ptr %1683, align 4, !tbaa !5
  store i32 %1684, ptr %32, align 4, !tbaa !5
  %1685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1686 = call i32 @s2n_print_stacktrace(ptr noundef %1685)
  %1687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1688 = trunc i8 %1687 to i1
  br i1 %1688, label %1689, label %1711

1689:                                             ; preds = %1682
  %1690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1691 = call i32 @fileno(ptr noundef %1690) #10
  %1692 = call i32 @isatty(i32 noundef %1691) #10
  %1693 = icmp ne i32 %1692, 0
  br i1 %1693, label %1694, label %1711

1694:                                             ; preds = %1689
  %1695 = load i32, ptr %32, align 4, !tbaa !5
  %1696 = call ptr @__errno_location() #11
  store i32 %1695, ptr %1696, align 4, !tbaa !5
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1700 = load i32, ptr %1699, align 4, !tbaa !5
  %1701 = call ptr @s2n_strerror(i32 noundef %1700, ptr noundef @.str.4)
  %1702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1703 = load i32, ptr %1702, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef @.str.4)
  %1705 = call ptr @__errno_location() #11
  %1706 = load i32, ptr %1705, align 4, !tbaa !5
  %1707 = call ptr @strerror(i32 noundef %1706) #10
  %1708 = call ptr @__errno_location() #11
  %1709 = load i32, ptr %1708, align 4, !tbaa !5
  %1710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1697, ptr noundef @.str.2, i32 noundef %1698, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 194, ptr noundef %1701, ptr noundef %1704, ptr noundef %1707, i32 noundef %1709) #10
  br label %1728

1711:                                             ; preds = %1689, %1682
  %1712 = load i32, ptr %32, align 4, !tbaa !5
  %1713 = call ptr @__errno_location() #11
  store i32 %1712, ptr %1713, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror(i32 noundef %1717, ptr noundef @.str.4)
  %1719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef @.str.4)
  %1722 = call ptr @__errno_location() #11
  %1723 = load i32, ptr %1722, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #10
  %1725 = call ptr @__errno_location() #11
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef @.str.5, i32 noundef %1715, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 194, ptr noundef %1718, ptr noundef %1721, ptr noundef %1724, i32 noundef %1726) #10
  br label %1728

1728:                                             ; preds = %1711, %1694
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1729

1729:                                             ; preds = %1728
  br label %1730

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

1731:                                             ; No predecessors!
  br label %1732

1732:                                             ; preds = %1731
  br label %1733

1733:                                             ; preds = %1732, %1675
  br label %1734

1734:                                             ; preds = %1733
  br label %1735

1735:                                             ; preds = %1734
  br label %1736

1736:                                             ; preds = %1735
  %1737 = load i32, ptr @test_count, align 4, !tbaa !5
  %1738 = add nsw i32 %1737, 1
  store i32 %1738, ptr @test_count, align 4, !tbaa !5
  %1739 = load ptr, ptr %20, align 8, !tbaa !9
  %1740 = load ptr, ptr %6, align 8, !tbaa !9
  %1741 = load ptr, ptr %7, align 8, !tbaa !9
  %1742 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %1739, ptr noundef %1740, ptr noundef %1741)
  %1743 = icmp eq i32 %1742, -1
  br i1 %1743, label %1744, label %1797

1744:                                             ; preds = %1736
  br label %1745

1745:                                             ; preds = %1744
  br label %1746

1746:                                             ; preds = %1745
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1747 = call ptr @__errno_location() #11
  %1748 = load i32, ptr %1747, align 4, !tbaa !5
  store i32 %1748, ptr %33, align 4, !tbaa !5
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1750 = call i32 @s2n_print_stacktrace(ptr noundef %1749)
  %1751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1752 = trunc i8 %1751 to i1
  br i1 %1752, label %1753, label %1775

1753:                                             ; preds = %1746
  %1754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1755 = call i32 @fileno(ptr noundef %1754) #10
  %1756 = call i32 @isatty(i32 noundef %1755) #10
  %1757 = icmp ne i32 %1756, 0
  br i1 %1757, label %1758, label %1775

1758:                                             ; preds = %1753
  %1759 = load i32, ptr %33, align 4, !tbaa !5
  %1760 = call ptr @__errno_location() #11
  store i32 %1759, ptr %1760, align 4, !tbaa !5
  %1761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1762 = load i32, ptr @test_count, align 4, !tbaa !5
  %1763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror(i32 noundef %1764, ptr noundef @.str.4)
  %1766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @s2n_strerror_debug(i32 noundef %1767, ptr noundef @.str.4)
  %1769 = call ptr @__errno_location() #11
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call ptr @strerror(i32 noundef %1770) #10
  %1772 = call ptr @__errno_location() #11
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1761, ptr noundef @.str.2, i32 noundef %1762, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 195, ptr noundef %1765, ptr noundef %1768, ptr noundef %1771, i32 noundef %1773) #10
  br label %1792

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

1792:                                             ; preds = %1775, %1758
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1793

1793:                                             ; preds = %1792
  br label %1794

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

1795:                                             ; No predecessors!
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

1797:                                             ; preds = %1796, %1736
  br label %1798

1798:                                             ; preds = %1797
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799
  %1801 = load i32, ptr @test_count, align 4, !tbaa !5
  %1802 = add nsw i32 %1801, 1
  store i32 %1802, ptr @test_count, align 4, !tbaa !5
  %1803 = load ptr, ptr %19, align 8, !tbaa !9
  %1804 = load ptr, ptr %20, align 8, !tbaa !9
  %1805 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %1803, ptr noundef %1804)
  %1806 = icmp eq i32 %1805, -1
  br i1 %1806, label %1807, label %1860

1807:                                             ; preds = %1800
  br label %1808

1808:                                             ; preds = %1807
  br label %1809

1809:                                             ; preds = %1808
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1810 = call ptr @__errno_location() #11
  %1811 = load i32, ptr %1810, align 4, !tbaa !5
  store i32 %1811, ptr %34, align 4, !tbaa !5
  %1812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1813 = call i32 @s2n_print_stacktrace(ptr noundef %1812)
  %1814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1815 = trunc i8 %1814 to i1
  br i1 %1815, label %1816, label %1838

1816:                                             ; preds = %1809
  %1817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1818 = call i32 @fileno(ptr noundef %1817) #10
  %1819 = call i32 @isatty(i32 noundef %1818) #10
  %1820 = icmp ne i32 %1819, 0
  br i1 %1820, label %1821, label %1838

1821:                                             ; preds = %1816
  %1822 = load i32, ptr %34, align 4, !tbaa !5
  %1823 = call ptr @__errno_location() #11
  store i32 %1822, ptr %1823, align 4, !tbaa !5
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = load i32, ptr @test_count, align 4, !tbaa !5
  %1826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1827 = load i32, ptr %1826, align 4, !tbaa !5
  %1828 = call ptr @s2n_strerror(i32 noundef %1827, ptr noundef @.str.4)
  %1829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1830 = load i32, ptr %1829, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror_debug(i32 noundef %1830, ptr noundef @.str.4)
  %1832 = call ptr @__errno_location() #11
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @strerror(i32 noundef %1833) #10
  %1835 = call ptr @__errno_location() #11
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1824, ptr noundef @.str.2, i32 noundef %1825, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 196, ptr noundef %1828, ptr noundef %1831, ptr noundef %1834, i32 noundef %1836) #10
  br label %1855

1838:                                             ; preds = %1816, %1809
  %1839 = load i32, ptr %34, align 4, !tbaa !5
  %1840 = call ptr @__errno_location() #11
  store i32 %1839, ptr %1840, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror(i32 noundef %1844, ptr noundef @.str.4)
  %1846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1847 = load i32, ptr %1846, align 4, !tbaa !5
  %1848 = call ptr @s2n_strerror_debug(i32 noundef %1847, ptr noundef @.str.4)
  %1849 = call ptr @__errno_location() #11
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @strerror(i32 noundef %1850) #10
  %1852 = call ptr @__errno_location() #11
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef @.str.5, i32 noundef %1842, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 196, ptr noundef %1845, ptr noundef %1848, ptr noundef %1851, i32 noundef %1853) #10
  br label %1855

1855:                                             ; preds = %1838, %1821
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1856

1856:                                             ; preds = %1855
  br label %1857

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

1858:                                             ; No predecessors!
  br label %1859

1859:                                             ; preds = %1858
  br label %1860

1860:                                             ; preds = %1859, %1800
  br label %1861

1861:                                             ; preds = %1860
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

1863:                                             ; preds = %1862
  %1864 = load i32, ptr @test_count, align 4, !tbaa !5
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr @test_count, align 4, !tbaa !5
  %1866 = load ptr, ptr %18, align 8, !tbaa !9
  %1867 = load ptr, ptr %19, align 8, !tbaa !9
  %1868 = call i32 @s2n_connection_set_config(ptr noundef %1866, ptr noundef %1867)
  %1869 = icmp eq i32 %1868, -1
  br i1 %1869, label %1870, label %1923

1870:                                             ; preds = %1863
  br label %1871

1871:                                             ; preds = %1870
  br label %1872

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

1879:                                             ; preds = %1872
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @fileno(ptr noundef %1880) #10
  %1882 = call i32 @isatty(i32 noundef %1881) #10
  %1883 = icmp ne i32 %1882, 0
  br i1 %1883, label %1884, label %1901

1884:                                             ; preds = %1879
  %1885 = load i32, ptr %35, align 4, !tbaa !5
  %1886 = call ptr @__errno_location() #11
  store i32 %1885, ptr %1886, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror(i32 noundef %1890, ptr noundef @.str.4)
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef @.str.4)
  %1895 = call ptr @__errno_location() #11
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @strerror(i32 noundef %1896) #10
  %1898 = call ptr @__errno_location() #11
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef @.str.2, i32 noundef %1888, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 197, ptr noundef %1891, ptr noundef %1894, ptr noundef %1897, i32 noundef %1899) #10
  br label %1918

1901:                                             ; preds = %1879, %1872
  %1902 = load i32, ptr %35, align 4, !tbaa !5
  %1903 = call ptr @__errno_location() #11
  store i32 %1902, ptr %1903, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = load i32, ptr @test_count, align 4, !tbaa !5
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef @.str.4)
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror_debug(i32 noundef %1910, ptr noundef @.str.4)
  %1912 = call ptr @__errno_location() #11
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @strerror(i32 noundef %1913) #10
  %1915 = call ptr @__errno_location() #11
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1904, ptr noundef @.str.5, i32 noundef %1905, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 197, ptr noundef %1908, ptr noundef %1911, ptr noundef %1914, i32 noundef %1916) #10
  br label %1918

1918:                                             ; preds = %1901, %1884
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1919

1919:                                             ; preds = %1918
  br label %1920

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

1921:                                             ; No predecessors!
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

1923:                                             ; preds = %1922, %1863
  br label %1924

1924:                                             ; preds = %1923
  br label %1925

1925:                                             ; preds = %1924
  br label %1926

1926:                                             ; preds = %1925
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = add nsw i32 %1927, 1
  store i32 %1928, ptr @test_count, align 4, !tbaa !5
  %1929 = load ptr, ptr %18, align 8, !tbaa !9
  %1930 = load ptr, ptr %17, align 8, !tbaa !9
  %1931 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1929, ptr noundef %1930)
  %1932 = icmp eq i32 %1931, -1
  br i1 %1932, label %1933, label %1986

1933:                                             ; preds = %1926
  br label %1934

1934:                                             ; preds = %1933
  br label %1935

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

1942:                                             ; preds = %1935
  %1943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1944 = call i32 @fileno(ptr noundef %1943) #10
  %1945 = call i32 @isatty(i32 noundef %1944) #10
  %1946 = icmp ne i32 %1945, 0
  br i1 %1946, label %1947, label %1964

1947:                                             ; preds = %1942
  %1948 = load i32, ptr %36, align 4, !tbaa !5
  %1949 = call ptr @__errno_location() #11
  store i32 %1948, ptr %1949, align 4, !tbaa !5
  %1950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1951 = load i32, ptr @test_count, align 4, !tbaa !5
  %1952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror(i32 noundef %1953, ptr noundef @.str.4)
  %1955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call ptr @s2n_strerror_debug(i32 noundef %1956, ptr noundef @.str.4)
  %1958 = call ptr @__errno_location() #11
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call ptr @strerror(i32 noundef %1959) #10
  %1961 = call ptr @__errno_location() #11
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1950, ptr noundef @.str.2, i32 noundef %1951, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 199, ptr noundef %1954, ptr noundef %1957, ptr noundef %1960, i32 noundef %1962) #10
  br label %1981

1964:                                             ; preds = %1942, %1935
  %1965 = load i32, ptr %36, align 4, !tbaa !5
  %1966 = call ptr @__errno_location() #11
  store i32 %1965, ptr %1966, align 4, !tbaa !5
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = load i32, ptr @test_count, align 4, !tbaa !5
  %1969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1970 = load i32, ptr %1969, align 4, !tbaa !5
  %1971 = call ptr @s2n_strerror(i32 noundef %1970, ptr noundef @.str.4)
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror_debug(i32 noundef %1973, ptr noundef @.str.4)
  %1975 = call ptr @__errno_location() #11
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call ptr @strerror(i32 noundef %1976) #10
  %1978 = call ptr @__errno_location() #11
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1967, ptr noundef @.str.5, i32 noundef %1968, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 199, ptr noundef %1971, ptr noundef %1974, ptr noundef %1977, i32 noundef %1979) #10
  br label %1981

1981:                                             ; preds = %1964, %1947
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

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

1984:                                             ; No predecessors!
  br label %1985

1985:                                             ; preds = %1984
  br label %1986

1986:                                             ; preds = %1985, %1926
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987
  br label %1989

1989:                                             ; preds = %1988
  %1990 = load i32, ptr @test_count, align 4, !tbaa !5
  %1991 = add nsw i32 %1990, 1
  store i32 %1991, ptr @test_count, align 4, !tbaa !5
  %1992 = load ptr, ptr %18, align 8, !tbaa !9
  %1993 = call ptr @s2n_get_server_name(ptr noundef %1992)
  %1994 = icmp eq ptr %1993, null
  br i1 %1994, label %2048, label %1995

1995:                                             ; preds = %1989
  br label %1996

1996:                                             ; preds = %1995
  br label %1997

1997:                                             ; preds = %1996
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  store i32 %1999, ptr %37, align 4, !tbaa !5
  %2000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2001 = call i32 @s2n_print_stacktrace(ptr noundef %2000)
  %2002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2003 = trunc i8 %2002 to i1
  br i1 %2003, label %2004, label %2026

2004:                                             ; preds = %1997
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = call i32 @fileno(ptr noundef %2005) #10
  %2007 = call i32 @isatty(i32 noundef %2006) #10
  %2008 = icmp ne i32 %2007, 0
  br i1 %2008, label %2009, label %2026

2009:                                             ; preds = %2004
  %2010 = load i32, ptr %37, align 4, !tbaa !5
  %2011 = call ptr @__errno_location() #11
  store i32 %2010, ptr %2011, align 4, !tbaa !5
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = load i32, ptr @test_count, align 4, !tbaa !5
  %2014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror(i32 noundef %2015, ptr noundef @.str.4)
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror_debug(i32 noundef %2018, ptr noundef @.str.4)
  %2020 = call ptr @__errno_location() #11
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @strerror(i32 noundef %2021) #10
  %2023 = call ptr @__errno_location() #11
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2012, ptr noundef @.str.2, i32 noundef %2013, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2016, ptr noundef %2019, ptr noundef %2022, i32 noundef %2024) #10
  br label %2043

2026:                                             ; preds = %2004, %1997
  %2027 = load i32, ptr %37, align 4, !tbaa !5
  %2028 = call ptr @__errno_location() #11
  store i32 %2027, ptr %2028, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror(i32 noundef %2032, ptr noundef @.str.4)
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef @.str.4)
  %2037 = call ptr @__errno_location() #11
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @strerror(i32 noundef %2038) #10
  %2040 = call ptr @__errno_location() #11
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2029, ptr noundef @.str.5, i32 noundef %2030, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2033, ptr noundef %2036, ptr noundef %2039, i32 noundef %2041) #10
  br label %2043

2043:                                             ; preds = %2026, %2009
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %2044

2044:                                             ; preds = %2043
  br label %2045

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

2046:                                             ; No predecessors!
  br label %2047

2047:                                             ; preds = %2046
  br label %2048

2048:                                             ; preds = %2047, %1989
  br label %2049

2049:                                             ; preds = %2048
  br label %2050

2050:                                             ; preds = %2049
  br label %2051

2051:                                             ; preds = %2050
  %2052 = load i32, ptr @test_count, align 4, !tbaa !5
  %2053 = add nsw i32 %2052, 1
  store i32 %2053, ptr @test_count, align 4, !tbaa !5
  %2054 = load ptr, ptr %18, align 8, !tbaa !9
  %2055 = load ptr, ptr %17, align 8, !tbaa !9
  %2056 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %2054, ptr noundef %2055)
  %2057 = icmp eq i32 %2056, -1
  br i1 %2057, label %2058, label %2111

2058:                                             ; preds = %2051
  br label %2059

2059:                                             ; preds = %2058
  br label %2060

2060:                                             ; preds = %2059
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %2061 = call ptr @__errno_location() #11
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  store i32 %2062, ptr %38, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = call i32 @s2n_print_stacktrace(ptr noundef %2063)
  %2065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2066 = trunc i8 %2065 to i1
  br i1 %2066, label %2067, label %2089

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
  %2071 = icmp ne i32 %2070, 0
  br i1 %2071, label %2072, label %2089

2072:                                             ; preds = %2067
  %2073 = load i32, ptr %38, align 4, !tbaa !5
  %2074 = call ptr @__errno_location() #11
  store i32 %2073, ptr %2074, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = load i32, ptr @test_count, align 4, !tbaa !5
  %2077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2078 = load i32, ptr %2077, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror(i32 noundef %2078, ptr noundef @.str.4)
  %2080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2081 = load i32, ptr %2080, align 4, !tbaa !5
  %2082 = call ptr @s2n_strerror_debug(i32 noundef %2081, ptr noundef @.str.4)
  %2083 = call ptr @__errno_location() #11
  %2084 = load i32, ptr %2083, align 4, !tbaa !5
  %2085 = call ptr @strerror(i32 noundef %2084) #10
  %2086 = call ptr @__errno_location() #11
  %2087 = load i32, ptr %2086, align 4, !tbaa !5
  %2088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2075, ptr noundef @.str.2, i32 noundef %2076, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 204, ptr noundef %2079, ptr noundef %2082, ptr noundef %2085, i32 noundef %2087) #10
  br label %2106

2089:                                             ; preds = %2067, %2060
  %2090 = load i32, ptr %38, align 4, !tbaa !5
  %2091 = call ptr @__errno_location() #11
  store i32 %2090, ptr %2091, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef @.str.4)
  %2097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef @.str.4)
  %2100 = call ptr @__errno_location() #11
  %2101 = load i32, ptr %2100, align 4, !tbaa !5
  %2102 = call ptr @strerror(i32 noundef %2101) #10
  %2103 = call ptr @__errno_location() #11
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef @.str.5, i32 noundef %2093, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 204, ptr noundef %2096, ptr noundef %2099, ptr noundef %2102, i32 noundef %2104) #10
  br label %2106

2106:                                             ; preds = %2089, %2072
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %2107

2107:                                             ; preds = %2106
  br label %2108

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

2109:                                             ; No predecessors!
  br label %2110

2110:                                             ; preds = %2109
  br label %2111

2111:                                             ; preds = %2110, %2051
  br label %2112

2112:                                             ; preds = %2111
  br label %2113

2113:                                             ; preds = %2112
  br label %2114

2114:                                             ; preds = %2113
  %2115 = load i32, ptr @test_count, align 4, !tbaa !5
  %2116 = add nsw i32 %2115, 1
  store i32 %2116, ptr @test_count, align 4, !tbaa !5
  %2117 = load ptr, ptr %18, align 8, !tbaa !9
  %2118 = call i32 @s2n_connection_free(ptr noundef %2117)
  %2119 = icmp eq i32 %2118, -1
  br i1 %2119, label %2120, label %2173

2120:                                             ; preds = %2114
  br label %2121

2121:                                             ; preds = %2120
  br label %2122

2122:                                             ; preds = %2121
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  %2123 = call ptr @__errno_location() #11
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  store i32 %2124, ptr %39, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @s2n_print_stacktrace(ptr noundef %2125)
  %2127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2128 = trunc i8 %2127 to i1
  br i1 %2128, label %2129, label %2151

2129:                                             ; preds = %2122
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @fileno(ptr noundef %2130) #10
  %2132 = call i32 @isatty(i32 noundef %2131) #10
  %2133 = icmp ne i32 %2132, 0
  br i1 %2133, label %2134, label %2151

2134:                                             ; preds = %2129
  %2135 = load i32, ptr %39, align 4, !tbaa !5
  %2136 = call ptr @__errno_location() #11
  store i32 %2135, ptr %2136, align 4, !tbaa !5
  %2137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2138 = load i32, ptr @test_count, align 4, !tbaa !5
  %2139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2140 = load i32, ptr %2139, align 4, !tbaa !5
  %2141 = call ptr @s2n_strerror(i32 noundef %2140, ptr noundef @.str.4)
  %2142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2143 = load i32, ptr %2142, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror_debug(i32 noundef %2143, ptr noundef @.str.4)
  %2145 = call ptr @__errno_location() #11
  %2146 = load i32, ptr %2145, align 4, !tbaa !5
  %2147 = call ptr @strerror(i32 noundef %2146) #10
  %2148 = call ptr @__errno_location() #11
  %2149 = load i32, ptr %2148, align 4, !tbaa !5
  %2150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2137, ptr noundef @.str.2, i32 noundef %2138, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 206, ptr noundef %2141, ptr noundef %2144, ptr noundef %2147, i32 noundef %2149) #10
  br label %2168

2151:                                             ; preds = %2129, %2122
  %2152 = load i32, ptr %39, align 4, !tbaa !5
  %2153 = call ptr @__errno_location() #11
  store i32 %2152, ptr %2153, align 4, !tbaa !5
  %2154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2155 = load i32, ptr @test_count, align 4, !tbaa !5
  %2156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror(i32 noundef %2157, ptr noundef @.str.4)
  %2159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @s2n_strerror_debug(i32 noundef %2160, ptr noundef @.str.4)
  %2162 = call ptr @__errno_location() #11
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call ptr @strerror(i32 noundef %2163) #10
  %2165 = call ptr @__errno_location() #11
  %2166 = load i32, ptr %2165, align 4, !tbaa !5
  %2167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2154, ptr noundef @.str.5, i32 noundef %2155, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 206, ptr noundef %2158, ptr noundef %2161, ptr noundef %2164, i32 noundef %2166) #10
  br label %2168

2168:                                             ; preds = %2151, %2134
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2169

2169:                                             ; preds = %2168
  br label %2170

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

2171:                                             ; No predecessors!
  br label %2172

2172:                                             ; preds = %2171
  br label %2173

2173:                                             ; preds = %2172, %2114
  br label %2174

2174:                                             ; preds = %2173
  br label %2175

2175:                                             ; preds = %2174
  br label %2176

2176:                                             ; preds = %2175
  %2177 = load i32, ptr @test_count, align 4, !tbaa !5
  %2178 = add nsw i32 %2177, 1
  store i32 %2178, ptr @test_count, align 4, !tbaa !5
  %2179 = load ptr, ptr %17, align 8, !tbaa !9
  %2180 = call i32 @s2n_connection_free(ptr noundef %2179)
  %2181 = icmp eq i32 %2180, -1
  br i1 %2181, label %2182, label %2235

2182:                                             ; preds = %2176
  br label %2183

2183:                                             ; preds = %2182
  br label %2184

2184:                                             ; preds = %2183
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %2185 = call ptr @__errno_location() #11
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  store i32 %2186, ptr %40, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = call i32 @s2n_print_stacktrace(ptr noundef %2187)
  %2189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2190 = trunc i8 %2189 to i1
  br i1 %2190, label %2191, label %2213

2191:                                             ; preds = %2184
  %2192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2193 = call i32 @fileno(ptr noundef %2192) #10
  %2194 = call i32 @isatty(i32 noundef %2193) #10
  %2195 = icmp ne i32 %2194, 0
  br i1 %2195, label %2196, label %2213

2196:                                             ; preds = %2191
  %2197 = load i32, ptr %40, align 4, !tbaa !5
  %2198 = call ptr @__errno_location() #11
  store i32 %2197, ptr %2198, align 4, !tbaa !5
  %2199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2200 = load i32, ptr @test_count, align 4, !tbaa !5
  %2201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call ptr @s2n_strerror(i32 noundef %2202, ptr noundef @.str.4)
  %2204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call ptr @s2n_strerror_debug(i32 noundef %2205, ptr noundef @.str.4)
  %2207 = call ptr @__errno_location() #11
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  %2209 = call ptr @strerror(i32 noundef %2208) #10
  %2210 = call ptr @__errno_location() #11
  %2211 = load i32, ptr %2210, align 4, !tbaa !5
  %2212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2199, ptr noundef @.str.2, i32 noundef %2200, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 207, ptr noundef %2203, ptr noundef %2206, ptr noundef %2209, i32 noundef %2211) #10
  br label %2230

2213:                                             ; preds = %2191, %2184
  %2214 = load i32, ptr %40, align 4, !tbaa !5
  %2215 = call ptr @__errno_location() #11
  store i32 %2214, ptr %2215, align 4, !tbaa !5
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror(i32 noundef %2219, ptr noundef @.str.4)
  %2221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2222 = load i32, ptr %2221, align 4, !tbaa !5
  %2223 = call ptr @s2n_strerror_debug(i32 noundef %2222, ptr noundef @.str.4)
  %2224 = call ptr @__errno_location() #11
  %2225 = load i32, ptr %2224, align 4, !tbaa !5
  %2226 = call ptr @strerror(i32 noundef %2225) #10
  %2227 = call ptr @__errno_location() #11
  %2228 = load i32, ptr %2227, align 4, !tbaa !5
  %2229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2216, ptr noundef @.str.5, i32 noundef %2217, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 207, ptr noundef %2220, ptr noundef %2223, ptr noundef %2226, i32 noundef %2228) #10
  br label %2230

2230:                                             ; preds = %2213, %2196
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2231

2231:                                             ; preds = %2230
  br label %2232

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

2233:                                             ; No predecessors!
  br label %2234

2234:                                             ; preds = %2233
  br label %2235

2235:                                             ; preds = %2234, %2176
  br label %2236

2236:                                             ; preds = %2235
  br label %2237

2237:                                             ; preds = %2236
  br label %2238

2238:                                             ; preds = %2237
  %2239 = load i32, ptr @test_count, align 4, !tbaa !5
  %2240 = add nsw i32 %2239, 1
  store i32 %2240, ptr @test_count, align 4, !tbaa !5
  %2241 = load ptr, ptr %20, align 8, !tbaa !9
  %2242 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %2241)
  %2243 = icmp eq i32 %2242, -1
  br i1 %2243, label %2244, label %2297

2244:                                             ; preds = %2238
  br label %2245

2245:                                             ; preds = %2244
  br label %2246

2246:                                             ; preds = %2245
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  %2247 = call ptr @__errno_location() #11
  %2248 = load i32, ptr %2247, align 4, !tbaa !5
  store i32 %2248, ptr %41, align 4, !tbaa !5
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = call i32 @s2n_print_stacktrace(ptr noundef %2249)
  %2251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2252 = trunc i8 %2251 to i1
  br i1 %2252, label %2253, label %2275

2253:                                             ; preds = %2246
  %2254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2255 = call i32 @fileno(ptr noundef %2254) #10
  %2256 = call i32 @isatty(i32 noundef %2255) #10
  %2257 = icmp ne i32 %2256, 0
  br i1 %2257, label %2258, label %2275

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

2275:                                             ; preds = %2253, %2246
  %2276 = load i32, ptr %41, align 4, !tbaa !5
  %2277 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %2286 = call ptr @__errno_location() #11
  %2287 = load i32, ptr %2286, align 4, !tbaa !5
  %2288 = call ptr @strerror(i32 noundef %2287) #10
  %2289 = call ptr @__errno_location() #11
  %2290 = load i32, ptr %2289, align 4, !tbaa !5
  %2291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2278, ptr noundef @.str.5, i32 noundef %2279, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 209, ptr noundef %2282, ptr noundef %2285, ptr noundef %2288, i32 noundef %2290) #10
  br label %2292

2292:                                             ; preds = %2275, %2258
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2293

2293:                                             ; preds = %2292
  br label %2294

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

2295:                                             ; No predecessors!
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

2297:                                             ; preds = %2296, %2238
  br label %2298

2298:                                             ; preds = %2297
  br label %2299

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299
  %2301 = load i32, ptr @test_count, align 4, !tbaa !5
  %2302 = add nsw i32 %2301, 1
  store i32 %2302, ptr @test_count, align 4, !tbaa !5
  %2303 = load ptr, ptr %19, align 8, !tbaa !9
  %2304 = call i32 @s2n_config_free(ptr noundef %2303)
  %2305 = icmp eq i32 %2304, -1
  br i1 %2305, label %2306, label %2359

2306:                                             ; preds = %2300
  br label %2307

2307:                                             ; preds = %2306
  br label %2308

2308:                                             ; preds = %2307
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %2309 = call ptr @__errno_location() #11
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  store i32 %2310, ptr %42, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = call i32 @s2n_print_stacktrace(ptr noundef %2311)
  %2313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2314 = trunc i8 %2313 to i1
  br i1 %2314, label %2315, label %2337

2315:                                             ; preds = %2308
  %2316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2317 = call i32 @fileno(ptr noundef %2316) #10
  %2318 = call i32 @isatty(i32 noundef %2317) #10
  %2319 = icmp ne i32 %2318, 0
  br i1 %2319, label %2320, label %2337

2320:                                             ; preds = %2315
  %2321 = load i32, ptr %42, align 4, !tbaa !5
  %2322 = call ptr @__errno_location() #11
  store i32 %2321, ptr %2322, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef @.str.4)
  %2328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror_debug(i32 noundef %2329, ptr noundef @.str.4)
  %2331 = call ptr @__errno_location() #11
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @strerror(i32 noundef %2332) #10
  %2334 = call ptr @__errno_location() #11
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef @.str.2, i32 noundef %2324, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 210, ptr noundef %2327, ptr noundef %2330, ptr noundef %2333, i32 noundef %2335) #10
  br label %2354

2337:                                             ; preds = %2315, %2308
  %2338 = load i32, ptr %42, align 4, !tbaa !5
  %2339 = call ptr @__errno_location() #11
  store i32 %2338, ptr %2339, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = load i32, ptr @test_count, align 4, !tbaa !5
  %2342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2343 = load i32, ptr %2342, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror(i32 noundef %2343, ptr noundef @.str.4)
  %2345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2346 = load i32, ptr %2345, align 4, !tbaa !5
  %2347 = call ptr @s2n_strerror_debug(i32 noundef %2346, ptr noundef @.str.4)
  %2348 = call ptr @__errno_location() #11
  %2349 = load i32, ptr %2348, align 4, !tbaa !5
  %2350 = call ptr @strerror(i32 noundef %2349) #10
  %2351 = call ptr @__errno_location() #11
  %2352 = load i32, ptr %2351, align 4, !tbaa !5
  %2353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2340, ptr noundef @.str.5, i32 noundef %2341, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 210, ptr noundef %2344, ptr noundef %2347, ptr noundef %2350, i32 noundef %2352) #10
  br label %2354

2354:                                             ; preds = %2337, %2320
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2355

2355:                                             ; preds = %2354
  br label %2356

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

2357:                                             ; No predecessors!
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358, %2300
  br label %2360

2360:                                             ; preds = %2359
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

2362:                                             ; preds = %2361
  %2363 = load i32, ptr @test_count, align 4, !tbaa !5
  %2364 = add nsw i32 %2363, 1
  store i32 %2364, ptr @test_count, align 4, !tbaa !5
  %2365 = load ptr, ptr %21, align 8, !tbaa !9
  %2366 = call i32 @s2n_config_free(ptr noundef %2365)
  %2367 = icmp eq i32 %2366, -1
  br i1 %2367, label %2368, label %2421

2368:                                             ; preds = %2362
  br label %2369

2369:                                             ; preds = %2368
  br label %2370

2370:                                             ; preds = %2369
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #10
  %2371 = call ptr @__errno_location() #11
  %2372 = load i32, ptr %2371, align 4, !tbaa !5
  store i32 %2372, ptr %43, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @s2n_print_stacktrace(ptr noundef %2373)
  %2375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2376 = trunc i8 %2375 to i1
  br i1 %2376, label %2377, label %2399

2377:                                             ; preds = %2370
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = call i32 @fileno(ptr noundef %2378) #10
  %2380 = call i32 @isatty(i32 noundef %2379) #10
  %2381 = icmp ne i32 %2380, 0
  br i1 %2381, label %2382, label %2399

2382:                                             ; preds = %2377
  %2383 = load i32, ptr %43, align 4, !tbaa !5
  %2384 = call ptr @__errno_location() #11
  store i32 %2383, ptr %2384, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = load i32, ptr @test_count, align 4, !tbaa !5
  %2387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror(i32 noundef %2388, ptr noundef @.str.4)
  %2390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2391 = load i32, ptr %2390, align 4, !tbaa !5
  %2392 = call ptr @s2n_strerror_debug(i32 noundef %2391, ptr noundef @.str.4)
  %2393 = call ptr @__errno_location() #11
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call ptr @strerror(i32 noundef %2394) #10
  %2396 = call ptr @__errno_location() #11
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  %2398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2385, ptr noundef @.str.2, i32 noundef %2386, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 211, ptr noundef %2389, ptr noundef %2392, ptr noundef %2395, i32 noundef %2397) #10
  br label %2416

2399:                                             ; preds = %2377, %2370
  %2400 = load i32, ptr %43, align 4, !tbaa !5
  %2401 = call ptr @__errno_location() #11
  store i32 %2400, ptr %2401, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = load i32, ptr @test_count, align 4, !tbaa !5
  %2404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2405 = load i32, ptr %2404, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror(i32 noundef %2405, ptr noundef @.str.4)
  %2407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef @.str.4)
  %2410 = call ptr @__errno_location() #11
  %2411 = load i32, ptr %2410, align 4, !tbaa !5
  %2412 = call ptr @strerror(i32 noundef %2411) #10
  %2413 = call ptr @__errno_location() #11
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2402, ptr noundef @.str.5, i32 noundef %2403, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 211, ptr noundef %2406, ptr noundef %2409, ptr noundef %2412, i32 noundef %2414) #10
  br label %2416

2416:                                             ; preds = %2399, %2382
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2417

2417:                                             ; preds = %2416
  br label %2418

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

2419:                                             ; No predecessors!
  br label %2420

2420:                                             ; preds = %2419
  br label %2421

2421:                                             ; preds = %2420, %2362
  br label %2422

2422:                                             ; preds = %2421
  br label %2423

2423:                                             ; preds = %2422
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #10
  store ptr null, ptr %44, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #10
  store ptr null, ptr %45, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  store ptr null, ptr %46, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  store ptr null, ptr %47, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  store ptr @.str.39, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  store ptr null, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #10
  store ptr null, ptr %50, align 8, !tbaa !9
  br label %2424

2424:                                             ; preds = %2423
  %2425 = load i32, ptr @test_count, align 4, !tbaa !5
  %2426 = add nsw i32 %2425, 1
  store i32 %2426, ptr @test_count, align 4, !tbaa !5
  %2427 = call ptr @s2n_config_new()
  store ptr %2427, ptr %50, align 8, !tbaa !9
  %2428 = icmp eq ptr %2427, null
  br i1 %2428, label %2429, label %2482

2429:                                             ; preds = %2424
  br label %2430

2430:                                             ; preds = %2429
  br label %2431

2431:                                             ; preds = %2430
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #10
  %2432 = call ptr @__errno_location() #11
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  store i32 %2433, ptr %51, align 4, !tbaa !5
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = call i32 @s2n_print_stacktrace(ptr noundef %2434)
  %2436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2437 = trunc i8 %2436 to i1
  br i1 %2437, label %2438, label %2460

2438:                                             ; preds = %2431
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = call i32 @fileno(ptr noundef %2439) #10
  %2441 = call i32 @isatty(i32 noundef %2440) #10
  %2442 = icmp ne i32 %2441, 0
  br i1 %2442, label %2443, label %2460

2443:                                             ; preds = %2438
  %2444 = load i32, ptr %51, align 4, !tbaa !5
  %2445 = call ptr @__errno_location() #11
  store i32 %2444, ptr %2445, align 4, !tbaa !5
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = load i32, ptr @test_count, align 4, !tbaa !5
  %2448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call ptr @s2n_strerror(i32 noundef %2449, ptr noundef @.str.4)
  %2451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef @.str.4)
  %2454 = call ptr @__errno_location() #11
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call ptr @strerror(i32 noundef %2455) #10
  %2457 = call ptr @__errno_location() #11
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2446, ptr noundef @.str.2, i32 noundef %2447, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 225, ptr noundef %2450, ptr noundef %2453, ptr noundef %2456, i32 noundef %2458) #10
  br label %2477

2460:                                             ; preds = %2438, %2431
  %2461 = load i32, ptr %51, align 4, !tbaa !5
  %2462 = call ptr @__errno_location() #11
  store i32 %2461, ptr %2462, align 4, !tbaa !5
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = load i32, ptr @test_count, align 4, !tbaa !5
  %2465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror(i32 noundef %2466, ptr noundef @.str.4)
  %2468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror_debug(i32 noundef %2469, ptr noundef @.str.4)
  %2471 = call ptr @__errno_location() #11
  %2472 = load i32, ptr %2471, align 4, !tbaa !5
  %2473 = call ptr @strerror(i32 noundef %2472) #10
  %2474 = call ptr @__errno_location() #11
  %2475 = load i32, ptr %2474, align 4, !tbaa !5
  %2476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2463, ptr noundef @.str.5, i32 noundef %2464, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 225, ptr noundef %2467, ptr noundef %2470, ptr noundef %2473, i32 noundef %2475) #10
  br label %2477

2477:                                             ; preds = %2460, %2443
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %2478

2478:                                             ; preds = %2477
  br label %2479

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

2480:                                             ; No predecessors!
  br label %2481

2481:                                             ; preds = %2480
  br label %2482

2482:                                             ; preds = %2481, %2424
  br label %2483

2483:                                             ; preds = %2482
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = add nsw i32 %2486, 1
  store i32 %2487, ptr @test_count, align 4, !tbaa !5
  %2488 = load ptr, ptr %50, align 8, !tbaa !9
  %2489 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %2488, i8 noundef zeroext 0)
  %2490 = icmp eq i32 %2489, -1
  br i1 %2490, label %2491, label %2544

2491:                                             ; preds = %2485
  br label %2492

2492:                                             ; preds = %2491
  br label %2493

2493:                                             ; preds = %2492
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2494 = call ptr @__errno_location() #11
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  store i32 %2495, ptr %52, align 4, !tbaa !5
  %2496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2497 = call i32 @s2n_print_stacktrace(ptr noundef %2496)
  %2498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2499 = trunc i8 %2498 to i1
  br i1 %2499, label %2500, label %2522

2500:                                             ; preds = %2493
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @fileno(ptr noundef %2501) #10
  %2503 = call i32 @isatty(i32 noundef %2502) #10
  %2504 = icmp ne i32 %2503, 0
  br i1 %2504, label %2505, label %2522

2505:                                             ; preds = %2500
  %2506 = load i32, ptr %52, align 4, !tbaa !5
  %2507 = call ptr @__errno_location() #11
  store i32 %2506, ptr %2507, align 4, !tbaa !5
  %2508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2509 = load i32, ptr @test_count, align 4, !tbaa !5
  %2510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2511 = load i32, ptr %2510, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror(i32 noundef %2511, ptr noundef @.str.4)
  %2513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2514 = load i32, ptr %2513, align 4, !tbaa !5
  %2515 = call ptr @s2n_strerror_debug(i32 noundef %2514, ptr noundef @.str.4)
  %2516 = call ptr @__errno_location() #11
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @strerror(i32 noundef %2517) #10
  %2519 = call ptr @__errno_location() #11
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  %2521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2508, ptr noundef @.str.2, i32 noundef %2509, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 226, ptr noundef %2512, ptr noundef %2515, ptr noundef %2518, i32 noundef %2520) #10
  br label %2539

2522:                                             ; preds = %2500, %2493
  %2523 = load i32, ptr %52, align 4, !tbaa !5
  %2524 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %2533 = call ptr @__errno_location() #11
  %2534 = load i32, ptr %2533, align 4, !tbaa !5
  %2535 = call ptr @strerror(i32 noundef %2534) #10
  %2536 = call ptr @__errno_location() #11
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2525, ptr noundef @.str.5, i32 noundef %2526, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 226, ptr noundef %2529, ptr noundef %2532, ptr noundef %2535, i32 noundef %2537) #10
  br label %2539

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

2540:                                             ; preds = %2539
  br label %2541

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

2542:                                             ; No predecessors!
  br label %2543

2543:                                             ; preds = %2542
  br label %2544

2544:                                             ; preds = %2543, %2485
  br label %2545

2545:                                             ; preds = %2544
  br label %2546

2546:                                             ; preds = %2545
  br label %2547

2547:                                             ; preds = %2546
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = add nsw i32 %2548, 1
  store i32 %2549, ptr @test_count, align 4, !tbaa !5
  %2550 = load ptr, ptr %50, align 8, !tbaa !9
  %2551 = call i32 @s2n_config_disable_x509_verification(ptr noundef %2550)
  %2552 = icmp eq i32 %2551, -1
  br i1 %2552, label %2553, label %2606

2553:                                             ; preds = %2547
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2556 = call ptr @__errno_location() #11
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  store i32 %2557, ptr %53, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = call i32 @s2n_print_stacktrace(ptr noundef %2558)
  %2560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2561 = trunc i8 %2560 to i1
  br i1 %2561, label %2562, label %2584

2562:                                             ; preds = %2555
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @fileno(ptr noundef %2563) #10
  %2565 = call i32 @isatty(i32 noundef %2564) #10
  %2566 = icmp ne i32 %2565, 0
  br i1 %2566, label %2567, label %2584

2567:                                             ; preds = %2562
  %2568 = load i32, ptr %53, align 4, !tbaa !5
  %2569 = call ptr @__errno_location() #11
  store i32 %2568, ptr %2569, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef @.str.4)
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call ptr @__errno_location() #11
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #10
  %2581 = call ptr @__errno_location() #11
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef @.str.2, i32 noundef %2571, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 227, ptr noundef %2574, ptr noundef %2577, ptr noundef %2580, i32 noundef %2582) #10
  br label %2601

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

2601:                                             ; preds = %2584, %2567
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2602

2602:                                             ; preds = %2601
  br label %2603

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

2604:                                             ; No predecessors!
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605, %2547
  br label %2607

2607:                                             ; preds = %2606
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  %2610 = load i32, ptr @test_count, align 4, !tbaa !5
  %2611 = add nsw i32 %2610, 1
  store i32 %2611, ptr @test_count, align 4, !tbaa !5
  %2612 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2612, ptr %44, align 8, !tbaa !9
  %2613 = icmp eq ptr %2612, null
  br i1 %2613, label %2614, label %2667

2614:                                             ; preds = %2609
  br label %2615

2615:                                             ; preds = %2614
  br label %2616

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

2623:                                             ; preds = %2616
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #10
  %2626 = call i32 @isatty(i32 noundef %2625) #10
  %2627 = icmp ne i32 %2626, 0
  br i1 %2627, label %2628, label %2645

2628:                                             ; preds = %2623
  %2629 = load i32, ptr %54, align 4, !tbaa !5
  %2630 = call ptr @__errno_location() #11
  store i32 %2629, ptr %2630, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = load i32, ptr @test_count, align 4, !tbaa !5
  %2633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2634 = load i32, ptr %2633, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror(i32 noundef %2634, ptr noundef @.str.4)
  %2636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @s2n_strerror_debug(i32 noundef %2637, ptr noundef @.str.4)
  %2639 = call ptr @__errno_location() #11
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call ptr @strerror(i32 noundef %2640) #10
  %2642 = call ptr @__errno_location() #11
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  %2644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2631, ptr noundef @.str.2, i32 noundef %2632, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 228, ptr noundef %2635, ptr noundef %2638, ptr noundef %2641, i32 noundef %2643) #10
  br label %2662

2645:                                             ; preds = %2623, %2616
  %2646 = load i32, ptr %54, align 4, !tbaa !5
  %2647 = call ptr @__errno_location() #11
  store i32 %2646, ptr %2647, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2651 = load i32, ptr %2650, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror(i32 noundef %2651, ptr noundef @.str.4)
  %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_debug(i32 noundef %2654, ptr noundef @.str.4)
  %2656 = call ptr @__errno_location() #11
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call ptr @strerror(i32 noundef %2657) #10
  %2659 = call ptr @__errno_location() #11
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2648, ptr noundef @.str.5, i32 noundef %2649, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 228, ptr noundef %2652, ptr noundef %2655, ptr noundef %2658, i32 noundef %2660) #10
  br label %2662

2662:                                             ; preds = %2645, %2628
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2663

2663:                                             ; preds = %2662
  br label %2664

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

2665:                                             ; No predecessors!
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

2667:                                             ; preds = %2666, %2609
  br label %2668

2668:                                             ; preds = %2667
  br label %2669

2669:                                             ; preds = %2668
  br label %2670

2670:                                             ; preds = %2669
  %2671 = load i32, ptr @test_count, align 4, !tbaa !5
  %2672 = add nsw i32 %2671, 1
  store i32 %2672, ptr @test_count, align 4, !tbaa !5
  %2673 = load ptr, ptr %44, align 8, !tbaa !9
  %2674 = load ptr, ptr %50, align 8, !tbaa !9
  %2675 = call i32 @s2n_connection_set_config(ptr noundef %2673, ptr noundef %2674)
  %2676 = icmp eq i32 %2675, -1
  br i1 %2676, label %2677, label %2730

2677:                                             ; preds = %2670
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

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

2686:                                             ; preds = %2679
  %2687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2688 = call i32 @fileno(ptr noundef %2687) #10
  %2689 = call i32 @isatty(i32 noundef %2688) #10
  %2690 = icmp ne i32 %2689, 0
  br i1 %2690, label %2691, label %2708

2691:                                             ; preds = %2686
  %2692 = load i32, ptr %55, align 4, !tbaa !5
  %2693 = call ptr @__errno_location() #11
  store i32 %2692, ptr %2693, align 4, !tbaa !5
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = load i32, ptr @test_count, align 4, !tbaa !5
  %2696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror(i32 noundef %2697, ptr noundef @.str.4)
  %2699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2700 = load i32, ptr %2699, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror_debug(i32 noundef %2700, ptr noundef @.str.4)
  %2702 = call ptr @__errno_location() #11
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = call ptr @strerror(i32 noundef %2703) #10
  %2705 = call ptr @__errno_location() #11
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2694, ptr noundef @.str.2, i32 noundef %2695, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 229, ptr noundef %2698, ptr noundef %2701, ptr noundef %2704, i32 noundef %2706) #10
  br label %2725

2708:                                             ; preds = %2686, %2679
  %2709 = load i32, ptr %55, align 4, !tbaa !5
  %2710 = call ptr @__errno_location() #11
  store i32 %2709, ptr %2710, align 4, !tbaa !5
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = load i32, ptr @test_count, align 4, !tbaa !5
  %2713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  %2715 = call ptr @s2n_strerror(i32 noundef %2714, ptr noundef @.str.4)
  %2716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror_debug(i32 noundef %2717, ptr noundef @.str.4)
  %2719 = call ptr @__errno_location() #11
  %2720 = load i32, ptr %2719, align 4, !tbaa !5
  %2721 = call ptr @strerror(i32 noundef %2720) #10
  %2722 = call ptr @__errno_location() #11
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  %2724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2711, ptr noundef @.str.5, i32 noundef %2712, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 229, ptr noundef %2715, ptr noundef %2718, ptr noundef %2721, i32 noundef %2723) #10
  br label %2725

2725:                                             ; preds = %2708, %2691
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2726

2726:                                             ; preds = %2725
  br label %2727

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

2728:                                             ; No predecessors!
  br label %2729

2729:                                             ; preds = %2728
  br label %2730

2730:                                             ; preds = %2729, %2670
  br label %2731

2731:                                             ; preds = %2730
  br label %2732

2732:                                             ; preds = %2731
  %2733 = load ptr, ptr %44, align 8, !tbaa !9
  %2734 = getelementptr inbounds %struct.s2n_connection, ptr %2733, i32 0, i32 23
  store i8 33, ptr %2734, align 4, !tbaa !15
  %2735 = load ptr, ptr %44, align 8, !tbaa !9
  %2736 = getelementptr inbounds %struct.s2n_connection, ptr %2735, i32 0, i32 22
  store i8 33, ptr %2736, align 1, !tbaa !42
  %2737 = load ptr, ptr %44, align 8, !tbaa !9
  %2738 = getelementptr inbounds %struct.s2n_connection, ptr %2737, i32 0, i32 21
  store i8 33, ptr %2738, align 2, !tbaa !43
  br label %2739

2739:                                             ; preds = %2732
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = load ptr, ptr %44, align 8, !tbaa !9
  %2743 = load ptr, ptr %48, align 8, !tbaa !9
  %2744 = call i32 @s2n_set_server_name(ptr noundef %2742, ptr noundef %2743)
  %2745 = icmp eq i32 %2744, -1
  br i1 %2745, label %2746, label %2799

2746:                                             ; preds = %2739
  br label %2747

2747:                                             ; preds = %2746
  br label %2748

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

2755:                                             ; preds = %2748
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = call i32 @fileno(ptr noundef %2756) #10
  %2758 = call i32 @isatty(i32 noundef %2757) #10
  %2759 = icmp ne i32 %2758, 0
  br i1 %2759, label %2760, label %2777

2760:                                             ; preds = %2755
  %2761 = load i32, ptr %56, align 4, !tbaa !5
  %2762 = call ptr @__errno_location() #11
  store i32 %2761, ptr %2762, align 4, !tbaa !5
  %2763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2764 = load i32, ptr @test_count, align 4, !tbaa !5
  %2765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2766 = load i32, ptr %2765, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror(i32 noundef %2766, ptr noundef @.str.4)
  %2768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2769 = load i32, ptr %2768, align 4, !tbaa !5
  %2770 = call ptr @s2n_strerror_debug(i32 noundef %2769, ptr noundef @.str.4)
  %2771 = call ptr @__errno_location() #11
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  %2773 = call ptr @strerror(i32 noundef %2772) #10
  %2774 = call ptr @__errno_location() #11
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2763, ptr noundef @.str.2, i32 noundef %2764, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 235, ptr noundef %2767, ptr noundef %2770, ptr noundef %2773, i32 noundef %2775) #10
  br label %2794

2777:                                             ; preds = %2755, %2748
  %2778 = load i32, ptr %56, align 4, !tbaa !5
  %2779 = call ptr @__errno_location() #11
  store i32 %2778, ptr %2779, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = load i32, ptr @test_count, align 4, !tbaa !5
  %2782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call ptr @s2n_strerror(i32 noundef %2783, ptr noundef @.str.4)
  %2785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2786 = load i32, ptr %2785, align 4, !tbaa !5
  %2787 = call ptr @s2n_strerror_debug(i32 noundef %2786, ptr noundef @.str.4)
  %2788 = call ptr @__errno_location() #11
  %2789 = load i32, ptr %2788, align 4, !tbaa !5
  %2790 = call ptr @strerror(i32 noundef %2789) #10
  %2791 = call ptr @__errno_location() #11
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2780, ptr noundef @.str.5, i32 noundef %2781, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 235, ptr noundef %2784, ptr noundef %2787, ptr noundef %2790, i32 noundef %2792) #10
  br label %2794

2794:                                             ; preds = %2777, %2760
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2795

2795:                                             ; preds = %2794
  br label %2796

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

2797:                                             ; No predecessors!
  br label %2798

2798:                                             ; preds = %2797
  br label %2799

2799:                                             ; preds = %2798, %2739
  br label %2800

2800:                                             ; preds = %2799
  br label %2801

2801:                                             ; preds = %2800
  br label %2802

2802:                                             ; preds = %2801
  %2803 = load i32, ptr @test_count, align 4, !tbaa !5
  %2804 = add nsw i32 %2803, 1
  store i32 %2804, ptr @test_count, align 4, !tbaa !5
  %2805 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2805, ptr %45, align 8, !tbaa !9
  %2806 = icmp eq ptr %2805, null
  br i1 %2806, label %2807, label %2860

2807:                                             ; preds = %2802
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

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

2816:                                             ; preds = %2809
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = call i32 @fileno(ptr noundef %2817) #10
  %2819 = call i32 @isatty(i32 noundef %2818) #10
  %2820 = icmp ne i32 %2819, 0
  br i1 %2820, label %2821, label %2838

2821:                                             ; preds = %2816
  %2822 = load i32, ptr %57, align 4, !tbaa !5
  %2823 = call ptr @__errno_location() #11
  store i32 %2822, ptr %2823, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = load i32, ptr @test_count, align 4, !tbaa !5
  %2826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror(i32 noundef %2827, ptr noundef @.str.4)
  %2829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2830 = load i32, ptr %2829, align 4, !tbaa !5
  %2831 = call ptr @s2n_strerror_debug(i32 noundef %2830, ptr noundef @.str.4)
  %2832 = call ptr @__errno_location() #11
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call ptr @strerror(i32 noundef %2833) #10
  %2835 = call ptr @__errno_location() #11
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2824, ptr noundef @.str.2, i32 noundef %2825, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 237, ptr noundef %2828, ptr noundef %2831, ptr noundef %2834, i32 noundef %2836) #10
  br label %2855

2838:                                             ; preds = %2816, %2809
  %2839 = load i32, ptr %57, align 4, !tbaa !5
  %2840 = call ptr @__errno_location() #11
  store i32 %2839, ptr %2840, align 4, !tbaa !5
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = load i32, ptr @test_count, align 4, !tbaa !5
  %2843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2844 = load i32, ptr %2843, align 4, !tbaa !5
  %2845 = call ptr @s2n_strerror(i32 noundef %2844, ptr noundef @.str.4)
  %2846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2847 = load i32, ptr %2846, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef @.str.4)
  %2849 = call ptr @__errno_location() #11
  %2850 = load i32, ptr %2849, align 4, !tbaa !5
  %2851 = call ptr @strerror(i32 noundef %2850) #10
  %2852 = call ptr @__errno_location() #11
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  %2854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2841, ptr noundef @.str.5, i32 noundef %2842, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 237, ptr noundef %2845, ptr noundef %2848, ptr noundef %2851, i32 noundef %2853) #10
  br label %2855

2855:                                             ; preds = %2838, %2821
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %2856

2856:                                             ; preds = %2855
  br label %2857

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

2858:                                             ; No predecessors!
  br label %2859

2859:                                             ; preds = %2858
  br label %2860

2860:                                             ; preds = %2859, %2802
  br label %2861

2861:                                             ; preds = %2860
  br label %2862

2862:                                             ; preds = %2861
  %2863 = load ptr, ptr %45, align 8, !tbaa !9
  %2864 = getelementptr inbounds %struct.s2n_connection, ptr %2863, i32 0, i32 23
  store i8 33, ptr %2864, align 4, !tbaa !15
  %2865 = load ptr, ptr %45, align 8, !tbaa !9
  %2866 = getelementptr inbounds %struct.s2n_connection, ptr %2865, i32 0, i32 22
  store i8 33, ptr %2866, align 1, !tbaa !42
  %2867 = load ptr, ptr %45, align 8, !tbaa !9
  %2868 = getelementptr inbounds %struct.s2n_connection, ptr %2867, i32 0, i32 21
  store i8 33, ptr %2868, align 2, !tbaa !43
  br label %2869

2869:                                             ; preds = %2862
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = add nsw i32 %2870, 1
  store i32 %2871, ptr @test_count, align 4, !tbaa !5
  %2872 = load ptr, ptr %44, align 8, !tbaa !9
  %2873 = load ptr, ptr %45, align 8, !tbaa !9
  %2874 = call i32 @s2n_connections_set_io_pair(ptr noundef %2872, ptr noundef %2873, ptr noundef %15)
  %2875 = icmp eq i32 %2874, -1
  br i1 %2875, label %2876, label %2929

2876:                                             ; preds = %2869
  br label %2877

2877:                                             ; preds = %2876
  br label %2878

2878:                                             ; preds = %2877
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %2879 = call ptr @__errno_location() #11
  %2880 = load i32, ptr %2879, align 4, !tbaa !5
  store i32 %2880, ptr %58, align 4, !tbaa !5
  %2881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2882 = call i32 @s2n_print_stacktrace(ptr noundef %2881)
  %2883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2884 = trunc i8 %2883 to i1
  br i1 %2884, label %2885, label %2907

2885:                                             ; preds = %2878
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = call i32 @fileno(ptr noundef %2886) #10
  %2888 = call i32 @isatty(i32 noundef %2887) #10
  %2889 = icmp ne i32 %2888, 0
  br i1 %2889, label %2890, label %2907

2890:                                             ; preds = %2885
  %2891 = load i32, ptr %58, align 4, !tbaa !5
  %2892 = call ptr @__errno_location() #11
  store i32 %2891, ptr %2892, align 4, !tbaa !5
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = load i32, ptr @test_count, align 4, !tbaa !5
  %2895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror(i32 noundef %2896, ptr noundef @.str.4)
  %2898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror_debug(i32 noundef %2899, ptr noundef @.str.4)
  %2901 = call ptr @__errno_location() #11
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call ptr @strerror(i32 noundef %2902) #10
  %2904 = call ptr @__errno_location() #11
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2893, ptr noundef @.str.2, i32 noundef %2894, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 242, ptr noundef %2897, ptr noundef %2900, ptr noundef %2903, i32 noundef %2905) #10
  br label %2924

2907:                                             ; preds = %2885, %2878
  %2908 = load i32, ptr %58, align 4, !tbaa !5
  %2909 = call ptr @__errno_location() #11
  store i32 %2908, ptr %2909, align 4, !tbaa !5
  %2910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2911 = load i32, ptr @test_count, align 4, !tbaa !5
  %2912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @s2n_strerror(i32 noundef %2913, ptr noundef @.str.4)
  %2915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call ptr @s2n_strerror_debug(i32 noundef %2916, ptr noundef @.str.4)
  %2918 = call ptr @__errno_location() #11
  %2919 = load i32, ptr %2918, align 4, !tbaa !5
  %2920 = call ptr @strerror(i32 noundef %2919) #10
  %2921 = call ptr @__errno_location() #11
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2910, ptr noundef @.str.5, i32 noundef %2911, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 242, ptr noundef %2914, ptr noundef %2917, ptr noundef %2920, i32 noundef %2922) #10
  br label %2924

2924:                                             ; preds = %2907, %2890
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2925

2925:                                             ; preds = %2924
  br label %2926

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

2927:                                             ; No predecessors!
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

2929:                                             ; preds = %2928, %2869
  br label %2930

2930:                                             ; preds = %2929
  br label %2931

2931:                                             ; preds = %2930
  br label %2932

2932:                                             ; preds = %2931
  %2933 = load i32, ptr @test_count, align 4, !tbaa !5
  %2934 = add nsw i32 %2933, 1
  store i32 %2934, ptr @test_count, align 4, !tbaa !5
  %2935 = call ptr @s2n_config_new()
  store ptr %2935, ptr %46, align 8, !tbaa !9
  %2936 = icmp eq ptr %2935, null
  br i1 %2936, label %2937, label %2990

2937:                                             ; preds = %2932
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

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

2946:                                             ; preds = %2939
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @fileno(ptr noundef %2947) #10
  %2949 = call i32 @isatty(i32 noundef %2948) #10
  %2950 = icmp ne i32 %2949, 0
  br i1 %2950, label %2951, label %2968

2951:                                             ; preds = %2946
  %2952 = load i32, ptr %59, align 4, !tbaa !5
  %2953 = call ptr @__errno_location() #11
  store i32 %2952, ptr %2953, align 4, !tbaa !5
  %2954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2957 = load i32, ptr %2956, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror(i32 noundef %2957, ptr noundef @.str.4)
  %2959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror_debug(i32 noundef %2960, ptr noundef @.str.4)
  %2962 = call ptr @__errno_location() #11
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #10
  %2965 = call ptr @__errno_location() #11
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2954, ptr noundef @.str.2, i32 noundef %2955, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 244, ptr noundef %2958, ptr noundef %2961, ptr noundef %2964, i32 noundef %2966) #10
  br label %2985

2968:                                             ; preds = %2946, %2939
  %2969 = load i32, ptr %59, align 4, !tbaa !5
  %2970 = call ptr @__errno_location() #11
  store i32 %2969, ptr %2970, align 4, !tbaa !5
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2974, ptr noundef @.str.4)
  %2976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef @.str.4)
  %2979 = call ptr @__errno_location() #11
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call ptr @strerror(i32 noundef %2980) #10
  %2982 = call ptr @__errno_location() #11
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2971, ptr noundef @.str.5, i32 noundef %2972, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 244, ptr noundef %2975, ptr noundef %2978, ptr noundef %2981, i32 noundef %2983) #10
  br label %2985

2985:                                             ; preds = %2968, %2951
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2986

2986:                                             ; preds = %2985
  br label %2987

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

2988:                                             ; No predecessors!
  br label %2989

2989:                                             ; preds = %2988
  br label %2990

2990:                                             ; preds = %2989, %2932
  br label %2991

2991:                                             ; preds = %2990
  br label %2992

2992:                                             ; preds = %2991
  br label %2993

2993:                                             ; preds = %2992
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = add nsw i32 %2994, 1
  store i32 %2995, ptr @test_count, align 4, !tbaa !5
  %2996 = load ptr, ptr %6, align 8, !tbaa !9
  %2997 = call i32 @s2n_read_test_pem(ptr noundef @.str.41, ptr noundef %2996, i64 noundef 12000)
  %2998 = icmp eq i32 %2997, -1
  br i1 %2998, label %2999, label %3052

2999:                                             ; preds = %2993
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

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

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

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

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

3047:                                             ; preds = %3030, %3013
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

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

3050:                                             ; No predecessors!
  br label %3051

3051:                                             ; preds = %3050
  br label %3052

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

3053:                                             ; preds = %3052
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

3055:                                             ; preds = %3054
  %3056 = load i32, ptr @test_count, align 4, !tbaa !5
  %3057 = add nsw i32 %3056, 1
  store i32 %3057, ptr @test_count, align 4, !tbaa !5
  %3058 = load ptr, ptr %7, align 8, !tbaa !9
  %3059 = call i32 @s2n_read_test_pem(ptr noundef @.str.43, ptr noundef %3058, i64 noundef 12000)
  %3060 = icmp eq i32 %3059, -1
  br i1 %3060, label %3061, label %3114

3061:                                             ; preds = %3055
  br label %3062

3062:                                             ; preds = %3061
  br label %3063

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

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

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

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

3109:                                             ; preds = %3092, %3075
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

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

3112:                                             ; No predecessors!
  br label %3113

3113:                                             ; preds = %3112
  br label %3114

3114:                                             ; preds = %3113, %3055
  br label %3115

3115:                                             ; preds = %3114
  br label %3116

3116:                                             ; preds = %3115
  br label %3117

3117:                                             ; preds = %3116
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = add nsw i32 %3118, 1
  store i32 %3119, ptr @test_count, align 4, !tbaa !5
  %3120 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %3120, ptr %47, align 8, !tbaa !9
  %3121 = icmp eq ptr %3120, null
  br i1 %3121, label %3122, label %3175

3122:                                             ; preds = %3117
  br label %3123

3123:                                             ; preds = %3122
  br label %3124

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

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

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

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

3170:                                             ; preds = %3153, %3136
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

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

3173:                                             ; No predecessors!
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174, %3117
  br label %3176

3176:                                             ; preds = %3175
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = add nsw i32 %3179, 1
  store i32 %3180, ptr @test_count, align 4, !tbaa !5
  %3181 = load ptr, ptr %47, align 8, !tbaa !9
  %3182 = load ptr, ptr %6, align 8, !tbaa !9
  %3183 = load ptr, ptr %7, align 8, !tbaa !9
  %3184 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %3181, ptr noundef %3182, ptr noundef %3183)
  %3185 = icmp eq i32 %3184, -1
  br i1 %3185, label %3186, label %3239

3186:                                             ; preds = %3178
  br label %3187

3187:                                             ; preds = %3186
  br label %3188

3188:                                             ; preds = %3187
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3189 = call ptr @__errno_location() #11
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  store i32 %3190, ptr %63, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @s2n_print_stacktrace(ptr noundef %3191)
  %3193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3194 = trunc i8 %3193 to i1
  br i1 %3194, label %3195, label %3217

3195:                                             ; preds = %3188
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @fileno(ptr noundef %3196) #10
  %3198 = call i32 @isatty(i32 noundef %3197) #10
  %3199 = icmp ne i32 %3198, 0
  br i1 %3199, label %3200, label %3217

3200:                                             ; preds = %3195
  %3201 = load i32, ptr %63, align 4, !tbaa !5
  %3202 = call ptr @__errno_location() #11
  store i32 %3201, ptr %3202, align 4, !tbaa !5
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror(i32 noundef %3206, ptr noundef @.str.4)
  %3208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror_debug(i32 noundef %3209, ptr noundef @.str.4)
  %3211 = call ptr @__errno_location() #11
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call ptr @strerror(i32 noundef %3212) #10
  %3214 = call ptr @__errno_location() #11
  %3215 = load i32, ptr %3214, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3203, ptr noundef @.str.2, i32 noundef %3204, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3207, ptr noundef %3210, ptr noundef %3213, i32 noundef %3215) #10
  br label %3234

3217:                                             ; preds = %3195, %3188
  %3218 = load i32, ptr %63, align 4, !tbaa !5
  %3219 = call ptr @__errno_location() #11
  store i32 %3218, ptr %3219, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = load i32, ptr @test_count, align 4, !tbaa !5
  %3222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3223 = load i32, ptr %3222, align 4, !tbaa !5
  %3224 = call ptr @s2n_strerror(i32 noundef %3223, ptr noundef @.str.4)
  %3225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3226 = load i32, ptr %3225, align 4, !tbaa !5
  %3227 = call ptr @s2n_strerror_debug(i32 noundef %3226, ptr noundef @.str.4)
  %3228 = call ptr @__errno_location() #11
  %3229 = load i32, ptr %3228, align 4, !tbaa !5
  %3230 = call ptr @strerror(i32 noundef %3229) #10
  %3231 = call ptr @__errno_location() #11
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3220, ptr noundef @.str.5, i32 noundef %3221, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 248, ptr noundef %3224, ptr noundef %3227, ptr noundef %3230, i32 noundef %3232) #10
  br label %3234

3234:                                             ; preds = %3217, %3200
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

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

3237:                                             ; No predecessors!
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238, %3178
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240
  br label %3242

3242:                                             ; preds = %3241
  %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 %46, align 8, !tbaa !9
  %3246 = load ptr, ptr %47, align 8, !tbaa !9
  %3247 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3245, ptr noundef %3246)
  %3248 = icmp eq i32 %3247, -1
  br i1 %3248, label %3249, label %3302

3249:                                             ; preds = %3242
  br label %3250

3250:                                             ; preds = %3249
  br label %3251

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

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

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

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

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

3298:                                             ; preds = %3297
  br label %3299

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

3300:                                             ; No predecessors!
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

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

3303:                                             ; preds = %3302
  br label %3304

3304:                                             ; preds = %3303
  br label %3305

3305:                                             ; preds = %3304
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = add nsw i32 %3306, 1
  store i32 %3307, ptr @test_count, align 4, !tbaa !5
  %3308 = load ptr, ptr %45, align 8, !tbaa !9
  %3309 = load ptr, ptr %46, align 8, !tbaa !9
  %3310 = call i32 @s2n_connection_set_config(ptr noundef %3308, ptr noundef %3309)
  %3311 = icmp eq i32 %3310, -1
  br i1 %3311, label %3312, label %3365

3312:                                             ; preds = %3305
  br label %3313

3313:                                             ; preds = %3312
  br label %3314

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

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

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

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

3360:                                             ; preds = %3343, %3326
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

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

3363:                                             ; No predecessors!
  br label %3364

3364:                                             ; preds = %3363
  br label %3365

3365:                                             ; preds = %3364, %3305
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

3367:                                             ; preds = %3366
  br label %3368

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

3375:                                             ; preds = %3368
  br label %3376

3376:                                             ; preds = %3375
  br label %3377

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

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

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

3406:                                             ; preds = %3384, %3377
  %3407 = load i32, ptr %66, align 4, !tbaa !5
  %3408 = call ptr @__errno_location() #11
  store i32 %3407, ptr %3408, align 4, !tbaa !5
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3412, ptr noundef @.str.4)
  %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_debug(i32 noundef %3415, ptr noundef @.str.4)
  %3417 = call ptr @__errno_location() #11
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call ptr @strerror(i32 noundef %3418) #10
  %3420 = call ptr @__errno_location() #11
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  %3422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3409, ptr noundef @.str.5, i32 noundef %3410, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3413, ptr noundef %3416, ptr noundef %3419, i32 noundef %3421) #10
  br label %3423

3423:                                             ; preds = %3406, %3389
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3424

3424:                                             ; preds = %3423
  br label %3425

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

3426:                                             ; No predecessors!
  br label %3427

3427:                                             ; preds = %3426
  br label %3428

3428:                                             ; preds = %3427, %3368
  br label %3429

3429:                                             ; preds = %3428
  br label %3430

3430:                                             ; preds = %3429
  br label %3431

3431:                                             ; preds = %3430
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = add nsw i32 %3432, 1
  store i32 %3433, ptr @test_count, align 4, !tbaa !5
  %3434 = load ptr, ptr %45, align 8, !tbaa !9
  %3435 = call ptr @s2n_get_server_name(ptr noundef %3434)
  store ptr %3435, ptr %49, align 8, !tbaa !9
  %3436 = icmp eq ptr %3435, null
  br i1 %3436, label %3437, label %3490

3437:                                             ; preds = %3431
  br label %3438

3438:                                             ; preds = %3437
  br label %3439

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

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

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

3468:                                             ; preds = %3446, %3439
  %3469 = load i32, ptr %67, align 4, !tbaa !5
  %3470 = call ptr @__errno_location() #11
  store i32 %3469, ptr %3470, 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 @.str.4)
  %3476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3477 = load i32, ptr %3476, align 4, !tbaa !5
  %3478 = call ptr @s2n_strerror_debug(i32 noundef %3477, ptr noundef @.str.4)
  %3479 = call ptr @__errno_location() #11
  %3480 = load i32, ptr %3479, align 4, !tbaa !5
  %3481 = call ptr @strerror(i32 noundef %3480) #10
  %3482 = call ptr @__errno_location() #11
  %3483 = load i32, ptr %3482, align 4, !tbaa !5
  %3484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef @.str.5, i32 noundef %3472, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 255, ptr noundef %3475, ptr noundef %3478, ptr noundef %3481, i32 noundef %3483) #10
  br label %3485

3485:                                             ; preds = %3468, %3451
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

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

3488:                                             ; No predecessors!
  br label %3489

3489:                                             ; preds = %3488
  br label %3490

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

3491:                                             ; preds = %3490
  br label %3492

3492:                                             ; preds = %3491
  br label %3493

3493:                                             ; preds = %3492
  %3494 = load i32, ptr @test_count, align 4, !tbaa !5
  %3495 = add nsw i32 %3494, 1
  store i32 %3495, ptr @test_count, align 4, !tbaa !5
  %3496 = load ptr, ptr %49, align 8, !tbaa !9
  %3497 = call i64 @strlen(ptr noundef %3496) #14
  %3498 = load ptr, ptr %48, align 8, !tbaa !9
  %3499 = call i64 @strlen(ptr noundef %3498) #14
  %3500 = icmp eq i64 %3497, %3499
  br i1 %3500, label %3554, label %3501

3501:                                             ; preds = %3493
  br label %3502

3502:                                             ; preds = %3501
  br label %3503

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

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

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

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

3549:                                             ; preds = %3532, %3515
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

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

3552:                                             ; No predecessors!
  br label %3553

3553:                                             ; preds = %3552
  br label %3554

3554:                                             ; preds = %3553, %3493
  br label %3555

3555:                                             ; preds = %3554
  br label %3556

3556:                                             ; preds = %3555
  br label %3557

3557:                                             ; preds = %3556
  %3558 = load ptr, ptr %49, align 8, !tbaa !9
  %3559 = call i64 @strlen(ptr noundef %3558) #14
  %3560 = icmp ne i64 %3559, 0
  br i1 %3560, label %3561, label %3627

3561:                                             ; preds = %3557
  br label %3562

3562:                                             ; preds = %3561
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = add nsw i32 %3563, 1
  store i32 %3564, ptr @test_count, align 4, !tbaa !5
  %3565 = load ptr, ptr %49, align 8, !tbaa !9
  %3566 = load ptr, ptr %48, align 8, !tbaa !9
  %3567 = load ptr, ptr %49, align 8, !tbaa !9
  %3568 = call i64 @strlen(ptr noundef %3567) #14
  %3569 = call i32 @memcmp(ptr noundef %3565, ptr noundef %3566, i64 noundef %3568) #14
  %3570 = icmp eq i32 %3569, 0
  br i1 %3570, label %3624, label %3571

3571:                                             ; preds = %3562
  br label %3572

3572:                                             ; preds = %3571
  br label %3573

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

3580:                                             ; preds = %3573
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = call i32 @fileno(ptr noundef %3581) #10
  %3583 = call i32 @isatty(i32 noundef %3582) #10
  %3584 = icmp ne i32 %3583, 0
  br i1 %3584, label %3585, label %3602

3585:                                             ; preds = %3580
  %3586 = load i32, ptr %69, align 4, !tbaa !5
  %3587 = call ptr @__errno_location() #11
  store i32 %3586, ptr %3587, align 4, !tbaa !5
  %3588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3589 = load i32, ptr @test_count, align 4, !tbaa !5
  %3590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3591 = load i32, ptr %3590, align 4, !tbaa !5
  %3592 = call ptr @s2n_strerror(i32 noundef %3591, ptr noundef @.str.4)
  %3593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3594 = load i32, ptr %3593, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror_debug(i32 noundef %3594, ptr noundef @.str.4)
  %3596 = call ptr @__errno_location() #11
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  %3598 = call ptr @strerror(i32 noundef %3597) #10
  %3599 = call ptr @__errno_location() #11
  %3600 = load i32, ptr %3599, align 4, !tbaa !5
  %3601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3588, ptr noundef @.str.2, i32 noundef %3589, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 257, ptr noundef %3592, ptr noundef %3595, ptr noundef %3598, i32 noundef %3600) #10
  br label %3619

3602:                                             ; preds = %3580, %3573
  %3603 = load i32, ptr %69, align 4, !tbaa !5
  %3604 = call ptr @__errno_location() #11
  store i32 %3603, ptr %3604, align 4, !tbaa !5
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = load i32, ptr @test_count, align 4, !tbaa !5
  %3607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3608 = load i32, ptr %3607, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror(i32 noundef %3608, ptr noundef @.str.4)
  %3610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call ptr @s2n_strerror_debug(i32 noundef %3611, ptr noundef @.str.4)
  %3613 = call ptr @__errno_location() #11
  %3614 = load i32, ptr %3613, align 4, !tbaa !5
  %3615 = call ptr @strerror(i32 noundef %3614) #10
  %3616 = call ptr @__errno_location() #11
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3605, ptr noundef @.str.5, i32 noundef %3606, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 257, ptr noundef %3609, ptr noundef %3612, ptr noundef %3615, i32 noundef %3617) #10
  br label %3619

3619:                                             ; preds = %3602, %3585
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3620

3620:                                             ; preds = %3619
  br label %3621

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

3622:                                             ; No predecessors!
  br label %3623

3623:                                             ; preds = %3622
  br label %3624

3624:                                             ; preds = %3623, %3562
  br label %3625

3625:                                             ; preds = %3624
  br label %3626

3626:                                             ; preds = %3625
  br label %3627

3627:                                             ; preds = %3626, %3557
  br label %3628

3628:                                             ; preds = %3627
  br label %3629

3629:                                             ; preds = %3628
  br label %3630

3630:                                             ; preds = %3629
  %3631 = load i32, ptr @test_count, align 4, !tbaa !5
  %3632 = add nsw i32 %3631, 1
  store i32 %3632, ptr @test_count, align 4, !tbaa !5
  %3633 = load ptr, ptr %45, align 8, !tbaa !9
  %3634 = load ptr, ptr %44, align 8, !tbaa !9
  %3635 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %3633, ptr noundef %3634)
  %3636 = icmp eq i32 %3635, -1
  br i1 %3636, label %3637, label %3690

3637:                                             ; preds = %3630
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

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

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
  %3650 = icmp ne i32 %3649, 0
  br i1 %3650, label %3651, label %3668

3651:                                             ; preds = %3646
  %3652 = load i32, ptr %70, align 4, !tbaa !5
  %3653 = call ptr @__errno_location() #11
  store i32 %3652, ptr %3653, align 4, !tbaa !5
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3655 = load i32, ptr @test_count, align 4, !tbaa !5
  %3656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3657 = load i32, ptr %3656, align 4, !tbaa !5
  %3658 = call ptr @s2n_strerror(i32 noundef %3657, ptr noundef @.str.4)
  %3659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3660 = load i32, ptr %3659, align 4, !tbaa !5
  %3661 = call ptr @s2n_strerror_debug(i32 noundef %3660, ptr noundef @.str.4)
  %3662 = call ptr @__errno_location() #11
  %3663 = load i32, ptr %3662, align 4, !tbaa !5
  %3664 = call ptr @strerror(i32 noundef %3663) #10
  %3665 = call ptr @__errno_location() #11
  %3666 = load i32, ptr %3665, align 4, !tbaa !5
  %3667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3654, ptr noundef @.str.2, i32 noundef %3655, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 259, ptr noundef %3658, ptr noundef %3661, ptr noundef %3664, i32 noundef %3666) #10
  br label %3685

3668:                                             ; preds = %3646, %3639
  %3669 = load i32, ptr %70, align 4, !tbaa !5
  %3670 = call ptr @__errno_location() #11
  store i32 %3669, ptr %3670, align 4, !tbaa !5
  %3671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @s2n_strerror(i32 noundef %3674, ptr noundef @.str.4)
  %3676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call ptr @s2n_strerror_debug(i32 noundef %3677, ptr noundef @.str.4)
  %3679 = call ptr @__errno_location() #11
  %3680 = load i32, ptr %3679, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #10
  %3682 = call ptr @__errno_location() #11
  %3683 = load i32, ptr %3682, align 4, !tbaa !5
  %3684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3671, ptr noundef @.str.5, i32 noundef %3672, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 259, ptr noundef %3675, ptr noundef %3678, ptr noundef %3681, i32 noundef %3683) #10
  br label %3685

3685:                                             ; preds = %3668, %3651
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %3686

3686:                                             ; preds = %3685
  br label %3687

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

3688:                                             ; No predecessors!
  br label %3689

3689:                                             ; preds = %3688
  br label %3690

3690:                                             ; preds = %3689, %3630
  br label %3691

3691:                                             ; preds = %3690
  br label %3692

3692:                                             ; preds = %3691
  br label %3693

3693:                                             ; preds = %3692
  %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 %45, align 8, !tbaa !9
  %3697 = call i32 @s2n_connection_free(ptr noundef %3696)
  %3698 = icmp eq i32 %3697, -1
  br i1 %3698, label %3699, label %3752

3699:                                             ; preds = %3693
  br label %3700

3700:                                             ; preds = %3699
  br label %3701

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

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

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

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

3747:                                             ; preds = %3730, %3713
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3748

3748:                                             ; preds = %3747
  br label %3749

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

3750:                                             ; No predecessors!
  br label %3751

3751:                                             ; preds = %3750
  br label %3752

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

3753:                                             ; preds = %3752
  br label %3754

3754:                                             ; preds = %3753
  br label %3755

3755:                                             ; preds = %3754
  %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 = load ptr, ptr %44, align 8, !tbaa !9
  %3759 = call i32 @s2n_connection_free(ptr noundef %3758)
  %3760 = icmp eq i32 %3759, -1
  br i1 %3760, label %3761, label %3814

3761:                                             ; preds = %3755
  br label %3762

3762:                                             ; preds = %3761
  br label %3763

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

3770:                                             ; preds = %3763
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @fileno(ptr noundef %3771) #10
  %3773 = call i32 @isatty(i32 noundef %3772) #10
  %3774 = icmp ne i32 %3773, 0
  br i1 %3774, label %3775, label %3792

3775:                                             ; preds = %3770
  %3776 = load i32, ptr %72, align 4, !tbaa !5
  %3777 = call ptr @__errno_location() #11
  store i32 %3776, ptr %3777, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3781 = load i32, ptr %3780, align 4, !tbaa !5
  %3782 = call ptr @s2n_strerror(i32 noundef %3781, ptr noundef @.str.4)
  %3783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3784 = load i32, ptr %3783, align 4, !tbaa !5
  %3785 = call ptr @s2n_strerror_debug(i32 noundef %3784, ptr noundef @.str.4)
  %3786 = call ptr @__errno_location() #11
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #10
  %3789 = call ptr @__errno_location() #11
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3778, ptr noundef @.str.2, i32 noundef %3779, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 262, ptr noundef %3782, ptr noundef %3785, ptr noundef %3788, i32 noundef %3790) #10
  br label %3809

3792:                                             ; preds = %3770, %3763
  %3793 = load i32, ptr %72, align 4, !tbaa !5
  %3794 = call ptr @__errno_location() #11
  store i32 %3793, ptr %3794, align 4, !tbaa !5
  %3795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3796 = load i32, ptr @test_count, align 4, !tbaa !5
  %3797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror(i32 noundef %3798, ptr noundef @.str.4)
  %3800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef @.str.4)
  %3803 = call ptr @__errno_location() #11
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call ptr @strerror(i32 noundef %3804) #10
  %3806 = call ptr @__errno_location() #11
  %3807 = load i32, ptr %3806, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3795, ptr noundef @.str.5, i32 noundef %3796, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 262, ptr noundef %3799, ptr noundef %3802, ptr noundef %3805, i32 noundef %3807) #10
  br label %3809

3809:                                             ; preds = %3792, %3775
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

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

3812:                                             ; No predecessors!
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813, %3755
  br label %3815

3815:                                             ; preds = %3814
  br label %3816

3816:                                             ; preds = %3815
  br label %3817

3817:                                             ; preds = %3816
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = add nsw i32 %3818, 1
  store i32 %3819, ptr @test_count, align 4, !tbaa !5
  %3820 = load ptr, ptr %47, align 8, !tbaa !9
  %3821 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %3820)
  %3822 = icmp eq i32 %3821, -1
  br i1 %3822, label %3823, label %3876

3823:                                             ; preds = %3817
  br label %3824

3824:                                             ; preds = %3823
  br label %3825

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

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

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

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

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

3872:                                             ; preds = %3871
  br label %3873

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

3874:                                             ; No predecessors!
  br label %3875

3875:                                             ; preds = %3874
  br label %3876

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

3877:                                             ; preds = %3876
  br label %3878

3878:                                             ; preds = %3877
  br label %3879

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

3885:                                             ; preds = %3879
  br label %3886

3886:                                             ; preds = %3885
  br label %3887

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

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

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

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

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

3934:                                             ; preds = %3933
  br label %3935

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

3936:                                             ; No predecessors!
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

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

3939:                                             ; preds = %3938
  br label %3940

3940:                                             ; preds = %3939
  br label %3941

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

3947:                                             ; preds = %3941
  br label %3948

3948:                                             ; preds = %3947
  br label %3949

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

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

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

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

3995:                                             ; preds = %3978, %3961
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

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

3998:                                             ; No predecessors!
  br label %3999

3999:                                             ; preds = %3998
  br label %4000

4000:                                             ; preds = %3999, %3941
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

4002:                                             ; preds = %4001
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #10
  store ptr null, ptr %76, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  store ptr null, ptr %77, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  store ptr @.str.48, ptr %79, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  store ptr null, ptr %80, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #10
  store ptr null, ptr %81, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #10
  store i32 0, ptr %82, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #10
  store i32 0, ptr %83, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %84, ptr align 16 @__const.main.client_extensions, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  store i32 16, ptr %85, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 75, ptr %86) #10
  store i8 3, ptr %86, align 1, !tbaa !44
  %4003 = getelementptr inbounds i8, ptr %86, i64 1
  store i8 3, ptr %4003, align 1, !tbaa !44
  %4004 = getelementptr inbounds i8, ptr %86, i64 2
  store i8 0, ptr %4004, align 1, !tbaa !44
  %4005 = getelementptr inbounds i8, ptr %86, i64 3
  store i8 1, ptr %4005, align 1, !tbaa !44
  %4006 = getelementptr inbounds i8, ptr %86, i64 4
  store i8 2, ptr %4006, align 1, !tbaa !44
  %4007 = getelementptr inbounds i8, ptr %86, i64 5
  store i8 3, ptr %4007, align 1, !tbaa !44
  %4008 = getelementptr inbounds i8, ptr %86, i64 6
  store i8 4, ptr %4008, align 1, !tbaa !44
  %4009 = getelementptr inbounds i8, ptr %86, i64 7
  store i8 5, ptr %4009, align 1, !tbaa !44
  %4010 = getelementptr inbounds i8, ptr %86, i64 8
  store i8 6, ptr %4010, align 1, !tbaa !44
  %4011 = getelementptr inbounds i8, ptr %86, i64 9
  store i8 7, ptr %4011, align 1, !tbaa !44
  %4012 = getelementptr inbounds i8, ptr %86, i64 10
  store i8 8, ptr %4012, align 1, !tbaa !44
  %4013 = getelementptr inbounds i8, ptr %86, i64 11
  store i8 9, ptr %4013, align 1, !tbaa !44
  %4014 = getelementptr inbounds i8, ptr %86, i64 12
  store i8 10, ptr %4014, align 1, !tbaa !44
  %4015 = getelementptr inbounds i8, ptr %86, i64 13
  store i8 11, ptr %4015, align 1, !tbaa !44
  %4016 = getelementptr inbounds i8, ptr %86, i64 14
  store i8 12, ptr %4016, align 1, !tbaa !44
  %4017 = getelementptr inbounds i8, ptr %86, i64 15
  store i8 13, ptr %4017, align 1, !tbaa !44
  %4018 = getelementptr inbounds i8, ptr %86, i64 16
  store i8 14, ptr %4018, align 1, !tbaa !44
  %4019 = getelementptr inbounds i8, ptr %86, i64 17
  store i8 15, ptr %4019, align 1, !tbaa !44
  %4020 = getelementptr inbounds i8, ptr %86, i64 18
  store i8 16, ptr %4020, align 1, !tbaa !44
  %4021 = getelementptr inbounds i8, ptr %86, i64 19
  store i8 17, ptr %4021, align 1, !tbaa !44
  %4022 = getelementptr inbounds i8, ptr %86, i64 20
  store i8 18, ptr %4022, align 1, !tbaa !44
  %4023 = getelementptr inbounds i8, ptr %86, i64 21
  store i8 19, ptr %4023, align 1, !tbaa !44
  %4024 = getelementptr inbounds i8, ptr %86, i64 22
  store i8 20, ptr %4024, align 1, !tbaa !44
  %4025 = getelementptr inbounds i8, ptr %86, i64 23
  store i8 21, ptr %4025, align 1, !tbaa !44
  %4026 = getelementptr inbounds i8, ptr %86, i64 24
  store i8 22, ptr %4026, align 1, !tbaa !44
  %4027 = getelementptr inbounds i8, ptr %86, i64 25
  store i8 23, ptr %4027, align 1, !tbaa !44
  %4028 = getelementptr inbounds i8, ptr %86, i64 26
  store i8 24, ptr %4028, align 1, !tbaa !44
  %4029 = getelementptr inbounds i8, ptr %86, i64 27
  store i8 25, ptr %4029, align 1, !tbaa !44
  %4030 = getelementptr inbounds i8, ptr %86, i64 28
  store i8 26, ptr %4030, align 1, !tbaa !44
  %4031 = getelementptr inbounds i8, ptr %86, i64 29
  store i8 27, ptr %4031, align 1, !tbaa !44
  %4032 = getelementptr inbounds i8, ptr %86, i64 30
  store i8 28, ptr %4032, align 1, !tbaa !44
  %4033 = getelementptr inbounds i8, ptr %86, i64 31
  store i8 29, ptr %4033, align 1, !tbaa !44
  %4034 = getelementptr inbounds i8, ptr %86, i64 32
  store i8 30, ptr %4034, align 1, !tbaa !44
  %4035 = getelementptr inbounds i8, ptr %86, i64 33
  store i8 31, ptr %4035, align 1, !tbaa !44
  %4036 = getelementptr inbounds i8, ptr %86, i64 34
  store i8 32, ptr %4036, align 1, !tbaa !44
  %4037 = getelementptr inbounds i8, ptr %86, i64 35
  store i8 0, ptr %4037, align 1, !tbaa !44
  %4038 = getelementptr inbounds i8, ptr %86, i64 36
  store i8 1, ptr %4038, align 1, !tbaa !44
  %4039 = getelementptr inbounds i8, ptr %86, i64 37
  store i8 2, ptr %4039, align 1, !tbaa !44
  %4040 = getelementptr inbounds i8, ptr %86, i64 38
  store i8 3, ptr %4040, align 1, !tbaa !44
  %4041 = getelementptr inbounds i8, ptr %86, i64 39
  store i8 4, ptr %4041, align 1, !tbaa !44
  %4042 = getelementptr inbounds i8, ptr %86, i64 40
  store i8 5, ptr %4042, align 1, !tbaa !44
  %4043 = getelementptr inbounds i8, ptr %86, i64 41
  store i8 6, ptr %4043, align 1, !tbaa !44
  %4044 = getelementptr inbounds i8, ptr %86, i64 42
  store i8 7, ptr %4044, align 1, !tbaa !44
  %4045 = getelementptr inbounds i8, ptr %86, i64 43
  store i8 8, ptr %4045, align 1, !tbaa !44
  %4046 = getelementptr inbounds i8, ptr %86, i64 44
  store i8 9, ptr %4046, align 1, !tbaa !44
  %4047 = getelementptr inbounds i8, ptr %86, i64 45
  store i8 10, ptr %4047, align 1, !tbaa !44
  %4048 = getelementptr inbounds i8, ptr %86, i64 46
  store i8 11, ptr %4048, align 1, !tbaa !44
  %4049 = getelementptr inbounds i8, ptr %86, i64 47
  store i8 12, ptr %4049, align 1, !tbaa !44
  %4050 = getelementptr inbounds i8, ptr %86, i64 48
  store i8 13, ptr %4050, align 1, !tbaa !44
  %4051 = getelementptr inbounds i8, ptr %86, i64 49
  store i8 14, ptr %4051, align 1, !tbaa !44
  %4052 = getelementptr inbounds i8, ptr %86, i64 50
  store i8 15, ptr %4052, align 1, !tbaa !44
  %4053 = getelementptr inbounds i8, ptr %86, i64 51
  store i8 16, ptr %4053, align 1, !tbaa !44
  %4054 = getelementptr inbounds i8, ptr %86, i64 52
  store i8 17, ptr %4054, align 1, !tbaa !44
  %4055 = getelementptr inbounds i8, ptr %86, i64 53
  store i8 18, ptr %4055, align 1, !tbaa !44
  %4056 = getelementptr inbounds i8, ptr %86, i64 54
  store i8 19, ptr %4056, align 1, !tbaa !44
  %4057 = getelementptr inbounds i8, ptr %86, i64 55
  store i8 20, ptr %4057, align 1, !tbaa !44
  %4058 = getelementptr inbounds i8, ptr %86, i64 56
  store i8 21, ptr %4058, align 1, !tbaa !44
  %4059 = getelementptr inbounds i8, ptr %86, i64 57
  store i8 22, ptr %4059, align 1, !tbaa !44
  %4060 = getelementptr inbounds i8, ptr %86, i64 58
  store i8 23, ptr %4060, align 1, !tbaa !44
  %4061 = getelementptr inbounds i8, ptr %86, i64 59
  store i8 24, ptr %4061, align 1, !tbaa !44
  %4062 = getelementptr inbounds i8, ptr %86, i64 60
  store i8 25, ptr %4062, align 1, !tbaa !44
  %4063 = getelementptr inbounds i8, ptr %86, i64 61
  store i8 26, ptr %4063, align 1, !tbaa !44
  %4064 = getelementptr inbounds i8, ptr %86, i64 62
  store i8 27, ptr %4064, align 1, !tbaa !44
  %4065 = getelementptr inbounds i8, ptr %86, i64 63
  store i8 28, ptr %4065, align 1, !tbaa !44
  %4066 = getelementptr inbounds i8, ptr %86, i64 64
  store i8 29, ptr %4066, align 1, !tbaa !44
  %4067 = getelementptr inbounds i8, ptr %86, i64 65
  store i8 30, ptr %4067, align 1, !tbaa !44
  %4068 = getelementptr inbounds i8, ptr %86, i64 66
  store i8 31, ptr %4068, align 1, !tbaa !44
  %4069 = getelementptr inbounds i8, ptr %86, i64 67
  store i8 0, ptr %4069, align 1, !tbaa !44
  %4070 = getelementptr inbounds i8, ptr %86, i64 68
  store i8 2, ptr %4070, align 1, !tbaa !44
  %4071 = getelementptr inbounds i8, ptr %86, i64 69
  store i8 0, ptr %4071, align 1, !tbaa !44
  %4072 = getelementptr inbounds i8, ptr %86, i64 70
  store i8 60, ptr %4072, align 1, !tbaa !44
  %4073 = getelementptr inbounds i8, ptr %86, i64 71
  store i8 1, ptr %4073, align 1, !tbaa !44
  %4074 = getelementptr inbounds i8, ptr %86, i64 72
  store i8 0, ptr %4074, align 1, !tbaa !44
  %4075 = getelementptr inbounds i8, ptr %86, i64 73
  %4076 = load i32, ptr %85, align 4, !tbaa !5
  %4077 = ashr i32 %4076, 8
  %4078 = and i32 %4077, 255
  %4079 = trunc i32 %4078 to i8
  store i8 %4079, ptr %4075, align 1, !tbaa !44
  %4080 = getelementptr inbounds i8, ptr %86, i64 74
  %4081 = load i32, ptr %85, align 4, !tbaa !5
  %4082 = and i32 %4081, 255
  %4083 = trunc i32 %4082 to i8
  store i8 %4083, ptr %4080, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %4084 = load i32, ptr %85, align 4, !tbaa !5
  %4085 = sext i32 %4084 to i64
  %4086 = add i64 75, %4085
  %4087 = trunc i64 %4086 to i32
  store i32 %4087, ptr %87, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  store i8 1, ptr %88, align 1, !tbaa !44
  %4088 = getelementptr inbounds i8, ptr %88, i64 1
  %4089 = load i32, ptr %87, align 4, !tbaa !5
  %4090 = ashr i32 %4089, 16
  %4091 = and i32 %4090, 255
  %4092 = trunc i32 %4091 to i8
  store i8 %4092, ptr %4088, align 1, !tbaa !44
  %4093 = getelementptr inbounds i8, ptr %88, i64 2
  %4094 = load i32, ptr %87, align 4, !tbaa !5
  %4095 = ashr i32 %4094, 8
  %4096 = and i32 %4095, 255
  %4097 = trunc i32 %4096 to i8
  store i8 %4097, ptr %4093, align 1, !tbaa !44
  %4098 = getelementptr inbounds i8, ptr %88, i64 3
  %4099 = load i32, ptr %87, align 4, !tbaa !5
  %4100 = and i32 %4099, 255
  %4101 = trunc i32 %4100 to i8
  store i8 %4101, ptr %4098, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #10
  %4102 = load i32, ptr %87, align 4, !tbaa !5
  %4103 = sext i32 %4102 to i64
  %4104 = add i64 4, %4103
  %4105 = trunc i64 %4104 to i32
  store i32 %4105, ptr %89, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 5, ptr %90) #10
  store i8 22, ptr %90, align 1, !tbaa !44
  %4106 = getelementptr inbounds i8, ptr %90, i64 1
  store i8 1, ptr %4106, align 1, !tbaa !44
  %4107 = getelementptr inbounds i8, ptr %90, i64 2
  store i8 1, ptr %4107, align 1, !tbaa !44
  %4108 = getelementptr inbounds i8, ptr %90, i64 3
  %4109 = load i32, ptr %89, align 4, !tbaa !5
  %4110 = ashr i32 %4109, 8
  %4111 = and i32 %4110, 255
  %4112 = trunc i32 %4111 to i8
  store i8 %4112, ptr %4108, align 1, !tbaa !44
  %4113 = getelementptr inbounds i8, ptr %90, i64 4
  %4114 = load i32, ptr %89, align 4, !tbaa !5
  %4115 = and i32 %4114, 255
  %4116 = trunc i32 %4115 to i8
  store i8 %4116, ptr %4113, align 1, !tbaa !44
  br label %4117

4117:                                             ; preds = %4002
  %4118 = load i32, ptr @test_count, align 4, !tbaa !5
  %4119 = add nsw i32 %4118, 1
  store i32 %4119, ptr @test_count, align 4, !tbaa !5
  %4120 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4120, ptr %76, align 8, !tbaa !9
  %4121 = icmp eq ptr %4120, null
  br i1 %4121, label %4122, label %4175

4122:                                             ; preds = %4117
  br label %4123

4123:                                             ; preds = %4122
  br label %4124

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

4131:                                             ; preds = %4124
  %4132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4133 = call i32 @fileno(ptr noundef %4132) #10
  %4134 = call i32 @isatty(i32 noundef %4133) #10
  %4135 = icmp ne i32 %4134, 0
  br i1 %4135, label %4136, label %4153

4136:                                             ; preds = %4131
  %4137 = load i32, ptr %91, align 4, !tbaa !5
  %4138 = call ptr @__errno_location() #11
  store i32 %4137, ptr %4138, align 4, !tbaa !5
  %4139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4140 = load i32, 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(i32 noundef %4142, ptr noundef @.str.4)
  %4144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror_debug(i32 noundef %4145, ptr noundef @.str.4)
  %4147 = call ptr @__errno_location() #11
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call ptr @strerror(i32 noundef %4148) #10
  %4150 = call ptr @__errno_location() #11
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4139, ptr noundef @.str.2, i32 noundef %4140, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 354, ptr noundef %4143, ptr noundef %4146, ptr noundef %4149, i32 noundef %4151) #10
  br label %4170

4153:                                             ; preds = %4131, %4124
  %4154 = load i32, ptr %91, align 4, !tbaa !5
  %4155 = call ptr @__errno_location() #11
  store i32 %4154, ptr %4155, 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 @.str.4)
  %4161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @s2n_strerror_debug(i32 noundef %4162, ptr noundef @.str.4)
  %4164 = call ptr @__errno_location() #11
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call ptr @strerror(i32 noundef %4165) #10
  %4167 = call ptr @__errno_location() #11
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  %4169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4156, ptr noundef @.str.5, i32 noundef %4157, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 354, ptr noundef %4160, ptr noundef %4163, ptr noundef %4166, i32 noundef %4168) #10
  br label %4170

4170:                                             ; preds = %4153, %4136
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

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

4173:                                             ; No predecessors!
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174, %4117
  br label %4176

4176:                                             ; preds = %4175
  br label %4177

4177:                                             ; preds = %4176
  %4178 = load ptr, ptr %76, align 8, !tbaa !9
  %4179 = getelementptr inbounds %struct.s2n_connection, ptr %4178, i32 0, i32 23
  store i8 33, ptr %4179, align 4, !tbaa !15
  %4180 = load ptr, ptr %76, align 8, !tbaa !9
  %4181 = getelementptr inbounds %struct.s2n_connection, ptr %4180, i32 0, i32 22
  store i8 33, ptr %4181, align 1, !tbaa !42
  %4182 = load ptr, ptr %76, align 8, !tbaa !9
  %4183 = getelementptr inbounds %struct.s2n_connection, ptr %4182, i32 0, i32 21
  store i8 33, ptr %4183, align 2, !tbaa !43
  br label %4184

4184:                                             ; preds = %4177
  %4185 = load i32, ptr @test_count, align 4, !tbaa !5
  %4186 = add nsw i32 %4185, 1
  store i32 %4186, ptr @test_count, align 4, !tbaa !5
  %4187 = load ptr, ptr %76, align 8, !tbaa !9
  %4188 = call i32 @s2n_connection_set_io_pair(ptr noundef %4187, ptr noundef %15)
  %4189 = icmp eq i32 %4188, -1
  br i1 %4189, label %4190, label %4243

4190:                                             ; preds = %4184
  br label %4191

4191:                                             ; preds = %4190
  br label %4192

4192:                                             ; preds = %4191
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %4193 = call ptr @__errno_location() #11
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  store i32 %4194, ptr %92, align 4, !tbaa !5
  %4195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4196 = call i32 @s2n_print_stacktrace(ptr noundef %4195)
  %4197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4198 = trunc i8 %4197 to i1
  br i1 %4198, label %4199, label %4221

4199:                                             ; preds = %4192
  %4200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4201 = call i32 @fileno(ptr noundef %4200) #10
  %4202 = call i32 @isatty(i32 noundef %4201) #10
  %4203 = icmp ne i32 %4202, 0
  br i1 %4203, label %4204, label %4221

4204:                                             ; preds = %4199
  %4205 = load i32, ptr %92, align 4, !tbaa !5
  %4206 = call ptr @__errno_location() #11
  store i32 %4205, ptr %4206, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = load i32, ptr @test_count, align 4, !tbaa !5
  %4209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror(i32 noundef %4210, ptr noundef @.str.4)
  %4212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @s2n_strerror_debug(i32 noundef %4213, ptr noundef @.str.4)
  %4215 = call ptr @__errno_location() #11
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call ptr @strerror(i32 noundef %4216) #10
  %4218 = call ptr @__errno_location() #11
  %4219 = load i32, ptr %4218, align 4, !tbaa !5
  %4220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4207, ptr noundef @.str.2, i32 noundef %4208, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 358, ptr noundef %4211, ptr noundef %4214, ptr noundef %4217, i32 noundef %4219) #10
  br label %4238

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

4238:                                             ; preds = %4221, %4204
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

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

4241:                                             ; No predecessors!
  br label %4242

4242:                                             ; preds = %4241
  br label %4243

4243:                                             ; preds = %4242, %4184
  br label %4244

4244:                                             ; preds = %4243
  br label %4245

4245:                                             ; preds = %4244
  br label %4246

4246:                                             ; preds = %4245
  %4247 = load i32, ptr @test_count, align 4, !tbaa !5
  %4248 = add nsw i32 %4247, 1
  store i32 %4248, ptr @test_count, align 4, !tbaa !5
  %4249 = call ptr @s2n_config_new()
  store ptr %4249, ptr %77, align 8, !tbaa !9
  %4250 = icmp eq ptr %4249, null
  br i1 %4250, label %4251, label %4304

4251:                                             ; preds = %4246
  br label %4252

4252:                                             ; preds = %4251
  br label %4253

4253:                                             ; preds = %4252
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #10
  %4254 = call ptr @__errno_location() #11
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  store i32 %4255, ptr %93, align 4, !tbaa !5
  %4256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4257 = call i32 @s2n_print_stacktrace(ptr noundef %4256)
  %4258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4259 = trunc i8 %4258 to i1
  br i1 %4259, label %4260, label %4282

4260:                                             ; preds = %4253
  %4261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4262 = call i32 @fileno(ptr noundef %4261) #10
  %4263 = call i32 @isatty(i32 noundef %4262) #10
  %4264 = icmp ne i32 %4263, 0
  br i1 %4264, label %4265, label %4282

4265:                                             ; preds = %4260
  %4266 = load i32, ptr %93, align 4, !tbaa !5
  %4267 = call ptr @__errno_location() #11
  store i32 %4266, ptr %4267, align 4, !tbaa !5
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = load i32, ptr @test_count, align 4, !tbaa !5
  %4270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4271 = load i32, ptr %4270, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror(i32 noundef %4271, ptr noundef @.str.4)
  %4273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4274 = load i32, ptr %4273, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef @.str.4)
  %4276 = call ptr @__errno_location() #11
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call ptr @strerror(i32 noundef %4277) #10
  %4279 = call ptr @__errno_location() #11
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4268, ptr noundef @.str.2, i32 noundef %4269, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 360, ptr noundef %4272, ptr noundef %4275, ptr noundef %4278, i32 noundef %4280) #10
  br label %4299

4282:                                             ; preds = %4260, %4253
  %4283 = load i32, ptr %93, align 4, !tbaa !5
  %4284 = call ptr @__errno_location() #11
  store i32 %4283, ptr %4284, align 4, !tbaa !5
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = load i32, ptr @test_count, align 4, !tbaa !5
  %4287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror(i32 noundef %4288, ptr noundef @.str.4)
  %4290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4291 = load i32, ptr %4290, align 4, !tbaa !5
  %4292 = call ptr @s2n_strerror_debug(i32 noundef %4291, ptr noundef @.str.4)
  %4293 = call ptr @__errno_location() #11
  %4294 = load i32, ptr %4293, align 4, !tbaa !5
  %4295 = call ptr @strerror(i32 noundef %4294) #10
  %4296 = call ptr @__errno_location() #11
  %4297 = load i32, ptr %4296, align 4, !tbaa !5
  %4298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4285, ptr noundef @.str.5, i32 noundef %4286, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 360, ptr noundef %4289, ptr noundef %4292, ptr noundef %4295, i32 noundef %4297) #10
  br label %4299

4299:                                             ; preds = %4282, %4265
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

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

4302:                                             ; No predecessors!
  br label %4303

4303:                                             ; preds = %4302
  br label %4304

4304:                                             ; preds = %4303, %4246
  br label %4305

4305:                                             ; preds = %4304
  br label %4306

4306:                                             ; preds = %4305
  br label %4307

4307:                                             ; preds = %4306
  %4308 = load i32, ptr @test_count, align 4, !tbaa !5
  %4309 = add nsw i32 %4308, 1
  store i32 %4309, ptr @test_count, align 4, !tbaa !5
  %4310 = load ptr, ptr %77, align 8, !tbaa !9
  %4311 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %4310, ptr noundef @.str.50)
  %4312 = icmp eq i32 %4311, -1
  br i1 %4312, label %4313, label %4366

4313:                                             ; preds = %4307
  br label %4314

4314:                                             ; preds = %4313
  br label %4315

4315:                                             ; preds = %4314
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #10
  %4316 = call ptr @__errno_location() #11
  %4317 = load i32, ptr %4316, align 4, !tbaa !5
  store i32 %4317, ptr %94, align 4, !tbaa !5
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @s2n_print_stacktrace(ptr noundef %4318)
  %4320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4321 = trunc i8 %4320 to i1
  br i1 %4321, label %4322, label %4344

4322:                                             ; preds = %4315
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = call i32 @fileno(ptr noundef %4323) #10
  %4325 = call i32 @isatty(i32 noundef %4324) #10
  %4326 = icmp ne i32 %4325, 0
  br i1 %4326, label %4327, label %4344

4327:                                             ; preds = %4322
  %4328 = load i32, ptr %94, align 4, !tbaa !5
  %4329 = call ptr @__errno_location() #11
  store i32 %4328, ptr %4329, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = load i32, ptr @test_count, align 4, !tbaa !5
  %4332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror(i32 noundef %4333, ptr noundef @.str.4)
  %4335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @s2n_strerror_debug(i32 noundef %4336, ptr noundef @.str.4)
  %4338 = call ptr @__errno_location() #11
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call ptr @strerror(i32 noundef %4339) #10
  %4341 = call ptr @__errno_location() #11
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4330, ptr noundef @.str.2, i32 noundef %4331, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 362, ptr noundef %4334, ptr noundef %4337, ptr noundef %4340, i32 noundef %4342) #10
  br label %4361

4344:                                             ; preds = %4322, %4315
  %4345 = load i32, ptr %94, align 4, !tbaa !5
  %4346 = call ptr @__errno_location() #11
  store i32 %4345, ptr %4346, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @s2n_strerror_debug(i32 noundef %4353, ptr noundef @.str.4)
  %4355 = call ptr @__errno_location() #11
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call ptr @strerror(i32 noundef %4356) #10
  %4358 = call ptr @__errno_location() #11
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4347, ptr noundef @.str.5, i32 noundef %4348, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 362, ptr noundef %4351, ptr noundef %4354, ptr noundef %4357, i32 noundef %4359) #10
  br label %4361

4361:                                             ; preds = %4344, %4327
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

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

4364:                                             ; No predecessors!
  br label %4365

4365:                                             ; preds = %4364
  br label %4366

4366:                                             ; preds = %4365, %4307
  br label %4367

4367:                                             ; preds = %4366
  br label %4368

4368:                                             ; preds = %4367
  br label %4369

4369:                                             ; preds = %4368
  %4370 = load i32, ptr @test_count, align 4, !tbaa !5
  %4371 = add nsw i32 %4370, 1
  store i32 %4371, ptr @test_count, align 4, !tbaa !5
  %4372 = load ptr, ptr %6, align 8, !tbaa !9
  %4373 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.23, ptr noundef %4372, ptr noundef %82, i64 noundef 12000)
  %4374 = icmp eq i32 %4373, -1
  br i1 %4374, label %4375, label %4428

4375:                                             ; preds = %4369
  br label %4376

4376:                                             ; preds = %4375
  br label %4377

4377:                                             ; preds = %4376
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %4378 = call ptr @__errno_location() #11
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  store i32 %4379, ptr %95, align 4, !tbaa !5
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @s2n_print_stacktrace(ptr noundef %4380)
  %4382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4383 = trunc i8 %4382 to i1
  br i1 %4383, label %4384, label %4406

4384:                                             ; preds = %4377
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = call i32 @fileno(ptr noundef %4385) #10
  %4387 = call i32 @isatty(i32 noundef %4386) #10
  %4388 = icmp ne i32 %4387, 0
  br i1 %4388, label %4389, label %4406

4389:                                             ; preds = %4384
  %4390 = load i32, ptr %95, align 4, !tbaa !5
  %4391 = call ptr @__errno_location() #11
  store i32 %4390, ptr %4391, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = load i32, ptr @test_count, align 4, !tbaa !5
  %4394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4395 = load i32, ptr %4394, align 4, !tbaa !5
  %4396 = call ptr @s2n_strerror(i32 noundef %4395, ptr noundef @.str.4)
  %4397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4398 = load i32, ptr %4397, align 4, !tbaa !5
  %4399 = call ptr @s2n_strerror_debug(i32 noundef %4398, ptr noundef @.str.4)
  %4400 = call ptr @__errno_location() #11
  %4401 = load i32, ptr %4400, align 4, !tbaa !5
  %4402 = call ptr @strerror(i32 noundef %4401) #10
  %4403 = call ptr @__errno_location() #11
  %4404 = load i32, ptr %4403, align 4, !tbaa !5
  %4405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4392, ptr noundef @.str.2, i32 noundef %4393, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 363, ptr noundef %4396, ptr noundef %4399, ptr noundef %4402, i32 noundef %4404) #10
  br label %4423

4406:                                             ; preds = %4384, %4377
  %4407 = load i32, ptr %95, align 4, !tbaa !5
  %4408 = call ptr @__errno_location() #11
  store i32 %4407, ptr %4408, align 4, !tbaa !5
  %4409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4410 = load i32, ptr @test_count, align 4, !tbaa !5
  %4411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  %4413 = call ptr @s2n_strerror(i32 noundef %4412, ptr noundef @.str.4)
  %4414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4415 = load i32, ptr %4414, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef @.str.4)
  %4417 = call ptr @__errno_location() #11
  %4418 = load i32, ptr %4417, align 4, !tbaa !5
  %4419 = call ptr @strerror(i32 noundef %4418) #10
  %4420 = call ptr @__errno_location() #11
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  %4422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4409, ptr noundef @.str.5, i32 noundef %4410, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 363, ptr noundef %4413, ptr noundef %4416, ptr noundef %4419, i32 noundef %4421) #10
  br label %4423

4423:                                             ; preds = %4406, %4389
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %4424

4424:                                             ; preds = %4423
  br label %4425

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

4426:                                             ; No predecessors!
  br label %4427

4427:                                             ; preds = %4426
  br label %4428

4428:                                             ; preds = %4427, %4369
  br label %4429

4429:                                             ; preds = %4428
  br label %4430

4430:                                             ; preds = %4429
  br label %4431

4431:                                             ; preds = %4430
  %4432 = load i32, ptr @test_count, align 4, !tbaa !5
  %4433 = add nsw i32 %4432, 1
  store i32 %4433, ptr @test_count, align 4, !tbaa !5
  %4434 = load ptr, ptr %7, align 8, !tbaa !9
  %4435 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.25, ptr noundef %4434, ptr noundef %83, i64 noundef 12000)
  %4436 = icmp eq i32 %4435, -1
  br i1 %4436, label %4437, label %4490

4437:                                             ; preds = %4431
  br label %4438

4438:                                             ; preds = %4437
  br label %4439

4439:                                             ; preds = %4438
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %4440 = call ptr @__errno_location() #11
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  store i32 %4441, ptr %96, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = call i32 @s2n_print_stacktrace(ptr noundef %4442)
  %4444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4445 = trunc i8 %4444 to i1
  br i1 %4445, label %4446, label %4468

4446:                                             ; preds = %4439
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @fileno(ptr noundef %4447) #10
  %4449 = call i32 @isatty(i32 noundef %4448) #10
  %4450 = icmp ne i32 %4449, 0
  br i1 %4450, label %4451, label %4468

4451:                                             ; preds = %4446
  %4452 = load i32, ptr %96, align 4, !tbaa !5
  %4453 = call ptr @__errno_location() #11
  store i32 %4452, ptr %4453, align 4, !tbaa !5
  %4454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4455 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4457, ptr noundef @.str.4)
  %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_debug(i32 noundef %4460, ptr noundef @.str.4)
  %4462 = call ptr @__errno_location() #11
  %4463 = load i32, ptr %4462, align 4, !tbaa !5
  %4464 = call ptr @strerror(i32 noundef %4463) #10
  %4465 = call ptr @__errno_location() #11
  %4466 = load i32, ptr %4465, align 4, !tbaa !5
  %4467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4454, ptr noundef @.str.2, i32 noundef %4455, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 364, ptr noundef %4458, ptr noundef %4461, ptr noundef %4464, i32 noundef %4466) #10
  br label %4485

4468:                                             ; preds = %4446, %4439
  %4469 = load i32, ptr %96, align 4, !tbaa !5
  %4470 = call ptr @__errno_location() #11
  store i32 %4469, ptr %4470, align 4, !tbaa !5
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = load i32, ptr @test_count, align 4, !tbaa !5
  %4473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4474 = load i32, ptr %4473, align 4, !tbaa !5
  %4475 = call ptr @s2n_strerror(i32 noundef %4474, ptr noundef @.str.4)
  %4476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4477 = load i32, ptr %4476, align 4, !tbaa !5
  %4478 = call ptr @s2n_strerror_debug(i32 noundef %4477, ptr noundef @.str.4)
  %4479 = call ptr @__errno_location() #11
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call ptr @strerror(i32 noundef %4480) #10
  %4482 = call ptr @__errno_location() #11
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4471, ptr noundef @.str.5, i32 noundef %4472, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 364, ptr noundef %4475, ptr noundef %4478, ptr noundef %4481, i32 noundef %4483) #10
  br label %4485

4485:                                             ; preds = %4468, %4451
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %4486

4486:                                             ; preds = %4485
  br label %4487

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

4488:                                             ; No predecessors!
  br label %4489

4489:                                             ; preds = %4488
  br label %4490

4490:                                             ; preds = %4489, %4431
  br label %4491

4491:                                             ; preds = %4490
  br label %4492

4492:                                             ; preds = %4491
  br label %4493

4493:                                             ; preds = %4492
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = add nsw i32 %4494, 1
  store i32 %4495, ptr @test_count, align 4, !tbaa !5
  %4496 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %4496, ptr %81, align 8, !tbaa !9
  %4497 = icmp eq ptr %4496, null
  br i1 %4497, label %4498, label %4551

4498:                                             ; preds = %4493
  br label %4499

4499:                                             ; preds = %4498
  br label %4500

4500:                                             ; preds = %4499
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  %4501 = call ptr @__errno_location() #11
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  store i32 %4502, ptr %97, align 4, !tbaa !5
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = call i32 @s2n_print_stacktrace(ptr noundef %4503)
  %4505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4506 = trunc i8 %4505 to i1
  br i1 %4506, label %4507, label %4529

4507:                                             ; preds = %4500
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = call i32 @fileno(ptr noundef %4508) #10
  %4510 = call i32 @isatty(i32 noundef %4509) #10
  %4511 = icmp ne i32 %4510, 0
  br i1 %4511, label %4512, label %4529

4512:                                             ; preds = %4507
  %4513 = load i32, ptr %97, align 4, !tbaa !5
  %4514 = call ptr @__errno_location() #11
  store i32 %4513, ptr %4514, 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 @.str.4)
  %4520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4521 = load i32, ptr %4520, align 4, !tbaa !5
  %4522 = call ptr @s2n_strerror_debug(i32 noundef %4521, ptr noundef @.str.4)
  %4523 = call ptr @__errno_location() #11
  %4524 = load i32, ptr %4523, align 4, !tbaa !5
  %4525 = call ptr @strerror(i32 noundef %4524) #10
  %4526 = call ptr @__errno_location() #11
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4515, ptr noundef @.str.2, i32 noundef %4516, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 365, ptr noundef %4519, ptr noundef %4522, ptr noundef %4525, i32 noundef %4527) #10
  br label %4546

4529:                                             ; preds = %4507, %4500
  %4530 = load i32, ptr %97, align 4, !tbaa !5
  %4531 = call ptr @__errno_location() #11
  store i32 %4530, ptr %4531, align 4, !tbaa !5
  %4532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4533 = load i32, ptr @test_count, align 4, !tbaa !5
  %4534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4535 = load i32, ptr %4534, align 4, !tbaa !5
  %4536 = call ptr @s2n_strerror(i32 noundef %4535, ptr noundef @.str.4)
  %4537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4538 = load i32, ptr %4537, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror_debug(i32 noundef %4538, ptr noundef @.str.4)
  %4540 = call ptr @__errno_location() #11
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  %4542 = call ptr @strerror(i32 noundef %4541) #10
  %4543 = call ptr @__errno_location() #11
  %4544 = load i32, ptr %4543, align 4, !tbaa !5
  %4545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4532, ptr noundef @.str.5, i32 noundef %4533, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 365, ptr noundef %4536, ptr noundef %4539, ptr noundef %4542, i32 noundef %4544) #10
  br label %4546

4546:                                             ; preds = %4529, %4512
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4547

4547:                                             ; preds = %4546
  br label %4548

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

4549:                                             ; No predecessors!
  br label %4550

4550:                                             ; preds = %4549
  br label %4551

4551:                                             ; preds = %4550, %4493
  br label %4552

4552:                                             ; preds = %4551
  br label %4553

4553:                                             ; preds = %4552
  br label %4554

4554:                                             ; preds = %4553
  %4555 = load i32, ptr @test_count, align 4, !tbaa !5
  %4556 = add nsw i32 %4555, 1
  store i32 %4556, ptr @test_count, align 4, !tbaa !5
  %4557 = load ptr, ptr %81, align 8, !tbaa !9
  %4558 = load ptr, ptr %6, align 8, !tbaa !9
  %4559 = load i32, ptr %82, align 4, !tbaa !5
  %4560 = load ptr, ptr %7, align 8, !tbaa !9
  %4561 = load i32, ptr %83, align 4, !tbaa !5
  %4562 = call i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef %4557, ptr noundef %4558, i32 noundef %4559, ptr noundef %4560, i32 noundef %4561)
  %4563 = icmp eq i32 %4562, -1
  br i1 %4563, label %4564, label %4617

4564:                                             ; preds = %4554
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

4566:                                             ; preds = %4565
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %4567 = call ptr @__errno_location() #11
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  store i32 %4568, ptr %98, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = call i32 @s2n_print_stacktrace(ptr noundef %4569)
  %4571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4572 = trunc i8 %4571 to i1
  br i1 %4572, label %4573, label %4595

4573:                                             ; preds = %4566
  %4574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4575 = call i32 @fileno(ptr noundef %4574) #10
  %4576 = call i32 @isatty(i32 noundef %4575) #10
  %4577 = icmp ne i32 %4576, 0
  br i1 %4577, label %4578, label %4595

4578:                                             ; preds = %4573
  %4579 = load i32, ptr %98, align 4, !tbaa !5
  %4580 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %4589 = call ptr @__errno_location() #11
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  %4591 = call ptr @strerror(i32 noundef %4590) #10
  %4592 = call ptr @__errno_location() #11
  %4593 = load i32, ptr %4592, align 4, !tbaa !5
  %4594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4581, ptr noundef @.str.2, i32 noundef %4582, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 366, ptr noundef %4585, ptr noundef %4588, ptr noundef %4591, i32 noundef %4593) #10
  br label %4612

4595:                                             ; preds = %4573, %4566
  %4596 = load i32, ptr %98, align 4, !tbaa !5
  %4597 = call ptr @__errno_location() #11
  store i32 %4596, ptr %4597, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = load i32, ptr @test_count, align 4, !tbaa !5
  %4600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4601 = load i32, ptr %4600, align 4, !tbaa !5
  %4602 = call ptr @s2n_strerror(i32 noundef %4601, ptr noundef @.str.4)
  %4603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @s2n_strerror_debug(i32 noundef %4604, ptr noundef @.str.4)
  %4606 = call ptr @__errno_location() #11
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @strerror(i32 noundef %4607) #10
  %4609 = call ptr @__errno_location() #11
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4598, ptr noundef @.str.5, i32 noundef %4599, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 366, ptr noundef %4602, ptr noundef %4605, ptr noundef %4608, i32 noundef %4610) #10
  br label %4612

4612:                                             ; preds = %4595, %4578
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %4613

4613:                                             ; preds = %4612
  br label %4614

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

4615:                                             ; No predecessors!
  br label %4616

4616:                                             ; preds = %4615
  br label %4617

4617:                                             ; preds = %4616, %4554
  br label %4618

4618:                                             ; preds = %4617
  br label %4619

4619:                                             ; preds = %4618
  br label %4620

4620:                                             ; preds = %4619
  %4621 = load i32, ptr @test_count, align 4, !tbaa !5
  %4622 = add nsw i32 %4621, 1
  store i32 %4622, ptr @test_count, align 4, !tbaa !5
  %4623 = load ptr, ptr %77, align 8, !tbaa !9
  %4624 = load ptr, ptr %81, align 8, !tbaa !9
  %4625 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %4623, ptr noundef %4624)
  %4626 = icmp eq i32 %4625, -1
  br i1 %4626, label %4627, label %4680

4627:                                             ; preds = %4620
  br label %4628

4628:                                             ; preds = %4627
  br label %4629

4629:                                             ; preds = %4628
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %4630 = call ptr @__errno_location() #11
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  store i32 %4631, ptr %99, align 4, !tbaa !5
  %4632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4633 = call i32 @s2n_print_stacktrace(ptr noundef %4632)
  %4634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4635 = trunc i8 %4634 to i1
  br i1 %4635, label %4636, label %4658

4636:                                             ; preds = %4629
  %4637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4638 = call i32 @fileno(ptr noundef %4637) #10
  %4639 = call i32 @isatty(i32 noundef %4638) #10
  %4640 = icmp ne i32 %4639, 0
  br i1 %4640, label %4641, label %4658

4641:                                             ; preds = %4636
  %4642 = load i32, ptr %99, align 4, !tbaa !5
  %4643 = call ptr @__errno_location() #11
  store i32 %4642, ptr %4643, align 4, !tbaa !5
  %4644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4645 = load i32, ptr @test_count, align 4, !tbaa !5
  %4646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4647 = load i32, ptr %4646, align 4, !tbaa !5
  %4648 = call ptr @s2n_strerror(i32 noundef %4647, ptr noundef @.str.4)
  %4649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4650 = load i32, ptr %4649, align 4, !tbaa !5
  %4651 = call ptr @s2n_strerror_debug(i32 noundef %4650, ptr noundef @.str.4)
  %4652 = call ptr @__errno_location() #11
  %4653 = load i32, ptr %4652, align 4, !tbaa !5
  %4654 = call ptr @strerror(i32 noundef %4653) #10
  %4655 = call ptr @__errno_location() #11
  %4656 = load i32, ptr %4655, align 4, !tbaa !5
  %4657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4644, ptr noundef @.str.2, i32 noundef %4645, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 367, ptr noundef %4648, ptr noundef %4651, ptr noundef %4654, i32 noundef %4656) #10
  br label %4675

4658:                                             ; preds = %4636, %4629
  %4659 = load i32, ptr %99, align 4, !tbaa !5
  %4660 = call ptr @__errno_location() #11
  store i32 %4659, ptr %4660, align 4, !tbaa !5
  %4661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4662 = load i32, ptr @test_count, align 4, !tbaa !5
  %4663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4664 = load i32, ptr %4663, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror(i32 noundef %4664, ptr noundef @.str.4)
  %4666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  %4668 = call ptr @s2n_strerror_debug(i32 noundef %4667, ptr noundef @.str.4)
  %4669 = call ptr @__errno_location() #11
  %4670 = load i32, ptr %4669, align 4, !tbaa !5
  %4671 = call ptr @strerror(i32 noundef %4670) #10
  %4672 = call ptr @__errno_location() #11
  %4673 = load i32, ptr %4672, align 4, !tbaa !5
  %4674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4661, ptr noundef @.str.5, i32 noundef %4662, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 367, ptr noundef %4665, ptr noundef %4668, ptr noundef %4671, i32 noundef %4673) #10
  br label %4675

4675:                                             ; preds = %4658, %4641
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4676

4676:                                             ; preds = %4675
  br label %4677

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

4678:                                             ; No predecessors!
  br label %4679

4679:                                             ; preds = %4678
  br label %4680

4680:                                             ; preds = %4679, %4620
  br label %4681

4681:                                             ; preds = %4680
  br label %4682

4682:                                             ; preds = %4681
  br label %4683

4683:                                             ; preds = %4682
  %4684 = load i32, ptr @test_count, align 4, !tbaa !5
  %4685 = add nsw i32 %4684, 1
  store i32 %4685, ptr @test_count, align 4, !tbaa !5
  %4686 = load ptr, ptr %76, align 8, !tbaa !9
  %4687 = load ptr, ptr %77, align 8, !tbaa !9
  %4688 = call i32 @s2n_connection_set_config(ptr noundef %4686, ptr noundef %4687)
  %4689 = icmp eq i32 %4688, -1
  br i1 %4689, label %4690, label %4743

4690:                                             ; preds = %4683
  br label %4691

4691:                                             ; preds = %4690
  br label %4692

4692:                                             ; preds = %4691
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %4693 = call ptr @__errno_location() #11
  %4694 = load i32, ptr %4693, align 4, !tbaa !5
  store i32 %4694, ptr %100, align 4, !tbaa !5
  %4695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4696 = call i32 @s2n_print_stacktrace(ptr noundef %4695)
  %4697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4698 = trunc i8 %4697 to i1
  br i1 %4698, label %4699, label %4721

4699:                                             ; preds = %4692
  %4700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4701 = call i32 @fileno(ptr noundef %4700) #10
  %4702 = call i32 @isatty(i32 noundef %4701) #10
  %4703 = icmp ne i32 %4702, 0
  br i1 %4703, label %4704, label %4721

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

4721:                                             ; preds = %4699, %4692
  %4722 = load i32, ptr %100, align 4, !tbaa !5
  %4723 = call ptr @__errno_location() #11
  store i32 %4722, ptr %4723, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4727 = load i32, ptr %4726, align 4, !tbaa !5
  %4728 = call ptr @s2n_strerror(i32 noundef %4727, ptr noundef @.str.4)
  %4729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4730 = load i32, ptr %4729, align 4, !tbaa !5
  %4731 = call ptr @s2n_strerror_debug(i32 noundef %4730, ptr noundef @.str.4)
  %4732 = call ptr @__errno_location() #11
  %4733 = load i32, ptr %4732, align 4, !tbaa !5
  %4734 = call ptr @strerror(i32 noundef %4733) #10
  %4735 = call ptr @__errno_location() #11
  %4736 = load i32, ptr %4735, align 4, !tbaa !5
  %4737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4724, ptr noundef @.str.5, i32 noundef %4725, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 368, ptr noundef %4728, ptr noundef %4731, ptr noundef %4734, i32 noundef %4736) #10
  br label %4738

4738:                                             ; preds = %4721, %4704
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %4739

4739:                                             ; preds = %4738
  br label %4740

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

4741:                                             ; No predecessors!
  br label %4742

4742:                                             ; preds = %4741
  br label %4743

4743:                                             ; preds = %4742, %4683
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

4745:                                             ; preds = %4744
  br label %4746

4746:                                             ; preds = %4745
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %4748 = add nsw i32 %4747, 1
  store i32 %4748, ptr @test_count, align 4, !tbaa !5
  %4749 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %4750 = load i32, ptr %4749, align 4, !tbaa !45
  %4751 = getelementptr inbounds [5 x i8], ptr %90, i64 0, i64 0
  %4752 = call i64 @write(i32 noundef %4750, ptr noundef %4751, i64 noundef 5)
  %4753 = icmp eq i64 %4752, 5
  br i1 %4753, label %4807, label %4754

4754:                                             ; preds = %4746
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

4756:                                             ; preds = %4755
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %4757 = call ptr @__errno_location() #11
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  store i32 %4758, ptr %101, align 4, !tbaa !5
  %4759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4760 = call i32 @s2n_print_stacktrace(ptr noundef %4759)
  %4761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4762 = trunc i8 %4761 to i1
  br i1 %4762, label %4763, label %4785

4763:                                             ; preds = %4756
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @fileno(ptr noundef %4764) #10
  %4766 = call i32 @isatty(i32 noundef %4765) #10
  %4767 = icmp ne i32 %4766, 0
  br i1 %4767, label %4768, label %4785

4768:                                             ; preds = %4763
  %4769 = load i32, ptr %101, align 4, !tbaa !5
  %4770 = call ptr @__errno_location() #11
  store i32 %4769, ptr %4770, align 4, !tbaa !5
  %4771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4772 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4774, ptr noundef @.str.4)
  %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_debug(i32 noundef %4777, ptr noundef @.str.4)
  %4779 = call ptr @__errno_location() #11
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call ptr @strerror(i32 noundef %4780) #10
  %4782 = call ptr @__errno_location() #11
  %4783 = load i32, ptr %4782, align 4, !tbaa !5
  %4784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4771, ptr noundef @.str.2, i32 noundef %4772, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 371, ptr noundef %4775, ptr noundef %4778, ptr noundef %4781, i32 noundef %4783) #10
  br label %4802

4785:                                             ; preds = %4763, %4756
  %4786 = load i32, ptr %101, align 4, !tbaa !5
  %4787 = call ptr @__errno_location() #11
  store i32 %4786, ptr %4787, align 4, !tbaa !5
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = load i32, ptr @test_count, align 4, !tbaa !5
  %4790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = call ptr @s2n_strerror(i32 noundef %4791, ptr noundef @.str.4)
  %4793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror_debug(i32 noundef %4794, ptr noundef @.str.4)
  %4796 = call ptr @__errno_location() #11
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @strerror(i32 noundef %4797) #10
  %4799 = call ptr @__errno_location() #11
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4788, ptr noundef @.str.5, i32 noundef %4789, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 371, ptr noundef %4792, ptr noundef %4795, ptr noundef %4798, i32 noundef %4800) #10
  br label %4802

4802:                                             ; preds = %4785, %4768
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %4803

4803:                                             ; preds = %4802
  br label %4804

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

4805:                                             ; No predecessors!
  br label %4806

4806:                                             ; preds = %4805
  br label %4807

4807:                                             ; preds = %4806, %4746
  br label %4808

4808:                                             ; preds = %4807
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = add nsw i32 %4811, 1
  store i32 %4812, ptr @test_count, align 4, !tbaa !5
  %4813 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %4814 = load i32, ptr %4813, align 4, !tbaa !45
  %4815 = getelementptr inbounds [4 x i8], ptr %88, i64 0, i64 0
  %4816 = call i64 @write(i32 noundef %4814, ptr noundef %4815, i64 noundef 4)
  %4817 = icmp eq i64 %4816, 4
  br i1 %4817, label %4871, label %4818

4818:                                             ; preds = %4810
  br label %4819

4819:                                             ; preds = %4818
  br label %4820

4820:                                             ; preds = %4819
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %4821 = call ptr @__errno_location() #11
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  store i32 %4822, ptr %102, align 4, !tbaa !5
  %4823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4824 = call i32 @s2n_print_stacktrace(ptr noundef %4823)
  %4825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4826 = trunc i8 %4825 to i1
  br i1 %4826, label %4827, label %4849

4827:                                             ; preds = %4820
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = call i32 @fileno(ptr noundef %4828) #10
  %4830 = call i32 @isatty(i32 noundef %4829) #10
  %4831 = icmp ne i32 %4830, 0
  br i1 %4831, label %4832, label %4849

4832:                                             ; preds = %4827
  %4833 = load i32, ptr %102, align 4, !tbaa !5
  %4834 = call ptr @__errno_location() #11
  store i32 %4833, ptr %4834, align 4, !tbaa !5
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = load i32, ptr @test_count, align 4, !tbaa !5
  %4837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4838 = load i32, ptr %4837, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror(i32 noundef %4838, ptr noundef @.str.4)
  %4840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  %4842 = call ptr @s2n_strerror_debug(i32 noundef %4841, ptr noundef @.str.4)
  %4843 = call ptr @__errno_location() #11
  %4844 = load i32, ptr %4843, align 4, !tbaa !5
  %4845 = call ptr @strerror(i32 noundef %4844) #10
  %4846 = call ptr @__errno_location() #11
  %4847 = load i32, ptr %4846, align 4, !tbaa !5
  %4848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4835, ptr noundef @.str.2, i32 noundef %4836, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 372, ptr noundef %4839, ptr noundef %4842, ptr noundef %4845, i32 noundef %4847) #10
  br label %4866

4849:                                             ; preds = %4827, %4820
  %4850 = load i32, ptr %102, align 4, !tbaa !5
  %4851 = call ptr @__errno_location() #11
  store i32 %4850, ptr %4851, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = load i32, ptr @test_count, align 4, !tbaa !5
  %4854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror(i32 noundef %4855, ptr noundef @.str.4)
  %4857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror_debug(i32 noundef %4858, ptr noundef @.str.4)
  %4860 = call ptr @__errno_location() #11
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call ptr @strerror(i32 noundef %4861) #10
  %4863 = call ptr @__errno_location() #11
  %4864 = load i32, ptr %4863, align 4, !tbaa !5
  %4865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4852, ptr noundef @.str.5, i32 noundef %4853, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 372, ptr noundef %4856, ptr noundef %4859, ptr noundef %4862, i32 noundef %4864) #10
  br label %4866

4866:                                             ; preds = %4849, %4832
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %4867

4867:                                             ; preds = %4866
  br label %4868

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

4869:                                             ; No predecessors!
  br label %4870

4870:                                             ; preds = %4869
  br label %4871

4871:                                             ; preds = %4870, %4810
  br label %4872

4872:                                             ; preds = %4871
  br label %4873

4873:                                             ; preds = %4872
  br label %4874

4874:                                             ; preds = %4873
  %4875 = load i32, ptr @test_count, align 4, !tbaa !5
  %4876 = add nsw i32 %4875, 1
  store i32 %4876, ptr @test_count, align 4, !tbaa !5
  %4877 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %4878 = load i32, ptr %4877, align 4, !tbaa !45
  %4879 = getelementptr inbounds [75 x i8], ptr %86, i64 0, i64 0
  %4880 = call i64 @write(i32 noundef %4878, ptr noundef %4879, i64 noundef 75)
  %4881 = icmp eq i64 %4880, 75
  br i1 %4881, label %4935, label %4882

4882:                                             ; preds = %4874
  br label %4883

4883:                                             ; preds = %4882
  br label %4884

4884:                                             ; preds = %4883
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %4885 = call ptr @__errno_location() #11
  %4886 = load i32, ptr %4885, align 4, !tbaa !5
  store i32 %4886, ptr %103, align 4, !tbaa !5
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = call i32 @s2n_print_stacktrace(ptr noundef %4887)
  %4889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4890 = trunc i8 %4889 to i1
  br i1 %4890, label %4891, label %4913

4891:                                             ; preds = %4884
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = call i32 @fileno(ptr noundef %4892) #10
  %4894 = call i32 @isatty(i32 noundef %4893) #10
  %4895 = icmp ne i32 %4894, 0
  br i1 %4895, label %4896, label %4913

4896:                                             ; preds = %4891
  %4897 = load i32, ptr %103, align 4, !tbaa !5
  %4898 = call ptr @__errno_location() #11
  store i32 %4897, ptr %4898, align 4, !tbaa !5
  %4899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4900 = load i32, ptr @test_count, align 4, !tbaa !5
  %4901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4902 = load i32, ptr %4901, align 4, !tbaa !5
  %4903 = call ptr @s2n_strerror(i32 noundef %4902, ptr noundef @.str.4)
  %4904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4905 = load i32, ptr %4904, align 4, !tbaa !5
  %4906 = call ptr @s2n_strerror_debug(i32 noundef %4905, ptr noundef @.str.4)
  %4907 = call ptr @__errno_location() #11
  %4908 = load i32, ptr %4907, align 4, !tbaa !5
  %4909 = call ptr @strerror(i32 noundef %4908) #10
  %4910 = call ptr @__errno_location() #11
  %4911 = load i32, ptr %4910, align 4, !tbaa !5
  %4912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4899, ptr noundef @.str.2, i32 noundef %4900, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 373, ptr noundef %4903, ptr noundef %4906, ptr noundef %4909, i32 noundef %4911) #10
  br label %4930

4913:                                             ; preds = %4891, %4884
  %4914 = load i32, ptr %103, align 4, !tbaa !5
  %4915 = call ptr @__errno_location() #11
  store i32 %4914, ptr %4915, align 4, !tbaa !5
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4917 = load i32, ptr @test_count, align 4, !tbaa !5
  %4918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4919 = load i32, ptr %4918, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror(i32 noundef %4919, ptr noundef @.str.4)
  %4921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4922 = load i32, ptr %4921, align 4, !tbaa !5
  %4923 = call ptr @s2n_strerror_debug(i32 noundef %4922, ptr noundef @.str.4)
  %4924 = call ptr @__errno_location() #11
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @strerror(i32 noundef %4925) #10
  %4927 = call ptr @__errno_location() #11
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4916, ptr noundef @.str.5, i32 noundef %4917, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 373, ptr noundef %4920, ptr noundef %4923, ptr noundef %4926, i32 noundef %4928) #10
  br label %4930

4930:                                             ; preds = %4913, %4896
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %4931

4931:                                             ; preds = %4930
  br label %4932

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

4933:                                             ; No predecessors!
  br label %4934

4934:                                             ; preds = %4933
  br label %4935

4935:                                             ; preds = %4934, %4874
  br label %4936

4936:                                             ; preds = %4935
  br label %4937

4937:                                             ; preds = %4936
  br label %4938

4938:                                             ; preds = %4937
  %4939 = load i32, ptr @test_count, align 4, !tbaa !5
  %4940 = add nsw i32 %4939, 1
  store i32 %4940, ptr @test_count, align 4, !tbaa !5
  %4941 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %4942 = load i32, ptr %4941, align 4, !tbaa !45
  %4943 = getelementptr inbounds [16 x i8], ptr %84, i64 0, i64 0
  %4944 = call i64 @write(i32 noundef %4942, ptr noundef %4943, i64 noundef 16)
  %4945 = icmp eq i64 %4944, 16
  br i1 %4945, label %4999, label %4946

4946:                                             ; preds = %4938
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

4948:                                             ; preds = %4947
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %4949 = call ptr @__errno_location() #11
  %4950 = load i32, ptr %4949, align 4, !tbaa !5
  store i32 %4950, ptr %104, align 4, !tbaa !5
  %4951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4952 = call i32 @s2n_print_stacktrace(ptr noundef %4951)
  %4953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4954 = trunc i8 %4953 to i1
  br i1 %4954, label %4955, label %4977

4955:                                             ; preds = %4948
  %4956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4957 = call i32 @fileno(ptr noundef %4956) #10
  %4958 = call i32 @isatty(i32 noundef %4957) #10
  %4959 = icmp ne i32 %4958, 0
  br i1 %4959, label %4960, label %4977

4960:                                             ; preds = %4955
  %4961 = load i32, ptr %104, align 4, !tbaa !5
  %4962 = call ptr @__errno_location() #11
  store i32 %4961, ptr %4962, align 4, !tbaa !5
  %4963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4964 = load i32, ptr @test_count, align 4, !tbaa !5
  %4965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4966 = load i32, ptr %4965, align 4, !tbaa !5
  %4967 = call ptr @s2n_strerror(i32 noundef %4966, ptr noundef @.str.4)
  %4968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4969 = load i32, ptr %4968, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef @.str.4)
  %4971 = call ptr @__errno_location() #11
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  %4973 = call ptr @strerror(i32 noundef %4972) #10
  %4974 = call ptr @__errno_location() #11
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4963, ptr noundef @.str.2, i32 noundef %4964, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 374, ptr noundef %4967, ptr noundef %4970, ptr noundef %4973, i32 noundef %4975) #10
  br label %4994

4977:                                             ; preds = %4955, %4948
  %4978 = load i32, ptr %104, align 4, !tbaa !5
  %4979 = call ptr @__errno_location() #11
  store i32 %4978, ptr %4979, align 4, !tbaa !5
  %4980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4981 = load i32, ptr @test_count, align 4, !tbaa !5
  %4982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4983 = load i32, ptr %4982, align 4, !tbaa !5
  %4984 = call ptr @s2n_strerror(i32 noundef %4983, ptr noundef @.str.4)
  %4985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4986 = load i32, ptr %4985, align 4, !tbaa !5
  %4987 = call ptr @s2n_strerror_debug(i32 noundef %4986, ptr noundef @.str.4)
  %4988 = call ptr @__errno_location() #11
  %4989 = load i32, ptr %4988, align 4, !tbaa !5
  %4990 = call ptr @strerror(i32 noundef %4989) #10
  %4991 = call ptr @__errno_location() #11
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  %4993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4980, ptr noundef @.str.5, i32 noundef %4981, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 374, ptr noundef %4984, ptr noundef %4987, ptr noundef %4990, i32 noundef %4992) #10
  br label %4994

4994:                                             ; preds = %4977, %4960
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %4995

4995:                                             ; preds = %4994
  br label %4996

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

4997:                                             ; No predecessors!
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

4999:                                             ; preds = %4998, %4938
  br label %5000

5000:                                             ; preds = %4999
  br label %5001

5001:                                             ; preds = %5000
  %5002 = load ptr, ptr %76, align 8, !tbaa !9
  %5003 = call i32 @s2n_negotiate(ptr noundef %5002, ptr noundef %78)
  br label %5004

5004:                                             ; preds = %5001
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = add nsw i32 %5005, 1
  store i32 %5006, ptr @test_count, align 4, !tbaa !5
  %5007 = load ptr, ptr %76, align 8, !tbaa !9
  %5008 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5007)
  %5009 = icmp ugt i32 %5008, 0
  br i1 %5009, label %5063, label %5010

5010:                                             ; preds = %5004
  br label %5011

5011:                                             ; preds = %5010
  br label %5012

5012:                                             ; preds = %5011
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %5013 = call ptr @__errno_location() #11
  %5014 = load i32, ptr %5013, align 4, !tbaa !5
  store i32 %5014, ptr %105, align 4, !tbaa !5
  %5015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5016 = call i32 @s2n_print_stacktrace(ptr noundef %5015)
  %5017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5018 = trunc i8 %5017 to i1
  br i1 %5018, label %5019, label %5041

5019:                                             ; preds = %5012
  %5020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5021 = call i32 @fileno(ptr noundef %5020) #10
  %5022 = call i32 @isatty(i32 noundef %5021) #10
  %5023 = icmp ne i32 %5022, 0
  br i1 %5023, label %5024, label %5041

5024:                                             ; preds = %5019
  %5025 = load i32, ptr %105, align 4, !tbaa !5
  %5026 = call ptr @__errno_location() #11
  store i32 %5025, ptr %5026, align 4, !tbaa !5
  %5027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5028 = load i32, ptr @test_count, align 4, !tbaa !5
  %5029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5030 = load i32, ptr %5029, align 4, !tbaa !5
  %5031 = call ptr @s2n_strerror(i32 noundef %5030, ptr noundef @.str.4)
  %5032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5033 = load i32, ptr %5032, align 4, !tbaa !5
  %5034 = call ptr @s2n_strerror_debug(i32 noundef %5033, ptr noundef @.str.4)
  %5035 = call ptr @__errno_location() #11
  %5036 = load i32, ptr %5035, align 4, !tbaa !5
  %5037 = call ptr @strerror(i32 noundef %5036) #10
  %5038 = call ptr @__errno_location() #11
  %5039 = load i32, ptr %5038, align 4, !tbaa !5
  %5040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5027, ptr noundef @.str.2, i32 noundef %5028, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 378, ptr noundef %5031, ptr noundef %5034, ptr noundef %5037, i32 noundef %5039) #10
  br label %5058

5041:                                             ; preds = %5019, %5012
  %5042 = load i32, ptr %105, align 4, !tbaa !5
  %5043 = call ptr @__errno_location() #11
  store i32 %5042, ptr %5043, align 4, !tbaa !5
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = load i32, ptr @test_count, align 4, !tbaa !5
  %5046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5047 = load i32, ptr %5046, align 4, !tbaa !5
  %5048 = call ptr @s2n_strerror(i32 noundef %5047, ptr noundef @.str.4)
  %5049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5050 = load i32, ptr %5049, align 4, !tbaa !5
  %5051 = call ptr @s2n_strerror_debug(i32 noundef %5050, ptr noundef @.str.4)
  %5052 = call ptr @__errno_location() #11
  %5053 = load i32, ptr %5052, align 4, !tbaa !5
  %5054 = call ptr @strerror(i32 noundef %5053) #10
  %5055 = call ptr @__errno_location() #11
  %5056 = load i32, ptr %5055, align 4, !tbaa !5
  %5057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5044, ptr noundef @.str.5, i32 noundef %5045, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 378, ptr noundef %5048, ptr noundef %5051, ptr noundef %5054, i32 noundef %5056) #10
  br label %5058

5058:                                             ; preds = %5041, %5024
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %5059

5059:                                             ; preds = %5058
  br label %5060

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

5061:                                             ; No predecessors!
  br label %5062

5062:                                             ; preds = %5061
  br label %5063

5063:                                             ; preds = %5062, %5004
  br label %5064

5064:                                             ; preds = %5063
  br label %5065

5065:                                             ; preds = %5064
  br label %5066

5066:                                             ; preds = %5065
  %5067 = load i32, ptr @test_count, align 4, !tbaa !5
  %5068 = add nsw i32 %5067, 1
  store i32 %5068, ptr @test_count, align 4, !tbaa !5
  %5069 = load ptr, ptr %76, align 8, !tbaa !9
  %5070 = getelementptr inbounds %struct.s2n_connection, ptr %5069, i32 0, i32 52
  %5071 = getelementptr inbounds %struct.s2n_handshake, ptr %5070, i32 0, i32 6
  %5072 = load i32, ptr %5071, align 4, !tbaa !47
  %5073 = icmp eq i32 %5072, 3
  br i1 %5073, label %5127, label %5074

5074:                                             ; preds = %5066
  br label %5075

5075:                                             ; preds = %5074
  br label %5076

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

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

5088:                                             ; preds = %5083
  %5089 = load i32, ptr %106, align 4, !tbaa !5
  %5090 = call ptr @__errno_location() #11
  store i32 %5089, ptr %5090, align 4, !tbaa !5
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %5093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5094 = load i32, ptr %5093, align 4, !tbaa !5
  %5095 = call ptr @s2n_strerror(i32 noundef %5094, ptr noundef @.str.4)
  %5096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5097 = load i32, ptr %5096, align 4, !tbaa !5
  %5098 = call ptr @s2n_strerror_debug(i32 noundef %5097, ptr noundef @.str.4)
  %5099 = call ptr @__errno_location() #11
  %5100 = load i32, ptr %5099, align 4, !tbaa !5
  %5101 = call ptr @strerror(i32 noundef %5100) #10
  %5102 = call ptr @__errno_location() #11
  %5103 = load i32, ptr %5102, align 4, !tbaa !5
  %5104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5091, ptr noundef @.str.2, i32 noundef %5092, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 379, ptr noundef %5095, ptr noundef %5098, ptr noundef %5101, i32 noundef %5103) #10
  br label %5122

5105:                                             ; preds = %5083, %5076
  %5106 = load i32, ptr %106, align 4, !tbaa !5
  %5107 = call ptr @__errno_location() #11
  store i32 %5106, ptr %5107, align 4, !tbaa !5
  %5108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5109 = load i32, ptr @test_count, align 4, !tbaa !5
  %5110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror(i32 noundef %5111, ptr noundef @.str.4)
  %5113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @s2n_strerror_debug(i32 noundef %5114, ptr noundef @.str.4)
  %5116 = call ptr @__errno_location() #11
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @strerror(i32 noundef %5117) #10
  %5119 = call ptr @__errno_location() #11
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5108, ptr noundef @.str.5, i32 noundef %5109, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 379, ptr noundef %5112, ptr noundef %5115, ptr noundef %5118, i32 noundef %5120) #10
  br label %5122

5122:                                             ; preds = %5105, %5088
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5123

5123:                                             ; preds = %5122
  br label %5124

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

5125:                                             ; No predecessors!
  br label %5126

5126:                                             ; preds = %5125
  br label %5127

5127:                                             ; preds = %5126, %5066
  br label %5128

5128:                                             ; preds = %5127
  br label %5129

5129:                                             ; preds = %5128
  br label %5130

5130:                                             ; preds = %5129
  %5131 = load i32, ptr @test_count, align 4, !tbaa !5
  %5132 = add nsw i32 %5131, 1
  store i32 %5132, ptr @test_count, align 4, !tbaa !5
  %5133 = load ptr, ptr %76, align 8, !tbaa !9
  %5134 = call ptr @s2n_get_server_name(ptr noundef %5133)
  store ptr %5134, ptr %80, align 8, !tbaa !9
  %5135 = icmp eq ptr %5134, null
  br i1 %5135, label %5136, label %5189

5136:                                             ; preds = %5130
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

5138:                                             ; preds = %5137
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %5139 = call ptr @__errno_location() #11
  %5140 = load i32, ptr %5139, align 4, !tbaa !5
  store i32 %5140, ptr %107, align 4, !tbaa !5
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = call i32 @s2n_print_stacktrace(ptr noundef %5141)
  %5143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5144 = trunc i8 %5143 to i1
  br i1 %5144, label %5145, label %5167

5145:                                             ; preds = %5138
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = call i32 @fileno(ptr noundef %5146) #10
  %5148 = call i32 @isatty(i32 noundef %5147) #10
  %5149 = icmp ne i32 %5148, 0
  br i1 %5149, label %5150, label %5167

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

5167:                                             ; preds = %5145, %5138
  %5168 = load i32, ptr %107, align 4, !tbaa !5
  %5169 = call ptr @__errno_location() #11
  store i32 %5168, ptr %5169, align 4, !tbaa !5
  %5170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5171 = load i32, ptr @test_count, align 4, !tbaa !5
  %5172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror(i32 noundef %5173, ptr noundef @.str.4)
  %5175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @s2n_strerror_debug(i32 noundef %5176, ptr noundef @.str.4)
  %5178 = call ptr @__errno_location() #11
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #10
  %5181 = call ptr @__errno_location() #11
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5170, ptr noundef @.str.5, i32 noundef %5171, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 382, ptr noundef %5174, ptr noundef %5177, ptr noundef %5180, i32 noundef %5182) #10
  br label %5184

5184:                                             ; preds = %5167, %5150
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %5185

5185:                                             ; preds = %5184
  br label %5186

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

5187:                                             ; No predecessors!
  br label %5188

5188:                                             ; preds = %5187
  br label %5189

5189:                                             ; preds = %5188, %5130
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190
  br label %5192

5192:                                             ; preds = %5191
  %5193 = load i32, ptr @test_count, align 4, !tbaa !5
  %5194 = add nsw i32 %5193, 1
  store i32 %5194, ptr @test_count, align 4, !tbaa !5
  %5195 = load ptr, ptr %80, align 8, !tbaa !9
  %5196 = call i64 @strlen(ptr noundef %5195) #14
  %5197 = load ptr, ptr %79, align 8, !tbaa !9
  %5198 = call i64 @strlen(ptr noundef %5197) #14
  %5199 = icmp eq i64 %5196, %5198
  br i1 %5199, label %5253, label %5200

5200:                                             ; preds = %5192
  br label %5201

5201:                                             ; preds = %5200
  br label %5202

5202:                                             ; preds = %5201
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5203 = call ptr @__errno_location() #11
  %5204 = load i32, ptr %5203, align 4, !tbaa !5
  store i32 %5204, ptr %108, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = call i32 @s2n_print_stacktrace(ptr noundef %5205)
  %5207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5208 = trunc i8 %5207 to i1
  br i1 %5208, label %5209, label %5231

5209:                                             ; preds = %5202
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5211 = call i32 @fileno(ptr noundef %5210) #10
  %5212 = call i32 @isatty(i32 noundef %5211) #10
  %5213 = icmp ne i32 %5212, 0
  br i1 %5213, label %5214, label %5231

5214:                                             ; preds = %5209
  %5215 = load i32, ptr %108, align 4, !tbaa !5
  %5216 = call ptr @__errno_location() #11
  store i32 %5215, ptr %5216, align 4, !tbaa !5
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = load i32, ptr @test_count, align 4, !tbaa !5
  %5219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5220 = load i32, ptr %5219, align 4, !tbaa !5
  %5221 = call ptr @s2n_strerror(i32 noundef %5220, ptr noundef @.str.4)
  %5222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call ptr @s2n_strerror_debug(i32 noundef %5223, ptr noundef @.str.4)
  %5225 = call ptr @__errno_location() #11
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call ptr @strerror(i32 noundef %5226) #10
  %5228 = call ptr @__errno_location() #11
  %5229 = load i32, ptr %5228, align 4, !tbaa !5
  %5230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5217, ptr noundef @.str.2, i32 noundef %5218, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5221, ptr noundef %5224, ptr noundef %5227, i32 noundef %5229) #10
  br label %5248

5231:                                             ; preds = %5209, %5202
  %5232 = load i32, ptr %108, align 4, !tbaa !5
  %5233 = call ptr @__errno_location() #11
  store i32 %5232, ptr %5233, align 4, !tbaa !5
  %5234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5235 = load i32, ptr @test_count, align 4, !tbaa !5
  %5236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5237 = load i32, ptr %5236, align 4, !tbaa !5
  %5238 = call ptr @s2n_strerror(i32 noundef %5237, ptr noundef @.str.4)
  %5239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5240 = load i32, ptr %5239, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror_debug(i32 noundef %5240, ptr noundef @.str.4)
  %5242 = call ptr @__errno_location() #11
  %5243 = load i32, ptr %5242, align 4, !tbaa !5
  %5244 = call ptr @strerror(i32 noundef %5243) #10
  %5245 = call ptr @__errno_location() #11
  %5246 = load i32, ptr %5245, align 4, !tbaa !5
  %5247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5234, ptr noundef @.str.5, i32 noundef %5235, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5238, ptr noundef %5241, ptr noundef %5244, i32 noundef %5246) #10
  br label %5248

5248:                                             ; preds = %5231, %5214
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5249

5249:                                             ; preds = %5248
  br label %5250

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

5251:                                             ; No predecessors!
  br label %5252

5252:                                             ; preds = %5251
  br label %5253

5253:                                             ; preds = %5252, %5192
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254
  br label %5256

5256:                                             ; preds = %5255
  %5257 = load ptr, ptr %80, align 8, !tbaa !9
  %5258 = call i64 @strlen(ptr noundef %5257) #14
  %5259 = icmp ne i64 %5258, 0
  br i1 %5259, label %5260, label %5326

5260:                                             ; preds = %5256
  br label %5261

5261:                                             ; preds = %5260
  %5262 = load i32, ptr @test_count, align 4, !tbaa !5
  %5263 = add nsw i32 %5262, 1
  store i32 %5263, ptr @test_count, align 4, !tbaa !5
  %5264 = load ptr, ptr %80, align 8, !tbaa !9
  %5265 = load ptr, ptr %79, align 8, !tbaa !9
  %5266 = load ptr, ptr %80, align 8, !tbaa !9
  %5267 = call i64 @strlen(ptr noundef %5266) #14
  %5268 = call i32 @memcmp(ptr noundef %5264, ptr noundef %5265, i64 noundef %5267) #14
  %5269 = icmp eq i32 %5268, 0
  br i1 %5269, label %5323, label %5270

5270:                                             ; preds = %5261
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

5272:                                             ; preds = %5271
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %5273 = call ptr @__errno_location() #11
  %5274 = load i32, ptr %5273, align 4, !tbaa !5
  store i32 %5274, ptr %109, align 4, !tbaa !5
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = call i32 @s2n_print_stacktrace(ptr noundef %5275)
  %5277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5278 = trunc i8 %5277 to i1
  br i1 %5278, label %5279, label %5301

5279:                                             ; preds = %5272
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = call i32 @fileno(ptr noundef %5280) #10
  %5282 = call i32 @isatty(i32 noundef %5281) #10
  %5283 = icmp ne i32 %5282, 0
  br i1 %5283, label %5284, label %5301

5284:                                             ; preds = %5279
  %5285 = load i32, ptr %109, align 4, !tbaa !5
  %5286 = call ptr @__errno_location() #11
  store i32 %5285, ptr %5286, align 4, !tbaa !5
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = load i32, ptr @test_count, align 4, !tbaa !5
  %5289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = call ptr @s2n_strerror(i32 noundef %5290, ptr noundef @.str.4)
  %5292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5293 = load i32, ptr %5292, align 4, !tbaa !5
  %5294 = call ptr @s2n_strerror_debug(i32 noundef %5293, ptr noundef @.str.4)
  %5295 = call ptr @__errno_location() #11
  %5296 = load i32, ptr %5295, align 4, !tbaa !5
  %5297 = call ptr @strerror(i32 noundef %5296) #10
  %5298 = call ptr @__errno_location() #11
  %5299 = load i32, ptr %5298, align 4, !tbaa !5
  %5300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5287, ptr noundef @.str.2, i32 noundef %5288, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 384, ptr noundef %5291, ptr noundef %5294, ptr noundef %5297, i32 noundef %5299) #10
  br label %5318

5301:                                             ; preds = %5279, %5272
  %5302 = load i32, ptr %109, align 4, !tbaa !5
  %5303 = call ptr @__errno_location() #11
  store i32 %5302, ptr %5303, align 4, !tbaa !5
  %5304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5305 = load i32, ptr @test_count, align 4, !tbaa !5
  %5306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  %5308 = call ptr @s2n_strerror(i32 noundef %5307, ptr noundef @.str.4)
  %5309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5310 = load i32, ptr %5309, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef @.str.4)
  %5312 = call ptr @__errno_location() #11
  %5313 = load i32, ptr %5312, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #10
  %5315 = call ptr @__errno_location() #11
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  %5317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5304, ptr noundef @.str.5, i32 noundef %5305, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 384, ptr noundef %5308, ptr noundef %5311, ptr noundef %5314, i32 noundef %5316) #10
  br label %5318

5318:                                             ; preds = %5301, %5284
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %5319

5319:                                             ; preds = %5318
  br label %5320

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

5321:                                             ; No predecessors!
  br label %5322

5322:                                             ; preds = %5321
  br label %5323

5323:                                             ; preds = %5322, %5261
  br label %5324

5324:                                             ; preds = %5323
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325, %5256
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327
  br label %5329

5329:                                             ; preds = %5328
  %5330 = load i32, ptr @test_count, align 4, !tbaa !5
  %5331 = add nsw i32 %5330, 1
  store i32 %5331, ptr @test_count, align 4, !tbaa !5
  %5332 = load ptr, ptr %76, align 8, !tbaa !9
  %5333 = call i32 @s2n_shutdown(ptr noundef %5332, ptr noundef %78)
  %5334 = icmp eq i32 %5333, -1
  br i1 %5334, label %5335, label %5388

5335:                                             ; preds = %5329
  br label %5336

5336:                                             ; preds = %5335
  br label %5337

5337:                                             ; preds = %5336
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #10
  %5338 = call ptr @__errno_location() #11
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  store i32 %5339, ptr %110, align 4, !tbaa !5
  %5340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5341 = call i32 @s2n_print_stacktrace(ptr noundef %5340)
  %5342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5343 = trunc i8 %5342 to i1
  br i1 %5343, label %5344, label %5366

5344:                                             ; preds = %5337
  %5345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5346 = call i32 @fileno(ptr noundef %5345) #10
  %5347 = call i32 @isatty(i32 noundef %5346) #10
  %5348 = icmp ne i32 %5347, 0
  br i1 %5348, label %5349, label %5366

5349:                                             ; preds = %5344
  %5350 = load i32, ptr %110, align 4, !tbaa !5
  %5351 = call ptr @__errno_location() #11
  store i32 %5350, ptr %5351, align 4, !tbaa !5
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5353 = load i32, ptr @test_count, align 4, !tbaa !5
  %5354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5355 = load i32, ptr %5354, align 4, !tbaa !5
  %5356 = call ptr @s2n_strerror(i32 noundef %5355, ptr noundef @.str.4)
  %5357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5358 = load i32, ptr %5357, align 4, !tbaa !5
  %5359 = call ptr @s2n_strerror_debug(i32 noundef %5358, ptr noundef @.str.4)
  %5360 = call ptr @__errno_location() #11
  %5361 = load i32, ptr %5360, align 4, !tbaa !5
  %5362 = call ptr @strerror(i32 noundef %5361) #10
  %5363 = call ptr @__errno_location() #11
  %5364 = load i32, ptr %5363, align 4, !tbaa !5
  %5365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5352, ptr noundef @.str.2, i32 noundef %5353, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 386, ptr noundef %5356, ptr noundef %5359, ptr noundef %5362, i32 noundef %5364) #10
  br label %5383

5366:                                             ; preds = %5344, %5337
  %5367 = load i32, ptr %110, align 4, !tbaa !5
  %5368 = call ptr @__errno_location() #11
  store i32 %5367, ptr %5368, align 4, !tbaa !5
  %5369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5372 = load i32, ptr %5371, align 4, !tbaa !5
  %5373 = call ptr @s2n_strerror(i32 noundef %5372, ptr noundef @.str.4)
  %5374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5375 = load i32, ptr %5374, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror_debug(i32 noundef %5375, ptr noundef @.str.4)
  %5377 = call ptr @__errno_location() #11
  %5378 = load i32, ptr %5377, align 4, !tbaa !5
  %5379 = call ptr @strerror(i32 noundef %5378) #10
  %5380 = call ptr @__errno_location() #11
  %5381 = load i32, ptr %5380, align 4, !tbaa !5
  %5382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5369, ptr noundef @.str.5, i32 noundef %5370, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 386, ptr noundef %5373, ptr noundef %5376, ptr noundef %5379, i32 noundef %5381) #10
  br label %5383

5383:                                             ; preds = %5366, %5349
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %5384

5384:                                             ; preds = %5383
  br label %5385

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

5386:                                             ; No predecessors!
  br label %5387

5387:                                             ; preds = %5386
  br label %5388

5388:                                             ; preds = %5387, %5329
  br label %5389

5389:                                             ; preds = %5388
  br label %5390

5390:                                             ; preds = %5389
  br label %5391

5391:                                             ; preds = %5390
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = add nsw i32 %5392, 1
  store i32 %5393, ptr @test_count, align 4, !tbaa !5
  %5394 = load ptr, ptr %76, align 8, !tbaa !9
  %5395 = getelementptr inbounds %struct.s2n_connection, ptr %5394, i32 0, i32 49
  %5396 = load i8, ptr %5395, align 1, !tbaa !48, !range !13, !noundef !14
  %5397 = trunc i8 %5396 to i1
  br i1 %5397, label %5451, label %5398

5398:                                             ; preds = %5391
  br label %5399

5399:                                             ; preds = %5398
  br label %5400

5400:                                             ; preds = %5399
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %5401 = call ptr @__errno_location() #11
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  store i32 %5402, ptr %111, align 4, !tbaa !5
  %5403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5404 = call i32 @s2n_print_stacktrace(ptr noundef %5403)
  %5405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5406 = trunc i8 %5405 to i1
  br i1 %5406, label %5407, label %5429

5407:                                             ; preds = %5400
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = call i32 @fileno(ptr noundef %5408) #10
  %5410 = call i32 @isatty(i32 noundef %5409) #10
  %5411 = icmp ne i32 %5410, 0
  br i1 %5411, label %5412, label %5429

5412:                                             ; preds = %5407
  %5413 = load i32, ptr %111, align 4, !tbaa !5
  %5414 = call ptr @__errno_location() #11
  store i32 %5413, ptr %5414, align 4, !tbaa !5
  %5415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5416 = load i32, ptr @test_count, align 4, !tbaa !5
  %5417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5418 = load i32, ptr %5417, align 4, !tbaa !5
  %5419 = call ptr @s2n_strerror(i32 noundef %5418, ptr noundef @.str.4)
  %5420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5421 = load i32, ptr %5420, align 4, !tbaa !5
  %5422 = call ptr @s2n_strerror_debug(i32 noundef %5421, ptr noundef @.str.4)
  %5423 = call ptr @__errno_location() #11
  %5424 = load i32, ptr %5423, align 4, !tbaa !5
  %5425 = call ptr @strerror(i32 noundef %5424) #10
  %5426 = call ptr @__errno_location() #11
  %5427 = load i32, ptr %5426, align 4, !tbaa !5
  %5428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5415, ptr noundef @.str.2, i32 noundef %5416, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 387, ptr noundef %5419, ptr noundef %5422, ptr noundef %5425, i32 noundef %5427) #10
  br label %5446

5429:                                             ; preds = %5407, %5400
  %5430 = load i32, ptr %111, align 4, !tbaa !5
  %5431 = call ptr @__errno_location() #11
  store i32 %5430, ptr %5431, align 4, !tbaa !5
  %5432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5433 = load i32, ptr @test_count, align 4, !tbaa !5
  %5434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call ptr @s2n_strerror(i32 noundef %5435, ptr noundef @.str.4)
  %5437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5438 = load i32, ptr %5437, align 4, !tbaa !5
  %5439 = call ptr @s2n_strerror_debug(i32 noundef %5438, ptr noundef @.str.4)
  %5440 = call ptr @__errno_location() #11
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call ptr @strerror(i32 noundef %5441) #10
  %5443 = call ptr @__errno_location() #11
  %5444 = load i32, ptr %5443, align 4, !tbaa !5
  %5445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5432, ptr noundef @.str.5, i32 noundef %5433, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 387, ptr noundef %5436, ptr noundef %5439, ptr noundef %5442, i32 noundef %5444) #10
  br label %5446

5446:                                             ; preds = %5429, %5412
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %5447

5447:                                             ; preds = %5446
  br label %5448

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

5449:                                             ; No predecessors!
  br label %5450

5450:                                             ; preds = %5449
  br label %5451

5451:                                             ; preds = %5450, %5391
  br label %5452

5452:                                             ; preds = %5451
  br label %5453

5453:                                             ; preds = %5452
  br label %5454

5454:                                             ; preds = %5453
  %5455 = load i32, ptr @test_count, align 4, !tbaa !5
  %5456 = add nsw i32 %5455, 1
  store i32 %5456, ptr @test_count, align 4, !tbaa !5
  %5457 = load ptr, ptr %76, align 8, !tbaa !9
  %5458 = call i32 @s2n_connection_free(ptr noundef %5457)
  %5459 = icmp eq i32 %5458, -1
  br i1 %5459, label %5460, label %5513

5460:                                             ; preds = %5454
  br label %5461

5461:                                             ; preds = %5460
  br label %5462

5462:                                             ; preds = %5461
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %5463 = call ptr @__errno_location() #11
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  store i32 %5464, ptr %112, align 4, !tbaa !5
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = call i32 @s2n_print_stacktrace(ptr noundef %5465)
  %5467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5468 = trunc i8 %5467 to i1
  br i1 %5468, label %5469, label %5491

5469:                                             ; preds = %5462
  %5470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5471 = call i32 @fileno(ptr noundef %5470) #10
  %5472 = call i32 @isatty(i32 noundef %5471) #10
  %5473 = icmp ne i32 %5472, 0
  br i1 %5473, label %5474, label %5491

5474:                                             ; preds = %5469
  %5475 = load i32, ptr %112, align 4, !tbaa !5
  %5476 = call ptr @__errno_location() #11
  store i32 %5475, ptr %5476, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = load i32, ptr @test_count, align 4, !tbaa !5
  %5479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call ptr @s2n_strerror(i32 noundef %5480, ptr noundef @.str.4)
  %5482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5483 = load i32, ptr %5482, align 4, !tbaa !5
  %5484 = call ptr @s2n_strerror_debug(i32 noundef %5483, ptr noundef @.str.4)
  %5485 = call ptr @__errno_location() #11
  %5486 = load i32, ptr %5485, align 4, !tbaa !5
  %5487 = call ptr @strerror(i32 noundef %5486) #10
  %5488 = call ptr @__errno_location() #11
  %5489 = load i32, ptr %5488, align 4, !tbaa !5
  %5490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5477, ptr noundef @.str.2, i32 noundef %5478, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 389, ptr noundef %5481, ptr noundef %5484, ptr noundef %5487, i32 noundef %5489) #10
  br label %5508

5491:                                             ; preds = %5469, %5462
  %5492 = load i32, ptr %112, align 4, !tbaa !5
  %5493 = call ptr @__errno_location() #11
  store i32 %5492, ptr %5493, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  %5498 = call ptr @s2n_strerror(i32 noundef %5497, ptr noundef @.str.4)
  %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_debug(i32 noundef %5500, ptr noundef @.str.4)
  %5502 = call ptr @__errno_location() #11
  %5503 = load i32, ptr %5502, align 4, !tbaa !5
  %5504 = call ptr @strerror(i32 noundef %5503) #10
  %5505 = call ptr @__errno_location() #11
  %5506 = load i32, ptr %5505, align 4, !tbaa !5
  %5507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5494, ptr noundef @.str.5, i32 noundef %5495, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 389, ptr noundef %5498, ptr noundef %5501, ptr noundef %5504, i32 noundef %5506) #10
  br label %5508

5508:                                             ; preds = %5491, %5474
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5509

5509:                                             ; preds = %5508
  br label %5510

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

5511:                                             ; No predecessors!
  br label %5512

5512:                                             ; preds = %5511
  br label %5513

5513:                                             ; preds = %5512, %5454
  br label %5514

5514:                                             ; preds = %5513
  br label %5515

5515:                                             ; preds = %5514
  br label %5516

5516:                                             ; preds = %5515
  %5517 = load i32, ptr @test_count, align 4, !tbaa !5
  %5518 = add nsw i32 %5517, 1
  store i32 %5518, ptr @test_count, align 4, !tbaa !5
  %5519 = load ptr, ptr %81, align 8, !tbaa !9
  %5520 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %5519)
  %5521 = icmp eq i32 %5520, -1
  br i1 %5521, label %5522, label %5575

5522:                                             ; preds = %5516
  br label %5523

5523:                                             ; preds = %5522
  br label %5524

5524:                                             ; preds = %5523
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %5525 = call ptr @__errno_location() #11
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  store i32 %5526, ptr %113, align 4, !tbaa !5
  %5527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5528 = call i32 @s2n_print_stacktrace(ptr noundef %5527)
  %5529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5530 = trunc i8 %5529 to i1
  br i1 %5530, label %5531, label %5553

5531:                                             ; preds = %5524
  %5532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5533 = call i32 @fileno(ptr noundef %5532) #10
  %5534 = call i32 @isatty(i32 noundef %5533) #10
  %5535 = icmp ne i32 %5534, 0
  br i1 %5535, label %5536, label %5553

5536:                                             ; preds = %5531
  %5537 = load i32, ptr %113, align 4, !tbaa !5
  %5538 = call ptr @__errno_location() #11
  store i32 %5537, ptr %5538, align 4, !tbaa !5
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = load i32, ptr @test_count, align 4, !tbaa !5
  %5541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5542 = load i32, ptr %5541, align 4, !tbaa !5
  %5543 = call ptr @s2n_strerror(i32 noundef %5542, ptr noundef @.str.4)
  %5544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5545 = load i32, ptr %5544, align 4, !tbaa !5
  %5546 = call ptr @s2n_strerror_debug(i32 noundef %5545, ptr noundef @.str.4)
  %5547 = call ptr @__errno_location() #11
  %5548 = load i32, ptr %5547, align 4, !tbaa !5
  %5549 = call ptr @strerror(i32 noundef %5548) #10
  %5550 = call ptr @__errno_location() #11
  %5551 = load i32, ptr %5550, align 4, !tbaa !5
  %5552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5539, ptr noundef @.str.2, i32 noundef %5540, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 391, ptr noundef %5543, ptr noundef %5546, ptr noundef %5549, i32 noundef %5551) #10
  br label %5570

5553:                                             ; preds = %5531, %5524
  %5554 = load i32, ptr %113, align 4, !tbaa !5
  %5555 = call ptr @__errno_location() #11
  store i32 %5554, ptr %5555, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = load i32, ptr @test_count, align 4, !tbaa !5
  %5558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5559 = load i32, ptr %5558, align 4, !tbaa !5
  %5560 = call ptr @s2n_strerror(i32 noundef %5559, ptr noundef @.str.4)
  %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_debug(i32 noundef %5562, ptr noundef @.str.4)
  %5564 = call ptr @__errno_location() #11
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  %5566 = call ptr @strerror(i32 noundef %5565) #10
  %5567 = call ptr @__errno_location() #11
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  %5569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5556, ptr noundef @.str.5, i32 noundef %5557, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 391, ptr noundef %5560, ptr noundef %5563, ptr noundef %5566, i32 noundef %5568) #10
  br label %5570

5570:                                             ; preds = %5553, %5536
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

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

5573:                                             ; No predecessors!
  br label %5574

5574:                                             ; preds = %5573
  br label %5575

5575:                                             ; preds = %5574, %5516
  br label %5576

5576:                                             ; preds = %5575
  br label %5577

5577:                                             ; preds = %5576
  br label %5578

5578:                                             ; preds = %5577
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = add nsw i32 %5579, 1
  store i32 %5580, ptr @test_count, align 4, !tbaa !5
  %5581 = load ptr, ptr %77, align 8, !tbaa !9
  %5582 = call i32 @s2n_config_free(ptr noundef %5581)
  %5583 = icmp eq i32 %5582, -1
  br i1 %5583, label %5584, label %5637

5584:                                             ; preds = %5578
  br label %5585

5585:                                             ; preds = %5584
  br label %5586

5586:                                             ; preds = %5585
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5587 = call ptr @__errno_location() #11
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  store i32 %5588, ptr %114, align 4, !tbaa !5
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = call i32 @s2n_print_stacktrace(ptr noundef %5589)
  %5591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5592 = trunc i8 %5591 to i1
  br i1 %5592, label %5593, label %5615

5593:                                             ; preds = %5586
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = call i32 @fileno(ptr noundef %5594) #10
  %5596 = call i32 @isatty(i32 noundef %5595) #10
  %5597 = icmp ne i32 %5596, 0
  br i1 %5597, label %5598, label %5615

5598:                                             ; preds = %5593
  %5599 = load i32, ptr %114, align 4, !tbaa !5
  %5600 = call ptr @__errno_location() #11
  store i32 %5599, ptr %5600, align 4, !tbaa !5
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5602 = load i32, ptr @test_count, align 4, !tbaa !5
  %5603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef @.str.4)
  %5606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @s2n_strerror_debug(i32 noundef %5607, ptr noundef @.str.4)
  %5609 = call ptr @__errno_location() #11
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call ptr @strerror(i32 noundef %5610) #10
  %5612 = call ptr @__errno_location() #11
  %5613 = load i32, ptr %5612, align 4, !tbaa !5
  %5614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5601, ptr noundef @.str.2, i32 noundef %5602, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 393, ptr noundef %5605, ptr noundef %5608, ptr noundef %5611, i32 noundef %5613) #10
  br label %5632

5615:                                             ; preds = %5593, %5586
  %5616 = load i32, ptr %114, align 4, !tbaa !5
  %5617 = call ptr @__errno_location() #11
  store i32 %5616, ptr %5617, align 4, !tbaa !5
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = load i32, ptr @test_count, align 4, !tbaa !5
  %5620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror(i32 noundef %5621, ptr noundef @.str.4)
  %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_debug(i32 noundef %5624, ptr noundef @.str.4)
  %5626 = call ptr @__errno_location() #11
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #10
  %5629 = call ptr @__errno_location() #11
  %5630 = load i32, ptr %5629, align 4, !tbaa !5
  %5631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5618, ptr noundef @.str.5, i32 noundef %5619, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 393, ptr noundef %5622, ptr noundef %5625, ptr noundef %5628, i32 noundef %5630) #10
  br label %5632

5632:                                             ; preds = %5615, %5598
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5633

5633:                                             ; preds = %5632
  br label %5634

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

5635:                                             ; No predecessors!
  br label %5636

5636:                                             ; preds = %5635
  br label %5637

5637:                                             ; preds = %5636, %5578
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638
  call void @llvm.lifetime.end.p0(i64 5, ptr %90) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 75, ptr %86) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #10
  store ptr null, ptr %115, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #10
  store ptr null, ptr %116, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #10
  store ptr null, ptr %118, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %119, ptr align 16 @__const.main.client_extensions.63, i64 32, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  store i32 32, ptr %120, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 75, ptr %121) #10
  store i8 3, ptr %121, align 1, !tbaa !44
  %5640 = getelementptr inbounds i8, ptr %121, i64 1
  store i8 3, ptr %5640, align 1, !tbaa !44
  %5641 = getelementptr inbounds i8, ptr %121, i64 2
  store i8 0, ptr %5641, align 1, !tbaa !44
  %5642 = getelementptr inbounds i8, ptr %121, i64 3
  store i8 1, ptr %5642, align 1, !tbaa !44
  %5643 = getelementptr inbounds i8, ptr %121, i64 4
  store i8 2, ptr %5643, align 1, !tbaa !44
  %5644 = getelementptr inbounds i8, ptr %121, i64 5
  store i8 3, ptr %5644, align 1, !tbaa !44
  %5645 = getelementptr inbounds i8, ptr %121, i64 6
  store i8 4, ptr %5645, align 1, !tbaa !44
  %5646 = getelementptr inbounds i8, ptr %121, i64 7
  store i8 5, ptr %5646, align 1, !tbaa !44
  %5647 = getelementptr inbounds i8, ptr %121, i64 8
  store i8 6, ptr %5647, align 1, !tbaa !44
  %5648 = getelementptr inbounds i8, ptr %121, i64 9
  store i8 7, ptr %5648, align 1, !tbaa !44
  %5649 = getelementptr inbounds i8, ptr %121, i64 10
  store i8 8, ptr %5649, align 1, !tbaa !44
  %5650 = getelementptr inbounds i8, ptr %121, i64 11
  store i8 9, ptr %5650, align 1, !tbaa !44
  %5651 = getelementptr inbounds i8, ptr %121, i64 12
  store i8 10, ptr %5651, align 1, !tbaa !44
  %5652 = getelementptr inbounds i8, ptr %121, i64 13
  store i8 11, ptr %5652, align 1, !tbaa !44
  %5653 = getelementptr inbounds i8, ptr %121, i64 14
  store i8 12, ptr %5653, align 1, !tbaa !44
  %5654 = getelementptr inbounds i8, ptr %121, i64 15
  store i8 13, ptr %5654, align 1, !tbaa !44
  %5655 = getelementptr inbounds i8, ptr %121, i64 16
  store i8 14, ptr %5655, align 1, !tbaa !44
  %5656 = getelementptr inbounds i8, ptr %121, i64 17
  store i8 15, ptr %5656, align 1, !tbaa !44
  %5657 = getelementptr inbounds i8, ptr %121, i64 18
  store i8 16, ptr %5657, align 1, !tbaa !44
  %5658 = getelementptr inbounds i8, ptr %121, i64 19
  store i8 17, ptr %5658, align 1, !tbaa !44
  %5659 = getelementptr inbounds i8, ptr %121, i64 20
  store i8 18, ptr %5659, align 1, !tbaa !44
  %5660 = getelementptr inbounds i8, ptr %121, i64 21
  store i8 19, ptr %5660, align 1, !tbaa !44
  %5661 = getelementptr inbounds i8, ptr %121, i64 22
  store i8 20, ptr %5661, align 1, !tbaa !44
  %5662 = getelementptr inbounds i8, ptr %121, i64 23
  store i8 21, ptr %5662, align 1, !tbaa !44
  %5663 = getelementptr inbounds i8, ptr %121, i64 24
  store i8 22, ptr %5663, align 1, !tbaa !44
  %5664 = getelementptr inbounds i8, ptr %121, i64 25
  store i8 23, ptr %5664, align 1, !tbaa !44
  %5665 = getelementptr inbounds i8, ptr %121, i64 26
  store i8 24, ptr %5665, align 1, !tbaa !44
  %5666 = getelementptr inbounds i8, ptr %121, i64 27
  store i8 25, ptr %5666, align 1, !tbaa !44
  %5667 = getelementptr inbounds i8, ptr %121, i64 28
  store i8 26, ptr %5667, align 1, !tbaa !44
  %5668 = getelementptr inbounds i8, ptr %121, i64 29
  store i8 27, ptr %5668, align 1, !tbaa !44
  %5669 = getelementptr inbounds i8, ptr %121, i64 30
  store i8 28, ptr %5669, align 1, !tbaa !44
  %5670 = getelementptr inbounds i8, ptr %121, i64 31
  store i8 29, ptr %5670, align 1, !tbaa !44
  %5671 = getelementptr inbounds i8, ptr %121, i64 32
  store i8 30, ptr %5671, align 1, !tbaa !44
  %5672 = getelementptr inbounds i8, ptr %121, i64 33
  store i8 31, ptr %5672, align 1, !tbaa !44
  %5673 = getelementptr inbounds i8, ptr %121, i64 34
  store i8 32, ptr %5673, align 1, !tbaa !44
  %5674 = getelementptr inbounds i8, ptr %121, i64 35
  store i8 0, ptr %5674, align 1, !tbaa !44
  %5675 = getelementptr inbounds i8, ptr %121, i64 36
  store i8 1, ptr %5675, align 1, !tbaa !44
  %5676 = getelementptr inbounds i8, ptr %121, i64 37
  store i8 2, ptr %5676, align 1, !tbaa !44
  %5677 = getelementptr inbounds i8, ptr %121, i64 38
  store i8 3, ptr %5677, align 1, !tbaa !44
  %5678 = getelementptr inbounds i8, ptr %121, i64 39
  store i8 4, ptr %5678, align 1, !tbaa !44
  %5679 = getelementptr inbounds i8, ptr %121, i64 40
  store i8 5, ptr %5679, align 1, !tbaa !44
  %5680 = getelementptr inbounds i8, ptr %121, i64 41
  store i8 6, ptr %5680, align 1, !tbaa !44
  %5681 = getelementptr inbounds i8, ptr %121, i64 42
  store i8 7, ptr %5681, align 1, !tbaa !44
  %5682 = getelementptr inbounds i8, ptr %121, i64 43
  store i8 8, ptr %5682, align 1, !tbaa !44
  %5683 = getelementptr inbounds i8, ptr %121, i64 44
  store i8 9, ptr %5683, align 1, !tbaa !44
  %5684 = getelementptr inbounds i8, ptr %121, i64 45
  store i8 10, ptr %5684, align 1, !tbaa !44
  %5685 = getelementptr inbounds i8, ptr %121, i64 46
  store i8 11, ptr %5685, align 1, !tbaa !44
  %5686 = getelementptr inbounds i8, ptr %121, i64 47
  store i8 12, ptr %5686, align 1, !tbaa !44
  %5687 = getelementptr inbounds i8, ptr %121, i64 48
  store i8 13, ptr %5687, align 1, !tbaa !44
  %5688 = getelementptr inbounds i8, ptr %121, i64 49
  store i8 14, ptr %5688, align 1, !tbaa !44
  %5689 = getelementptr inbounds i8, ptr %121, i64 50
  store i8 15, ptr %5689, align 1, !tbaa !44
  %5690 = getelementptr inbounds i8, ptr %121, i64 51
  store i8 16, ptr %5690, align 1, !tbaa !44
  %5691 = getelementptr inbounds i8, ptr %121, i64 52
  store i8 17, ptr %5691, align 1, !tbaa !44
  %5692 = getelementptr inbounds i8, ptr %121, i64 53
  store i8 18, ptr %5692, align 1, !tbaa !44
  %5693 = getelementptr inbounds i8, ptr %121, i64 54
  store i8 19, ptr %5693, align 1, !tbaa !44
  %5694 = getelementptr inbounds i8, ptr %121, i64 55
  store i8 20, ptr %5694, align 1, !tbaa !44
  %5695 = getelementptr inbounds i8, ptr %121, i64 56
  store i8 21, ptr %5695, align 1, !tbaa !44
  %5696 = getelementptr inbounds i8, ptr %121, i64 57
  store i8 22, ptr %5696, align 1, !tbaa !44
  %5697 = getelementptr inbounds i8, ptr %121, i64 58
  store i8 23, ptr %5697, align 1, !tbaa !44
  %5698 = getelementptr inbounds i8, ptr %121, i64 59
  store i8 24, ptr %5698, align 1, !tbaa !44
  %5699 = getelementptr inbounds i8, ptr %121, i64 60
  store i8 25, ptr %5699, align 1, !tbaa !44
  %5700 = getelementptr inbounds i8, ptr %121, i64 61
  store i8 26, ptr %5700, align 1, !tbaa !44
  %5701 = getelementptr inbounds i8, ptr %121, i64 62
  store i8 27, ptr %5701, align 1, !tbaa !44
  %5702 = getelementptr inbounds i8, ptr %121, i64 63
  store i8 28, ptr %5702, align 1, !tbaa !44
  %5703 = getelementptr inbounds i8, ptr %121, i64 64
  store i8 29, ptr %5703, align 1, !tbaa !44
  %5704 = getelementptr inbounds i8, ptr %121, i64 65
  store i8 30, ptr %5704, align 1, !tbaa !44
  %5705 = getelementptr inbounds i8, ptr %121, i64 66
  store i8 31, ptr %5705, align 1, !tbaa !44
  %5706 = getelementptr inbounds i8, ptr %121, i64 67
  store i8 0, ptr %5706, align 1, !tbaa !44
  %5707 = getelementptr inbounds i8, ptr %121, i64 68
  store i8 2, ptr %5707, align 1, !tbaa !44
  %5708 = getelementptr inbounds i8, ptr %121, i64 69
  store i8 0, ptr %5708, align 1, !tbaa !44
  %5709 = getelementptr inbounds i8, ptr %121, i64 70
  store i8 60, ptr %5709, align 1, !tbaa !44
  %5710 = getelementptr inbounds i8, ptr %121, i64 71
  store i8 1, ptr %5710, align 1, !tbaa !44
  %5711 = getelementptr inbounds i8, ptr %121, i64 72
  store i8 0, ptr %5711, align 1, !tbaa !44
  %5712 = getelementptr inbounds i8, ptr %121, i64 73
  %5713 = load i32, ptr %120, align 4, !tbaa !5
  %5714 = ashr i32 %5713, 8
  %5715 = and i32 %5714, 255
  %5716 = trunc i32 %5715 to i8
  store i8 %5716, ptr %5712, align 1, !tbaa !44
  %5717 = getelementptr inbounds i8, ptr %121, i64 74
  %5718 = load i32, ptr %120, align 4, !tbaa !5
  %5719 = and i32 %5718, 255
  %5720 = trunc i32 %5719 to i8
  store i8 %5720, ptr %5717, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %5721 = load i32, ptr %120, align 4, !tbaa !5
  %5722 = sext i32 %5721 to i64
  %5723 = add i64 75, %5722
  %5724 = trunc i64 %5723 to i32
  store i32 %5724, ptr %122, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  store i8 1, ptr %123, align 1, !tbaa !44
  %5725 = getelementptr inbounds i8, ptr %123, i64 1
  %5726 = load i32, ptr %122, align 4, !tbaa !5
  %5727 = ashr i32 %5726, 16
  %5728 = and i32 %5727, 255
  %5729 = trunc i32 %5728 to i8
  store i8 %5729, ptr %5725, align 1, !tbaa !44
  %5730 = getelementptr inbounds i8, ptr %123, i64 2
  %5731 = load i32, ptr %122, align 4, !tbaa !5
  %5732 = ashr i32 %5731, 8
  %5733 = and i32 %5732, 255
  %5734 = trunc i32 %5733 to i8
  store i8 %5734, ptr %5730, align 1, !tbaa !44
  %5735 = getelementptr inbounds i8, ptr %123, i64 3
  %5736 = load i32, ptr %122, align 4, !tbaa !5
  %5737 = and i32 %5736, 255
  %5738 = trunc i32 %5737 to i8
  store i8 %5738, ptr %5735, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %5739 = load i32, ptr %122, align 4, !tbaa !5
  %5740 = sext i32 %5739 to i64
  %5741 = add i64 4, %5740
  %5742 = trunc i64 %5741 to i32
  store i32 %5742, ptr %124, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 5, ptr %125) #10
  store i8 22, ptr %125, align 1, !tbaa !44
  %5743 = getelementptr inbounds i8, ptr %125, i64 1
  store i8 3, ptr %5743, align 1, !tbaa !44
  %5744 = getelementptr inbounds i8, ptr %125, i64 2
  store i8 3, ptr %5744, align 1, !tbaa !44
  %5745 = getelementptr inbounds i8, ptr %125, i64 3
  %5746 = load i32, ptr %124, align 4, !tbaa !5
  %5747 = ashr i32 %5746, 8
  %5748 = and i32 %5747, 255
  %5749 = trunc i32 %5748 to i8
  store i8 %5749, ptr %5745, align 1, !tbaa !44
  %5750 = getelementptr inbounds i8, ptr %125, i64 4
  %5751 = load i32, ptr %124, align 4, !tbaa !5
  %5752 = and i32 %5751, 255
  %5753 = trunc i32 %5752 to i8
  store i8 %5753, ptr %5750, align 1, !tbaa !44
  br label %5754

5754:                                             ; preds = %5639
  %5755 = load i32, ptr @test_count, align 4, !tbaa !5
  %5756 = add nsw i32 %5755, 1
  store i32 %5756, ptr @test_count, align 4, !tbaa !5
  %5757 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5757, ptr %115, align 8, !tbaa !9
  %5758 = icmp eq ptr %5757, null
  br i1 %5758, label %5759, label %5812

5759:                                             ; preds = %5754
  br label %5760

5760:                                             ; preds = %5759
  br label %5761

5761:                                             ; preds = %5760
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %5762 = call ptr @__errno_location() #11
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  store i32 %5763, ptr %126, align 4, !tbaa !5
  %5764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5765 = call i32 @s2n_print_stacktrace(ptr noundef %5764)
  %5766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5767 = trunc i8 %5766 to i1
  br i1 %5767, label %5768, label %5790

5768:                                             ; preds = %5761
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = call i32 @fileno(ptr noundef %5769) #10
  %5771 = call i32 @isatty(i32 noundef %5770) #10
  %5772 = icmp ne i32 %5771, 0
  br i1 %5772, label %5773, label %5790

5773:                                             ; preds = %5768
  %5774 = load i32, ptr %126, align 4, !tbaa !5
  %5775 = call ptr @__errno_location() #11
  store i32 %5774, ptr %5775, align 4, !tbaa !5
  %5776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5777 = load i32, ptr @test_count, align 4, !tbaa !5
  %5778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror(i32 noundef %5779, ptr noundef @.str.4)
  %5781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5782 = load i32, ptr %5781, align 4, !tbaa !5
  %5783 = call ptr @s2n_strerror_debug(i32 noundef %5782, ptr noundef @.str.4)
  %5784 = call ptr @__errno_location() #11
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @strerror(i32 noundef %5785) #10
  %5787 = call ptr @__errno_location() #11
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5776, ptr noundef @.str.2, i32 noundef %5777, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 502, ptr noundef %5780, ptr noundef %5783, ptr noundef %5786, i32 noundef %5788) #10
  br label %5807

5790:                                             ; preds = %5768, %5761
  %5791 = load i32, ptr %126, align 4, !tbaa !5
  %5792 = call ptr @__errno_location() #11
  store i32 %5791, ptr %5792, align 4, !tbaa !5
  %5793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @s2n_strerror(i32 noundef %5796, ptr noundef @.str.4)
  %5798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef @.str.4)
  %5801 = call ptr @__errno_location() #11
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @strerror(i32 noundef %5802) #10
  %5804 = call ptr @__errno_location() #11
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5793, ptr noundef @.str.5, i32 noundef %5794, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 502, ptr noundef %5797, ptr noundef %5800, ptr noundef %5803, i32 noundef %5805) #10
  br label %5807

5807:                                             ; preds = %5790, %5773
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %5808

5808:                                             ; preds = %5807
  br label %5809

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

5810:                                             ; No predecessors!
  br label %5811

5811:                                             ; preds = %5810
  br label %5812

5812:                                             ; preds = %5811, %5754
  br label %5813

5813:                                             ; preds = %5812
  br label %5814

5814:                                             ; preds = %5813
  br label %5815

5815:                                             ; preds = %5814
  %5816 = load i32, ptr @test_count, align 4, !tbaa !5
  %5817 = add nsw i32 %5816, 1
  store i32 %5817, ptr @test_count, align 4, !tbaa !5
  %5818 = load ptr, ptr %115, align 8, !tbaa !9
  %5819 = call i32 @s2n_connection_set_io_pair(ptr noundef %5818, ptr noundef %15)
  %5820 = icmp eq i32 %5819, -1
  br i1 %5820, label %5821, label %5874

5821:                                             ; preds = %5815
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

5823:                                             ; preds = %5822
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %5824 = call ptr @__errno_location() #11
  %5825 = load i32, ptr %5824, align 4, !tbaa !5
  store i32 %5825, ptr %127, align 4, !tbaa !5
  %5826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5827 = call i32 @s2n_print_stacktrace(ptr noundef %5826)
  %5828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5829 = trunc i8 %5828 to i1
  br i1 %5829, label %5830, label %5852

5830:                                             ; preds = %5823
  %5831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5832 = call i32 @fileno(ptr noundef %5831) #10
  %5833 = call i32 @isatty(i32 noundef %5832) #10
  %5834 = icmp ne i32 %5833, 0
  br i1 %5834, label %5835, label %5852

5835:                                             ; preds = %5830
  %5836 = load i32, ptr %127, align 4, !tbaa !5
  %5837 = call ptr @__errno_location() #11
  store i32 %5836, ptr %5837, align 4, !tbaa !5
  %5838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5839 = load i32, ptr @test_count, align 4, !tbaa !5
  %5840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call ptr @s2n_strerror(i32 noundef %5841, ptr noundef @.str.4)
  %5843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5844 = load i32, ptr %5843, align 4, !tbaa !5
  %5845 = call ptr @s2n_strerror_debug(i32 noundef %5844, ptr noundef @.str.4)
  %5846 = call ptr @__errno_location() #11
  %5847 = load i32, ptr %5846, align 4, !tbaa !5
  %5848 = call ptr @strerror(i32 noundef %5847) #10
  %5849 = call ptr @__errno_location() #11
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  %5851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5838, ptr noundef @.str.2, i32 noundef %5839, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 503, ptr noundef %5842, ptr noundef %5845, ptr noundef %5848, i32 noundef %5850) #10
  br label %5869

5852:                                             ; preds = %5830, %5823
  %5853 = load i32, ptr %127, align 4, !tbaa !5
  %5854 = call ptr @__errno_location() #11
  store i32 %5853, ptr %5854, align 4, !tbaa !5
  %5855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5856 = load i32, ptr @test_count, align 4, !tbaa !5
  %5857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call ptr @s2n_strerror(i32 noundef %5858, ptr noundef @.str.4)
  %5860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror_debug(i32 noundef %5861, ptr noundef @.str.4)
  %5863 = call ptr @__errno_location() #11
  %5864 = load i32, ptr %5863, align 4, !tbaa !5
  %5865 = call ptr @strerror(i32 noundef %5864) #10
  %5866 = call ptr @__errno_location() #11
  %5867 = load i32, ptr %5866, align 4, !tbaa !5
  %5868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5855, ptr noundef @.str.5, i32 noundef %5856, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 503, ptr noundef %5859, ptr noundef %5862, ptr noundef %5865, i32 noundef %5867) #10
  br label %5869

5869:                                             ; preds = %5852, %5835
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %5870

5870:                                             ; preds = %5869
  br label %5871

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

5872:                                             ; No predecessors!
  br label %5873

5873:                                             ; preds = %5872
  br label %5874

5874:                                             ; preds = %5873, %5815
  br label %5875

5875:                                             ; preds = %5874
  br label %5876

5876:                                             ; preds = %5875
  br label %5877

5877:                                             ; preds = %5876
  %5878 = load i32, ptr @test_count, align 4, !tbaa !5
  %5879 = add nsw i32 %5878, 1
  store i32 %5879, ptr @test_count, align 4, !tbaa !5
  %5880 = call ptr @s2n_config_new()
  store ptr %5880, ptr %116, align 8, !tbaa !9
  %5881 = icmp eq ptr %5880, null
  br i1 %5881, label %5882, label %5935

5882:                                             ; preds = %5877
  br label %5883

5883:                                             ; preds = %5882
  br label %5884

5884:                                             ; preds = %5883
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %5885 = call ptr @__errno_location() #11
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  store i32 %5886, ptr %128, align 4, !tbaa !5
  %5887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5888 = call i32 @s2n_print_stacktrace(ptr noundef %5887)
  %5889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5890 = trunc i8 %5889 to i1
  br i1 %5890, label %5891, label %5913

5891:                                             ; preds = %5884
  %5892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5893 = call i32 @fileno(ptr noundef %5892) #10
  %5894 = call i32 @isatty(i32 noundef %5893) #10
  %5895 = icmp ne i32 %5894, 0
  br i1 %5895, label %5896, label %5913

5896:                                             ; preds = %5891
  %5897 = load i32, ptr %128, align 4, !tbaa !5
  %5898 = call ptr @__errno_location() #11
  store i32 %5897, ptr %5898, align 4, !tbaa !5
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = load i32, ptr @test_count, align 4, !tbaa !5
  %5901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5902 = load i32, ptr %5901, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror(i32 noundef %5902, ptr noundef @.str.4)
  %5904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5905 = load i32, ptr %5904, align 4, !tbaa !5
  %5906 = call ptr @s2n_strerror_debug(i32 noundef %5905, ptr noundef @.str.4)
  %5907 = call ptr @__errno_location() #11
  %5908 = load i32, ptr %5907, align 4, !tbaa !5
  %5909 = call ptr @strerror(i32 noundef %5908) #10
  %5910 = call ptr @__errno_location() #11
  %5911 = load i32, ptr %5910, align 4, !tbaa !5
  %5912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5899, ptr noundef @.str.2, i32 noundef %5900, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 505, ptr noundef %5903, ptr noundef %5906, ptr noundef %5909, i32 noundef %5911) #10
  br label %5930

5913:                                             ; preds = %5891, %5884
  %5914 = load i32, ptr %128, align 4, !tbaa !5
  %5915 = call ptr @__errno_location() #11
  store i32 %5914, ptr %5915, align 4, !tbaa !5
  %5916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5917 = load i32, ptr @test_count, align 4, !tbaa !5
  %5918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5919 = load i32, ptr %5918, align 4, !tbaa !5
  %5920 = call ptr @s2n_strerror(i32 noundef %5919, ptr noundef @.str.4)
  %5921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5922 = load i32, ptr %5921, align 4, !tbaa !5
  %5923 = call ptr @s2n_strerror_debug(i32 noundef %5922, ptr noundef @.str.4)
  %5924 = call ptr @__errno_location() #11
  %5925 = load i32, ptr %5924, align 4, !tbaa !5
  %5926 = call ptr @strerror(i32 noundef %5925) #10
  %5927 = call ptr @__errno_location() #11
  %5928 = load i32, ptr %5927, align 4, !tbaa !5
  %5929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5916, ptr noundef @.str.5, i32 noundef %5917, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 505, ptr noundef %5920, ptr noundef %5923, ptr noundef %5926, i32 noundef %5928) #10
  br label %5930

5930:                                             ; preds = %5913, %5896
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %5931

5931:                                             ; preds = %5930
  br label %5932

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

5933:                                             ; No predecessors!
  br label %5934

5934:                                             ; preds = %5933
  br label %5935

5935:                                             ; preds = %5934, %5877
  br label %5936

5936:                                             ; preds = %5935
  br label %5937

5937:                                             ; preds = %5936
  br label %5938

5938:                                             ; preds = %5937
  %5939 = load i32, ptr @test_count, align 4, !tbaa !5
  %5940 = add nsw i32 %5939, 1
  store i32 %5940, ptr @test_count, align 4, !tbaa !5
  %5941 = load ptr, ptr %6, align 8, !tbaa !9
  %5942 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %5941, i64 noundef 12000)
  %5943 = icmp eq i32 %5942, -1
  br i1 %5943, label %5944, label %5997

5944:                                             ; preds = %5938
  br label %5945

5945:                                             ; preds = %5944
  br label %5946

5946:                                             ; preds = %5945
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %5947 = call ptr @__errno_location() #11
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  store i32 %5948, ptr %129, align 4, !tbaa !5
  %5949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5950 = call i32 @s2n_print_stacktrace(ptr noundef %5949)
  %5951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5952 = trunc i8 %5951 to i1
  br i1 %5952, label %5953, label %5975

5953:                                             ; preds = %5946
  %5954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5955 = call i32 @fileno(ptr noundef %5954) #10
  %5956 = call i32 @isatty(i32 noundef %5955) #10
  %5957 = icmp ne i32 %5956, 0
  br i1 %5957, label %5958, label %5975

5958:                                             ; preds = %5953
  %5959 = load i32, ptr %129, align 4, !tbaa !5
  %5960 = call ptr @__errno_location() #11
  store i32 %5959, ptr %5960, align 4, !tbaa !5
  %5961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5962 = load i32, ptr @test_count, align 4, !tbaa !5
  %5963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  %5965 = call ptr @s2n_strerror(i32 noundef %5964, ptr noundef @.str.4)
  %5966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5967 = load i32, ptr %5966, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror_debug(i32 noundef %5967, ptr noundef @.str.4)
  %5969 = call ptr @__errno_location() #11
  %5970 = load i32, ptr %5969, align 4, !tbaa !5
  %5971 = call ptr @strerror(i32 noundef %5970) #10
  %5972 = call ptr @__errno_location() #11
  %5973 = load i32, ptr %5972, align 4, !tbaa !5
  %5974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5961, ptr noundef @.str.2, i32 noundef %5962, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 506, ptr noundef %5965, ptr noundef %5968, ptr noundef %5971, i32 noundef %5973) #10
  br label %5992

5975:                                             ; preds = %5953, %5946
  %5976 = load i32, ptr %129, align 4, !tbaa !5
  %5977 = call ptr @__errno_location() #11
  store i32 %5976, ptr %5977, align 4, !tbaa !5
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = load i32, ptr @test_count, align 4, !tbaa !5
  %5980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5981 = load i32, ptr %5980, align 4, !tbaa !5
  %5982 = call ptr @s2n_strerror(i32 noundef %5981, ptr noundef @.str.4)
  %5983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5984 = load i32, ptr %5983, align 4, !tbaa !5
  %5985 = call ptr @s2n_strerror_debug(i32 noundef %5984, ptr noundef @.str.4)
  %5986 = call ptr @__errno_location() #11
  %5987 = load i32, ptr %5986, align 4, !tbaa !5
  %5988 = call ptr @strerror(i32 noundef %5987) #10
  %5989 = call ptr @__errno_location() #11
  %5990 = load i32, ptr %5989, align 4, !tbaa !5
  %5991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5978, ptr noundef @.str.5, i32 noundef %5979, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 506, ptr noundef %5982, ptr noundef %5985, ptr noundef %5988, i32 noundef %5990) #10
  br label %5992

5992:                                             ; preds = %5975, %5958
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %5993

5993:                                             ; preds = %5992
  br label %5994

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

5995:                                             ; No predecessors!
  br label %5996

5996:                                             ; preds = %5995
  br label %5997

5997:                                             ; preds = %5996, %5938
  br label %5998

5998:                                             ; preds = %5997
  br label %5999

5999:                                             ; preds = %5998
  br label %6000

6000:                                             ; preds = %5999
  %6001 = load i32, ptr @test_count, align 4, !tbaa !5
  %6002 = add nsw i32 %6001, 1
  store i32 %6002, ptr @test_count, align 4, !tbaa !5
  %6003 = load ptr, ptr %7, align 8, !tbaa !9
  %6004 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %6003, i64 noundef 12000)
  %6005 = icmp eq i32 %6004, -1
  br i1 %6005, label %6006, label %6059

6006:                                             ; preds = %6000
  br label %6007

6007:                                             ; preds = %6006
  br label %6008

6008:                                             ; preds = %6007
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6009 = call ptr @__errno_location() #11
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  store i32 %6010, ptr %130, align 4, !tbaa !5
  %6011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6012 = call i32 @s2n_print_stacktrace(ptr noundef %6011)
  %6013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6014 = trunc i8 %6013 to i1
  br i1 %6014, label %6015, label %6037

6015:                                             ; preds = %6008
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = call i32 @fileno(ptr noundef %6016) #10
  %6018 = call i32 @isatty(i32 noundef %6017) #10
  %6019 = icmp ne i32 %6018, 0
  br i1 %6019, label %6020, label %6037

6020:                                             ; preds = %6015
  %6021 = load i32, ptr %130, align 4, !tbaa !5
  %6022 = call ptr @__errno_location() #11
  store i32 %6021, ptr %6022, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = load i32, ptr @test_count, align 4, !tbaa !5
  %6025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6026 = load i32, ptr %6025, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror(i32 noundef %6026, ptr noundef @.str.4)
  %6028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call ptr @s2n_strerror_debug(i32 noundef %6029, ptr noundef @.str.4)
  %6031 = call ptr @__errno_location() #11
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call ptr @strerror(i32 noundef %6032) #10
  %6034 = call ptr @__errno_location() #11
  %6035 = load i32, ptr %6034, align 4, !tbaa !5
  %6036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6023, ptr noundef @.str.2, i32 noundef %6024, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 507, ptr noundef %6027, ptr noundef %6030, ptr noundef %6033, i32 noundef %6035) #10
  br label %6054

6037:                                             ; preds = %6015, %6008
  %6038 = load i32, ptr %130, align 4, !tbaa !5
  %6039 = call ptr @__errno_location() #11
  store i32 %6038, ptr %6039, align 4, !tbaa !5
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = load i32, ptr @test_count, align 4, !tbaa !5
  %6042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @s2n_strerror(i32 noundef %6043, ptr noundef @.str.4)
  %6045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call ptr @s2n_strerror_debug(i32 noundef %6046, ptr noundef @.str.4)
  %6048 = call ptr @__errno_location() #11
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call ptr @strerror(i32 noundef %6049) #10
  %6051 = call ptr @__errno_location() #11
  %6052 = load i32, ptr %6051, align 4, !tbaa !5
  %6053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6040, ptr noundef @.str.5, i32 noundef %6041, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 507, ptr noundef %6044, ptr noundef %6047, ptr noundef %6050, i32 noundef %6052) #10
  br label %6054

6054:                                             ; preds = %6037, %6020
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

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

6057:                                             ; No predecessors!
  br label %6058

6058:                                             ; preds = %6057
  br label %6059

6059:                                             ; preds = %6058, %6000
  br label %6060

6060:                                             ; preds = %6059
  br label %6061

6061:                                             ; preds = %6060
  br label %6062

6062:                                             ; preds = %6061
  %6063 = load i32, ptr @test_count, align 4, !tbaa !5
  %6064 = add nsw i32 %6063, 1
  store i32 %6064, ptr @test_count, align 4, !tbaa !5
  %6065 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %6065, ptr %118, align 8, !tbaa !9
  %6066 = icmp eq ptr %6065, null
  br i1 %6066, label %6067, label %6120

6067:                                             ; preds = %6062
  br label %6068

6068:                                             ; preds = %6067
  br label %6069

6069:                                             ; preds = %6068
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6070 = call ptr @__errno_location() #11
  %6071 = load i32, ptr %6070, align 4, !tbaa !5
  store i32 %6071, ptr %131, align 4, !tbaa !5
  %6072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6073 = call i32 @s2n_print_stacktrace(ptr noundef %6072)
  %6074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6075 = trunc i8 %6074 to i1
  br i1 %6075, label %6076, label %6098

6076:                                             ; preds = %6069
  %6077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6078 = call i32 @fileno(ptr noundef %6077) #10
  %6079 = call i32 @isatty(i32 noundef %6078) #10
  %6080 = icmp ne i32 %6079, 0
  br i1 %6080, label %6081, label %6098

6081:                                             ; preds = %6076
  %6082 = load i32, ptr %131, align 4, !tbaa !5
  %6083 = call ptr @__errno_location() #11
  store i32 %6082, ptr %6083, align 4, !tbaa !5
  %6084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6085 = load i32, ptr @test_count, align 4, !tbaa !5
  %6086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @s2n_strerror(i32 noundef %6087, ptr noundef @.str.4)
  %6089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @s2n_strerror_debug(i32 noundef %6090, ptr noundef @.str.4)
  %6092 = call ptr @__errno_location() #11
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call ptr @strerror(i32 noundef %6093) #10
  %6095 = call ptr @__errno_location() #11
  %6096 = load i32, ptr %6095, align 4, !tbaa !5
  %6097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6084, ptr noundef @.str.2, i32 noundef %6085, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 508, ptr noundef %6088, ptr noundef %6091, ptr noundef %6094, i32 noundef %6096) #10
  br label %6115

6098:                                             ; preds = %6076, %6069
  %6099 = load i32, ptr %131, align 4, !tbaa !5
  %6100 = call ptr @__errno_location() #11
  store i32 %6099, ptr %6100, align 4, !tbaa !5
  %6101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6102 = load i32, ptr @test_count, align 4, !tbaa !5
  %6103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror(i32 noundef %6104, ptr noundef @.str.4)
  %6106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror_debug(i32 noundef %6107, ptr noundef @.str.4)
  %6109 = call ptr @__errno_location() #11
  %6110 = load i32, ptr %6109, align 4, !tbaa !5
  %6111 = call ptr @strerror(i32 noundef %6110) #10
  %6112 = call ptr @__errno_location() #11
  %6113 = load i32, ptr %6112, align 4, !tbaa !5
  %6114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6101, ptr noundef @.str.5, i32 noundef %6102, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 508, ptr noundef %6105, ptr noundef %6108, ptr noundef %6111, i32 noundef %6113) #10
  br label %6115

6115:                                             ; preds = %6098, %6081
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

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

6118:                                             ; No predecessors!
  br label %6119

6119:                                             ; preds = %6118
  br label %6120

6120:                                             ; preds = %6119, %6062
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

6122:                                             ; preds = %6121
  br label %6123

6123:                                             ; preds = %6122
  %6124 = load i32, ptr @test_count, align 4, !tbaa !5
  %6125 = add nsw i32 %6124, 1
  store i32 %6125, ptr @test_count, align 4, !tbaa !5
  %6126 = load ptr, ptr %118, align 8, !tbaa !9
  %6127 = load ptr, ptr %6, align 8, !tbaa !9
  %6128 = load ptr, ptr %7, align 8, !tbaa !9
  %6129 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %6126, ptr noundef %6127, ptr noundef %6128)
  %6130 = icmp eq i32 %6129, -1
  br i1 %6130, label %6131, label %6184

6131:                                             ; preds = %6123
  br label %6132

6132:                                             ; preds = %6131
  br label %6133

6133:                                             ; preds = %6132
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6134 = call ptr @__errno_location() #11
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  store i32 %6135, ptr %132, align 4, !tbaa !5
  %6136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6137 = call i32 @s2n_print_stacktrace(ptr noundef %6136)
  %6138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6139 = trunc i8 %6138 to i1
  br i1 %6139, label %6140, label %6162

6140:                                             ; preds = %6133
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = call i32 @fileno(ptr noundef %6141) #10
  %6143 = call i32 @isatty(i32 noundef %6142) #10
  %6144 = icmp ne i32 %6143, 0
  br i1 %6144, label %6145, label %6162

6145:                                             ; preds = %6140
  %6146 = load i32, ptr %132, align 4, !tbaa !5
  %6147 = call ptr @__errno_location() #11
  store i32 %6146, ptr %6147, align 4, !tbaa !5
  %6148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6149 = load i32, ptr @test_count, align 4, !tbaa !5
  %6150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call ptr @s2n_strerror(i32 noundef %6151, ptr noundef @.str.4)
  %6153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6154 = load i32, ptr %6153, align 4, !tbaa !5
  %6155 = call ptr @s2n_strerror_debug(i32 noundef %6154, ptr noundef @.str.4)
  %6156 = call ptr @__errno_location() #11
  %6157 = load i32, ptr %6156, align 4, !tbaa !5
  %6158 = call ptr @strerror(i32 noundef %6157) #10
  %6159 = call ptr @__errno_location() #11
  %6160 = load i32, ptr %6159, align 4, !tbaa !5
  %6161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6148, ptr noundef @.str.2, i32 noundef %6149, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 509, ptr noundef %6152, ptr noundef %6155, ptr noundef %6158, i32 noundef %6160) #10
  br label %6179

6162:                                             ; preds = %6140, %6133
  %6163 = load i32, ptr %132, align 4, !tbaa !5
  %6164 = call ptr @__errno_location() #11
  store i32 %6163, ptr %6164, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = load i32, ptr @test_count, align 4, !tbaa !5
  %6167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror(i32 noundef %6168, ptr noundef @.str.4)
  %6170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6171 = load i32, ptr %6170, align 4, !tbaa !5
  %6172 = call ptr @s2n_strerror_debug(i32 noundef %6171, ptr noundef @.str.4)
  %6173 = call ptr @__errno_location() #11
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @strerror(i32 noundef %6174) #10
  %6176 = call ptr @__errno_location() #11
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6165, ptr noundef @.str.5, i32 noundef %6166, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 509, ptr noundef %6169, ptr noundef %6172, ptr noundef %6175, i32 noundef %6177) #10
  br label %6179

6179:                                             ; preds = %6162, %6145
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %6180

6180:                                             ; preds = %6179
  br label %6181

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

6182:                                             ; No predecessors!
  br label %6183

6183:                                             ; preds = %6182
  br label %6184

6184:                                             ; preds = %6183, %6123
  br label %6185

6185:                                             ; preds = %6184
  br label %6186

6186:                                             ; preds = %6185
  br label %6187

6187:                                             ; preds = %6186
  %6188 = load i32, ptr @test_count, align 4, !tbaa !5
  %6189 = add nsw i32 %6188, 1
  store i32 %6189, ptr @test_count, align 4, !tbaa !5
  %6190 = load ptr, ptr %116, align 8, !tbaa !9
  %6191 = load ptr, ptr %118, align 8, !tbaa !9
  %6192 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6190, ptr noundef %6191)
  %6193 = icmp eq i32 %6192, -1
  br i1 %6193, label %6194, label %6247

6194:                                             ; preds = %6187
  br label %6195

6195:                                             ; preds = %6194
  br label %6196

6196:                                             ; preds = %6195
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %6197 = call ptr @__errno_location() #11
  %6198 = load i32, ptr %6197, align 4, !tbaa !5
  store i32 %6198, ptr %133, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = call i32 @s2n_print_stacktrace(ptr noundef %6199)
  %6201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6202 = trunc i8 %6201 to i1
  br i1 %6202, label %6203, label %6225

6203:                                             ; preds = %6196
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @fileno(ptr noundef %6204) #10
  %6206 = call i32 @isatty(i32 noundef %6205) #10
  %6207 = icmp ne i32 %6206, 0
  br i1 %6207, label %6208, label %6225

6208:                                             ; preds = %6203
  %6209 = load i32, ptr %133, align 4, !tbaa !5
  %6210 = call ptr @__errno_location() #11
  store i32 %6209, ptr %6210, align 4, !tbaa !5
  %6211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6212 = load i32, ptr @test_count, align 4, !tbaa !5
  %6213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror(i32 noundef %6214, ptr noundef @.str.4)
  %6216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6217 = load i32, ptr %6216, align 4, !tbaa !5
  %6218 = call ptr @s2n_strerror_debug(i32 noundef %6217, ptr noundef @.str.4)
  %6219 = call ptr @__errno_location() #11
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call ptr @strerror(i32 noundef %6220) #10
  %6222 = call ptr @__errno_location() #11
  %6223 = load i32, ptr %6222, align 4, !tbaa !5
  %6224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6211, ptr noundef @.str.2, i32 noundef %6212, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 510, ptr noundef %6215, ptr noundef %6218, ptr noundef %6221, i32 noundef %6223) #10
  br label %6242

6225:                                             ; preds = %6203, %6196
  %6226 = load i32, ptr %133, align 4, !tbaa !5
  %6227 = call ptr @__errno_location() #11
  store i32 %6226, ptr %6227, align 4, !tbaa !5
  %6228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6229 = load i32, ptr @test_count, align 4, !tbaa !5
  %6230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @s2n_strerror(i32 noundef %6231, ptr noundef @.str.4)
  %6233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call ptr @s2n_strerror_debug(i32 noundef %6234, ptr noundef @.str.4)
  %6236 = call ptr @__errno_location() #11
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = call ptr @strerror(i32 noundef %6237) #10
  %6239 = call ptr @__errno_location() #11
  %6240 = load i32, ptr %6239, align 4, !tbaa !5
  %6241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6228, ptr noundef @.str.5, i32 noundef %6229, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 510, ptr noundef %6232, ptr noundef %6235, ptr noundef %6238, i32 noundef %6240) #10
  br label %6242

6242:                                             ; preds = %6225, %6208
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6243

6243:                                             ; preds = %6242
  br label %6244

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

6245:                                             ; No predecessors!
  br label %6246

6246:                                             ; preds = %6245
  br label %6247

6247:                                             ; preds = %6246, %6187
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

6249:                                             ; preds = %6248
  br label %6250

6250:                                             ; preds = %6249
  %6251 = load i32, ptr @test_count, align 4, !tbaa !5
  %6252 = add nsw i32 %6251, 1
  store i32 %6252, ptr @test_count, align 4, !tbaa !5
  %6253 = load ptr, ptr %115, align 8, !tbaa !9
  %6254 = load ptr, ptr %116, align 8, !tbaa !9
  %6255 = call i32 @s2n_connection_set_config(ptr noundef %6253, ptr noundef %6254)
  %6256 = icmp eq i32 %6255, -1
  br i1 %6256, label %6257, label %6310

6257:                                             ; preds = %6250
  br label %6258

6258:                                             ; preds = %6257
  br label %6259

6259:                                             ; preds = %6258
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #10
  %6260 = call ptr @__errno_location() #11
  %6261 = load i32, ptr %6260, align 4, !tbaa !5
  store i32 %6261, ptr %134, align 4, !tbaa !5
  %6262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6263 = call i32 @s2n_print_stacktrace(ptr noundef %6262)
  %6264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6265 = trunc i8 %6264 to i1
  br i1 %6265, label %6266, label %6288

6266:                                             ; preds = %6259
  %6267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6268 = call i32 @fileno(ptr noundef %6267) #10
  %6269 = call i32 @isatty(i32 noundef %6268) #10
  %6270 = icmp ne i32 %6269, 0
  br i1 %6270, label %6271, label %6288

6271:                                             ; preds = %6266
  %6272 = load i32, ptr %134, align 4, !tbaa !5
  %6273 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %6282 = call ptr @__errno_location() #11
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  %6284 = call ptr @strerror(i32 noundef %6283) #10
  %6285 = call ptr @__errno_location() #11
  %6286 = load i32, ptr %6285, align 4, !tbaa !5
  %6287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6274, ptr noundef @.str.2, i32 noundef %6275, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 511, ptr noundef %6278, ptr noundef %6281, ptr noundef %6284, i32 noundef %6286) #10
  br label %6305

6288:                                             ; preds = %6266, %6259
  %6289 = load i32, ptr %134, align 4, !tbaa !5
  %6290 = call ptr @__errno_location() #11
  store i32 %6289, ptr %6290, align 4, !tbaa !5
  %6291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6292 = load i32, ptr @test_count, align 4, !tbaa !5
  %6293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @s2n_strerror(i32 noundef %6294, ptr noundef @.str.4)
  %6296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call ptr @s2n_strerror_debug(i32 noundef %6297, ptr noundef @.str.4)
  %6299 = call ptr @__errno_location() #11
  %6300 = load i32, ptr %6299, align 4, !tbaa !5
  %6301 = call ptr @strerror(i32 noundef %6300) #10
  %6302 = call ptr @__errno_location() #11
  %6303 = load i32, ptr %6302, align 4, !tbaa !5
  %6304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6291, ptr noundef @.str.5, i32 noundef %6292, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 511, ptr noundef %6295, ptr noundef %6298, ptr noundef %6301, i32 noundef %6303) #10
  br label %6305

6305:                                             ; preds = %6288, %6271
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6306

6306:                                             ; preds = %6305
  br label %6307

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

6308:                                             ; No predecessors!
  br label %6309

6309:                                             ; preds = %6308
  br label %6310

6310:                                             ; preds = %6309, %6250
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311
  br label %6313

6313:                                             ; preds = %6312
  %6314 = load i32, ptr @test_count, align 4, !tbaa !5
  %6315 = add nsw i32 %6314, 1
  store i32 %6315, ptr @test_count, align 4, !tbaa !5
  %6316 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %6317 = load i32, ptr %6316, align 4, !tbaa !45
  %6318 = getelementptr inbounds [5 x i8], ptr %125, i64 0, i64 0
  %6319 = call i64 @write(i32 noundef %6317, ptr noundef %6318, i64 noundef 5)
  %6320 = icmp eq i64 %6319, 5
  br i1 %6320, label %6374, label %6321

6321:                                             ; preds = %6313
  br label %6322

6322:                                             ; preds = %6321
  br label %6323

6323:                                             ; preds = %6322
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %6324 = call ptr @__errno_location() #11
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  store i32 %6325, ptr %135, align 4, !tbaa !5
  %6326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6327 = call i32 @s2n_print_stacktrace(ptr noundef %6326)
  %6328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6329 = trunc i8 %6328 to i1
  br i1 %6329, label %6330, label %6352

6330:                                             ; preds = %6323
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @fileno(ptr noundef %6331) #10
  %6333 = call i32 @isatty(i32 noundef %6332) #10
  %6334 = icmp ne i32 %6333, 0
  br i1 %6334, label %6335, label %6352

6335:                                             ; preds = %6330
  %6336 = load i32, ptr %135, align 4, !tbaa !5
  %6337 = call ptr @__errno_location() #11
  store i32 %6336, ptr %6337, align 4, !tbaa !5
  %6338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6339 = load i32, ptr @test_count, align 4, !tbaa !5
  %6340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6341 = load i32, ptr %6340, align 4, !tbaa !5
  %6342 = call ptr @s2n_strerror(i32 noundef %6341, ptr noundef @.str.4)
  %6343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call ptr @s2n_strerror_debug(i32 noundef %6344, ptr noundef @.str.4)
  %6346 = call ptr @__errno_location() #11
  %6347 = load i32, ptr %6346, align 4, !tbaa !5
  %6348 = call ptr @strerror(i32 noundef %6347) #10
  %6349 = call ptr @__errno_location() #11
  %6350 = load i32, ptr %6349, align 4, !tbaa !5
  %6351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6338, ptr noundef @.str.2, i32 noundef %6339, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 514, ptr noundef %6342, ptr noundef %6345, ptr noundef %6348, i32 noundef %6350) #10
  br label %6369

6352:                                             ; preds = %6330, %6323
  %6353 = load i32, ptr %135, align 4, !tbaa !5
  %6354 = call ptr @__errno_location() #11
  store i32 %6353, ptr %6354, align 4, !tbaa !5
  %6355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6356 = load i32, ptr @test_count, align 4, !tbaa !5
  %6357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = call ptr @s2n_strerror(i32 noundef %6358, ptr noundef @.str.4)
  %6360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6361 = load i32, ptr %6360, align 4, !tbaa !5
  %6362 = call ptr @s2n_strerror_debug(i32 noundef %6361, ptr noundef @.str.4)
  %6363 = call ptr @__errno_location() #11
  %6364 = load i32, ptr %6363, align 4, !tbaa !5
  %6365 = call ptr @strerror(i32 noundef %6364) #10
  %6366 = call ptr @__errno_location() #11
  %6367 = load i32, ptr %6366, align 4, !tbaa !5
  %6368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6355, ptr noundef @.str.5, i32 noundef %6356, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 514, ptr noundef %6359, ptr noundef %6362, ptr noundef %6365, i32 noundef %6367) #10
  br label %6369

6369:                                             ; preds = %6352, %6335
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %6370

6370:                                             ; preds = %6369
  br label %6371

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

6372:                                             ; No predecessors!
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373, %6313
  br label %6375

6375:                                             ; preds = %6374
  br label %6376

6376:                                             ; preds = %6375
  br label %6377

6377:                                             ; preds = %6376
  %6378 = load i32, ptr @test_count, align 4, !tbaa !5
  %6379 = add nsw i32 %6378, 1
  store i32 %6379, ptr @test_count, align 4, !tbaa !5
  %6380 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %6381 = load i32, ptr %6380, align 4, !tbaa !45
  %6382 = getelementptr inbounds [4 x i8], ptr %123, i64 0, i64 0
  %6383 = call i64 @write(i32 noundef %6381, ptr noundef %6382, i64 noundef 4)
  %6384 = icmp eq i64 %6383, 4
  br i1 %6384, label %6438, label %6385

6385:                                             ; preds = %6377
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

6387:                                             ; preds = %6386
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %6388 = call ptr @__errno_location() #11
  %6389 = load i32, ptr %6388, align 4, !tbaa !5
  store i32 %6389, ptr %136, align 4, !tbaa !5
  %6390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6391 = call i32 @s2n_print_stacktrace(ptr noundef %6390)
  %6392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6393 = trunc i8 %6392 to i1
  br i1 %6393, label %6394, label %6416

6394:                                             ; preds = %6387
  %6395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6396 = call i32 @fileno(ptr noundef %6395) #10
  %6397 = call i32 @isatty(i32 noundef %6396) #10
  %6398 = icmp ne i32 %6397, 0
  br i1 %6398, label %6399, label %6416

6399:                                             ; preds = %6394
  %6400 = load i32, ptr %136, align 4, !tbaa !5
  %6401 = call ptr @__errno_location() #11
  store i32 %6400, ptr %6401, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = load i32, ptr @test_count, align 4, !tbaa !5
  %6404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror(i32 noundef %6405, ptr noundef @.str.4)
  %6407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror_debug(i32 noundef %6408, ptr noundef @.str.4)
  %6410 = call ptr @__errno_location() #11
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call ptr @strerror(i32 noundef %6411) #10
  %6413 = call ptr @__errno_location() #11
  %6414 = load i32, ptr %6413, align 4, !tbaa !5
  %6415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6402, ptr noundef @.str.2, i32 noundef %6403, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 515, ptr noundef %6406, ptr noundef %6409, ptr noundef %6412, i32 noundef %6414) #10
  br label %6433

6416:                                             ; preds = %6394, %6387
  %6417 = load i32, ptr %136, align 4, !tbaa !5
  %6418 = call ptr @__errno_location() #11
  store i32 %6417, ptr %6418, align 4, !tbaa !5
  %6419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6420 = load i32, ptr @test_count, align 4, !tbaa !5
  %6421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call ptr @s2n_strerror(i32 noundef %6422, ptr noundef @.str.4)
  %6424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6425 = load i32, ptr %6424, align 4, !tbaa !5
  %6426 = call ptr @s2n_strerror_debug(i32 noundef %6425, ptr noundef @.str.4)
  %6427 = call ptr @__errno_location() #11
  %6428 = load i32, ptr %6427, align 4, !tbaa !5
  %6429 = call ptr @strerror(i32 noundef %6428) #10
  %6430 = call ptr @__errno_location() #11
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6419, ptr noundef @.str.5, i32 noundef %6420, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 515, ptr noundef %6423, ptr noundef %6426, ptr noundef %6429, i32 noundef %6431) #10
  br label %6433

6433:                                             ; preds = %6416, %6399
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

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

6436:                                             ; No predecessors!
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

6438:                                             ; preds = %6437, %6377
  br label %6439

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439
  br label %6441

6441:                                             ; preds = %6440
  %6442 = load i32, ptr @test_count, align 4, !tbaa !5
  %6443 = add nsw i32 %6442, 1
  store i32 %6443, ptr @test_count, align 4, !tbaa !5
  %6444 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %6445 = load i32, ptr %6444, align 4, !tbaa !45
  %6446 = getelementptr inbounds [75 x i8], ptr %121, i64 0, i64 0
  %6447 = call i64 @write(i32 noundef %6445, ptr noundef %6446, i64 noundef 75)
  %6448 = icmp eq i64 %6447, 75
  br i1 %6448, label %6502, label %6449

6449:                                             ; preds = %6441
  br label %6450

6450:                                             ; preds = %6449
  br label %6451

6451:                                             ; preds = %6450
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6452 = call ptr @__errno_location() #11
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  store i32 %6453, ptr %137, align 4, !tbaa !5
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @s2n_print_stacktrace(ptr noundef %6454)
  %6456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6457 = trunc i8 %6456 to i1
  br i1 %6457, label %6458, label %6480

6458:                                             ; preds = %6451
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = call i32 @fileno(ptr noundef %6459) #10
  %6461 = call i32 @isatty(i32 noundef %6460) #10
  %6462 = icmp ne i32 %6461, 0
  br i1 %6462, label %6463, label %6480

6463:                                             ; preds = %6458
  %6464 = load i32, ptr %137, align 4, !tbaa !5
  %6465 = call ptr @__errno_location() #11
  store i32 %6464, ptr %6465, align 4, !tbaa !5
  %6466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6467 = load i32, ptr @test_count, align 4, !tbaa !5
  %6468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @s2n_strerror(i32 noundef %6469, ptr noundef @.str.4)
  %6471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror_debug(i32 noundef %6472, ptr noundef @.str.4)
  %6474 = call ptr @__errno_location() #11
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call ptr @strerror(i32 noundef %6475) #10
  %6477 = call ptr @__errno_location() #11
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6466, ptr noundef @.str.2, i32 noundef %6467, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 516, ptr noundef %6470, ptr noundef %6473, ptr noundef %6476, i32 noundef %6478) #10
  br label %6497

6480:                                             ; preds = %6458, %6451
  %6481 = load i32, ptr %137, align 4, !tbaa !5
  %6482 = call ptr @__errno_location() #11
  store i32 %6481, ptr %6482, align 4, !tbaa !5
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = load i32, ptr @test_count, align 4, !tbaa !5
  %6485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror(i32 noundef %6486, ptr noundef @.str.4)
  %6488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call ptr @s2n_strerror_debug(i32 noundef %6489, ptr noundef @.str.4)
  %6491 = call ptr @__errno_location() #11
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #10
  %6494 = call ptr @__errno_location() #11
  %6495 = load i32, ptr %6494, align 4, !tbaa !5
  %6496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6483, ptr noundef @.str.5, i32 noundef %6484, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 516, ptr noundef %6487, ptr noundef %6490, ptr noundef %6493, i32 noundef %6495) #10
  br label %6497

6497:                                             ; preds = %6480, %6463
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

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

6500:                                             ; No predecessors!
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501, %6441
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  br label %6505

6505:                                             ; preds = %6504
  %6506 = load i32, ptr @test_count, align 4, !tbaa !5
  %6507 = add nsw i32 %6506, 1
  store i32 %6507, ptr @test_count, align 4, !tbaa !5
  %6508 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %6509 = load i32, ptr %6508, align 4, !tbaa !45
  %6510 = getelementptr inbounds [32 x i8], ptr %119, i64 0, i64 0
  %6511 = call i64 @write(i32 noundef %6509, ptr noundef %6510, i64 noundef 32)
  %6512 = icmp eq i64 %6511, 32
  br i1 %6512, label %6566, label %6513

6513:                                             ; preds = %6505
  br label %6514

6514:                                             ; preds = %6513
  br label %6515

6515:                                             ; preds = %6514
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6516 = call ptr @__errno_location() #11
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  store i32 %6517, ptr %138, align 4, !tbaa !5
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = call i32 @s2n_print_stacktrace(ptr noundef %6518)
  %6520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6521 = trunc i8 %6520 to i1
  br i1 %6521, label %6522, label %6544

6522:                                             ; preds = %6515
  %6523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6524 = call i32 @fileno(ptr noundef %6523) #10
  %6525 = call i32 @isatty(i32 noundef %6524) #10
  %6526 = icmp ne i32 %6525, 0
  br i1 %6526, label %6527, label %6544

6527:                                             ; preds = %6522
  %6528 = load i32, ptr %138, align 4, !tbaa !5
  %6529 = call ptr @__errno_location() #11
  store i32 %6528, ptr %6529, align 4, !tbaa !5
  %6530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6531 = load i32, ptr @test_count, align 4, !tbaa !5
  %6532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6533 = load i32, ptr %6532, align 4, !tbaa !5
  %6534 = call ptr @s2n_strerror(i32 noundef %6533, ptr noundef @.str.4)
  %6535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6536 = load i32, ptr %6535, align 4, !tbaa !5
  %6537 = call ptr @s2n_strerror_debug(i32 noundef %6536, ptr noundef @.str.4)
  %6538 = call ptr @__errno_location() #11
  %6539 = load i32, ptr %6538, align 4, !tbaa !5
  %6540 = call ptr @strerror(i32 noundef %6539) #10
  %6541 = call ptr @__errno_location() #11
  %6542 = load i32, ptr %6541, align 4, !tbaa !5
  %6543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6530, ptr noundef @.str.2, i32 noundef %6531, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 517, ptr noundef %6534, ptr noundef %6537, ptr noundef %6540, i32 noundef %6542) #10
  br label %6561

6544:                                             ; preds = %6522, %6515
  %6545 = load i32, ptr %138, align 4, !tbaa !5
  %6546 = call ptr @__errno_location() #11
  store i32 %6545, ptr %6546, align 4, !tbaa !5
  %6547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6548 = load i32, ptr @test_count, align 4, !tbaa !5
  %6549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call ptr @s2n_strerror(i32 noundef %6550, ptr noundef @.str.4)
  %6552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6553 = load i32, ptr %6552, align 4, !tbaa !5
  %6554 = call ptr @s2n_strerror_debug(i32 noundef %6553, ptr noundef @.str.4)
  %6555 = call ptr @__errno_location() #11
  %6556 = load i32, ptr %6555, align 4, !tbaa !5
  %6557 = call ptr @strerror(i32 noundef %6556) #10
  %6558 = call ptr @__errno_location() #11
  %6559 = load i32, ptr %6558, align 4, !tbaa !5
  %6560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6547, ptr noundef @.str.5, i32 noundef %6548, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 517, ptr noundef %6551, ptr noundef %6554, ptr noundef %6557, i32 noundef %6559) #10
  br label %6561

6561:                                             ; preds = %6544, %6527
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6562

6562:                                             ; preds = %6561
  br label %6563

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

6564:                                             ; No predecessors!
  br label %6565

6565:                                             ; preds = %6564
  br label %6566

6566:                                             ; preds = %6565, %6505
  br label %6567

6567:                                             ; preds = %6566
  br label %6568

6568:                                             ; preds = %6567
  br label %6569

6569:                                             ; preds = %6568
  %6570 = load i32, ptr @test_count, align 4, !tbaa !5
  %6571 = add nsw i32 %6570, 1
  store i32 %6571, ptr @test_count, align 4, !tbaa !5
  %6572 = load ptr, ptr %115, align 8, !tbaa !9
  %6573 = call i32 @s2n_connection_set_blinding(ptr noundef %6572, i32 noundef 1)
  %6574 = icmp eq i32 %6573, -1
  br i1 %6574, label %6575, label %6628

6575:                                             ; preds = %6569
  br label %6576

6576:                                             ; preds = %6575
  br label %6577

6577:                                             ; preds = %6576
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %6578 = call ptr @__errno_location() #11
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  store i32 %6579, ptr %139, align 4, !tbaa !5
  %6580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6581 = call i32 @s2n_print_stacktrace(ptr noundef %6580)
  %6582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6583 = trunc i8 %6582 to i1
  br i1 %6583, label %6584, label %6606

6584:                                             ; preds = %6577
  %6585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6586 = call i32 @fileno(ptr noundef %6585) #10
  %6587 = call i32 @isatty(i32 noundef %6586) #10
  %6588 = icmp ne i32 %6587, 0
  br i1 %6588, label %6589, label %6606

6589:                                             ; preds = %6584
  %6590 = load i32, ptr %139, align 4, !tbaa !5
  %6591 = call ptr @__errno_location() #11
  store i32 %6590, ptr %6591, align 4, !tbaa !5
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = load i32, ptr @test_count, align 4, !tbaa !5
  %6594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror(i32 noundef %6595, ptr noundef @.str.4)
  %6597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call ptr @s2n_strerror_debug(i32 noundef %6598, ptr noundef @.str.4)
  %6600 = call ptr @__errno_location() #11
  %6601 = load i32, ptr %6600, align 4, !tbaa !5
  %6602 = call ptr @strerror(i32 noundef %6601) #10
  %6603 = call ptr @__errno_location() #11
  %6604 = load i32, ptr %6603, align 4, !tbaa !5
  %6605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6592, ptr noundef @.str.2, i32 noundef %6593, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 520, ptr noundef %6596, ptr noundef %6599, ptr noundef %6602, i32 noundef %6604) #10
  br label %6623

6606:                                             ; preds = %6584, %6577
  %6607 = load i32, ptr %139, align 4, !tbaa !5
  %6608 = call ptr @__errno_location() #11
  store i32 %6607, ptr %6608, align 4, !tbaa !5
  %6609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @s2n_strerror(i32 noundef %6612, ptr noundef @.str.4)
  %6614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call ptr @s2n_strerror_debug(i32 noundef %6615, ptr noundef @.str.4)
  %6617 = call ptr @__errno_location() #11
  %6618 = load i32, ptr %6617, align 4, !tbaa !5
  %6619 = call ptr @strerror(i32 noundef %6618) #10
  %6620 = call ptr @__errno_location() #11
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  %6622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6609, ptr noundef @.str.5, i32 noundef %6610, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 520, ptr noundef %6613, ptr noundef %6616, ptr noundef %6619, i32 noundef %6621) #10
  br label %6623

6623:                                             ; preds = %6606, %6589
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6624

6624:                                             ; preds = %6623
  br label %6625

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

6626:                                             ; No predecessors!
  br label %6627

6627:                                             ; preds = %6626
  br label %6628

6628:                                             ; preds = %6627, %6569
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  %6631 = load ptr, ptr %115, align 8, !tbaa !9
  %6632 = call i32 @s2n_negotiate(ptr noundef %6631, ptr noundef %117)
  br label %6633

6633:                                             ; preds = %6630
  %6634 = load i32, ptr @test_count, align 4, !tbaa !5
  %6635 = add nsw i32 %6634, 1
  store i32 %6635, ptr @test_count, align 4, !tbaa !5
  %6636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6637 = load i32, ptr %6636, align 4, !tbaa !5
  %6638 = icmp eq i32 %6637, 335544395
  br i1 %6638, label %6692, label %6639

6639:                                             ; preds = %6633
  br label %6640

6640:                                             ; preds = %6639
  br label %6641

6641:                                             ; preds = %6640
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %6642 = call ptr @__errno_location() #11
  %6643 = load i32, ptr %6642, align 4, !tbaa !5
  store i32 %6643, ptr %140, align 4, !tbaa !5
  %6644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6645 = call i32 @s2n_print_stacktrace(ptr noundef %6644)
  %6646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6647 = trunc i8 %6646 to i1
  br i1 %6647, label %6648, label %6670

6648:                                             ; preds = %6641
  %6649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6650 = call i32 @fileno(ptr noundef %6649) #10
  %6651 = call i32 @isatty(i32 noundef %6650) #10
  %6652 = icmp ne i32 %6651, 0
  br i1 %6652, label %6653, label %6670

6653:                                             ; preds = %6648
  %6654 = load i32, ptr %140, align 4, !tbaa !5
  %6655 = call ptr @__errno_location() #11
  store i32 %6654, ptr %6655, align 4, !tbaa !5
  %6656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6657 = load i32, ptr @test_count, align 4, !tbaa !5
  %6658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call ptr @s2n_strerror(i32 noundef %6659, ptr noundef @.str.4)
  %6661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6662 = load i32, ptr %6661, align 4, !tbaa !5
  %6663 = call ptr @s2n_strerror_debug(i32 noundef %6662, ptr noundef @.str.4)
  %6664 = call ptr @__errno_location() #11
  %6665 = load i32, ptr %6664, align 4, !tbaa !5
  %6666 = call ptr @strerror(i32 noundef %6665) #10
  %6667 = call ptr @__errno_location() #11
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6656, ptr noundef @.str.2, i32 noundef %6657, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 522, ptr noundef %6660, ptr noundef %6663, ptr noundef %6666, i32 noundef %6668) #10
  br label %6687

6670:                                             ; preds = %6648, %6641
  %6671 = load i32, ptr %140, align 4, !tbaa !5
  %6672 = call ptr @__errno_location() #11
  store i32 %6671, ptr %6672, align 4, !tbaa !5
  %6673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6674 = load i32, ptr @test_count, align 4, !tbaa !5
  %6675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call ptr @s2n_strerror(i32 noundef %6676, ptr noundef @.str.4)
  %6678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6679 = load i32, ptr %6678, align 4, !tbaa !5
  %6680 = call ptr @s2n_strerror_debug(i32 noundef %6679, ptr noundef @.str.4)
  %6681 = call ptr @__errno_location() #11
  %6682 = load i32, ptr %6681, align 4, !tbaa !5
  %6683 = call ptr @strerror(i32 noundef %6682) #10
  %6684 = call ptr @__errno_location() #11
  %6685 = load i32, ptr %6684, align 4, !tbaa !5
  %6686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6673, ptr noundef @.str.5, i32 noundef %6674, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 522, ptr noundef %6677, ptr noundef %6680, ptr noundef %6683, i32 noundef %6685) #10
  br label %6687

6687:                                             ; preds = %6670, %6653
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %6688

6688:                                             ; preds = %6687
  br label %6689

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

6690:                                             ; No predecessors!
  br label %6691

6691:                                             ; preds = %6690
  br label %6692

6692:                                             ; preds = %6691, %6633
  br label %6693

6693:                                             ; preds = %6692
  br label %6694

6694:                                             ; preds = %6693
  br label %6695

6695:                                             ; preds = %6694
  %6696 = load i32, ptr @test_count, align 4, !tbaa !5
  %6697 = add nsw i32 %6696, 1
  store i32 %6697, ptr @test_count, align 4, !tbaa !5
  %6698 = load ptr, ptr %115, align 8, !tbaa !9
  %6699 = call i32 @s2n_connection_free(ptr noundef %6698)
  %6700 = icmp eq i32 %6699, -1
  br i1 %6700, label %6701, label %6754

6701:                                             ; preds = %6695
  br label %6702

6702:                                             ; preds = %6701
  br label %6703

6703:                                             ; preds = %6702
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %6704 = call ptr @__errno_location() #11
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  store i32 %6705, ptr %141, align 4, !tbaa !5
  %6706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6707 = call i32 @s2n_print_stacktrace(ptr noundef %6706)
  %6708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6709 = trunc i8 %6708 to i1
  br i1 %6709, label %6710, label %6732

6710:                                             ; preds = %6703
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = call i32 @fileno(ptr noundef %6711) #10
  %6713 = call i32 @isatty(i32 noundef %6712) #10
  %6714 = icmp ne i32 %6713, 0
  br i1 %6714, label %6715, label %6732

6715:                                             ; preds = %6710
  %6716 = load i32, ptr %141, align 4, !tbaa !5
  %6717 = call ptr @__errno_location() #11
  store i32 %6716, ptr %6717, align 4, !tbaa !5
  %6718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6719 = load i32, ptr @test_count, align 4, !tbaa !5
  %6720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6721 = load i32, ptr %6720, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror(i32 noundef %6721, ptr noundef @.str.4)
  %6723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  %6725 = call ptr @s2n_strerror_debug(i32 noundef %6724, ptr noundef @.str.4)
  %6726 = call ptr @__errno_location() #11
  %6727 = load i32, ptr %6726, align 4, !tbaa !5
  %6728 = call ptr @strerror(i32 noundef %6727) #10
  %6729 = call ptr @__errno_location() #11
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  %6731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6718, ptr noundef @.str.2, i32 noundef %6719, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 524, ptr noundef %6722, ptr noundef %6725, ptr noundef %6728, i32 noundef %6730) #10
  br label %6749

6732:                                             ; preds = %6710, %6703
  %6733 = load i32, ptr %141, align 4, !tbaa !5
  %6734 = call ptr @__errno_location() #11
  store i32 %6733, ptr %6734, align 4, !tbaa !5
  %6735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6736 = load i32, ptr @test_count, align 4, !tbaa !5
  %6737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call ptr @s2n_strerror(i32 noundef %6738, ptr noundef @.str.4)
  %6740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call ptr @s2n_strerror_debug(i32 noundef %6741, ptr noundef @.str.4)
  %6743 = call ptr @__errno_location() #11
  %6744 = load i32, ptr %6743, align 4, !tbaa !5
  %6745 = call ptr @strerror(i32 noundef %6744) #10
  %6746 = call ptr @__errno_location() #11
  %6747 = load i32, ptr %6746, align 4, !tbaa !5
  %6748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6735, ptr noundef @.str.5, i32 noundef %6736, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 524, ptr noundef %6739, ptr noundef %6742, ptr noundef %6745, i32 noundef %6747) #10
  br label %6749

6749:                                             ; preds = %6732, %6715
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %6750

6750:                                             ; preds = %6749
  br label %6751

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

6752:                                             ; No predecessors!
  br label %6753

6753:                                             ; preds = %6752
  br label %6754

6754:                                             ; preds = %6753, %6695
  br label %6755

6755:                                             ; preds = %6754
  br label %6756

6756:                                             ; preds = %6755
  br label %6757

6757:                                             ; preds = %6756
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = add nsw i32 %6758, 1
  store i32 %6759, ptr @test_count, align 4, !tbaa !5
  %6760 = load ptr, ptr %118, align 8, !tbaa !9
  %6761 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %6760)
  %6762 = icmp eq i32 %6761, -1
  br i1 %6762, label %6763, label %6816

6763:                                             ; preds = %6757
  br label %6764

6764:                                             ; preds = %6763
  br label %6765

6765:                                             ; preds = %6764
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %6766 = call ptr @__errno_location() #11
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  store i32 %6767, ptr %142, align 4, !tbaa !5
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = call i32 @s2n_print_stacktrace(ptr noundef %6768)
  %6770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6771 = trunc i8 %6770 to i1
  br i1 %6771, label %6772, label %6794

6772:                                             ; preds = %6765
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = call i32 @fileno(ptr noundef %6773) #10
  %6775 = call i32 @isatty(i32 noundef %6774) #10
  %6776 = icmp ne i32 %6775, 0
  br i1 %6776, label %6777, label %6794

6777:                                             ; preds = %6772
  %6778 = load i32, ptr %142, align 4, !tbaa !5
  %6779 = call ptr @__errno_location() #11
  store i32 %6778, ptr %6779, align 4, !tbaa !5
  %6780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6781 = load i32, ptr @test_count, align 4, !tbaa !5
  %6782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6783 = load i32, ptr %6782, align 4, !tbaa !5
  %6784 = call ptr @s2n_strerror(i32 noundef %6783, ptr noundef @.str.4)
  %6785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6786 = load i32, ptr %6785, align 4, !tbaa !5
  %6787 = call ptr @s2n_strerror_debug(i32 noundef %6786, ptr noundef @.str.4)
  %6788 = call ptr @__errno_location() #11
  %6789 = load i32, ptr %6788, align 4, !tbaa !5
  %6790 = call ptr @strerror(i32 noundef %6789) #10
  %6791 = call ptr @__errno_location() #11
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6780, ptr noundef @.str.2, i32 noundef %6781, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 526, ptr noundef %6784, ptr noundef %6787, ptr noundef %6790, i32 noundef %6792) #10
  br label %6811

6794:                                             ; preds = %6772, %6765
  %6795 = load i32, ptr %142, align 4, !tbaa !5
  %6796 = call ptr @__errno_location() #11
  store i32 %6795, ptr %6796, align 4, !tbaa !5
  %6797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6798 = load i32, ptr @test_count, align 4, !tbaa !5
  %6799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6800 = load i32, ptr %6799, align 4, !tbaa !5
  %6801 = call ptr @s2n_strerror(i32 noundef %6800, ptr noundef @.str.4)
  %6802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6803 = load i32, ptr %6802, align 4, !tbaa !5
  %6804 = call ptr @s2n_strerror_debug(i32 noundef %6803, ptr noundef @.str.4)
  %6805 = call ptr @__errno_location() #11
  %6806 = load i32, ptr %6805, align 4, !tbaa !5
  %6807 = call ptr @strerror(i32 noundef %6806) #10
  %6808 = call ptr @__errno_location() #11
  %6809 = load i32, ptr %6808, align 4, !tbaa !5
  %6810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6797, ptr noundef @.str.5, i32 noundef %6798, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 526, ptr noundef %6801, ptr noundef %6804, ptr noundef %6807, i32 noundef %6809) #10
  br label %6811

6811:                                             ; preds = %6794, %6777
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %6812

6812:                                             ; preds = %6811
  br label %6813

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

6814:                                             ; No predecessors!
  br label %6815

6815:                                             ; preds = %6814
  br label %6816

6816:                                             ; preds = %6815, %6757
  br label %6817

6817:                                             ; preds = %6816
  br label %6818

6818:                                             ; preds = %6817
  br label %6819

6819:                                             ; preds = %6818
  %6820 = load i32, ptr @test_count, align 4, !tbaa !5
  %6821 = add nsw i32 %6820, 1
  store i32 %6821, ptr @test_count, align 4, !tbaa !5
  %6822 = load ptr, ptr %116, align 8, !tbaa !9
  %6823 = call i32 @s2n_config_free(ptr noundef %6822)
  %6824 = icmp eq i32 %6823, -1
  br i1 %6824, label %6825, label %6878

6825:                                             ; preds = %6819
  br label %6826

6826:                                             ; preds = %6825
  br label %6827

6827:                                             ; preds = %6826
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %6828 = call ptr @__errno_location() #11
  %6829 = load i32, ptr %6828, align 4, !tbaa !5
  store i32 %6829, ptr %143, align 4, !tbaa !5
  %6830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6831 = call i32 @s2n_print_stacktrace(ptr noundef %6830)
  %6832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6833 = trunc i8 %6832 to i1
  br i1 %6833, label %6834, label %6856

6834:                                             ; preds = %6827
  %6835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6836 = call i32 @fileno(ptr noundef %6835) #10
  %6837 = call i32 @isatty(i32 noundef %6836) #10
  %6838 = icmp ne i32 %6837, 0
  br i1 %6838, label %6839, label %6856

6839:                                             ; preds = %6834
  %6840 = load i32, ptr %143, align 4, !tbaa !5
  %6841 = call ptr @__errno_location() #11
  store i32 %6840, ptr %6841, align 4, !tbaa !5
  %6842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6843 = load i32, ptr @test_count, align 4, !tbaa !5
  %6844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call ptr @s2n_strerror(i32 noundef %6845, ptr noundef @.str.4)
  %6847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call ptr @s2n_strerror_debug(i32 noundef %6848, ptr noundef @.str.4)
  %6850 = call ptr @__errno_location() #11
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @strerror(i32 noundef %6851) #10
  %6853 = call ptr @__errno_location() #11
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6842, ptr noundef @.str.2, i32 noundef %6843, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 528, ptr noundef %6846, ptr noundef %6849, ptr noundef %6852, i32 noundef %6854) #10
  br label %6873

6856:                                             ; preds = %6834, %6827
  %6857 = load i32, ptr %143, align 4, !tbaa !5
  %6858 = call ptr @__errno_location() #11
  store i32 %6857, ptr %6858, align 4, !tbaa !5
  %6859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6860 = load i32, ptr @test_count, align 4, !tbaa !5
  %6861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call ptr @s2n_strerror(i32 noundef %6862, ptr noundef @.str.4)
  %6864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call ptr @s2n_strerror_debug(i32 noundef %6865, ptr noundef @.str.4)
  %6867 = call ptr @__errno_location() #11
  %6868 = load i32, ptr %6867, align 4, !tbaa !5
  %6869 = call ptr @strerror(i32 noundef %6868) #10
  %6870 = call ptr @__errno_location() #11
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6859, ptr noundef @.str.5, i32 noundef %6860, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 528, ptr noundef %6863, ptr noundef %6866, ptr noundef %6869, i32 noundef %6871) #10
  br label %6873

6873:                                             ; preds = %6856, %6839
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %6874

6874:                                             ; preds = %6873
  br label %6875

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

6876:                                             ; No predecessors!
  br label %6877

6877:                                             ; preds = %6876
  br label %6878

6878:                                             ; preds = %6877, %6819
  br label %6879

6879:                                             ; preds = %6878
  br label %6880

6880:                                             ; preds = %6879
  call void @llvm.lifetime.end.p0(i64 5, ptr %125) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  call void @llvm.lifetime.end.p0(i64 75, ptr %121) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #10
  store ptr null, ptr %144, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #10
  store ptr null, ptr %145, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #10
  store ptr null, ptr %147, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 5, ptr %148) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %148, ptr align 1 @__const.main.client_extensions.66, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  store i32 5, ptr %149, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 75, ptr %150) #10
  store i8 3, ptr %150, align 1, !tbaa !44
  %6881 = getelementptr inbounds i8, ptr %150, i64 1
  store i8 3, ptr %6881, align 1, !tbaa !44
  %6882 = getelementptr inbounds i8, ptr %150, i64 2
  store i8 0, ptr %6882, align 1, !tbaa !44
  %6883 = getelementptr inbounds i8, ptr %150, i64 3
  store i8 1, ptr %6883, align 1, !tbaa !44
  %6884 = getelementptr inbounds i8, ptr %150, i64 4
  store i8 2, ptr %6884, align 1, !tbaa !44
  %6885 = getelementptr inbounds i8, ptr %150, i64 5
  store i8 3, ptr %6885, align 1, !tbaa !44
  %6886 = getelementptr inbounds i8, ptr %150, i64 6
  store i8 4, ptr %6886, align 1, !tbaa !44
  %6887 = getelementptr inbounds i8, ptr %150, i64 7
  store i8 5, ptr %6887, align 1, !tbaa !44
  %6888 = getelementptr inbounds i8, ptr %150, i64 8
  store i8 6, ptr %6888, align 1, !tbaa !44
  %6889 = getelementptr inbounds i8, ptr %150, i64 9
  store i8 7, ptr %6889, align 1, !tbaa !44
  %6890 = getelementptr inbounds i8, ptr %150, i64 10
  store i8 8, ptr %6890, align 1, !tbaa !44
  %6891 = getelementptr inbounds i8, ptr %150, i64 11
  store i8 9, ptr %6891, align 1, !tbaa !44
  %6892 = getelementptr inbounds i8, ptr %150, i64 12
  store i8 10, ptr %6892, align 1, !tbaa !44
  %6893 = getelementptr inbounds i8, ptr %150, i64 13
  store i8 11, ptr %6893, align 1, !tbaa !44
  %6894 = getelementptr inbounds i8, ptr %150, i64 14
  store i8 12, ptr %6894, align 1, !tbaa !44
  %6895 = getelementptr inbounds i8, ptr %150, i64 15
  store i8 13, ptr %6895, align 1, !tbaa !44
  %6896 = getelementptr inbounds i8, ptr %150, i64 16
  store i8 14, ptr %6896, align 1, !tbaa !44
  %6897 = getelementptr inbounds i8, ptr %150, i64 17
  store i8 15, ptr %6897, align 1, !tbaa !44
  %6898 = getelementptr inbounds i8, ptr %150, i64 18
  store i8 16, ptr %6898, align 1, !tbaa !44
  %6899 = getelementptr inbounds i8, ptr %150, i64 19
  store i8 17, ptr %6899, align 1, !tbaa !44
  %6900 = getelementptr inbounds i8, ptr %150, i64 20
  store i8 18, ptr %6900, align 1, !tbaa !44
  %6901 = getelementptr inbounds i8, ptr %150, i64 21
  store i8 19, ptr %6901, align 1, !tbaa !44
  %6902 = getelementptr inbounds i8, ptr %150, i64 22
  store i8 20, ptr %6902, align 1, !tbaa !44
  %6903 = getelementptr inbounds i8, ptr %150, i64 23
  store i8 21, ptr %6903, align 1, !tbaa !44
  %6904 = getelementptr inbounds i8, ptr %150, i64 24
  store i8 22, ptr %6904, align 1, !tbaa !44
  %6905 = getelementptr inbounds i8, ptr %150, i64 25
  store i8 23, ptr %6905, align 1, !tbaa !44
  %6906 = getelementptr inbounds i8, ptr %150, i64 26
  store i8 24, ptr %6906, align 1, !tbaa !44
  %6907 = getelementptr inbounds i8, ptr %150, i64 27
  store i8 25, ptr %6907, align 1, !tbaa !44
  %6908 = getelementptr inbounds i8, ptr %150, i64 28
  store i8 26, ptr %6908, align 1, !tbaa !44
  %6909 = getelementptr inbounds i8, ptr %150, i64 29
  store i8 27, ptr %6909, align 1, !tbaa !44
  %6910 = getelementptr inbounds i8, ptr %150, i64 30
  store i8 28, ptr %6910, align 1, !tbaa !44
  %6911 = getelementptr inbounds i8, ptr %150, i64 31
  store i8 29, ptr %6911, align 1, !tbaa !44
  %6912 = getelementptr inbounds i8, ptr %150, i64 32
  store i8 30, ptr %6912, align 1, !tbaa !44
  %6913 = getelementptr inbounds i8, ptr %150, i64 33
  store i8 31, ptr %6913, align 1, !tbaa !44
  %6914 = getelementptr inbounds i8, ptr %150, i64 34
  store i8 32, ptr %6914, align 1, !tbaa !44
  %6915 = getelementptr inbounds i8, ptr %150, i64 35
  store i8 0, ptr %6915, align 1, !tbaa !44
  %6916 = getelementptr inbounds i8, ptr %150, i64 36
  store i8 1, ptr %6916, align 1, !tbaa !44
  %6917 = getelementptr inbounds i8, ptr %150, i64 37
  store i8 2, ptr %6917, align 1, !tbaa !44
  %6918 = getelementptr inbounds i8, ptr %150, i64 38
  store i8 3, ptr %6918, align 1, !tbaa !44
  %6919 = getelementptr inbounds i8, ptr %150, i64 39
  store i8 4, ptr %6919, align 1, !tbaa !44
  %6920 = getelementptr inbounds i8, ptr %150, i64 40
  store i8 5, ptr %6920, align 1, !tbaa !44
  %6921 = getelementptr inbounds i8, ptr %150, i64 41
  store i8 6, ptr %6921, align 1, !tbaa !44
  %6922 = getelementptr inbounds i8, ptr %150, i64 42
  store i8 7, ptr %6922, align 1, !tbaa !44
  %6923 = getelementptr inbounds i8, ptr %150, i64 43
  store i8 8, ptr %6923, align 1, !tbaa !44
  %6924 = getelementptr inbounds i8, ptr %150, i64 44
  store i8 9, ptr %6924, align 1, !tbaa !44
  %6925 = getelementptr inbounds i8, ptr %150, i64 45
  store i8 10, ptr %6925, align 1, !tbaa !44
  %6926 = getelementptr inbounds i8, ptr %150, i64 46
  store i8 11, ptr %6926, align 1, !tbaa !44
  %6927 = getelementptr inbounds i8, ptr %150, i64 47
  store i8 12, ptr %6927, align 1, !tbaa !44
  %6928 = getelementptr inbounds i8, ptr %150, i64 48
  store i8 13, ptr %6928, align 1, !tbaa !44
  %6929 = getelementptr inbounds i8, ptr %150, i64 49
  store i8 14, ptr %6929, align 1, !tbaa !44
  %6930 = getelementptr inbounds i8, ptr %150, i64 50
  store i8 15, ptr %6930, align 1, !tbaa !44
  %6931 = getelementptr inbounds i8, ptr %150, i64 51
  store i8 16, ptr %6931, align 1, !tbaa !44
  %6932 = getelementptr inbounds i8, ptr %150, i64 52
  store i8 17, ptr %6932, align 1, !tbaa !44
  %6933 = getelementptr inbounds i8, ptr %150, i64 53
  store i8 18, ptr %6933, align 1, !tbaa !44
  %6934 = getelementptr inbounds i8, ptr %150, i64 54
  store i8 19, ptr %6934, align 1, !tbaa !44
  %6935 = getelementptr inbounds i8, ptr %150, i64 55
  store i8 20, ptr %6935, align 1, !tbaa !44
  %6936 = getelementptr inbounds i8, ptr %150, i64 56
  store i8 21, ptr %6936, align 1, !tbaa !44
  %6937 = getelementptr inbounds i8, ptr %150, i64 57
  store i8 22, ptr %6937, align 1, !tbaa !44
  %6938 = getelementptr inbounds i8, ptr %150, i64 58
  store i8 23, ptr %6938, align 1, !tbaa !44
  %6939 = getelementptr inbounds i8, ptr %150, i64 59
  store i8 24, ptr %6939, align 1, !tbaa !44
  %6940 = getelementptr inbounds i8, ptr %150, i64 60
  store i8 25, ptr %6940, align 1, !tbaa !44
  %6941 = getelementptr inbounds i8, ptr %150, i64 61
  store i8 26, ptr %6941, align 1, !tbaa !44
  %6942 = getelementptr inbounds i8, ptr %150, i64 62
  store i8 27, ptr %6942, align 1, !tbaa !44
  %6943 = getelementptr inbounds i8, ptr %150, i64 63
  store i8 28, ptr %6943, align 1, !tbaa !44
  %6944 = getelementptr inbounds i8, ptr %150, i64 64
  store i8 29, ptr %6944, align 1, !tbaa !44
  %6945 = getelementptr inbounds i8, ptr %150, i64 65
  store i8 30, ptr %6945, align 1, !tbaa !44
  %6946 = getelementptr inbounds i8, ptr %150, i64 66
  store i8 31, ptr %6946, align 1, !tbaa !44
  %6947 = getelementptr inbounds i8, ptr %150, i64 67
  store i8 0, ptr %6947, align 1, !tbaa !44
  %6948 = getelementptr inbounds i8, ptr %150, i64 68
  store i8 2, ptr %6948, align 1, !tbaa !44
  %6949 = getelementptr inbounds i8, ptr %150, i64 69
  store i8 0, ptr %6949, align 1, !tbaa !44
  %6950 = getelementptr inbounds i8, ptr %150, i64 70
  store i8 60, ptr %6950, align 1, !tbaa !44
  %6951 = getelementptr inbounds i8, ptr %150, i64 71
  store i8 1, ptr %6951, align 1, !tbaa !44
  %6952 = getelementptr inbounds i8, ptr %150, i64 72
  store i8 0, ptr %6952, align 1, !tbaa !44
  %6953 = getelementptr inbounds i8, ptr %150, i64 73
  %6954 = load i32, ptr %149, align 4, !tbaa !5
  %6955 = ashr i32 %6954, 8
  %6956 = and i32 %6955, 255
  %6957 = trunc i32 %6956 to i8
  store i8 %6957, ptr %6953, align 1, !tbaa !44
  %6958 = getelementptr inbounds i8, ptr %150, i64 74
  %6959 = load i32, ptr %149, align 4, !tbaa !5
  %6960 = and i32 %6959, 255
  %6961 = trunc i32 %6960 to i8
  store i8 %6961, ptr %6958, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %6962 = load i32, ptr %149, align 4, !tbaa !5
  %6963 = sext i32 %6962 to i64
  %6964 = add i64 75, %6963
  %6965 = trunc i64 %6964 to i32
  store i32 %6965, ptr %151, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  store i8 1, ptr %152, align 1, !tbaa !44
  %6966 = getelementptr inbounds i8, ptr %152, i64 1
  %6967 = load i32, ptr %151, align 4, !tbaa !5
  %6968 = ashr i32 %6967, 16
  %6969 = and i32 %6968, 255
  %6970 = trunc i32 %6969 to i8
  store i8 %6970, ptr %6966, align 1, !tbaa !44
  %6971 = getelementptr inbounds i8, ptr %152, i64 2
  %6972 = load i32, ptr %151, align 4, !tbaa !5
  %6973 = ashr i32 %6972, 8
  %6974 = and i32 %6973, 255
  %6975 = trunc i32 %6974 to i8
  store i8 %6975, ptr %6971, align 1, !tbaa !44
  %6976 = getelementptr inbounds i8, ptr %152, i64 3
  %6977 = load i32, ptr %151, align 4, !tbaa !5
  %6978 = and i32 %6977, 255
  %6979 = trunc i32 %6978 to i8
  store i8 %6979, ptr %6976, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %6980 = load i32, ptr %151, align 4, !tbaa !5
  %6981 = sext i32 %6980 to i64
  %6982 = add i64 4, %6981
  %6983 = trunc i64 %6982 to i32
  store i32 %6983, ptr %153, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 5, ptr %154) #10
  store i8 22, ptr %154, align 1, !tbaa !44
  %6984 = getelementptr inbounds i8, ptr %154, i64 1
  store i8 3, ptr %6984, align 1, !tbaa !44
  %6985 = getelementptr inbounds i8, ptr %154, i64 2
  store i8 3, ptr %6985, align 1, !tbaa !44
  %6986 = getelementptr inbounds i8, ptr %154, i64 3
  %6987 = load i32, ptr %153, align 4, !tbaa !5
  %6988 = ashr i32 %6987, 8
  %6989 = and i32 %6988, 255
  %6990 = trunc i32 %6989 to i8
  store i8 %6990, ptr %6986, align 1, !tbaa !44
  %6991 = getelementptr inbounds i8, ptr %154, i64 4
  %6992 = load i32, ptr %153, align 4, !tbaa !5
  %6993 = and i32 %6992, 255
  %6994 = trunc i32 %6993 to i8
  store i8 %6994, ptr %6991, align 1, !tbaa !44
  br label %6995

6995:                                             ; preds = %6880
  %6996 = load i32, ptr @test_count, align 4, !tbaa !5
  %6997 = add nsw i32 %6996, 1
  store i32 %6997, ptr @test_count, align 4, !tbaa !5
  %6998 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6998, ptr %144, align 8, !tbaa !9
  %6999 = icmp eq ptr %6998, null
  br i1 %6999, label %7000, label %7053

7000:                                             ; preds = %6995
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

7002:                                             ; preds = %7001
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7003 = call ptr @__errno_location() #11
  %7004 = load i32, ptr %7003, align 4, !tbaa !5
  store i32 %7004, ptr %155, align 4, !tbaa !5
  %7005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7006 = call i32 @s2n_print_stacktrace(ptr noundef %7005)
  %7007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7008 = trunc i8 %7007 to i1
  br i1 %7008, label %7009, label %7031

7009:                                             ; preds = %7002
  %7010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7011 = call i32 @fileno(ptr noundef %7010) #10
  %7012 = call i32 @isatty(i32 noundef %7011) #10
  %7013 = icmp ne i32 %7012, 0
  br i1 %7013, label %7014, label %7031

7014:                                             ; preds = %7009
  %7015 = load i32, ptr %155, align 4, !tbaa !5
  %7016 = call ptr @__errno_location() #11
  store i32 %7015, ptr %7016, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = load i32, ptr @test_count, align 4, !tbaa !5
  %7019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror(i32 noundef %7020, ptr noundef @.str.4)
  %7022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7023 = load i32, ptr %7022, align 4, !tbaa !5
  %7024 = call ptr @s2n_strerror_debug(i32 noundef %7023, ptr noundef @.str.4)
  %7025 = call ptr @__errno_location() #11
  %7026 = load i32, ptr %7025, align 4, !tbaa !5
  %7027 = call ptr @strerror(i32 noundef %7026) #10
  %7028 = call ptr @__errno_location() #11
  %7029 = load i32, ptr %7028, align 4, !tbaa !5
  %7030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7017, ptr noundef @.str.2, i32 noundef %7018, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 594, ptr noundef %7021, ptr noundef %7024, ptr noundef %7027, i32 noundef %7029) #10
  br label %7048

7031:                                             ; preds = %7009, %7002
  %7032 = load i32, ptr %155, align 4, !tbaa !5
  %7033 = call ptr @__errno_location() #11
  store i32 %7032, ptr %7033, align 4, !tbaa !5
  %7034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7035 = load i32, ptr @test_count, align 4, !tbaa !5
  %7036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call ptr @s2n_strerror(i32 noundef %7037, ptr noundef @.str.4)
  %7039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @s2n_strerror_debug(i32 noundef %7040, ptr noundef @.str.4)
  %7042 = call ptr @__errno_location() #11
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call ptr @strerror(i32 noundef %7043) #10
  %7045 = call ptr @__errno_location() #11
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7034, ptr noundef @.str.5, i32 noundef %7035, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 594, ptr noundef %7038, ptr noundef %7041, ptr noundef %7044, i32 noundef %7046) #10
  br label %7048

7048:                                             ; preds = %7031, %7014
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7049

7049:                                             ; preds = %7048
  br label %7050

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

7051:                                             ; No predecessors!
  br label %7052

7052:                                             ; preds = %7051
  br label %7053

7053:                                             ; preds = %7052, %6995
  br label %7054

7054:                                             ; preds = %7053
  br label %7055

7055:                                             ; preds = %7054
  br label %7056

7056:                                             ; preds = %7055
  %7057 = load i32, ptr @test_count, align 4, !tbaa !5
  %7058 = add nsw i32 %7057, 1
  store i32 %7058, ptr @test_count, align 4, !tbaa !5
  %7059 = load ptr, ptr %144, align 8, !tbaa !9
  %7060 = call i32 @s2n_connection_set_io_pair(ptr noundef %7059, ptr noundef %15)
  %7061 = icmp eq i32 %7060, -1
  br i1 %7061, label %7062, label %7115

7062:                                             ; preds = %7056
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

7064:                                             ; preds = %7063
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7065 = call ptr @__errno_location() #11
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  store i32 %7066, ptr %156, align 4, !tbaa !5
  %7067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7068 = call i32 @s2n_print_stacktrace(ptr noundef %7067)
  %7069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7070 = trunc i8 %7069 to i1
  br i1 %7070, label %7071, label %7093

7071:                                             ; preds = %7064
  %7072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7073 = call i32 @fileno(ptr noundef %7072) #10
  %7074 = call i32 @isatty(i32 noundef %7073) #10
  %7075 = icmp ne i32 %7074, 0
  br i1 %7075, label %7076, label %7093

7076:                                             ; preds = %7071
  %7077 = load i32, ptr %156, align 4, !tbaa !5
  %7078 = call ptr @__errno_location() #11
  store i32 %7077, ptr %7078, align 4, !tbaa !5
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7082 = load i32, ptr %7081, align 4, !tbaa !5
  %7083 = call ptr @s2n_strerror(i32 noundef %7082, ptr noundef @.str.4)
  %7084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7085 = load i32, ptr %7084, align 4, !tbaa !5
  %7086 = call ptr @s2n_strerror_debug(i32 noundef %7085, ptr noundef @.str.4)
  %7087 = call ptr @__errno_location() #11
  %7088 = load i32, ptr %7087, align 4, !tbaa !5
  %7089 = call ptr @strerror(i32 noundef %7088) #10
  %7090 = call ptr @__errno_location() #11
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7079, ptr noundef @.str.2, i32 noundef %7080, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 595, ptr noundef %7083, ptr noundef %7086, ptr noundef %7089, i32 noundef %7091) #10
  br label %7110

7093:                                             ; preds = %7071, %7064
  %7094 = load i32, ptr %156, align 4, !tbaa !5
  %7095 = call ptr @__errno_location() #11
  store i32 %7094, ptr %7095, align 4, !tbaa !5
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = load i32, ptr @test_count, align 4, !tbaa !5
  %7098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7099 = load i32, ptr %7098, align 4, !tbaa !5
  %7100 = call ptr @s2n_strerror(i32 noundef %7099, ptr noundef @.str.4)
  %7101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7102 = load i32, ptr %7101, align 4, !tbaa !5
  %7103 = call ptr @s2n_strerror_debug(i32 noundef %7102, ptr noundef @.str.4)
  %7104 = call ptr @__errno_location() #11
  %7105 = load i32, ptr %7104, align 4, !tbaa !5
  %7106 = call ptr @strerror(i32 noundef %7105) #10
  %7107 = call ptr @__errno_location() #11
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7096, ptr noundef @.str.5, i32 noundef %7097, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 595, ptr noundef %7100, ptr noundef %7103, ptr noundef %7106, i32 noundef %7108) #10
  br label %7110

7110:                                             ; preds = %7093, %7076
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %7111

7111:                                             ; preds = %7110
  br label %7112

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

7113:                                             ; No predecessors!
  br label %7114

7114:                                             ; preds = %7113
  br label %7115

7115:                                             ; preds = %7114, %7056
  br label %7116

7116:                                             ; preds = %7115
  br label %7117

7117:                                             ; preds = %7116
  br label %7118

7118:                                             ; preds = %7117
  %7119 = load i32, ptr @test_count, align 4, !tbaa !5
  %7120 = add nsw i32 %7119, 1
  store i32 %7120, ptr @test_count, align 4, !tbaa !5
  %7121 = call ptr @s2n_config_new()
  store ptr %7121, ptr %145, align 8, !tbaa !9
  %7122 = icmp eq ptr %7121, null
  br i1 %7122, label %7123, label %7176

7123:                                             ; preds = %7118
  br label %7124

7124:                                             ; preds = %7123
  br label %7125

7125:                                             ; preds = %7124
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %7126 = call ptr @__errno_location() #11
  %7127 = load i32, ptr %7126, align 4, !tbaa !5
  store i32 %7127, ptr %157, align 4, !tbaa !5
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = call i32 @s2n_print_stacktrace(ptr noundef %7128)
  %7130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7131 = trunc i8 %7130 to i1
  br i1 %7131, label %7132, label %7154

7132:                                             ; preds = %7125
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = call i32 @fileno(ptr noundef %7133) #10
  %7135 = call i32 @isatty(i32 noundef %7134) #10
  %7136 = icmp ne i32 %7135, 0
  br i1 %7136, label %7137, label %7154

7137:                                             ; preds = %7132
  %7138 = load i32, ptr %157, align 4, !tbaa !5
  %7139 = call ptr @__errno_location() #11
  store i32 %7138, ptr %7139, align 4, !tbaa !5
  %7140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7141 = load i32, ptr @test_count, align 4, !tbaa !5
  %7142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7143 = load i32, ptr %7142, align 4, !tbaa !5
  %7144 = call ptr @s2n_strerror(i32 noundef %7143, ptr noundef @.str.4)
  %7145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7146 = load i32, ptr %7145, align 4, !tbaa !5
  %7147 = call ptr @s2n_strerror_debug(i32 noundef %7146, ptr noundef @.str.4)
  %7148 = call ptr @__errno_location() #11
  %7149 = load i32, ptr %7148, align 4, !tbaa !5
  %7150 = call ptr @strerror(i32 noundef %7149) #10
  %7151 = call ptr @__errno_location() #11
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  %7153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7140, ptr noundef @.str.2, i32 noundef %7141, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 597, ptr noundef %7144, ptr noundef %7147, ptr noundef %7150, i32 noundef %7152) #10
  br label %7171

7154:                                             ; preds = %7132, %7125
  %7155 = load i32, ptr %157, align 4, !tbaa !5
  %7156 = call ptr @__errno_location() #11
  store i32 %7155, ptr %7156, align 4, !tbaa !5
  %7157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7158 = load i32, ptr @test_count, align 4, !tbaa !5
  %7159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7160 = load i32, ptr %7159, align 4, !tbaa !5
  %7161 = call ptr @s2n_strerror(i32 noundef %7160, ptr noundef @.str.4)
  %7162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7163 = load i32, ptr %7162, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror_debug(i32 noundef %7163, ptr noundef @.str.4)
  %7165 = call ptr @__errno_location() #11
  %7166 = load i32, ptr %7165, align 4, !tbaa !5
  %7167 = call ptr @strerror(i32 noundef %7166) #10
  %7168 = call ptr @__errno_location() #11
  %7169 = load i32, ptr %7168, align 4, !tbaa !5
  %7170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7157, ptr noundef @.str.5, i32 noundef %7158, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 597, ptr noundef %7161, ptr noundef %7164, ptr noundef %7167, i32 noundef %7169) #10
  br label %7171

7171:                                             ; preds = %7154, %7137
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %7172

7172:                                             ; preds = %7171
  br label %7173

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

7174:                                             ; No predecessors!
  br label %7175

7175:                                             ; preds = %7174
  br label %7176

7176:                                             ; preds = %7175, %7118
  br label %7177

7177:                                             ; preds = %7176
  br label %7178

7178:                                             ; preds = %7177
  br label %7179

7179:                                             ; preds = %7178
  %7180 = load i32, ptr @test_count, align 4, !tbaa !5
  %7181 = add nsw i32 %7180, 1
  store i32 %7181, ptr @test_count, align 4, !tbaa !5
  %7182 = load ptr, ptr %145, align 8, !tbaa !9
  %7183 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %7182, ptr noundef @.str.50)
  %7184 = icmp eq i32 %7183, -1
  br i1 %7184, label %7185, label %7238

7185:                                             ; preds = %7179
  br label %7186

7186:                                             ; preds = %7185
  br label %7187

7187:                                             ; preds = %7186
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7188 = call ptr @__errno_location() #11
  %7189 = load i32, ptr %7188, align 4, !tbaa !5
  store i32 %7189, ptr %158, align 4, !tbaa !5
  %7190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7191 = call i32 @s2n_print_stacktrace(ptr noundef %7190)
  %7192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7193 = trunc i8 %7192 to i1
  br i1 %7193, label %7194, label %7216

7194:                                             ; preds = %7187
  %7195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7196 = call i32 @fileno(ptr noundef %7195) #10
  %7197 = call i32 @isatty(i32 noundef %7196) #10
  %7198 = icmp ne i32 %7197, 0
  br i1 %7198, label %7199, label %7216

7199:                                             ; preds = %7194
  %7200 = load i32, ptr %158, align 4, !tbaa !5
  %7201 = call ptr @__errno_location() #11
  store i32 %7200, ptr %7201, align 4, !tbaa !5
  %7202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7203 = load i32, ptr @test_count, align 4, !tbaa !5
  %7204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call ptr @s2n_strerror(i32 noundef %7205, ptr noundef @.str.4)
  %7207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call ptr @s2n_strerror_debug(i32 noundef %7208, ptr noundef @.str.4)
  %7210 = call ptr @__errno_location() #11
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call ptr @strerror(i32 noundef %7211) #10
  %7213 = call ptr @__errno_location() #11
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7202, ptr noundef @.str.2, i32 noundef %7203, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 599, ptr noundef %7206, ptr noundef %7209, ptr noundef %7212, i32 noundef %7214) #10
  br label %7233

7216:                                             ; preds = %7194, %7187
  %7217 = load i32, ptr %158, align 4, !tbaa !5
  %7218 = call ptr @__errno_location() #11
  store i32 %7217, ptr %7218, align 4, !tbaa !5
  %7219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7220 = load i32, ptr @test_count, align 4, !tbaa !5
  %7221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @s2n_strerror(i32 noundef %7222, ptr noundef @.str.4)
  %7224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @s2n_strerror_debug(i32 noundef %7225, ptr noundef @.str.4)
  %7227 = call ptr @__errno_location() #11
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @strerror(i32 noundef %7228) #10
  %7230 = call ptr @__errno_location() #11
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7219, ptr noundef @.str.5, i32 noundef %7220, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 599, ptr noundef %7223, ptr noundef %7226, ptr noundef %7229, i32 noundef %7231) #10
  br label %7233

7233:                                             ; preds = %7216, %7199
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %7234

7234:                                             ; preds = %7233
  br label %7235

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

7236:                                             ; No predecessors!
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237, %7179
  br label %7239

7239:                                             ; preds = %7238
  br label %7240

7240:                                             ; preds = %7239
  br label %7241

7241:                                             ; preds = %7240
  %7242 = load i32, ptr @test_count, align 4, !tbaa !5
  %7243 = add nsw i32 %7242, 1
  store i32 %7243, ptr @test_count, align 4, !tbaa !5
  %7244 = load ptr, ptr %6, align 8, !tbaa !9
  %7245 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %7244, i64 noundef 12000)
  %7246 = icmp eq i32 %7245, -1
  br i1 %7246, label %7247, label %7300

7247:                                             ; preds = %7241
  br label %7248

7248:                                             ; preds = %7247
  br label %7249

7249:                                             ; preds = %7248
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %7250 = call ptr @__errno_location() #11
  %7251 = load i32, ptr %7250, align 4, !tbaa !5
  store i32 %7251, ptr %159, align 4, !tbaa !5
  %7252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7253 = call i32 @s2n_print_stacktrace(ptr noundef %7252)
  %7254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7255 = trunc i8 %7254 to i1
  br i1 %7255, label %7256, label %7278

7256:                                             ; preds = %7249
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = call i32 @fileno(ptr noundef %7257) #10
  %7259 = call i32 @isatty(i32 noundef %7258) #10
  %7260 = icmp ne i32 %7259, 0
  br i1 %7260, label %7261, label %7278

7261:                                             ; preds = %7256
  %7262 = load i32, ptr %159, align 4, !tbaa !5
  %7263 = call ptr @__errno_location() #11
  store i32 %7262, ptr %7263, align 4, !tbaa !5
  %7264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7265 = load i32, ptr @test_count, align 4, !tbaa !5
  %7266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror(i32 noundef %7267, ptr noundef @.str.4)
  %7269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7270 = load i32, ptr %7269, align 4, !tbaa !5
  %7271 = call ptr @s2n_strerror_debug(i32 noundef %7270, ptr noundef @.str.4)
  %7272 = call ptr @__errno_location() #11
  %7273 = load i32, ptr %7272, align 4, !tbaa !5
  %7274 = call ptr @strerror(i32 noundef %7273) #10
  %7275 = call ptr @__errno_location() #11
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  %7277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7264, ptr noundef @.str.2, i32 noundef %7265, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 600, ptr noundef %7268, ptr noundef %7271, ptr noundef %7274, i32 noundef %7276) #10
  br label %7295

7278:                                             ; preds = %7256, %7249
  %7279 = load i32, ptr %159, align 4, !tbaa !5
  %7280 = call ptr @__errno_location() #11
  store i32 %7279, ptr %7280, align 4, !tbaa !5
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = load i32, ptr @test_count, align 4, !tbaa !5
  %7283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror(i32 noundef %7284, ptr noundef @.str.4)
  %7286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call ptr @s2n_strerror_debug(i32 noundef %7287, ptr noundef @.str.4)
  %7289 = call ptr @__errno_location() #11
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call ptr @strerror(i32 noundef %7290) #10
  %7292 = call ptr @__errno_location() #11
  %7293 = load i32, ptr %7292, align 4, !tbaa !5
  %7294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7281, ptr noundef @.str.5, i32 noundef %7282, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 600, ptr noundef %7285, ptr noundef %7288, ptr noundef %7291, i32 noundef %7293) #10
  br label %7295

7295:                                             ; preds = %7278, %7261
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %7296

7296:                                             ; preds = %7295
  br label %7297

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

7298:                                             ; No predecessors!
  br label %7299

7299:                                             ; preds = %7298
  br label %7300

7300:                                             ; preds = %7299, %7241
  br label %7301

7301:                                             ; preds = %7300
  br label %7302

7302:                                             ; preds = %7301
  br label %7303

7303:                                             ; preds = %7302
  %7304 = load i32, ptr @test_count, align 4, !tbaa !5
  %7305 = add nsw i32 %7304, 1
  store i32 %7305, ptr @test_count, align 4, !tbaa !5
  %7306 = load ptr, ptr %7, align 8, !tbaa !9
  %7307 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %7306, i64 noundef 12000)
  %7308 = icmp eq i32 %7307, -1
  br i1 %7308, label %7309, label %7362

7309:                                             ; preds = %7303
  br label %7310

7310:                                             ; preds = %7309
  br label %7311

7311:                                             ; preds = %7310
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %7312 = call ptr @__errno_location() #11
  %7313 = load i32, ptr %7312, align 4, !tbaa !5
  store i32 %7313, ptr %160, align 4, !tbaa !5
  %7314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7315 = call i32 @s2n_print_stacktrace(ptr noundef %7314)
  %7316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7317 = trunc i8 %7316 to i1
  br i1 %7317, label %7318, label %7340

7318:                                             ; preds = %7311
  %7319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7320 = call i32 @fileno(ptr noundef %7319) #10
  %7321 = call i32 @isatty(i32 noundef %7320) #10
  %7322 = icmp ne i32 %7321, 0
  br i1 %7322, label %7323, label %7340

7323:                                             ; preds = %7318
  %7324 = load i32, ptr %160, align 4, !tbaa !5
  %7325 = call ptr @__errno_location() #11
  store i32 %7324, ptr %7325, align 4, !tbaa !5
  %7326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7327 = load i32, ptr @test_count, align 4, !tbaa !5
  %7328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  %7330 = call ptr @s2n_strerror(i32 noundef %7329, ptr noundef @.str.4)
  %7331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7332 = load i32, ptr %7331, align 4, !tbaa !5
  %7333 = call ptr @s2n_strerror_debug(i32 noundef %7332, ptr noundef @.str.4)
  %7334 = call ptr @__errno_location() #11
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  %7336 = call ptr @strerror(i32 noundef %7335) #10
  %7337 = call ptr @__errno_location() #11
  %7338 = load i32, ptr %7337, align 4, !tbaa !5
  %7339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7326, ptr noundef @.str.2, i32 noundef %7327, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 601, ptr noundef %7330, ptr noundef %7333, ptr noundef %7336, i32 noundef %7338) #10
  br label %7357

7340:                                             ; preds = %7318, %7311
  %7341 = load i32, ptr %160, align 4, !tbaa !5
  %7342 = call ptr @__errno_location() #11
  store i32 %7341, ptr %7342, align 4, !tbaa !5
  %7343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7344 = load i32, ptr @test_count, align 4, !tbaa !5
  %7345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7346 = load i32, ptr %7345, align 4, !tbaa !5
  %7347 = call ptr @s2n_strerror(i32 noundef %7346, ptr noundef @.str.4)
  %7348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7349 = load i32, ptr %7348, align 4, !tbaa !5
  %7350 = call ptr @s2n_strerror_debug(i32 noundef %7349, ptr noundef @.str.4)
  %7351 = call ptr @__errno_location() #11
  %7352 = load i32, ptr %7351, align 4, !tbaa !5
  %7353 = call ptr @strerror(i32 noundef %7352) #10
  %7354 = call ptr @__errno_location() #11
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  %7356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7343, ptr noundef @.str.5, i32 noundef %7344, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 601, ptr noundef %7347, ptr noundef %7350, ptr noundef %7353, i32 noundef %7355) #10
  br label %7357

7357:                                             ; preds = %7340, %7323
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %7358

7358:                                             ; preds = %7357
  br label %7359

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

7360:                                             ; No predecessors!
  br label %7361

7361:                                             ; preds = %7360
  br label %7362

7362:                                             ; preds = %7361, %7303
  br label %7363

7363:                                             ; preds = %7362
  br label %7364

7364:                                             ; preds = %7363
  br label %7365

7365:                                             ; preds = %7364
  %7366 = load i32, ptr @test_count, align 4, !tbaa !5
  %7367 = add nsw i32 %7366, 1
  store i32 %7367, ptr @test_count, align 4, !tbaa !5
  %7368 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %7368, ptr %147, align 8, !tbaa !9
  %7369 = icmp eq ptr %7368, null
  br i1 %7369, label %7370, label %7423

7370:                                             ; preds = %7365
  br label %7371

7371:                                             ; preds = %7370
  br label %7372

7372:                                             ; preds = %7371
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %7373 = call ptr @__errno_location() #11
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  store i32 %7374, ptr %161, align 4, !tbaa !5
  %7375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7376 = call i32 @s2n_print_stacktrace(ptr noundef %7375)
  %7377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7378 = trunc i8 %7377 to i1
  br i1 %7378, label %7379, label %7401

7379:                                             ; preds = %7372
  %7380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7381 = call i32 @fileno(ptr noundef %7380) #10
  %7382 = call i32 @isatty(i32 noundef %7381) #10
  %7383 = icmp ne i32 %7382, 0
  br i1 %7383, label %7384, label %7401

7384:                                             ; preds = %7379
  %7385 = load i32, ptr %161, align 4, !tbaa !5
  %7386 = call ptr @__errno_location() #11
  store i32 %7385, ptr %7386, align 4, !tbaa !5
  %7387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7388 = load i32, ptr @test_count, align 4, !tbaa !5
  %7389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7390 = load i32, ptr %7389, align 4, !tbaa !5
  %7391 = call ptr @s2n_strerror(i32 noundef %7390, ptr noundef @.str.4)
  %7392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7393 = load i32, ptr %7392, align 4, !tbaa !5
  %7394 = call ptr @s2n_strerror_debug(i32 noundef %7393, ptr noundef @.str.4)
  %7395 = call ptr @__errno_location() #11
  %7396 = load i32, ptr %7395, align 4, !tbaa !5
  %7397 = call ptr @strerror(i32 noundef %7396) #10
  %7398 = call ptr @__errno_location() #11
  %7399 = load i32, ptr %7398, align 4, !tbaa !5
  %7400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7387, ptr noundef @.str.2, i32 noundef %7388, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 602, ptr noundef %7391, ptr noundef %7394, ptr noundef %7397, i32 noundef %7399) #10
  br label %7418

7401:                                             ; preds = %7379, %7372
  %7402 = load i32, ptr %161, align 4, !tbaa !5
  %7403 = call ptr @__errno_location() #11
  store i32 %7402, ptr %7403, align 4, !tbaa !5
  %7404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7405 = load i32, ptr @test_count, align 4, !tbaa !5
  %7406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7407 = load i32, ptr %7406, align 4, !tbaa !5
  %7408 = call ptr @s2n_strerror(i32 noundef %7407, ptr noundef @.str.4)
  %7409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7410 = load i32, ptr %7409, align 4, !tbaa !5
  %7411 = call ptr @s2n_strerror_debug(i32 noundef %7410, ptr noundef @.str.4)
  %7412 = call ptr @__errno_location() #11
  %7413 = load i32, ptr %7412, align 4, !tbaa !5
  %7414 = call ptr @strerror(i32 noundef %7413) #10
  %7415 = call ptr @__errno_location() #11
  %7416 = load i32, ptr %7415, align 4, !tbaa !5
  %7417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7404, ptr noundef @.str.5, i32 noundef %7405, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 602, ptr noundef %7408, ptr noundef %7411, ptr noundef %7414, i32 noundef %7416) #10
  br label %7418

7418:                                             ; preds = %7401, %7384
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %7419

7419:                                             ; preds = %7418
  br label %7420

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

7421:                                             ; No predecessors!
  br label %7422

7422:                                             ; preds = %7421
  br label %7423

7423:                                             ; preds = %7422, %7365
  br label %7424

7424:                                             ; preds = %7423
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

7426:                                             ; preds = %7425
  %7427 = load i32, ptr @test_count, align 4, !tbaa !5
  %7428 = add nsw i32 %7427, 1
  store i32 %7428, ptr @test_count, align 4, !tbaa !5
  %7429 = load ptr, ptr %147, align 8, !tbaa !9
  %7430 = load ptr, ptr %6, align 8, !tbaa !9
  %7431 = load ptr, ptr %7, align 8, !tbaa !9
  %7432 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %7429, ptr noundef %7430, ptr noundef %7431)
  %7433 = icmp eq i32 %7432, -1
  br i1 %7433, label %7434, label %7487

7434:                                             ; preds = %7426
  br label %7435

7435:                                             ; preds = %7434
  br label %7436

7436:                                             ; preds = %7435
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %7437 = call ptr @__errno_location() #11
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  store i32 %7438, ptr %162, align 4, !tbaa !5
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = call i32 @s2n_print_stacktrace(ptr noundef %7439)
  %7441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7442 = trunc i8 %7441 to i1
  br i1 %7442, label %7443, label %7465

7443:                                             ; preds = %7436
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = call i32 @fileno(ptr noundef %7444) #10
  %7446 = call i32 @isatty(i32 noundef %7445) #10
  %7447 = icmp ne i32 %7446, 0
  br i1 %7447, label %7448, label %7465

7448:                                             ; preds = %7443
  %7449 = load i32, ptr %162, align 4, !tbaa !5
  %7450 = call ptr @__errno_location() #11
  store i32 %7449, ptr %7450, align 4, !tbaa !5
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = load i32, ptr @test_count, align 4, !tbaa !5
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror(i32 noundef %7454, ptr noundef @.str.4)
  %7456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror_debug(i32 noundef %7457, ptr noundef @.str.4)
  %7459 = call ptr @__errno_location() #11
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call ptr @strerror(i32 noundef %7460) #10
  %7462 = call ptr @__errno_location() #11
  %7463 = load i32, ptr %7462, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7451, ptr noundef @.str.2, i32 noundef %7452, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 603, ptr noundef %7455, ptr noundef %7458, ptr noundef %7461, i32 noundef %7463) #10
  br label %7482

7465:                                             ; preds = %7443, %7436
  %7466 = load i32, ptr %162, align 4, !tbaa !5
  %7467 = call ptr @__errno_location() #11
  store i32 %7466, ptr %7467, align 4, !tbaa !5
  %7468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7469 = load i32, ptr @test_count, align 4, !tbaa !5
  %7470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7471 = load i32, ptr %7470, align 4, !tbaa !5
  %7472 = call ptr @s2n_strerror(i32 noundef %7471, ptr noundef @.str.4)
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror_debug(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call ptr @__errno_location() #11
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #10
  %7479 = call ptr @__errno_location() #11
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7468, ptr noundef @.str.5, i32 noundef %7469, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 603, ptr noundef %7472, ptr noundef %7475, ptr noundef %7478, i32 noundef %7480) #10
  br label %7482

7482:                                             ; preds = %7465, %7448
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %7483

7483:                                             ; preds = %7482
  br label %7484

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

7485:                                             ; No predecessors!
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

7487:                                             ; preds = %7486, %7426
  br label %7488

7488:                                             ; preds = %7487
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = add nsw i32 %7491, 1
  store i32 %7492, ptr @test_count, align 4, !tbaa !5
  %7493 = load ptr, ptr %145, align 8, !tbaa !9
  %7494 = load ptr, ptr %147, align 8, !tbaa !9
  %7495 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7493, ptr noundef %7494)
  %7496 = icmp eq i32 %7495, -1
  br i1 %7496, label %7497, label %7550

7497:                                             ; preds = %7490
  br label %7498

7498:                                             ; preds = %7497
  br label %7499

7499:                                             ; preds = %7498
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %7500 = call ptr @__errno_location() #11
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  store i32 %7501, ptr %163, align 4, !tbaa !5
  %7502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7503 = call i32 @s2n_print_stacktrace(ptr noundef %7502)
  %7504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7505 = trunc i8 %7504 to i1
  br i1 %7505, label %7506, label %7528

7506:                                             ; preds = %7499
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @fileno(ptr noundef %7507) #10
  %7509 = call i32 @isatty(i32 noundef %7508) #10
  %7510 = icmp ne i32 %7509, 0
  br i1 %7510, label %7511, label %7528

7511:                                             ; preds = %7506
  %7512 = load i32, ptr %163, align 4, !tbaa !5
  %7513 = call ptr @__errno_location() #11
  store i32 %7512, ptr %7513, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call ptr @s2n_strerror(i32 noundef %7517, ptr noundef @.str.4)
  %7519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7520 = load i32, ptr %7519, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror_debug(i32 noundef %7520, ptr noundef @.str.4)
  %7522 = call ptr @__errno_location() #11
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #10
  %7525 = call ptr @__errno_location() #11
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7514, ptr noundef @.str.2, i32 noundef %7515, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 604, ptr noundef %7518, ptr noundef %7521, ptr noundef %7524, i32 noundef %7526) #10
  br label %7545

7528:                                             ; preds = %7506, %7499
  %7529 = load i32, ptr %163, align 4, !tbaa !5
  %7530 = call ptr @__errno_location() #11
  store i32 %7529, ptr %7530, align 4, !tbaa !5
  %7531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = call ptr @s2n_strerror(i32 noundef %7534, ptr noundef @.str.4)
  %7536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7537 = load i32, ptr %7536, align 4, !tbaa !5
  %7538 = call ptr @s2n_strerror_debug(i32 noundef %7537, ptr noundef @.str.4)
  %7539 = call ptr @__errno_location() #11
  %7540 = load i32, ptr %7539, align 4, !tbaa !5
  %7541 = call ptr @strerror(i32 noundef %7540) #10
  %7542 = call ptr @__errno_location() #11
  %7543 = load i32, ptr %7542, align 4, !tbaa !5
  %7544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7531, ptr noundef @.str.5, i32 noundef %7532, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 604, ptr noundef %7535, ptr noundef %7538, ptr noundef %7541, i32 noundef %7543) #10
  br label %7545

7545:                                             ; preds = %7528, %7511
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %7546

7546:                                             ; preds = %7545
  br label %7547

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

7548:                                             ; No predecessors!
  br label %7549

7549:                                             ; preds = %7548
  br label %7550

7550:                                             ; preds = %7549, %7490
  br label %7551

7551:                                             ; preds = %7550
  br label %7552

7552:                                             ; preds = %7551
  br label %7553

7553:                                             ; preds = %7552
  %7554 = load i32, ptr @test_count, align 4, !tbaa !5
  %7555 = add nsw i32 %7554, 1
  store i32 %7555, ptr @test_count, align 4, !tbaa !5
  %7556 = load ptr, ptr %144, align 8, !tbaa !9
  %7557 = load ptr, ptr %145, align 8, !tbaa !9
  %7558 = call i32 @s2n_connection_set_config(ptr noundef %7556, ptr noundef %7557)
  %7559 = icmp eq i32 %7558, -1
  br i1 %7559, label %7560, label %7613

7560:                                             ; preds = %7553
  br label %7561

7561:                                             ; preds = %7560
  br label %7562

7562:                                             ; preds = %7561
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %7563 = call ptr @__errno_location() #11
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  store i32 %7564, ptr %164, align 4, !tbaa !5
  %7565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7566 = call i32 @s2n_print_stacktrace(ptr noundef %7565)
  %7567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7568 = trunc i8 %7567 to i1
  br i1 %7568, label %7569, label %7591

7569:                                             ; preds = %7562
  %7570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7571 = call i32 @fileno(ptr noundef %7570) #10
  %7572 = call i32 @isatty(i32 noundef %7571) #10
  %7573 = icmp ne i32 %7572, 0
  br i1 %7573, label %7574, label %7591

7574:                                             ; preds = %7569
  %7575 = load i32, ptr %164, align 4, !tbaa !5
  %7576 = call ptr @__errno_location() #11
  store i32 %7575, ptr %7576, align 4, !tbaa !5
  %7577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7578 = load i32, ptr @test_count, align 4, !tbaa !5
  %7579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7580 = load i32, ptr %7579, align 4, !tbaa !5
  %7581 = call ptr @s2n_strerror(i32 noundef %7580, ptr noundef @.str.4)
  %7582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror_debug(i32 noundef %7583, ptr noundef @.str.4)
  %7585 = call ptr @__errno_location() #11
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  %7587 = call ptr @strerror(i32 noundef %7586) #10
  %7588 = call ptr @__errno_location() #11
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7577, ptr noundef @.str.2, i32 noundef %7578, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 605, ptr noundef %7581, ptr noundef %7584, ptr noundef %7587, i32 noundef %7589) #10
  br label %7608

7591:                                             ; preds = %7569, %7562
  %7592 = load i32, ptr %164, align 4, !tbaa !5
  %7593 = call ptr @__errno_location() #11
  store i32 %7592, ptr %7593, align 4, !tbaa !5
  %7594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7595 = load i32, ptr @test_count, align 4, !tbaa !5
  %7596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  %7598 = call ptr @s2n_strerror(i32 noundef %7597, ptr noundef @.str.4)
  %7599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror_debug(i32 noundef %7600, ptr noundef @.str.4)
  %7602 = call ptr @__errno_location() #11
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @strerror(i32 noundef %7603) #10
  %7605 = call ptr @__errno_location() #11
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7594, ptr noundef @.str.5, i32 noundef %7595, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 605, ptr noundef %7598, ptr noundef %7601, ptr noundef %7604, i32 noundef %7606) #10
  br label %7608

7608:                                             ; preds = %7591, %7574
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %7609

7609:                                             ; preds = %7608
  br label %7610

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

7611:                                             ; No predecessors!
  br label %7612

7612:                                             ; preds = %7611
  br label %7613

7613:                                             ; preds = %7612, %7553
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  br label %7616

7616:                                             ; preds = %7615
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = add nsw i32 %7617, 1
  store i32 %7618, ptr @test_count, align 4, !tbaa !5
  %7619 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %7620 = load i32, ptr %7619, align 4, !tbaa !45
  %7621 = getelementptr inbounds [5 x i8], ptr %154, i64 0, i64 0
  %7622 = call i64 @write(i32 noundef %7620, ptr noundef %7621, i64 noundef 5)
  %7623 = icmp eq i64 %7622, 5
  br i1 %7623, label %7677, label %7624

7624:                                             ; preds = %7616
  br label %7625

7625:                                             ; preds = %7624
  br label %7626

7626:                                             ; preds = %7625
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %7627 = call ptr @__errno_location() #11
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  store i32 %7628, ptr %165, align 4, !tbaa !5
  %7629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7630 = call i32 @s2n_print_stacktrace(ptr noundef %7629)
  %7631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7632 = trunc i8 %7631 to i1
  br i1 %7632, label %7633, label %7655

7633:                                             ; preds = %7626
  %7634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7635 = call i32 @fileno(ptr noundef %7634) #10
  %7636 = call i32 @isatty(i32 noundef %7635) #10
  %7637 = icmp ne i32 %7636, 0
  br i1 %7637, label %7638, label %7655

7638:                                             ; preds = %7633
  %7639 = load i32, ptr %165, align 4, !tbaa !5
  %7640 = call ptr @__errno_location() #11
  store i32 %7639, ptr %7640, align 4, !tbaa !5
  %7641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7642 = load i32, ptr @test_count, align 4, !tbaa !5
  %7643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @s2n_strerror(i32 noundef %7644, ptr noundef @.str.4)
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror_debug(i32 noundef %7647, ptr noundef @.str.4)
  %7649 = call ptr @__errno_location() #11
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @strerror(i32 noundef %7650) #10
  %7652 = call ptr @__errno_location() #11
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7641, ptr noundef @.str.2, i32 noundef %7642, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 608, ptr noundef %7645, ptr noundef %7648, ptr noundef %7651, i32 noundef %7653) #10
  br label %7672

7655:                                             ; preds = %7633, %7626
  %7656 = load i32, ptr %165, align 4, !tbaa !5
  %7657 = call ptr @__errno_location() #11
  store i32 %7656, ptr %7657, align 4, !tbaa !5
  %7658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7659 = load i32, ptr @test_count, align 4, !tbaa !5
  %7660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7661 = load i32, ptr %7660, align 4, !tbaa !5
  %7662 = call ptr @s2n_strerror(i32 noundef %7661, ptr noundef @.str.4)
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror_debug(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call ptr @__errno_location() #11
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @strerror(i32 noundef %7667) #10
  %7669 = call ptr @__errno_location() #11
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7658, ptr noundef @.str.5, i32 noundef %7659, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 608, ptr noundef %7662, ptr noundef %7665, ptr noundef %7668, i32 noundef %7670) #10
  br label %7672

7672:                                             ; preds = %7655, %7638
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %7673

7673:                                             ; preds = %7672
  br label %7674

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

7675:                                             ; No predecessors!
  br label %7676

7676:                                             ; preds = %7675
  br label %7677

7677:                                             ; preds = %7676, %7616
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678
  br label %7680

7680:                                             ; preds = %7679
  %7681 = load i32, ptr @test_count, align 4, !tbaa !5
  %7682 = add nsw i32 %7681, 1
  store i32 %7682, ptr @test_count, align 4, !tbaa !5
  %7683 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %7684 = load i32, ptr %7683, align 4, !tbaa !45
  %7685 = getelementptr inbounds [4 x i8], ptr %152, i64 0, i64 0
  %7686 = call i64 @write(i32 noundef %7684, ptr noundef %7685, i64 noundef 4)
  %7687 = icmp eq i64 %7686, 4
  br i1 %7687, label %7741, label %7688

7688:                                             ; preds = %7680
  br label %7689

7689:                                             ; preds = %7688
  br label %7690

7690:                                             ; preds = %7689
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %7691 = call ptr @__errno_location() #11
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  store i32 %7692, ptr %166, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693)
  %7695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7696 = trunc i8 %7695 to i1
  br i1 %7696, label %7697, label %7719

7697:                                             ; preds = %7690
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = call i32 @fileno(ptr noundef %7698) #10
  %7700 = call i32 @isatty(i32 noundef %7699) #10
  %7701 = icmp ne i32 %7700, 0
  br i1 %7701, label %7702, label %7719

7702:                                             ; preds = %7697
  %7703 = load i32, ptr %166, align 4, !tbaa !5
  %7704 = call ptr @__errno_location() #11
  store i32 %7703, ptr %7704, align 4, !tbaa !5
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = load i32, ptr @test_count, align 4, !tbaa !5
  %7707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call ptr @s2n_strerror(i32 noundef %7708, ptr noundef @.str.4)
  %7710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7711 = load i32, ptr %7710, align 4, !tbaa !5
  %7712 = call ptr @s2n_strerror_debug(i32 noundef %7711, ptr noundef @.str.4)
  %7713 = call ptr @__errno_location() #11
  %7714 = load i32, ptr %7713, align 4, !tbaa !5
  %7715 = call ptr @strerror(i32 noundef %7714) #10
  %7716 = call ptr @__errno_location() #11
  %7717 = load i32, ptr %7716, align 4, !tbaa !5
  %7718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7705, ptr noundef @.str.2, i32 noundef %7706, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 609, ptr noundef %7709, ptr noundef %7712, ptr noundef %7715, i32 noundef %7717) #10
  br label %7736

7719:                                             ; preds = %7697, %7690
  %7720 = load i32, ptr %166, align 4, !tbaa !5
  %7721 = call ptr @__errno_location() #11
  store i32 %7720, ptr %7721, align 4, !tbaa !5
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @s2n_strerror(i32 noundef %7725, ptr noundef @.str.4)
  %7727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call ptr @s2n_strerror_debug(i32 noundef %7728, ptr noundef @.str.4)
  %7730 = call ptr @__errno_location() #11
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call ptr @strerror(i32 noundef %7731) #10
  %7733 = call ptr @__errno_location() #11
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  %7735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7722, ptr noundef @.str.5, i32 noundef %7723, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 609, ptr noundef %7726, ptr noundef %7729, ptr noundef %7732, i32 noundef %7734) #10
  br label %7736

7736:                                             ; preds = %7719, %7702
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

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

7739:                                             ; No predecessors!
  br label %7740

7740:                                             ; preds = %7739
  br label %7741

7741:                                             ; preds = %7740, %7680
  br label %7742

7742:                                             ; preds = %7741
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  %7745 = load i32, ptr @test_count, align 4, !tbaa !5
  %7746 = add nsw i32 %7745, 1
  store i32 %7746, ptr @test_count, align 4, !tbaa !5
  %7747 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %7748 = load i32, ptr %7747, align 4, !tbaa !45
  %7749 = getelementptr inbounds [75 x i8], ptr %150, i64 0, i64 0
  %7750 = call i64 @write(i32 noundef %7748, ptr noundef %7749, i64 noundef 75)
  %7751 = icmp eq i64 %7750, 75
  br i1 %7751, label %7805, label %7752

7752:                                             ; preds = %7744
  br label %7753

7753:                                             ; preds = %7752
  br label %7754

7754:                                             ; preds = %7753
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %7755 = call ptr @__errno_location() #11
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  store i32 %7756, ptr %167, align 4, !tbaa !5
  %7757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7758 = call i32 @s2n_print_stacktrace(ptr noundef %7757)
  %7759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7760 = trunc i8 %7759 to i1
  br i1 %7760, label %7761, label %7783

7761:                                             ; preds = %7754
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = call i32 @fileno(ptr noundef %7762) #10
  %7764 = call i32 @isatty(i32 noundef %7763) #10
  %7765 = icmp ne i32 %7764, 0
  br i1 %7765, label %7766, label %7783

7766:                                             ; preds = %7761
  %7767 = load i32, ptr %167, align 4, !tbaa !5
  %7768 = call ptr @__errno_location() #11
  store i32 %7767, ptr %7768, align 4, !tbaa !5
  %7769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7770 = load i32, ptr @test_count, align 4, !tbaa !5
  %7771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @s2n_strerror(i32 noundef %7772, ptr noundef @.str.4)
  %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_debug(i32 noundef %7775, ptr noundef @.str.4)
  %7777 = call ptr @__errno_location() #11
  %7778 = load i32, ptr %7777, align 4, !tbaa !5
  %7779 = call ptr @strerror(i32 noundef %7778) #10
  %7780 = call ptr @__errno_location() #11
  %7781 = load i32, ptr %7780, align 4, !tbaa !5
  %7782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7769, ptr noundef @.str.2, i32 noundef %7770, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 610, ptr noundef %7773, ptr noundef %7776, ptr noundef %7779, i32 noundef %7781) #10
  br label %7800

7783:                                             ; preds = %7761, %7754
  %7784 = load i32, ptr %167, align 4, !tbaa !5
  %7785 = call ptr @__errno_location() #11
  store i32 %7784, ptr %7785, align 4, !tbaa !5
  %7786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7787 = load i32, ptr @test_count, align 4, !tbaa !5
  %7788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7789 = load i32, ptr %7788, align 4, !tbaa !5
  %7790 = call ptr @s2n_strerror(i32 noundef %7789, ptr noundef @.str.4)
  %7791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  %7793 = call ptr @s2n_strerror_debug(i32 noundef %7792, ptr noundef @.str.4)
  %7794 = call ptr @__errno_location() #11
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  %7796 = call ptr @strerror(i32 noundef %7795) #10
  %7797 = call ptr @__errno_location() #11
  %7798 = load i32, ptr %7797, align 4, !tbaa !5
  %7799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7786, ptr noundef @.str.5, i32 noundef %7787, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 610, ptr noundef %7790, ptr noundef %7793, ptr noundef %7796, i32 noundef %7798) #10
  br label %7800

7800:                                             ; preds = %7783, %7766
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %7801

7801:                                             ; preds = %7800
  br label %7802

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

7803:                                             ; No predecessors!
  br label %7804

7804:                                             ; preds = %7803
  br label %7805

7805:                                             ; preds = %7804, %7744
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

7807:                                             ; preds = %7806
  br label %7808

7808:                                             ; preds = %7807
  %7809 = load i32, ptr @test_count, align 4, !tbaa !5
  %7810 = add nsw i32 %7809, 1
  store i32 %7810, ptr @test_count, align 4, !tbaa !5
  %7811 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %7812 = load i32, ptr %7811, align 4, !tbaa !45
  %7813 = getelementptr inbounds [5 x i8], ptr %148, i64 0, i64 0
  %7814 = call i64 @write(i32 noundef %7812, ptr noundef %7813, i64 noundef 5)
  %7815 = icmp eq i64 %7814, 5
  br i1 %7815, label %7869, label %7816

7816:                                             ; preds = %7808
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

7818:                                             ; preds = %7817
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %7819 = call ptr @__errno_location() #11
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  store i32 %7820, ptr %168, align 4, !tbaa !5
  %7821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7822 = call i32 @s2n_print_stacktrace(ptr noundef %7821)
  %7823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7824 = trunc i8 %7823 to i1
  br i1 %7824, label %7825, label %7847

7825:                                             ; preds = %7818
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = call i32 @fileno(ptr noundef %7826) #10
  %7828 = call i32 @isatty(i32 noundef %7827) #10
  %7829 = icmp ne i32 %7828, 0
  br i1 %7829, label %7830, label %7847

7830:                                             ; preds = %7825
  %7831 = load i32, ptr %168, align 4, !tbaa !5
  %7832 = call ptr @__errno_location() #11
  store i32 %7831, ptr %7832, align 4, !tbaa !5
  %7833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7834 = load i32, ptr @test_count, align 4, !tbaa !5
  %7835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call ptr @s2n_strerror(i32 noundef %7836, ptr noundef @.str.4)
  %7838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7839 = load i32, ptr %7838, align 4, !tbaa !5
  %7840 = call ptr @s2n_strerror_debug(i32 noundef %7839, ptr noundef @.str.4)
  %7841 = call ptr @__errno_location() #11
  %7842 = load i32, ptr %7841, align 4, !tbaa !5
  %7843 = call ptr @strerror(i32 noundef %7842) #10
  %7844 = call ptr @__errno_location() #11
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7833, ptr noundef @.str.2, i32 noundef %7834, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 611, ptr noundef %7837, ptr noundef %7840, ptr noundef %7843, i32 noundef %7845) #10
  br label %7864

7847:                                             ; preds = %7825, %7818
  %7848 = load i32, ptr %168, align 4, !tbaa !5
  %7849 = call ptr @__errno_location() #11
  store i32 %7848, ptr %7849, align 4, !tbaa !5
  %7850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7851 = load i32, ptr @test_count, align 4, !tbaa !5
  %7852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  %7854 = call ptr @s2n_strerror(i32 noundef %7853, ptr noundef @.str.4)
  %7855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7856 = load i32, ptr %7855, align 4, !tbaa !5
  %7857 = call ptr @s2n_strerror_debug(i32 noundef %7856, ptr noundef @.str.4)
  %7858 = call ptr @__errno_location() #11
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @strerror(i32 noundef %7859) #10
  %7861 = call ptr @__errno_location() #11
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7850, ptr noundef @.str.5, i32 noundef %7851, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 611, ptr noundef %7854, ptr noundef %7857, ptr noundef %7860, i32 noundef %7862) #10
  br label %7864

7864:                                             ; preds = %7847, %7830
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %7865

7865:                                             ; preds = %7864
  br label %7866

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

7867:                                             ; No predecessors!
  br label %7868

7868:                                             ; preds = %7867
  br label %7869

7869:                                             ; preds = %7868, %7808
  br label %7870

7870:                                             ; preds = %7869
  br label %7871

7871:                                             ; preds = %7870
  %7872 = load ptr, ptr %144, align 8, !tbaa !9
  %7873 = call i32 @s2n_negotiate(ptr noundef %7872, ptr noundef %146)
  br label %7874

7874:                                             ; preds = %7871
  %7875 = load i32, ptr @test_count, align 4, !tbaa !5
  %7876 = add nsw i32 %7875, 1
  store i32 %7876, ptr @test_count, align 4, !tbaa !5
  %7877 = load ptr, ptr %144, align 8, !tbaa !9
  %7878 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7877)
  %7879 = icmp ugt i32 %7878, 0
  br i1 %7879, label %7933, label %7880

7880:                                             ; preds = %7874
  br label %7881

7881:                                             ; preds = %7880
  br label %7882

7882:                                             ; preds = %7881
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %7883 = call ptr @__errno_location() #11
  %7884 = load i32, ptr %7883, align 4, !tbaa !5
  store i32 %7884, ptr %169, align 4, !tbaa !5
  %7885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7886 = call i32 @s2n_print_stacktrace(ptr noundef %7885)
  %7887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7888 = trunc i8 %7887 to i1
  br i1 %7888, label %7889, label %7911

7889:                                             ; preds = %7882
  %7890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7891 = call i32 @fileno(ptr noundef %7890) #10
  %7892 = call i32 @isatty(i32 noundef %7891) #10
  %7893 = icmp ne i32 %7892, 0
  br i1 %7893, label %7894, label %7911

7894:                                             ; preds = %7889
  %7895 = load i32, ptr %169, align 4, !tbaa !5
  %7896 = call ptr @__errno_location() #11
  store i32 %7895, ptr %7896, align 4, !tbaa !5
  %7897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7898 = load i32, ptr @test_count, align 4, !tbaa !5
  %7899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call ptr @s2n_strerror(i32 noundef %7900, ptr noundef @.str.4)
  %7902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7903 = load i32, ptr %7902, align 4, !tbaa !5
  %7904 = call ptr @s2n_strerror_debug(i32 noundef %7903, ptr noundef @.str.4)
  %7905 = call ptr @__errno_location() #11
  %7906 = load i32, ptr %7905, align 4, !tbaa !5
  %7907 = call ptr @strerror(i32 noundef %7906) #10
  %7908 = call ptr @__errno_location() #11
  %7909 = load i32, ptr %7908, align 4, !tbaa !5
  %7910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7897, ptr noundef @.str.2, i32 noundef %7898, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 615, ptr noundef %7901, ptr noundef %7904, ptr noundef %7907, i32 noundef %7909) #10
  br label %7928

7911:                                             ; preds = %7889, %7882
  %7912 = load i32, ptr %169, align 4, !tbaa !5
  %7913 = call ptr @__errno_location() #11
  store i32 %7912, ptr %7913, align 4, !tbaa !5
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror(i32 noundef %7917, ptr noundef @.str.4)
  %7919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @s2n_strerror_debug(i32 noundef %7920, ptr noundef @.str.4)
  %7922 = call ptr @__errno_location() #11
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call ptr @strerror(i32 noundef %7923) #10
  %7925 = call ptr @__errno_location() #11
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7914, ptr noundef @.str.5, i32 noundef %7915, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 615, ptr noundef %7918, ptr noundef %7921, ptr noundef %7924, i32 noundef %7926) #10
  br label %7928

7928:                                             ; preds = %7911, %7894
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %7929

7929:                                             ; preds = %7928
  br label %7930

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

7931:                                             ; No predecessors!
  br label %7932

7932:                                             ; preds = %7931
  br label %7933

7933:                                             ; preds = %7932, %7874
  br label %7934

7934:                                             ; preds = %7933
  br label %7935

7935:                                             ; preds = %7934
  br label %7936

7936:                                             ; preds = %7935
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = add nsw i32 %7937, 1
  store i32 %7938, ptr @test_count, align 4, !tbaa !5
  %7939 = load ptr, ptr %144, align 8, !tbaa !9
  %7940 = getelementptr inbounds %struct.s2n_connection, ptr %7939, i32 0, i32 52
  %7941 = getelementptr inbounds %struct.s2n_handshake, ptr %7940, i32 0, i32 6
  %7942 = load i32, ptr %7941, align 4, !tbaa !47
  %7943 = and i32 %7942, 1
  %7944 = icmp eq i32 %7943, 1
  br i1 %7944, label %7998, label %7945

7945:                                             ; preds = %7936
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %7948 = call ptr @__errno_location() #11
  %7949 = load i32, ptr %7948, align 4, !tbaa !5
  store i32 %7949, ptr %170, align 4, !tbaa !5
  %7950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7951 = call i32 @s2n_print_stacktrace(ptr noundef %7950)
  %7952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7953 = trunc i8 %7952 to i1
  br i1 %7953, label %7954, label %7976

7954:                                             ; preds = %7947
  %7955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7956 = call i32 @fileno(ptr noundef %7955) #10
  %7957 = call i32 @isatty(i32 noundef %7956) #10
  %7958 = icmp ne i32 %7957, 0
  br i1 %7958, label %7959, label %7976

7959:                                             ; preds = %7954
  %7960 = load i32, ptr %170, align 4, !tbaa !5
  %7961 = call ptr @__errno_location() #11
  store i32 %7960, ptr %7961, align 4, !tbaa !5
  %7962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7963 = load i32, ptr @test_count, align 4, !tbaa !5
  %7964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7965 = load i32, ptr %7964, align 4, !tbaa !5
  %7966 = call ptr @s2n_strerror(i32 noundef %7965, ptr noundef @.str.4)
  %7967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7968 = load i32, ptr %7967, align 4, !tbaa !5
  %7969 = call ptr @s2n_strerror_debug(i32 noundef %7968, ptr noundef @.str.4)
  %7970 = call ptr @__errno_location() #11
  %7971 = load i32, ptr %7970, align 4, !tbaa !5
  %7972 = call ptr @strerror(i32 noundef %7971) #10
  %7973 = call ptr @__errno_location() #11
  %7974 = load i32, ptr %7973, align 4, !tbaa !5
  %7975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7962, ptr noundef @.str.2, i32 noundef %7963, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 616, ptr noundef %7966, ptr noundef %7969, ptr noundef %7972, i32 noundef %7974) #10
  br label %7993

7976:                                             ; preds = %7954, %7947
  %7977 = load i32, ptr %170, align 4, !tbaa !5
  %7978 = call ptr @__errno_location() #11
  store i32 %7977, ptr %7978, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = load i32, ptr @test_count, align 4, !tbaa !5
  %7981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror(i32 noundef %7982, ptr noundef @.str.4)
  %7984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call ptr @s2n_strerror_debug(i32 noundef %7985, ptr noundef @.str.4)
  %7987 = call ptr @__errno_location() #11
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @strerror(i32 noundef %7988) #10
  %7990 = call ptr @__errno_location() #11
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7979, ptr noundef @.str.5, i32 noundef %7980, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 616, ptr noundef %7983, ptr noundef %7986, ptr noundef %7989, i32 noundef %7991) #10
  br label %7993

7993:                                             ; preds = %7976, %7959
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %7994

7994:                                             ; preds = %7993
  br label %7995

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

7996:                                             ; No predecessors!
  br label %7997

7997:                                             ; preds = %7996
  br label %7998

7998:                                             ; preds = %7997, %7936
  br label %7999

7999:                                             ; preds = %7998
  br label %8000

8000:                                             ; preds = %7999
  br label %8001

8001:                                             ; preds = %8000
  %8002 = load i32, ptr @test_count, align 4, !tbaa !5
  %8003 = add nsw i32 %8002, 1
  store i32 %8003, ptr @test_count, align 4, !tbaa !5
  %8004 = load ptr, ptr %144, align 8, !tbaa !9
  %8005 = load i32, ptr %8004, align 8
  %8006 = lshr i32 %8005, 3
  %8007 = and i32 %8006, 1
  %8008 = icmp eq i32 %8007, 1
  br i1 %8008, label %8062, label %8009

8009:                                             ; preds = %8001
  br label %8010

8010:                                             ; preds = %8009
  br label %8011

8011:                                             ; preds = %8010
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8012 = call ptr @__errno_location() #11
  %8013 = load i32, ptr %8012, align 4, !tbaa !5
  store i32 %8013, ptr %171, align 4, !tbaa !5
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = call i32 @s2n_print_stacktrace(ptr noundef %8014)
  %8016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8017 = trunc i8 %8016 to i1
  br i1 %8017, label %8018, label %8040

8018:                                             ; preds = %8011
  %8019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8020 = call i32 @fileno(ptr noundef %8019) #10
  %8021 = call i32 @isatty(i32 noundef %8020) #10
  %8022 = icmp ne i32 %8021, 0
  br i1 %8022, label %8023, label %8040

8023:                                             ; preds = %8018
  %8024 = load i32, ptr %171, align 4, !tbaa !5
  %8025 = call ptr @__errno_location() #11
  store i32 %8024, ptr %8025, align 4, !tbaa !5
  %8026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8027 = load i32, ptr @test_count, align 4, !tbaa !5
  %8028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  %8030 = call ptr @s2n_strerror(i32 noundef %8029, ptr noundef @.str.4)
  %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_debug(i32 noundef %8032, ptr noundef @.str.4)
  %8034 = call ptr @__errno_location() #11
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  %8036 = call ptr @strerror(i32 noundef %8035) #10
  %8037 = call ptr @__errno_location() #11
  %8038 = load i32, ptr %8037, align 4, !tbaa !5
  %8039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8026, ptr noundef @.str.2, i32 noundef %8027, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 619, ptr noundef %8030, ptr noundef %8033, ptr noundef %8036, i32 noundef %8038) #10
  br label %8057

8040:                                             ; preds = %8018, %8011
  %8041 = load i32, ptr %171, align 4, !tbaa !5
  %8042 = call ptr @__errno_location() #11
  store i32 %8041, ptr %8042, align 4, !tbaa !5
  %8043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8044 = load i32, ptr @test_count, align 4, !tbaa !5
  %8045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror(i32 noundef %8046, ptr noundef @.str.4)
  %8048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror_debug(i32 noundef %8049, ptr noundef @.str.4)
  %8051 = call ptr @__errno_location() #11
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @strerror(i32 noundef %8052) #10
  %8054 = call ptr @__errno_location() #11
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8043, ptr noundef @.str.5, i32 noundef %8044, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 619, ptr noundef %8047, ptr noundef %8050, ptr noundef %8053, i32 noundef %8055) #10
  br label %8057

8057:                                             ; preds = %8040, %8023
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

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

8060:                                             ; No predecessors!
  br label %8061

8061:                                             ; preds = %8060
  br label %8062

8062:                                             ; preds = %8061, %8001
  br label %8063

8063:                                             ; preds = %8062
  br label %8064

8064:                                             ; preds = %8063
  br label %8065

8065:                                             ; preds = %8064
  %8066 = load i32, ptr @test_count, align 4, !tbaa !5
  %8067 = add nsw i32 %8066, 1
  store i32 %8067, ptr @test_count, align 4, !tbaa !5
  %8068 = load ptr, ptr %144, align 8, !tbaa !9
  %8069 = call i32 @s2n_shutdown(ptr noundef %8068, ptr noundef %146)
  %8070 = icmp eq i32 %8069, -1
  br i1 %8070, label %8071, label %8124

8071:                                             ; preds = %8065
  br label %8072

8072:                                             ; preds = %8071
  br label %8073

8073:                                             ; preds = %8072
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %8074 = call ptr @__errno_location() #11
  %8075 = load i32, ptr %8074, align 4, !tbaa !5
  store i32 %8075, ptr %172, align 4, !tbaa !5
  %8076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8077 = call i32 @s2n_print_stacktrace(ptr noundef %8076)
  %8078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8079 = trunc i8 %8078 to i1
  br i1 %8079, label %8080, label %8102

8080:                                             ; preds = %8073
  %8081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8082 = call i32 @fileno(ptr noundef %8081) #10
  %8083 = call i32 @isatty(i32 noundef %8082) #10
  %8084 = icmp ne i32 %8083, 0
  br i1 %8084, label %8085, label %8102

8085:                                             ; preds = %8080
  %8086 = load i32, ptr %172, align 4, !tbaa !5
  %8087 = call ptr @__errno_location() #11
  store i32 %8086, ptr %8087, align 4, !tbaa !5
  %8088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8089 = load i32, ptr @test_count, align 4, !tbaa !5
  %8090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  %8092 = call ptr @s2n_strerror(i32 noundef %8091, ptr noundef @.str.4)
  %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_debug(i32 noundef %8094, ptr noundef @.str.4)
  %8096 = call ptr @__errno_location() #11
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  %8098 = call ptr @strerror(i32 noundef %8097) #10
  %8099 = call ptr @__errno_location() #11
  %8100 = load i32, ptr %8099, align 4, !tbaa !5
  %8101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8088, ptr noundef @.str.2, i32 noundef %8089, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 621, ptr noundef %8092, ptr noundef %8095, ptr noundef %8098, i32 noundef %8100) #10
  br label %8119

8102:                                             ; preds = %8080, %8073
  %8103 = load i32, ptr %172, align 4, !tbaa !5
  %8104 = call ptr @__errno_location() #11
  store i32 %8103, ptr %8104, align 4, !tbaa !5
  %8105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call ptr @s2n_strerror(i32 noundef %8108, ptr noundef @.str.4)
  %8110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8111 = load i32, ptr %8110, align 4, !tbaa !5
  %8112 = call ptr @s2n_strerror_debug(i32 noundef %8111, ptr noundef @.str.4)
  %8113 = call ptr @__errno_location() #11
  %8114 = load i32, ptr %8113, align 4, !tbaa !5
  %8115 = call ptr @strerror(i32 noundef %8114) #10
  %8116 = call ptr @__errno_location() #11
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8105, ptr noundef @.str.5, i32 noundef %8106, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 621, ptr noundef %8109, ptr noundef %8112, ptr noundef %8115, i32 noundef %8117) #10
  br label %8119

8119:                                             ; preds = %8102, %8085
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %8120

8120:                                             ; preds = %8119
  br label %8121

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

8122:                                             ; No predecessors!
  br label %8123

8123:                                             ; preds = %8122
  br label %8124

8124:                                             ; preds = %8123, %8065
  br label %8125

8125:                                             ; preds = %8124
  br label %8126

8126:                                             ; preds = %8125
  br label %8127

8127:                                             ; preds = %8126
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = add nsw i32 %8128, 1
  store i32 %8129, ptr @test_count, align 4, !tbaa !5
  %8130 = load ptr, ptr %144, align 8, !tbaa !9
  %8131 = getelementptr inbounds %struct.s2n_connection, ptr %8130, i32 0, i32 49
  %8132 = load i8, ptr %8131, align 1, !tbaa !48, !range !13, !noundef !14
  %8133 = trunc i8 %8132 to i1
  br i1 %8133, label %8187, label %8134

8134:                                             ; preds = %8127
  br label %8135

8135:                                             ; preds = %8134
  br label %8136

8136:                                             ; preds = %8135
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %8137 = call ptr @__errno_location() #11
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  store i32 %8138, ptr %173, align 4, !tbaa !5
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = call i32 @s2n_print_stacktrace(ptr noundef %8139)
  %8141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8142 = trunc i8 %8141 to i1
  br i1 %8142, label %8143, label %8165

8143:                                             ; preds = %8136
  %8144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8145 = call i32 @fileno(ptr noundef %8144) #10
  %8146 = call i32 @isatty(i32 noundef %8145) #10
  %8147 = icmp ne i32 %8146, 0
  br i1 %8147, label %8148, label %8165

8148:                                             ; preds = %8143
  %8149 = load i32, ptr %173, align 4, !tbaa !5
  %8150 = call ptr @__errno_location() #11
  store i32 %8149, ptr %8150, align 4, !tbaa !5
  %8151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8152 = load i32, ptr @test_count, align 4, !tbaa !5
  %8153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8154 = load i32, ptr %8153, align 4, !tbaa !5
  %8155 = call ptr @s2n_strerror(i32 noundef %8154, ptr noundef @.str.4)
  %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_debug(i32 noundef %8157, ptr noundef @.str.4)
  %8159 = call ptr @__errno_location() #11
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  %8161 = call ptr @strerror(i32 noundef %8160) #10
  %8162 = call ptr @__errno_location() #11
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  %8164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8151, ptr noundef @.str.2, i32 noundef %8152, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 622, ptr noundef %8155, ptr noundef %8158, ptr noundef %8161, i32 noundef %8163) #10
  br label %8182

8165:                                             ; preds = %8143, %8136
  %8166 = load i32, ptr %173, align 4, !tbaa !5
  %8167 = call ptr @__errno_location() #11
  store i32 %8166, ptr %8167, align 4, !tbaa !5
  %8168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8169 = load i32, ptr @test_count, align 4, !tbaa !5
  %8170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8171 = load i32, ptr %8170, align 4, !tbaa !5
  %8172 = call ptr @s2n_strerror(i32 noundef %8171, ptr noundef @.str.4)
  %8173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8174 = load i32, ptr %8173, align 4, !tbaa !5
  %8175 = call ptr @s2n_strerror_debug(i32 noundef %8174, ptr noundef @.str.4)
  %8176 = call ptr @__errno_location() #11
  %8177 = load i32, ptr %8176, align 4, !tbaa !5
  %8178 = call ptr @strerror(i32 noundef %8177) #10
  %8179 = call ptr @__errno_location() #11
  %8180 = load i32, ptr %8179, align 4, !tbaa !5
  %8181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8168, ptr noundef @.str.5, i32 noundef %8169, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 622, ptr noundef %8172, ptr noundef %8175, ptr noundef %8178, i32 noundef %8180) #10
  br label %8182

8182:                                             ; preds = %8165, %8148
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %8183

8183:                                             ; preds = %8182
  br label %8184

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

8185:                                             ; No predecessors!
  br label %8186

8186:                                             ; preds = %8185
  br label %8187

8187:                                             ; preds = %8186, %8127
  br label %8188

8188:                                             ; preds = %8187
  br label %8189

8189:                                             ; preds = %8188
  br label %8190

8190:                                             ; preds = %8189
  %8191 = load i32, ptr @test_count, align 4, !tbaa !5
  %8192 = add nsw i32 %8191, 1
  store i32 %8192, ptr @test_count, align 4, !tbaa !5
  %8193 = load ptr, ptr %144, align 8, !tbaa !9
  %8194 = call i32 @s2n_connection_free(ptr noundef %8193)
  %8195 = icmp eq i32 %8194, -1
  br i1 %8195, label %8196, label %8249

8196:                                             ; preds = %8190
  br label %8197

8197:                                             ; preds = %8196
  br label %8198

8198:                                             ; preds = %8197
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8199 = call ptr @__errno_location() #11
  %8200 = load i32, ptr %8199, align 4, !tbaa !5
  store i32 %8200, ptr %174, align 4, !tbaa !5
  %8201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8202 = call i32 @s2n_print_stacktrace(ptr noundef %8201)
  %8203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8204 = trunc i8 %8203 to i1
  br i1 %8204, label %8205, label %8227

8205:                                             ; preds = %8198
  %8206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8207 = call i32 @fileno(ptr noundef %8206) #10
  %8208 = call i32 @isatty(i32 noundef %8207) #10
  %8209 = icmp ne i32 %8208, 0
  br i1 %8209, label %8210, label %8227

8210:                                             ; preds = %8205
  %8211 = load i32, ptr %174, align 4, !tbaa !5
  %8212 = call ptr @__errno_location() #11
  store i32 %8211, ptr %8212, align 4, !tbaa !5
  %8213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8214 = load i32, ptr @test_count, align 4, !tbaa !5
  %8215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call ptr @s2n_strerror(i32 noundef %8216, ptr noundef @.str.4)
  %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_debug(i32 noundef %8219, ptr noundef @.str.4)
  %8221 = call ptr @__errno_location() #11
  %8222 = load i32, ptr %8221, align 4, !tbaa !5
  %8223 = call ptr @strerror(i32 noundef %8222) #10
  %8224 = call ptr @__errno_location() #11
  %8225 = load i32, ptr %8224, align 4, !tbaa !5
  %8226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8213, ptr noundef @.str.2, i32 noundef %8214, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 624, ptr noundef %8217, ptr noundef %8220, ptr noundef %8223, i32 noundef %8225) #10
  br label %8244

8227:                                             ; preds = %8205, %8198
  %8228 = load i32, ptr %174, align 4, !tbaa !5
  %8229 = call ptr @__errno_location() #11
  store i32 %8228, ptr %8229, align 4, !tbaa !5
  %8230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8231 = load i32, ptr @test_count, align 4, !tbaa !5
  %8232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8233 = load i32, ptr %8232, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror(i32 noundef %8233, ptr noundef @.str.4)
  %8235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @s2n_strerror_debug(i32 noundef %8236, ptr noundef @.str.4)
  %8238 = call ptr @__errno_location() #11
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call ptr @strerror(i32 noundef %8239) #10
  %8241 = call ptr @__errno_location() #11
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8230, ptr noundef @.str.5, i32 noundef %8231, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 624, ptr noundef %8234, ptr noundef %8237, ptr noundef %8240, i32 noundef %8242) #10
  br label %8244

8244:                                             ; preds = %8227, %8210
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8245

8245:                                             ; preds = %8244
  br label %8246

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

8247:                                             ; No predecessors!
  br label %8248

8248:                                             ; preds = %8247
  br label %8249

8249:                                             ; preds = %8248, %8190
  br label %8250

8250:                                             ; preds = %8249
  br label %8251

8251:                                             ; preds = %8250
  br label %8252

8252:                                             ; preds = %8251
  %8253 = load i32, ptr @test_count, align 4, !tbaa !5
  %8254 = add nsw i32 %8253, 1
  store i32 %8254, ptr @test_count, align 4, !tbaa !5
  %8255 = load ptr, ptr %147, align 8, !tbaa !9
  %8256 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %8255)
  %8257 = icmp eq i32 %8256, -1
  br i1 %8257, label %8258, label %8311

8258:                                             ; preds = %8252
  br label %8259

8259:                                             ; preds = %8258
  br label %8260

8260:                                             ; preds = %8259
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %8261 = call ptr @__errno_location() #11
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  store i32 %8262, ptr %175, align 4, !tbaa !5
  %8263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8264 = call i32 @s2n_print_stacktrace(ptr noundef %8263)
  %8265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8266 = trunc i8 %8265 to i1
  br i1 %8266, label %8267, label %8289

8267:                                             ; preds = %8260
  %8268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8269 = call i32 @fileno(ptr noundef %8268) #10
  %8270 = call i32 @isatty(i32 noundef %8269) #10
  %8271 = icmp ne i32 %8270, 0
  br i1 %8271, label %8272, label %8289

8272:                                             ; preds = %8267
  %8273 = load i32, ptr %175, align 4, !tbaa !5
  %8274 = call ptr @__errno_location() #11
  store i32 %8273, ptr %8274, align 4, !tbaa !5
  %8275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8276 = load i32, ptr @test_count, align 4, !tbaa !5
  %8277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  %8279 = call ptr @s2n_strerror(i32 noundef %8278, ptr noundef @.str.4)
  %8280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8281 = load i32, ptr %8280, align 4, !tbaa !5
  %8282 = call ptr @s2n_strerror_debug(i32 noundef %8281, ptr noundef @.str.4)
  %8283 = call ptr @__errno_location() #11
  %8284 = load i32, ptr %8283, align 4, !tbaa !5
  %8285 = call ptr @strerror(i32 noundef %8284) #10
  %8286 = call ptr @__errno_location() #11
  %8287 = load i32, ptr %8286, align 4, !tbaa !5
  %8288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8275, ptr noundef @.str.2, i32 noundef %8276, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 626, ptr noundef %8279, ptr noundef %8282, ptr noundef %8285, i32 noundef %8287) #10
  br label %8306

8289:                                             ; preds = %8267, %8260
  %8290 = load i32, ptr %175, align 4, !tbaa !5
  %8291 = call ptr @__errno_location() #11
  store i32 %8290, ptr %8291, align 4, !tbaa !5
  %8292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8293 = load i32, ptr @test_count, align 4, !tbaa !5
  %8294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8295 = load i32, ptr %8294, align 4, !tbaa !5
  %8296 = call ptr @s2n_strerror(i32 noundef %8295, ptr noundef @.str.4)
  %8297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8298 = load i32, ptr %8297, align 4, !tbaa !5
  %8299 = call ptr @s2n_strerror_debug(i32 noundef %8298, ptr noundef @.str.4)
  %8300 = call ptr @__errno_location() #11
  %8301 = load i32, ptr %8300, align 4, !tbaa !5
  %8302 = call ptr @strerror(i32 noundef %8301) #10
  %8303 = call ptr @__errno_location() #11
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  %8305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8292, ptr noundef @.str.5, i32 noundef %8293, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 626, ptr noundef %8296, ptr noundef %8299, ptr noundef %8302, i32 noundef %8304) #10
  br label %8306

8306:                                             ; preds = %8289, %8272
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %8307

8307:                                             ; preds = %8306
  br label %8308

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

8309:                                             ; No predecessors!
  br label %8310

8310:                                             ; preds = %8309
  br label %8311

8311:                                             ; preds = %8310, %8252
  br label %8312

8312:                                             ; preds = %8311
  br label %8313

8313:                                             ; preds = %8312
  br label %8314

8314:                                             ; preds = %8313
  %8315 = load i32, ptr @test_count, align 4, !tbaa !5
  %8316 = add nsw i32 %8315, 1
  store i32 %8316, ptr @test_count, align 4, !tbaa !5
  %8317 = load ptr, ptr %145, align 8, !tbaa !9
  %8318 = call i32 @s2n_config_free(ptr noundef %8317)
  %8319 = icmp eq i32 %8318, -1
  br i1 %8319, label %8320, label %8373

8320:                                             ; preds = %8314
  br label %8321

8321:                                             ; preds = %8320
  br label %8322

8322:                                             ; preds = %8321
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %8323 = call ptr @__errno_location() #11
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  store i32 %8324, ptr %176, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = call i32 @s2n_print_stacktrace(ptr noundef %8325)
  %8327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8328 = trunc i8 %8327 to i1
  br i1 %8328, label %8329, label %8351

8329:                                             ; preds = %8322
  %8330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8331 = call i32 @fileno(ptr noundef %8330) #10
  %8332 = call i32 @isatty(i32 noundef %8331) #10
  %8333 = icmp ne i32 %8332, 0
  br i1 %8333, label %8334, label %8351

8334:                                             ; preds = %8329
  %8335 = load i32, ptr %176, align 4, !tbaa !5
  %8336 = call ptr @__errno_location() #11
  store i32 %8335, ptr %8336, align 4, !tbaa !5
  %8337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8338 = load i32, ptr @test_count, align 4, !tbaa !5
  %8339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8340 = load i32, ptr %8339, align 4, !tbaa !5
  %8341 = call ptr @s2n_strerror(i32 noundef %8340, ptr noundef @.str.4)
  %8342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8343 = load i32, ptr %8342, align 4, !tbaa !5
  %8344 = call ptr @s2n_strerror_debug(i32 noundef %8343, ptr noundef @.str.4)
  %8345 = call ptr @__errno_location() #11
  %8346 = load i32, ptr %8345, align 4, !tbaa !5
  %8347 = call ptr @strerror(i32 noundef %8346) #10
  %8348 = call ptr @__errno_location() #11
  %8349 = load i32, ptr %8348, align 4, !tbaa !5
  %8350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8337, ptr noundef @.str.2, i32 noundef %8338, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 628, ptr noundef %8341, ptr noundef %8344, ptr noundef %8347, i32 noundef %8349) #10
  br label %8368

8351:                                             ; preds = %8329, %8322
  %8352 = load i32, ptr %176, align 4, !tbaa !5
  %8353 = call ptr @__errno_location() #11
  store i32 %8352, ptr %8353, align 4, !tbaa !5
  %8354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8355 = load i32, ptr @test_count, align 4, !tbaa !5
  %8356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8357 = load i32, ptr %8356, align 4, !tbaa !5
  %8358 = call ptr @s2n_strerror(i32 noundef %8357, ptr noundef @.str.4)
  %8359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8360 = load i32, ptr %8359, align 4, !tbaa !5
  %8361 = call ptr @s2n_strerror_debug(i32 noundef %8360, ptr noundef @.str.4)
  %8362 = call ptr @__errno_location() #11
  %8363 = load i32, ptr %8362, align 4, !tbaa !5
  %8364 = call ptr @strerror(i32 noundef %8363) #10
  %8365 = call ptr @__errno_location() #11
  %8366 = load i32, ptr %8365, align 4, !tbaa !5
  %8367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8354, ptr noundef @.str.5, i32 noundef %8355, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 628, ptr noundef %8358, ptr noundef %8361, ptr noundef %8364, i32 noundef %8366) #10
  br label %8368

8368:                                             ; preds = %8351, %8334
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %8369

8369:                                             ; preds = %8368
  br label %8370

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

8371:                                             ; No predecessors!
  br label %8372

8372:                                             ; preds = %8371
  br label %8373

8373:                                             ; preds = %8372, %8314
  br label %8374

8374:                                             ; preds = %8373
  br label %8375

8375:                                             ; preds = %8374
  call void @llvm.lifetime.end.p0(i64 5, ptr %154) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  call void @llvm.lifetime.end.p0(i64 75, ptr %150) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  call void @llvm.lifetime.end.p0(i64 5, ptr %148) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #10
  store ptr null, ptr %177, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #10
  store ptr null, ptr %178, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #10
  store ptr null, ptr %180, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 5120, ptr %181) #10
  call void @llvm.lifetime.start.p0(i64 37, ptr %182) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %182, ptr align 16 @__const.main.client_extensions.69, i64 37, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  store i32 37, ptr %183, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 75, ptr %184) #10
  store i8 3, ptr %184, align 1, !tbaa !44
  %8376 = getelementptr inbounds i8, ptr %184, i64 1
  store i8 3, ptr %8376, align 1, !tbaa !44
  %8377 = getelementptr inbounds i8, ptr %184, i64 2
  store i8 0, ptr %8377, align 1, !tbaa !44
  %8378 = getelementptr inbounds i8, ptr %184, i64 3
  store i8 1, ptr %8378, align 1, !tbaa !44
  %8379 = getelementptr inbounds i8, ptr %184, i64 4
  store i8 2, ptr %8379, align 1, !tbaa !44
  %8380 = getelementptr inbounds i8, ptr %184, i64 5
  store i8 3, ptr %8380, align 1, !tbaa !44
  %8381 = getelementptr inbounds i8, ptr %184, i64 6
  store i8 4, ptr %8381, align 1, !tbaa !44
  %8382 = getelementptr inbounds i8, ptr %184, i64 7
  store i8 5, ptr %8382, align 1, !tbaa !44
  %8383 = getelementptr inbounds i8, ptr %184, i64 8
  store i8 6, ptr %8383, align 1, !tbaa !44
  %8384 = getelementptr inbounds i8, ptr %184, i64 9
  store i8 7, ptr %8384, align 1, !tbaa !44
  %8385 = getelementptr inbounds i8, ptr %184, i64 10
  store i8 8, ptr %8385, align 1, !tbaa !44
  %8386 = getelementptr inbounds i8, ptr %184, i64 11
  store i8 9, ptr %8386, align 1, !tbaa !44
  %8387 = getelementptr inbounds i8, ptr %184, i64 12
  store i8 10, ptr %8387, align 1, !tbaa !44
  %8388 = getelementptr inbounds i8, ptr %184, i64 13
  store i8 11, ptr %8388, align 1, !tbaa !44
  %8389 = getelementptr inbounds i8, ptr %184, i64 14
  store i8 12, ptr %8389, align 1, !tbaa !44
  %8390 = getelementptr inbounds i8, ptr %184, i64 15
  store i8 13, ptr %8390, align 1, !tbaa !44
  %8391 = getelementptr inbounds i8, ptr %184, i64 16
  store i8 14, ptr %8391, align 1, !tbaa !44
  %8392 = getelementptr inbounds i8, ptr %184, i64 17
  store i8 15, ptr %8392, align 1, !tbaa !44
  %8393 = getelementptr inbounds i8, ptr %184, i64 18
  store i8 16, ptr %8393, align 1, !tbaa !44
  %8394 = getelementptr inbounds i8, ptr %184, i64 19
  store i8 17, ptr %8394, align 1, !tbaa !44
  %8395 = getelementptr inbounds i8, ptr %184, i64 20
  store i8 18, ptr %8395, align 1, !tbaa !44
  %8396 = getelementptr inbounds i8, ptr %184, i64 21
  store i8 19, ptr %8396, align 1, !tbaa !44
  %8397 = getelementptr inbounds i8, ptr %184, i64 22
  store i8 20, ptr %8397, align 1, !tbaa !44
  %8398 = getelementptr inbounds i8, ptr %184, i64 23
  store i8 21, ptr %8398, align 1, !tbaa !44
  %8399 = getelementptr inbounds i8, ptr %184, i64 24
  store i8 22, ptr %8399, align 1, !tbaa !44
  %8400 = getelementptr inbounds i8, ptr %184, i64 25
  store i8 23, ptr %8400, align 1, !tbaa !44
  %8401 = getelementptr inbounds i8, ptr %184, i64 26
  store i8 24, ptr %8401, align 1, !tbaa !44
  %8402 = getelementptr inbounds i8, ptr %184, i64 27
  store i8 25, ptr %8402, align 1, !tbaa !44
  %8403 = getelementptr inbounds i8, ptr %184, i64 28
  store i8 26, ptr %8403, align 1, !tbaa !44
  %8404 = getelementptr inbounds i8, ptr %184, i64 29
  store i8 27, ptr %8404, align 1, !tbaa !44
  %8405 = getelementptr inbounds i8, ptr %184, i64 30
  store i8 28, ptr %8405, align 1, !tbaa !44
  %8406 = getelementptr inbounds i8, ptr %184, i64 31
  store i8 29, ptr %8406, align 1, !tbaa !44
  %8407 = getelementptr inbounds i8, ptr %184, i64 32
  store i8 30, ptr %8407, align 1, !tbaa !44
  %8408 = getelementptr inbounds i8, ptr %184, i64 33
  store i8 31, ptr %8408, align 1, !tbaa !44
  %8409 = getelementptr inbounds i8, ptr %184, i64 34
  store i8 32, ptr %8409, align 1, !tbaa !44
  %8410 = getelementptr inbounds i8, ptr %184, i64 35
  store i8 0, ptr %8410, align 1, !tbaa !44
  %8411 = getelementptr inbounds i8, ptr %184, i64 36
  store i8 1, ptr %8411, align 1, !tbaa !44
  %8412 = getelementptr inbounds i8, ptr %184, i64 37
  store i8 2, ptr %8412, align 1, !tbaa !44
  %8413 = getelementptr inbounds i8, ptr %184, i64 38
  store i8 3, ptr %8413, align 1, !tbaa !44
  %8414 = getelementptr inbounds i8, ptr %184, i64 39
  store i8 4, ptr %8414, align 1, !tbaa !44
  %8415 = getelementptr inbounds i8, ptr %184, i64 40
  store i8 5, ptr %8415, align 1, !tbaa !44
  %8416 = getelementptr inbounds i8, ptr %184, i64 41
  store i8 6, ptr %8416, align 1, !tbaa !44
  %8417 = getelementptr inbounds i8, ptr %184, i64 42
  store i8 7, ptr %8417, align 1, !tbaa !44
  %8418 = getelementptr inbounds i8, ptr %184, i64 43
  store i8 8, ptr %8418, align 1, !tbaa !44
  %8419 = getelementptr inbounds i8, ptr %184, i64 44
  store i8 9, ptr %8419, align 1, !tbaa !44
  %8420 = getelementptr inbounds i8, ptr %184, i64 45
  store i8 10, ptr %8420, align 1, !tbaa !44
  %8421 = getelementptr inbounds i8, ptr %184, i64 46
  store i8 11, ptr %8421, align 1, !tbaa !44
  %8422 = getelementptr inbounds i8, ptr %184, i64 47
  store i8 12, ptr %8422, align 1, !tbaa !44
  %8423 = getelementptr inbounds i8, ptr %184, i64 48
  store i8 13, ptr %8423, align 1, !tbaa !44
  %8424 = getelementptr inbounds i8, ptr %184, i64 49
  store i8 14, ptr %8424, align 1, !tbaa !44
  %8425 = getelementptr inbounds i8, ptr %184, i64 50
  store i8 15, ptr %8425, align 1, !tbaa !44
  %8426 = getelementptr inbounds i8, ptr %184, i64 51
  store i8 16, ptr %8426, align 1, !tbaa !44
  %8427 = getelementptr inbounds i8, ptr %184, i64 52
  store i8 17, ptr %8427, align 1, !tbaa !44
  %8428 = getelementptr inbounds i8, ptr %184, i64 53
  store i8 18, ptr %8428, align 1, !tbaa !44
  %8429 = getelementptr inbounds i8, ptr %184, i64 54
  store i8 19, ptr %8429, align 1, !tbaa !44
  %8430 = getelementptr inbounds i8, ptr %184, i64 55
  store i8 20, ptr %8430, align 1, !tbaa !44
  %8431 = getelementptr inbounds i8, ptr %184, i64 56
  store i8 21, ptr %8431, align 1, !tbaa !44
  %8432 = getelementptr inbounds i8, ptr %184, i64 57
  store i8 22, ptr %8432, align 1, !tbaa !44
  %8433 = getelementptr inbounds i8, ptr %184, i64 58
  store i8 23, ptr %8433, align 1, !tbaa !44
  %8434 = getelementptr inbounds i8, ptr %184, i64 59
  store i8 24, ptr %8434, align 1, !tbaa !44
  %8435 = getelementptr inbounds i8, ptr %184, i64 60
  store i8 25, ptr %8435, align 1, !tbaa !44
  %8436 = getelementptr inbounds i8, ptr %184, i64 61
  store i8 26, ptr %8436, align 1, !tbaa !44
  %8437 = getelementptr inbounds i8, ptr %184, i64 62
  store i8 27, ptr %8437, align 1, !tbaa !44
  %8438 = getelementptr inbounds i8, ptr %184, i64 63
  store i8 28, ptr %8438, align 1, !tbaa !44
  %8439 = getelementptr inbounds i8, ptr %184, i64 64
  store i8 29, ptr %8439, align 1, !tbaa !44
  %8440 = getelementptr inbounds i8, ptr %184, i64 65
  store i8 30, ptr %8440, align 1, !tbaa !44
  %8441 = getelementptr inbounds i8, ptr %184, i64 66
  store i8 31, ptr %8441, align 1, !tbaa !44
  %8442 = getelementptr inbounds i8, ptr %184, i64 67
  store i8 0, ptr %8442, align 1, !tbaa !44
  %8443 = getelementptr inbounds i8, ptr %184, i64 68
  store i8 2, ptr %8443, align 1, !tbaa !44
  %8444 = getelementptr inbounds i8, ptr %184, i64 69
  store i8 0, ptr %8444, align 1, !tbaa !44
  %8445 = getelementptr inbounds i8, ptr %184, i64 70
  store i8 60, ptr %8445, align 1, !tbaa !44
  %8446 = getelementptr inbounds i8, ptr %184, i64 71
  store i8 1, ptr %8446, align 1, !tbaa !44
  %8447 = getelementptr inbounds i8, ptr %184, i64 72
  store i8 0, ptr %8447, align 1, !tbaa !44
  %8448 = getelementptr inbounds i8, ptr %184, i64 73
  %8449 = load i32, ptr %183, align 4, !tbaa !5
  %8450 = ashr i32 %8449, 8
  %8451 = and i32 %8450, 255
  %8452 = trunc i32 %8451 to i8
  store i8 %8452, ptr %8448, align 1, !tbaa !44
  %8453 = getelementptr inbounds i8, ptr %184, i64 74
  %8454 = load i32, ptr %183, align 4, !tbaa !5
  %8455 = and i32 %8454, 255
  %8456 = trunc i32 %8455 to i8
  store i8 %8456, ptr %8453, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %8457 = load i32, ptr %183, align 4, !tbaa !5
  %8458 = sext i32 %8457 to i64
  %8459 = add i64 75, %8458
  %8460 = trunc i64 %8459 to i32
  store i32 %8460, ptr %185, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  store i8 1, ptr %186, align 1, !tbaa !44
  %8461 = getelementptr inbounds i8, ptr %186, i64 1
  %8462 = load i32, ptr %185, align 4, !tbaa !5
  %8463 = ashr i32 %8462, 16
  %8464 = and i32 %8463, 255
  %8465 = trunc i32 %8464 to i8
  store i8 %8465, ptr %8461, align 1, !tbaa !44
  %8466 = getelementptr inbounds i8, ptr %186, i64 2
  %8467 = load i32, ptr %185, align 4, !tbaa !5
  %8468 = ashr i32 %8467, 8
  %8469 = and i32 %8468, 255
  %8470 = trunc i32 %8469 to i8
  store i8 %8470, ptr %8466, align 1, !tbaa !44
  %8471 = getelementptr inbounds i8, ptr %186, i64 3
  %8472 = load i32, ptr %185, align 4, !tbaa !5
  %8473 = and i32 %8472, 255
  %8474 = trunc i32 %8473 to i8
  store i8 %8474, ptr %8471, align 1, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %8475 = load i32, ptr %185, align 4, !tbaa !5
  %8476 = sext i32 %8475 to i64
  %8477 = add i64 4, %8476
  %8478 = trunc i64 %8477 to i32
  store i32 %8478, ptr %187, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 5, ptr %188) #10
  store i8 22, ptr %188, align 1, !tbaa !44
  %8479 = getelementptr inbounds i8, ptr %188, i64 1
  store i8 3, ptr %8479, align 1, !tbaa !44
  %8480 = getelementptr inbounds i8, ptr %188, i64 2
  store i8 3, ptr %8480, align 1, !tbaa !44
  %8481 = getelementptr inbounds i8, ptr %188, i64 3
  %8482 = load i32, ptr %187, align 4, !tbaa !5
  %8483 = ashr i32 %8482, 8
  %8484 = and i32 %8483, 255
  %8485 = trunc i32 %8484 to i8
  store i8 %8485, ptr %8481, align 1, !tbaa !44
  %8486 = getelementptr inbounds i8, ptr %188, i64 4
  %8487 = load i32, ptr %187, align 4, !tbaa !5
  %8488 = and i32 %8487, 255
  %8489 = trunc i32 %8488 to i8
  store i8 %8489, ptr %8486, align 1, !tbaa !44
  br label %8490

8490:                                             ; preds = %8375
  %8491 = load i32, ptr @test_count, align 4, !tbaa !5
  %8492 = add nsw i32 %8491, 1
  store i32 %8492, ptr @test_count, align 4, !tbaa !5
  %8493 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8493, ptr %177, align 8, !tbaa !9
  %8494 = icmp eq ptr %8493, null
  br i1 %8494, label %8495, label %8548

8495:                                             ; preds = %8490
  br label %8496

8496:                                             ; preds = %8495
  br label %8497

8497:                                             ; preds = %8496
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %8498 = call ptr @__errno_location() #11
  %8499 = load i32, ptr %8498, align 4, !tbaa !5
  store i32 %8499, ptr %189, align 4, !tbaa !5
  %8500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8501 = call i32 @s2n_print_stacktrace(ptr noundef %8500)
  %8502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8503 = trunc i8 %8502 to i1
  br i1 %8503, label %8504, label %8526

8504:                                             ; preds = %8497
  %8505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8506 = call i32 @fileno(ptr noundef %8505) #10
  %8507 = call i32 @isatty(i32 noundef %8506) #10
  %8508 = icmp ne i32 %8507, 0
  br i1 %8508, label %8509, label %8526

8509:                                             ; preds = %8504
  %8510 = load i32, ptr %189, align 4, !tbaa !5
  %8511 = call ptr @__errno_location() #11
  store i32 %8510, ptr %8511, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = load i32, ptr @test_count, align 4, !tbaa !5
  %8514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8515 = load i32, ptr %8514, align 4, !tbaa !5
  %8516 = call ptr @s2n_strerror(i32 noundef %8515, ptr noundef @.str.4)
  %8517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8518 = load i32, ptr %8517, align 4, !tbaa !5
  %8519 = call ptr @s2n_strerror_debug(i32 noundef %8518, ptr noundef @.str.4)
  %8520 = call ptr @__errno_location() #11
  %8521 = load i32, ptr %8520, align 4, !tbaa !5
  %8522 = call ptr @strerror(i32 noundef %8521) #10
  %8523 = call ptr @__errno_location() #11
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  %8525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8512, ptr noundef @.str.2, i32 noundef %8513, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 697, ptr noundef %8516, ptr noundef %8519, ptr noundef %8522, i32 noundef %8524) #10
  br label %8543

8526:                                             ; preds = %8504, %8497
  %8527 = load i32, ptr %189, align 4, !tbaa !5
  %8528 = call ptr @__errno_location() #11
  store i32 %8527, ptr %8528, align 4, !tbaa !5
  %8529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8530 = load i32, ptr @test_count, align 4, !tbaa !5
  %8531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8532 = load i32, ptr %8531, align 4, !tbaa !5
  %8533 = call ptr @s2n_strerror(i32 noundef %8532, ptr noundef @.str.4)
  %8534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8535 = load i32, ptr %8534, align 4, !tbaa !5
  %8536 = call ptr @s2n_strerror_debug(i32 noundef %8535, ptr noundef @.str.4)
  %8537 = call ptr @__errno_location() #11
  %8538 = load i32, ptr %8537, align 4, !tbaa !5
  %8539 = call ptr @strerror(i32 noundef %8538) #10
  %8540 = call ptr @__errno_location() #11
  %8541 = load i32, ptr %8540, align 4, !tbaa !5
  %8542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8529, ptr noundef @.str.5, i32 noundef %8530, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 697, ptr noundef %8533, ptr noundef %8536, ptr noundef %8539, i32 noundef %8541) #10
  br label %8543

8543:                                             ; preds = %8526, %8509
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %8544

8544:                                             ; preds = %8543
  br label %8545

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

8546:                                             ; No predecessors!
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547, %8490
  br label %8549

8549:                                             ; preds = %8548
  br label %8550

8550:                                             ; preds = %8549
  br label %8551

8551:                                             ; preds = %8550
  %8552 = load i32, ptr @test_count, align 4, !tbaa !5
  %8553 = add nsw i32 %8552, 1
  store i32 %8553, ptr @test_count, align 4, !tbaa !5
  %8554 = load ptr, ptr %177, align 8, !tbaa !9
  %8555 = call i32 @s2n_connection_set_io_pair(ptr noundef %8554, ptr noundef %15)
  %8556 = icmp eq i32 %8555, -1
  br i1 %8556, label %8557, label %8610

8557:                                             ; preds = %8551
  br label %8558

8558:                                             ; preds = %8557
  br label %8559

8559:                                             ; preds = %8558
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %8560 = call ptr @__errno_location() #11
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  store i32 %8561, ptr %190, align 4, !tbaa !5
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = call i32 @s2n_print_stacktrace(ptr noundef %8562)
  %8564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8565 = trunc i8 %8564 to i1
  br i1 %8565, label %8566, label %8588

8566:                                             ; preds = %8559
  %8567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8568 = call i32 @fileno(ptr noundef %8567) #10
  %8569 = call i32 @isatty(i32 noundef %8568) #10
  %8570 = icmp ne i32 %8569, 0
  br i1 %8570, label %8571, label %8588

8571:                                             ; preds = %8566
  %8572 = load i32, ptr %190, align 4, !tbaa !5
  %8573 = call ptr @__errno_location() #11
  store i32 %8572, ptr %8573, align 4, !tbaa !5
  %8574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8575 = load i32, ptr @test_count, align 4, !tbaa !5
  %8576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8577 = load i32, ptr %8576, align 4, !tbaa !5
  %8578 = call ptr @s2n_strerror(i32 noundef %8577, ptr noundef @.str.4)
  %8579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8580 = load i32, ptr %8579, align 4, !tbaa !5
  %8581 = call ptr @s2n_strerror_debug(i32 noundef %8580, ptr noundef @.str.4)
  %8582 = call ptr @__errno_location() #11
  %8583 = load i32, ptr %8582, align 4, !tbaa !5
  %8584 = call ptr @strerror(i32 noundef %8583) #10
  %8585 = call ptr @__errno_location() #11
  %8586 = load i32, ptr %8585, align 4, !tbaa !5
  %8587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8574, ptr noundef @.str.2, i32 noundef %8575, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 698, ptr noundef %8578, ptr noundef %8581, ptr noundef %8584, i32 noundef %8586) #10
  br label %8605

8588:                                             ; preds = %8566, %8559
  %8589 = load i32, ptr %190, align 4, !tbaa !5
  %8590 = call ptr @__errno_location() #11
  store i32 %8589, ptr %8590, align 4, !tbaa !5
  %8591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8592 = load i32, ptr @test_count, align 4, !tbaa !5
  %8593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8594 = load i32, ptr %8593, align 4, !tbaa !5
  %8595 = call ptr @s2n_strerror(i32 noundef %8594, ptr noundef @.str.4)
  %8596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8597 = load i32, ptr %8596, align 4, !tbaa !5
  %8598 = call ptr @s2n_strerror_debug(i32 noundef %8597, ptr noundef @.str.4)
  %8599 = call ptr @__errno_location() #11
  %8600 = load i32, ptr %8599, align 4, !tbaa !5
  %8601 = call ptr @strerror(i32 noundef %8600) #10
  %8602 = call ptr @__errno_location() #11
  %8603 = load i32, ptr %8602, align 4, !tbaa !5
  %8604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8591, ptr noundef @.str.5, i32 noundef %8592, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 698, ptr noundef %8595, ptr noundef %8598, ptr noundef %8601, i32 noundef %8603) #10
  br label %8605

8605:                                             ; preds = %8588, %8571
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %8606

8606:                                             ; preds = %8605
  br label %8607

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

8608:                                             ; No predecessors!
  br label %8609

8609:                                             ; preds = %8608
  br label %8610

8610:                                             ; preds = %8609, %8551
  br label %8611

8611:                                             ; preds = %8610
  br label %8612

8612:                                             ; preds = %8611
  br label %8613

8613:                                             ; preds = %8612
  %8614 = load i32, ptr @test_count, align 4, !tbaa !5
  %8615 = add nsw i32 %8614, 1
  store i32 %8615, ptr @test_count, align 4, !tbaa !5
  %8616 = call ptr @s2n_config_new()
  store ptr %8616, ptr %178, align 8, !tbaa !9
  %8617 = icmp eq ptr %8616, null
  br i1 %8617, label %8618, label %8671

8618:                                             ; preds = %8613
  br label %8619

8619:                                             ; preds = %8618
  br label %8620

8620:                                             ; preds = %8619
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %8621 = call ptr @__errno_location() #11
  %8622 = load i32, ptr %8621, align 4, !tbaa !5
  store i32 %8622, ptr %191, 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) #10
  %8630 = call i32 @isatty(i32 noundef %8629) #10
  %8631 = icmp ne i32 %8630, 0
  br i1 %8631, label %8632, label %8649

8632:                                             ; preds = %8627
  %8633 = load i32, ptr %191, align 4, !tbaa !5
  %8634 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %8643 = call ptr @__errno_location() #11
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @strerror(i32 noundef %8644) #10
  %8646 = call ptr @__errno_location() #11
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8635, ptr noundef @.str.2, i32 noundef %8636, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 700, ptr noundef %8639, ptr noundef %8642, ptr noundef %8645, i32 noundef %8647) #10
  br label %8666

8649:                                             ; preds = %8627, %8620
  %8650 = load i32, ptr %191, align 4, !tbaa !5
  %8651 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %8660 = call ptr @__errno_location() #11
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #10
  %8663 = call ptr @__errno_location() #11
  %8664 = load i32, ptr %8663, align 4, !tbaa !5
  %8665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8652, ptr noundef @.str.5, i32 noundef %8653, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 700, ptr noundef %8656, ptr noundef %8659, ptr noundef %8662, i32 noundef %8664) #10
  br label %8666

8666:                                             ; preds = %8649, %8632
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %8667

8667:                                             ; preds = %8666
  br label %8668

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

8669:                                             ; No predecessors!
  br label %8670

8670:                                             ; preds = %8669
  br label %8671

8671:                                             ; preds = %8670, %8613
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

8673:                                             ; preds = %8672
  br label %8674

8674:                                             ; preds = %8673
  %8675 = load i32, ptr @test_count, align 4, !tbaa !5
  %8676 = add nsw i32 %8675, 1
  store i32 %8676, ptr @test_count, align 4, !tbaa !5
  %8677 = load ptr, ptr %6, align 8, !tbaa !9
  %8678 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %8677, i64 noundef 12000)
  %8679 = icmp eq i32 %8678, -1
  br i1 %8679, label %8680, label %8733

8680:                                             ; preds = %8674
  br label %8681

8681:                                             ; preds = %8680
  br label %8682

8682:                                             ; preds = %8681
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %8683 = call ptr @__errno_location() #11
  %8684 = load i32, ptr %8683, align 4, !tbaa !5
  store i32 %8684, ptr %192, 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) #10
  %8692 = call i32 @isatty(i32 noundef %8691) #10
  %8693 = icmp ne i32 %8692, 0
  br i1 %8693, label %8694, label %8711

8694:                                             ; preds = %8689
  %8695 = load i32, ptr %192, align 4, !tbaa !5
  %8696 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %8705 = call ptr @__errno_location() #11
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @strerror(i32 noundef %8706) #10
  %8708 = call ptr @__errno_location() #11
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8697, ptr noundef @.str.2, i32 noundef %8698, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 701, ptr noundef %8701, ptr noundef %8704, ptr noundef %8707, i32 noundef %8709) #10
  br label %8728

8711:                                             ; preds = %8689, %8682
  %8712 = load i32, ptr %192, align 4, !tbaa !5
  %8713 = call ptr @__errno_location() #11
  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.4)
  %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.4)
  %8722 = call ptr @__errno_location() #11
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  %8724 = call ptr @strerror(i32 noundef %8723) #10
  %8725 = call ptr @__errno_location() #11
  %8726 = load i32, ptr %8725, align 4, !tbaa !5
  %8727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8714, ptr noundef @.str.5, i32 noundef %8715, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 701, ptr noundef %8718, ptr noundef %8721, ptr noundef %8724, i32 noundef %8726) #10
  br label %8728

8728:                                             ; preds = %8711, %8694
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %8729

8729:                                             ; preds = %8728
  br label %8730

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

8731:                                             ; No predecessors!
  br label %8732

8732:                                             ; preds = %8731
  br label %8733

8733:                                             ; preds = %8732, %8674
  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 %7, align 8, !tbaa !9
  %8740 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %8739, i64 noundef 12000)
  %8741 = icmp eq i32 %8740, -1
  br i1 %8741, label %8742, label %8795

8742:                                             ; preds = %8736
  br label %8743

8743:                                             ; preds = %8742
  br label %8744

8744:                                             ; preds = %8743
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %8745 = call ptr @__errno_location() #11
  %8746 = load i32, ptr %8745, align 4, !tbaa !5
  store i32 %8746, ptr %193, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = call i32 @s2n_print_stacktrace(ptr noundef %8747)
  %8749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8750 = trunc i8 %8749 to i1
  br i1 %8750, label %8751, label %8773

8751:                                             ; preds = %8744
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @fileno(ptr noundef %8752) #10
  %8754 = call i32 @isatty(i32 noundef %8753) #10
  %8755 = icmp ne i32 %8754, 0
  br i1 %8755, label %8756, label %8773

8756:                                             ; preds = %8751
  %8757 = load i32, ptr %193, align 4, !tbaa !5
  %8758 = call ptr @__errno_location() #11
  store i32 %8757, ptr %8758, align 4, !tbaa !5
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = load i32, ptr @test_count, align 4, !tbaa !5
  %8761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @s2n_strerror(i32 noundef %8762, ptr noundef @.str.4)
  %8764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror_debug(i32 noundef %8765, ptr noundef @.str.4)
  %8767 = call ptr @__errno_location() #11
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @strerror(i32 noundef %8768) #10
  %8770 = call ptr @__errno_location() #11
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8759, ptr noundef @.str.2, i32 noundef %8760, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 702, ptr noundef %8763, ptr noundef %8766, ptr noundef %8769, i32 noundef %8771) #10
  br label %8790

8773:                                             ; preds = %8751, %8744
  %8774 = load i32, ptr %193, align 4, !tbaa !5
  %8775 = call ptr @__errno_location() #11
  store i32 %8774, ptr %8775, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror(i32 noundef %8779, ptr noundef @.str.4)
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call ptr @s2n_strerror_debug(i32 noundef %8782, ptr noundef @.str.4)
  %8784 = call ptr @__errno_location() #11
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @strerror(i32 noundef %8785) #10
  %8787 = call ptr @__errno_location() #11
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8776, ptr noundef @.str.5, i32 noundef %8777, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 702, ptr noundef %8780, ptr noundef %8783, ptr noundef %8786, i32 noundef %8788) #10
  br label %8790

8790:                                             ; preds = %8773, %8756
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

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

8793:                                             ; No predecessors!
  br label %8794

8794:                                             ; preds = %8793
  br label %8795

8795:                                             ; preds = %8794, %8736
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

8798:                                             ; preds = %8797
  %8799 = load i32, ptr @test_count, align 4, !tbaa !5
  %8800 = add nsw i32 %8799, 1
  store i32 %8800, ptr @test_count, align 4, !tbaa !5
  %8801 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %8801, ptr %180, align 8, !tbaa !9
  %8802 = icmp eq ptr %8801, null
  br i1 %8802, label %8803, label %8856

8803:                                             ; preds = %8798
  br label %8804

8804:                                             ; preds = %8803
  br label %8805

8805:                                             ; preds = %8804
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %8806 = call ptr @__errno_location() #11
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  store i32 %8807, ptr %194, align 4, !tbaa !5
  %8808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8809 = call i32 @s2n_print_stacktrace(ptr noundef %8808)
  %8810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8811 = trunc i8 %8810 to i1
  br i1 %8811, label %8812, label %8834

8812:                                             ; preds = %8805
  %8813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8814 = call i32 @fileno(ptr noundef %8813) #10
  %8815 = call i32 @isatty(i32 noundef %8814) #10
  %8816 = icmp ne i32 %8815, 0
  br i1 %8816, label %8817, label %8834

8817:                                             ; preds = %8812
  %8818 = load i32, ptr %194, align 4, !tbaa !5
  %8819 = call ptr @__errno_location() #11
  store i32 %8818, ptr %8819, align 4, !tbaa !5
  %8820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8821 = load i32, ptr @test_count, align 4, !tbaa !5
  %8822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8823 = load i32, ptr %8822, align 4, !tbaa !5
  %8824 = call ptr @s2n_strerror(i32 noundef %8823, ptr noundef @.str.4)
  %8825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8826 = load i32, ptr %8825, align 4, !tbaa !5
  %8827 = call ptr @s2n_strerror_debug(i32 noundef %8826, ptr noundef @.str.4)
  %8828 = call ptr @__errno_location() #11
  %8829 = load i32, ptr %8828, align 4, !tbaa !5
  %8830 = call ptr @strerror(i32 noundef %8829) #10
  %8831 = call ptr @__errno_location() #11
  %8832 = load i32, ptr %8831, align 4, !tbaa !5
  %8833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8820, ptr noundef @.str.2, i32 noundef %8821, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 703, ptr noundef %8824, ptr noundef %8827, ptr noundef %8830, i32 noundef %8832) #10
  br label %8851

8834:                                             ; preds = %8812, %8805
  %8835 = load i32, ptr %194, align 4, !tbaa !5
  %8836 = call ptr @__errno_location() #11
  store i32 %8835, ptr %8836, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = load i32, ptr @test_count, align 4, !tbaa !5
  %8839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call ptr @s2n_strerror(i32 noundef %8840, ptr noundef @.str.4)
  %8842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8843 = load i32, ptr %8842, align 4, !tbaa !5
  %8844 = call ptr @s2n_strerror_debug(i32 noundef %8843, ptr noundef @.str.4)
  %8845 = call ptr @__errno_location() #11
  %8846 = load i32, ptr %8845, align 4, !tbaa !5
  %8847 = call ptr @strerror(i32 noundef %8846) #10
  %8848 = call ptr @__errno_location() #11
  %8849 = load i32, ptr %8848, align 4, !tbaa !5
  %8850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8837, ptr noundef @.str.5, i32 noundef %8838, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 703, ptr noundef %8841, ptr noundef %8844, ptr noundef %8847, i32 noundef %8849) #10
  br label %8851

8851:                                             ; preds = %8834, %8817
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %8852

8852:                                             ; preds = %8851
  br label %8853

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

8854:                                             ; No predecessors!
  br label %8855

8855:                                             ; preds = %8854
  br label %8856

8856:                                             ; preds = %8855, %8798
  br label %8857

8857:                                             ; preds = %8856
  br label %8858

8858:                                             ; preds = %8857
  br label %8859

8859:                                             ; preds = %8858
  %8860 = load i32, ptr @test_count, align 4, !tbaa !5
  %8861 = add nsw i32 %8860, 1
  store i32 %8861, ptr @test_count, align 4, !tbaa !5
  %8862 = load ptr, ptr %180, align 8, !tbaa !9
  %8863 = load ptr, ptr %6, align 8, !tbaa !9
  %8864 = load ptr, ptr %7, align 8, !tbaa !9
  %8865 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %8862, ptr noundef %8863, ptr noundef %8864)
  %8866 = icmp eq i32 %8865, -1
  br i1 %8866, label %8867, label %8920

8867:                                             ; preds = %8859
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

8869:                                             ; preds = %8868
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %8870 = call ptr @__errno_location() #11
  %8871 = load i32, ptr %8870, align 4, !tbaa !5
  store i32 %8871, ptr %195, align 4, !tbaa !5
  %8872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8873 = call i32 @s2n_print_stacktrace(ptr noundef %8872)
  %8874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8875 = trunc i8 %8874 to i1
  br i1 %8875, label %8876, label %8898

8876:                                             ; preds = %8869
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = call i32 @fileno(ptr noundef %8877) #10
  %8879 = call i32 @isatty(i32 noundef %8878) #10
  %8880 = icmp ne i32 %8879, 0
  br i1 %8880, label %8881, label %8898

8881:                                             ; preds = %8876
  %8882 = load i32, ptr %195, align 4, !tbaa !5
  %8883 = call ptr @__errno_location() #11
  store i32 %8882, ptr %8883, align 4, !tbaa !5
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @s2n_strerror(i32 noundef %8887, ptr noundef @.str.4)
  %8889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call ptr @s2n_strerror_debug(i32 noundef %8890, ptr noundef @.str.4)
  %8892 = call ptr @__errno_location() #11
  %8893 = load i32, ptr %8892, align 4, !tbaa !5
  %8894 = call ptr @strerror(i32 noundef %8893) #10
  %8895 = call ptr @__errno_location() #11
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8884, ptr noundef @.str.2, i32 noundef %8885, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 704, ptr noundef %8888, ptr noundef %8891, ptr noundef %8894, i32 noundef %8896) #10
  br label %8915

8898:                                             ; preds = %8876, %8869
  %8899 = load i32, ptr %195, align 4, !tbaa !5
  %8900 = call ptr @__errno_location() #11
  store i32 %8899, ptr %8900, align 4, !tbaa !5
  %8901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8902 = load i32, ptr @test_count, align 4, !tbaa !5
  %8903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror(i32 noundef %8904, ptr noundef @.str.4)
  %8906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call ptr @s2n_strerror_debug(i32 noundef %8907, ptr noundef @.str.4)
  %8909 = call ptr @__errno_location() #11
  %8910 = load i32, ptr %8909, align 4, !tbaa !5
  %8911 = call ptr @strerror(i32 noundef %8910) #10
  %8912 = call ptr @__errno_location() #11
  %8913 = load i32, ptr %8912, align 4, !tbaa !5
  %8914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8901, ptr noundef @.str.5, i32 noundef %8902, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 704, ptr noundef %8905, ptr noundef %8908, ptr noundef %8911, i32 noundef %8913) #10
  br label %8915

8915:                                             ; preds = %8898, %8881
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %8916

8916:                                             ; preds = %8915
  br label %8917

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

8918:                                             ; No predecessors!
  br label %8919

8919:                                             ; preds = %8918
  br label %8920

8920:                                             ; preds = %8919, %8859
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  br label %8923

8923:                                             ; preds = %8922
  %8924 = load i32, ptr @test_count, align 4, !tbaa !5
  %8925 = add nsw i32 %8924, 1
  store i32 %8925, ptr @test_count, align 4, !tbaa !5
  %8926 = load ptr, ptr %178, align 8, !tbaa !9
  %8927 = load ptr, ptr %180, align 8, !tbaa !9
  %8928 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8926, ptr noundef %8927)
  %8929 = icmp eq i32 %8928, -1
  br i1 %8929, label %8930, label %8983

8930:                                             ; preds = %8923
  br label %8931

8931:                                             ; preds = %8930
  br label %8932

8932:                                             ; preds = %8931
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %8933 = call ptr @__errno_location() #11
  %8934 = load i32, ptr %8933, align 4, !tbaa !5
  store i32 %8934, ptr %196, align 4, !tbaa !5
  %8935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8936 = call i32 @s2n_print_stacktrace(ptr noundef %8935)
  %8937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8938 = trunc i8 %8937 to i1
  br i1 %8938, label %8939, label %8961

8939:                                             ; preds = %8932
  %8940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8941 = call i32 @fileno(ptr noundef %8940) #10
  %8942 = call i32 @isatty(i32 noundef %8941) #10
  %8943 = icmp ne i32 %8942, 0
  br i1 %8943, label %8944, label %8961

8944:                                             ; preds = %8939
  %8945 = load i32, ptr %196, align 4, !tbaa !5
  %8946 = call ptr @__errno_location() #11
  store i32 %8945, ptr %8946, align 4, !tbaa !5
  %8947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8948 = load i32, ptr @test_count, align 4, !tbaa !5
  %8949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8950 = load i32, ptr %8949, align 4, !tbaa !5
  %8951 = call ptr @s2n_strerror(i32 noundef %8950, ptr noundef @.str.4)
  %8952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8953 = load i32, ptr %8952, align 4, !tbaa !5
  %8954 = call ptr @s2n_strerror_debug(i32 noundef %8953, ptr noundef @.str.4)
  %8955 = call ptr @__errno_location() #11
  %8956 = load i32, ptr %8955, align 4, !tbaa !5
  %8957 = call ptr @strerror(i32 noundef %8956) #10
  %8958 = call ptr @__errno_location() #11
  %8959 = load i32, ptr %8958, align 4, !tbaa !5
  %8960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8947, ptr noundef @.str.2, i32 noundef %8948, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 705, ptr noundef %8951, ptr noundef %8954, ptr noundef %8957, i32 noundef %8959) #10
  br label %8978

8961:                                             ; preds = %8939, %8932
  %8962 = load i32, ptr %196, align 4, !tbaa !5
  %8963 = call ptr @__errno_location() #11
  store i32 %8962, ptr %8963, align 4, !tbaa !5
  %8964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8965 = load i32, ptr @test_count, align 4, !tbaa !5
  %8966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call ptr @s2n_strerror(i32 noundef %8967, ptr noundef @.str.4)
  %8969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8970 = load i32, ptr %8969, align 4, !tbaa !5
  %8971 = call ptr @s2n_strerror_debug(i32 noundef %8970, ptr noundef @.str.4)
  %8972 = call ptr @__errno_location() #11
  %8973 = load i32, ptr %8972, align 4, !tbaa !5
  %8974 = call ptr @strerror(i32 noundef %8973) #10
  %8975 = call ptr @__errno_location() #11
  %8976 = load i32, ptr %8975, align 4, !tbaa !5
  %8977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8964, ptr noundef @.str.5, i32 noundef %8965, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 705, ptr noundef %8968, ptr noundef %8971, ptr noundef %8974, i32 noundef %8976) #10
  br label %8978

8978:                                             ; preds = %8961, %8944
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %8979

8979:                                             ; preds = %8978
  br label %8980

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

8981:                                             ; No predecessors!
  br label %8982

8982:                                             ; preds = %8981
  br label %8983

8983:                                             ; preds = %8982, %8923
  br label %8984

8984:                                             ; preds = %8983
  br label %8985

8985:                                             ; preds = %8984
  br label %8986

8986:                                             ; preds = %8985
  %8987 = load i32, ptr @test_count, align 4, !tbaa !5
  %8988 = add nsw i32 %8987, 1
  store i32 %8988, ptr @test_count, align 4, !tbaa !5
  %8989 = load ptr, ptr %177, align 8, !tbaa !9
  %8990 = load ptr, ptr %178, align 8, !tbaa !9
  %8991 = call i32 @s2n_connection_set_config(ptr noundef %8989, ptr noundef %8990)
  %8992 = icmp eq i32 %8991, -1
  br i1 %8992, label %8993, label %9046

8993:                                             ; preds = %8986
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

8995:                                             ; preds = %8994
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %8996 = call ptr @__errno_location() #11
  %8997 = load i32, ptr %8996, align 4, !tbaa !5
  store i32 %8997, ptr %197, align 4, !tbaa !5
  %8998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8999 = call i32 @s2n_print_stacktrace(ptr noundef %8998)
  %9000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9001 = trunc i8 %9000 to i1
  br i1 %9001, label %9002, label %9024

9002:                                             ; preds = %8995
  %9003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9004 = call i32 @fileno(ptr noundef %9003) #10
  %9005 = call i32 @isatty(i32 noundef %9004) #10
  %9006 = icmp ne i32 %9005, 0
  br i1 %9006, label %9007, label %9024

9007:                                             ; preds = %9002
  %9008 = load i32, ptr %197, align 4, !tbaa !5
  %9009 = call ptr @__errno_location() #11
  store i32 %9008, ptr %9009, align 4, !tbaa !5
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9013, ptr noundef @.str.4)
  %9015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @s2n_strerror_debug(i32 noundef %9016, ptr noundef @.str.4)
  %9018 = call ptr @__errno_location() #11
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call ptr @strerror(i32 noundef %9019) #10
  %9021 = call ptr @__errno_location() #11
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9010, ptr noundef @.str.2, i32 noundef %9011, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 706, ptr noundef %9014, ptr noundef %9017, ptr noundef %9020, i32 noundef %9022) #10
  br label %9041

9024:                                             ; preds = %9002, %8995
  %9025 = load i32, ptr %197, align 4, !tbaa !5
  %9026 = call ptr @__errno_location() #11
  store i32 %9025, ptr %9026, align 4, !tbaa !5
  %9027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9028 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9030, ptr noundef @.str.4)
  %9032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9033 = load i32, ptr %9032, align 4, !tbaa !5
  %9034 = call ptr @s2n_strerror_debug(i32 noundef %9033, ptr noundef @.str.4)
  %9035 = call ptr @__errno_location() #11
  %9036 = load i32, ptr %9035, align 4, !tbaa !5
  %9037 = call ptr @strerror(i32 noundef %9036) #10
  %9038 = call ptr @__errno_location() #11
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  %9040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9027, ptr noundef @.str.5, i32 noundef %9028, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 706, ptr noundef %9031, ptr noundef %9034, ptr noundef %9037, i32 noundef %9039) #10
  br label %9041

9041:                                             ; preds = %9024, %9007
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

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

9044:                                             ; No predecessors!
  br label %9045

9045:                                             ; preds = %9044
  br label %9046

9046:                                             ; preds = %9045, %8986
  br label %9047

9047:                                             ; preds = %9046
  br label %9048

9048:                                             ; preds = %9047
  br label %9049

9049:                                             ; preds = %9048
  %9050 = load i32, ptr @test_count, align 4, !tbaa !5
  %9051 = add nsw i32 %9050, 1
  store i32 %9051, ptr @test_count, align 4, !tbaa !5
  %9052 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %9053 = load i32, ptr %9052, align 4, !tbaa !45
  %9054 = getelementptr inbounds [5 x i8], ptr %188, i64 0, i64 0
  %9055 = call i64 @write(i32 noundef %9053, ptr noundef %9054, i64 noundef 5)
  %9056 = icmp eq i64 %9055, 5
  br i1 %9056, label %9110, label %9057

9057:                                             ; preds = %9049
  br label %9058

9058:                                             ; preds = %9057
  br label %9059

9059:                                             ; preds = %9058
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #10
  %9060 = call ptr @__errno_location() #11
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  store i32 %9061, ptr %198, align 4, !tbaa !5
  %9062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9063 = call i32 @s2n_print_stacktrace(ptr noundef %9062)
  %9064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9065 = trunc i8 %9064 to i1
  br i1 %9065, label %9066, label %9088

9066:                                             ; preds = %9059
  %9067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9068 = call i32 @fileno(ptr noundef %9067) #10
  %9069 = call i32 @isatty(i32 noundef %9068) #10
  %9070 = icmp ne i32 %9069, 0
  br i1 %9070, label %9071, label %9088

9071:                                             ; preds = %9066
  %9072 = load i32, ptr %198, align 4, !tbaa !5
  %9073 = call ptr @__errno_location() #11
  store i32 %9072, ptr %9073, align 4, !tbaa !5
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = load i32, ptr @test_count, align 4, !tbaa !5
  %9076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9077 = load i32, ptr %9076, align 4, !tbaa !5
  %9078 = call ptr @s2n_strerror(i32 noundef %9077, ptr noundef @.str.4)
  %9079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call ptr @s2n_strerror_debug(i32 noundef %9080, ptr noundef @.str.4)
  %9082 = call ptr @__errno_location() #11
  %9083 = load i32, ptr %9082, align 4, !tbaa !5
  %9084 = call ptr @strerror(i32 noundef %9083) #10
  %9085 = call ptr @__errno_location() #11
  %9086 = load i32, ptr %9085, align 4, !tbaa !5
  %9087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9074, ptr noundef @.str.2, i32 noundef %9075, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 709, ptr noundef %9078, ptr noundef %9081, ptr noundef %9084, i32 noundef %9086) #10
  br label %9105

9088:                                             ; preds = %9066, %9059
  %9089 = load i32, ptr %198, align 4, !tbaa !5
  %9090 = call ptr @__errno_location() #11
  store i32 %9089, ptr %9090, align 4, !tbaa !5
  %9091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9092 = load i32, ptr @test_count, align 4, !tbaa !5
  %9093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @s2n_strerror(i32 noundef %9094, ptr noundef @.str.4)
  %9096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call ptr @s2n_strerror_debug(i32 noundef %9097, ptr noundef @.str.4)
  %9099 = call ptr @__errno_location() #11
  %9100 = load i32, ptr %9099, align 4, !tbaa !5
  %9101 = call ptr @strerror(i32 noundef %9100) #10
  %9102 = call ptr @__errno_location() #11
  %9103 = load i32, ptr %9102, align 4, !tbaa !5
  %9104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9091, ptr noundef @.str.5, i32 noundef %9092, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 709, ptr noundef %9095, ptr noundef %9098, ptr noundef %9101, i32 noundef %9103) #10
  br label %9105

9105:                                             ; preds = %9088, %9071
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #10
  br label %9106

9106:                                             ; preds = %9105
  br label %9107

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

9108:                                             ; No predecessors!
  br label %9109

9109:                                             ; preds = %9108
  br label %9110

9110:                                             ; preds = %9109, %9049
  br label %9111

9111:                                             ; preds = %9110
  br label %9112

9112:                                             ; preds = %9111
  br label %9113

9113:                                             ; preds = %9112
  %9114 = load i32, ptr @test_count, align 4, !tbaa !5
  %9115 = add nsw i32 %9114, 1
  store i32 %9115, ptr @test_count, align 4, !tbaa !5
  %9116 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %9117 = load i32, ptr %9116, align 4, !tbaa !45
  %9118 = getelementptr inbounds [4 x i8], ptr %186, i64 0, i64 0
  %9119 = call i64 @write(i32 noundef %9117, ptr noundef %9118, i64 noundef 4)
  %9120 = icmp eq i64 %9119, 4
  br i1 %9120, label %9174, label %9121

9121:                                             ; preds = %9113
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

9123:                                             ; preds = %9122
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %9124 = call ptr @__errno_location() #11
  %9125 = load i32, ptr %9124, align 4, !tbaa !5
  store i32 %9125, ptr %199, align 4, !tbaa !5
  %9126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9127 = call i32 @s2n_print_stacktrace(ptr noundef %9126)
  %9128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9129 = trunc i8 %9128 to i1
  br i1 %9129, label %9130, label %9152

9130:                                             ; preds = %9123
  %9131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9132 = call i32 @fileno(ptr noundef %9131) #10
  %9133 = call i32 @isatty(i32 noundef %9132) #10
  %9134 = icmp ne i32 %9133, 0
  br i1 %9134, label %9135, label %9152

9135:                                             ; preds = %9130
  %9136 = load i32, ptr %199, align 4, !tbaa !5
  %9137 = call ptr @__errno_location() #11
  store i32 %9136, ptr %9137, align 4, !tbaa !5
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = load i32, ptr @test_count, align 4, !tbaa !5
  %9140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror(i32 noundef %9141, ptr noundef @.str.4)
  %9143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @s2n_strerror_debug(i32 noundef %9144, ptr noundef @.str.4)
  %9146 = call ptr @__errno_location() #11
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call ptr @strerror(i32 noundef %9147) #10
  %9149 = call ptr @__errno_location() #11
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9138, ptr noundef @.str.2, i32 noundef %9139, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 710, ptr noundef %9142, ptr noundef %9145, ptr noundef %9148, i32 noundef %9150) #10
  br label %9169

9152:                                             ; preds = %9130, %9123
  %9153 = load i32, ptr %199, align 4, !tbaa !5
  %9154 = call ptr @__errno_location() #11
  store i32 %9153, ptr %9154, align 4, !tbaa !5
  %9155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9156 = load i32, ptr @test_count, align 4, !tbaa !5
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror(i32 noundef %9158, ptr noundef @.str.4)
  %9160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @s2n_strerror_debug(i32 noundef %9161, ptr noundef @.str.4)
  %9163 = call ptr @__errno_location() #11
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call ptr @strerror(i32 noundef %9164) #10
  %9166 = call ptr @__errno_location() #11
  %9167 = load i32, ptr %9166, align 4, !tbaa !5
  %9168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9155, ptr noundef @.str.5, i32 noundef %9156, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 710, ptr noundef %9159, ptr noundef %9162, ptr noundef %9165, i32 noundef %9167) #10
  br label %9169

9169:                                             ; preds = %9152, %9135
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  br label %9170

9170:                                             ; preds = %9169
  br label %9171

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

9172:                                             ; No predecessors!
  br label %9173

9173:                                             ; preds = %9172
  br label %9174

9174:                                             ; preds = %9173, %9113
  br label %9175

9175:                                             ; preds = %9174
  br label %9176

9176:                                             ; preds = %9175
  br label %9177

9177:                                             ; preds = %9176
  %9178 = load i32, ptr @test_count, align 4, !tbaa !5
  %9179 = add nsw i32 %9178, 1
  store i32 %9179, ptr @test_count, align 4, !tbaa !5
  %9180 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %9181 = load i32, ptr %9180, align 4, !tbaa !45
  %9182 = getelementptr inbounds [75 x i8], ptr %184, i64 0, i64 0
  %9183 = call i64 @write(i32 noundef %9181, ptr noundef %9182, i64 noundef 75)
  %9184 = icmp eq i64 %9183, 75
  br i1 %9184, label %9238, label %9185

9185:                                             ; preds = %9177
  br label %9186

9186:                                             ; preds = %9185
  br label %9187

9187:                                             ; preds = %9186
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %9188 = call ptr @__errno_location() #11
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  store i32 %9189, ptr %200, align 4, !tbaa !5
  %9190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9191 = call i32 @s2n_print_stacktrace(ptr noundef %9190)
  %9192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9193 = trunc i8 %9192 to i1
  br i1 %9193, label %9194, label %9216

9194:                                             ; preds = %9187
  %9195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9196 = call i32 @fileno(ptr noundef %9195) #10
  %9197 = call i32 @isatty(i32 noundef %9196) #10
  %9198 = icmp ne i32 %9197, 0
  br i1 %9198, label %9199, label %9216

9199:                                             ; preds = %9194
  %9200 = load i32, ptr %200, align 4, !tbaa !5
  %9201 = call ptr @__errno_location() #11
  store i32 %9200, ptr %9201, align 4, !tbaa !5
  %9202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9203 = load i32, ptr @test_count, align 4, !tbaa !5
  %9204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9205 = load i32, ptr %9204, align 4, !tbaa !5
  %9206 = call ptr @s2n_strerror(i32 noundef %9205, ptr noundef @.str.4)
  %9207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9208 = load i32, ptr %9207, align 4, !tbaa !5
  %9209 = call ptr @s2n_strerror_debug(i32 noundef %9208, ptr noundef @.str.4)
  %9210 = call ptr @__errno_location() #11
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  %9212 = call ptr @strerror(i32 noundef %9211) #10
  %9213 = call ptr @__errno_location() #11
  %9214 = load i32, ptr %9213, align 4, !tbaa !5
  %9215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9202, ptr noundef @.str.2, i32 noundef %9203, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 711, ptr noundef %9206, ptr noundef %9209, ptr noundef %9212, i32 noundef %9214) #10
  br label %9233

9216:                                             ; preds = %9194, %9187
  %9217 = load i32, ptr %200, align 4, !tbaa !5
  %9218 = call ptr @__errno_location() #11
  store i32 %9217, ptr %9218, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9222 = load i32, ptr %9221, align 4, !tbaa !5
  %9223 = call ptr @s2n_strerror(i32 noundef %9222, ptr noundef @.str.4)
  %9224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9225 = load i32, ptr %9224, align 4, !tbaa !5
  %9226 = call ptr @s2n_strerror_debug(i32 noundef %9225, ptr noundef @.str.4)
  %9227 = call ptr @__errno_location() #11
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call ptr @strerror(i32 noundef %9228) #10
  %9230 = call ptr @__errno_location() #11
  %9231 = load i32, ptr %9230, align 4, !tbaa !5
  %9232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9219, ptr noundef @.str.5, i32 noundef %9220, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 711, ptr noundef %9223, ptr noundef %9226, ptr noundef %9229, i32 noundef %9231) #10
  br label %9233

9233:                                             ; preds = %9216, %9199
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %9234

9234:                                             ; preds = %9233
  br label %9235

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

9236:                                             ; No predecessors!
  br label %9237

9237:                                             ; preds = %9236
  br label %9238

9238:                                             ; preds = %9237, %9177
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239
  br label %9241

9241:                                             ; preds = %9240
  %9242 = load i32, ptr @test_count, align 4, !tbaa !5
  %9243 = add nsw i32 %9242, 1
  store i32 %9243, ptr @test_count, align 4, !tbaa !5
  %9244 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %9245 = load i32, ptr %9244, align 4, !tbaa !45
  %9246 = getelementptr inbounds [37 x i8], ptr %182, i64 0, i64 0
  %9247 = call i64 @write(i32 noundef %9245, ptr noundef %9246, i64 noundef 37)
  %9248 = icmp eq i64 %9247, 37
  br i1 %9248, label %9302, label %9249

9249:                                             ; preds = %9241
  br label %9250

9250:                                             ; preds = %9249
  br label %9251

9251:                                             ; preds = %9250
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %9252 = call ptr @__errno_location() #11
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  store i32 %9253, ptr %201, align 4, !tbaa !5
  %9254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9255 = call i32 @s2n_print_stacktrace(ptr noundef %9254)
  %9256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9257 = trunc i8 %9256 to i1
  br i1 %9257, label %9258, label %9280

9258:                                             ; preds = %9251
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = call i32 @fileno(ptr noundef %9259) #10
  %9261 = call i32 @isatty(i32 noundef %9260) #10
  %9262 = icmp ne i32 %9261, 0
  br i1 %9262, label %9263, label %9280

9263:                                             ; preds = %9258
  %9264 = load i32, ptr %201, align 4, !tbaa !5
  %9265 = call ptr @__errno_location() #11
  store i32 %9264, ptr %9265, align 4, !tbaa !5
  %9266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9267 = load i32, ptr @test_count, align 4, !tbaa !5
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @s2n_strerror_debug(i32 noundef %9272, ptr noundef @.str.4)
  %9274 = call ptr @__errno_location() #11
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call ptr @strerror(i32 noundef %9275) #10
  %9277 = call ptr @__errno_location() #11
  %9278 = load i32, ptr %9277, align 4, !tbaa !5
  %9279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9266, ptr noundef @.str.2, i32 noundef %9267, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 712, ptr noundef %9270, ptr noundef %9273, ptr noundef %9276, i32 noundef %9278) #10
  br label %9297

9280:                                             ; preds = %9258, %9251
  %9281 = load i32, ptr %201, align 4, !tbaa !5
  %9282 = call ptr @__errno_location() #11
  store i32 %9281, ptr %9282, align 4, !tbaa !5
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = load i32, ptr @test_count, align 4, !tbaa !5
  %9285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @s2n_strerror(i32 noundef %9286, ptr noundef @.str.4)
  %9288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @s2n_strerror_debug(i32 noundef %9289, ptr noundef @.str.4)
  %9291 = call ptr @__errno_location() #11
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call ptr @strerror(i32 noundef %9292) #10
  %9294 = call ptr @__errno_location() #11
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9283, ptr noundef @.str.5, i32 noundef %9284, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 712, ptr noundef %9287, ptr noundef %9290, ptr noundef %9293, i32 noundef %9295) #10
  br label %9297

9297:                                             ; preds = %9280, %9263
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %9298

9298:                                             ; preds = %9297
  br label %9299

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

9300:                                             ; No predecessors!
  br label %9301

9301:                                             ; preds = %9300
  br label %9302

9302:                                             ; preds = %9301, %9241
  br label %9303

9303:                                             ; preds = %9302
  br label %9304

9304:                                             ; preds = %9303
  br label %9305

9305:                                             ; preds = %9304
  %9306 = load i32, ptr @test_count, align 4, !tbaa !5
  %9307 = add nsw i32 %9306, 1
  store i32 %9307, ptr @test_count, align 4, !tbaa !5
  %9308 = load ptr, ptr %177, align 8, !tbaa !9
  %9309 = call i32 @s2n_connection_set_blinding(ptr noundef %9308, i32 noundef 1)
  %9310 = icmp eq i32 %9309, -1
  br i1 %9310, label %9311, label %9364

9311:                                             ; preds = %9305
  br label %9312

9312:                                             ; preds = %9311
  br label %9313

9313:                                             ; preds = %9312
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #10
  %9314 = call ptr @__errno_location() #11
  %9315 = load i32, ptr %9314, align 4, !tbaa !5
  store i32 %9315, ptr %202, align 4, !tbaa !5
  %9316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9317 = call i32 @s2n_print_stacktrace(ptr noundef %9316)
  %9318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9319 = trunc i8 %9318 to i1
  br i1 %9319, label %9320, label %9342

9320:                                             ; preds = %9313
  %9321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9322 = call i32 @fileno(ptr noundef %9321) #10
  %9323 = call i32 @isatty(i32 noundef %9322) #10
  %9324 = icmp ne i32 %9323, 0
  br i1 %9324, label %9325, label %9342

9325:                                             ; preds = %9320
  %9326 = load i32, ptr %202, align 4, !tbaa !5
  %9327 = call ptr @__errno_location() #11
  store i32 %9326, ptr %9327, align 4, !tbaa !5
  %9328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9329 = load i32, ptr @test_count, align 4, !tbaa !5
  %9330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror(i32 noundef %9331, ptr noundef @.str.4)
  %9333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9334 = load i32, ptr %9333, align 4, !tbaa !5
  %9335 = call ptr @s2n_strerror_debug(i32 noundef %9334, ptr noundef @.str.4)
  %9336 = call ptr @__errno_location() #11
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  %9338 = call ptr @strerror(i32 noundef %9337) #10
  %9339 = call ptr @__errno_location() #11
  %9340 = load i32, ptr %9339, align 4, !tbaa !5
  %9341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9328, ptr noundef @.str.2, i32 noundef %9329, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 715, ptr noundef %9332, ptr noundef %9335, ptr noundef %9338, i32 noundef %9340) #10
  br label %9359

9342:                                             ; preds = %9320, %9313
  %9343 = load i32, ptr %202, align 4, !tbaa !5
  %9344 = call ptr @__errno_location() #11
  store i32 %9343, ptr %9344, align 4, !tbaa !5
  %9345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9346 = load i32, ptr @test_count, align 4, !tbaa !5
  %9347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9348 = load i32, ptr %9347, align 4, !tbaa !5
  %9349 = call ptr @s2n_strerror(i32 noundef %9348, ptr noundef @.str.4)
  %9350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9351 = load i32, ptr %9350, align 4, !tbaa !5
  %9352 = call ptr @s2n_strerror_debug(i32 noundef %9351, ptr noundef @.str.4)
  %9353 = call ptr @__errno_location() #11
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = call ptr @strerror(i32 noundef %9354) #10
  %9356 = call ptr @__errno_location() #11
  %9357 = load i32, ptr %9356, align 4, !tbaa !5
  %9358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9345, ptr noundef @.str.5, i32 noundef %9346, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 715, ptr noundef %9349, ptr noundef %9352, ptr noundef %9355, i32 noundef %9357) #10
  br label %9359

9359:                                             ; preds = %9342, %9325
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #10
  br label %9360

9360:                                             ; preds = %9359
  br label %9361

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

9362:                                             ; No predecessors!
  br label %9363

9363:                                             ; preds = %9362
  br label %9364

9364:                                             ; preds = %9363, %9305
  br label %9365

9365:                                             ; preds = %9364
  br label %9366

9366:                                             ; preds = %9365
  %9367 = load ptr, ptr %177, align 8, !tbaa !9
  %9368 = call i32 @s2n_negotiate(ptr noundef %9367, ptr noundef %179)
  br label %9369

9369:                                             ; preds = %9366
  %9370 = load i32, ptr @test_count, align 4, !tbaa !5
  %9371 = add nsw i32 %9370, 1
  store i32 %9371, ptr @test_count, align 4, !tbaa !5
  %9372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9373 = load i32, ptr %9372, align 4, !tbaa !5
  %9374 = icmp eq i32 %9373, 335544364
  br i1 %9374, label %9428, label %9375

9375:                                             ; preds = %9369
  br label %9376

9376:                                             ; preds = %9375
  br label %9377

9377:                                             ; preds = %9376
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %9378 = call ptr @__errno_location() #11
  %9379 = load i32, ptr %9378, align 4, !tbaa !5
  store i32 %9379, ptr %203, align 4, !tbaa !5
  %9380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9381 = call i32 @s2n_print_stacktrace(ptr noundef %9380)
  %9382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9383 = trunc i8 %9382 to i1
  br i1 %9383, label %9384, label %9406

9384:                                             ; preds = %9377
  %9385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9386 = call i32 @fileno(ptr noundef %9385) #10
  %9387 = call i32 @isatty(i32 noundef %9386) #10
  %9388 = icmp ne i32 %9387, 0
  br i1 %9388, label %9389, label %9406

9389:                                             ; preds = %9384
  %9390 = load i32, ptr %203, align 4, !tbaa !5
  %9391 = call ptr @__errno_location() #11
  store i32 %9390, ptr %9391, align 4, !tbaa !5
  %9392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9393 = load i32, ptr @test_count, align 4, !tbaa !5
  %9394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9395 = load i32, ptr %9394, align 4, !tbaa !5
  %9396 = call ptr @s2n_strerror(i32 noundef %9395, ptr noundef @.str.4)
  %9397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9398 = load i32, ptr %9397, align 4, !tbaa !5
  %9399 = call ptr @s2n_strerror_debug(i32 noundef %9398, ptr noundef @.str.4)
  %9400 = call ptr @__errno_location() #11
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = call ptr @strerror(i32 noundef %9401) #10
  %9403 = call ptr @__errno_location() #11
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  %9405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9392, ptr noundef @.str.2, i32 noundef %9393, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 717, ptr noundef %9396, ptr noundef %9399, ptr noundef %9402, i32 noundef %9404) #10
  br label %9423

9406:                                             ; preds = %9384, %9377
  %9407 = load i32, ptr %203, align 4, !tbaa !5
  %9408 = call ptr @__errno_location() #11
  store i32 %9407, ptr %9408, align 4, !tbaa !5
  %9409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9410 = load i32, ptr @test_count, align 4, !tbaa !5
  %9411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9412 = load i32, ptr %9411, align 4, !tbaa !5
  %9413 = call ptr @s2n_strerror(i32 noundef %9412, ptr noundef @.str.4)
  %9414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9415 = load i32, ptr %9414, align 4, !tbaa !5
  %9416 = call ptr @s2n_strerror_debug(i32 noundef %9415, ptr noundef @.str.4)
  %9417 = call ptr @__errno_location() #11
  %9418 = load i32, ptr %9417, align 4, !tbaa !5
  %9419 = call ptr @strerror(i32 noundef %9418) #10
  %9420 = call ptr @__errno_location() #11
  %9421 = load i32, ptr %9420, align 4, !tbaa !5
  %9422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9409, ptr noundef @.str.5, i32 noundef %9410, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 717, ptr noundef %9413, ptr noundef %9416, ptr noundef %9419, i32 noundef %9421) #10
  br label %9423

9423:                                             ; preds = %9406, %9389
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %9424

9424:                                             ; preds = %9423
  br label %9425

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

9426:                                             ; No predecessors!
  br label %9427

9427:                                             ; preds = %9426
  br label %9428

9428:                                             ; preds = %9427, %9369
  br label %9429

9429:                                             ; preds = %9428
  br label %9430

9430:                                             ; preds = %9429
  br label %9431

9431:                                             ; preds = %9430
  %9432 = load i32, ptr @test_count, align 4, !tbaa !5
  %9433 = add nsw i32 %9432, 1
  store i32 %9433, ptr @test_count, align 4, !tbaa !5
  %9434 = load ptr, ptr %177, align 8, !tbaa !9
  %9435 = call i32 @s2n_connection_free(ptr noundef %9434)
  %9436 = icmp eq i32 %9435, -1
  br i1 %9436, label %9437, label %9490

9437:                                             ; preds = %9431
  br label %9438

9438:                                             ; preds = %9437
  br label %9439

9439:                                             ; preds = %9438
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %9440 = call ptr @__errno_location() #11
  %9441 = load i32, ptr %9440, align 4, !tbaa !5
  store i32 %9441, ptr %204, align 4, !tbaa !5
  %9442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9443 = call i32 @s2n_print_stacktrace(ptr noundef %9442)
  %9444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9445 = trunc i8 %9444 to i1
  br i1 %9445, label %9446, label %9468

9446:                                             ; preds = %9439
  %9447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9448 = call i32 @fileno(ptr noundef %9447) #10
  %9449 = call i32 @isatty(i32 noundef %9448) #10
  %9450 = icmp ne i32 %9449, 0
  br i1 %9450, label %9451, label %9468

9451:                                             ; preds = %9446
  %9452 = load i32, ptr %204, align 4, !tbaa !5
  %9453 = call ptr @__errno_location() #11
  store i32 %9452, ptr %9453, align 4, !tbaa !5
  %9454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9455 = load i32, ptr @test_count, align 4, !tbaa !5
  %9456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9457 = load i32, ptr %9456, align 4, !tbaa !5
  %9458 = call ptr @s2n_strerror(i32 noundef %9457, ptr noundef @.str.4)
  %9459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror_debug(i32 noundef %9460, ptr noundef @.str.4)
  %9462 = call ptr @__errno_location() #11
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  %9464 = call ptr @strerror(i32 noundef %9463) #10
  %9465 = call ptr @__errno_location() #11
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  %9467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9454, ptr noundef @.str.2, i32 noundef %9455, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 719, ptr noundef %9458, ptr noundef %9461, ptr noundef %9464, i32 noundef %9466) #10
  br label %9485

9468:                                             ; preds = %9446, %9439
  %9469 = load i32, ptr %204, align 4, !tbaa !5
  %9470 = call ptr @__errno_location() #11
  store i32 %9469, ptr %9470, align 4, !tbaa !5
  %9471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9472 = load i32, ptr @test_count, align 4, !tbaa !5
  %9473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call ptr @s2n_strerror(i32 noundef %9474, ptr noundef @.str.4)
  %9476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call ptr @s2n_strerror_debug(i32 noundef %9477, ptr noundef @.str.4)
  %9479 = call ptr @__errno_location() #11
  %9480 = load i32, ptr %9479, align 4, !tbaa !5
  %9481 = call ptr @strerror(i32 noundef %9480) #10
  %9482 = call ptr @__errno_location() #11
  %9483 = load i32, ptr %9482, align 4, !tbaa !5
  %9484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9471, ptr noundef @.str.5, i32 noundef %9472, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 719, ptr noundef %9475, ptr noundef %9478, ptr noundef %9481, i32 noundef %9483) #10
  br label %9485

9485:                                             ; preds = %9468, %9451
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %9486

9486:                                             ; preds = %9485
  br label %9487

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

9488:                                             ; No predecessors!
  br label %9489

9489:                                             ; preds = %9488
  br label %9490

9490:                                             ; preds = %9489, %9431
  br label %9491

9491:                                             ; preds = %9490
  br label %9492

9492:                                             ; preds = %9491
  br label %9493

9493:                                             ; preds = %9492
  %9494 = load i32, ptr @test_count, align 4, !tbaa !5
  %9495 = add nsw i32 %9494, 1
  store i32 %9495, ptr @test_count, align 4, !tbaa !5
  %9496 = load ptr, ptr %180, align 8, !tbaa !9
  %9497 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %9496)
  %9498 = icmp eq i32 %9497, -1
  br i1 %9498, label %9499, label %9552

9499:                                             ; preds = %9493
  br label %9500

9500:                                             ; preds = %9499
  br label %9501

9501:                                             ; preds = %9500
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %9502 = call ptr @__errno_location() #11
  %9503 = load i32, ptr %9502, align 4, !tbaa !5
  store i32 %9503, ptr %205, align 4, !tbaa !5
  %9504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9505 = call i32 @s2n_print_stacktrace(ptr noundef %9504)
  %9506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9507 = trunc i8 %9506 to i1
  br i1 %9507, label %9508, label %9530

9508:                                             ; preds = %9501
  %9509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9510 = call i32 @fileno(ptr noundef %9509) #10
  %9511 = call i32 @isatty(i32 noundef %9510) #10
  %9512 = icmp ne i32 %9511, 0
  br i1 %9512, label %9513, label %9530

9513:                                             ; preds = %9508
  %9514 = load i32, ptr %205, align 4, !tbaa !5
  %9515 = call ptr @__errno_location() #11
  store i32 %9514, ptr %9515, align 4, !tbaa !5
  %9516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9517 = load i32, ptr @test_count, align 4, !tbaa !5
  %9518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9519 = load i32, ptr %9518, align 4, !tbaa !5
  %9520 = call ptr @s2n_strerror(i32 noundef %9519, ptr noundef @.str.4)
  %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_debug(i32 noundef %9522, ptr noundef @.str.4)
  %9524 = call ptr @__errno_location() #11
  %9525 = load i32, ptr %9524, align 4, !tbaa !5
  %9526 = call ptr @strerror(i32 noundef %9525) #10
  %9527 = call ptr @__errno_location() #11
  %9528 = load i32, ptr %9527, align 4, !tbaa !5
  %9529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9516, ptr noundef @.str.2, i32 noundef %9517, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 720, ptr noundef %9520, ptr noundef %9523, ptr noundef %9526, i32 noundef %9528) #10
  br label %9547

9530:                                             ; preds = %9508, %9501
  %9531 = load i32, ptr %205, align 4, !tbaa !5
  %9532 = call ptr @__errno_location() #11
  store i32 %9531, ptr %9532, align 4, !tbaa !5
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = load i32, ptr @test_count, align 4, !tbaa !5
  %9535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9536 = load i32, ptr %9535, align 4, !tbaa !5
  %9537 = call ptr @s2n_strerror(i32 noundef %9536, ptr noundef @.str.4)
  %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_debug(i32 noundef %9539, ptr noundef @.str.4)
  %9541 = call ptr @__errno_location() #11
  %9542 = load i32, ptr %9541, align 4, !tbaa !5
  %9543 = call ptr @strerror(i32 noundef %9542) #10
  %9544 = call ptr @__errno_location() #11
  %9545 = load i32, ptr %9544, align 4, !tbaa !5
  %9546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9533, ptr noundef @.str.5, i32 noundef %9534, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 720, ptr noundef %9537, ptr noundef %9540, ptr noundef %9543, i32 noundef %9545) #10
  br label %9547

9547:                                             ; preds = %9530, %9513
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %9548

9548:                                             ; preds = %9547
  br label %9549

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

9550:                                             ; No predecessors!
  br label %9551

9551:                                             ; preds = %9550
  br label %9552

9552:                                             ; preds = %9551, %9493
  br label %9553

9553:                                             ; preds = %9552
  br label %9554

9554:                                             ; preds = %9553
  br label %9555

9555:                                             ; preds = %9554
  %9556 = load i32, ptr @test_count, align 4, !tbaa !5
  %9557 = add nsw i32 %9556, 1
  store i32 %9557, ptr @test_count, align 4, !tbaa !5
  %9558 = load ptr, ptr %178, align 8, !tbaa !9
  %9559 = call i32 @s2n_config_free(ptr noundef %9558)
  %9560 = icmp eq i32 %9559, -1
  br i1 %9560, label %9561, label %9614

9561:                                             ; preds = %9555
  br label %9562

9562:                                             ; preds = %9561
  br label %9563

9563:                                             ; preds = %9562
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %9564 = call ptr @__errno_location() #11
  %9565 = load i32, ptr %9564, align 4, !tbaa !5
  store i32 %9565, ptr %206, align 4, !tbaa !5
  %9566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9567 = call i32 @s2n_print_stacktrace(ptr noundef %9566)
  %9568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9569 = trunc i8 %9568 to i1
  br i1 %9569, label %9570, label %9592

9570:                                             ; preds = %9563
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = call i32 @fileno(ptr noundef %9571) #10
  %9573 = call i32 @isatty(i32 noundef %9572) #10
  %9574 = icmp ne i32 %9573, 0
  br i1 %9574, label %9575, label %9592

9575:                                             ; preds = %9570
  %9576 = load i32, ptr %206, align 4, !tbaa !5
  %9577 = call ptr @__errno_location() #11
  store i32 %9576, ptr %9577, align 4, !tbaa !5
  %9578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9579 = load i32, ptr @test_count, align 4, !tbaa !5
  %9580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @s2n_strerror(i32 noundef %9581, ptr noundef @.str.4)
  %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_debug(i32 noundef %9584, ptr noundef @.str.4)
  %9586 = call ptr @__errno_location() #11
  %9587 = load i32, ptr %9586, align 4, !tbaa !5
  %9588 = call ptr @strerror(i32 noundef %9587) #10
  %9589 = call ptr @__errno_location() #11
  %9590 = load i32, ptr %9589, align 4, !tbaa !5
  %9591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9578, ptr noundef @.str.2, i32 noundef %9579, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 721, ptr noundef %9582, ptr noundef %9585, ptr noundef %9588, i32 noundef %9590) #10
  br label %9609

9592:                                             ; preds = %9570, %9563
  %9593 = load i32, ptr %206, align 4, !tbaa !5
  %9594 = call ptr @__errno_location() #11
  store i32 %9593, ptr %9594, align 4, !tbaa !5
  %9595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9596 = load i32, ptr @test_count, align 4, !tbaa !5
  %9597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @s2n_strerror(i32 noundef %9598, ptr noundef @.str.4)
  %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_debug(i32 noundef %9601, ptr noundef @.str.4)
  %9603 = call ptr @__errno_location() #11
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  %9605 = call ptr @strerror(i32 noundef %9604) #10
  %9606 = call ptr @__errno_location() #11
  %9607 = load i32, ptr %9606, align 4, !tbaa !5
  %9608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9595, ptr noundef @.str.5, i32 noundef %9596, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 721, ptr noundef %9599, ptr noundef %9602, ptr noundef %9605, i32 noundef %9607) #10
  br label %9609

9609:                                             ; preds = %9592, %9575
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %9610

9610:                                             ; preds = %9609
  br label %9611

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

9612:                                             ; No predecessors!
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

9614:                                             ; preds = %9613, %9555
  br label %9615

9615:                                             ; preds = %9614
  br label %9616

9616:                                             ; preds = %9615
  br label %9617

9617:                                             ; preds = %9616
  %9618 = load i32, ptr @test_count, align 4, !tbaa !5
  %9619 = add nsw i32 %9618, 1
  store i32 %9619, ptr @test_count, align 4, !tbaa !5
  %9620 = getelementptr inbounds %struct.s2n_test_io_pair, ptr %15, i32 0, i32 0
  %9621 = load i32, ptr %9620, align 4, !tbaa !45
  %9622 = getelementptr inbounds [5120 x i8], ptr %181, i64 0, i64 0
  %9623 = call i64 @read(i32 noundef %9621, ptr noundef %9622, i64 noundef 5120)
  %9624 = icmp eq i64 %9623, -1
  br i1 %9624, label %9625, label %9678

9625:                                             ; preds = %9617
  br label %9626

9626:                                             ; preds = %9625
  br label %9627

9627:                                             ; preds = %9626
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %9628 = call ptr @__errno_location() #11
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  store i32 %9629, ptr %207, align 4, !tbaa !5
  %9630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9631 = call i32 @s2n_print_stacktrace(ptr noundef %9630)
  %9632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9633 = trunc i8 %9632 to i1
  br i1 %9633, label %9634, label %9656

9634:                                             ; preds = %9627
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = call i32 @fileno(ptr noundef %9635) #10
  %9637 = call i32 @isatty(i32 noundef %9636) #10
  %9638 = icmp ne i32 %9637, 0
  br i1 %9638, label %9639, label %9656

9639:                                             ; preds = %9634
  %9640 = load i32, ptr %207, align 4, !tbaa !5
  %9641 = call ptr @__errno_location() #11
  store i32 %9640, ptr %9641, align 4, !tbaa !5
  %9642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9643 = load i32, ptr @test_count, align 4, !tbaa !5
  %9644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call ptr @s2n_strerror(i32 noundef %9645, ptr noundef @.str.4)
  %9647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call ptr @s2n_strerror_debug(i32 noundef %9648, ptr noundef @.str.4)
  %9650 = call ptr @__errno_location() #11
  %9651 = load i32, ptr %9650, align 4, !tbaa !5
  %9652 = call ptr @strerror(i32 noundef %9651) #10
  %9653 = call ptr @__errno_location() #11
  %9654 = load i32, ptr %9653, align 4, !tbaa !5
  %9655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9642, ptr noundef @.str.2, i32 noundef %9643, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 724, ptr noundef %9646, ptr noundef %9649, ptr noundef %9652, i32 noundef %9654) #10
  br label %9673

9656:                                             ; preds = %9634, %9627
  %9657 = load i32, ptr %207, align 4, !tbaa !5
  %9658 = call ptr @__errno_location() #11
  store i32 %9657, ptr %9658, align 4, !tbaa !5
  %9659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9660 = load i32, ptr @test_count, align 4, !tbaa !5
  %9661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call ptr @s2n_strerror(i32 noundef %9662, ptr noundef @.str.4)
  %9664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9665 = load i32, ptr %9664, align 4, !tbaa !5
  %9666 = call ptr @s2n_strerror_debug(i32 noundef %9665, ptr noundef @.str.4)
  %9667 = call ptr @__errno_location() #11
  %9668 = load i32, ptr %9667, align 4, !tbaa !5
  %9669 = call ptr @strerror(i32 noundef %9668) #10
  %9670 = call ptr @__errno_location() #11
  %9671 = load i32, ptr %9670, align 4, !tbaa !5
  %9672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9659, ptr noundef @.str.5, i32 noundef %9660, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 724, ptr noundef %9663, ptr noundef %9666, ptr noundef %9669, i32 noundef %9671) #10
  br label %9673

9673:                                             ; preds = %9656, %9639
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

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

9676:                                             ; No predecessors!
  br label %9677

9677:                                             ; preds = %9676
  br label %9678

9678:                                             ; preds = %9677, %9617
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679
  call void @llvm.lifetime.end.p0(i64 5, ptr %188) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  call void @llvm.lifetime.end.p0(i64 75, ptr %184) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  call void @llvm.lifetime.end.p0(i64 37, ptr %182) #10
  call void @llvm.lifetime.end.p0(i64 5120, ptr %181) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #10
  store ptr null, ptr %208, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %209) #10
  store ptr null, ptr %209, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #10
  store ptr null, ptr %210, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  store i32 0, ptr %211, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #10
  store ptr null, ptr %212, align 8, !tbaa !9
  br label %9681

9681:                                             ; preds = %9680
  %9682 = load i32, ptr @test_count, align 4, !tbaa !5
  %9683 = add nsw i32 %9682, 1
  store i32 %9683, ptr @test_count, align 4, !tbaa !5
  %9684 = call ptr @s2n_config_new()
  store ptr %9684, ptr %212, align 8, !tbaa !9
  %9685 = icmp eq ptr %9684, null
  br i1 %9685, label %9686, label %9739

9686:                                             ; preds = %9681
  br label %9687

9687:                                             ; preds = %9686
  br label %9688

9688:                                             ; preds = %9687
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %9689 = call ptr @__errno_location() #11
  %9690 = load i32, ptr %9689, align 4, !tbaa !5
  store i32 %9690, ptr %213, align 4, !tbaa !5
  %9691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9692 = call i32 @s2n_print_stacktrace(ptr noundef %9691)
  %9693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9694 = trunc i8 %9693 to i1
  br i1 %9694, label %9695, label %9717

9695:                                             ; preds = %9688
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = call i32 @fileno(ptr noundef %9696) #10
  %9698 = call i32 @isatty(i32 noundef %9697) #10
  %9699 = icmp ne i32 %9698, 0
  br i1 %9699, label %9700, label %9717

9700:                                             ; preds = %9695
  %9701 = load i32, ptr %213, align 4, !tbaa !5
  %9702 = call ptr @__errno_location() #11
  store i32 %9701, ptr %9702, align 4, !tbaa !5
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = load i32, ptr @test_count, align 4, !tbaa !5
  %9705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @s2n_strerror(i32 noundef %9706, ptr noundef @.str.4)
  %9708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror_debug(i32 noundef %9709, ptr noundef @.str.4)
  %9711 = call ptr @__errno_location() #11
  %9712 = load i32, ptr %9711, align 4, !tbaa !5
  %9713 = call ptr @strerror(i32 noundef %9712) #10
  %9714 = call ptr @__errno_location() #11
  %9715 = load i32, ptr %9714, align 4, !tbaa !5
  %9716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9703, ptr noundef @.str.2, i32 noundef %9704, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 735, ptr noundef %9707, ptr noundef %9710, ptr noundef %9713, i32 noundef %9715) #10
  br label %9734

9717:                                             ; preds = %9695, %9688
  %9718 = load i32, ptr %213, align 4, !tbaa !5
  %9719 = call ptr @__errno_location() #11
  store i32 %9718, ptr %9719, align 4, !tbaa !5
  %9720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9721 = load i32, ptr @test_count, align 4, !tbaa !5
  %9722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9723 = load i32, ptr %9722, align 4, !tbaa !5
  %9724 = call ptr @s2n_strerror(i32 noundef %9723, ptr noundef @.str.4)
  %9725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9726 = load i32, ptr %9725, align 4, !tbaa !5
  %9727 = call ptr @s2n_strerror_debug(i32 noundef %9726, ptr noundef @.str.4)
  %9728 = call ptr @__errno_location() #11
  %9729 = load i32, ptr %9728, align 4, !tbaa !5
  %9730 = call ptr @strerror(i32 noundef %9729) #10
  %9731 = call ptr @__errno_location() #11
  %9732 = load i32, ptr %9731, align 4, !tbaa !5
  %9733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9720, ptr noundef @.str.5, i32 noundef %9721, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 735, ptr noundef %9724, ptr noundef %9727, ptr noundef %9730, i32 noundef %9732) #10
  br label %9734

9734:                                             ; preds = %9717, %9700
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %9735

9735:                                             ; preds = %9734
  br label %9736

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

9737:                                             ; No predecessors!
  br label %9738

9738:                                             ; preds = %9737
  br label %9739

9739:                                             ; preds = %9738, %9681
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  br label %9742

9742:                                             ; preds = %9741
  %9743 = load i32, ptr @test_count, align 4, !tbaa !5
  %9744 = add nsw i32 %9743, 1
  store i32 %9744, ptr @test_count, align 4, !tbaa !5
  %9745 = load ptr, ptr %212, align 8, !tbaa !9
  %9746 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %9745, i8 noundef zeroext 0)
  %9747 = icmp eq i32 %9746, -1
  br i1 %9747, label %9748, label %9801

9748:                                             ; preds = %9742
  br label %9749

9749:                                             ; preds = %9748
  br label %9750

9750:                                             ; preds = %9749
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %9751 = call ptr @__errno_location() #11
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  store i32 %9752, ptr %214, align 4, !tbaa !5
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @s2n_print_stacktrace(ptr noundef %9753)
  %9755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9756 = trunc i8 %9755 to i1
  br i1 %9756, label %9757, label %9779

9757:                                             ; preds = %9750
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = call i32 @fileno(ptr noundef %9758) #10
  %9760 = call i32 @isatty(i32 noundef %9759) #10
  %9761 = icmp ne i32 %9760, 0
  br i1 %9761, label %9762, label %9779

9762:                                             ; preds = %9757
  %9763 = load i32, ptr %214, align 4, !tbaa !5
  %9764 = call ptr @__errno_location() #11
  store i32 %9763, ptr %9764, align 4, !tbaa !5
  %9765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9766 = load i32, ptr @test_count, align 4, !tbaa !5
  %9767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call ptr @s2n_strerror(i32 noundef %9768, ptr noundef @.str.4)
  %9770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call ptr @s2n_strerror_debug(i32 noundef %9771, ptr noundef @.str.4)
  %9773 = call ptr @__errno_location() #11
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call ptr @strerror(i32 noundef %9774) #10
  %9776 = call ptr @__errno_location() #11
  %9777 = load i32, ptr %9776, align 4, !tbaa !5
  %9778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9765, ptr noundef @.str.2, i32 noundef %9766, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 736, ptr noundef %9769, ptr noundef %9772, ptr noundef %9775, i32 noundef %9777) #10
  br label %9796

9779:                                             ; preds = %9757, %9750
  %9780 = load i32, ptr %214, align 4, !tbaa !5
  %9781 = call ptr @__errno_location() #11
  store i32 %9780, ptr %9781, align 4, !tbaa !5
  %9782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9783 = load i32, ptr @test_count, align 4, !tbaa !5
  %9784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror(i32 noundef %9785, ptr noundef @.str.4)
  %9787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = call ptr @s2n_strerror_debug(i32 noundef %9788, ptr noundef @.str.4)
  %9790 = call ptr @__errno_location() #11
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call ptr @strerror(i32 noundef %9791) #10
  %9793 = call ptr @__errno_location() #11
  %9794 = load i32, ptr %9793, align 4, !tbaa !5
  %9795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9782, ptr noundef @.str.5, i32 noundef %9783, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 736, ptr noundef %9786, ptr noundef %9789, ptr noundef %9792, i32 noundef %9794) #10
  br label %9796

9796:                                             ; preds = %9779, %9762
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

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

9799:                                             ; No predecessors!
  br label %9800

9800:                                             ; preds = %9799
  br label %9801

9801:                                             ; preds = %9800, %9742
  br label %9802

9802:                                             ; preds = %9801
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  %9805 = load i32, ptr @test_count, align 4, !tbaa !5
  %9806 = add nsw i32 %9805, 1
  store i32 %9806, ptr @test_count, align 4, !tbaa !5
  %9807 = load ptr, ptr %212, align 8, !tbaa !9
  %9808 = call i32 @s2n_config_disable_x509_verification(ptr noundef %9807)
  %9809 = icmp eq i32 %9808, -1
  br i1 %9809, label %9810, label %9863

9810:                                             ; preds = %9804
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %9813 = call ptr @__errno_location() #11
  %9814 = load i32, ptr %9813, align 4, !tbaa !5
  store i32 %9814, ptr %215, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @s2n_print_stacktrace(ptr noundef %9815)
  %9817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9818 = trunc i8 %9817 to i1
  br i1 %9818, label %9819, label %9841

9819:                                             ; preds = %9812
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @fileno(ptr noundef %9820) #10
  %9822 = call i32 @isatty(i32 noundef %9821) #10
  %9823 = icmp ne i32 %9822, 0
  br i1 %9823, label %9824, label %9841

9824:                                             ; preds = %9819
  %9825 = load i32, ptr %215, align 4, !tbaa !5
  %9826 = call ptr @__errno_location() #11
  store i32 %9825, ptr %9826, align 4, !tbaa !5
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = load i32, ptr @test_count, align 4, !tbaa !5
  %9829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9830 = load i32, ptr %9829, align 4, !tbaa !5
  %9831 = call ptr @s2n_strerror(i32 noundef %9830, ptr noundef @.str.4)
  %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_debug(i32 noundef %9833, ptr noundef @.str.4)
  %9835 = call ptr @__errno_location() #11
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #10
  %9838 = call ptr @__errno_location() #11
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9827, ptr noundef @.str.2, i32 noundef %9828, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 737, ptr noundef %9831, ptr noundef %9834, ptr noundef %9837, i32 noundef %9839) #10
  br label %9858

9841:                                             ; preds = %9819, %9812
  %9842 = load i32, ptr %215, align 4, !tbaa !5
  %9843 = call ptr @__errno_location() #11
  store i32 %9842, ptr %9843, align 4, !tbaa !5
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = load i32, ptr @test_count, align 4, !tbaa !5
  %9846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror(i32 noundef %9847, ptr noundef @.str.4)
  %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_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = call ptr @__errno_location() #11
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @strerror(i32 noundef %9853) #10
  %9855 = call ptr @__errno_location() #11
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9844, ptr noundef @.str.5, i32 noundef %9845, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 737, ptr noundef %9848, ptr noundef %9851, ptr noundef %9854, i32 noundef %9856) #10
  br label %9858

9858:                                             ; preds = %9841, %9824
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

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

9861:                                             ; No predecessors!
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862, %9804
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  %9867 = load i32, ptr @test_count, align 4, !tbaa !5
  %9868 = add nsw i32 %9867, 1
  store i32 %9868, ptr @test_count, align 4, !tbaa !5
  %9869 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9869, ptr %208, align 8, !tbaa !9
  %9870 = icmp eq ptr %9869, null
  br i1 %9870, label %9871, label %9924

9871:                                             ; preds = %9866
  br label %9872

9872:                                             ; preds = %9871
  br label %9873

9873:                                             ; preds = %9872
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %9874 = call ptr @__errno_location() #11
  %9875 = load i32, ptr %9874, align 4, !tbaa !5
  store i32 %9875, ptr %216, align 4, !tbaa !5
  %9876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9877 = call i32 @s2n_print_stacktrace(ptr noundef %9876)
  %9878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9879 = trunc i8 %9878 to i1
  br i1 %9879, label %9880, label %9902

9880:                                             ; preds = %9873
  %9881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9882 = call i32 @fileno(ptr noundef %9881) #10
  %9883 = call i32 @isatty(i32 noundef %9882) #10
  %9884 = icmp ne i32 %9883, 0
  br i1 %9884, label %9885, label %9902

9885:                                             ; preds = %9880
  %9886 = load i32, ptr %216, align 4, !tbaa !5
  %9887 = call ptr @__errno_location() #11
  store i32 %9886, ptr %9887, align 4, !tbaa !5
  %9888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9889 = load i32, ptr @test_count, align 4, !tbaa !5
  %9890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9891 = load i32, ptr %9890, align 4, !tbaa !5
  %9892 = call ptr @s2n_strerror(i32 noundef %9891, ptr noundef @.str.4)
  %9893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9894 = load i32, ptr %9893, align 4, !tbaa !5
  %9895 = call ptr @s2n_strerror_debug(i32 noundef %9894, ptr noundef @.str.4)
  %9896 = call ptr @__errno_location() #11
  %9897 = load i32, ptr %9896, align 4, !tbaa !5
  %9898 = call ptr @strerror(i32 noundef %9897) #10
  %9899 = call ptr @__errno_location() #11
  %9900 = load i32, ptr %9899, align 4, !tbaa !5
  %9901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9888, ptr noundef @.str.2, i32 noundef %9889, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 738, ptr noundef %9892, ptr noundef %9895, ptr noundef %9898, i32 noundef %9900) #10
  br label %9919

9902:                                             ; preds = %9880, %9873
  %9903 = load i32, ptr %216, align 4, !tbaa !5
  %9904 = call ptr @__errno_location() #11
  store i32 %9903, ptr %9904, align 4, !tbaa !5
  %9905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9906 = load i32, ptr @test_count, align 4, !tbaa !5
  %9907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9908 = load i32, ptr %9907, align 4, !tbaa !5
  %9909 = call ptr @s2n_strerror(i32 noundef %9908, ptr noundef @.str.4)
  %9910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9911 = load i32, ptr %9910, align 4, !tbaa !5
  %9912 = call ptr @s2n_strerror_debug(i32 noundef %9911, ptr noundef @.str.4)
  %9913 = call ptr @__errno_location() #11
  %9914 = load i32, ptr %9913, align 4, !tbaa !5
  %9915 = call ptr @strerror(i32 noundef %9914) #10
  %9916 = call ptr @__errno_location() #11
  %9917 = load i32, ptr %9916, align 4, !tbaa !5
  %9918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9905, ptr noundef @.str.5, i32 noundef %9906, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 738, ptr noundef %9909, ptr noundef %9912, ptr noundef %9915, i32 noundef %9917) #10
  br label %9919

9919:                                             ; preds = %9902, %9885
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  br label %9920

9920:                                             ; preds = %9919
  br label %9921

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

9922:                                             ; No predecessors!
  br label %9923

9923:                                             ; preds = %9922
  br label %9924

9924:                                             ; preds = %9923, %9866
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  %9928 = load i32, ptr @test_count, align 4, !tbaa !5
  %9929 = add nsw i32 %9928, 1
  store i32 %9929, ptr @test_count, align 4, !tbaa !5
  %9930 = load ptr, ptr %208, align 8, !tbaa !9
  %9931 = load ptr, ptr %212, align 8, !tbaa !9
  %9932 = call i32 @s2n_connection_set_config(ptr noundef %9930, ptr noundef %9931)
  %9933 = icmp eq i32 %9932, -1
  br i1 %9933, label %9934, label %9987

9934:                                             ; preds = %9927
  br label %9935

9935:                                             ; preds = %9934
  br label %9936

9936:                                             ; preds = %9935
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %9937 = call ptr @__errno_location() #11
  %9938 = load i32, ptr %9937, align 4, !tbaa !5
  store i32 %9938, ptr %217, align 4, !tbaa !5
  %9939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9940 = call i32 @s2n_print_stacktrace(ptr noundef %9939)
  %9941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9942 = trunc i8 %9941 to i1
  br i1 %9942, label %9943, label %9965

9943:                                             ; preds = %9936
  %9944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9945 = call i32 @fileno(ptr noundef %9944) #10
  %9946 = call i32 @isatty(i32 noundef %9945) #10
  %9947 = icmp ne i32 %9946, 0
  br i1 %9947, label %9948, label %9965

9948:                                             ; preds = %9943
  %9949 = load i32, ptr %217, align 4, !tbaa !5
  %9950 = call ptr @__errno_location() #11
  store i32 %9949, ptr %9950, align 4, !tbaa !5
  %9951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9952 = load i32, ptr @test_count, align 4, !tbaa !5
  %9953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call ptr @s2n_strerror(i32 noundef %9954, ptr noundef @.str.4)
  %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_debug(i32 noundef %9957, ptr noundef @.str.4)
  %9959 = call ptr @__errno_location() #11
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @strerror(i32 noundef %9960) #10
  %9962 = call ptr @__errno_location() #11
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9951, ptr noundef @.str.2, i32 noundef %9952, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 739, ptr noundef %9955, ptr noundef %9958, ptr noundef %9961, i32 noundef %9963) #10
  br label %9982

9965:                                             ; preds = %9943, %9936
  %9966 = load i32, ptr %217, align 4, !tbaa !5
  %9967 = call ptr @__errno_location() #11
  store i32 %9966, ptr %9967, align 4, !tbaa !5
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = load i32, ptr @test_count, align 4, !tbaa !5
  %9970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror(i32 noundef %9971, ptr noundef @.str.4)
  %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_debug(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call ptr @__errno_location() #11
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @strerror(i32 noundef %9977) #10
  %9979 = call ptr @__errno_location() #11
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9968, ptr noundef @.str.5, i32 noundef %9969, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 739, ptr noundef %9972, ptr noundef %9975, ptr noundef %9978, i32 noundef %9980) #10
  br label %9982

9982:                                             ; preds = %9965, %9948
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

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

9985:                                             ; No predecessors!
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986, %9927
  br label %9988

9988:                                             ; preds = %9987
  br label %9989

9989:                                             ; preds = %9988
  %9990 = load ptr, ptr %208, align 8, !tbaa !9
  %9991 = getelementptr inbounds %struct.s2n_connection, ptr %9990, i32 0, i32 23
  store i8 33, ptr %9991, align 4, !tbaa !15
  %9992 = load ptr, ptr %208, align 8, !tbaa !9
  %9993 = getelementptr inbounds %struct.s2n_connection, ptr %9992, i32 0, i32 22
  store i8 33, ptr %9993, align 1, !tbaa !42
  %9994 = load ptr, ptr %208, align 8, !tbaa !9
  %9995 = getelementptr inbounds %struct.s2n_connection, ptr %9994, i32 0, i32 21
  store i8 33, ptr %9995, align 2, !tbaa !43
  br label %9996

9996:                                             ; preds = %9989
  %9997 = load i32, ptr @test_count, align 4, !tbaa !5
  %9998 = add nsw i32 %9997, 1
  store i32 %9998, ptr @test_count, align 4, !tbaa !5
  %9999 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9999, ptr %209, align 8, !tbaa !9
  %10000 = icmp eq ptr %9999, null
  br i1 %10000, label %10001, label %10054

10001:                                            ; preds = %9996
  br label %10002

10002:                                            ; preds = %10001
  br label %10003

10003:                                            ; preds = %10002
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  %10004 = call ptr @__errno_location() #11
  %10005 = load i32, ptr %10004, align 4, !tbaa !5
  store i32 %10005, ptr %218, align 4, !tbaa !5
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = call i32 @s2n_print_stacktrace(ptr noundef %10006)
  %10008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10009 = trunc i8 %10008 to i1
  br i1 %10009, label %10010, label %10032

10010:                                            ; preds = %10003
  %10011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10012 = call i32 @fileno(ptr noundef %10011) #10
  %10013 = call i32 @isatty(i32 noundef %10012) #10
  %10014 = icmp ne i32 %10013, 0
  br i1 %10014, label %10015, label %10032

10015:                                            ; preds = %10010
  %10016 = load i32, ptr %218, align 4, !tbaa !5
  %10017 = call ptr @__errno_location() #11
  store i32 %10016, ptr %10017, align 4, !tbaa !5
  %10018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10019 = load i32, ptr @test_count, align 4, !tbaa !5
  %10020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10021 = load i32, ptr %10020, align 4, !tbaa !5
  %10022 = call ptr @s2n_strerror(i32 noundef %10021, ptr noundef @.str.4)
  %10023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10024 = load i32, ptr %10023, align 4, !tbaa !5
  %10025 = call ptr @s2n_strerror_debug(i32 noundef %10024, ptr noundef @.str.4)
  %10026 = call ptr @__errno_location() #11
  %10027 = load i32, ptr %10026, align 4, !tbaa !5
  %10028 = call ptr @strerror(i32 noundef %10027) #10
  %10029 = call ptr @__errno_location() #11
  %10030 = load i32, ptr %10029, align 4, !tbaa !5
  %10031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10018, ptr noundef @.str.2, i32 noundef %10019, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 744, ptr noundef %10022, ptr noundef %10025, ptr noundef %10028, i32 noundef %10030) #10
  br label %10049

10032:                                            ; preds = %10010, %10003
  %10033 = load i32, ptr %218, align 4, !tbaa !5
  %10034 = call ptr @__errno_location() #11
  store i32 %10033, ptr %10034, align 4, !tbaa !5
  %10035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10036 = load i32, ptr @test_count, align 4, !tbaa !5
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror(i32 noundef %10038, ptr noundef @.str.4)
  %10040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @s2n_strerror_debug(i32 noundef %10041, ptr noundef @.str.4)
  %10043 = call ptr @__errno_location() #11
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call ptr @strerror(i32 noundef %10044) #10
  %10046 = call ptr @__errno_location() #11
  %10047 = load i32, ptr %10046, align 4, !tbaa !5
  %10048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10035, ptr noundef @.str.5, i32 noundef %10036, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 744, ptr noundef %10039, ptr noundef %10042, ptr noundef %10045, i32 noundef %10047) #10
  br label %10049

10049:                                            ; preds = %10032, %10015
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

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

10052:                                            ; No predecessors!
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053, %9996
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055
  %10057 = load ptr, ptr %209, align 8, !tbaa !9
  %10058 = getelementptr inbounds %struct.s2n_connection, ptr %10057, i32 0, i32 23
  store i8 33, ptr %10058, align 4, !tbaa !15
  %10059 = load ptr, ptr %209, align 8, !tbaa !9
  %10060 = getelementptr inbounds %struct.s2n_connection, ptr %10059, i32 0, i32 22
  store i8 33, ptr %10060, align 1, !tbaa !42
  %10061 = load ptr, ptr %209, align 8, !tbaa !9
  %10062 = getelementptr inbounds %struct.s2n_connection, ptr %10061, i32 0, i32 21
  store i8 33, ptr %10062, align 2, !tbaa !43
  br label %10063

10063:                                            ; preds = %10056
  %10064 = load i32, ptr @test_count, align 4, !tbaa !5
  %10065 = add nsw i32 %10064, 1
  store i32 %10065, ptr @test_count, align 4, !tbaa !5
  %10066 = load ptr, ptr %208, align 8, !tbaa !9
  %10067 = load ptr, ptr %209, align 8, !tbaa !9
  %10068 = call i32 @s2n_connections_set_io_pair(ptr noundef %10066, ptr noundef %10067, ptr noundef %15)
  %10069 = icmp eq i32 %10068, -1
  br i1 %10069, label %10070, label %10123

10070:                                            ; preds = %10063
  br label %10071

10071:                                            ; preds = %10070
  br label %10072

10072:                                            ; preds = %10071
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #10
  %10073 = call ptr @__errno_location() #11
  %10074 = load i32, ptr %10073, align 4, !tbaa !5
  store i32 %10074, ptr %219, align 4, !tbaa !5
  %10075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10076 = call i32 @s2n_print_stacktrace(ptr noundef %10075)
  %10077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10078 = trunc i8 %10077 to i1
  br i1 %10078, label %10079, label %10101

10079:                                            ; preds = %10072
  %10080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10081 = call i32 @fileno(ptr noundef %10080) #10
  %10082 = call i32 @isatty(i32 noundef %10081) #10
  %10083 = icmp ne i32 %10082, 0
  br i1 %10083, label %10084, label %10101

10084:                                            ; preds = %10079
  %10085 = load i32, ptr %219, align 4, !tbaa !5
  %10086 = call ptr @__errno_location() #11
  store i32 %10085, ptr %10086, align 4, !tbaa !5
  %10087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10088 = load i32, ptr @test_count, align 4, !tbaa !5
  %10089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10090 = load i32, ptr %10089, align 4, !tbaa !5
  %10091 = call ptr @s2n_strerror(i32 noundef %10090, ptr noundef @.str.4)
  %10092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10093 = load i32, ptr %10092, align 4, !tbaa !5
  %10094 = call ptr @s2n_strerror_debug(i32 noundef %10093, ptr noundef @.str.4)
  %10095 = call ptr @__errno_location() #11
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @strerror(i32 noundef %10096) #10
  %10098 = call ptr @__errno_location() #11
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10087, ptr noundef @.str.2, i32 noundef %10088, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 749, ptr noundef %10091, ptr noundef %10094, ptr noundef %10097, i32 noundef %10099) #10
  br label %10118

10101:                                            ; preds = %10079, %10072
  %10102 = load i32, ptr %219, align 4, !tbaa !5
  %10103 = call ptr @__errno_location() #11
  store i32 %10102, ptr %10103, align 4, !tbaa !5
  %10104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10105 = load i32, ptr @test_count, align 4, !tbaa !5
  %10106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10107 = load i32, ptr %10106, align 4, !tbaa !5
  %10108 = call ptr @s2n_strerror(i32 noundef %10107, ptr noundef @.str.4)
  %10109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10110 = load i32, ptr %10109, align 4, !tbaa !5
  %10111 = call ptr @s2n_strerror_debug(i32 noundef %10110, ptr noundef @.str.4)
  %10112 = call ptr @__errno_location() #11
  %10113 = load i32, ptr %10112, align 4, !tbaa !5
  %10114 = call ptr @strerror(i32 noundef %10113) #10
  %10115 = call ptr @__errno_location() #11
  %10116 = load i32, ptr %10115, align 4, !tbaa !5
  %10117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10104, ptr noundef @.str.5, i32 noundef %10105, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 749, ptr noundef %10108, ptr noundef %10111, ptr noundef %10114, i32 noundef %10116) #10
  br label %10118

10118:                                            ; preds = %10101, %10084
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #10
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

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

10121:                                            ; No predecessors!
  br label %10122

10122:                                            ; preds = %10121
  br label %10123

10123:                                            ; preds = %10122, %10063
  br label %10124

10124:                                            ; preds = %10123
  br label %10125

10125:                                            ; preds = %10124
  br label %10126

10126:                                            ; preds = %10125
  %10127 = load i32, ptr @test_count, align 4, !tbaa !5
  %10128 = add nsw i32 %10127, 1
  store i32 %10128, ptr @test_count, align 4, !tbaa !5
  %10129 = call ptr @s2n_config_new()
  store ptr %10129, ptr %210, align 8, !tbaa !9
  %10130 = icmp eq ptr %10129, null
  br i1 %10130, label %10131, label %10184

10131:                                            ; preds = %10126
  br label %10132

10132:                                            ; preds = %10131
  br label %10133

10133:                                            ; preds = %10132
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %10134 = call ptr @__errno_location() #11
  %10135 = load i32, ptr %10134, align 4, !tbaa !5
  store i32 %10135, ptr %220, align 4, !tbaa !5
  %10136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10137 = call i32 @s2n_print_stacktrace(ptr noundef %10136)
  %10138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10139 = trunc i8 %10138 to i1
  br i1 %10139, label %10140, label %10162

10140:                                            ; preds = %10133
  %10141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10142 = call i32 @fileno(ptr noundef %10141) #10
  %10143 = call i32 @isatty(i32 noundef %10142) #10
  %10144 = icmp ne i32 %10143, 0
  br i1 %10144, label %10145, label %10162

10145:                                            ; preds = %10140
  %10146 = load i32, ptr %220, align 4, !tbaa !5
  %10147 = call ptr @__errno_location() #11
  store i32 %10146, ptr %10147, align 4, !tbaa !5
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = load i32, ptr @test_count, align 4, !tbaa !5
  %10150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call ptr @s2n_strerror(i32 noundef %10151, ptr noundef @.str.4)
  %10153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call ptr @s2n_strerror_debug(i32 noundef %10154, ptr noundef @.str.4)
  %10156 = call ptr @__errno_location() #11
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call ptr @strerror(i32 noundef %10157) #10
  %10159 = call ptr @__errno_location() #11
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10148, ptr noundef @.str.2, i32 noundef %10149, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 751, ptr noundef %10152, ptr noundef %10155, ptr noundef %10158, i32 noundef %10160) #10
  br label %10179

10162:                                            ; preds = %10140, %10133
  %10163 = load i32, ptr %220, align 4, !tbaa !5
  %10164 = call ptr @__errno_location() #11
  store i32 %10163, ptr %10164, align 4, !tbaa !5
  %10165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10166 = load i32, ptr @test_count, align 4, !tbaa !5
  %10167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call ptr @s2n_strerror(i32 noundef %10168, ptr noundef @.str.4)
  %10170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10171 = load i32, ptr %10170, align 4, !tbaa !5
  %10172 = call ptr @s2n_strerror_debug(i32 noundef %10171, ptr noundef @.str.4)
  %10173 = call ptr @__errno_location() #11
  %10174 = load i32, ptr %10173, align 4, !tbaa !5
  %10175 = call ptr @strerror(i32 noundef %10174) #10
  %10176 = call ptr @__errno_location() #11
  %10177 = load i32, ptr %10176, align 4, !tbaa !5
  %10178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10165, ptr noundef @.str.5, i32 noundef %10166, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 751, ptr noundef %10169, ptr noundef %10172, ptr noundef %10175, i32 noundef %10177) #10
  br label %10179

10179:                                            ; preds = %10162, %10145
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %10180

10180:                                            ; preds = %10179
  br label %10181

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

10182:                                            ; No predecessors!
  br label %10183

10183:                                            ; preds = %10182
  br label %10184

10184:                                            ; preds = %10183, %10126
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  br label %10187

10187:                                            ; preds = %10186
  %10188 = load i32, ptr @test_count, align 4, !tbaa !5
  %10189 = add nsw i32 %10188, 1
  store i32 %10189, ptr @test_count, align 4, !tbaa !5
  %10190 = load ptr, ptr %6, align 8, !tbaa !9
  %10191 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %10190, i64 noundef 12000)
  %10192 = icmp eq i32 %10191, -1
  br i1 %10192, label %10193, label %10246

10193:                                            ; preds = %10187
  br label %10194

10194:                                            ; preds = %10193
  br label %10195

10195:                                            ; preds = %10194
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  %10196 = call ptr @__errno_location() #11
  %10197 = load i32, ptr %10196, align 4, !tbaa !5
  store i32 %10197, ptr %221, align 4, !tbaa !5
  %10198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10199 = call i32 @s2n_print_stacktrace(ptr noundef %10198)
  %10200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10201 = trunc i8 %10200 to i1
  br i1 %10201, label %10202, label %10224

10202:                                            ; preds = %10195
  %10203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10204 = call i32 @fileno(ptr noundef %10203) #10
  %10205 = call i32 @isatty(i32 noundef %10204) #10
  %10206 = icmp ne i32 %10205, 0
  br i1 %10206, label %10207, label %10224

10207:                                            ; preds = %10202
  %10208 = load i32, ptr %221, align 4, !tbaa !5
  %10209 = call ptr @__errno_location() #11
  store i32 %10208, ptr %10209, align 4, !tbaa !5
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = load i32, ptr @test_count, align 4, !tbaa !5
  %10212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call ptr @s2n_strerror(i32 noundef %10213, ptr noundef @.str.4)
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror_debug(i32 noundef %10216, ptr noundef @.str.4)
  %10218 = call ptr @__errno_location() #11
  %10219 = load i32, ptr %10218, align 4, !tbaa !5
  %10220 = call ptr @strerror(i32 noundef %10219) #10
  %10221 = call ptr @__errno_location() #11
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10210, ptr noundef @.str.2, i32 noundef %10211, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 752, ptr noundef %10214, ptr noundef %10217, ptr noundef %10220, i32 noundef %10222) #10
  br label %10241

10224:                                            ; preds = %10202, %10195
  %10225 = load i32, ptr %221, align 4, !tbaa !5
  %10226 = call ptr @__errno_location() #11
  store i32 %10225, ptr %10226, align 4, !tbaa !5
  %10227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10228 = load i32, ptr @test_count, align 4, !tbaa !5
  %10229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror(i32 noundef %10230, ptr noundef @.str.4)
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror_debug(i32 noundef %10233, ptr noundef @.str.4)
  %10235 = call ptr @__errno_location() #11
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @strerror(i32 noundef %10236) #10
  %10238 = call ptr @__errno_location() #11
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10227, ptr noundef @.str.5, i32 noundef %10228, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 752, ptr noundef %10231, ptr noundef %10234, ptr noundef %10237, i32 noundef %10239) #10
  br label %10241

10241:                                            ; preds = %10224, %10207
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  br label %10242

10242:                                            ; preds = %10241
  br label %10243

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

10244:                                            ; No predecessors!
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

10246:                                            ; preds = %10245, %10187
  br label %10247

10247:                                            ; preds = %10246
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248
  %10250 = load i32, ptr @test_count, align 4, !tbaa !5
  %10251 = add nsw i32 %10250, 1
  store i32 %10251, ptr @test_count, align 4, !tbaa !5
  %10252 = load ptr, ptr %7, align 8, !tbaa !9
  %10253 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %10252, i64 noundef 12000)
  %10254 = icmp eq i32 %10253, -1
  br i1 %10254, label %10255, label %10308

10255:                                            ; preds = %10249
  br label %10256

10256:                                            ; preds = %10255
  br label %10257

10257:                                            ; preds = %10256
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %10258 = call ptr @__errno_location() #11
  %10259 = load i32, ptr %10258, align 4, !tbaa !5
  store i32 %10259, ptr %222, align 4, !tbaa !5
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = call i32 @s2n_print_stacktrace(ptr noundef %10260)
  %10262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10263 = trunc i8 %10262 to i1
  br i1 %10263, label %10264, label %10286

10264:                                            ; preds = %10257
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = call i32 @fileno(ptr noundef %10265) #10
  %10267 = call i32 @isatty(i32 noundef %10266) #10
  %10268 = icmp ne i32 %10267, 0
  br i1 %10268, label %10269, label %10286

10269:                                            ; preds = %10264
  %10270 = load i32, ptr %222, align 4, !tbaa !5
  %10271 = call ptr @__errno_location() #11
  store i32 %10270, ptr %10271, align 4, !tbaa !5
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = load i32, ptr @test_count, align 4, !tbaa !5
  %10274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10275 = load i32, ptr %10274, align 4, !tbaa !5
  %10276 = call ptr @s2n_strerror(i32 noundef %10275, ptr noundef @.str.4)
  %10277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10278 = load i32, ptr %10277, align 4, !tbaa !5
  %10279 = call ptr @s2n_strerror_debug(i32 noundef %10278, ptr noundef @.str.4)
  %10280 = call ptr @__errno_location() #11
  %10281 = load i32, ptr %10280, align 4, !tbaa !5
  %10282 = call ptr @strerror(i32 noundef %10281) #10
  %10283 = call ptr @__errno_location() #11
  %10284 = load i32, ptr %10283, align 4, !tbaa !5
  %10285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10272, ptr noundef @.str.2, i32 noundef %10273, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 753, ptr noundef %10276, ptr noundef %10279, ptr noundef %10282, i32 noundef %10284) #10
  br label %10303

10286:                                            ; preds = %10264, %10257
  %10287 = load i32, ptr %222, align 4, !tbaa !5
  %10288 = call ptr @__errno_location() #11
  store i32 %10287, ptr %10288, align 4, !tbaa !5
  %10289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10290 = load i32, ptr @test_count, align 4, !tbaa !5
  %10291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10292 = load i32, ptr %10291, align 4, !tbaa !5
  %10293 = call ptr @s2n_strerror(i32 noundef %10292, ptr noundef @.str.4)
  %10294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = call ptr @s2n_strerror_debug(i32 noundef %10295, ptr noundef @.str.4)
  %10297 = call ptr @__errno_location() #11
  %10298 = load i32, ptr %10297, align 4, !tbaa !5
  %10299 = call ptr @strerror(i32 noundef %10298) #10
  %10300 = call ptr @__errno_location() #11
  %10301 = load i32, ptr %10300, align 4, !tbaa !5
  %10302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10289, ptr noundef @.str.5, i32 noundef %10290, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 753, ptr noundef %10293, ptr noundef %10296, ptr noundef %10299, i32 noundef %10301) #10
  br label %10303

10303:                                            ; preds = %10286, %10269
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %10304

10304:                                            ; preds = %10303
  br label %10305

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

10306:                                            ; No predecessors!
  br label %10307

10307:                                            ; preds = %10306
  br label %10308

10308:                                            ; preds = %10307, %10249
  br label %10309

10309:                                            ; preds = %10308
  br label %10310

10310:                                            ; preds = %10309
  br label %10311

10311:                                            ; preds = %10310
  %10312 = load i32, ptr @test_count, align 4, !tbaa !5
  %10313 = add nsw i32 %10312, 1
  store i32 %10313, ptr @test_count, align 4, !tbaa !5
  %10314 = load ptr, ptr %210, align 8, !tbaa !9
  %10315 = load ptr, ptr %6, align 8, !tbaa !9
  %10316 = load ptr, ptr %7, align 8, !tbaa !9
  %10317 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %10314, ptr noundef %10315, ptr noundef %10316)
  %10318 = icmp eq i32 %10317, -1
  br i1 %10318, label %10319, label %10372

10319:                                            ; preds = %10311
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %10322 = call ptr @__errno_location() #11
  %10323 = load i32, ptr %10322, align 4, !tbaa !5
  store i32 %10323, ptr %223, align 4, !tbaa !5
  %10324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10325 = call i32 @s2n_print_stacktrace(ptr noundef %10324)
  %10326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10327 = trunc i8 %10326 to i1
  br i1 %10327, label %10328, label %10350

10328:                                            ; preds = %10321
  %10329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10330 = call i32 @fileno(ptr noundef %10329) #10
  %10331 = call i32 @isatty(i32 noundef %10330) #10
  %10332 = icmp ne i32 %10331, 0
  br i1 %10332, label %10333, label %10350

10333:                                            ; preds = %10328
  %10334 = load i32, ptr %223, align 4, !tbaa !5
  %10335 = call ptr @__errno_location() #11
  store i32 %10334, ptr %10335, align 4, !tbaa !5
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = load i32, ptr @test_count, align 4, !tbaa !5
  %10338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  %10340 = call ptr @s2n_strerror(i32 noundef %10339, ptr noundef @.str.4)
  %10341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10342 = load i32, ptr %10341, align 4, !tbaa !5
  %10343 = call ptr @s2n_strerror_debug(i32 noundef %10342, ptr noundef @.str.4)
  %10344 = call ptr @__errno_location() #11
  %10345 = load i32, ptr %10344, align 4, !tbaa !5
  %10346 = call ptr @strerror(i32 noundef %10345) #10
  %10347 = call ptr @__errno_location() #11
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10336, ptr noundef @.str.2, i32 noundef %10337, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 754, ptr noundef %10340, ptr noundef %10343, ptr noundef %10346, i32 noundef %10348) #10
  br label %10367

10350:                                            ; preds = %10328, %10321
  %10351 = load i32, ptr %223, align 4, !tbaa !5
  %10352 = call ptr @__errno_location() #11
  store i32 %10351, ptr %10352, align 4, !tbaa !5
  %10353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10354 = load i32, ptr @test_count, align 4, !tbaa !5
  %10355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call ptr @s2n_strerror(i32 noundef %10356, ptr noundef @.str.4)
  %10358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call ptr @s2n_strerror_debug(i32 noundef %10359, ptr noundef @.str.4)
  %10361 = call ptr @__errno_location() #11
  %10362 = load i32, ptr %10361, align 4, !tbaa !5
  %10363 = call ptr @strerror(i32 noundef %10362) #10
  %10364 = call ptr @__errno_location() #11
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10353, ptr noundef @.str.5, i32 noundef %10354, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 754, ptr noundef %10357, ptr noundef %10360, ptr noundef %10363, i32 noundef %10365) #10
  br label %10367

10367:                                            ; preds = %10350, %10333
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %10368

10368:                                            ; preds = %10367
  br label %10369

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

10370:                                            ; No predecessors!
  br label %10371

10371:                                            ; preds = %10370
  br label %10372

10372:                                            ; preds = %10371, %10311
  br label %10373

10373:                                            ; preds = %10372
  br label %10374

10374:                                            ; preds = %10373
  br label %10375

10375:                                            ; preds = %10374
  %10376 = load i32, ptr @test_count, align 4, !tbaa !5
  %10377 = add nsw i32 %10376, 1
  store i32 %10377, ptr @test_count, align 4, !tbaa !5
  %10378 = load ptr, ptr %210, align 8, !tbaa !9
  %10379 = call i32 @s2n_config_set_extension_data(ptr noundef %10378, i32 noundef 5, ptr noundef @server_ocsp_status_bytes, i32 noundef 1609)
  %10380 = icmp eq i32 %10379, -1
  br i1 %10380, label %10381, label %10434

10381:                                            ; preds = %10375
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #10
  %10384 = call ptr @__errno_location() #11
  %10385 = load i32, ptr %10384, align 4, !tbaa !5
  store i32 %10385, ptr %224, align 4, !tbaa !5
  %10386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10387 = call i32 @s2n_print_stacktrace(ptr noundef %10386)
  %10388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10389 = trunc i8 %10388 to i1
  br i1 %10389, label %10390, label %10412

10390:                                            ; preds = %10383
  %10391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10392 = call i32 @fileno(ptr noundef %10391) #10
  %10393 = call i32 @isatty(i32 noundef %10392) #10
  %10394 = icmp ne i32 %10393, 0
  br i1 %10394, label %10395, label %10412

10395:                                            ; preds = %10390
  %10396 = load i32, ptr %224, align 4, !tbaa !5
  %10397 = call ptr @__errno_location() #11
  store i32 %10396, ptr %10397, align 4, !tbaa !5
  %10398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10399 = load i32, ptr @test_count, align 4, !tbaa !5
  %10400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10401 = load i32, ptr %10400, align 4, !tbaa !5
  %10402 = call ptr @s2n_strerror(i32 noundef %10401, ptr noundef @.str.4)
  %10403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10404 = load i32, ptr %10403, align 4, !tbaa !5
  %10405 = call ptr @s2n_strerror_debug(i32 noundef %10404, ptr noundef @.str.4)
  %10406 = call ptr @__errno_location() #11
  %10407 = load i32, ptr %10406, align 4, !tbaa !5
  %10408 = call ptr @strerror(i32 noundef %10407) #10
  %10409 = call ptr @__errno_location() #11
  %10410 = load i32, ptr %10409, align 4, !tbaa !5
  %10411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10398, ptr noundef @.str.2, i32 noundef %10399, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 756, ptr noundef %10402, ptr noundef %10405, ptr noundef %10408, i32 noundef %10410) #10
  br label %10429

10412:                                            ; preds = %10390, %10383
  %10413 = load i32, ptr %224, align 4, !tbaa !5
  %10414 = call ptr @__errno_location() #11
  store i32 %10413, ptr %10414, align 4, !tbaa !5
  %10415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10416 = load i32, ptr @test_count, align 4, !tbaa !5
  %10417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror(i32 noundef %10418, ptr noundef @.str.4)
  %10420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10421 = load i32, ptr %10420, align 4, !tbaa !5
  %10422 = call ptr @s2n_strerror_debug(i32 noundef %10421, ptr noundef @.str.4)
  %10423 = call ptr @__errno_location() #11
  %10424 = load i32, ptr %10423, align 4, !tbaa !5
  %10425 = call ptr @strerror(i32 noundef %10424) #10
  %10426 = call ptr @__errno_location() #11
  %10427 = load i32, ptr %10426, align 4, !tbaa !5
  %10428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10415, ptr noundef @.str.5, i32 noundef %10416, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 756, ptr noundef %10419, ptr noundef %10422, ptr noundef %10425, i32 noundef %10427) #10
  br label %10429

10429:                                            ; preds = %10412, %10395
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #10
  br label %10430

10430:                                            ; preds = %10429
  br label %10431

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

10432:                                            ; No predecessors!
  br label %10433

10433:                                            ; preds = %10432
  br label %10434

10434:                                            ; preds = %10433, %10375
  br label %10435

10435:                                            ; preds = %10434
  br label %10436

10436:                                            ; preds = %10435
  br label %10437

10437:                                            ; preds = %10436
  %10438 = load i32, ptr @test_count, align 4, !tbaa !5
  %10439 = add nsw i32 %10438, 1
  store i32 %10439, ptr @test_count, align 4, !tbaa !5
  %10440 = load ptr, ptr %209, align 8, !tbaa !9
  %10441 = load ptr, ptr %210, align 8, !tbaa !9
  %10442 = call i32 @s2n_connection_set_config(ptr noundef %10440, ptr noundef %10441)
  %10443 = icmp eq i32 %10442, -1
  br i1 %10443, label %10444, label %10497

10444:                                            ; preds = %10437
  br label %10445

10445:                                            ; preds = %10444
  br label %10446

10446:                                            ; preds = %10445
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %10447 = call ptr @__errno_location() #11
  %10448 = load i32, ptr %10447, align 4, !tbaa !5
  store i32 %10448, ptr %225, align 4, !tbaa !5
  %10449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10450 = call i32 @s2n_print_stacktrace(ptr noundef %10449)
  %10451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10452 = trunc i8 %10451 to i1
  br i1 %10452, label %10453, label %10475

10453:                                            ; preds = %10446
  %10454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10455 = call i32 @fileno(ptr noundef %10454) #10
  %10456 = call i32 @isatty(i32 noundef %10455) #10
  %10457 = icmp ne i32 %10456, 0
  br i1 %10457, label %10458, label %10475

10458:                                            ; preds = %10453
  %10459 = load i32, ptr %225, align 4, !tbaa !5
  %10460 = call ptr @__errno_location() #11
  store i32 %10459, ptr %10460, align 4, !tbaa !5
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = load i32, ptr @test_count, align 4, !tbaa !5
  %10463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10464 = load i32, ptr %10463, align 4, !tbaa !5
  %10465 = call ptr @s2n_strerror(i32 noundef %10464, ptr noundef @.str.4)
  %10466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call ptr @s2n_strerror_debug(i32 noundef %10467, ptr noundef @.str.4)
  %10469 = call ptr @__errno_location() #11
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call ptr @strerror(i32 noundef %10470) #10
  %10472 = call ptr @__errno_location() #11
  %10473 = load i32, ptr %10472, align 4, !tbaa !5
  %10474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10461, ptr noundef @.str.2, i32 noundef %10462, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 757, ptr noundef %10465, ptr noundef %10468, ptr noundef %10471, i32 noundef %10473) #10
  br label %10492

10475:                                            ; preds = %10453, %10446
  %10476 = load i32, ptr %225, align 4, !tbaa !5
  %10477 = call ptr @__errno_location() #11
  store i32 %10476, ptr %10477, align 4, !tbaa !5
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = load i32, ptr @test_count, align 4, !tbaa !5
  %10480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call ptr @s2n_strerror(i32 noundef %10481, ptr noundef @.str.4)
  %10483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10484 = load i32, ptr %10483, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror_debug(i32 noundef %10484, ptr noundef @.str.4)
  %10486 = call ptr @__errno_location() #11
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @strerror(i32 noundef %10487) #10
  %10489 = call ptr @__errno_location() #11
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10478, ptr noundef @.str.5, i32 noundef %10479, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 757, ptr noundef %10482, ptr noundef %10485, ptr noundef %10488, i32 noundef %10490) #10
  br label %10492

10492:                                            ; preds = %10475, %10458
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %10493

10493:                                            ; preds = %10492
  br label %10494

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

10495:                                            ; No predecessors!
  br label %10496

10496:                                            ; preds = %10495
  br label %10497

10497:                                            ; preds = %10496, %10437
  br label %10498

10498:                                            ; preds = %10497
  br label %10499

10499:                                            ; preds = %10498
  br label %10500

10500:                                            ; preds = %10499
  %10501 = load i32, ptr @test_count, align 4, !tbaa !5
  %10502 = add nsw i32 %10501, 1
  store i32 %10502, ptr @test_count, align 4, !tbaa !5
  %10503 = load ptr, ptr %209, align 8, !tbaa !9
  %10504 = load ptr, ptr %208, align 8, !tbaa !9
  %10505 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10503, ptr noundef %10504)
  %10506 = icmp eq i32 %10505, -1
  br i1 %10506, label %10507, label %10560

10507:                                            ; preds = %10500
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %10510 = call ptr @__errno_location() #11
  %10511 = load i32, ptr %10510, align 4, !tbaa !5
  store i32 %10511, ptr %226, align 4, !tbaa !5
  %10512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10513 = call i32 @s2n_print_stacktrace(ptr noundef %10512)
  %10514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10515 = trunc i8 %10514 to i1
  br i1 %10515, label %10516, label %10538

10516:                                            ; preds = %10509
  %10517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10518 = call i32 @fileno(ptr noundef %10517) #10
  %10519 = call i32 @isatty(i32 noundef %10518) #10
  %10520 = icmp ne i32 %10519, 0
  br i1 %10520, label %10521, label %10538

10521:                                            ; preds = %10516
  %10522 = load i32, ptr %226, align 4, !tbaa !5
  %10523 = call ptr @__errno_location() #11
  store i32 %10522, ptr %10523, align 4, !tbaa !5
  %10524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10525 = load i32, ptr @test_count, align 4, !tbaa !5
  %10526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  %10528 = call ptr @s2n_strerror(i32 noundef %10527, ptr noundef @.str.4)
  %10529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror_debug(i32 noundef %10530, ptr noundef @.str.4)
  %10532 = call ptr @__errno_location() #11
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @strerror(i32 noundef %10533) #10
  %10535 = call ptr @__errno_location() #11
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10524, ptr noundef @.str.2, i32 noundef %10525, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 759, ptr noundef %10528, ptr noundef %10531, ptr noundef %10534, i32 noundef %10536) #10
  br label %10555

10538:                                            ; preds = %10516, %10509
  %10539 = load i32, ptr %226, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #11
  store i32 %10539, ptr %10540, align 4, !tbaa !5
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = load i32, ptr @test_count, align 4, !tbaa !5
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror(i32 noundef %10544, ptr noundef @.str.4)
  %10546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @s2n_strerror_debug(i32 noundef %10547, ptr noundef @.str.4)
  %10549 = call ptr @__errno_location() #11
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #10
  %10552 = call ptr @__errno_location() #11
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.5, i32 noundef %10542, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 759, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #10
  br label %10555

10555:                                            ; preds = %10538, %10521
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

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

10558:                                            ; No predecessors!
  br label %10559

10559:                                            ; preds = %10558
  br label %10560

10560:                                            ; preds = %10559, %10500
  br label %10561

10561:                                            ; preds = %10560
  br label %10562

10562:                                            ; preds = %10561
  br label %10563

10563:                                            ; preds = %10562
  %10564 = load i32, ptr @test_count, align 4, !tbaa !5
  %10565 = add nsw i32 %10564, 1
  store i32 %10565, ptr @test_count, align 4, !tbaa !5
  %10566 = load ptr, ptr %209, align 8, !tbaa !9
  %10567 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %10566)
  %10568 = icmp eq i32 %10567, 0
  br i1 %10568, label %10622, label %10569

10569:                                            ; preds = %10563
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

10571:                                            ; preds = %10570
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #10
  %10572 = call ptr @__errno_location() #11
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  store i32 %10573, ptr %227, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @s2n_print_stacktrace(ptr noundef %10574)
  %10576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10577 = trunc i8 %10576 to i1
  br i1 %10577, label %10578, label %10600

10578:                                            ; preds = %10571
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @fileno(ptr noundef %10579) #10
  %10581 = call i32 @isatty(i32 noundef %10580) #10
  %10582 = icmp ne i32 %10581, 0
  br i1 %10582, label %10583, label %10600

10583:                                            ; preds = %10578
  %10584 = load i32, ptr %227, align 4, !tbaa !5
  %10585 = call ptr @__errno_location() #11
  store i32 %10584, ptr %10585, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = load i32, ptr @test_count, align 4, !tbaa !5
  %10588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call ptr @s2n_strerror(i32 noundef %10589, ptr noundef @.str.4)
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror_debug(i32 noundef %10592, ptr noundef @.str.4)
  %10594 = call ptr @__errno_location() #11
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call ptr @strerror(i32 noundef %10595) #10
  %10597 = call ptr @__errno_location() #11
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  %10599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10586, ptr noundef @.str.2, i32 noundef %10587, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 762, ptr noundef %10590, ptr noundef %10593, ptr noundef %10596, i32 noundef %10598) #10
  br label %10617

10600:                                            ; preds = %10578, %10571
  %10601 = load i32, ptr %227, align 4, !tbaa !5
  %10602 = call ptr @__errno_location() #11
  store i32 %10601, ptr %10602, align 4, !tbaa !5
  %10603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10604 = load i32, ptr @test_count, align 4, !tbaa !5
  %10605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror(i32 noundef %10606, ptr noundef @.str.4)
  %10608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10609 = load i32, ptr %10608, align 4, !tbaa !5
  %10610 = call ptr @s2n_strerror_debug(i32 noundef %10609, ptr noundef @.str.4)
  %10611 = call ptr @__errno_location() #11
  %10612 = load i32, ptr %10611, align 4, !tbaa !5
  %10613 = call ptr @strerror(i32 noundef %10612) #10
  %10614 = call ptr @__errno_location() #11
  %10615 = load i32, ptr %10614, align 4, !tbaa !5
  %10616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10603, ptr noundef @.str.5, i32 noundef %10604, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 762, ptr noundef %10607, ptr noundef %10610, ptr noundef %10613, i32 noundef %10615) #10
  br label %10617

10617:                                            ; preds = %10600, %10583
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #10
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

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

10620:                                            ; No predecessors!
  br label %10621

10621:                                            ; preds = %10620
  br label %10622

10622:                                            ; preds = %10621, %10563
  br label %10623

10623:                                            ; preds = %10622
  br label %10624

10624:                                            ; preds = %10623
  br label %10625

10625:                                            ; preds = %10624
  %10626 = load i32, ptr @test_count, align 4, !tbaa !5
  %10627 = add nsw i32 %10626, 1
  store i32 %10627, ptr @test_count, align 4, !tbaa !5
  %10628 = load ptr, ptr %208, align 8, !tbaa !9
  %10629 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %10628)
  %10630 = icmp eq i32 %10629, 0
  br i1 %10630, label %10684, label %10631

10631:                                            ; preds = %10625
  br label %10632

10632:                                            ; preds = %10631
  br label %10633

10633:                                            ; preds = %10632
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %10634 = call ptr @__errno_location() #11
  %10635 = load i32, ptr %10634, align 4, !tbaa !5
  store i32 %10635, ptr %228, align 4, !tbaa !5
  %10636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10637 = call i32 @s2n_print_stacktrace(ptr noundef %10636)
  %10638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10639 = trunc i8 %10638 to i1
  br i1 %10639, label %10640, label %10662

10640:                                            ; preds = %10633
  %10641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10642 = call i32 @fileno(ptr noundef %10641) #10
  %10643 = call i32 @isatty(i32 noundef %10642) #10
  %10644 = icmp ne i32 %10643, 0
  br i1 %10644, label %10645, label %10662

10645:                                            ; preds = %10640
  %10646 = load i32, ptr %228, align 4, !tbaa !5
  %10647 = call ptr @__errno_location() #11
  store i32 %10646, ptr %10647, align 4, !tbaa !5
  %10648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10649 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10651, ptr noundef @.str.4)
  %10653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10654 = load i32, ptr %10653, align 4, !tbaa !5
  %10655 = call ptr @s2n_strerror_debug(i32 noundef %10654, ptr noundef @.str.4)
  %10656 = call ptr @__errno_location() #11
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  %10658 = call ptr @strerror(i32 noundef %10657) #10
  %10659 = call ptr @__errno_location() #11
  %10660 = load i32, ptr %10659, align 4, !tbaa !5
  %10661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10648, ptr noundef @.str.2, i32 noundef %10649, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 765, ptr noundef %10652, ptr noundef %10655, ptr noundef %10658, i32 noundef %10660) #10
  br label %10679

10662:                                            ; preds = %10640, %10633
  %10663 = load i32, ptr %228, align 4, !tbaa !5
  %10664 = call ptr @__errno_location() #11
  store i32 %10663, ptr %10664, align 4, !tbaa !5
  %10665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10666 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10668, ptr noundef @.str.4)
  %10670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10671 = load i32, ptr %10670, align 4, !tbaa !5
  %10672 = call ptr @s2n_strerror_debug(i32 noundef %10671, ptr noundef @.str.4)
  %10673 = call ptr @__errno_location() #11
  %10674 = load i32, ptr %10673, align 4, !tbaa !5
  %10675 = call ptr @strerror(i32 noundef %10674) #10
  %10676 = call ptr @__errno_location() #11
  %10677 = load i32, ptr %10676, align 4, !tbaa !5
  %10678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10665, ptr noundef @.str.5, i32 noundef %10666, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 765, ptr noundef %10669, ptr noundef %10672, ptr noundef %10675, i32 noundef %10677) #10
  br label %10679

10679:                                            ; preds = %10662, %10645
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %10680

10680:                                            ; preds = %10679
  br label %10681

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

10682:                                            ; No predecessors!
  br label %10683

10683:                                            ; preds = %10682
  br label %10684

10684:                                            ; preds = %10683, %10625
  br label %10685

10685:                                            ; preds = %10684
  br label %10686

10686:                                            ; preds = %10685
  br label %10687

10687:                                            ; preds = %10686
  %10688 = load i32, ptr @test_count, align 4, !tbaa !5
  %10689 = add nsw i32 %10688, 1
  store i32 %10689, ptr @test_count, align 4, !tbaa !5
  %10690 = load ptr, ptr %208, align 8, !tbaa !9
  %10691 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %10690, ptr noundef %211)
  %10692 = icmp eq ptr %10691, null
  br i1 %10692, label %10746, label %10693

10693:                                            ; preds = %10687
  br label %10694

10694:                                            ; preds = %10693
  br label %10695

10695:                                            ; preds = %10694
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %10696 = call ptr @__errno_location() #11
  %10697 = load i32, ptr %10696, align 4, !tbaa !5
  store i32 %10697, ptr %229, align 4, !tbaa !5
  %10698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10699 = call i32 @s2n_print_stacktrace(ptr noundef %10698)
  %10700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10701 = trunc i8 %10700 to i1
  br i1 %10701, label %10702, label %10724

10702:                                            ; preds = %10695
  %10703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10704 = call i32 @fileno(ptr noundef %10703) #10
  %10705 = call i32 @isatty(i32 noundef %10704) #10
  %10706 = icmp ne i32 %10705, 0
  br i1 %10706, label %10707, label %10724

10707:                                            ; preds = %10702
  %10708 = load i32, ptr %229, align 4, !tbaa !5
  %10709 = call ptr @__errno_location() #11
  store i32 %10708, ptr %10709, align 4, !tbaa !5
  %10710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10711 = load i32, ptr @test_count, align 4, !tbaa !5
  %10712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10713 = load i32, ptr %10712, align 4, !tbaa !5
  %10714 = call ptr @s2n_strerror(i32 noundef %10713, ptr noundef @.str.4)
  %10715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10716 = load i32, ptr %10715, align 4, !tbaa !5
  %10717 = call ptr @s2n_strerror_debug(i32 noundef %10716, ptr noundef @.str.4)
  %10718 = call ptr @__errno_location() #11
  %10719 = load i32, ptr %10718, align 4, !tbaa !5
  %10720 = call ptr @strerror(i32 noundef %10719) #10
  %10721 = call ptr @__errno_location() #11
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  %10723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10710, ptr noundef @.str.2, i32 noundef %10711, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 766, ptr noundef %10714, ptr noundef %10717, ptr noundef %10720, i32 noundef %10722) #10
  br label %10741

10724:                                            ; preds = %10702, %10695
  %10725 = load i32, ptr %229, align 4, !tbaa !5
  %10726 = call ptr @__errno_location() #11
  store i32 %10725, ptr %10726, align 4, !tbaa !5
  %10727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10728 = load i32, ptr @test_count, align 4, !tbaa !5
  %10729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10730 = load i32, ptr %10729, align 4, !tbaa !5
  %10731 = call ptr @s2n_strerror(i32 noundef %10730, ptr noundef @.str.4)
  %10732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10733 = load i32, ptr %10732, align 4, !tbaa !5
  %10734 = call ptr @s2n_strerror_debug(i32 noundef %10733, ptr noundef @.str.4)
  %10735 = call ptr @__errno_location() #11
  %10736 = load i32, ptr %10735, align 4, !tbaa !5
  %10737 = call ptr @strerror(i32 noundef %10736) #10
  %10738 = call ptr @__errno_location() #11
  %10739 = load i32, ptr %10738, align 4, !tbaa !5
  %10740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10727, ptr noundef @.str.5, i32 noundef %10728, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 766, ptr noundef %10731, ptr noundef %10734, ptr noundef %10737, i32 noundef %10739) #10
  br label %10741

10741:                                            ; preds = %10724, %10707
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  br label %10742

10742:                                            ; preds = %10741
  br label %10743

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

10744:                                            ; No predecessors!
  br label %10745

10745:                                            ; preds = %10744
  br label %10746

10746:                                            ; preds = %10745, %10687
  br label %10747

10747:                                            ; preds = %10746
  br label %10748

10748:                                            ; preds = %10747
  br label %10749

10749:                                            ; preds = %10748
  %10750 = load i32, ptr @test_count, align 4, !tbaa !5
  %10751 = add nsw i32 %10750, 1
  store i32 %10751, ptr @test_count, align 4, !tbaa !5
  %10752 = load i32, ptr %211, align 4, !tbaa !5
  %10753 = icmp eq i32 %10752, 0
  br i1 %10753, label %10807, label %10754

10754:                                            ; preds = %10749
  br label %10755

10755:                                            ; preds = %10754
  br label %10756

10756:                                            ; preds = %10755
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %10757 = call ptr @__errno_location() #11
  %10758 = load i32, ptr %10757, align 4, !tbaa !5
  store i32 %10758, ptr %230, align 4, !tbaa !5
  %10759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10760 = call i32 @s2n_print_stacktrace(ptr noundef %10759)
  %10761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10762 = trunc i8 %10761 to i1
  br i1 %10762, label %10763, label %10785

10763:                                            ; preds = %10756
  %10764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10765 = call i32 @fileno(ptr noundef %10764) #10
  %10766 = call i32 @isatty(i32 noundef %10765) #10
  %10767 = icmp ne i32 %10766, 0
  br i1 %10767, label %10768, label %10785

10768:                                            ; preds = %10763
  %10769 = load i32, ptr %230, align 4, !tbaa !5
  %10770 = call ptr @__errno_location() #11
  store i32 %10769, ptr %10770, align 4, !tbaa !5
  %10771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10772 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10774, ptr noundef @.str.4)
  %10776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @s2n_strerror_debug(i32 noundef %10777, ptr noundef @.str.4)
  %10779 = call ptr @__errno_location() #11
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call ptr @strerror(i32 noundef %10780) #10
  %10782 = call ptr @__errno_location() #11
  %10783 = load i32, ptr %10782, align 4, !tbaa !5
  %10784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10771, ptr noundef @.str.2, i32 noundef %10772, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 767, ptr noundef %10775, ptr noundef %10778, ptr noundef %10781, i32 noundef %10783) #10
  br label %10802

10785:                                            ; preds = %10763, %10756
  %10786 = load i32, ptr %230, align 4, !tbaa !5
  %10787 = call ptr @__errno_location() #11
  store i32 %10786, ptr %10787, align 4, !tbaa !5
  %10788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10789 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10791, ptr noundef @.str.4)
  %10793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  %10795 = call ptr @s2n_strerror_debug(i32 noundef %10794, ptr noundef @.str.4)
  %10796 = call ptr @__errno_location() #11
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call ptr @strerror(i32 noundef %10797) #10
  %10799 = call ptr @__errno_location() #11
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10788, ptr noundef @.str.5, i32 noundef %10789, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 767, ptr noundef %10792, ptr noundef %10795, ptr noundef %10798, i32 noundef %10800) #10
  br label %10802

10802:                                            ; preds = %10785, %10768
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %10803

10803:                                            ; preds = %10802
  br label %10804

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

10805:                                            ; No predecessors!
  br label %10806

10806:                                            ; preds = %10805
  br label %10807

10807:                                            ; preds = %10806, %10749
  br label %10808

10808:                                            ; preds = %10807
  br label %10809

10809:                                            ; preds = %10808
  br label %10810

10810:                                            ; preds = %10809
  %10811 = load i32, ptr @test_count, align 4, !tbaa !5
  %10812 = add nsw i32 %10811, 1
  store i32 %10812, ptr @test_count, align 4, !tbaa !5
  %10813 = load ptr, ptr %209, align 8, !tbaa !9
  %10814 = load ptr, ptr %208, align 8, !tbaa !9
  %10815 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %10813, ptr noundef %10814)
  %10816 = icmp eq i32 %10815, -1
  br i1 %10816, label %10817, label %10870

10817:                                            ; preds = %10810
  br label %10818

10818:                                            ; preds = %10817
  br label %10819

10819:                                            ; preds = %10818
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  %10820 = call ptr @__errno_location() #11
  %10821 = load i32, ptr %10820, align 4, !tbaa !5
  store i32 %10821, ptr %231, align 4, !tbaa !5
  %10822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10823 = call i32 @s2n_print_stacktrace(ptr noundef %10822)
  %10824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10825 = trunc i8 %10824 to i1
  br i1 %10825, label %10826, label %10848

10826:                                            ; preds = %10819
  %10827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10828 = call i32 @fileno(ptr noundef %10827) #10
  %10829 = call i32 @isatty(i32 noundef %10828) #10
  %10830 = icmp ne i32 %10829, 0
  br i1 %10830, label %10831, label %10848

10831:                                            ; preds = %10826
  %10832 = load i32, ptr %231, align 4, !tbaa !5
  %10833 = call ptr @__errno_location() #11
  store i32 %10832, ptr %10833, align 4, !tbaa !5
  %10834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10835 = load i32, ptr @test_count, align 4, !tbaa !5
  %10836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call ptr @s2n_strerror(i32 noundef %10837, ptr noundef @.str.4)
  %10839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  %10841 = call ptr @s2n_strerror_debug(i32 noundef %10840, ptr noundef @.str.4)
  %10842 = call ptr @__errno_location() #11
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  %10844 = call ptr @strerror(i32 noundef %10843) #10
  %10845 = call ptr @__errno_location() #11
  %10846 = load i32, ptr %10845, align 4, !tbaa !5
  %10847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10834, ptr noundef @.str.2, i32 noundef %10835, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 769, ptr noundef %10838, ptr noundef %10841, ptr noundef %10844, i32 noundef %10846) #10
  br label %10865

10848:                                            ; preds = %10826, %10819
  %10849 = load i32, ptr %231, align 4, !tbaa !5
  %10850 = call ptr @__errno_location() #11
  store i32 %10849, ptr %10850, align 4, !tbaa !5
  %10851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10852 = load i32, ptr @test_count, align 4, !tbaa !5
  %10853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10854 = load i32, ptr %10853, align 4, !tbaa !5
  %10855 = call ptr @s2n_strerror(i32 noundef %10854, ptr noundef @.str.4)
  %10856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  %10858 = call ptr @s2n_strerror_debug(i32 noundef %10857, ptr noundef @.str.4)
  %10859 = call ptr @__errno_location() #11
  %10860 = load i32, ptr %10859, align 4, !tbaa !5
  %10861 = call ptr @strerror(i32 noundef %10860) #10
  %10862 = call ptr @__errno_location() #11
  %10863 = load i32, ptr %10862, align 4, !tbaa !5
  %10864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10851, ptr noundef @.str.5, i32 noundef %10852, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 769, ptr noundef %10855, ptr noundef %10858, ptr noundef %10861, i32 noundef %10863) #10
  br label %10865

10865:                                            ; preds = %10848, %10831
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  br label %10866

10866:                                            ; preds = %10865
  br label %10867

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

10868:                                            ; No predecessors!
  br label %10869

10869:                                            ; preds = %10868
  br label %10870

10870:                                            ; preds = %10869, %10810
  br label %10871

10871:                                            ; preds = %10870
  br label %10872

10872:                                            ; preds = %10871
  br label %10873

10873:                                            ; preds = %10872
  %10874 = load i32, ptr @test_count, align 4, !tbaa !5
  %10875 = add nsw i32 %10874, 1
  store i32 %10875, ptr @test_count, align 4, !tbaa !5
  %10876 = load ptr, ptr %209, align 8, !tbaa !9
  %10877 = call i32 @s2n_connection_free(ptr noundef %10876)
  %10878 = icmp eq i32 %10877, -1
  br i1 %10878, label %10879, label %10932

10879:                                            ; preds = %10873
  br label %10880

10880:                                            ; preds = %10879
  br label %10881

10881:                                            ; preds = %10880
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  %10882 = call ptr @__errno_location() #11
  %10883 = load i32, ptr %10882, align 4, !tbaa !5
  store i32 %10883, ptr %232, align 4, !tbaa !5
  %10884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10885 = call i32 @s2n_print_stacktrace(ptr noundef %10884)
  %10886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10887 = trunc i8 %10886 to i1
  br i1 %10887, label %10888, label %10910

10888:                                            ; preds = %10881
  %10889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10890 = call i32 @fileno(ptr noundef %10889) #10
  %10891 = call i32 @isatty(i32 noundef %10890) #10
  %10892 = icmp ne i32 %10891, 0
  br i1 %10892, label %10893, label %10910

10893:                                            ; preds = %10888
  %10894 = load i32, ptr %232, align 4, !tbaa !5
  %10895 = call ptr @__errno_location() #11
  store i32 %10894, ptr %10895, align 4, !tbaa !5
  %10896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call ptr @s2n_strerror(i32 noundef %10899, ptr noundef @.str.4)
  %10901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10902 = load i32, ptr %10901, align 4, !tbaa !5
  %10903 = call ptr @s2n_strerror_debug(i32 noundef %10902, ptr noundef @.str.4)
  %10904 = call ptr @__errno_location() #11
  %10905 = load i32, ptr %10904, align 4, !tbaa !5
  %10906 = call ptr @strerror(i32 noundef %10905) #10
  %10907 = call ptr @__errno_location() #11
  %10908 = load i32, ptr %10907, align 4, !tbaa !5
  %10909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10896, ptr noundef @.str.2, i32 noundef %10897, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 771, ptr noundef %10900, ptr noundef %10903, ptr noundef %10906, i32 noundef %10908) #10
  br label %10927

10910:                                            ; preds = %10888, %10881
  %10911 = load i32, ptr %232, align 4, !tbaa !5
  %10912 = call ptr @__errno_location() #11
  store i32 %10911, ptr %10912, align 4, !tbaa !5
  %10913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10914 = load i32, ptr @test_count, align 4, !tbaa !5
  %10915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  %10917 = call ptr @s2n_strerror(i32 noundef %10916, ptr noundef @.str.4)
  %10918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  %10920 = call ptr @s2n_strerror_debug(i32 noundef %10919, ptr noundef @.str.4)
  %10921 = call ptr @__errno_location() #11
  %10922 = load i32, ptr %10921, align 4, !tbaa !5
  %10923 = call ptr @strerror(i32 noundef %10922) #10
  %10924 = call ptr @__errno_location() #11
  %10925 = load i32, ptr %10924, align 4, !tbaa !5
  %10926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10913, ptr noundef @.str.5, i32 noundef %10914, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 771, ptr noundef %10917, ptr noundef %10920, ptr noundef %10923, i32 noundef %10925) #10
  br label %10927

10927:                                            ; preds = %10910, %10893
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %10928

10928:                                            ; preds = %10927
  br label %10929

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

10930:                                            ; No predecessors!
  br label %10931

10931:                                            ; preds = %10930
  br label %10932

10932:                                            ; preds = %10931, %10873
  br label %10933

10933:                                            ; preds = %10932
  br label %10934

10934:                                            ; preds = %10933
  br label %10935

10935:                                            ; preds = %10934
  %10936 = load i32, ptr @test_count, align 4, !tbaa !5
  %10937 = add nsw i32 %10936, 1
  store i32 %10937, ptr @test_count, align 4, !tbaa !5
  %10938 = load ptr, ptr %208, align 8, !tbaa !9
  %10939 = call i32 @s2n_connection_free(ptr noundef %10938)
  %10940 = icmp eq i32 %10939, -1
  br i1 %10940, label %10941, label %10994

10941:                                            ; preds = %10935
  br label %10942

10942:                                            ; preds = %10941
  br label %10943

10943:                                            ; preds = %10942
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #10
  %10944 = call ptr @__errno_location() #11
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  store i32 %10945, ptr %233, align 4, !tbaa !5
  %10946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10947 = call i32 @s2n_print_stacktrace(ptr noundef %10946)
  %10948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10949 = trunc i8 %10948 to i1
  br i1 %10949, label %10950, label %10972

10950:                                            ; preds = %10943
  %10951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10952 = call i32 @fileno(ptr noundef %10951) #10
  %10953 = call i32 @isatty(i32 noundef %10952) #10
  %10954 = icmp ne i32 %10953, 0
  br i1 %10954, label %10955, label %10972

10955:                                            ; preds = %10950
  %10956 = load i32, ptr %233, align 4, !tbaa !5
  %10957 = call ptr @__errno_location() #11
  store i32 %10956, ptr %10957, align 4, !tbaa !5
  %10958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10959 = load i32, ptr @test_count, align 4, !tbaa !5
  %10960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10961 = load i32, ptr %10960, align 4, !tbaa !5
  %10962 = call ptr @s2n_strerror(i32 noundef %10961, ptr noundef @.str.4)
  %10963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10964 = load i32, ptr %10963, align 4, !tbaa !5
  %10965 = call ptr @s2n_strerror_debug(i32 noundef %10964, ptr noundef @.str.4)
  %10966 = call ptr @__errno_location() #11
  %10967 = load i32, ptr %10966, align 4, !tbaa !5
  %10968 = call ptr @strerror(i32 noundef %10967) #10
  %10969 = call ptr @__errno_location() #11
  %10970 = load i32, ptr %10969, align 4, !tbaa !5
  %10971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10958, ptr noundef @.str.2, i32 noundef %10959, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 772, ptr noundef %10962, ptr noundef %10965, ptr noundef %10968, i32 noundef %10970) #10
  br label %10989

10972:                                            ; preds = %10950, %10943
  %10973 = load i32, ptr %233, align 4, !tbaa !5
  %10974 = call ptr @__errno_location() #11
  store i32 %10973, ptr %10974, align 4, !tbaa !5
  %10975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10976 = load i32, ptr @test_count, align 4, !tbaa !5
  %10977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10978 = load i32, ptr %10977, align 4, !tbaa !5
  %10979 = call ptr @s2n_strerror(i32 noundef %10978, ptr noundef @.str.4)
  %10980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10981 = load i32, ptr %10980, align 4, !tbaa !5
  %10982 = call ptr @s2n_strerror_debug(i32 noundef %10981, ptr noundef @.str.4)
  %10983 = call ptr @__errno_location() #11
  %10984 = load i32, ptr %10983, align 4, !tbaa !5
  %10985 = call ptr @strerror(i32 noundef %10984) #10
  %10986 = call ptr @__errno_location() #11
  %10987 = load i32, ptr %10986, align 4, !tbaa !5
  %10988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10975, ptr noundef @.str.5, i32 noundef %10976, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 772, ptr noundef %10979, ptr noundef %10982, ptr noundef %10985, i32 noundef %10987) #10
  br label %10989

10989:                                            ; preds = %10972, %10955
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #10
  br label %10990

10990:                                            ; preds = %10989
  br label %10991

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

10992:                                            ; No predecessors!
  br label %10993

10993:                                            ; preds = %10992
  br label %10994

10994:                                            ; preds = %10993, %10935
  br label %10995

10995:                                            ; preds = %10994
  br label %10996

10996:                                            ; preds = %10995
  br label %10997

10997:                                            ; preds = %10996
  %10998 = load i32, ptr @test_count, align 4, !tbaa !5
  %10999 = add nsw i32 %10998, 1
  store i32 %10999, ptr @test_count, align 4, !tbaa !5
  %11000 = load ptr, ptr %210, align 8, !tbaa !9
  %11001 = call i32 @s2n_config_free(ptr noundef %11000)
  %11002 = icmp eq i32 %11001, -1
  br i1 %11002, label %11003, label %11056

11003:                                            ; preds = %10997
  br label %11004

11004:                                            ; preds = %11003
  br label %11005

11005:                                            ; preds = %11004
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  %11006 = call ptr @__errno_location() #11
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  store i32 %11007, ptr %234, align 4, !tbaa !5
  %11008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11009 = call i32 @s2n_print_stacktrace(ptr noundef %11008)
  %11010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11011 = trunc i8 %11010 to i1
  br i1 %11011, label %11012, label %11034

11012:                                            ; preds = %11005
  %11013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11014 = call i32 @fileno(ptr noundef %11013) #10
  %11015 = call i32 @isatty(i32 noundef %11014) #10
  %11016 = icmp ne i32 %11015, 0
  br i1 %11016, label %11017, label %11034

11017:                                            ; preds = %11012
  %11018 = load i32, ptr %234, align 4, !tbaa !5
  %11019 = call ptr @__errno_location() #11
  store i32 %11018, ptr %11019, align 4, !tbaa !5
  %11020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11021 = load i32, ptr @test_count, align 4, !tbaa !5
  %11022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11023 = load i32, ptr %11022, align 4, !tbaa !5
  %11024 = call ptr @s2n_strerror(i32 noundef %11023, ptr noundef @.str.4)
  %11025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call ptr @s2n_strerror_debug(i32 noundef %11026, ptr noundef @.str.4)
  %11028 = call ptr @__errno_location() #11
  %11029 = load i32, ptr %11028, align 4, !tbaa !5
  %11030 = call ptr @strerror(i32 noundef %11029) #10
  %11031 = call ptr @__errno_location() #11
  %11032 = load i32, ptr %11031, align 4, !tbaa !5
  %11033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11020, ptr noundef @.str.2, i32 noundef %11021, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 774, ptr noundef %11024, ptr noundef %11027, ptr noundef %11030, i32 noundef %11032) #10
  br label %11051

11034:                                            ; preds = %11012, %11005
  %11035 = load i32, ptr %234, align 4, !tbaa !5
  %11036 = call ptr @__errno_location() #11
  store i32 %11035, ptr %11036, align 4, !tbaa !5
  %11037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11038 = load i32, ptr @test_count, align 4, !tbaa !5
  %11039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11040 = load i32, ptr %11039, align 4, !tbaa !5
  %11041 = call ptr @s2n_strerror(i32 noundef %11040, ptr noundef @.str.4)
  %11042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11043 = load i32, ptr %11042, align 4, !tbaa !5
  %11044 = call ptr @s2n_strerror_debug(i32 noundef %11043, ptr noundef @.str.4)
  %11045 = call ptr @__errno_location() #11
  %11046 = load i32, ptr %11045, align 4, !tbaa !5
  %11047 = call ptr @strerror(i32 noundef %11046) #10
  %11048 = call ptr @__errno_location() #11
  %11049 = load i32, ptr %11048, align 4, !tbaa !5
  %11050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11037, ptr noundef @.str.5, i32 noundef %11038, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 774, ptr noundef %11041, ptr noundef %11044, ptr noundef %11047, i32 noundef %11049) #10
  br label %11051

11051:                                            ; preds = %11034, %11017
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  br label %11052

11052:                                            ; preds = %11051
  br label %11053

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

11054:                                            ; No predecessors!
  br label %11055

11055:                                            ; preds = %11054
  br label %11056

11056:                                            ; preds = %11055, %10997
  br label %11057

11057:                                            ; preds = %11056
  br label %11058

11058:                                            ; preds = %11057
  br label %11059

11059:                                            ; preds = %11058
  %11060 = load i32, ptr @test_count, align 4, !tbaa !5
  %11061 = add nsw i32 %11060, 1
  store i32 %11061, ptr @test_count, align 4, !tbaa !5
  %11062 = load ptr, ptr %212, align 8, !tbaa !9
  %11063 = call i32 @s2n_config_free(ptr noundef %11062)
  %11064 = icmp eq i32 %11063, -1
  br i1 %11064, label %11065, label %11118

11065:                                            ; preds = %11059
  br label %11066

11066:                                            ; preds = %11065
  br label %11067

11067:                                            ; preds = %11066
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %11068 = call ptr @__errno_location() #11
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  store i32 %11069, ptr %235, align 4, !tbaa !5
  %11070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11071 = call i32 @s2n_print_stacktrace(ptr noundef %11070)
  %11072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11073 = trunc i8 %11072 to i1
  br i1 %11073, label %11074, label %11096

11074:                                            ; preds = %11067
  %11075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11076 = call i32 @fileno(ptr noundef %11075) #10
  %11077 = call i32 @isatty(i32 noundef %11076) #10
  %11078 = icmp ne i32 %11077, 0
  br i1 %11078, label %11079, label %11096

11079:                                            ; preds = %11074
  %11080 = load i32, ptr %235, align 4, !tbaa !5
  %11081 = call ptr @__errno_location() #11
  store i32 %11080, ptr %11081, align 4, !tbaa !5
  %11082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11083 = load i32, ptr @test_count, align 4, !tbaa !5
  %11084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @s2n_strerror(i32 noundef %11085, ptr noundef @.str.4)
  %11087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @s2n_strerror_debug(i32 noundef %11088, ptr noundef @.str.4)
  %11090 = call ptr @__errno_location() #11
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call ptr @strerror(i32 noundef %11091) #10
  %11093 = call ptr @__errno_location() #11
  %11094 = load i32, ptr %11093, align 4, !tbaa !5
  %11095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11082, ptr noundef @.str.2, i32 noundef %11083, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 775, ptr noundef %11086, ptr noundef %11089, ptr noundef %11092, i32 noundef %11094) #10
  br label %11113

11096:                                            ; preds = %11074, %11067
  %11097 = load i32, ptr %235, align 4, !tbaa !5
  %11098 = call ptr @__errno_location() #11
  store i32 %11097, ptr %11098, align 4, !tbaa !5
  %11099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11100 = load i32, ptr @test_count, align 4, !tbaa !5
  %11101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @s2n_strerror(i32 noundef %11102, ptr noundef @.str.4)
  %11104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call ptr @s2n_strerror_debug(i32 noundef %11105, ptr noundef @.str.4)
  %11107 = call ptr @__errno_location() #11
  %11108 = load i32, ptr %11107, align 4, !tbaa !5
  %11109 = call ptr @strerror(i32 noundef %11108) #10
  %11110 = call ptr @__errno_location() #11
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  %11112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11099, ptr noundef @.str.5, i32 noundef %11100, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 775, ptr noundef %11103, ptr noundef %11106, ptr noundef %11109, i32 noundef %11111) #10
  br label %11113

11113:                                            ; preds = %11096, %11079
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

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

11116:                                            ; No predecessors!
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117, %11059
  br label %11119

11119:                                            ; preds = %11118
  br label %11120

11120:                                            ; preds = %11119
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %209) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #10
  %11121 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %11122 = icmp ne i8 %11121, 0
  br i1 %11122, label %11442, label %11123

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

11124:                                            ; preds = %11123
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = add nsw i32 %11125, 1
  store i32 %11126, ptr @test_count, align 4, !tbaa !5
  %11127 = call ptr @s2n_config_new()
  store ptr %11127, ptr %236, align 8, !tbaa !9
  %11128 = icmp eq ptr %11127, null
  br i1 %11128, label %11129, label %11182

11129:                                            ; preds = %11124
  br label %11130

11130:                                            ; preds = %11129
  br label %11131

11131:                                            ; preds = %11130
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #10
  %11132 = call ptr @__errno_location() #11
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  store i32 %11133, ptr %237, align 4, !tbaa !5
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = call i32 @s2n_print_stacktrace(ptr noundef %11134)
  %11136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11137 = trunc i8 %11136 to i1
  br i1 %11137, label %11138, label %11160

11138:                                            ; preds = %11131
  %11139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11140 = call i32 @fileno(ptr noundef %11139) #10
  %11141 = call i32 @isatty(i32 noundef %11140) #10
  %11142 = icmp ne i32 %11141, 0
  br i1 %11142, label %11143, label %11160

11143:                                            ; preds = %11138
  %11144 = load i32, ptr %237, align 4, !tbaa !5
  %11145 = call ptr @__errno_location() #11
  store i32 %11144, ptr %11145, align 4, !tbaa !5
  %11146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11147 = load i32, ptr @test_count, align 4, !tbaa !5
  %11148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11149 = load i32, ptr %11148, align 4, !tbaa !5
  %11150 = call ptr @s2n_strerror(i32 noundef %11149, ptr noundef @.str.4)
  %11151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11152 = load i32, ptr %11151, align 4, !tbaa !5
  %11153 = call ptr @s2n_strerror_debug(i32 noundef %11152, ptr noundef @.str.4)
  %11154 = call ptr @__errno_location() #11
  %11155 = load i32, ptr %11154, align 4, !tbaa !5
  %11156 = call ptr @strerror(i32 noundef %11155) #10
  %11157 = call ptr @__errno_location() #11
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  %11159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11146, ptr noundef @.str.2, i32 noundef %11147, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 781, ptr noundef %11150, ptr noundef %11153, ptr noundef %11156, i32 noundef %11158) #10
  br label %11177

11160:                                            ; preds = %11138, %11131
  %11161 = load i32, ptr %237, align 4, !tbaa !5
  %11162 = call ptr @__errno_location() #11
  store i32 %11161, ptr %11162, align 4, !tbaa !5
  %11163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11164 = load i32, ptr @test_count, align 4, !tbaa !5
  %11165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11166 = load i32, ptr %11165, align 4, !tbaa !5
  %11167 = call ptr @s2n_strerror(i32 noundef %11166, ptr noundef @.str.4)
  %11168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11169 = load i32, ptr %11168, align 4, !tbaa !5
  %11170 = call ptr @s2n_strerror_debug(i32 noundef %11169, ptr noundef @.str.4)
  %11171 = call ptr @__errno_location() #11
  %11172 = load i32, ptr %11171, align 4, !tbaa !5
  %11173 = call ptr @strerror(i32 noundef %11172) #10
  %11174 = call ptr @__errno_location() #11
  %11175 = load i32, ptr %11174, align 4, !tbaa !5
  %11176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11163, ptr noundef @.str.5, i32 noundef %11164, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 781, ptr noundef %11167, ptr noundef %11170, ptr noundef %11173, i32 noundef %11175) #10
  br label %11177

11177:                                            ; preds = %11160, %11143
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #10
  br label %11178

11178:                                            ; preds = %11177
  br label %11179

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

11180:                                            ; No predecessors!
  br label %11181

11181:                                            ; preds = %11180
  br label %11182

11182:                                            ; preds = %11181, %11124
  br label %11183

11183:                                            ; preds = %11182
  br label %11184

11184:                                            ; preds = %11183
  br label %11185

11185:                                            ; preds = %11184
  br label %11186

11186:                                            ; preds = %11185
  %11187 = load i32, ptr @test_count, align 4, !tbaa !5
  %11188 = add nsw i32 %11187, 1
  store i32 %11188, ptr @test_count, align 4, !tbaa !5
  %11189 = load ptr, ptr %236, align 8, !tbaa !9
  %11190 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %11189, i8 noundef zeroext 1)
  %11191 = icmp eq i32 %11190, -1
  br i1 %11191, label %11245, label %11192

11192:                                            ; preds = %11186
  br label %11193

11193:                                            ; preds = %11192
  br label %11194

11194:                                            ; preds = %11193
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %11195 = call ptr @__errno_location() #11
  %11196 = load i32, ptr %11195, align 4, !tbaa !5
  store i32 %11196, ptr %238, align 4, !tbaa !5
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = call i32 @s2n_print_stacktrace(ptr noundef %11197)
  %11199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11200 = trunc i8 %11199 to i1
  br i1 %11200, label %11201, label %11223

11201:                                            ; preds = %11194
  %11202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11203 = call i32 @fileno(ptr noundef %11202) #10
  %11204 = call i32 @isatty(i32 noundef %11203) #10
  %11205 = icmp ne i32 %11204, 0
  br i1 %11205, label %11206, label %11223

11206:                                            ; preds = %11201
  %11207 = load i32, ptr %238, align 4, !tbaa !5
  %11208 = call ptr @__errno_location() #11
  store i32 %11207, ptr %11208, align 4, !tbaa !5
  %11209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11210 = load i32, ptr @test_count, align 4, !tbaa !5
  %11211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11212 = load i32, ptr %11211, align 4, !tbaa !5
  %11213 = call ptr @s2n_strerror(i32 noundef %11212, ptr noundef @.str.4)
  %11214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11215 = load i32, ptr %11214, align 4, !tbaa !5
  %11216 = call ptr @s2n_strerror_debug(i32 noundef %11215, ptr noundef @.str.4)
  %11217 = call ptr @__errno_location() #11
  %11218 = load i32, ptr %11217, align 4, !tbaa !5
  %11219 = call ptr @strerror(i32 noundef %11218) #10
  %11220 = call ptr @__errno_location() #11
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  %11222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11209, ptr noundef @.str.2, i32 noundef %11210, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11213, ptr noundef %11216, ptr noundef %11219, i32 noundef %11221) #10
  br label %11240

11223:                                            ; preds = %11201, %11194
  %11224 = load i32, ptr %238, align 4, !tbaa !5
  %11225 = call ptr @__errno_location() #11
  store i32 %11224, ptr %11225, align 4, !tbaa !5
  %11226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11227 = load i32, ptr @test_count, align 4, !tbaa !5
  %11228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11229 = load i32, ptr %11228, align 4, !tbaa !5
  %11230 = call ptr @s2n_strerror(i32 noundef %11229, ptr noundef @.str.4)
  %11231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11232 = load i32, ptr %11231, align 4, !tbaa !5
  %11233 = call ptr @s2n_strerror_debug(i32 noundef %11232, ptr noundef @.str.4)
  %11234 = call ptr @__errno_location() #11
  %11235 = load i32, ptr %11234, align 4, !tbaa !5
  %11236 = call ptr @strerror(i32 noundef %11235) #10
  %11237 = call ptr @__errno_location() #11
  %11238 = load i32, ptr %11237, align 4, !tbaa !5
  %11239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11226, ptr noundef @.str.5, i32 noundef %11227, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11230, ptr noundef %11233, ptr noundef %11236, i32 noundef %11238) #10
  br label %11240

11240:                                            ; preds = %11223, %11206
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %11241

11241:                                            ; preds = %11240
  br label %11242

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

11243:                                            ; No predecessors!
  br label %11244

11244:                                            ; preds = %11243
  br label %11245

11245:                                            ; preds = %11244, %11186
  br label %11246

11246:                                            ; preds = %11245
  br label %11247

11247:                                            ; preds = %11246
  br label %11248

11248:                                            ; preds = %11247
  %11249 = load i32, ptr @test_count, align 4, !tbaa !5
  %11250 = add nsw i32 %11249, 1
  store i32 %11250, ptr @test_count, align 4, !tbaa !5
  %11251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11252 = load i32, ptr %11251, align 4, !tbaa !5
  %11253 = icmp eq i32 %11252, 0
  br i1 %11253, label %11254, label %11307

11254:                                            ; preds = %11248
  br label %11255

11255:                                            ; preds = %11254
  br label %11256

11256:                                            ; preds = %11255
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %11257 = call ptr @__errno_location() #11
  %11258 = load i32, ptr %11257, align 4, !tbaa !5
  store i32 %11258, ptr %239, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = call i32 @s2n_print_stacktrace(ptr noundef %11259)
  %11261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11262 = trunc i8 %11261 to i1
  br i1 %11262, label %11263, label %11285

11263:                                            ; preds = %11256
  %11264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11265 = call i32 @fileno(ptr noundef %11264) #10
  %11266 = call i32 @isatty(i32 noundef %11265) #10
  %11267 = icmp ne i32 %11266, 0
  br i1 %11267, label %11268, label %11285

11268:                                            ; preds = %11263
  %11269 = load i32, ptr %239, align 4, !tbaa !5
  %11270 = call ptr @__errno_location() #11
  store i32 %11269, ptr %11270, align 4, !tbaa !5
  %11271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11272 = load i32, ptr @test_count, align 4, !tbaa !5
  %11273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11274 = load i32, ptr %11273, align 4, !tbaa !5
  %11275 = call ptr @s2n_strerror(i32 noundef %11274, ptr noundef @.str.4)
  %11276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  %11278 = call ptr @s2n_strerror_debug(i32 noundef %11277, ptr noundef @.str.4)
  %11279 = call ptr @__errno_location() #11
  %11280 = load i32, ptr %11279, align 4, !tbaa !5
  %11281 = call ptr @strerror(i32 noundef %11280) #10
  %11282 = call ptr @__errno_location() #11
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  %11284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11271, ptr noundef @.str.2, i32 noundef %11272, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11275, ptr noundef %11278, ptr noundef %11281, i32 noundef %11283) #10
  br label %11302

11285:                                            ; preds = %11263, %11256
  %11286 = load i32, ptr %239, align 4, !tbaa !5
  %11287 = call ptr @__errno_location() #11
  store i32 %11286, ptr %11287, align 4, !tbaa !5
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = load i32, ptr @test_count, align 4, !tbaa !5
  %11290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11291 = load i32, ptr %11290, align 4, !tbaa !5
  %11292 = call ptr @s2n_strerror(i32 noundef %11291, ptr noundef @.str.4)
  %11293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11294 = load i32, ptr %11293, align 4, !tbaa !5
  %11295 = call ptr @s2n_strerror_debug(i32 noundef %11294, ptr noundef @.str.4)
  %11296 = call ptr @__errno_location() #11
  %11297 = load i32, ptr %11296, align 4, !tbaa !5
  %11298 = call ptr @strerror(i32 noundef %11297) #10
  %11299 = call ptr @__errno_location() #11
  %11300 = load i32, ptr %11299, align 4, !tbaa !5
  %11301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11288, ptr noundef @.str.5, i32 noundef %11289, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11292, ptr noundef %11295, ptr noundef %11298, i32 noundef %11300) #10
  br label %11302

11302:                                            ; preds = %11285, %11268
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %11303

11303:                                            ; preds = %11302
  br label %11304

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

11305:                                            ; No predecessors!
  br label %11306

11306:                                            ; preds = %11305
  br label %11307

11307:                                            ; preds = %11306, %11248
  br label %11308

11308:                                            ; preds = %11307
  br label %11309

11309:                                            ; preds = %11308
  br label %11310

11310:                                            ; preds = %11309
  %11311 = load i32, ptr @test_count, align 4, !tbaa !5
  %11312 = add nsw i32 %11311, 1
  store i32 %11312, ptr @test_count, align 4, !tbaa !5
  %11313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11314 = load i32, ptr %11313, align 4, !tbaa !5
  %11315 = call ptr @s2n_strerror_debug(i32 noundef %11314, ptr noundef @.str.4)
  %11316 = icmp eq ptr %11315, null
  br i1 %11316, label %11317, label %11370

11317:                                            ; preds = %11310
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %11320 = call ptr @__errno_location() #11
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  store i32 %11321, ptr %240, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = call i32 @s2n_print_stacktrace(ptr noundef %11322)
  %11324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11325 = trunc i8 %11324 to i1
  br i1 %11325, label %11326, label %11348

11326:                                            ; preds = %11319
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @fileno(ptr noundef %11327) #10
  %11329 = call i32 @isatty(i32 noundef %11328) #10
  %11330 = icmp ne i32 %11329, 0
  br i1 %11330, label %11331, label %11348

11331:                                            ; preds = %11326
  %11332 = load i32, ptr %240, align 4, !tbaa !5
  %11333 = call ptr @__errno_location() #11
  store i32 %11332, ptr %11333, align 4, !tbaa !5
  %11334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11335 = load i32, ptr @test_count, align 4, !tbaa !5
  %11336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11337 = load i32, ptr %11336, align 4, !tbaa !5
  %11338 = call ptr @s2n_strerror(i32 noundef %11337, ptr noundef @.str.4)
  %11339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11340 = load i32, ptr %11339, align 4, !tbaa !5
  %11341 = call ptr @s2n_strerror_debug(i32 noundef %11340, ptr noundef @.str.4)
  %11342 = call ptr @__errno_location() #11
  %11343 = load i32, ptr %11342, align 4, !tbaa !5
  %11344 = call ptr @strerror(i32 noundef %11343) #10
  %11345 = call ptr @__errno_location() #11
  %11346 = load i32, ptr %11345, align 4, !tbaa !5
  %11347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11334, ptr noundef @.str.2, i32 noundef %11335, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11338, ptr noundef %11341, ptr noundef %11344, i32 noundef %11346) #10
  br label %11365

11348:                                            ; preds = %11326, %11319
  %11349 = load i32, ptr %240, align 4, !tbaa !5
  %11350 = call ptr @__errno_location() #11
  store i32 %11349, ptr %11350, align 4, !tbaa !5
  %11351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11354 = load i32, ptr %11353, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror(i32 noundef %11354, ptr noundef @.str.4)
  %11356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11357 = load i32, ptr %11356, align 4, !tbaa !5
  %11358 = call ptr @s2n_strerror_debug(i32 noundef %11357, ptr noundef @.str.4)
  %11359 = call ptr @__errno_location() #11
  %11360 = load i32, ptr %11359, align 4, !tbaa !5
  %11361 = call ptr @strerror(i32 noundef %11360) #10
  %11362 = call ptr @__errno_location() #11
  %11363 = load i32, ptr %11362, align 4, !tbaa !5
  %11364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11351, ptr noundef @.str.5, i32 noundef %11352, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 782, ptr noundef %11355, ptr noundef %11358, ptr noundef %11361, i32 noundef %11363) #10
  br label %11365

11365:                                            ; preds = %11348, %11331
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %11366

11366:                                            ; preds = %11365
  br label %11367

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

11368:                                            ; No predecessors!
  br label %11369

11369:                                            ; preds = %11368
  br label %11370

11370:                                            ; preds = %11369, %11310
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

11372:                                            ; preds = %11371
  br label %11373

11373:                                            ; preds = %11372
  %11374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11374, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11375 = call ptr @__errno_location() #11
  store i32 0, ptr %11375, align 4, !tbaa !5
  br label %11376

11376:                                            ; preds = %11373
  br label %11377

11377:                                            ; preds = %11376
  br label %11378

11378:                                            ; preds = %11377
  br label %11379

11379:                                            ; preds = %11378
  br label %11380

11380:                                            ; preds = %11379
  %11381 = load i32, ptr @test_count, align 4, !tbaa !5
  %11382 = add nsw i32 %11381, 1
  store i32 %11382, ptr @test_count, align 4, !tbaa !5
  %11383 = load ptr, ptr %236, align 8, !tbaa !9
  %11384 = call i32 @s2n_config_free(ptr noundef %11383)
  %11385 = icmp eq i32 %11384, -1
  br i1 %11385, label %11386, label %11439

11386:                                            ; preds = %11380
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %11389 = call ptr @__errno_location() #11
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  store i32 %11390, ptr %241, align 4, !tbaa !5
  %11391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11392 = call i32 @s2n_print_stacktrace(ptr noundef %11391)
  %11393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11394 = trunc i8 %11393 to i1
  br i1 %11394, label %11395, label %11417

11395:                                            ; preds = %11388
  %11396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11397 = call i32 @fileno(ptr noundef %11396) #10
  %11398 = call i32 @isatty(i32 noundef %11397) #10
  %11399 = icmp ne i32 %11398, 0
  br i1 %11399, label %11400, label %11417

11400:                                            ; preds = %11395
  %11401 = load i32, ptr %241, align 4, !tbaa !5
  %11402 = call ptr @__errno_location() #11
  store i32 %11401, ptr %11402, align 4, !tbaa !5
  %11403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11404 = load i32, ptr @test_count, align 4, !tbaa !5
  %11405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11406 = load i32, ptr %11405, align 4, !tbaa !5
  %11407 = call ptr @s2n_strerror(i32 noundef %11406, ptr noundef @.str.4)
  %11408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11409 = load i32, ptr %11408, align 4, !tbaa !5
  %11410 = call ptr @s2n_strerror_debug(i32 noundef %11409, ptr noundef @.str.4)
  %11411 = call ptr @__errno_location() #11
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call ptr @strerror(i32 noundef %11412) #10
  %11414 = call ptr @__errno_location() #11
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11403, ptr noundef @.str.2, i32 noundef %11404, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 783, ptr noundef %11407, ptr noundef %11410, ptr noundef %11413, i32 noundef %11415) #10
  br label %11434

11417:                                            ; preds = %11395, %11388
  %11418 = load i32, ptr %241, align 4, !tbaa !5
  %11419 = call ptr @__errno_location() #11
  store i32 %11418, ptr %11419, align 4, !tbaa !5
  %11420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11421 = load i32, ptr @test_count, align 4, !tbaa !5
  %11422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call ptr @s2n_strerror(i32 noundef %11423, ptr noundef @.str.4)
  %11425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call ptr @s2n_strerror_debug(i32 noundef %11426, ptr noundef @.str.4)
  %11428 = call ptr @__errno_location() #11
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  %11430 = call ptr @strerror(i32 noundef %11429) #10
  %11431 = call ptr @__errno_location() #11
  %11432 = load i32, ptr %11431, align 4, !tbaa !5
  %11433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11420, ptr noundef @.str.5, i32 noundef %11421, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 783, ptr noundef %11424, ptr noundef %11427, ptr noundef %11430, i32 noundef %11432) #10
  br label %11434

11434:                                            ; preds = %11417, %11400
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %11435

11435:                                            ; preds = %11434
  br label %11436

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

11437:                                            ; No predecessors!
  br label %11438

11438:                                            ; preds = %11437
  br label %11439

11439:                                            ; preds = %11438, %11380
  br label %11440

11440:                                            ; preds = %11439
  br label %11441

11441:                                            ; preds = %11440
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #10
  br label %11442

11442:                                            ; preds = %11441, %11120
  %11443 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %11444 = icmp ne i8 %11443, 0
  br i1 %11444, label %11445, label %13135

11445:                                            ; preds = %11442
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #10
  store ptr null, ptr %242, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %243) #10
  store ptr null, ptr %243, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #10
  store ptr null, ptr %244, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %245) #10
  store ptr null, ptr %245, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  store i32 0, ptr %246, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %247) #10
  store ptr null, ptr %247, align 8, !tbaa !9
  br label %11446

11446:                                            ; preds = %11445
  %11447 = load i32, ptr @test_count, align 4, !tbaa !5
  %11448 = add nsw i32 %11447, 1
  store i32 %11448, ptr @test_count, align 4, !tbaa !5
  %11449 = call ptr @s2n_config_new()
  store ptr %11449, ptr %245, align 8, !tbaa !9
  %11450 = icmp eq ptr %11449, null
  br i1 %11450, label %11451, label %11504

11451:                                            ; preds = %11446
  br label %11452

11452:                                            ; preds = %11451
  br label %11453

11453:                                            ; preds = %11452
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #10
  %11454 = call ptr @__errno_location() #11
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  store i32 %11455, ptr %248, align 4, !tbaa !5
  %11456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11457 = call i32 @s2n_print_stacktrace(ptr noundef %11456)
  %11458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11459 = trunc i8 %11458 to i1
  br i1 %11459, label %11460, label %11482

11460:                                            ; preds = %11453
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = call i32 @fileno(ptr noundef %11461) #10
  %11463 = call i32 @isatty(i32 noundef %11462) #10
  %11464 = icmp ne i32 %11463, 0
  br i1 %11464, label %11465, label %11482

11465:                                            ; preds = %11460
  %11466 = load i32, ptr %248, align 4, !tbaa !5
  %11467 = call ptr @__errno_location() #11
  store i32 %11466, ptr %11467, align 4, !tbaa !5
  %11468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11469 = load i32, ptr @test_count, align 4, !tbaa !5
  %11470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call ptr @s2n_strerror(i32 noundef %11471, ptr noundef @.str.4)
  %11473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11474 = load i32, ptr %11473, align 4, !tbaa !5
  %11475 = call ptr @s2n_strerror_debug(i32 noundef %11474, ptr noundef @.str.4)
  %11476 = call ptr @__errno_location() #11
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = call ptr @strerror(i32 noundef %11477) #10
  %11479 = call ptr @__errno_location() #11
  %11480 = load i32, ptr %11479, align 4, !tbaa !5
  %11481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11468, ptr noundef @.str.2, i32 noundef %11469, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 795, ptr noundef %11472, ptr noundef %11475, ptr noundef %11478, i32 noundef %11480) #10
  br label %11499

11482:                                            ; preds = %11460, %11453
  %11483 = load i32, ptr %248, align 4, !tbaa !5
  %11484 = call ptr @__errno_location() #11
  store i32 %11483, ptr %11484, align 4, !tbaa !5
  %11485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11486 = load i32, ptr @test_count, align 4, !tbaa !5
  %11487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @s2n_strerror(i32 noundef %11488, ptr noundef @.str.4)
  %11490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call ptr @s2n_strerror_debug(i32 noundef %11491, ptr noundef @.str.4)
  %11493 = call ptr @__errno_location() #11
  %11494 = load i32, ptr %11493, align 4, !tbaa !5
  %11495 = call ptr @strerror(i32 noundef %11494) #10
  %11496 = call ptr @__errno_location() #11
  %11497 = load i32, ptr %11496, align 4, !tbaa !5
  %11498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11485, ptr noundef @.str.5, i32 noundef %11486, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 795, ptr noundef %11489, ptr noundef %11492, ptr noundef %11495, i32 noundef %11497) #10
  br label %11499

11499:                                            ; preds = %11482, %11465
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #10
  br label %11500

11500:                                            ; preds = %11499
  br label %11501

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

11502:                                            ; No predecessors!
  br label %11503

11503:                                            ; preds = %11502
  br label %11504

11504:                                            ; preds = %11503, %11446
  br label %11505

11505:                                            ; preds = %11504
  br label %11506

11506:                                            ; preds = %11505
  br label %11507

11507:                                            ; preds = %11506
  %11508 = load i32, ptr @test_count, align 4, !tbaa !5
  %11509 = add nsw i32 %11508, 1
  store i32 %11509, ptr @test_count, align 4, !tbaa !5
  %11510 = load ptr, ptr %245, align 8, !tbaa !9
  %11511 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %11510, i8 noundef zeroext 0)
  %11512 = icmp eq i32 %11511, -1
  br i1 %11512, label %11513, label %11566

11513:                                            ; preds = %11507
  br label %11514

11514:                                            ; preds = %11513
  br label %11515

11515:                                            ; preds = %11514
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %11516 = call ptr @__errno_location() #11
  %11517 = load i32, ptr %11516, align 4, !tbaa !5
  store i32 %11517, ptr %249, align 4, !tbaa !5
  %11518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11519 = call i32 @s2n_print_stacktrace(ptr noundef %11518)
  %11520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11521 = trunc i8 %11520 to i1
  br i1 %11521, label %11522, label %11544

11522:                                            ; preds = %11515
  %11523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11524 = call i32 @fileno(ptr noundef %11523) #10
  %11525 = call i32 @isatty(i32 noundef %11524) #10
  %11526 = icmp ne i32 %11525, 0
  br i1 %11526, label %11527, label %11544

11527:                                            ; preds = %11522
  %11528 = load i32, ptr %249, align 4, !tbaa !5
  %11529 = call ptr @__errno_location() #11
  store i32 %11528, ptr %11529, align 4, !tbaa !5
  %11530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11531 = load i32, ptr @test_count, align 4, !tbaa !5
  %11532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11533 = load i32, ptr %11532, align 4, !tbaa !5
  %11534 = call ptr @s2n_strerror(i32 noundef %11533, ptr noundef @.str.4)
  %11535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11536 = load i32, ptr %11535, align 4, !tbaa !5
  %11537 = call ptr @s2n_strerror_debug(i32 noundef %11536, ptr noundef @.str.4)
  %11538 = call ptr @__errno_location() #11
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @strerror(i32 noundef %11539) #10
  %11541 = call ptr @__errno_location() #11
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11530, ptr noundef @.str.2, i32 noundef %11531, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 796, ptr noundef %11534, ptr noundef %11537, ptr noundef %11540, i32 noundef %11542) #10
  br label %11561

11544:                                            ; preds = %11522, %11515
  %11545 = load i32, ptr %249, align 4, !tbaa !5
  %11546 = call ptr @__errno_location() #11
  store i32 %11545, ptr %11546, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = load i32, ptr @test_count, align 4, !tbaa !5
  %11549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11550 = load i32, ptr %11549, align 4, !tbaa !5
  %11551 = call ptr @s2n_strerror(i32 noundef %11550, ptr noundef @.str.4)
  %11552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11553 = load i32, ptr %11552, align 4, !tbaa !5
  %11554 = call ptr @s2n_strerror_debug(i32 noundef %11553, ptr noundef @.str.4)
  %11555 = call ptr @__errno_location() #11
  %11556 = load i32, ptr %11555, align 4, !tbaa !5
  %11557 = call ptr @strerror(i32 noundef %11556) #10
  %11558 = call ptr @__errno_location() #11
  %11559 = load i32, ptr %11558, align 4, !tbaa !5
  %11560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11547, ptr noundef @.str.5, i32 noundef %11548, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 796, ptr noundef %11551, ptr noundef %11554, ptr noundef %11557, i32 noundef %11559) #10
  br label %11561

11561:                                            ; preds = %11544, %11527
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %11562

11562:                                            ; preds = %11561
  br label %11563

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

11564:                                            ; No predecessors!
  br label %11565

11565:                                            ; preds = %11564
  br label %11566

11566:                                            ; preds = %11565, %11507
  br label %11567

11567:                                            ; preds = %11566
  br label %11568

11568:                                            ; preds = %11567
  br label %11569

11569:                                            ; preds = %11568
  %11570 = load i32, ptr @test_count, align 4, !tbaa !5
  %11571 = add nsw i32 %11570, 1
  store i32 %11571, ptr @test_count, align 4, !tbaa !5
  %11572 = load ptr, ptr %245, align 8, !tbaa !9
  %11573 = call i32 @s2n_config_disable_x509_verification(ptr noundef %11572)
  %11574 = icmp eq i32 %11573, -1
  br i1 %11574, label %11575, label %11628

11575:                                            ; preds = %11569
  br label %11576

11576:                                            ; preds = %11575
  br label %11577

11577:                                            ; preds = %11576
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %11578 = call ptr @__errno_location() #11
  %11579 = load i32, ptr %11578, align 4, !tbaa !5
  store i32 %11579, ptr %250, align 4, !tbaa !5
  %11580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11581 = call i32 @s2n_print_stacktrace(ptr noundef %11580)
  %11582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11583 = trunc i8 %11582 to i1
  br i1 %11583, label %11584, label %11606

11584:                                            ; preds = %11577
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = call i32 @fileno(ptr noundef %11585) #10
  %11587 = call i32 @isatty(i32 noundef %11586) #10
  %11588 = icmp ne i32 %11587, 0
  br i1 %11588, label %11589, label %11606

11589:                                            ; preds = %11584
  %11590 = load i32, ptr %250, align 4, !tbaa !5
  %11591 = call ptr @__errno_location() #11
  store i32 %11590, ptr %11591, align 4, !tbaa !5
  %11592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11593 = load i32, ptr @test_count, align 4, !tbaa !5
  %11594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  %11596 = call ptr @s2n_strerror(i32 noundef %11595, ptr noundef @.str.4)
  %11597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call ptr @s2n_strerror_debug(i32 noundef %11598, ptr noundef @.str.4)
  %11600 = call ptr @__errno_location() #11
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call ptr @strerror(i32 noundef %11601) #10
  %11603 = call ptr @__errno_location() #11
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11592, ptr noundef @.str.2, i32 noundef %11593, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 797, ptr noundef %11596, ptr noundef %11599, ptr noundef %11602, i32 noundef %11604) #10
  br label %11623

11606:                                            ; preds = %11584, %11577
  %11607 = load i32, ptr %250, align 4, !tbaa !5
  %11608 = call ptr @__errno_location() #11
  store i32 %11607, ptr %11608, align 4, !tbaa !5
  %11609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11610 = load i32, ptr @test_count, align 4, !tbaa !5
  %11611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  %11613 = call ptr @s2n_strerror(i32 noundef %11612, ptr noundef @.str.4)
  %11614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call ptr @s2n_strerror_debug(i32 noundef %11615, ptr noundef @.str.4)
  %11617 = call ptr @__errno_location() #11
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  %11619 = call ptr @strerror(i32 noundef %11618) #10
  %11620 = call ptr @__errno_location() #11
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  %11622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11609, ptr noundef @.str.5, i32 noundef %11610, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 797, ptr noundef %11613, ptr noundef %11616, ptr noundef %11619, i32 noundef %11621) #10
  br label %11623

11623:                                            ; preds = %11606, %11589
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %11624

11624:                                            ; preds = %11623
  br label %11625

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

11626:                                            ; No predecessors!
  br label %11627

11627:                                            ; preds = %11626
  br label %11628

11628:                                            ; preds = %11627, %11569
  br label %11629

11629:                                            ; preds = %11628
  br label %11630

11630:                                            ; preds = %11629
  br label %11631

11631:                                            ; preds = %11630
  %11632 = load i32, ptr @test_count, align 4, !tbaa !5
  %11633 = add nsw i32 %11632, 1
  store i32 %11633, ptr @test_count, align 4, !tbaa !5
  %11634 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11634, ptr %242, align 8, !tbaa !9
  %11635 = icmp eq ptr %11634, null
  br i1 %11635, label %11636, label %11689

11636:                                            ; preds = %11631
  br label %11637

11637:                                            ; preds = %11636
  br label %11638

11638:                                            ; preds = %11637
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  %11639 = call ptr @__errno_location() #11
  %11640 = load i32, ptr %11639, align 4, !tbaa !5
  store i32 %11640, ptr %251, align 4, !tbaa !5
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = call i32 @s2n_print_stacktrace(ptr noundef %11641)
  %11643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11644 = trunc i8 %11643 to i1
  br i1 %11644, label %11645, label %11667

11645:                                            ; preds = %11638
  %11646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11647 = call i32 @fileno(ptr noundef %11646) #10
  %11648 = call i32 @isatty(i32 noundef %11647) #10
  %11649 = icmp ne i32 %11648, 0
  br i1 %11649, label %11650, label %11667

11650:                                            ; preds = %11645
  %11651 = load i32, ptr %251, align 4, !tbaa !5
  %11652 = call ptr @__errno_location() #11
  store i32 %11651, ptr %11652, align 4, !tbaa !5
  %11653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11654 = load i32, ptr @test_count, align 4, !tbaa !5
  %11655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11656 = load i32, ptr %11655, align 4, !tbaa !5
  %11657 = call ptr @s2n_strerror(i32 noundef %11656, ptr noundef @.str.4)
  %11658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11659 = load i32, ptr %11658, align 4, !tbaa !5
  %11660 = call ptr @s2n_strerror_debug(i32 noundef %11659, ptr noundef @.str.4)
  %11661 = call ptr @__errno_location() #11
  %11662 = load i32, ptr %11661, align 4, !tbaa !5
  %11663 = call ptr @strerror(i32 noundef %11662) #10
  %11664 = call ptr @__errno_location() #11
  %11665 = load i32, ptr %11664, align 4, !tbaa !5
  %11666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11653, ptr noundef @.str.2, i32 noundef %11654, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 798, ptr noundef %11657, ptr noundef %11660, ptr noundef %11663, i32 noundef %11665) #10
  br label %11684

11667:                                            ; preds = %11645, %11638
  %11668 = load i32, ptr %251, align 4, !tbaa !5
  %11669 = call ptr @__errno_location() #11
  store i32 %11668, ptr %11669, align 4, !tbaa !5
  %11670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11671 = load i32, ptr @test_count, align 4, !tbaa !5
  %11672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  %11674 = call ptr @s2n_strerror(i32 noundef %11673, ptr noundef @.str.4)
  %11675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11676 = load i32, ptr %11675, align 4, !tbaa !5
  %11677 = call ptr @s2n_strerror_debug(i32 noundef %11676, ptr noundef @.str.4)
  %11678 = call ptr @__errno_location() #11
  %11679 = load i32, ptr %11678, align 4, !tbaa !5
  %11680 = call ptr @strerror(i32 noundef %11679) #10
  %11681 = call ptr @__errno_location() #11
  %11682 = load i32, ptr %11681, align 4, !tbaa !5
  %11683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11670, ptr noundef @.str.5, i32 noundef %11671, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 798, ptr noundef %11674, ptr noundef %11677, ptr noundef %11680, i32 noundef %11682) #10
  br label %11684

11684:                                            ; preds = %11667, %11650
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  br label %11685

11685:                                            ; preds = %11684
  br label %11686

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

11687:                                            ; No predecessors!
  br label %11688

11688:                                            ; preds = %11687
  br label %11689

11689:                                            ; preds = %11688, %11631
  br label %11690

11690:                                            ; preds = %11689
  br label %11691

11691:                                            ; preds = %11690
  br label %11692

11692:                                            ; preds = %11691
  %11693 = load i32, ptr @test_count, align 4, !tbaa !5
  %11694 = add nsw i32 %11693, 1
  store i32 %11694, ptr @test_count, align 4, !tbaa !5
  %11695 = load ptr, ptr %242, align 8, !tbaa !9
  %11696 = load ptr, ptr %245, align 8, !tbaa !9
  %11697 = call i32 @s2n_connection_set_config(ptr noundef %11695, ptr noundef %11696)
  %11698 = icmp eq i32 %11697, -1
  br i1 %11698, label %11699, label %11752

11699:                                            ; preds = %11692
  br label %11700

11700:                                            ; preds = %11699
  br label %11701

11701:                                            ; preds = %11700
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #10
  %11702 = call ptr @__errno_location() #11
  %11703 = load i32, ptr %11702, align 4, !tbaa !5
  store i32 %11703, ptr %252, align 4, !tbaa !5
  %11704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11705 = call i32 @s2n_print_stacktrace(ptr noundef %11704)
  %11706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11707 = trunc i8 %11706 to i1
  br i1 %11707, label %11708, label %11730

11708:                                            ; preds = %11701
  %11709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11710 = call i32 @fileno(ptr noundef %11709) #10
  %11711 = call i32 @isatty(i32 noundef %11710) #10
  %11712 = icmp ne i32 %11711, 0
  br i1 %11712, label %11713, label %11730

11713:                                            ; preds = %11708
  %11714 = load i32, ptr %252, align 4, !tbaa !5
  %11715 = call ptr @__errno_location() #11
  store i32 %11714, ptr %11715, align 4, !tbaa !5
  %11716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11717 = load i32, ptr @test_count, align 4, !tbaa !5
  %11718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11719 = load i32, ptr %11718, align 4, !tbaa !5
  %11720 = call ptr @s2n_strerror(i32 noundef %11719, ptr noundef @.str.4)
  %11721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11722 = load i32, ptr %11721, align 4, !tbaa !5
  %11723 = call ptr @s2n_strerror_debug(i32 noundef %11722, ptr noundef @.str.4)
  %11724 = call ptr @__errno_location() #11
  %11725 = load i32, ptr %11724, align 4, !tbaa !5
  %11726 = call ptr @strerror(i32 noundef %11725) #10
  %11727 = call ptr @__errno_location() #11
  %11728 = load i32, ptr %11727, align 4, !tbaa !5
  %11729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11716, ptr noundef @.str.2, i32 noundef %11717, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 799, ptr noundef %11720, ptr noundef %11723, ptr noundef %11726, i32 noundef %11728) #10
  br label %11747

11730:                                            ; preds = %11708, %11701
  %11731 = load i32, ptr %252, align 4, !tbaa !5
  %11732 = call ptr @__errno_location() #11
  store i32 %11731, ptr %11732, align 4, !tbaa !5
  %11733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11734 = load i32, ptr @test_count, align 4, !tbaa !5
  %11735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11736 = load i32, ptr %11735, align 4, !tbaa !5
  %11737 = call ptr @s2n_strerror(i32 noundef %11736, ptr noundef @.str.4)
  %11738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11739 = load i32, ptr %11738, align 4, !tbaa !5
  %11740 = call ptr @s2n_strerror_debug(i32 noundef %11739, ptr noundef @.str.4)
  %11741 = call ptr @__errno_location() #11
  %11742 = load i32, ptr %11741, align 4, !tbaa !5
  %11743 = call ptr @strerror(i32 noundef %11742) #10
  %11744 = call ptr @__errno_location() #11
  %11745 = load i32, ptr %11744, align 4, !tbaa !5
  %11746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11733, ptr noundef @.str.5, i32 noundef %11734, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 799, ptr noundef %11737, ptr noundef %11740, ptr noundef %11743, i32 noundef %11745) #10
  br label %11747

11747:                                            ; preds = %11730, %11713
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #10
  br label %11748

11748:                                            ; preds = %11747
  br label %11749

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

11750:                                            ; No predecessors!
  br label %11751

11751:                                            ; preds = %11750
  br label %11752

11752:                                            ; preds = %11751, %11692
  br label %11753

11753:                                            ; preds = %11752
  br label %11754

11754:                                            ; preds = %11753
  %11755 = load ptr, ptr %242, align 8, !tbaa !9
  %11756 = getelementptr inbounds %struct.s2n_connection, ptr %11755, i32 0, i32 23
  store i8 33, ptr %11756, align 4, !tbaa !15
  %11757 = load ptr, ptr %242, align 8, !tbaa !9
  %11758 = getelementptr inbounds %struct.s2n_connection, ptr %11757, i32 0, i32 22
  store i8 33, ptr %11758, align 1, !tbaa !42
  %11759 = load ptr, ptr %242, align 8, !tbaa !9
  %11760 = getelementptr inbounds %struct.s2n_connection, ptr %11759, i32 0, i32 21
  store i8 33, ptr %11760, align 2, !tbaa !43
  br label %11761

11761:                                            ; preds = %11754
  %11762 = load i32, ptr @test_count, align 4, !tbaa !5
  %11763 = add nsw i32 %11762, 1
  store i32 %11763, ptr @test_count, align 4, !tbaa !5
  %11764 = load ptr, ptr %245, align 8, !tbaa !9
  %11765 = call i32 @s2n_config_set_status_request_type(ptr noundef %11764, i32 noundef 1)
  %11766 = icmp eq i32 %11765, -1
  br i1 %11766, label %11767, label %11820

11767:                                            ; preds = %11761
  br label %11768

11768:                                            ; preds = %11767
  br label %11769

11769:                                            ; preds = %11768
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #10
  %11770 = call ptr @__errno_location() #11
  %11771 = load i32, ptr %11770, align 4, !tbaa !5
  store i32 %11771, ptr %253, align 4, !tbaa !5
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = call i32 @s2n_print_stacktrace(ptr noundef %11772)
  %11774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11775 = trunc i8 %11774 to i1
  br i1 %11775, label %11776, label %11798

11776:                                            ; preds = %11769
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = call i32 @fileno(ptr noundef %11777) #10
  %11779 = call i32 @isatty(i32 noundef %11778) #10
  %11780 = icmp ne i32 %11779, 0
  br i1 %11780, label %11781, label %11798

11781:                                            ; preds = %11776
  %11782 = load i32, ptr %253, align 4, !tbaa !5
  %11783 = call ptr @__errno_location() #11
  store i32 %11782, ptr %11783, align 4, !tbaa !5
  %11784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11785 = load i32, ptr @test_count, align 4, !tbaa !5
  %11786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef @.str.4)
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror_debug(i32 noundef %11790, ptr noundef @.str.4)
  %11792 = call ptr @__errno_location() #11
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @strerror(i32 noundef %11793) #10
  %11795 = call ptr @__errno_location() #11
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11784, ptr noundef @.str.2, i32 noundef %11785, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 804, ptr noundef %11788, ptr noundef %11791, ptr noundef %11794, i32 noundef %11796) #10
  br label %11815

11798:                                            ; preds = %11776, %11769
  %11799 = load i32, ptr %253, align 4, !tbaa !5
  %11800 = call ptr @__errno_location() #11
  store i32 %11799, ptr %11800, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = load i32, ptr @test_count, align 4, !tbaa !5
  %11803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11804 = load i32, ptr %11803, align 4, !tbaa !5
  %11805 = call ptr @s2n_strerror(i32 noundef %11804, ptr noundef @.str.4)
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror_debug(i32 noundef %11807, ptr noundef @.str.4)
  %11809 = call ptr @__errno_location() #11
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @strerror(i32 noundef %11810) #10
  %11812 = call ptr @__errno_location() #11
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11801, ptr noundef @.str.5, i32 noundef %11802, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 804, ptr noundef %11805, ptr noundef %11808, ptr noundef %11811, i32 noundef %11813) #10
  br label %11815

11815:                                            ; preds = %11798, %11781
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #10
  br label %11816

11816:                                            ; preds = %11815
  br label %11817

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

11818:                                            ; No predecessors!
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819, %11761
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822
  %11824 = load i32, ptr @test_count, align 4, !tbaa !5
  %11825 = add nsw i32 %11824, 1
  store i32 %11825, ptr @test_count, align 4, !tbaa !5
  %11826 = load ptr, ptr %242, align 8, !tbaa !9
  %11827 = load ptr, ptr %245, align 8, !tbaa !9
  %11828 = call i32 @s2n_connection_set_config(ptr noundef %11826, ptr noundef %11827)
  %11829 = icmp eq i32 %11828, -1
  br i1 %11829, label %11830, label %11883

11830:                                            ; preds = %11823
  br label %11831

11831:                                            ; preds = %11830
  br label %11832

11832:                                            ; preds = %11831
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #10
  %11833 = call ptr @__errno_location() #11
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  store i32 %11834, ptr %254, align 4, !tbaa !5
  %11835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11836 = call i32 @s2n_print_stacktrace(ptr noundef %11835)
  %11837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11838 = trunc i8 %11837 to i1
  br i1 %11838, label %11839, label %11861

11839:                                            ; preds = %11832
  %11840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11841 = call i32 @fileno(ptr noundef %11840) #10
  %11842 = call i32 @isatty(i32 noundef %11841) #10
  %11843 = icmp ne i32 %11842, 0
  br i1 %11843, label %11844, label %11861

11844:                                            ; preds = %11839
  %11845 = load i32, ptr %254, align 4, !tbaa !5
  %11846 = call ptr @__errno_location() #11
  store i32 %11845, ptr %11846, align 4, !tbaa !5
  %11847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11848 = load i32, ptr @test_count, align 4, !tbaa !5
  %11849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11850 = load i32, ptr %11849, align 4, !tbaa !5
  %11851 = call ptr @s2n_strerror(i32 noundef %11850, ptr noundef @.str.4)
  %11852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11853 = load i32, ptr %11852, align 4, !tbaa !5
  %11854 = call ptr @s2n_strerror_debug(i32 noundef %11853, ptr noundef @.str.4)
  %11855 = call ptr @__errno_location() #11
  %11856 = load i32, ptr %11855, align 4, !tbaa !5
  %11857 = call ptr @strerror(i32 noundef %11856) #10
  %11858 = call ptr @__errno_location() #11
  %11859 = load i32, ptr %11858, align 4, !tbaa !5
  %11860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11847, ptr noundef @.str.2, i32 noundef %11848, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 805, ptr noundef %11851, ptr noundef %11854, ptr noundef %11857, i32 noundef %11859) #10
  br label %11878

11861:                                            ; preds = %11839, %11832
  %11862 = load i32, ptr %254, align 4, !tbaa !5
  %11863 = call ptr @__errno_location() #11
  store i32 %11862, ptr %11863, align 4, !tbaa !5
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11867 = load i32, ptr %11866, align 4, !tbaa !5
  %11868 = call ptr @s2n_strerror(i32 noundef %11867, ptr noundef @.str.4)
  %11869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call ptr @s2n_strerror_debug(i32 noundef %11870, ptr noundef @.str.4)
  %11872 = call ptr @__errno_location() #11
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @strerror(i32 noundef %11873) #10
  %11875 = call ptr @__errno_location() #11
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11864, ptr noundef @.str.5, i32 noundef %11865, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 805, ptr noundef %11868, ptr noundef %11871, ptr noundef %11874, i32 noundef %11876) #10
  br label %11878

11878:                                            ; preds = %11861, %11844
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #10
  br label %11879

11879:                                            ; preds = %11878
  br label %11880

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

11881:                                            ; No predecessors!
  br label %11882

11882:                                            ; preds = %11881
  br label %11883

11883:                                            ; preds = %11882, %11823
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884
  br label %11886

11886:                                            ; preds = %11885
  %11887 = load i32, ptr @test_count, align 4, !tbaa !5
  %11888 = add nsw i32 %11887, 1
  store i32 %11888, ptr @test_count, align 4, !tbaa !5
  %11889 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11889, ptr %243, align 8, !tbaa !9
  %11890 = icmp eq ptr %11889, null
  br i1 %11890, label %11891, label %11944

11891:                                            ; preds = %11886
  br label %11892

11892:                                            ; preds = %11891
  br label %11893

11893:                                            ; preds = %11892
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %11894 = call ptr @__errno_location() #11
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  store i32 %11895, ptr %255, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = call i32 @s2n_print_stacktrace(ptr noundef %11896)
  %11898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11899 = trunc i8 %11898 to i1
  br i1 %11899, label %11900, label %11922

11900:                                            ; preds = %11893
  %11901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11902 = call i32 @fileno(ptr noundef %11901) #10
  %11903 = call i32 @isatty(i32 noundef %11902) #10
  %11904 = icmp ne i32 %11903, 0
  br i1 %11904, label %11905, label %11922

11905:                                            ; preds = %11900
  %11906 = load i32, ptr %255, align 4, !tbaa !5
  %11907 = call ptr @__errno_location() #11
  store i32 %11906, ptr %11907, align 4, !tbaa !5
  %11908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11909 = load i32, ptr @test_count, align 4, !tbaa !5
  %11910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11911 = load i32, ptr %11910, align 4, !tbaa !5
  %11912 = call ptr @s2n_strerror(i32 noundef %11911, ptr noundef @.str.4)
  %11913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  %11915 = call ptr @s2n_strerror_debug(i32 noundef %11914, ptr noundef @.str.4)
  %11916 = call ptr @__errno_location() #11
  %11917 = load i32, ptr %11916, align 4, !tbaa !5
  %11918 = call ptr @strerror(i32 noundef %11917) #10
  %11919 = call ptr @__errno_location() #11
  %11920 = load i32, ptr %11919, align 4, !tbaa !5
  %11921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11908, ptr noundef @.str.2, i32 noundef %11909, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 807, ptr noundef %11912, ptr noundef %11915, ptr noundef %11918, i32 noundef %11920) #10
  br label %11939

11922:                                            ; preds = %11900, %11893
  %11923 = load i32, ptr %255, align 4, !tbaa !5
  %11924 = call ptr @__errno_location() #11
  store i32 %11923, ptr %11924, align 4, !tbaa !5
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = load i32, ptr @test_count, align 4, !tbaa !5
  %11927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror(i32 noundef %11928, ptr noundef @.str.4)
  %11930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11931 = load i32, ptr %11930, align 4, !tbaa !5
  %11932 = call ptr @s2n_strerror_debug(i32 noundef %11931, ptr noundef @.str.4)
  %11933 = call ptr @__errno_location() #11
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call ptr @strerror(i32 noundef %11934) #10
  %11936 = call ptr @__errno_location() #11
  %11937 = load i32, ptr %11936, align 4, !tbaa !5
  %11938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11925, ptr noundef @.str.5, i32 noundef %11926, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 807, ptr noundef %11929, ptr noundef %11932, ptr noundef %11935, i32 noundef %11937) #10
  br label %11939

11939:                                            ; preds = %11922, %11905
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %11940

11940:                                            ; preds = %11939
  br label %11941

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

11942:                                            ; No predecessors!
  br label %11943

11943:                                            ; preds = %11942
  br label %11944

11944:                                            ; preds = %11943, %11886
  br label %11945

11945:                                            ; preds = %11944
  br label %11946

11946:                                            ; preds = %11945
  %11947 = load ptr, ptr %243, align 8, !tbaa !9
  %11948 = getelementptr inbounds %struct.s2n_connection, ptr %11947, i32 0, i32 23
  store i8 33, ptr %11948, align 4, !tbaa !15
  %11949 = load ptr, ptr %243, align 8, !tbaa !9
  %11950 = getelementptr inbounds %struct.s2n_connection, ptr %11949, i32 0, i32 22
  store i8 33, ptr %11950, align 1, !tbaa !42
  %11951 = load ptr, ptr %243, align 8, !tbaa !9
  %11952 = getelementptr inbounds %struct.s2n_connection, ptr %11951, i32 0, i32 21
  store i8 33, ptr %11952, align 2, !tbaa !43
  br label %11953

11953:                                            ; preds = %11946
  %11954 = load i32, ptr @test_count, align 4, !tbaa !5
  %11955 = add nsw i32 %11954, 1
  store i32 %11955, ptr @test_count, align 4, !tbaa !5
  %11956 = load ptr, ptr %242, align 8, !tbaa !9
  %11957 = load ptr, ptr %243, align 8, !tbaa !9
  %11958 = call i32 @s2n_connections_set_io_pair(ptr noundef %11956, ptr noundef %11957, ptr noundef %15)
  %11959 = icmp eq i32 %11958, -1
  br i1 %11959, label %11960, label %12013

11960:                                            ; preds = %11953
  br label %11961

11961:                                            ; preds = %11960
  br label %11962

11962:                                            ; preds = %11961
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #10
  %11963 = call ptr @__errno_location() #11
  %11964 = load i32, ptr %11963, align 4, !tbaa !5
  store i32 %11964, ptr %256, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = call i32 @s2n_print_stacktrace(ptr noundef %11965)
  %11967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11968 = trunc i8 %11967 to i1
  br i1 %11968, label %11969, label %11991

11969:                                            ; preds = %11962
  %11970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11971 = call i32 @fileno(ptr noundef %11970) #10
  %11972 = call i32 @isatty(i32 noundef %11971) #10
  %11973 = icmp ne i32 %11972, 0
  br i1 %11973, label %11974, label %11991

11974:                                            ; preds = %11969
  %11975 = load i32, ptr %256, align 4, !tbaa !5
  %11976 = call ptr @__errno_location() #11
  store i32 %11975, ptr %11976, align 4, !tbaa !5
  %11977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11978 = load i32, ptr @test_count, align 4, !tbaa !5
  %11979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11980 = load i32, ptr %11979, align 4, !tbaa !5
  %11981 = call ptr @s2n_strerror(i32 noundef %11980, ptr noundef @.str.4)
  %11982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11983 = load i32, ptr %11982, align 4, !tbaa !5
  %11984 = call ptr @s2n_strerror_debug(i32 noundef %11983, ptr noundef @.str.4)
  %11985 = call ptr @__errno_location() #11
  %11986 = load i32, ptr %11985, align 4, !tbaa !5
  %11987 = call ptr @strerror(i32 noundef %11986) #10
  %11988 = call ptr @__errno_location() #11
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  %11990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11977, ptr noundef @.str.2, i32 noundef %11978, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 812, ptr noundef %11981, ptr noundef %11984, ptr noundef %11987, i32 noundef %11989) #10
  br label %12008

11991:                                            ; preds = %11969, %11962
  %11992 = load i32, ptr %256, align 4, !tbaa !5
  %11993 = call ptr @__errno_location() #11
  store i32 %11992, ptr %11993, align 4, !tbaa !5
  %11994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11995 = load i32, ptr @test_count, align 4, !tbaa !5
  %11996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11997 = load i32, ptr %11996, align 4, !tbaa !5
  %11998 = call ptr @s2n_strerror(i32 noundef %11997, ptr noundef @.str.4)
  %11999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12000 = load i32, ptr %11999, align 4, !tbaa !5
  %12001 = call ptr @s2n_strerror_debug(i32 noundef %12000, ptr noundef @.str.4)
  %12002 = call ptr @__errno_location() #11
  %12003 = load i32, ptr %12002, align 4, !tbaa !5
  %12004 = call ptr @strerror(i32 noundef %12003) #10
  %12005 = call ptr @__errno_location() #11
  %12006 = load i32, ptr %12005, align 4, !tbaa !5
  %12007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11994, ptr noundef @.str.5, i32 noundef %11995, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 812, ptr noundef %11998, ptr noundef %12001, ptr noundef %12004, i32 noundef %12006) #10
  br label %12008

12008:                                            ; preds = %11991, %11974
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #10
  br label %12009

12009:                                            ; preds = %12008
  br label %12010

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

12011:                                            ; No predecessors!
  br label %12012

12012:                                            ; preds = %12011
  br label %12013

12013:                                            ; preds = %12012, %11953
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014
  br label %12016

12016:                                            ; preds = %12015
  %12017 = load i32, ptr @test_count, align 4, !tbaa !5
  %12018 = add nsw i32 %12017, 1
  store i32 %12018, ptr @test_count, align 4, !tbaa !5
  %12019 = call ptr @s2n_config_new()
  store ptr %12019, ptr %244, align 8, !tbaa !9
  %12020 = icmp eq ptr %12019, null
  br i1 %12020, label %12021, label %12074

12021:                                            ; preds = %12016
  br label %12022

12022:                                            ; preds = %12021
  br label %12023

12023:                                            ; preds = %12022
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %12024 = call ptr @__errno_location() #11
  %12025 = load i32, ptr %12024, align 4, !tbaa !5
  store i32 %12025, ptr %257, align 4, !tbaa !5
  %12026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12027 = call i32 @s2n_print_stacktrace(ptr noundef %12026)
  %12028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12029 = trunc i8 %12028 to i1
  br i1 %12029, label %12030, label %12052

12030:                                            ; preds = %12023
  %12031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12032 = call i32 @fileno(ptr noundef %12031) #10
  %12033 = call i32 @isatty(i32 noundef %12032) #10
  %12034 = icmp ne i32 %12033, 0
  br i1 %12034, label %12035, label %12052

12035:                                            ; preds = %12030
  %12036 = load i32, ptr %257, align 4, !tbaa !5
  %12037 = call ptr @__errno_location() #11
  store i32 %12036, ptr %12037, align 4, !tbaa !5
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = load i32, ptr @test_count, align 4, !tbaa !5
  %12040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  %12042 = call ptr @s2n_strerror(i32 noundef %12041, ptr noundef @.str.4)
  %12043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12044 = load i32, ptr %12043, align 4, !tbaa !5
  %12045 = call ptr @s2n_strerror_debug(i32 noundef %12044, ptr noundef @.str.4)
  %12046 = call ptr @__errno_location() #11
  %12047 = load i32, ptr %12046, align 4, !tbaa !5
  %12048 = call ptr @strerror(i32 noundef %12047) #10
  %12049 = call ptr @__errno_location() #11
  %12050 = load i32, ptr %12049, align 4, !tbaa !5
  %12051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12038, ptr noundef @.str.2, i32 noundef %12039, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 814, ptr noundef %12042, ptr noundef %12045, ptr noundef %12048, i32 noundef %12050) #10
  br label %12069

12052:                                            ; preds = %12030, %12023
  %12053 = load i32, ptr %257, align 4, !tbaa !5
  %12054 = call ptr @__errno_location() #11
  store i32 %12053, ptr %12054, align 4, !tbaa !5
  %12055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12056 = load i32, ptr @test_count, align 4, !tbaa !5
  %12057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12058 = load i32, ptr %12057, align 4, !tbaa !5
  %12059 = call ptr @s2n_strerror(i32 noundef %12058, ptr noundef @.str.4)
  %12060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12061 = load i32, ptr %12060, align 4, !tbaa !5
  %12062 = call ptr @s2n_strerror_debug(i32 noundef %12061, ptr noundef @.str.4)
  %12063 = call ptr @__errno_location() #11
  %12064 = load i32, ptr %12063, align 4, !tbaa !5
  %12065 = call ptr @strerror(i32 noundef %12064) #10
  %12066 = call ptr @__errno_location() #11
  %12067 = load i32, ptr %12066, align 4, !tbaa !5
  %12068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12055, ptr noundef @.str.5, i32 noundef %12056, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 814, ptr noundef %12059, ptr noundef %12062, ptr noundef %12065, i32 noundef %12067) #10
  br label %12069

12069:                                            ; preds = %12052, %12035
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %12070

12070:                                            ; preds = %12069
  br label %12071

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

12072:                                            ; No predecessors!
  br label %12073

12073:                                            ; preds = %12072
  br label %12074

12074:                                            ; preds = %12073, %12016
  br label %12075

12075:                                            ; preds = %12074
  br label %12076

12076:                                            ; preds = %12075
  br label %12077

12077:                                            ; preds = %12076
  %12078 = load i32, ptr @test_count, align 4, !tbaa !5
  %12079 = add nsw i32 %12078, 1
  store i32 %12079, ptr @test_count, align 4, !tbaa !5
  %12080 = load ptr, ptr %6, align 8, !tbaa !9
  %12081 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %12080, i64 noundef 12000)
  %12082 = icmp eq i32 %12081, -1
  br i1 %12082, label %12083, label %12136

12083:                                            ; preds = %12077
  br label %12084

12084:                                            ; preds = %12083
  br label %12085

12085:                                            ; preds = %12084
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %12086 = call ptr @__errno_location() #11
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  store i32 %12087, ptr %258, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @s2n_print_stacktrace(ptr noundef %12088)
  %12090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12091 = trunc i8 %12090 to i1
  br i1 %12091, label %12092, label %12114

12092:                                            ; preds = %12085
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @fileno(ptr noundef %12093) #10
  %12095 = call i32 @isatty(i32 noundef %12094) #10
  %12096 = icmp ne i32 %12095, 0
  br i1 %12096, label %12097, label %12114

12097:                                            ; preds = %12092
  %12098 = load i32, ptr %258, align 4, !tbaa !5
  %12099 = call ptr @__errno_location() #11
  store i32 %12098, ptr %12099, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror(i32 noundef %12103, ptr noundef @.str.4)
  %12105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef @.str.4)
  %12108 = call ptr @__errno_location() #11
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #10
  %12111 = call ptr @__errno_location() #11
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12100, ptr noundef @.str.2, i32 noundef %12101, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 815, ptr noundef %12104, ptr noundef %12107, ptr noundef %12110, i32 noundef %12112) #10
  br label %12131

12114:                                            ; preds = %12092, %12085
  %12115 = load i32, ptr %258, align 4, !tbaa !5
  %12116 = call ptr @__errno_location() #11
  store i32 %12115, ptr %12116, align 4, !tbaa !5
  %12117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12118 = load i32, ptr @test_count, align 4, !tbaa !5
  %12119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @s2n_strerror(i32 noundef %12120, ptr noundef @.str.4)
  %12122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call ptr @s2n_strerror_debug(i32 noundef %12123, ptr noundef @.str.4)
  %12125 = call ptr @__errno_location() #11
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  %12127 = call ptr @strerror(i32 noundef %12126) #10
  %12128 = call ptr @__errno_location() #11
  %12129 = load i32, ptr %12128, align 4, !tbaa !5
  %12130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12117, ptr noundef @.str.5, i32 noundef %12118, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 815, ptr noundef %12121, ptr noundef %12124, ptr noundef %12127, i32 noundef %12129) #10
  br label %12131

12131:                                            ; preds = %12114, %12097
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

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

12134:                                            ; No predecessors!
  br label %12135

12135:                                            ; preds = %12134
  br label %12136

12136:                                            ; preds = %12135, %12077
  br label %12137

12137:                                            ; preds = %12136
  br label %12138

12138:                                            ; preds = %12137
  br label %12139

12139:                                            ; preds = %12138
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = add nsw i32 %12140, 1
  store i32 %12141, ptr @test_count, align 4, !tbaa !5
  %12142 = load ptr, ptr %7, align 8, !tbaa !9
  %12143 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %12142, i64 noundef 12000)
  %12144 = icmp eq i32 %12143, -1
  br i1 %12144, label %12145, label %12198

12145:                                            ; preds = %12139
  br label %12146

12146:                                            ; preds = %12145
  br label %12147

12147:                                            ; preds = %12146
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #10
  %12148 = call ptr @__errno_location() #11
  %12149 = load i32, ptr %12148, align 4, !tbaa !5
  store i32 %12149, ptr %259, align 4, !tbaa !5
  %12150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12151 = call i32 @s2n_print_stacktrace(ptr noundef %12150)
  %12152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12153 = trunc i8 %12152 to i1
  br i1 %12153, label %12154, label %12176

12154:                                            ; preds = %12147
  %12155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12156 = call i32 @fileno(ptr noundef %12155) #10
  %12157 = call i32 @isatty(i32 noundef %12156) #10
  %12158 = icmp ne i32 %12157, 0
  br i1 %12158, label %12159, label %12176

12159:                                            ; preds = %12154
  %12160 = load i32, ptr %259, align 4, !tbaa !5
  %12161 = call ptr @__errno_location() #11
  store i32 %12160, ptr %12161, align 4, !tbaa !5
  %12162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12163 = load i32, ptr @test_count, align 4, !tbaa !5
  %12164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @s2n_strerror(i32 noundef %12165, ptr noundef @.str.4)
  %12167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call ptr @s2n_strerror_debug(i32 noundef %12168, ptr noundef @.str.4)
  %12170 = call ptr @__errno_location() #11
  %12171 = load i32, ptr %12170, align 4, !tbaa !5
  %12172 = call ptr @strerror(i32 noundef %12171) #10
  %12173 = call ptr @__errno_location() #11
  %12174 = load i32, ptr %12173, align 4, !tbaa !5
  %12175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12162, ptr noundef @.str.2, i32 noundef %12163, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 816, ptr noundef %12166, ptr noundef %12169, ptr noundef %12172, i32 noundef %12174) #10
  br label %12193

12176:                                            ; preds = %12154, %12147
  %12177 = load i32, ptr %259, align 4, !tbaa !5
  %12178 = call ptr @__errno_location() #11
  store i32 %12177, ptr %12178, align 4, !tbaa !5
  %12179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12180 = load i32, ptr @test_count, align 4, !tbaa !5
  %12181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call ptr @s2n_strerror(i32 noundef %12182, ptr noundef @.str.4)
  %12184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12185 = load i32, ptr %12184, align 4, !tbaa !5
  %12186 = call ptr @s2n_strerror_debug(i32 noundef %12185, ptr noundef @.str.4)
  %12187 = call ptr @__errno_location() #11
  %12188 = load i32, ptr %12187, align 4, !tbaa !5
  %12189 = call ptr @strerror(i32 noundef %12188) #10
  %12190 = call ptr @__errno_location() #11
  %12191 = load i32, ptr %12190, align 4, !tbaa !5
  %12192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12179, ptr noundef @.str.5, i32 noundef %12180, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 816, ptr noundef %12183, ptr noundef %12186, ptr noundef %12189, i32 noundef %12191) #10
  br label %12193

12193:                                            ; preds = %12176, %12159
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #10
  br label %12194

12194:                                            ; preds = %12193
  br label %12195

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

12196:                                            ; No predecessors!
  br label %12197

12197:                                            ; preds = %12196
  br label %12198

12198:                                            ; preds = %12197, %12139
  br label %12199

12199:                                            ; preds = %12198
  br label %12200

12200:                                            ; preds = %12199
  br label %12201

12201:                                            ; preds = %12200
  %12202 = load i32, ptr @test_count, align 4, !tbaa !5
  %12203 = add nsw i32 %12202, 1
  store i32 %12203, ptr @test_count, align 4, !tbaa !5
  %12204 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %12204, ptr %247, align 8, !tbaa !9
  %12205 = icmp eq ptr %12204, null
  br i1 %12205, label %12206, label %12259

12206:                                            ; preds = %12201
  br label %12207

12207:                                            ; preds = %12206
  br label %12208

12208:                                            ; preds = %12207
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %12209 = call ptr @__errno_location() #11
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  store i32 %12210, ptr %260, align 4, !tbaa !5
  %12211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12212 = call i32 @s2n_print_stacktrace(ptr noundef %12211)
  %12213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12214 = trunc i8 %12213 to i1
  br i1 %12214, label %12215, label %12237

12215:                                            ; preds = %12208
  %12216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12217 = call i32 @fileno(ptr noundef %12216) #10
  %12218 = call i32 @isatty(i32 noundef %12217) #10
  %12219 = icmp ne i32 %12218, 0
  br i1 %12219, label %12220, label %12237

12220:                                            ; preds = %12215
  %12221 = load i32, ptr %260, align 4, !tbaa !5
  %12222 = call ptr @__errno_location() #11
  store i32 %12221, ptr %12222, align 4, !tbaa !5
  %12223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12224 = load i32, ptr @test_count, align 4, !tbaa !5
  %12225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12226 = load i32, ptr %12225, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror(i32 noundef %12226, ptr noundef @.str.4)
  %12228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12229 = load i32, ptr %12228, align 4, !tbaa !5
  %12230 = call ptr @s2n_strerror_debug(i32 noundef %12229, ptr noundef @.str.4)
  %12231 = call ptr @__errno_location() #11
  %12232 = load i32, ptr %12231, align 4, !tbaa !5
  %12233 = call ptr @strerror(i32 noundef %12232) #10
  %12234 = call ptr @__errno_location() #11
  %12235 = load i32, ptr %12234, align 4, !tbaa !5
  %12236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12223, ptr noundef @.str.2, i32 noundef %12224, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 817, ptr noundef %12227, ptr noundef %12230, ptr noundef %12233, i32 noundef %12235) #10
  br label %12254

12237:                                            ; preds = %12215, %12208
  %12238 = load i32, ptr %260, align 4, !tbaa !5
  %12239 = call ptr @__errno_location() #11
  store i32 %12238, ptr %12239, align 4, !tbaa !5
  %12240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12241 = load i32, ptr @test_count, align 4, !tbaa !5
  %12242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12243 = load i32, ptr %12242, align 4, !tbaa !5
  %12244 = call ptr @s2n_strerror(i32 noundef %12243, ptr noundef @.str.4)
  %12245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12246 = load i32, ptr %12245, align 4, !tbaa !5
  %12247 = call ptr @s2n_strerror_debug(i32 noundef %12246, ptr noundef @.str.4)
  %12248 = call ptr @__errno_location() #11
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call ptr @strerror(i32 noundef %12249) #10
  %12251 = call ptr @__errno_location() #11
  %12252 = load i32, ptr %12251, align 4, !tbaa !5
  %12253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12240, ptr noundef @.str.5, i32 noundef %12241, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 817, ptr noundef %12244, ptr noundef %12247, ptr noundef %12250, i32 noundef %12252) #10
  br label %12254

12254:                                            ; preds = %12237, %12220
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %12255

12255:                                            ; preds = %12254
  br label %12256

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

12257:                                            ; No predecessors!
  br label %12258

12258:                                            ; preds = %12257
  br label %12259

12259:                                            ; preds = %12258, %12201
  br label %12260

12260:                                            ; preds = %12259
  br label %12261

12261:                                            ; preds = %12260
  br label %12262

12262:                                            ; preds = %12261
  %12263 = load i32, ptr @test_count, align 4, !tbaa !5
  %12264 = add nsw i32 %12263, 1
  store i32 %12264, ptr @test_count, align 4, !tbaa !5
  %12265 = load ptr, ptr %247, align 8, !tbaa !9
  %12266 = load ptr, ptr %6, align 8, !tbaa !9
  %12267 = load ptr, ptr %7, align 8, !tbaa !9
  %12268 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %12265, ptr noundef %12266, ptr noundef %12267)
  %12269 = icmp eq i32 %12268, -1
  br i1 %12269, label %12270, label %12323

12270:                                            ; preds = %12262
  br label %12271

12271:                                            ; preds = %12270
  br label %12272

12272:                                            ; preds = %12271
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #10
  %12273 = call ptr @__errno_location() #11
  %12274 = load i32, ptr %12273, align 4, !tbaa !5
  store i32 %12274, ptr %261, align 4, !tbaa !5
  %12275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12276 = call i32 @s2n_print_stacktrace(ptr noundef %12275)
  %12277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12278 = trunc i8 %12277 to i1
  br i1 %12278, label %12279, label %12301

12279:                                            ; preds = %12272
  %12280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12281 = call i32 @fileno(ptr noundef %12280) #10
  %12282 = call i32 @isatty(i32 noundef %12281) #10
  %12283 = icmp ne i32 %12282, 0
  br i1 %12283, label %12284, label %12301

12284:                                            ; preds = %12279
  %12285 = load i32, ptr %261, align 4, !tbaa !5
  %12286 = call ptr @__errno_location() #11
  store i32 %12285, ptr %12286, align 4, !tbaa !5
  %12287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12288 = load i32, ptr @test_count, align 4, !tbaa !5
  %12289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror(i32 noundef %12290, ptr noundef @.str.4)
  %12292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12293 = load i32, ptr %12292, align 4, !tbaa !5
  %12294 = call ptr @s2n_strerror_debug(i32 noundef %12293, ptr noundef @.str.4)
  %12295 = call ptr @__errno_location() #11
  %12296 = load i32, ptr %12295, align 4, !tbaa !5
  %12297 = call ptr @strerror(i32 noundef %12296) #10
  %12298 = call ptr @__errno_location() #11
  %12299 = load i32, ptr %12298, align 4, !tbaa !5
  %12300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12287, ptr noundef @.str.2, i32 noundef %12288, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 818, ptr noundef %12291, ptr noundef %12294, ptr noundef %12297, i32 noundef %12299) #10
  br label %12318

12301:                                            ; preds = %12279, %12272
  %12302 = load i32, ptr %261, align 4, !tbaa !5
  %12303 = call ptr @__errno_location() #11
  store i32 %12302, ptr %12303, align 4, !tbaa !5
  %12304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12305 = load i32, ptr @test_count, align 4, !tbaa !5
  %12306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @s2n_strerror(i32 noundef %12307, ptr noundef @.str.4)
  %12309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call ptr @s2n_strerror_debug(i32 noundef %12310, ptr noundef @.str.4)
  %12312 = call ptr @__errno_location() #11
  %12313 = load i32, ptr %12312, align 4, !tbaa !5
  %12314 = call ptr @strerror(i32 noundef %12313) #10
  %12315 = call ptr @__errno_location() #11
  %12316 = load i32, ptr %12315, align 4, !tbaa !5
  %12317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12304, ptr noundef @.str.5, i32 noundef %12305, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 818, ptr noundef %12308, ptr noundef %12311, ptr noundef %12314, i32 noundef %12316) #10
  br label %12318

12318:                                            ; preds = %12301, %12284
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #10
  br label %12319

12319:                                            ; preds = %12318
  br label %12320

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

12321:                                            ; No predecessors!
  br label %12322

12322:                                            ; preds = %12321
  br label %12323

12323:                                            ; preds = %12322, %12262
  br label %12324

12324:                                            ; preds = %12323
  br label %12325

12325:                                            ; preds = %12324
  br label %12326

12326:                                            ; preds = %12325
  %12327 = load i32, ptr @test_count, align 4, !tbaa !5
  %12328 = add nsw i32 %12327, 1
  store i32 %12328, ptr @test_count, align 4, !tbaa !5
  %12329 = load ptr, ptr %244, align 8, !tbaa !9
  %12330 = load ptr, ptr %247, align 8, !tbaa !9
  %12331 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %12329, ptr noundef %12330)
  %12332 = icmp eq i32 %12331, -1
  br i1 %12332, label %12333, label %12386

12333:                                            ; preds = %12326
  br label %12334

12334:                                            ; preds = %12333
  br label %12335

12335:                                            ; preds = %12334
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %12336 = call ptr @__errno_location() #11
  %12337 = load i32, ptr %12336, align 4, !tbaa !5
  store i32 %12337, ptr %262, align 4, !tbaa !5
  %12338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12339 = call i32 @s2n_print_stacktrace(ptr noundef %12338)
  %12340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12341 = trunc i8 %12340 to i1
  br i1 %12341, label %12342, label %12364

12342:                                            ; preds = %12335
  %12343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12344 = call i32 @fileno(ptr noundef %12343) #10
  %12345 = call i32 @isatty(i32 noundef %12344) #10
  %12346 = icmp ne i32 %12345, 0
  br i1 %12346, label %12347, label %12364

12347:                                            ; preds = %12342
  %12348 = load i32, ptr %262, align 4, !tbaa !5
  %12349 = call ptr @__errno_location() #11
  store i32 %12348, ptr %12349, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = load i32, ptr @test_count, align 4, !tbaa !5
  %12352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12353 = load i32, ptr %12352, align 4, !tbaa !5
  %12354 = call ptr @s2n_strerror(i32 noundef %12353, ptr noundef @.str.4)
  %12355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12356 = load i32, ptr %12355, align 4, !tbaa !5
  %12357 = call ptr @s2n_strerror_debug(i32 noundef %12356, ptr noundef @.str.4)
  %12358 = call ptr @__errno_location() #11
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call ptr @strerror(i32 noundef %12359) #10
  %12361 = call ptr @__errno_location() #11
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12350, ptr noundef @.str.2, i32 noundef %12351, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 819, ptr noundef %12354, ptr noundef %12357, ptr noundef %12360, i32 noundef %12362) #10
  br label %12381

12364:                                            ; preds = %12342, %12335
  %12365 = load i32, ptr %262, align 4, !tbaa !5
  %12366 = call ptr @__errno_location() #11
  store i32 %12365, ptr %12366, align 4, !tbaa !5
  %12367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12368 = load i32, ptr @test_count, align 4, !tbaa !5
  %12369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12370 = load i32, ptr %12369, align 4, !tbaa !5
  %12371 = call ptr @s2n_strerror(i32 noundef %12370, ptr noundef @.str.4)
  %12372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12373 = load i32, ptr %12372, align 4, !tbaa !5
  %12374 = call ptr @s2n_strerror_debug(i32 noundef %12373, ptr noundef @.str.4)
  %12375 = call ptr @__errno_location() #11
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call ptr @strerror(i32 noundef %12376) #10
  %12378 = call ptr @__errno_location() #11
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12367, ptr noundef @.str.5, i32 noundef %12368, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 819, ptr noundef %12371, ptr noundef %12374, ptr noundef %12377, i32 noundef %12379) #10
  br label %12381

12381:                                            ; preds = %12364, %12347
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %12382

12382:                                            ; preds = %12381
  br label %12383

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

12384:                                            ; No predecessors!
  br label %12385

12385:                                            ; preds = %12384
  br label %12386

12386:                                            ; preds = %12385, %12326
  br label %12387

12387:                                            ; preds = %12386
  br label %12388

12388:                                            ; preds = %12387
  br label %12389

12389:                                            ; preds = %12388
  %12390 = load i32, ptr @test_count, align 4, !tbaa !5
  %12391 = add nsw i32 %12390, 1
  store i32 %12391, ptr @test_count, align 4, !tbaa !5
  %12392 = load ptr, ptr %243, align 8, !tbaa !9
  %12393 = load ptr, ptr %244, align 8, !tbaa !9
  %12394 = call i32 @s2n_connection_set_config(ptr noundef %12392, ptr noundef %12393)
  %12395 = icmp eq i32 %12394, -1
  br i1 %12395, label %12396, label %12449

12396:                                            ; preds = %12389
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #10
  %12399 = call ptr @__errno_location() #11
  %12400 = load i32, ptr %12399, align 4, !tbaa !5
  store i32 %12400, ptr %263, align 4, !tbaa !5
  %12401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12402 = call i32 @s2n_print_stacktrace(ptr noundef %12401)
  %12403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12404 = trunc i8 %12403 to i1
  br i1 %12404, label %12405, label %12427

12405:                                            ; preds = %12398
  %12406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12407 = call i32 @fileno(ptr noundef %12406) #10
  %12408 = call i32 @isatty(i32 noundef %12407) #10
  %12409 = icmp ne i32 %12408, 0
  br i1 %12409, label %12410, label %12427

12410:                                            ; preds = %12405
  %12411 = load i32, ptr %263, align 4, !tbaa !5
  %12412 = call ptr @__errno_location() #11
  store i32 %12411, ptr %12412, align 4, !tbaa !5
  %12413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12414 = load i32, ptr @test_count, align 4, !tbaa !5
  %12415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12416 = load i32, ptr %12415, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror(i32 noundef %12416, ptr noundef @.str.4)
  %12418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  %12420 = call ptr @s2n_strerror_debug(i32 noundef %12419, ptr noundef @.str.4)
  %12421 = call ptr @__errno_location() #11
  %12422 = load i32, ptr %12421, align 4, !tbaa !5
  %12423 = call ptr @strerror(i32 noundef %12422) #10
  %12424 = call ptr @__errno_location() #11
  %12425 = load i32, ptr %12424, align 4, !tbaa !5
  %12426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12413, ptr noundef @.str.2, i32 noundef %12414, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 820, ptr noundef %12417, ptr noundef %12420, ptr noundef %12423, i32 noundef %12425) #10
  br label %12444

12427:                                            ; preds = %12405, %12398
  %12428 = load i32, ptr %263, align 4, !tbaa !5
  %12429 = call ptr @__errno_location() #11
  store i32 %12428, ptr %12429, align 4, !tbaa !5
  %12430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12431 = load i32, ptr @test_count, align 4, !tbaa !5
  %12432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12433 = load i32, ptr %12432, align 4, !tbaa !5
  %12434 = call ptr @s2n_strerror(i32 noundef %12433, ptr noundef @.str.4)
  %12435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12436 = load i32, ptr %12435, align 4, !tbaa !5
  %12437 = call ptr @s2n_strerror_debug(i32 noundef %12436, ptr noundef @.str.4)
  %12438 = call ptr @__errno_location() #11
  %12439 = load i32, ptr %12438, align 4, !tbaa !5
  %12440 = call ptr @strerror(i32 noundef %12439) #10
  %12441 = call ptr @__errno_location() #11
  %12442 = load i32, ptr %12441, align 4, !tbaa !5
  %12443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12430, ptr noundef @.str.5, i32 noundef %12431, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 820, ptr noundef %12434, ptr noundef %12437, ptr noundef %12440, i32 noundef %12442) #10
  br label %12444

12444:                                            ; preds = %12427, %12410
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #10
  br label %12445

12445:                                            ; preds = %12444
  br label %12446

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

12447:                                            ; No predecessors!
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448, %12389
  br label %12450

12450:                                            ; preds = %12449
  br label %12451

12451:                                            ; preds = %12450
  br label %12452

12452:                                            ; preds = %12451
  %12453 = load i32, ptr @test_count, align 4, !tbaa !5
  %12454 = add nsw i32 %12453, 1
  store i32 %12454, ptr @test_count, align 4, !tbaa !5
  %12455 = load ptr, ptr %243, align 8, !tbaa !9
  %12456 = load ptr, ptr %242, align 8, !tbaa !9
  %12457 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12455, ptr noundef %12456)
  %12458 = icmp eq i32 %12457, -1
  br i1 %12458, label %12459, label %12512

12459:                                            ; preds = %12452
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %12462 = call ptr @__errno_location() #11
  %12463 = load i32, ptr %12462, align 4, !tbaa !5
  store i32 %12463, ptr %264, align 4, !tbaa !5
  %12464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12465 = call i32 @s2n_print_stacktrace(ptr noundef %12464)
  %12466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12467 = trunc i8 %12466 to i1
  br i1 %12467, label %12468, label %12490

12468:                                            ; preds = %12461
  %12469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12470 = call i32 @fileno(ptr noundef %12469) #10
  %12471 = call i32 @isatty(i32 noundef %12470) #10
  %12472 = icmp ne i32 %12471, 0
  br i1 %12472, label %12473, label %12490

12473:                                            ; preds = %12468
  %12474 = load i32, ptr %264, align 4, !tbaa !5
  %12475 = call ptr @__errno_location() #11
  store i32 %12474, ptr %12475, align 4, !tbaa !5
  %12476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12477 = load i32, ptr @test_count, align 4, !tbaa !5
  %12478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12479 = load i32, ptr %12478, align 4, !tbaa !5
  %12480 = call ptr @s2n_strerror(i32 noundef %12479, ptr noundef @.str.4)
  %12481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12482 = load i32, ptr %12481, align 4, !tbaa !5
  %12483 = call ptr @s2n_strerror_debug(i32 noundef %12482, ptr noundef @.str.4)
  %12484 = call ptr @__errno_location() #11
  %12485 = load i32, ptr %12484, align 4, !tbaa !5
  %12486 = call ptr @strerror(i32 noundef %12485) #10
  %12487 = call ptr @__errno_location() #11
  %12488 = load i32, ptr %12487, align 4, !tbaa !5
  %12489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12476, ptr noundef @.str.2, i32 noundef %12477, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 822, ptr noundef %12480, ptr noundef %12483, ptr noundef %12486, i32 noundef %12488) #10
  br label %12507

12490:                                            ; preds = %12468, %12461
  %12491 = load i32, ptr %264, align 4, !tbaa !5
  %12492 = call ptr @__errno_location() #11
  store i32 %12491, ptr %12492, align 4, !tbaa !5
  %12493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12494 = load i32, ptr @test_count, align 4, !tbaa !5
  %12495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12496 = load i32, ptr %12495, align 4, !tbaa !5
  %12497 = call ptr @s2n_strerror(i32 noundef %12496, ptr noundef @.str.4)
  %12498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call ptr @s2n_strerror_debug(i32 noundef %12499, ptr noundef @.str.4)
  %12501 = call ptr @__errno_location() #11
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call ptr @strerror(i32 noundef %12502) #10
  %12504 = call ptr @__errno_location() #11
  %12505 = load i32, ptr %12504, align 4, !tbaa !5
  %12506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12493, ptr noundef @.str.5, i32 noundef %12494, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 822, ptr noundef %12497, ptr noundef %12500, ptr noundef %12503, i32 noundef %12505) #10
  br label %12507

12507:                                            ; preds = %12490, %12473
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %12508

12508:                                            ; preds = %12507
  br label %12509

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

12510:                                            ; No predecessors!
  br label %12511

12511:                                            ; preds = %12510
  br label %12512

12512:                                            ; preds = %12511, %12452
  br label %12513

12513:                                            ; preds = %12512
  br label %12514

12514:                                            ; preds = %12513
  br label %12515

12515:                                            ; preds = %12514
  %12516 = load i32, ptr @test_count, align 4, !tbaa !5
  %12517 = add nsw i32 %12516, 1
  store i32 %12517, ptr @test_count, align 4, !tbaa !5
  %12518 = load ptr, ptr %243, align 8, !tbaa !9
  %12519 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %12518)
  %12520 = icmp eq i32 %12519, 0
  br i1 %12520, label %12574, label %12521

12521:                                            ; preds = %12515
  br label %12522

12522:                                            ; preds = %12521
  br label %12523

12523:                                            ; preds = %12522
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %12524 = call ptr @__errno_location() #11
  %12525 = load i32, ptr %12524, align 4, !tbaa !5
  store i32 %12525, ptr %265, align 4, !tbaa !5
  %12526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12527 = call i32 @s2n_print_stacktrace(ptr noundef %12526)
  %12528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12529 = trunc i8 %12528 to i1
  br i1 %12529, label %12530, label %12552

12530:                                            ; preds = %12523
  %12531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12532 = call i32 @fileno(ptr noundef %12531) #10
  %12533 = call i32 @isatty(i32 noundef %12532) #10
  %12534 = icmp ne i32 %12533, 0
  br i1 %12534, label %12535, label %12552

12535:                                            ; preds = %12530
  %12536 = load i32, ptr %265, align 4, !tbaa !5
  %12537 = call ptr @__errno_location() #11
  store i32 %12536, ptr %12537, align 4, !tbaa !5
  %12538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12539 = load i32, ptr @test_count, align 4, !tbaa !5
  %12540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12541 = load i32, ptr %12540, align 4, !tbaa !5
  %12542 = call ptr @s2n_strerror(i32 noundef %12541, ptr noundef @.str.4)
  %12543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12544 = load i32, ptr %12543, align 4, !tbaa !5
  %12545 = call ptr @s2n_strerror_debug(i32 noundef %12544, ptr noundef @.str.4)
  %12546 = call ptr @__errno_location() #11
  %12547 = load i32, ptr %12546, align 4, !tbaa !5
  %12548 = call ptr @strerror(i32 noundef %12547) #10
  %12549 = call ptr @__errno_location() #11
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12538, ptr noundef @.str.2, i32 noundef %12539, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 825, ptr noundef %12542, ptr noundef %12545, ptr noundef %12548, i32 noundef %12550) #10
  br label %12569

12552:                                            ; preds = %12530, %12523
  %12553 = load i32, ptr %265, align 4, !tbaa !5
  %12554 = call ptr @__errno_location() #11
  store i32 %12553, ptr %12554, align 4, !tbaa !5
  %12555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12556 = load i32, ptr @test_count, align 4, !tbaa !5
  %12557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12558 = load i32, ptr %12557, align 4, !tbaa !5
  %12559 = call ptr @s2n_strerror(i32 noundef %12558, ptr noundef @.str.4)
  %12560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12561 = load i32, ptr %12560, align 4, !tbaa !5
  %12562 = call ptr @s2n_strerror_debug(i32 noundef %12561, ptr noundef @.str.4)
  %12563 = call ptr @__errno_location() #11
  %12564 = load i32, ptr %12563, align 4, !tbaa !5
  %12565 = call ptr @strerror(i32 noundef %12564) #10
  %12566 = call ptr @__errno_location() #11
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12555, ptr noundef @.str.5, i32 noundef %12556, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 825, ptr noundef %12559, ptr noundef %12562, ptr noundef %12565, i32 noundef %12567) #10
  br label %12569

12569:                                            ; preds = %12552, %12535
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %12570

12570:                                            ; preds = %12569
  br label %12571

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

12572:                                            ; No predecessors!
  br label %12573

12573:                                            ; preds = %12572
  br label %12574

12574:                                            ; preds = %12573, %12515
  br label %12575

12575:                                            ; preds = %12574
  br label %12576

12576:                                            ; preds = %12575
  br label %12577

12577:                                            ; preds = %12576
  %12578 = load i32, ptr @test_count, align 4, !tbaa !5
  %12579 = add nsw i32 %12578, 1
  store i32 %12579, ptr @test_count, align 4, !tbaa !5
  %12580 = load ptr, ptr %242, align 8, !tbaa !9
  %12581 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %12580)
  %12582 = icmp eq i32 %12581, 0
  br i1 %12582, label %12636, label %12583

12583:                                            ; preds = %12577
  br label %12584

12584:                                            ; preds = %12583
  br label %12585

12585:                                            ; preds = %12584
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #10
  %12586 = call ptr @__errno_location() #11
  %12587 = load i32, ptr %12586, align 4, !tbaa !5
  store i32 %12587, ptr %266, align 4, !tbaa !5
  %12588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12589 = call i32 @s2n_print_stacktrace(ptr noundef %12588)
  %12590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12591 = trunc i8 %12590 to i1
  br i1 %12591, label %12592, label %12614

12592:                                            ; preds = %12585
  %12593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12594 = call i32 @fileno(ptr noundef %12593) #10
  %12595 = call i32 @isatty(i32 noundef %12594) #10
  %12596 = icmp ne i32 %12595, 0
  br i1 %12596, label %12597, label %12614

12597:                                            ; preds = %12592
  %12598 = load i32, ptr %266, align 4, !tbaa !5
  %12599 = call ptr @__errno_location() #11
  store i32 %12598, ptr %12599, align 4, !tbaa !5
  %12600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12601 = load i32, ptr @test_count, align 4, !tbaa !5
  %12602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12603 = load i32, ptr %12602, align 4, !tbaa !5
  %12604 = call ptr @s2n_strerror(i32 noundef %12603, ptr noundef @.str.4)
  %12605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  %12607 = call ptr @s2n_strerror_debug(i32 noundef %12606, ptr noundef @.str.4)
  %12608 = call ptr @__errno_location() #11
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  %12610 = call ptr @strerror(i32 noundef %12609) #10
  %12611 = call ptr @__errno_location() #11
  %12612 = load i32, ptr %12611, align 4, !tbaa !5
  %12613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12600, ptr noundef @.str.2, i32 noundef %12601, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 828, ptr noundef %12604, ptr noundef %12607, ptr noundef %12610, i32 noundef %12612) #10
  br label %12631

12614:                                            ; preds = %12592, %12585
  %12615 = load i32, ptr %266, align 4, !tbaa !5
  %12616 = call ptr @__errno_location() #11
  store i32 %12615, ptr %12616, align 4, !tbaa !5
  %12617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12618 = load i32, ptr @test_count, align 4, !tbaa !5
  %12619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12620 = load i32, ptr %12619, align 4, !tbaa !5
  %12621 = call ptr @s2n_strerror(i32 noundef %12620, ptr noundef @.str.4)
  %12622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12623 = load i32, ptr %12622, align 4, !tbaa !5
  %12624 = call ptr @s2n_strerror_debug(i32 noundef %12623, ptr noundef @.str.4)
  %12625 = call ptr @__errno_location() #11
  %12626 = load i32, ptr %12625, align 4, !tbaa !5
  %12627 = call ptr @strerror(i32 noundef %12626) #10
  %12628 = call ptr @__errno_location() #11
  %12629 = load i32, ptr %12628, align 4, !tbaa !5
  %12630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12617, ptr noundef @.str.5, i32 noundef %12618, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 828, ptr noundef %12621, ptr noundef %12624, ptr noundef %12627, i32 noundef %12629) #10
  br label %12631

12631:                                            ; preds = %12614, %12597
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #10
  br label %12632

12632:                                            ; preds = %12631
  br label %12633

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

12634:                                            ; No predecessors!
  br label %12635

12635:                                            ; preds = %12634
  br label %12636

12636:                                            ; preds = %12635, %12577
  br label %12637

12637:                                            ; preds = %12636
  br label %12638

12638:                                            ; preds = %12637
  br label %12639

12639:                                            ; preds = %12638
  %12640 = load i32, ptr @test_count, align 4, !tbaa !5
  %12641 = add nsw i32 %12640, 1
  store i32 %12641, ptr @test_count, align 4, !tbaa !5
  %12642 = load ptr, ptr %242, align 8, !tbaa !9
  %12643 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %12642, ptr noundef %246)
  %12644 = icmp eq ptr %12643, null
  br i1 %12644, label %12698, label %12645

12645:                                            ; preds = %12639
  br label %12646

12646:                                            ; preds = %12645
  br label %12647

12647:                                            ; preds = %12646
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #10
  %12648 = call ptr @__errno_location() #11
  %12649 = load i32, ptr %12648, align 4, !tbaa !5
  store i32 %12649, ptr %267, align 4, !tbaa !5
  %12650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12651 = call i32 @s2n_print_stacktrace(ptr noundef %12650)
  %12652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12653 = trunc i8 %12652 to i1
  br i1 %12653, label %12654, label %12676

12654:                                            ; preds = %12647
  %12655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12656 = call i32 @fileno(ptr noundef %12655) #10
  %12657 = call i32 @isatty(i32 noundef %12656) #10
  %12658 = icmp ne i32 %12657, 0
  br i1 %12658, label %12659, label %12676

12659:                                            ; preds = %12654
  %12660 = load i32, ptr %267, align 4, !tbaa !5
  %12661 = call ptr @__errno_location() #11
  store i32 %12660, ptr %12661, align 4, !tbaa !5
  %12662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12663 = load i32, ptr @test_count, align 4, !tbaa !5
  %12664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12665 = load i32, ptr %12664, align 4, !tbaa !5
  %12666 = call ptr @s2n_strerror(i32 noundef %12665, ptr noundef @.str.4)
  %12667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12668 = load i32, ptr %12667, align 4, !tbaa !5
  %12669 = call ptr @s2n_strerror_debug(i32 noundef %12668, ptr noundef @.str.4)
  %12670 = call ptr @__errno_location() #11
  %12671 = load i32, ptr %12670, align 4, !tbaa !5
  %12672 = call ptr @strerror(i32 noundef %12671) #10
  %12673 = call ptr @__errno_location() #11
  %12674 = load i32, ptr %12673, align 4, !tbaa !5
  %12675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12662, ptr noundef @.str.2, i32 noundef %12663, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 829, ptr noundef %12666, ptr noundef %12669, ptr noundef %12672, i32 noundef %12674) #10
  br label %12693

12676:                                            ; preds = %12654, %12647
  %12677 = load i32, ptr %267, align 4, !tbaa !5
  %12678 = call ptr @__errno_location() #11
  store i32 %12677, ptr %12678, align 4, !tbaa !5
  %12679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12680 = load i32, ptr @test_count, align 4, !tbaa !5
  %12681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12682 = load i32, ptr %12681, align 4, !tbaa !5
  %12683 = call ptr @s2n_strerror(i32 noundef %12682, ptr noundef @.str.4)
  %12684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12685 = load i32, ptr %12684, align 4, !tbaa !5
  %12686 = call ptr @s2n_strerror_debug(i32 noundef %12685, ptr noundef @.str.4)
  %12687 = call ptr @__errno_location() #11
  %12688 = load i32, ptr %12687, align 4, !tbaa !5
  %12689 = call ptr @strerror(i32 noundef %12688) #10
  %12690 = call ptr @__errno_location() #11
  %12691 = load i32, ptr %12690, align 4, !tbaa !5
  %12692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12679, ptr noundef @.str.5, i32 noundef %12680, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 829, ptr noundef %12683, ptr noundef %12686, ptr noundef %12689, i32 noundef %12691) #10
  br label %12693

12693:                                            ; preds = %12676, %12659
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #10
  br label %12694

12694:                                            ; preds = %12693
  br label %12695

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

12696:                                            ; No predecessors!
  br label %12697

12697:                                            ; preds = %12696
  br label %12698

12698:                                            ; preds = %12697, %12639
  br label %12699

12699:                                            ; preds = %12698
  br label %12700

12700:                                            ; preds = %12699
  br label %12701

12701:                                            ; preds = %12700
  %12702 = load i32, ptr @test_count, align 4, !tbaa !5
  %12703 = add nsw i32 %12702, 1
  store i32 %12703, ptr @test_count, align 4, !tbaa !5
  %12704 = load i32, ptr %246, align 4, !tbaa !5
  %12705 = icmp eq i32 %12704, 0
  br i1 %12705, label %12759, label %12706

12706:                                            ; preds = %12701
  br label %12707

12707:                                            ; preds = %12706
  br label %12708

12708:                                            ; preds = %12707
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #10
  %12709 = call ptr @__errno_location() #11
  %12710 = load i32, ptr %12709, align 4, !tbaa !5
  store i32 %12710, ptr %268, align 4, !tbaa !5
  %12711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12712 = call i32 @s2n_print_stacktrace(ptr noundef %12711)
  %12713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12714 = trunc i8 %12713 to i1
  br i1 %12714, label %12715, label %12737

12715:                                            ; preds = %12708
  %12716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12717 = call i32 @fileno(ptr noundef %12716) #10
  %12718 = call i32 @isatty(i32 noundef %12717) #10
  %12719 = icmp ne i32 %12718, 0
  br i1 %12719, label %12720, label %12737

12720:                                            ; preds = %12715
  %12721 = load i32, ptr %268, align 4, !tbaa !5
  %12722 = call ptr @__errno_location() #11
  store i32 %12721, ptr %12722, align 4, !tbaa !5
  %12723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12724 = load i32, ptr @test_count, align 4, !tbaa !5
  %12725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12726 = load i32, ptr %12725, align 4, !tbaa !5
  %12727 = call ptr @s2n_strerror(i32 noundef %12726, ptr noundef @.str.4)
  %12728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12729 = load i32, ptr %12728, align 4, !tbaa !5
  %12730 = call ptr @s2n_strerror_debug(i32 noundef %12729, ptr noundef @.str.4)
  %12731 = call ptr @__errno_location() #11
  %12732 = load i32, ptr %12731, align 4, !tbaa !5
  %12733 = call ptr @strerror(i32 noundef %12732) #10
  %12734 = call ptr @__errno_location() #11
  %12735 = load i32, ptr %12734, align 4, !tbaa !5
  %12736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12723, ptr noundef @.str.2, i32 noundef %12724, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 830, ptr noundef %12727, ptr noundef %12730, ptr noundef %12733, i32 noundef %12735) #10
  br label %12754

12737:                                            ; preds = %12715, %12708
  %12738 = load i32, ptr %268, align 4, !tbaa !5
  %12739 = call ptr @__errno_location() #11
  store i32 %12738, ptr %12739, align 4, !tbaa !5
  %12740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12741 = load i32, ptr @test_count, align 4, !tbaa !5
  %12742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12743 = load i32, ptr %12742, align 4, !tbaa !5
  %12744 = call ptr @s2n_strerror(i32 noundef %12743, ptr noundef @.str.4)
  %12745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12746 = load i32, ptr %12745, align 4, !tbaa !5
  %12747 = call ptr @s2n_strerror_debug(i32 noundef %12746, ptr noundef @.str.4)
  %12748 = call ptr @__errno_location() #11
  %12749 = load i32, ptr %12748, align 4, !tbaa !5
  %12750 = call ptr @strerror(i32 noundef %12749) #10
  %12751 = call ptr @__errno_location() #11
  %12752 = load i32, ptr %12751, align 4, !tbaa !5
  %12753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12740, ptr noundef @.str.5, i32 noundef %12741, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 830, ptr noundef %12744, ptr noundef %12747, ptr noundef %12750, i32 noundef %12752) #10
  br label %12754

12754:                                            ; preds = %12737, %12720
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #10
  br label %12755

12755:                                            ; preds = %12754
  br label %12756

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

12757:                                            ; No predecessors!
  br label %12758

12758:                                            ; preds = %12757
  br label %12759

12759:                                            ; preds = %12758, %12701
  br label %12760

12760:                                            ; preds = %12759
  br label %12761

12761:                                            ; preds = %12760
  br label %12762

12762:                                            ; preds = %12761
  %12763 = load i32, ptr @test_count, align 4, !tbaa !5
  %12764 = add nsw i32 %12763, 1
  store i32 %12764, ptr @test_count, align 4, !tbaa !5
  %12765 = load ptr, ptr %243, align 8, !tbaa !9
  %12766 = load ptr, ptr %242, align 8, !tbaa !9
  %12767 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %12765, ptr noundef %12766)
  %12768 = icmp eq i32 %12767, -1
  br i1 %12768, label %12769, label %12822

12769:                                            ; preds = %12762
  br label %12770

12770:                                            ; preds = %12769
  br label %12771

12771:                                            ; preds = %12770
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #10
  %12772 = call ptr @__errno_location() #11
  %12773 = load i32, ptr %12772, align 4, !tbaa !5
  store i32 %12773, ptr %269, align 4, !tbaa !5
  %12774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12775 = call i32 @s2n_print_stacktrace(ptr noundef %12774)
  %12776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12777 = trunc i8 %12776 to i1
  br i1 %12777, label %12778, label %12800

12778:                                            ; preds = %12771
  %12779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12780 = call i32 @fileno(ptr noundef %12779) #10
  %12781 = call i32 @isatty(i32 noundef %12780) #10
  %12782 = icmp ne i32 %12781, 0
  br i1 %12782, label %12783, label %12800

12783:                                            ; preds = %12778
  %12784 = load i32, ptr %269, align 4, !tbaa !5
  %12785 = call ptr @__errno_location() #11
  store i32 %12784, ptr %12785, align 4, !tbaa !5
  %12786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12787 = load i32, ptr @test_count, align 4, !tbaa !5
  %12788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12789 = load i32, ptr %12788, align 4, !tbaa !5
  %12790 = call ptr @s2n_strerror(i32 noundef %12789, ptr noundef @.str.4)
  %12791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12792 = load i32, ptr %12791, align 4, !tbaa !5
  %12793 = call ptr @s2n_strerror_debug(i32 noundef %12792, ptr noundef @.str.4)
  %12794 = call ptr @__errno_location() #11
  %12795 = load i32, ptr %12794, align 4, !tbaa !5
  %12796 = call ptr @strerror(i32 noundef %12795) #10
  %12797 = call ptr @__errno_location() #11
  %12798 = load i32, ptr %12797, align 4, !tbaa !5
  %12799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12786, ptr noundef @.str.2, i32 noundef %12787, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 832, ptr noundef %12790, ptr noundef %12793, ptr noundef %12796, i32 noundef %12798) #10
  br label %12817

12800:                                            ; preds = %12778, %12771
  %12801 = load i32, ptr %269, align 4, !tbaa !5
  %12802 = call ptr @__errno_location() #11
  store i32 %12801, ptr %12802, align 4, !tbaa !5
  %12803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12804 = load i32, ptr @test_count, align 4, !tbaa !5
  %12805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call ptr @s2n_strerror(i32 noundef %12806, ptr noundef @.str.4)
  %12808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call ptr @s2n_strerror_debug(i32 noundef %12809, ptr noundef @.str.4)
  %12811 = call ptr @__errno_location() #11
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call ptr @strerror(i32 noundef %12812) #10
  %12814 = call ptr @__errno_location() #11
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12803, ptr noundef @.str.5, i32 noundef %12804, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 832, ptr noundef %12807, ptr noundef %12810, ptr noundef %12813, i32 noundef %12815) #10
  br label %12817

12817:                                            ; preds = %12800, %12783
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #10
  br label %12818

12818:                                            ; preds = %12817
  br label %12819

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

12820:                                            ; No predecessors!
  br label %12821

12821:                                            ; preds = %12820
  br label %12822

12822:                                            ; preds = %12821, %12762
  br label %12823

12823:                                            ; preds = %12822
  br label %12824

12824:                                            ; preds = %12823
  br label %12825

12825:                                            ; preds = %12824
  %12826 = load i32, ptr @test_count, align 4, !tbaa !5
  %12827 = add nsw i32 %12826, 1
  store i32 %12827, ptr @test_count, align 4, !tbaa !5
  %12828 = load ptr, ptr %243, align 8, !tbaa !9
  %12829 = call i32 @s2n_connection_free(ptr noundef %12828)
  %12830 = icmp eq i32 %12829, -1
  br i1 %12830, label %12831, label %12884

12831:                                            ; preds = %12825
  br label %12832

12832:                                            ; preds = %12831
  br label %12833

12833:                                            ; preds = %12832
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #10
  %12834 = call ptr @__errno_location() #11
  %12835 = load i32, ptr %12834, align 4, !tbaa !5
  store i32 %12835, ptr %270, align 4, !tbaa !5
  %12836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12837 = call i32 @s2n_print_stacktrace(ptr noundef %12836)
  %12838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12839 = trunc i8 %12838 to i1
  br i1 %12839, label %12840, label %12862

12840:                                            ; preds = %12833
  %12841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12842 = call i32 @fileno(ptr noundef %12841) #10
  %12843 = call i32 @isatty(i32 noundef %12842) #10
  %12844 = icmp ne i32 %12843, 0
  br i1 %12844, label %12845, label %12862

12845:                                            ; preds = %12840
  %12846 = load i32, ptr %270, align 4, !tbaa !5
  %12847 = call ptr @__errno_location() #11
  store i32 %12846, ptr %12847, align 4, !tbaa !5
  %12848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12849 = load i32, ptr @test_count, align 4, !tbaa !5
  %12850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12851 = load i32, ptr %12850, align 4, !tbaa !5
  %12852 = call ptr @s2n_strerror(i32 noundef %12851, ptr noundef @.str.4)
  %12853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12854 = load i32, ptr %12853, align 4, !tbaa !5
  %12855 = call ptr @s2n_strerror_debug(i32 noundef %12854, ptr noundef @.str.4)
  %12856 = call ptr @__errno_location() #11
  %12857 = load i32, ptr %12856, align 4, !tbaa !5
  %12858 = call ptr @strerror(i32 noundef %12857) #10
  %12859 = call ptr @__errno_location() #11
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  %12861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12848, ptr noundef @.str.2, i32 noundef %12849, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 834, ptr noundef %12852, ptr noundef %12855, ptr noundef %12858, i32 noundef %12860) #10
  br label %12879

12862:                                            ; preds = %12840, %12833
  %12863 = load i32, ptr %270, align 4, !tbaa !5
  %12864 = call ptr @__errno_location() #11
  store i32 %12863, ptr %12864, align 4, !tbaa !5
  %12865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12866 = load i32, ptr @test_count, align 4, !tbaa !5
  %12867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12868 = load i32, ptr %12867, align 4, !tbaa !5
  %12869 = call ptr @s2n_strerror(i32 noundef %12868, ptr noundef @.str.4)
  %12870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12871 = load i32, ptr %12870, align 4, !tbaa !5
  %12872 = call ptr @s2n_strerror_debug(i32 noundef %12871, ptr noundef @.str.4)
  %12873 = call ptr @__errno_location() #11
  %12874 = load i32, ptr %12873, align 4, !tbaa !5
  %12875 = call ptr @strerror(i32 noundef %12874) #10
  %12876 = call ptr @__errno_location() #11
  %12877 = load i32, ptr %12876, align 4, !tbaa !5
  %12878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12865, ptr noundef @.str.5, i32 noundef %12866, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 834, ptr noundef %12869, ptr noundef %12872, ptr noundef %12875, i32 noundef %12877) #10
  br label %12879

12879:                                            ; preds = %12862, %12845
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #10
  br label %12880

12880:                                            ; preds = %12879
  br label %12881

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

12882:                                            ; No predecessors!
  br label %12883

12883:                                            ; preds = %12882
  br label %12884

12884:                                            ; preds = %12883, %12825
  br label %12885

12885:                                            ; preds = %12884
  br label %12886

12886:                                            ; preds = %12885
  br label %12887

12887:                                            ; preds = %12886
  %12888 = load i32, ptr @test_count, align 4, !tbaa !5
  %12889 = add nsw i32 %12888, 1
  store i32 %12889, ptr @test_count, align 4, !tbaa !5
  %12890 = load ptr, ptr %242, align 8, !tbaa !9
  %12891 = call i32 @s2n_connection_free(ptr noundef %12890)
  %12892 = icmp eq i32 %12891, -1
  br i1 %12892, label %12893, label %12946

12893:                                            ; preds = %12887
  br label %12894

12894:                                            ; preds = %12893
  br label %12895

12895:                                            ; preds = %12894
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #10
  %12896 = call ptr @__errno_location() #11
  %12897 = load i32, ptr %12896, align 4, !tbaa !5
  store i32 %12897, ptr %271, align 4, !tbaa !5
  %12898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12899 = call i32 @s2n_print_stacktrace(ptr noundef %12898)
  %12900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12901 = trunc i8 %12900 to i1
  br i1 %12901, label %12902, label %12924

12902:                                            ; preds = %12895
  %12903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12904 = call i32 @fileno(ptr noundef %12903) #10
  %12905 = call i32 @isatty(i32 noundef %12904) #10
  %12906 = icmp ne i32 %12905, 0
  br i1 %12906, label %12907, label %12924

12907:                                            ; preds = %12902
  %12908 = load i32, ptr %271, align 4, !tbaa !5
  %12909 = call ptr @__errno_location() #11
  store i32 %12908, ptr %12909, align 4, !tbaa !5
  %12910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12911 = load i32, ptr @test_count, align 4, !tbaa !5
  %12912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12913 = load i32, ptr %12912, align 4, !tbaa !5
  %12914 = call ptr @s2n_strerror(i32 noundef %12913, ptr noundef @.str.4)
  %12915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12916 = load i32, ptr %12915, align 4, !tbaa !5
  %12917 = call ptr @s2n_strerror_debug(i32 noundef %12916, ptr noundef @.str.4)
  %12918 = call ptr @__errno_location() #11
  %12919 = load i32, ptr %12918, align 4, !tbaa !5
  %12920 = call ptr @strerror(i32 noundef %12919) #10
  %12921 = call ptr @__errno_location() #11
  %12922 = load i32, ptr %12921, align 4, !tbaa !5
  %12923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12910, ptr noundef @.str.2, i32 noundef %12911, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 835, ptr noundef %12914, ptr noundef %12917, ptr noundef %12920, i32 noundef %12922) #10
  br label %12941

12924:                                            ; preds = %12902, %12895
  %12925 = load i32, ptr %271, align 4, !tbaa !5
  %12926 = call ptr @__errno_location() #11
  store i32 %12925, ptr %12926, align 4, !tbaa !5
  %12927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12928 = load i32, ptr @test_count, align 4, !tbaa !5
  %12929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12930 = load i32, ptr %12929, align 4, !tbaa !5
  %12931 = call ptr @s2n_strerror(i32 noundef %12930, ptr noundef @.str.4)
  %12932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12933 = load i32, ptr %12932, align 4, !tbaa !5
  %12934 = call ptr @s2n_strerror_debug(i32 noundef %12933, ptr noundef @.str.4)
  %12935 = call ptr @__errno_location() #11
  %12936 = load i32, ptr %12935, align 4, !tbaa !5
  %12937 = call ptr @strerror(i32 noundef %12936) #10
  %12938 = call ptr @__errno_location() #11
  %12939 = load i32, ptr %12938, align 4, !tbaa !5
  %12940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12927, ptr noundef @.str.5, i32 noundef %12928, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 835, ptr noundef %12931, ptr noundef %12934, ptr noundef %12937, i32 noundef %12939) #10
  br label %12941

12941:                                            ; preds = %12924, %12907
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #10
  br label %12942

12942:                                            ; preds = %12941
  br label %12943

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

12944:                                            ; No predecessors!
  br label %12945

12945:                                            ; preds = %12944
  br label %12946

12946:                                            ; preds = %12945, %12887
  br label %12947

12947:                                            ; preds = %12946
  br label %12948

12948:                                            ; preds = %12947
  br label %12949

12949:                                            ; preds = %12948
  %12950 = load i32, ptr @test_count, align 4, !tbaa !5
  %12951 = add nsw i32 %12950, 1
  store i32 %12951, ptr @test_count, align 4, !tbaa !5
  %12952 = load ptr, ptr %247, align 8, !tbaa !9
  %12953 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %12952)
  %12954 = icmp eq i32 %12953, -1
  br i1 %12954, label %12955, label %13008

12955:                                            ; preds = %12949
  br label %12956

12956:                                            ; preds = %12955
  br label %12957

12957:                                            ; preds = %12956
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #10
  %12958 = call ptr @__errno_location() #11
  %12959 = load i32, ptr %12958, align 4, !tbaa !5
  store i32 %12959, ptr %272, align 4, !tbaa !5
  %12960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12961 = call i32 @s2n_print_stacktrace(ptr noundef %12960)
  %12962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12963 = trunc i8 %12962 to i1
  br i1 %12963, label %12964, label %12986

12964:                                            ; preds = %12957
  %12965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12966 = call i32 @fileno(ptr noundef %12965) #10
  %12967 = call i32 @isatty(i32 noundef %12966) #10
  %12968 = icmp ne i32 %12967, 0
  br i1 %12968, label %12969, label %12986

12969:                                            ; preds = %12964
  %12970 = load i32, ptr %272, align 4, !tbaa !5
  %12971 = call ptr @__errno_location() #11
  store i32 %12970, ptr %12971, align 4, !tbaa !5
  %12972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12973 = load i32, ptr @test_count, align 4, !tbaa !5
  %12974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12975 = load i32, ptr %12974, align 4, !tbaa !5
  %12976 = call ptr @s2n_strerror(i32 noundef %12975, ptr noundef @.str.4)
  %12977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12978 = load i32, ptr %12977, align 4, !tbaa !5
  %12979 = call ptr @s2n_strerror_debug(i32 noundef %12978, ptr noundef @.str.4)
  %12980 = call ptr @__errno_location() #11
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  %12982 = call ptr @strerror(i32 noundef %12981) #10
  %12983 = call ptr @__errno_location() #11
  %12984 = load i32, ptr %12983, align 4, !tbaa !5
  %12985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12972, ptr noundef @.str.2, i32 noundef %12973, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 837, ptr noundef %12976, ptr noundef %12979, ptr noundef %12982, i32 noundef %12984) #10
  br label %13003

12986:                                            ; preds = %12964, %12957
  %12987 = load i32, ptr %272, align 4, !tbaa !5
  %12988 = call ptr @__errno_location() #11
  store i32 %12987, ptr %12988, align 4, !tbaa !5
  %12989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12990 = load i32, ptr @test_count, align 4, !tbaa !5
  %12991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call ptr @s2n_strerror(i32 noundef %12992, ptr noundef @.str.4)
  %12994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12995 = load i32, ptr %12994, align 4, !tbaa !5
  %12996 = call ptr @s2n_strerror_debug(i32 noundef %12995, ptr noundef @.str.4)
  %12997 = call ptr @__errno_location() #11
  %12998 = load i32, ptr %12997, align 4, !tbaa !5
  %12999 = call ptr @strerror(i32 noundef %12998) #10
  %13000 = call ptr @__errno_location() #11
  %13001 = load i32, ptr %13000, align 4, !tbaa !5
  %13002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12989, ptr noundef @.str.5, i32 noundef %12990, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 837, ptr noundef %12993, ptr noundef %12996, ptr noundef %12999, i32 noundef %13001) #10
  br label %13003

13003:                                            ; preds = %12986, %12969
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #10
  br label %13004

13004:                                            ; preds = %13003
  br label %13005

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

13006:                                            ; No predecessors!
  br label %13007

13007:                                            ; preds = %13006
  br label %13008

13008:                                            ; preds = %13007, %12949
  br label %13009

13009:                                            ; preds = %13008
  br label %13010

13010:                                            ; preds = %13009
  br label %13011

13011:                                            ; preds = %13010
  %13012 = load i32, ptr @test_count, align 4, !tbaa !5
  %13013 = add nsw i32 %13012, 1
  store i32 %13013, ptr @test_count, align 4, !tbaa !5
  %13014 = load ptr, ptr %244, align 8, !tbaa !9
  %13015 = call i32 @s2n_config_free(ptr noundef %13014)
  %13016 = icmp eq i32 %13015, -1
  br i1 %13016, label %13017, label %13070

13017:                                            ; preds = %13011
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #10
  %13020 = call ptr @__errno_location() #11
  %13021 = load i32, ptr %13020, align 4, !tbaa !5
  store i32 %13021, ptr %273, align 4, !tbaa !5
  %13022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13023 = call i32 @s2n_print_stacktrace(ptr noundef %13022)
  %13024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13025 = trunc i8 %13024 to i1
  br i1 %13025, label %13026, label %13048

13026:                                            ; preds = %13019
  %13027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13028 = call i32 @fileno(ptr noundef %13027) #10
  %13029 = call i32 @isatty(i32 noundef %13028) #10
  %13030 = icmp ne i32 %13029, 0
  br i1 %13030, label %13031, label %13048

13031:                                            ; preds = %13026
  %13032 = load i32, ptr %273, align 4, !tbaa !5
  %13033 = call ptr @__errno_location() #11
  store i32 %13032, ptr %13033, align 4, !tbaa !5
  %13034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13035 = load i32, ptr @test_count, align 4, !tbaa !5
  %13036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13037 = load i32, ptr %13036, align 4, !tbaa !5
  %13038 = call ptr @s2n_strerror(i32 noundef %13037, ptr noundef @.str.4)
  %13039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13040 = load i32, ptr %13039, align 4, !tbaa !5
  %13041 = call ptr @s2n_strerror_debug(i32 noundef %13040, ptr noundef @.str.4)
  %13042 = call ptr @__errno_location() #11
  %13043 = load i32, ptr %13042, align 4, !tbaa !5
  %13044 = call ptr @strerror(i32 noundef %13043) #10
  %13045 = call ptr @__errno_location() #11
  %13046 = load i32, ptr %13045, align 4, !tbaa !5
  %13047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13034, ptr noundef @.str.2, i32 noundef %13035, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 839, ptr noundef %13038, ptr noundef %13041, ptr noundef %13044, i32 noundef %13046) #10
  br label %13065

13048:                                            ; preds = %13026, %13019
  %13049 = load i32, ptr %273, align 4, !tbaa !5
  %13050 = call ptr @__errno_location() #11
  store i32 %13049, ptr %13050, align 4, !tbaa !5
  %13051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13052 = load i32, ptr @test_count, align 4, !tbaa !5
  %13053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13054 = load i32, ptr %13053, align 4, !tbaa !5
  %13055 = call ptr @s2n_strerror(i32 noundef %13054, ptr noundef @.str.4)
  %13056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13057 = load i32, ptr %13056, align 4, !tbaa !5
  %13058 = call ptr @s2n_strerror_debug(i32 noundef %13057, ptr noundef @.str.4)
  %13059 = call ptr @__errno_location() #11
  %13060 = load i32, ptr %13059, align 4, !tbaa !5
  %13061 = call ptr @strerror(i32 noundef %13060) #10
  %13062 = call ptr @__errno_location() #11
  %13063 = load i32, ptr %13062, align 4, !tbaa !5
  %13064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13051, ptr noundef @.str.5, i32 noundef %13052, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 839, ptr noundef %13055, ptr noundef %13058, ptr noundef %13061, i32 noundef %13063) #10
  br label %13065

13065:                                            ; preds = %13048, %13031
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #10
  br label %13066

13066:                                            ; preds = %13065
  br label %13067

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

13068:                                            ; No predecessors!
  br label %13069

13069:                                            ; preds = %13068
  br label %13070

13070:                                            ; preds = %13069, %13011
  br label %13071

13071:                                            ; preds = %13070
  br label %13072

13072:                                            ; preds = %13071
  br label %13073

13073:                                            ; preds = %13072
  %13074 = load i32, ptr @test_count, align 4, !tbaa !5
  %13075 = add nsw i32 %13074, 1
  store i32 %13075, ptr @test_count, align 4, !tbaa !5
  %13076 = load ptr, ptr %245, align 8, !tbaa !9
  %13077 = call i32 @s2n_config_free(ptr noundef %13076)
  %13078 = icmp eq i32 %13077, -1
  br i1 %13078, label %13079, label %13132

13079:                                            ; preds = %13073
  br label %13080

13080:                                            ; preds = %13079
  br label %13081

13081:                                            ; preds = %13080
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #10
  %13082 = call ptr @__errno_location() #11
  %13083 = load i32, ptr %13082, align 4, !tbaa !5
  store i32 %13083, ptr %274, align 4, !tbaa !5
  %13084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13085 = call i32 @s2n_print_stacktrace(ptr noundef %13084)
  %13086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13087 = trunc i8 %13086 to i1
  br i1 %13087, label %13088, label %13110

13088:                                            ; preds = %13081
  %13089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13090 = call i32 @fileno(ptr noundef %13089) #10
  %13091 = call i32 @isatty(i32 noundef %13090) #10
  %13092 = icmp ne i32 %13091, 0
  br i1 %13092, label %13093, label %13110

13093:                                            ; preds = %13088
  %13094 = load i32, ptr %274, align 4, !tbaa !5
  %13095 = call ptr @__errno_location() #11
  store i32 %13094, ptr %13095, align 4, !tbaa !5
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = load i32, ptr @test_count, align 4, !tbaa !5
  %13098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13099 = load i32, ptr %13098, align 4, !tbaa !5
  %13100 = call ptr @s2n_strerror(i32 noundef %13099, ptr noundef @.str.4)
  %13101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13102 = load i32, ptr %13101, align 4, !tbaa !5
  %13103 = call ptr @s2n_strerror_debug(i32 noundef %13102, ptr noundef @.str.4)
  %13104 = call ptr @__errno_location() #11
  %13105 = load i32, ptr %13104, align 4, !tbaa !5
  %13106 = call ptr @strerror(i32 noundef %13105) #10
  %13107 = call ptr @__errno_location() #11
  %13108 = load i32, ptr %13107, align 4, !tbaa !5
  %13109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13096, ptr noundef @.str.2, i32 noundef %13097, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 840, ptr noundef %13100, ptr noundef %13103, ptr noundef %13106, i32 noundef %13108) #10
  br label %13127

13110:                                            ; preds = %13088, %13081
  %13111 = load i32, ptr %274, align 4, !tbaa !5
  %13112 = call ptr @__errno_location() #11
  store i32 %13111, ptr %13112, align 4, !tbaa !5
  %13113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13114 = load i32, ptr @test_count, align 4, !tbaa !5
  %13115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13116 = load i32, ptr %13115, align 4, !tbaa !5
  %13117 = call ptr @s2n_strerror(i32 noundef %13116, ptr noundef @.str.4)
  %13118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13119 = load i32, ptr %13118, align 4, !tbaa !5
  %13120 = call ptr @s2n_strerror_debug(i32 noundef %13119, ptr noundef @.str.4)
  %13121 = call ptr @__errno_location() #11
  %13122 = load i32, ptr %13121, align 4, !tbaa !5
  %13123 = call ptr @strerror(i32 noundef %13122) #10
  %13124 = call ptr @__errno_location() #11
  %13125 = load i32, ptr %13124, align 4, !tbaa !5
  %13126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13113, ptr noundef @.str.5, i32 noundef %13114, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 840, ptr noundef %13117, ptr noundef %13120, ptr noundef %13123, i32 noundef %13125) #10
  br label %13127

13127:                                            ; preds = %13110, %13093
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #10
  br label %13128

13128:                                            ; preds = %13127
  br label %13129

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

13130:                                            ; No predecessors!
  br label %13131

13131:                                            ; preds = %13130
  br label %13132

13132:                                            ; preds = %13131, %13073
  br label %13133

13133:                                            ; preds = %13132
  br label %13134

13134:                                            ; preds = %13133
  call void @llvm.lifetime.end.p0(i64 8, ptr %247) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %243) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #10
  br label %13135

13135:                                            ; preds = %13134, %11442
  %13136 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %13137 = icmp ne i8 %13136, 0
  br i1 %13137, label %13138, label %14708

13138:                                            ; preds = %13135
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #10
  store ptr null, ptr %275, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %276) #10
  store ptr null, ptr %276, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #10
  store ptr null, ptr %277, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #10
  store ptr null, ptr %278, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #10
  store ptr null, ptr %279, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #10
  store i32 0, ptr %280, align 4, !tbaa !5
  br label %13139

13139:                                            ; preds = %13138
  %13140 = load i32, ptr @test_count, align 4, !tbaa !5
  %13141 = add nsw i32 %13140, 1
  store i32 %13141, ptr @test_count, align 4, !tbaa !5
  %13142 = call ptr @s2n_config_new()
  store ptr %13142, ptr %278, align 8, !tbaa !9
  %13143 = icmp eq ptr %13142, null
  br i1 %13143, label %13144, label %13197

13144:                                            ; preds = %13139
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #10
  %13147 = call ptr @__errno_location() #11
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  store i32 %13148, ptr %281, align 4, !tbaa !5
  %13149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13150 = call i32 @s2n_print_stacktrace(ptr noundef %13149)
  %13151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13152 = trunc i8 %13151 to i1
  br i1 %13152, label %13153, label %13175

13153:                                            ; preds = %13146
  %13154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13155 = call i32 @fileno(ptr noundef %13154) #10
  %13156 = call i32 @isatty(i32 noundef %13155) #10
  %13157 = icmp ne i32 %13156, 0
  br i1 %13157, label %13158, label %13175

13158:                                            ; preds = %13153
  %13159 = load i32, ptr %281, align 4, !tbaa !5
  %13160 = call ptr @__errno_location() #11
  store i32 %13159, ptr %13160, align 4, !tbaa !5
  %13161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13162 = load i32, ptr @test_count, align 4, !tbaa !5
  %13163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call ptr @s2n_strerror(i32 noundef %13164, ptr noundef @.str.4)
  %13166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13167 = load i32, ptr %13166, align 4, !tbaa !5
  %13168 = call ptr @s2n_strerror_debug(i32 noundef %13167, ptr noundef @.str.4)
  %13169 = call ptr @__errno_location() #11
  %13170 = load i32, ptr %13169, align 4, !tbaa !5
  %13171 = call ptr @strerror(i32 noundef %13170) #10
  %13172 = call ptr @__errno_location() #11
  %13173 = load i32, ptr %13172, align 4, !tbaa !5
  %13174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13161, ptr noundef @.str.2, i32 noundef %13162, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 852, ptr noundef %13165, ptr noundef %13168, ptr noundef %13171, i32 noundef %13173) #10
  br label %13192

13175:                                            ; preds = %13153, %13146
  %13176 = load i32, ptr %281, align 4, !tbaa !5
  %13177 = call ptr @__errno_location() #11
  store i32 %13176, ptr %13177, align 4, !tbaa !5
  %13178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13179 = load i32, ptr @test_count, align 4, !tbaa !5
  %13180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13181 = load i32, ptr %13180, align 4, !tbaa !5
  %13182 = call ptr @s2n_strerror(i32 noundef %13181, ptr noundef @.str.4)
  %13183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13184 = load i32, ptr %13183, align 4, !tbaa !5
  %13185 = call ptr @s2n_strerror_debug(i32 noundef %13184, ptr noundef @.str.4)
  %13186 = call ptr @__errno_location() #11
  %13187 = load i32, ptr %13186, align 4, !tbaa !5
  %13188 = call ptr @strerror(i32 noundef %13187) #10
  %13189 = call ptr @__errno_location() #11
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  %13191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13178, ptr noundef @.str.5, i32 noundef %13179, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 852, ptr noundef %13182, ptr noundef %13185, ptr noundef %13188, i32 noundef %13190) #10
  br label %13192

13192:                                            ; preds = %13175, %13158
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #10
  br label %13193

13193:                                            ; preds = %13192
  br label %13194

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

13195:                                            ; No predecessors!
  br label %13196

13196:                                            ; preds = %13195
  br label %13197

13197:                                            ; preds = %13196, %13139
  br label %13198

13198:                                            ; preds = %13197
  br label %13199

13199:                                            ; preds = %13198
  br label %13200

13200:                                            ; preds = %13199
  %13201 = load i32, ptr @test_count, align 4, !tbaa !5
  %13202 = add nsw i32 %13201, 1
  store i32 %13202, ptr @test_count, align 4, !tbaa !5
  %13203 = load ptr, ptr %278, align 8, !tbaa !9
  %13204 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %13203, i8 noundef zeroext 0)
  %13205 = icmp eq i32 %13204, -1
  br i1 %13205, label %13206, label %13259

13206:                                            ; preds = %13200
  br label %13207

13207:                                            ; preds = %13206
  br label %13208

13208:                                            ; preds = %13207
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #10
  %13209 = call ptr @__errno_location() #11
  %13210 = load i32, ptr %13209, align 4, !tbaa !5
  store i32 %13210, ptr %282, align 4, !tbaa !5
  %13211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13212 = call i32 @s2n_print_stacktrace(ptr noundef %13211)
  %13213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13214 = trunc i8 %13213 to i1
  br i1 %13214, label %13215, label %13237

13215:                                            ; preds = %13208
  %13216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13217 = call i32 @fileno(ptr noundef %13216) #10
  %13218 = call i32 @isatty(i32 noundef %13217) #10
  %13219 = icmp ne i32 %13218, 0
  br i1 %13219, label %13220, label %13237

13220:                                            ; preds = %13215
  %13221 = load i32, ptr %282, align 4, !tbaa !5
  %13222 = call ptr @__errno_location() #11
  store i32 %13221, ptr %13222, align 4, !tbaa !5
  %13223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13224 = load i32, ptr @test_count, align 4, !tbaa !5
  %13225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13226 = load i32, ptr %13225, align 4, !tbaa !5
  %13227 = call ptr @s2n_strerror(i32 noundef %13226, ptr noundef @.str.4)
  %13228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13229 = load i32, ptr %13228, align 4, !tbaa !5
  %13230 = call ptr @s2n_strerror_debug(i32 noundef %13229, ptr noundef @.str.4)
  %13231 = call ptr @__errno_location() #11
  %13232 = load i32, ptr %13231, align 4, !tbaa !5
  %13233 = call ptr @strerror(i32 noundef %13232) #10
  %13234 = call ptr @__errno_location() #11
  %13235 = load i32, ptr %13234, align 4, !tbaa !5
  %13236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13223, ptr noundef @.str.2, i32 noundef %13224, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 853, ptr noundef %13227, ptr noundef %13230, ptr noundef %13233, i32 noundef %13235) #10
  br label %13254

13237:                                            ; preds = %13215, %13208
  %13238 = load i32, ptr %282, align 4, !tbaa !5
  %13239 = call ptr @__errno_location() #11
  store i32 %13238, ptr %13239, align 4, !tbaa !5
  %13240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13241 = load i32, ptr @test_count, align 4, !tbaa !5
  %13242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call ptr @s2n_strerror(i32 noundef %13243, ptr noundef @.str.4)
  %13245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror_debug(i32 noundef %13246, ptr noundef @.str.4)
  %13248 = call ptr @__errno_location() #11
  %13249 = load i32, ptr %13248, align 4, !tbaa !5
  %13250 = call ptr @strerror(i32 noundef %13249) #10
  %13251 = call ptr @__errno_location() #11
  %13252 = load i32, ptr %13251, align 4, !tbaa !5
  %13253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13240, ptr noundef @.str.5, i32 noundef %13241, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 853, ptr noundef %13244, ptr noundef %13247, ptr noundef %13250, i32 noundef %13252) #10
  br label %13254

13254:                                            ; preds = %13237, %13220
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #10
  br label %13255

13255:                                            ; preds = %13254
  br label %13256

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

13257:                                            ; No predecessors!
  br label %13258

13258:                                            ; preds = %13257
  br label %13259

13259:                                            ; preds = %13258, %13200
  br label %13260

13260:                                            ; preds = %13259
  br label %13261

13261:                                            ; preds = %13260
  br label %13262

13262:                                            ; preds = %13261
  %13263 = load i32, ptr @test_count, align 4, !tbaa !5
  %13264 = add nsw i32 %13263, 1
  store i32 %13264, ptr @test_count, align 4, !tbaa !5
  %13265 = load ptr, ptr %278, align 8, !tbaa !9
  %13266 = call i32 @s2n_config_disable_x509_verification(ptr noundef %13265)
  %13267 = icmp eq i32 %13266, -1
  br i1 %13267, label %13268, label %13321

13268:                                            ; preds = %13262
  br label %13269

13269:                                            ; preds = %13268
  br label %13270

13270:                                            ; preds = %13269
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #10
  %13271 = call ptr @__errno_location() #11
  %13272 = load i32, ptr %13271, align 4, !tbaa !5
  store i32 %13272, ptr %283, align 4, !tbaa !5
  %13273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13274 = call i32 @s2n_print_stacktrace(ptr noundef %13273)
  %13275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13276 = trunc i8 %13275 to i1
  br i1 %13276, label %13277, label %13299

13277:                                            ; preds = %13270
  %13278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13279 = call i32 @fileno(ptr noundef %13278) #10
  %13280 = call i32 @isatty(i32 noundef %13279) #10
  %13281 = icmp ne i32 %13280, 0
  br i1 %13281, label %13282, label %13299

13282:                                            ; preds = %13277
  %13283 = load i32, ptr %283, align 4, !tbaa !5
  %13284 = call ptr @__errno_location() #11
  store i32 %13283, ptr %13284, align 4, !tbaa !5
  %13285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13286 = load i32, ptr @test_count, align 4, !tbaa !5
  %13287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13288 = load i32, ptr %13287, align 4, !tbaa !5
  %13289 = call ptr @s2n_strerror(i32 noundef %13288, ptr noundef @.str.4)
  %13290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13291 = load i32, ptr %13290, align 4, !tbaa !5
  %13292 = call ptr @s2n_strerror_debug(i32 noundef %13291, ptr noundef @.str.4)
  %13293 = call ptr @__errno_location() #11
  %13294 = load i32, ptr %13293, align 4, !tbaa !5
  %13295 = call ptr @strerror(i32 noundef %13294) #10
  %13296 = call ptr @__errno_location() #11
  %13297 = load i32, ptr %13296, align 4, !tbaa !5
  %13298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13285, ptr noundef @.str.2, i32 noundef %13286, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 854, ptr noundef %13289, ptr noundef %13292, ptr noundef %13295, i32 noundef %13297) #10
  br label %13316

13299:                                            ; preds = %13277, %13270
  %13300 = load i32, ptr %283, align 4, !tbaa !5
  %13301 = call ptr @__errno_location() #11
  store i32 %13300, ptr %13301, align 4, !tbaa !5
  %13302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13303 = load i32, ptr @test_count, align 4, !tbaa !5
  %13304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13305 = load i32, ptr %13304, align 4, !tbaa !5
  %13306 = call ptr @s2n_strerror(i32 noundef %13305, ptr noundef @.str.4)
  %13307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13308 = load i32, ptr %13307, align 4, !tbaa !5
  %13309 = call ptr @s2n_strerror_debug(i32 noundef %13308, ptr noundef @.str.4)
  %13310 = call ptr @__errno_location() #11
  %13311 = load i32, ptr %13310, align 4, !tbaa !5
  %13312 = call ptr @strerror(i32 noundef %13311) #10
  %13313 = call ptr @__errno_location() #11
  %13314 = load i32, ptr %13313, align 4, !tbaa !5
  %13315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13302, ptr noundef @.str.5, i32 noundef %13303, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 854, ptr noundef %13306, ptr noundef %13309, ptr noundef %13312, i32 noundef %13314) #10
  br label %13316

13316:                                            ; preds = %13299, %13282
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #10
  br label %13317

13317:                                            ; preds = %13316
  br label %13318

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

13319:                                            ; No predecessors!
  br label %13320

13320:                                            ; preds = %13319
  br label %13321

13321:                                            ; preds = %13320, %13262
  br label %13322

13322:                                            ; preds = %13321
  br label %13323

13323:                                            ; preds = %13322
  br label %13324

13324:                                            ; preds = %13323
  %13325 = load i32, ptr @test_count, align 4, !tbaa !5
  %13326 = add nsw i32 %13325, 1
  store i32 %13326, ptr @test_count, align 4, !tbaa !5
  %13327 = load ptr, ptr %278, align 8, !tbaa !9
  %13328 = call i32 @s2n_config_set_status_request_type(ptr noundef %13327, i32 noundef 1)
  %13329 = icmp eq i32 %13328, -1
  br i1 %13329, label %13330, label %13383

13330:                                            ; preds = %13324
  br label %13331

13331:                                            ; preds = %13330
  br label %13332

13332:                                            ; preds = %13331
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #10
  %13333 = call ptr @__errno_location() #11
  %13334 = load i32, ptr %13333, align 4, !tbaa !5
  store i32 %13334, ptr %284, align 4, !tbaa !5
  %13335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13336 = call i32 @s2n_print_stacktrace(ptr noundef %13335)
  %13337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13338 = trunc i8 %13337 to i1
  br i1 %13338, label %13339, label %13361

13339:                                            ; preds = %13332
  %13340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13341 = call i32 @fileno(ptr noundef %13340) #10
  %13342 = call i32 @isatty(i32 noundef %13341) #10
  %13343 = icmp ne i32 %13342, 0
  br i1 %13343, label %13344, label %13361

13344:                                            ; preds = %13339
  %13345 = load i32, ptr %284, align 4, !tbaa !5
  %13346 = call ptr @__errno_location() #11
  store i32 %13345, ptr %13346, align 4, !tbaa !5
  %13347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13348 = load i32, ptr @test_count, align 4, !tbaa !5
  %13349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  %13351 = call ptr @s2n_strerror(i32 noundef %13350, ptr noundef @.str.4)
  %13352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13353 = load i32, ptr %13352, align 4, !tbaa !5
  %13354 = call ptr @s2n_strerror_debug(i32 noundef %13353, ptr noundef @.str.4)
  %13355 = call ptr @__errno_location() #11
  %13356 = load i32, ptr %13355, align 4, !tbaa !5
  %13357 = call ptr @strerror(i32 noundef %13356) #10
  %13358 = call ptr @__errno_location() #11
  %13359 = load i32, ptr %13358, align 4, !tbaa !5
  %13360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13347, ptr noundef @.str.2, i32 noundef %13348, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 855, ptr noundef %13351, ptr noundef %13354, ptr noundef %13357, i32 noundef %13359) #10
  br label %13378

13361:                                            ; preds = %13339, %13332
  %13362 = load i32, ptr %284, align 4, !tbaa !5
  %13363 = call ptr @__errno_location() #11
  store i32 %13362, ptr %13363, align 4, !tbaa !5
  %13364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13365 = load i32, ptr @test_count, align 4, !tbaa !5
  %13366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13367 = load i32, ptr %13366, align 4, !tbaa !5
  %13368 = call ptr @s2n_strerror(i32 noundef %13367, ptr noundef @.str.4)
  %13369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13370 = load i32, ptr %13369, align 4, !tbaa !5
  %13371 = call ptr @s2n_strerror_debug(i32 noundef %13370, ptr noundef @.str.4)
  %13372 = call ptr @__errno_location() #11
  %13373 = load i32, ptr %13372, align 4, !tbaa !5
  %13374 = call ptr @strerror(i32 noundef %13373) #10
  %13375 = call ptr @__errno_location() #11
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  %13377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13364, ptr noundef @.str.5, i32 noundef %13365, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 855, ptr noundef %13368, ptr noundef %13371, ptr noundef %13374, i32 noundef %13376) #10
  br label %13378

13378:                                            ; preds = %13361, %13344
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #10
  br label %13379

13379:                                            ; preds = %13378
  br label %13380

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

13381:                                            ; No predecessors!
  br label %13382

13382:                                            ; preds = %13381
  br label %13383

13383:                                            ; preds = %13382, %13324
  br label %13384

13384:                                            ; preds = %13383
  br label %13385

13385:                                            ; preds = %13384
  br label %13386

13386:                                            ; preds = %13385
  %13387 = load i32, ptr @test_count, align 4, !tbaa !5
  %13388 = add nsw i32 %13387, 1
  store i32 %13388, ptr @test_count, align 4, !tbaa !5
  %13389 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13389, ptr %275, align 8, !tbaa !9
  %13390 = icmp eq ptr %13389, null
  br i1 %13390, label %13391, label %13444

13391:                                            ; preds = %13386
  br label %13392

13392:                                            ; preds = %13391
  br label %13393

13393:                                            ; preds = %13392
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #10
  %13394 = call ptr @__errno_location() #11
  %13395 = load i32, ptr %13394, align 4, !tbaa !5
  store i32 %13395, ptr %285, align 4, !tbaa !5
  %13396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13397 = call i32 @s2n_print_stacktrace(ptr noundef %13396)
  %13398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13399 = trunc i8 %13398 to i1
  br i1 %13399, label %13400, label %13422

13400:                                            ; preds = %13393
  %13401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13402 = call i32 @fileno(ptr noundef %13401) #10
  %13403 = call i32 @isatty(i32 noundef %13402) #10
  %13404 = icmp ne i32 %13403, 0
  br i1 %13404, label %13405, label %13422

13405:                                            ; preds = %13400
  %13406 = load i32, ptr %285, align 4, !tbaa !5
  %13407 = call ptr @__errno_location() #11
  store i32 %13406, ptr %13407, align 4, !tbaa !5
  %13408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13409 = load i32, ptr @test_count, align 4, !tbaa !5
  %13410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13411 = load i32, ptr %13410, align 4, !tbaa !5
  %13412 = call ptr @s2n_strerror(i32 noundef %13411, ptr noundef @.str.4)
  %13413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13414 = load i32, ptr %13413, align 4, !tbaa !5
  %13415 = call ptr @s2n_strerror_debug(i32 noundef %13414, ptr noundef @.str.4)
  %13416 = call ptr @__errno_location() #11
  %13417 = load i32, ptr %13416, align 4, !tbaa !5
  %13418 = call ptr @strerror(i32 noundef %13417) #10
  %13419 = call ptr @__errno_location() #11
  %13420 = load i32, ptr %13419, align 4, !tbaa !5
  %13421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13408, ptr noundef @.str.2, i32 noundef %13409, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 857, ptr noundef %13412, ptr noundef %13415, ptr noundef %13418, i32 noundef %13420) #10
  br label %13439

13422:                                            ; preds = %13400, %13393
  %13423 = load i32, ptr %285, align 4, !tbaa !5
  %13424 = call ptr @__errno_location() #11
  store i32 %13423, ptr %13424, align 4, !tbaa !5
  %13425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13426 = load i32, ptr @test_count, align 4, !tbaa !5
  %13427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13428 = load i32, ptr %13427, align 4, !tbaa !5
  %13429 = call ptr @s2n_strerror(i32 noundef %13428, ptr noundef @.str.4)
  %13430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13431 = load i32, ptr %13430, align 4, !tbaa !5
  %13432 = call ptr @s2n_strerror_debug(i32 noundef %13431, ptr noundef @.str.4)
  %13433 = call ptr @__errno_location() #11
  %13434 = load i32, ptr %13433, align 4, !tbaa !5
  %13435 = call ptr @strerror(i32 noundef %13434) #10
  %13436 = call ptr @__errno_location() #11
  %13437 = load i32, ptr %13436, align 4, !tbaa !5
  %13438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13425, ptr noundef @.str.5, i32 noundef %13426, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 857, ptr noundef %13429, ptr noundef %13432, ptr noundef %13435, i32 noundef %13437) #10
  br label %13439

13439:                                            ; preds = %13422, %13405
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #10
  br label %13440

13440:                                            ; preds = %13439
  br label %13441

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

13442:                                            ; No predecessors!
  br label %13443

13443:                                            ; preds = %13442
  br label %13444

13444:                                            ; preds = %13443, %13386
  br label %13445

13445:                                            ; preds = %13444
  br label %13446

13446:                                            ; preds = %13445
  br label %13447

13447:                                            ; preds = %13446
  %13448 = load i32, ptr @test_count, align 4, !tbaa !5
  %13449 = add nsw i32 %13448, 1
  store i32 %13449, ptr @test_count, align 4, !tbaa !5
  %13450 = load ptr, ptr %275, align 8, !tbaa !9
  %13451 = load ptr, ptr %278, align 8, !tbaa !9
  %13452 = call i32 @s2n_connection_set_config(ptr noundef %13450, ptr noundef %13451)
  %13453 = icmp eq i32 %13452, -1
  br i1 %13453, label %13454, label %13507

13454:                                            ; preds = %13447
  br label %13455

13455:                                            ; preds = %13454
  br label %13456

13456:                                            ; preds = %13455
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #10
  %13457 = call ptr @__errno_location() #11
  %13458 = load i32, ptr %13457, align 4, !tbaa !5
  store i32 %13458, ptr %286, align 4, !tbaa !5
  %13459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13460 = call i32 @s2n_print_stacktrace(ptr noundef %13459)
  %13461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13462 = trunc i8 %13461 to i1
  br i1 %13462, label %13463, label %13485

13463:                                            ; preds = %13456
  %13464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13465 = call i32 @fileno(ptr noundef %13464) #10
  %13466 = call i32 @isatty(i32 noundef %13465) #10
  %13467 = icmp ne i32 %13466, 0
  br i1 %13467, label %13468, label %13485

13468:                                            ; preds = %13463
  %13469 = load i32, ptr %286, align 4, !tbaa !5
  %13470 = call ptr @__errno_location() #11
  store i32 %13469, ptr %13470, align 4, !tbaa !5
  %13471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13472 = load i32, ptr @test_count, align 4, !tbaa !5
  %13473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13474 = load i32, ptr %13473, align 4, !tbaa !5
  %13475 = call ptr @s2n_strerror(i32 noundef %13474, ptr noundef @.str.4)
  %13476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  %13478 = call ptr @s2n_strerror_debug(i32 noundef %13477, ptr noundef @.str.4)
  %13479 = call ptr @__errno_location() #11
  %13480 = load i32, ptr %13479, align 4, !tbaa !5
  %13481 = call ptr @strerror(i32 noundef %13480) #10
  %13482 = call ptr @__errno_location() #11
  %13483 = load i32, ptr %13482, align 4, !tbaa !5
  %13484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13471, ptr noundef @.str.2, i32 noundef %13472, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 858, ptr noundef %13475, ptr noundef %13478, ptr noundef %13481, i32 noundef %13483) #10
  br label %13502

13485:                                            ; preds = %13463, %13456
  %13486 = load i32, ptr %286, align 4, !tbaa !5
  %13487 = call ptr @__errno_location() #11
  store i32 %13486, ptr %13487, align 4, !tbaa !5
  %13488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13489 = load i32, ptr @test_count, align 4, !tbaa !5
  %13490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13491 = load i32, ptr %13490, align 4, !tbaa !5
  %13492 = call ptr @s2n_strerror(i32 noundef %13491, ptr noundef @.str.4)
  %13493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13494 = load i32, ptr %13493, align 4, !tbaa !5
  %13495 = call ptr @s2n_strerror_debug(i32 noundef %13494, ptr noundef @.str.4)
  %13496 = call ptr @__errno_location() #11
  %13497 = load i32, ptr %13496, align 4, !tbaa !5
  %13498 = call ptr @strerror(i32 noundef %13497) #10
  %13499 = call ptr @__errno_location() #11
  %13500 = load i32, ptr %13499, align 4, !tbaa !5
  %13501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13488, ptr noundef @.str.5, i32 noundef %13489, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 858, ptr noundef %13492, ptr noundef %13495, ptr noundef %13498, i32 noundef %13500) #10
  br label %13502

13502:                                            ; preds = %13485, %13468
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #10
  br label %13503

13503:                                            ; preds = %13502
  br label %13504

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

13505:                                            ; No predecessors!
  br label %13506

13506:                                            ; preds = %13505
  br label %13507

13507:                                            ; preds = %13506, %13447
  br label %13508

13508:                                            ; preds = %13507
  br label %13509

13509:                                            ; preds = %13508
  br label %13510

13510:                                            ; preds = %13509
  %13511 = load i32, ptr @test_count, align 4, !tbaa !5
  %13512 = add nsw i32 %13511, 1
  store i32 %13512, ptr @test_count, align 4, !tbaa !5
  %13513 = call ptr @s2n_config_new()
  store ptr %13513, ptr %277, align 8, !tbaa !9
  %13514 = icmp eq ptr %13513, null
  br i1 %13514, label %13515, label %13568

13515:                                            ; preds = %13510
  br label %13516

13516:                                            ; preds = %13515
  br label %13517

13517:                                            ; preds = %13516
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #10
  %13518 = call ptr @__errno_location() #11
  %13519 = load i32, ptr %13518, align 4, !tbaa !5
  store i32 %13519, ptr %287, align 4, !tbaa !5
  %13520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13521 = call i32 @s2n_print_stacktrace(ptr noundef %13520)
  %13522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13523 = trunc i8 %13522 to i1
  br i1 %13523, label %13524, label %13546

13524:                                            ; preds = %13517
  %13525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13526 = call i32 @fileno(ptr noundef %13525) #10
  %13527 = call i32 @isatty(i32 noundef %13526) #10
  %13528 = icmp ne i32 %13527, 0
  br i1 %13528, label %13529, label %13546

13529:                                            ; preds = %13524
  %13530 = load i32, ptr %287, align 4, !tbaa !5
  %13531 = call ptr @__errno_location() #11
  store i32 %13530, ptr %13531, align 4, !tbaa !5
  %13532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13533 = load i32, ptr @test_count, align 4, !tbaa !5
  %13534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13535 = load i32, ptr %13534, align 4, !tbaa !5
  %13536 = call ptr @s2n_strerror(i32 noundef %13535, ptr noundef @.str.4)
  %13537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13538 = load i32, ptr %13537, align 4, !tbaa !5
  %13539 = call ptr @s2n_strerror_debug(i32 noundef %13538, ptr noundef @.str.4)
  %13540 = call ptr @__errno_location() #11
  %13541 = load i32, ptr %13540, align 4, !tbaa !5
  %13542 = call ptr @strerror(i32 noundef %13541) #10
  %13543 = call ptr @__errno_location() #11
  %13544 = load i32, ptr %13543, align 4, !tbaa !5
  %13545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13532, ptr noundef @.str.2, i32 noundef %13533, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 860, ptr noundef %13536, ptr noundef %13539, ptr noundef %13542, i32 noundef %13544) #10
  br label %13563

13546:                                            ; preds = %13524, %13517
  %13547 = load i32, ptr %287, align 4, !tbaa !5
  %13548 = call ptr @__errno_location() #11
  store i32 %13547, ptr %13548, align 4, !tbaa !5
  %13549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13550 = load i32, ptr @test_count, align 4, !tbaa !5
  %13551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13552 = load i32, ptr %13551, align 4, !tbaa !5
  %13553 = call ptr @s2n_strerror(i32 noundef %13552, ptr noundef @.str.4)
  %13554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13555 = load i32, ptr %13554, align 4, !tbaa !5
  %13556 = call ptr @s2n_strerror_debug(i32 noundef %13555, ptr noundef @.str.4)
  %13557 = call ptr @__errno_location() #11
  %13558 = load i32, ptr %13557, align 4, !tbaa !5
  %13559 = call ptr @strerror(i32 noundef %13558) #10
  %13560 = call ptr @__errno_location() #11
  %13561 = load i32, ptr %13560, align 4, !tbaa !5
  %13562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13549, ptr noundef @.str.5, i32 noundef %13550, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 860, ptr noundef %13553, ptr noundef %13556, ptr noundef %13559, i32 noundef %13561) #10
  br label %13563

13563:                                            ; preds = %13546, %13529
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #10
  br label %13564

13564:                                            ; preds = %13563
  br label %13565

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

13566:                                            ; No predecessors!
  br label %13567

13567:                                            ; preds = %13566
  br label %13568

13568:                                            ; preds = %13567, %13510
  br label %13569

13569:                                            ; preds = %13568
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570
  %13572 = load i32, ptr @test_count, align 4, !tbaa !5
  %13573 = add nsw i32 %13572, 1
  store i32 %13573, ptr @test_count, align 4, !tbaa !5
  %13574 = load ptr, ptr %6, align 8, !tbaa !9
  %13575 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %13574, i64 noundef 12000)
  %13576 = icmp eq i32 %13575, -1
  br i1 %13576, label %13577, label %13630

13577:                                            ; preds = %13571
  br label %13578

13578:                                            ; preds = %13577
  br label %13579

13579:                                            ; preds = %13578
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #10
  %13580 = call ptr @__errno_location() #11
  %13581 = load i32, ptr %13580, align 4, !tbaa !5
  store i32 %13581, ptr %288, align 4, !tbaa !5
  %13582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13583 = call i32 @s2n_print_stacktrace(ptr noundef %13582)
  %13584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13585 = trunc i8 %13584 to i1
  br i1 %13585, label %13586, label %13608

13586:                                            ; preds = %13579
  %13587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13588 = call i32 @fileno(ptr noundef %13587) #10
  %13589 = call i32 @isatty(i32 noundef %13588) #10
  %13590 = icmp ne i32 %13589, 0
  br i1 %13590, label %13591, label %13608

13591:                                            ; preds = %13586
  %13592 = load i32, ptr %288, align 4, !tbaa !5
  %13593 = call ptr @__errno_location() #11
  store i32 %13592, ptr %13593, align 4, !tbaa !5
  %13594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13595 = load i32, ptr @test_count, align 4, !tbaa !5
  %13596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13597 = load i32, ptr %13596, align 4, !tbaa !5
  %13598 = call ptr @s2n_strerror(i32 noundef %13597, ptr noundef @.str.4)
  %13599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13600 = load i32, ptr %13599, align 4, !tbaa !5
  %13601 = call ptr @s2n_strerror_debug(i32 noundef %13600, ptr noundef @.str.4)
  %13602 = call ptr @__errno_location() #11
  %13603 = load i32, ptr %13602, align 4, !tbaa !5
  %13604 = call ptr @strerror(i32 noundef %13603) #10
  %13605 = call ptr @__errno_location() #11
  %13606 = load i32, ptr %13605, align 4, !tbaa !5
  %13607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13594, ptr noundef @.str.2, i32 noundef %13595, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 861, ptr noundef %13598, ptr noundef %13601, ptr noundef %13604, i32 noundef %13606) #10
  br label %13625

13608:                                            ; preds = %13586, %13579
  %13609 = load i32, ptr %288, align 4, !tbaa !5
  %13610 = call ptr @__errno_location() #11
  store i32 %13609, ptr %13610, align 4, !tbaa !5
  %13611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13612 = load i32, ptr @test_count, align 4, !tbaa !5
  %13613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13614 = load i32, ptr %13613, align 4, !tbaa !5
  %13615 = call ptr @s2n_strerror(i32 noundef %13614, ptr noundef @.str.4)
  %13616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13617 = load i32, ptr %13616, align 4, !tbaa !5
  %13618 = call ptr @s2n_strerror_debug(i32 noundef %13617, ptr noundef @.str.4)
  %13619 = call ptr @__errno_location() #11
  %13620 = load i32, ptr %13619, align 4, !tbaa !5
  %13621 = call ptr @strerror(i32 noundef %13620) #10
  %13622 = call ptr @__errno_location() #11
  %13623 = load i32, ptr %13622, align 4, !tbaa !5
  %13624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13611, ptr noundef @.str.5, i32 noundef %13612, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 861, ptr noundef %13615, ptr noundef %13618, ptr noundef %13621, i32 noundef %13623) #10
  br label %13625

13625:                                            ; preds = %13608, %13591
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #10
  br label %13626

13626:                                            ; preds = %13625
  br label %13627

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

13628:                                            ; No predecessors!
  br label %13629

13629:                                            ; preds = %13628
  br label %13630

13630:                                            ; preds = %13629, %13571
  br label %13631

13631:                                            ; preds = %13630
  br label %13632

13632:                                            ; preds = %13631
  br label %13633

13633:                                            ; preds = %13632
  %13634 = load i32, ptr @test_count, align 4, !tbaa !5
  %13635 = add nsw i32 %13634, 1
  store i32 %13635, ptr @test_count, align 4, !tbaa !5
  %13636 = load ptr, ptr %7, align 8, !tbaa !9
  %13637 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %13636, i64 noundef 12000)
  %13638 = icmp eq i32 %13637, -1
  br i1 %13638, label %13639, label %13692

13639:                                            ; preds = %13633
  br label %13640

13640:                                            ; preds = %13639
  br label %13641

13641:                                            ; preds = %13640
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #10
  %13642 = call ptr @__errno_location() #11
  %13643 = load i32, ptr %13642, align 4, !tbaa !5
  store i32 %13643, ptr %289, align 4, !tbaa !5
  %13644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13645 = call i32 @s2n_print_stacktrace(ptr noundef %13644)
  %13646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13647 = trunc i8 %13646 to i1
  br i1 %13647, label %13648, label %13670

13648:                                            ; preds = %13641
  %13649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13650 = call i32 @fileno(ptr noundef %13649) #10
  %13651 = call i32 @isatty(i32 noundef %13650) #10
  %13652 = icmp ne i32 %13651, 0
  br i1 %13652, label %13653, label %13670

13653:                                            ; preds = %13648
  %13654 = load i32, ptr %289, align 4, !tbaa !5
  %13655 = call ptr @__errno_location() #11
  store i32 %13654, ptr %13655, align 4, !tbaa !5
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = load i32, ptr @test_count, align 4, !tbaa !5
  %13658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13659 = load i32, ptr %13658, align 4, !tbaa !5
  %13660 = call ptr @s2n_strerror(i32 noundef %13659, ptr noundef @.str.4)
  %13661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13662 = load i32, ptr %13661, align 4, !tbaa !5
  %13663 = call ptr @s2n_strerror_debug(i32 noundef %13662, ptr noundef @.str.4)
  %13664 = call ptr @__errno_location() #11
  %13665 = load i32, ptr %13664, align 4, !tbaa !5
  %13666 = call ptr @strerror(i32 noundef %13665) #10
  %13667 = call ptr @__errno_location() #11
  %13668 = load i32, ptr %13667, align 4, !tbaa !5
  %13669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13656, ptr noundef @.str.2, i32 noundef %13657, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 862, ptr noundef %13660, ptr noundef %13663, ptr noundef %13666, i32 noundef %13668) #10
  br label %13687

13670:                                            ; preds = %13648, %13641
  %13671 = load i32, ptr %289, align 4, !tbaa !5
  %13672 = call ptr @__errno_location() #11
  store i32 %13671, ptr %13672, align 4, !tbaa !5
  %13673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13674 = load i32, ptr @test_count, align 4, !tbaa !5
  %13675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13676 = load i32, ptr %13675, align 4, !tbaa !5
  %13677 = call ptr @s2n_strerror(i32 noundef %13676, ptr noundef @.str.4)
  %13678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  %13680 = call ptr @s2n_strerror_debug(i32 noundef %13679, ptr noundef @.str.4)
  %13681 = call ptr @__errno_location() #11
  %13682 = load i32, ptr %13681, align 4, !tbaa !5
  %13683 = call ptr @strerror(i32 noundef %13682) #10
  %13684 = call ptr @__errno_location() #11
  %13685 = load i32, ptr %13684, align 4, !tbaa !5
  %13686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13673, ptr noundef @.str.5, i32 noundef %13674, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 862, ptr noundef %13677, ptr noundef %13680, ptr noundef %13683, i32 noundef %13685) #10
  br label %13687

13687:                                            ; preds = %13670, %13653
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #10
  br label %13688

13688:                                            ; preds = %13687
  br label %13689

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

13690:                                            ; No predecessors!
  br label %13691

13691:                                            ; preds = %13690
  br label %13692

13692:                                            ; preds = %13691, %13633
  br label %13693

13693:                                            ; preds = %13692
  br label %13694

13694:                                            ; preds = %13693
  br label %13695

13695:                                            ; preds = %13694
  %13696 = load i32, ptr @test_count, align 4, !tbaa !5
  %13697 = add nsw i32 %13696, 1
  store i32 %13697, ptr @test_count, align 4, !tbaa !5
  %13698 = load ptr, ptr %277, align 8, !tbaa !9
  %13699 = load ptr, ptr %6, align 8, !tbaa !9
  %13700 = load ptr, ptr %7, align 8, !tbaa !9
  %13701 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %13698, ptr noundef %13699, ptr noundef %13700)
  %13702 = icmp eq i32 %13701, -1
  br i1 %13702, label %13703, label %13756

13703:                                            ; preds = %13695
  br label %13704

13704:                                            ; preds = %13703
  br label %13705

13705:                                            ; preds = %13704
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #10
  %13706 = call ptr @__errno_location() #11
  %13707 = load i32, ptr %13706, align 4, !tbaa !5
  store i32 %13707, ptr %290, align 4, !tbaa !5
  %13708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13709 = call i32 @s2n_print_stacktrace(ptr noundef %13708)
  %13710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13711 = trunc i8 %13710 to i1
  br i1 %13711, label %13712, label %13734

13712:                                            ; preds = %13705
  %13713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13714 = call i32 @fileno(ptr noundef %13713) #10
  %13715 = call i32 @isatty(i32 noundef %13714) #10
  %13716 = icmp ne i32 %13715, 0
  br i1 %13716, label %13717, label %13734

13717:                                            ; preds = %13712
  %13718 = load i32, ptr %290, align 4, !tbaa !5
  %13719 = call ptr @__errno_location() #11
  store i32 %13718, ptr %13719, align 4, !tbaa !5
  %13720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13721 = load i32, ptr @test_count, align 4, !tbaa !5
  %13722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13723 = load i32, ptr %13722, align 4, !tbaa !5
  %13724 = call ptr @s2n_strerror(i32 noundef %13723, ptr noundef @.str.4)
  %13725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13726 = load i32, ptr %13725, align 4, !tbaa !5
  %13727 = call ptr @s2n_strerror_debug(i32 noundef %13726, ptr noundef @.str.4)
  %13728 = call ptr @__errno_location() #11
  %13729 = load i32, ptr %13728, align 4, !tbaa !5
  %13730 = call ptr @strerror(i32 noundef %13729) #10
  %13731 = call ptr @__errno_location() #11
  %13732 = load i32, ptr %13731, align 4, !tbaa !5
  %13733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13720, ptr noundef @.str.2, i32 noundef %13721, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 863, ptr noundef %13724, ptr noundef %13727, ptr noundef %13730, i32 noundef %13732) #10
  br label %13751

13734:                                            ; preds = %13712, %13705
  %13735 = load i32, ptr %290, align 4, !tbaa !5
  %13736 = call ptr @__errno_location() #11
  store i32 %13735, ptr %13736, align 4, !tbaa !5
  %13737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13738 = load i32, ptr @test_count, align 4, !tbaa !5
  %13739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13740 = load i32, ptr %13739, align 4, !tbaa !5
  %13741 = call ptr @s2n_strerror(i32 noundef %13740, ptr noundef @.str.4)
  %13742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13743 = load i32, ptr %13742, align 4, !tbaa !5
  %13744 = call ptr @s2n_strerror_debug(i32 noundef %13743, ptr noundef @.str.4)
  %13745 = call ptr @__errno_location() #11
  %13746 = load i32, ptr %13745, align 4, !tbaa !5
  %13747 = call ptr @strerror(i32 noundef %13746) #10
  %13748 = call ptr @__errno_location() #11
  %13749 = load i32, ptr %13748, align 4, !tbaa !5
  %13750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13737, ptr noundef @.str.5, i32 noundef %13738, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 863, ptr noundef %13741, ptr noundef %13744, ptr noundef %13747, i32 noundef %13749) #10
  br label %13751

13751:                                            ; preds = %13734, %13717
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #10
  br label %13752

13752:                                            ; preds = %13751
  br label %13753

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

13754:                                            ; No predecessors!
  br label %13755

13755:                                            ; preds = %13754
  br label %13756

13756:                                            ; preds = %13755, %13695
  br label %13757

13757:                                            ; preds = %13756
  br label %13758

13758:                                            ; preds = %13757
  br label %13759

13759:                                            ; preds = %13758
  %13760 = load i32, ptr @test_count, align 4, !tbaa !5
  %13761 = add nsw i32 %13760, 1
  store i32 %13761, ptr @test_count, align 4, !tbaa !5
  %13762 = load ptr, ptr %277, align 8, !tbaa !9
  %13763 = call i32 @s2n_config_set_extension_data(ptr noundef %13762, i32 noundef 5, ptr noundef @server_ocsp_status_bytes, i32 noundef 1609)
  %13764 = icmp eq i32 %13763, -1
  br i1 %13764, label %13765, label %13818

13765:                                            ; preds = %13759
  br label %13766

13766:                                            ; preds = %13765
  br label %13767

13767:                                            ; preds = %13766
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #10
  %13768 = call ptr @__errno_location() #11
  %13769 = load i32, ptr %13768, align 4, !tbaa !5
  store i32 %13769, ptr %291, align 4, !tbaa !5
  %13770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13771 = call i32 @s2n_print_stacktrace(ptr noundef %13770)
  %13772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13773 = trunc i8 %13772 to i1
  br i1 %13773, label %13774, label %13796

13774:                                            ; preds = %13767
  %13775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13776 = call i32 @fileno(ptr noundef %13775) #10
  %13777 = call i32 @isatty(i32 noundef %13776) #10
  %13778 = icmp ne i32 %13777, 0
  br i1 %13778, label %13779, label %13796

13779:                                            ; preds = %13774
  %13780 = load i32, ptr %291, align 4, !tbaa !5
  %13781 = call ptr @__errno_location() #11
  store i32 %13780, ptr %13781, align 4, !tbaa !5
  %13782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13783 = load i32, ptr @test_count, align 4, !tbaa !5
  %13784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13785 = load i32, ptr %13784, align 4, !tbaa !5
  %13786 = call ptr @s2n_strerror(i32 noundef %13785, ptr noundef @.str.4)
  %13787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13788 = load i32, ptr %13787, align 4, !tbaa !5
  %13789 = call ptr @s2n_strerror_debug(i32 noundef %13788, ptr noundef @.str.4)
  %13790 = call ptr @__errno_location() #11
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  %13792 = call ptr @strerror(i32 noundef %13791) #10
  %13793 = call ptr @__errno_location() #11
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  %13795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13782, ptr noundef @.str.2, i32 noundef %13783, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 865, ptr noundef %13786, ptr noundef %13789, ptr noundef %13792, i32 noundef %13794) #10
  br label %13813

13796:                                            ; preds = %13774, %13767
  %13797 = load i32, ptr %291, align 4, !tbaa !5
  %13798 = call ptr @__errno_location() #11
  store i32 %13797, ptr %13798, align 4, !tbaa !5
  %13799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13800 = load i32, ptr @test_count, align 4, !tbaa !5
  %13801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13802 = load i32, ptr %13801, align 4, !tbaa !5
  %13803 = call ptr @s2n_strerror(i32 noundef %13802, ptr noundef @.str.4)
  %13804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13805 = load i32, ptr %13804, align 4, !tbaa !5
  %13806 = call ptr @s2n_strerror_debug(i32 noundef %13805, ptr noundef @.str.4)
  %13807 = call ptr @__errno_location() #11
  %13808 = load i32, ptr %13807, align 4, !tbaa !5
  %13809 = call ptr @strerror(i32 noundef %13808) #10
  %13810 = call ptr @__errno_location() #11
  %13811 = load i32, ptr %13810, align 4, !tbaa !5
  %13812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13799, ptr noundef @.str.5, i32 noundef %13800, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 865, ptr noundef %13803, ptr noundef %13806, ptr noundef %13809, i32 noundef %13811) #10
  br label %13813

13813:                                            ; preds = %13796, %13779
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #10
  br label %13814

13814:                                            ; preds = %13813
  br label %13815

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

13816:                                            ; No predecessors!
  br label %13817

13817:                                            ; preds = %13816
  br label %13818

13818:                                            ; preds = %13817, %13759
  br label %13819

13819:                                            ; preds = %13818
  br label %13820

13820:                                            ; preds = %13819
  br label %13821

13821:                                            ; preds = %13820
  %13822 = load i32, ptr @test_count, align 4, !tbaa !5
  %13823 = add nsw i32 %13822, 1
  store i32 %13823, ptr @test_count, align 4, !tbaa !5
  %13824 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %13824, ptr %276, align 8, !tbaa !9
  %13825 = icmp eq ptr %13824, null
  br i1 %13825, label %13826, label %13879

13826:                                            ; preds = %13821
  br label %13827

13827:                                            ; preds = %13826
  br label %13828

13828:                                            ; preds = %13827
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #10
  %13829 = call ptr @__errno_location() #11
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  store i32 %13830, ptr %292, align 4, !tbaa !5
  %13831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13832 = call i32 @s2n_print_stacktrace(ptr noundef %13831)
  %13833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13834 = trunc i8 %13833 to i1
  br i1 %13834, label %13835, label %13857

13835:                                            ; preds = %13828
  %13836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13837 = call i32 @fileno(ptr noundef %13836) #10
  %13838 = call i32 @isatty(i32 noundef %13837) #10
  %13839 = icmp ne i32 %13838, 0
  br i1 %13839, label %13840, label %13857

13840:                                            ; preds = %13835
  %13841 = load i32, ptr %292, align 4, !tbaa !5
  %13842 = call ptr @__errno_location() #11
  store i32 %13841, ptr %13842, align 4, !tbaa !5
  %13843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13844 = load i32, ptr @test_count, align 4, !tbaa !5
  %13845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13846 = load i32, ptr %13845, align 4, !tbaa !5
  %13847 = call ptr @s2n_strerror(i32 noundef %13846, ptr noundef @.str.4)
  %13848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13849 = load i32, ptr %13848, align 4, !tbaa !5
  %13850 = call ptr @s2n_strerror_debug(i32 noundef %13849, ptr noundef @.str.4)
  %13851 = call ptr @__errno_location() #11
  %13852 = load i32, ptr %13851, align 4, !tbaa !5
  %13853 = call ptr @strerror(i32 noundef %13852) #10
  %13854 = call ptr @__errno_location() #11
  %13855 = load i32, ptr %13854, align 4, !tbaa !5
  %13856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13843, ptr noundef @.str.2, i32 noundef %13844, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 867, ptr noundef %13847, ptr noundef %13850, ptr noundef %13853, i32 noundef %13855) #10
  br label %13874

13857:                                            ; preds = %13835, %13828
  %13858 = load i32, ptr %292, align 4, !tbaa !5
  %13859 = call ptr @__errno_location() #11
  store i32 %13858, ptr %13859, align 4, !tbaa !5
  %13860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13861 = load i32, ptr @test_count, align 4, !tbaa !5
  %13862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13863 = load i32, ptr %13862, align 4, !tbaa !5
  %13864 = call ptr @s2n_strerror(i32 noundef %13863, ptr noundef @.str.4)
  %13865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13866 = load i32, ptr %13865, align 4, !tbaa !5
  %13867 = call ptr @s2n_strerror_debug(i32 noundef %13866, ptr noundef @.str.4)
  %13868 = call ptr @__errno_location() #11
  %13869 = load i32, ptr %13868, align 4, !tbaa !5
  %13870 = call ptr @strerror(i32 noundef %13869) #10
  %13871 = call ptr @__errno_location() #11
  %13872 = load i32, ptr %13871, align 4, !tbaa !5
  %13873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13860, ptr noundef @.str.5, i32 noundef %13861, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 867, ptr noundef %13864, ptr noundef %13867, ptr noundef %13870, i32 noundef %13872) #10
  br label %13874

13874:                                            ; preds = %13857, %13840
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #10
  br label %13875

13875:                                            ; preds = %13874
  br label %13876

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

13877:                                            ; No predecessors!
  br label %13878

13878:                                            ; preds = %13877
  br label %13879

13879:                                            ; preds = %13878, %13821
  br label %13880

13880:                                            ; preds = %13879
  br label %13881

13881:                                            ; preds = %13880
  br label %13882

13882:                                            ; preds = %13881
  %13883 = load i32, ptr @test_count, align 4, !tbaa !5
  %13884 = add nsw i32 %13883, 1
  store i32 %13884, ptr @test_count, align 4, !tbaa !5
  %13885 = load ptr, ptr %276, align 8, !tbaa !9
  %13886 = load ptr, ptr %277, align 8, !tbaa !9
  %13887 = call i32 @s2n_connection_set_config(ptr noundef %13885, ptr noundef %13886)
  %13888 = icmp eq i32 %13887, -1
  br i1 %13888, label %13889, label %13942

13889:                                            ; preds = %13882
  br label %13890

13890:                                            ; preds = %13889
  br label %13891

13891:                                            ; preds = %13890
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #10
  %13892 = call ptr @__errno_location() #11
  %13893 = load i32, ptr %13892, align 4, !tbaa !5
  store i32 %13893, ptr %293, align 4, !tbaa !5
  %13894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13895 = call i32 @s2n_print_stacktrace(ptr noundef %13894)
  %13896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13897 = trunc i8 %13896 to i1
  br i1 %13897, label %13898, label %13920

13898:                                            ; preds = %13891
  %13899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13900 = call i32 @fileno(ptr noundef %13899) #10
  %13901 = call i32 @isatty(i32 noundef %13900) #10
  %13902 = icmp ne i32 %13901, 0
  br i1 %13902, label %13903, label %13920

13903:                                            ; preds = %13898
  %13904 = load i32, ptr %293, align 4, !tbaa !5
  %13905 = call ptr @__errno_location() #11
  store i32 %13904, ptr %13905, align 4, !tbaa !5
  %13906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13907 = load i32, ptr @test_count, align 4, !tbaa !5
  %13908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13909 = load i32, ptr %13908, align 4, !tbaa !5
  %13910 = call ptr @s2n_strerror(i32 noundef %13909, ptr noundef @.str.4)
  %13911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13912 = load i32, ptr %13911, align 4, !tbaa !5
  %13913 = call ptr @s2n_strerror_debug(i32 noundef %13912, ptr noundef @.str.4)
  %13914 = call ptr @__errno_location() #11
  %13915 = load i32, ptr %13914, align 4, !tbaa !5
  %13916 = call ptr @strerror(i32 noundef %13915) #10
  %13917 = call ptr @__errno_location() #11
  %13918 = load i32, ptr %13917, align 4, !tbaa !5
  %13919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13906, ptr noundef @.str.2, i32 noundef %13907, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 868, ptr noundef %13910, ptr noundef %13913, ptr noundef %13916, i32 noundef %13918) #10
  br label %13937

13920:                                            ; preds = %13898, %13891
  %13921 = load i32, ptr %293, align 4, !tbaa !5
  %13922 = call ptr @__errno_location() #11
  store i32 %13921, ptr %13922, align 4, !tbaa !5
  %13923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13924 = load i32, ptr @test_count, align 4, !tbaa !5
  %13925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13926 = load i32, ptr %13925, align 4, !tbaa !5
  %13927 = call ptr @s2n_strerror(i32 noundef %13926, ptr noundef @.str.4)
  %13928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13929 = load i32, ptr %13928, align 4, !tbaa !5
  %13930 = call ptr @s2n_strerror_debug(i32 noundef %13929, ptr noundef @.str.4)
  %13931 = call ptr @__errno_location() #11
  %13932 = load i32, ptr %13931, align 4, !tbaa !5
  %13933 = call ptr @strerror(i32 noundef %13932) #10
  %13934 = call ptr @__errno_location() #11
  %13935 = load i32, ptr %13934, align 4, !tbaa !5
  %13936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13923, ptr noundef @.str.5, i32 noundef %13924, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 868, ptr noundef %13927, ptr noundef %13930, ptr noundef %13933, i32 noundef %13935) #10
  br label %13937

13937:                                            ; preds = %13920, %13903
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #10
  br label %13938

13938:                                            ; preds = %13937
  br label %13939

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

13940:                                            ; No predecessors!
  br label %13941

13941:                                            ; preds = %13940
  br label %13942

13942:                                            ; preds = %13941, %13882
  br label %13943

13943:                                            ; preds = %13942
  br label %13944

13944:                                            ; preds = %13943
  br label %13945

13945:                                            ; preds = %13944
  %13946 = load i32, ptr @test_count, align 4, !tbaa !5
  %13947 = add nsw i32 %13946, 1
  store i32 %13947, ptr @test_count, align 4, !tbaa !5
  %13948 = load ptr, ptr %275, align 8, !tbaa !9
  %13949 = load ptr, ptr %276, align 8, !tbaa !9
  %13950 = call i32 @s2n_connections_set_io_pair(ptr noundef %13948, ptr noundef %13949, ptr noundef %15)
  %13951 = icmp eq i32 %13950, -1
  br i1 %13951, label %13952, label %14005

13952:                                            ; preds = %13945
  br label %13953

13953:                                            ; preds = %13952
  br label %13954

13954:                                            ; preds = %13953
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #10
  %13955 = call ptr @__errno_location() #11
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  store i32 %13956, ptr %294, align 4, !tbaa !5
  %13957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13958 = call i32 @s2n_print_stacktrace(ptr noundef %13957)
  %13959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13960 = trunc i8 %13959 to i1
  br i1 %13960, label %13961, label %13983

13961:                                            ; preds = %13954
  %13962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13963 = call i32 @fileno(ptr noundef %13962) #10
  %13964 = call i32 @isatty(i32 noundef %13963) #10
  %13965 = icmp ne i32 %13964, 0
  br i1 %13965, label %13966, label %13983

13966:                                            ; preds = %13961
  %13967 = load i32, ptr %294, align 4, !tbaa !5
  %13968 = call ptr @__errno_location() #11
  store i32 %13967, ptr %13968, align 4, !tbaa !5
  %13969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13970 = load i32, ptr @test_count, align 4, !tbaa !5
  %13971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13972 = load i32, ptr %13971, align 4, !tbaa !5
  %13973 = call ptr @s2n_strerror(i32 noundef %13972, ptr noundef @.str.4)
  %13974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13975 = load i32, ptr %13974, align 4, !tbaa !5
  %13976 = call ptr @s2n_strerror_debug(i32 noundef %13975, ptr noundef @.str.4)
  %13977 = call ptr @__errno_location() #11
  %13978 = load i32, ptr %13977, align 4, !tbaa !5
  %13979 = call ptr @strerror(i32 noundef %13978) #10
  %13980 = call ptr @__errno_location() #11
  %13981 = load i32, ptr %13980, align 4, !tbaa !5
  %13982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13969, ptr noundef @.str.2, i32 noundef %13970, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 870, ptr noundef %13973, ptr noundef %13976, ptr noundef %13979, i32 noundef %13981) #10
  br label %14000

13983:                                            ; preds = %13961, %13954
  %13984 = load i32, ptr %294, align 4, !tbaa !5
  %13985 = call ptr @__errno_location() #11
  store i32 %13984, ptr %13985, align 4, !tbaa !5
  %13986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13987 = load i32, ptr @test_count, align 4, !tbaa !5
  %13988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13989 = load i32, ptr %13988, align 4, !tbaa !5
  %13990 = call ptr @s2n_strerror(i32 noundef %13989, ptr noundef @.str.4)
  %13991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13992 = load i32, ptr %13991, align 4, !tbaa !5
  %13993 = call ptr @s2n_strerror_debug(i32 noundef %13992, ptr noundef @.str.4)
  %13994 = call ptr @__errno_location() #11
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  %13996 = call ptr @strerror(i32 noundef %13995) #10
  %13997 = call ptr @__errno_location() #11
  %13998 = load i32, ptr %13997, align 4, !tbaa !5
  %13999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13986, ptr noundef @.str.5, i32 noundef %13987, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 870, ptr noundef %13990, ptr noundef %13993, ptr noundef %13996, i32 noundef %13998) #10
  br label %14000

14000:                                            ; preds = %13983, %13966
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #10
  br label %14001

14001:                                            ; preds = %14000
  br label %14002

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

14003:                                            ; No predecessors!
  br label %14004

14004:                                            ; preds = %14003
  br label %14005

14005:                                            ; preds = %14004, %13945
  br label %14006

14006:                                            ; preds = %14005
  br label %14007

14007:                                            ; preds = %14006
  br label %14008

14008:                                            ; preds = %14007
  %14009 = load i32, ptr @test_count, align 4, !tbaa !5
  %14010 = add nsw i32 %14009, 1
  store i32 %14010, ptr @test_count, align 4, !tbaa !5
  %14011 = load ptr, ptr %276, align 8, !tbaa !9
  %14012 = load ptr, ptr %275, align 8, !tbaa !9
  %14013 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %14011, ptr noundef %14012)
  %14014 = icmp eq i32 %14013, -1
  br i1 %14014, label %14015, label %14068

14015:                                            ; preds = %14008
  br label %14016

14016:                                            ; preds = %14015
  br label %14017

14017:                                            ; preds = %14016
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #10
  %14018 = call ptr @__errno_location() #11
  %14019 = load i32, ptr %14018, align 4, !tbaa !5
  store i32 %14019, ptr %295, align 4, !tbaa !5
  %14020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14021 = call i32 @s2n_print_stacktrace(ptr noundef %14020)
  %14022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14023 = trunc i8 %14022 to i1
  br i1 %14023, label %14024, label %14046

14024:                                            ; preds = %14017
  %14025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14026 = call i32 @fileno(ptr noundef %14025) #10
  %14027 = call i32 @isatty(i32 noundef %14026) #10
  %14028 = icmp ne i32 %14027, 0
  br i1 %14028, label %14029, label %14046

14029:                                            ; preds = %14024
  %14030 = load i32, ptr %295, align 4, !tbaa !5
  %14031 = call ptr @__errno_location() #11
  store i32 %14030, ptr %14031, align 4, !tbaa !5
  %14032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14033 = load i32, ptr @test_count, align 4, !tbaa !5
  %14034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14035 = load i32, ptr %14034, align 4, !tbaa !5
  %14036 = call ptr @s2n_strerror(i32 noundef %14035, ptr noundef @.str.4)
  %14037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14038 = load i32, ptr %14037, align 4, !tbaa !5
  %14039 = call ptr @s2n_strerror_debug(i32 noundef %14038, ptr noundef @.str.4)
  %14040 = call ptr @__errno_location() #11
  %14041 = load i32, ptr %14040, align 4, !tbaa !5
  %14042 = call ptr @strerror(i32 noundef %14041) #10
  %14043 = call ptr @__errno_location() #11
  %14044 = load i32, ptr %14043, align 4, !tbaa !5
  %14045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14032, ptr noundef @.str.2, i32 noundef %14033, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 872, ptr noundef %14036, ptr noundef %14039, ptr noundef %14042, i32 noundef %14044) #10
  br label %14063

14046:                                            ; preds = %14024, %14017
  %14047 = load i32, ptr %295, align 4, !tbaa !5
  %14048 = call ptr @__errno_location() #11
  store i32 %14047, ptr %14048, align 4, !tbaa !5
  %14049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14050 = load i32, ptr @test_count, align 4, !tbaa !5
  %14051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14052 = load i32, ptr %14051, align 4, !tbaa !5
  %14053 = call ptr @s2n_strerror(i32 noundef %14052, ptr noundef @.str.4)
  %14054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14055 = load i32, ptr %14054, align 4, !tbaa !5
  %14056 = call ptr @s2n_strerror_debug(i32 noundef %14055, ptr noundef @.str.4)
  %14057 = call ptr @__errno_location() #11
  %14058 = load i32, ptr %14057, align 4, !tbaa !5
  %14059 = call ptr @strerror(i32 noundef %14058) #10
  %14060 = call ptr @__errno_location() #11
  %14061 = load i32, ptr %14060, align 4, !tbaa !5
  %14062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14049, ptr noundef @.str.5, i32 noundef %14050, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 872, ptr noundef %14053, ptr noundef %14056, ptr noundef %14059, i32 noundef %14061) #10
  br label %14063

14063:                                            ; preds = %14046, %14029
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #10
  br label %14064

14064:                                            ; preds = %14063
  br label %14065

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

14066:                                            ; No predecessors!
  br label %14067

14067:                                            ; preds = %14066
  br label %14068

14068:                                            ; preds = %14067, %14008
  br label %14069

14069:                                            ; preds = %14068
  br label %14070

14070:                                            ; preds = %14069
  br label %14071

14071:                                            ; preds = %14070
  %14072 = load i32, ptr @test_count, align 4, !tbaa !5
  %14073 = add nsw i32 %14072, 1
  store i32 %14073, ptr @test_count, align 4, !tbaa !5
  %14074 = load ptr, ptr %276, align 8, !tbaa !9
  %14075 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %14074)
  %14076 = icmp eq i32 %14075, 1
  br i1 %14076, label %14130, label %14077

14077:                                            ; preds = %14071
  br label %14078

14078:                                            ; preds = %14077
  br label %14079

14079:                                            ; preds = %14078
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #10
  %14080 = call ptr @__errno_location() #11
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  store i32 %14081, ptr %296, align 4, !tbaa !5
  %14082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14083 = call i32 @s2n_print_stacktrace(ptr noundef %14082)
  %14084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14085 = trunc i8 %14084 to i1
  br i1 %14085, label %14086, label %14108

14086:                                            ; preds = %14079
  %14087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14088 = call i32 @fileno(ptr noundef %14087) #10
  %14089 = call i32 @isatty(i32 noundef %14088) #10
  %14090 = icmp ne i32 %14089, 0
  br i1 %14090, label %14091, label %14108

14091:                                            ; preds = %14086
  %14092 = load i32, ptr %296, align 4, !tbaa !5
  %14093 = call ptr @__errno_location() #11
  store i32 %14092, ptr %14093, align 4, !tbaa !5
  %14094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14095 = load i32, ptr @test_count, align 4, !tbaa !5
  %14096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14097 = load i32, ptr %14096, align 4, !tbaa !5
  %14098 = call ptr @s2n_strerror(i32 noundef %14097, ptr noundef @.str.4)
  %14099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  %14101 = call ptr @s2n_strerror_debug(i32 noundef %14100, ptr noundef @.str.4)
  %14102 = call ptr @__errno_location() #11
  %14103 = load i32, ptr %14102, align 4, !tbaa !5
  %14104 = call ptr @strerror(i32 noundef %14103) #10
  %14105 = call ptr @__errno_location() #11
  %14106 = load i32, ptr %14105, align 4, !tbaa !5
  %14107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14094, ptr noundef @.str.2, i32 noundef %14095, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 875, ptr noundef %14098, ptr noundef %14101, ptr noundef %14104, i32 noundef %14106) #10
  br label %14125

14108:                                            ; preds = %14086, %14079
  %14109 = load i32, ptr %296, align 4, !tbaa !5
  %14110 = call ptr @__errno_location() #11
  store i32 %14109, ptr %14110, align 4, !tbaa !5
  %14111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14112 = load i32, ptr @test_count, align 4, !tbaa !5
  %14113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14114 = load i32, ptr %14113, align 4, !tbaa !5
  %14115 = call ptr @s2n_strerror(i32 noundef %14114, ptr noundef @.str.4)
  %14116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14117 = load i32, ptr %14116, align 4, !tbaa !5
  %14118 = call ptr @s2n_strerror_debug(i32 noundef %14117, ptr noundef @.str.4)
  %14119 = call ptr @__errno_location() #11
  %14120 = load i32, ptr %14119, align 4, !tbaa !5
  %14121 = call ptr @strerror(i32 noundef %14120) #10
  %14122 = call ptr @__errno_location() #11
  %14123 = load i32, ptr %14122, align 4, !tbaa !5
  %14124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14111, ptr noundef @.str.5, i32 noundef %14112, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 875, ptr noundef %14115, ptr noundef %14118, ptr noundef %14121, i32 noundef %14123) #10
  br label %14125

14125:                                            ; preds = %14108, %14091
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #10
  br label %14126

14126:                                            ; preds = %14125
  br label %14127

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

14128:                                            ; No predecessors!
  br label %14129

14129:                                            ; preds = %14128
  br label %14130

14130:                                            ; preds = %14129, %14071
  br label %14131

14131:                                            ; preds = %14130
  br label %14132

14132:                                            ; preds = %14131
  br label %14133

14133:                                            ; preds = %14132
  %14134 = load i32, ptr @test_count, align 4, !tbaa !5
  %14135 = add nsw i32 %14134, 1
  store i32 %14135, ptr @test_count, align 4, !tbaa !5
  %14136 = load ptr, ptr %275, align 8, !tbaa !9
  %14137 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %14136)
  %14138 = icmp eq i32 %14137, 1
  br i1 %14138, label %14192, label %14139

14139:                                            ; preds = %14133
  br label %14140

14140:                                            ; preds = %14139
  br label %14141

14141:                                            ; preds = %14140
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #10
  %14142 = call ptr @__errno_location() #11
  %14143 = load i32, ptr %14142, align 4, !tbaa !5
  store i32 %14143, ptr %297, align 4, !tbaa !5
  %14144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14145 = call i32 @s2n_print_stacktrace(ptr noundef %14144)
  %14146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14147 = trunc i8 %14146 to i1
  br i1 %14147, label %14148, label %14170

14148:                                            ; preds = %14141
  %14149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14150 = call i32 @fileno(ptr noundef %14149) #10
  %14151 = call i32 @isatty(i32 noundef %14150) #10
  %14152 = icmp ne i32 %14151, 0
  br i1 %14152, label %14153, label %14170

14153:                                            ; preds = %14148
  %14154 = load i32, ptr %297, align 4, !tbaa !5
  %14155 = call ptr @__errno_location() #11
  store i32 %14154, ptr %14155, align 4, !tbaa !5
  %14156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14157 = load i32, ptr @test_count, align 4, !tbaa !5
  %14158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14159 = load i32, ptr %14158, align 4, !tbaa !5
  %14160 = call ptr @s2n_strerror(i32 noundef %14159, ptr noundef @.str.4)
  %14161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14162 = load i32, ptr %14161, align 4, !tbaa !5
  %14163 = call ptr @s2n_strerror_debug(i32 noundef %14162, ptr noundef @.str.4)
  %14164 = call ptr @__errno_location() #11
  %14165 = load i32, ptr %14164, align 4, !tbaa !5
  %14166 = call ptr @strerror(i32 noundef %14165) #10
  %14167 = call ptr @__errno_location() #11
  %14168 = load i32, ptr %14167, align 4, !tbaa !5
  %14169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14156, ptr noundef @.str.2, i32 noundef %14157, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 878, ptr noundef %14160, ptr noundef %14163, ptr noundef %14166, i32 noundef %14168) #10
  br label %14187

14170:                                            ; preds = %14148, %14141
  %14171 = load i32, ptr %297, align 4, !tbaa !5
  %14172 = call ptr @__errno_location() #11
  store i32 %14171, ptr %14172, align 4, !tbaa !5
  %14173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14174 = load i32, ptr @test_count, align 4, !tbaa !5
  %14175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14176 = load i32, ptr %14175, align 4, !tbaa !5
  %14177 = call ptr @s2n_strerror(i32 noundef %14176, ptr noundef @.str.4)
  %14178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14179 = load i32, ptr %14178, align 4, !tbaa !5
  %14180 = call ptr @s2n_strerror_debug(i32 noundef %14179, ptr noundef @.str.4)
  %14181 = call ptr @__errno_location() #11
  %14182 = load i32, ptr %14181, align 4, !tbaa !5
  %14183 = call ptr @strerror(i32 noundef %14182) #10
  %14184 = call ptr @__errno_location() #11
  %14185 = load i32, ptr %14184, align 4, !tbaa !5
  %14186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14173, ptr noundef @.str.5, i32 noundef %14174, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 878, ptr noundef %14177, ptr noundef %14180, ptr noundef %14183, i32 noundef %14185) #10
  br label %14187

14187:                                            ; preds = %14170, %14153
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #10
  br label %14188

14188:                                            ; preds = %14187
  br label %14189

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

14190:                                            ; No predecessors!
  br label %14191

14191:                                            ; preds = %14190
  br label %14192

14192:                                            ; preds = %14191, %14133
  br label %14193

14193:                                            ; preds = %14192
  br label %14194

14194:                                            ; preds = %14193
  br label %14195

14195:                                            ; preds = %14194
  %14196 = load i32, ptr @test_count, align 4, !tbaa !5
  %14197 = add nsw i32 %14196, 1
  store i32 %14197, ptr @test_count, align 4, !tbaa !5
  %14198 = load ptr, ptr %275, align 8, !tbaa !9
  %14199 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %14198, ptr noundef %280)
  store ptr %14199, ptr %279, align 8, !tbaa !9
  %14200 = icmp eq ptr %14199, null
  br i1 %14200, label %14201, label %14254

14201:                                            ; preds = %14195
  br label %14202

14202:                                            ; preds = %14201
  br label %14203

14203:                                            ; preds = %14202
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #10
  %14204 = call ptr @__errno_location() #11
  %14205 = load i32, ptr %14204, align 4, !tbaa !5
  store i32 %14205, ptr %298, align 4, !tbaa !5
  %14206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14207 = call i32 @s2n_print_stacktrace(ptr noundef %14206)
  %14208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14209 = trunc i8 %14208 to i1
  br i1 %14209, label %14210, label %14232

14210:                                            ; preds = %14203
  %14211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14212 = call i32 @fileno(ptr noundef %14211) #10
  %14213 = call i32 @isatty(i32 noundef %14212) #10
  %14214 = icmp ne i32 %14213, 0
  br i1 %14214, label %14215, label %14232

14215:                                            ; preds = %14210
  %14216 = load i32, ptr %298, align 4, !tbaa !5
  %14217 = call ptr @__errno_location() #11
  store i32 %14216, ptr %14217, align 4, !tbaa !5
  %14218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14219 = load i32, ptr @test_count, align 4, !tbaa !5
  %14220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14221 = load i32, ptr %14220, align 4, !tbaa !5
  %14222 = call ptr @s2n_strerror(i32 noundef %14221, ptr noundef @.str.4)
  %14223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14224 = load i32, ptr %14223, align 4, !tbaa !5
  %14225 = call ptr @s2n_strerror_debug(i32 noundef %14224, ptr noundef @.str.4)
  %14226 = call ptr @__errno_location() #11
  %14227 = load i32, ptr %14226, align 4, !tbaa !5
  %14228 = call ptr @strerror(i32 noundef %14227) #10
  %14229 = call ptr @__errno_location() #11
  %14230 = load i32, ptr %14229, align 4, !tbaa !5
  %14231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14218, ptr noundef @.str.2, i32 noundef %14219, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 879, ptr noundef %14222, ptr noundef %14225, ptr noundef %14228, i32 noundef %14230) #10
  br label %14249

14232:                                            ; preds = %14210, %14203
  %14233 = load i32, ptr %298, align 4, !tbaa !5
  %14234 = call ptr @__errno_location() #11
  store i32 %14233, ptr %14234, align 4, !tbaa !5
  %14235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14236 = load i32, ptr @test_count, align 4, !tbaa !5
  %14237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14238 = load i32, ptr %14237, align 4, !tbaa !5
  %14239 = call ptr @s2n_strerror(i32 noundef %14238, ptr noundef @.str.4)
  %14240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14241 = load i32, ptr %14240, align 4, !tbaa !5
  %14242 = call ptr @s2n_strerror_debug(i32 noundef %14241, ptr noundef @.str.4)
  %14243 = call ptr @__errno_location() #11
  %14244 = load i32, ptr %14243, align 4, !tbaa !5
  %14245 = call ptr @strerror(i32 noundef %14244) #10
  %14246 = call ptr @__errno_location() #11
  %14247 = load i32, ptr %14246, align 4, !tbaa !5
  %14248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14235, ptr noundef @.str.5, i32 noundef %14236, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 879, ptr noundef %14239, ptr noundef %14242, ptr noundef %14245, i32 noundef %14247) #10
  br label %14249

14249:                                            ; preds = %14232, %14215
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #10
  br label %14250

14250:                                            ; preds = %14249
  br label %14251

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

14252:                                            ; No predecessors!
  br label %14253

14253:                                            ; preds = %14252
  br label %14254

14254:                                            ; preds = %14253, %14195
  br label %14255

14255:                                            ; preds = %14254
  br label %14256

14256:                                            ; preds = %14255
  br label %14257

14257:                                            ; preds = %14256
  %14258 = load i32, ptr @test_count, align 4, !tbaa !5
  %14259 = add nsw i32 %14258, 1
  store i32 %14259, ptr @test_count, align 4, !tbaa !5
  %14260 = load i32, ptr %280, align 4, !tbaa !5
  %14261 = zext i32 %14260 to i64
  %14262 = icmp eq i64 %14261, 1609
  br i1 %14262, label %14316, label %14263

14263:                                            ; preds = %14257
  br label %14264

14264:                                            ; preds = %14263
  br label %14265

14265:                                            ; preds = %14264
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #10
  %14266 = call ptr @__errno_location() #11
  %14267 = load i32, ptr %14266, align 4, !tbaa !5
  store i32 %14267, ptr %299, align 4, !tbaa !5
  %14268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14269 = call i32 @s2n_print_stacktrace(ptr noundef %14268)
  %14270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14271 = trunc i8 %14270 to i1
  br i1 %14271, label %14272, label %14294

14272:                                            ; preds = %14265
  %14273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14274 = call i32 @fileno(ptr noundef %14273) #10
  %14275 = call i32 @isatty(i32 noundef %14274) #10
  %14276 = icmp ne i32 %14275, 0
  br i1 %14276, label %14277, label %14294

14277:                                            ; preds = %14272
  %14278 = load i32, ptr %299, align 4, !tbaa !5
  %14279 = call ptr @__errno_location() #11
  store i32 %14278, ptr %14279, align 4, !tbaa !5
  %14280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14281 = load i32, ptr @test_count, align 4, !tbaa !5
  %14282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14283 = load i32, ptr %14282, align 4, !tbaa !5
  %14284 = call ptr @s2n_strerror(i32 noundef %14283, ptr noundef @.str.4)
  %14285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14286 = load i32, ptr %14285, align 4, !tbaa !5
  %14287 = call ptr @s2n_strerror_debug(i32 noundef %14286, ptr noundef @.str.4)
  %14288 = call ptr @__errno_location() #11
  %14289 = load i32, ptr %14288, align 4, !tbaa !5
  %14290 = call ptr @strerror(i32 noundef %14289) #10
  %14291 = call ptr @__errno_location() #11
  %14292 = load i32, ptr %14291, align 4, !tbaa !5
  %14293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14280, ptr noundef @.str.2, i32 noundef %14281, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 880, ptr noundef %14284, ptr noundef %14287, ptr noundef %14290, i32 noundef %14292) #10
  br label %14311

14294:                                            ; preds = %14272, %14265
  %14295 = load i32, ptr %299, align 4, !tbaa !5
  %14296 = call ptr @__errno_location() #11
  store i32 %14295, ptr %14296, align 4, !tbaa !5
  %14297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14298 = load i32, ptr @test_count, align 4, !tbaa !5
  %14299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14300 = load i32, ptr %14299, align 4, !tbaa !5
  %14301 = call ptr @s2n_strerror(i32 noundef %14300, ptr noundef @.str.4)
  %14302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14303 = load i32, ptr %14302, align 4, !tbaa !5
  %14304 = call ptr @s2n_strerror_debug(i32 noundef %14303, ptr noundef @.str.4)
  %14305 = call ptr @__errno_location() #11
  %14306 = load i32, ptr %14305, align 4, !tbaa !5
  %14307 = call ptr @strerror(i32 noundef %14306) #10
  %14308 = call ptr @__errno_location() #11
  %14309 = load i32, ptr %14308, align 4, !tbaa !5
  %14310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14297, ptr noundef @.str.5, i32 noundef %14298, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 880, ptr noundef %14301, ptr noundef %14304, ptr noundef %14307, i32 noundef %14309) #10
  br label %14311

14311:                                            ; preds = %14294, %14277
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #10
  br label %14312

14312:                                            ; preds = %14311
  br label %14313

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

14314:                                            ; No predecessors!
  br label %14315

14315:                                            ; preds = %14314
  br label %14316

14316:                                            ; preds = %14315, %14257
  br label %14317

14317:                                            ; preds = %14316
  br label %14318

14318:                                            ; preds = %14317
  call void @llvm.lifetime.start.p0(i64 8, ptr %300) #10
  store i64 0, ptr %300, align 8, !tbaa !49
  br label %14319

14319:                                            ; preds = %14393, %14318
  %14320 = load i64, ptr %300, align 8, !tbaa !49
  %14321 = icmp ult i64 %14320, 1609
  br i1 %14321, label %14323, label %14322

14322:                                            ; preds = %14319
  call void @llvm.lifetime.end.p0(i64 8, ptr %300) #10
  br label %14396

14323:                                            ; preds = %14319
  br label %14324

14324:                                            ; preds = %14323
  %14325 = load i32, ptr @test_count, align 4, !tbaa !5
  %14326 = add nsw i32 %14325, 1
  store i32 %14326, ptr @test_count, align 4, !tbaa !5
  %14327 = load ptr, ptr %279, align 8, !tbaa !9
  %14328 = load i64, ptr %300, align 8, !tbaa !49
  %14329 = getelementptr inbounds i8, ptr %14327, i64 %14328
  %14330 = load i8, ptr %14329, align 1, !tbaa !44
  %14331 = zext i8 %14330 to i32
  %14332 = load i64, ptr %300, align 8, !tbaa !49
  %14333 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %14332
  %14334 = load i8, ptr %14333, align 1, !tbaa !44
  %14335 = zext i8 %14334 to i32
  %14336 = icmp eq i32 %14331, %14335
  br i1 %14336, label %14390, label %14337

14337:                                            ; preds = %14324
  br label %14338

14338:                                            ; preds = %14337
  br label %14339

14339:                                            ; preds = %14338
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  %14340 = call ptr @__errno_location() #11
  %14341 = load i32, ptr %14340, align 4, !tbaa !5
  store i32 %14341, ptr %301, align 4, !tbaa !5
  %14342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14343 = call i32 @s2n_print_stacktrace(ptr noundef %14342)
  %14344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14345 = trunc i8 %14344 to i1
  br i1 %14345, label %14346, label %14368

14346:                                            ; preds = %14339
  %14347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14348 = call i32 @fileno(ptr noundef %14347) #10
  %14349 = call i32 @isatty(i32 noundef %14348) #10
  %14350 = icmp ne i32 %14349, 0
  br i1 %14350, label %14351, label %14368

14351:                                            ; preds = %14346
  %14352 = load i32, ptr %301, align 4, !tbaa !5
  %14353 = call ptr @__errno_location() #11
  store i32 %14352, ptr %14353, align 4, !tbaa !5
  %14354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14355 = load i32, ptr @test_count, align 4, !tbaa !5
  %14356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14357 = load i32, ptr %14356, align 4, !tbaa !5
  %14358 = call ptr @s2n_strerror(i32 noundef %14357, ptr noundef @.str.4)
  %14359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14360 = load i32, ptr %14359, align 4, !tbaa !5
  %14361 = call ptr @s2n_strerror_debug(i32 noundef %14360, ptr noundef @.str.4)
  %14362 = call ptr @__errno_location() #11
  %14363 = load i32, ptr %14362, align 4, !tbaa !5
  %14364 = call ptr @strerror(i32 noundef %14363) #10
  %14365 = call ptr @__errno_location() #11
  %14366 = load i32, ptr %14365, align 4, !tbaa !5
  %14367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14354, ptr noundef @.str.2, i32 noundef %14355, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 883, ptr noundef %14358, ptr noundef %14361, ptr noundef %14364, i32 noundef %14366) #10
  br label %14385

14368:                                            ; preds = %14346, %14339
  %14369 = load i32, ptr %301, align 4, !tbaa !5
  %14370 = call ptr @__errno_location() #11
  store i32 %14369, ptr %14370, align 4, !tbaa !5
  %14371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14372 = load i32, ptr @test_count, align 4, !tbaa !5
  %14373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14374 = load i32, ptr %14373, align 4, !tbaa !5
  %14375 = call ptr @s2n_strerror(i32 noundef %14374, ptr noundef @.str.4)
  %14376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14377 = load i32, ptr %14376, align 4, !tbaa !5
  %14378 = call ptr @s2n_strerror_debug(i32 noundef %14377, ptr noundef @.str.4)
  %14379 = call ptr @__errno_location() #11
  %14380 = load i32, ptr %14379, align 4, !tbaa !5
  %14381 = call ptr @strerror(i32 noundef %14380) #10
  %14382 = call ptr @__errno_location() #11
  %14383 = load i32, ptr %14382, align 4, !tbaa !5
  %14384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14371, ptr noundef @.str.5, i32 noundef %14372, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 883, ptr noundef %14375, ptr noundef %14378, ptr noundef %14381, i32 noundef %14383) #10
  br label %14385

14385:                                            ; preds = %14368, %14351
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  br label %14386

14386:                                            ; preds = %14385
  br label %14387

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

14388:                                            ; No predecessors!
  br label %14389

14389:                                            ; preds = %14388
  br label %14390

14390:                                            ; preds = %14389, %14324
  br label %14391

14391:                                            ; preds = %14390
  br label %14392

14392:                                            ; preds = %14391
  br label %14393

14393:                                            ; preds = %14392
  %14394 = load i64, ptr %300, align 8, !tbaa !49
  %14395 = add i64 %14394, 1
  store i64 %14395, ptr %300, align 8, !tbaa !49
  br label %14319, !llvm.loop !50

14396:                                            ; preds = %14322
  br label %14397

14397:                                            ; preds = %14396
  %14398 = load i32, ptr @test_count, align 4, !tbaa !5
  %14399 = add nsw i32 %14398, 1
  store i32 %14399, ptr @test_count, align 4, !tbaa !5
  %14400 = load ptr, ptr %276, align 8, !tbaa !9
  %14401 = load ptr, ptr %275, align 8, !tbaa !9
  %14402 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %14400, ptr noundef %14401)
  %14403 = icmp eq i32 %14402, -1
  br i1 %14403, label %14404, label %14457

14404:                                            ; preds = %14397
  br label %14405

14405:                                            ; preds = %14404
  br label %14406

14406:                                            ; preds = %14405
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #10
  %14407 = call ptr @__errno_location() #11
  %14408 = load i32, ptr %14407, align 4, !tbaa !5
  store i32 %14408, ptr %302, align 4, !tbaa !5
  %14409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14410 = call i32 @s2n_print_stacktrace(ptr noundef %14409)
  %14411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14412 = trunc i8 %14411 to i1
  br i1 %14412, label %14413, label %14435

14413:                                            ; preds = %14406
  %14414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14415 = call i32 @fileno(ptr noundef %14414) #10
  %14416 = call i32 @isatty(i32 noundef %14415) #10
  %14417 = icmp ne i32 %14416, 0
  br i1 %14417, label %14418, label %14435

14418:                                            ; preds = %14413
  %14419 = load i32, ptr %302, align 4, !tbaa !5
  %14420 = call ptr @__errno_location() #11
  store i32 %14419, ptr %14420, align 4, !tbaa !5
  %14421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14422 = load i32, ptr @test_count, align 4, !tbaa !5
  %14423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call ptr @s2n_strerror(i32 noundef %14424, ptr noundef @.str.4)
  %14426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14427 = load i32, ptr %14426, align 4, !tbaa !5
  %14428 = call ptr @s2n_strerror_debug(i32 noundef %14427, ptr noundef @.str.4)
  %14429 = call ptr @__errno_location() #11
  %14430 = load i32, ptr %14429, align 4, !tbaa !5
  %14431 = call ptr @strerror(i32 noundef %14430) #10
  %14432 = call ptr @__errno_location() #11
  %14433 = load i32, ptr %14432, align 4, !tbaa !5
  %14434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14421, ptr noundef @.str.2, i32 noundef %14422, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 886, ptr noundef %14425, ptr noundef %14428, ptr noundef %14431, i32 noundef %14433) #10
  br label %14452

14435:                                            ; preds = %14413, %14406
  %14436 = load i32, ptr %302, align 4, !tbaa !5
  %14437 = call ptr @__errno_location() #11
  store i32 %14436, ptr %14437, align 4, !tbaa !5
  %14438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14439 = load i32, ptr @test_count, align 4, !tbaa !5
  %14440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14441 = load i32, ptr %14440, align 4, !tbaa !5
  %14442 = call ptr @s2n_strerror(i32 noundef %14441, ptr noundef @.str.4)
  %14443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  %14445 = call ptr @s2n_strerror_debug(i32 noundef %14444, ptr noundef @.str.4)
  %14446 = call ptr @__errno_location() #11
  %14447 = load i32, ptr %14446, align 4, !tbaa !5
  %14448 = call ptr @strerror(i32 noundef %14447) #10
  %14449 = call ptr @__errno_location() #11
  %14450 = load i32, ptr %14449, align 4, !tbaa !5
  %14451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14438, ptr noundef @.str.5, i32 noundef %14439, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 886, ptr noundef %14442, ptr noundef %14445, ptr noundef %14448, i32 noundef %14450) #10
  br label %14452

14452:                                            ; preds = %14435, %14418
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #10
  br label %14453

14453:                                            ; preds = %14452
  br label %14454

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

14455:                                            ; No predecessors!
  br label %14456

14456:                                            ; preds = %14455
  br label %14457

14457:                                            ; preds = %14456, %14397
  br label %14458

14458:                                            ; preds = %14457
  br label %14459

14459:                                            ; preds = %14458
  br label %14460

14460:                                            ; preds = %14459
  %14461 = load i32, ptr @test_count, align 4, !tbaa !5
  %14462 = add nsw i32 %14461, 1
  store i32 %14462, ptr @test_count, align 4, !tbaa !5
  %14463 = load ptr, ptr %276, align 8, !tbaa !9
  %14464 = call i32 @s2n_connection_free(ptr noundef %14463)
  %14465 = icmp eq i32 %14464, -1
  br i1 %14465, label %14466, label %14519

14466:                                            ; preds = %14460
  br label %14467

14467:                                            ; preds = %14466
  br label %14468

14468:                                            ; preds = %14467
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #10
  %14469 = call ptr @__errno_location() #11
  %14470 = load i32, ptr %14469, align 4, !tbaa !5
  store i32 %14470, ptr %303, align 4, !tbaa !5
  %14471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14472 = call i32 @s2n_print_stacktrace(ptr noundef %14471)
  %14473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14474 = trunc i8 %14473 to i1
  br i1 %14474, label %14475, label %14497

14475:                                            ; preds = %14468
  %14476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14477 = call i32 @fileno(ptr noundef %14476) #10
  %14478 = call i32 @isatty(i32 noundef %14477) #10
  %14479 = icmp ne i32 %14478, 0
  br i1 %14479, label %14480, label %14497

14480:                                            ; preds = %14475
  %14481 = load i32, ptr %303, align 4, !tbaa !5
  %14482 = call ptr @__errno_location() #11
  store i32 %14481, ptr %14482, align 4, !tbaa !5
  %14483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14484 = load i32, ptr @test_count, align 4, !tbaa !5
  %14485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14486 = load i32, ptr %14485, align 4, !tbaa !5
  %14487 = call ptr @s2n_strerror(i32 noundef %14486, ptr noundef @.str.4)
  %14488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14489 = load i32, ptr %14488, align 4, !tbaa !5
  %14490 = call ptr @s2n_strerror_debug(i32 noundef %14489, ptr noundef @.str.4)
  %14491 = call ptr @__errno_location() #11
  %14492 = load i32, ptr %14491, align 4, !tbaa !5
  %14493 = call ptr @strerror(i32 noundef %14492) #10
  %14494 = call ptr @__errno_location() #11
  %14495 = load i32, ptr %14494, align 4, !tbaa !5
  %14496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14483, ptr noundef @.str.2, i32 noundef %14484, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 888, ptr noundef %14487, ptr noundef %14490, ptr noundef %14493, i32 noundef %14495) #10
  br label %14514

14497:                                            ; preds = %14475, %14468
  %14498 = load i32, ptr %303, align 4, !tbaa !5
  %14499 = call ptr @__errno_location() #11
  store i32 %14498, ptr %14499, align 4, !tbaa !5
  %14500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14501 = load i32, ptr @test_count, align 4, !tbaa !5
  %14502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14503 = load i32, ptr %14502, align 4, !tbaa !5
  %14504 = call ptr @s2n_strerror(i32 noundef %14503, ptr noundef @.str.4)
  %14505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14506 = load i32, ptr %14505, align 4, !tbaa !5
  %14507 = call ptr @s2n_strerror_debug(i32 noundef %14506, ptr noundef @.str.4)
  %14508 = call ptr @__errno_location() #11
  %14509 = load i32, ptr %14508, align 4, !tbaa !5
  %14510 = call ptr @strerror(i32 noundef %14509) #10
  %14511 = call ptr @__errno_location() #11
  %14512 = load i32, ptr %14511, align 4, !tbaa !5
  %14513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14500, ptr noundef @.str.5, i32 noundef %14501, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 888, ptr noundef %14504, ptr noundef %14507, ptr noundef %14510, i32 noundef %14512) #10
  br label %14514

14514:                                            ; preds = %14497, %14480
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #10
  br label %14515

14515:                                            ; preds = %14514
  br label %14516

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

14517:                                            ; No predecessors!
  br label %14518

14518:                                            ; preds = %14517
  br label %14519

14519:                                            ; preds = %14518, %14460
  br label %14520

14520:                                            ; preds = %14519
  br label %14521

14521:                                            ; preds = %14520
  br label %14522

14522:                                            ; preds = %14521
  %14523 = load i32, ptr @test_count, align 4, !tbaa !5
  %14524 = add nsw i32 %14523, 1
  store i32 %14524, ptr @test_count, align 4, !tbaa !5
  %14525 = load ptr, ptr %275, align 8, !tbaa !9
  %14526 = call i32 @s2n_connection_free(ptr noundef %14525)
  %14527 = icmp eq i32 %14526, -1
  br i1 %14527, label %14528, label %14581

14528:                                            ; preds = %14522
  br label %14529

14529:                                            ; preds = %14528
  br label %14530

14530:                                            ; preds = %14529
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #10
  %14531 = call ptr @__errno_location() #11
  %14532 = load i32, ptr %14531, align 4, !tbaa !5
  store i32 %14532, ptr %304, align 4, !tbaa !5
  %14533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14534 = call i32 @s2n_print_stacktrace(ptr noundef %14533)
  %14535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14536 = trunc i8 %14535 to i1
  br i1 %14536, label %14537, label %14559

14537:                                            ; preds = %14530
  %14538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14539 = call i32 @fileno(ptr noundef %14538) #10
  %14540 = call i32 @isatty(i32 noundef %14539) #10
  %14541 = icmp ne i32 %14540, 0
  br i1 %14541, label %14542, label %14559

14542:                                            ; preds = %14537
  %14543 = load i32, ptr %304, align 4, !tbaa !5
  %14544 = call ptr @__errno_location() #11
  store i32 %14543, ptr %14544, align 4, !tbaa !5
  %14545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14546 = load i32, ptr @test_count, align 4, !tbaa !5
  %14547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14548 = load i32, ptr %14547, align 4, !tbaa !5
  %14549 = call ptr @s2n_strerror(i32 noundef %14548, ptr noundef @.str.4)
  %14550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14551 = load i32, ptr %14550, align 4, !tbaa !5
  %14552 = call ptr @s2n_strerror_debug(i32 noundef %14551, ptr noundef @.str.4)
  %14553 = call ptr @__errno_location() #11
  %14554 = load i32, ptr %14553, align 4, !tbaa !5
  %14555 = call ptr @strerror(i32 noundef %14554) #10
  %14556 = call ptr @__errno_location() #11
  %14557 = load i32, ptr %14556, align 4, !tbaa !5
  %14558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14545, ptr noundef @.str.2, i32 noundef %14546, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 889, ptr noundef %14549, ptr noundef %14552, ptr noundef %14555, i32 noundef %14557) #10
  br label %14576

14559:                                            ; preds = %14537, %14530
  %14560 = load i32, ptr %304, align 4, !tbaa !5
  %14561 = call ptr @__errno_location() #11
  store i32 %14560, ptr %14561, align 4, !tbaa !5
  %14562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14563 = load i32, ptr @test_count, align 4, !tbaa !5
  %14564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14565 = load i32, ptr %14564, align 4, !tbaa !5
  %14566 = call ptr @s2n_strerror(i32 noundef %14565, ptr noundef @.str.4)
  %14567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14568 = load i32, ptr %14567, align 4, !tbaa !5
  %14569 = call ptr @s2n_strerror_debug(i32 noundef %14568, ptr noundef @.str.4)
  %14570 = call ptr @__errno_location() #11
  %14571 = load i32, ptr %14570, align 4, !tbaa !5
  %14572 = call ptr @strerror(i32 noundef %14571) #10
  %14573 = call ptr @__errno_location() #11
  %14574 = load i32, ptr %14573, align 4, !tbaa !5
  %14575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14562, ptr noundef @.str.5, i32 noundef %14563, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 889, ptr noundef %14566, ptr noundef %14569, ptr noundef %14572, i32 noundef %14574) #10
  br label %14576

14576:                                            ; preds = %14559, %14542
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #10
  br label %14577

14577:                                            ; preds = %14576
  br label %14578

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

14579:                                            ; No predecessors!
  br label %14580

14580:                                            ; preds = %14579
  br label %14581

14581:                                            ; preds = %14580, %14522
  br label %14582

14582:                                            ; preds = %14581
  br label %14583

14583:                                            ; preds = %14582
  br label %14584

14584:                                            ; preds = %14583
  %14585 = load i32, ptr @test_count, align 4, !tbaa !5
  %14586 = add nsw i32 %14585, 1
  store i32 %14586, ptr @test_count, align 4, !tbaa !5
  %14587 = load ptr, ptr %277, align 8, !tbaa !9
  %14588 = call i32 @s2n_config_free(ptr noundef %14587)
  %14589 = icmp eq i32 %14588, -1
  br i1 %14589, label %14590, label %14643

14590:                                            ; preds = %14584
  br label %14591

14591:                                            ; preds = %14590
  br label %14592

14592:                                            ; preds = %14591
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #10
  %14593 = call ptr @__errno_location() #11
  %14594 = load i32, ptr %14593, align 4, !tbaa !5
  store i32 %14594, ptr %305, align 4, !tbaa !5
  %14595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14596 = call i32 @s2n_print_stacktrace(ptr noundef %14595)
  %14597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14598 = trunc i8 %14597 to i1
  br i1 %14598, label %14599, label %14621

14599:                                            ; preds = %14592
  %14600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14601 = call i32 @fileno(ptr noundef %14600) #10
  %14602 = call i32 @isatty(i32 noundef %14601) #10
  %14603 = icmp ne i32 %14602, 0
  br i1 %14603, label %14604, label %14621

14604:                                            ; preds = %14599
  %14605 = load i32, ptr %305, align 4, !tbaa !5
  %14606 = call ptr @__errno_location() #11
  store i32 %14605, ptr %14606, align 4, !tbaa !5
  %14607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14608 = load i32, ptr @test_count, align 4, !tbaa !5
  %14609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14610 = load i32, ptr %14609, align 4, !tbaa !5
  %14611 = call ptr @s2n_strerror(i32 noundef %14610, ptr noundef @.str.4)
  %14612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14613 = load i32, ptr %14612, align 4, !tbaa !5
  %14614 = call ptr @s2n_strerror_debug(i32 noundef %14613, ptr noundef @.str.4)
  %14615 = call ptr @__errno_location() #11
  %14616 = load i32, ptr %14615, align 4, !tbaa !5
  %14617 = call ptr @strerror(i32 noundef %14616) #10
  %14618 = call ptr @__errno_location() #11
  %14619 = load i32, ptr %14618, align 4, !tbaa !5
  %14620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14607, ptr noundef @.str.2, i32 noundef %14608, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 890, ptr noundef %14611, ptr noundef %14614, ptr noundef %14617, i32 noundef %14619) #10
  br label %14638

14621:                                            ; preds = %14599, %14592
  %14622 = load i32, ptr %305, align 4, !tbaa !5
  %14623 = call ptr @__errno_location() #11
  store i32 %14622, ptr %14623, align 4, !tbaa !5
  %14624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14625 = load i32, ptr @test_count, align 4, !tbaa !5
  %14626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14627 = load i32, ptr %14626, align 4, !tbaa !5
  %14628 = call ptr @s2n_strerror(i32 noundef %14627, ptr noundef @.str.4)
  %14629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14630 = load i32, ptr %14629, align 4, !tbaa !5
  %14631 = call ptr @s2n_strerror_debug(i32 noundef %14630, ptr noundef @.str.4)
  %14632 = call ptr @__errno_location() #11
  %14633 = load i32, ptr %14632, align 4, !tbaa !5
  %14634 = call ptr @strerror(i32 noundef %14633) #10
  %14635 = call ptr @__errno_location() #11
  %14636 = load i32, ptr %14635, align 4, !tbaa !5
  %14637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14624, ptr noundef @.str.5, i32 noundef %14625, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 890, ptr noundef %14628, ptr noundef %14631, ptr noundef %14634, i32 noundef %14636) #10
  br label %14638

14638:                                            ; preds = %14621, %14604
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #10
  br label %14639

14639:                                            ; preds = %14638
  br label %14640

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

14641:                                            ; No predecessors!
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

14643:                                            ; preds = %14642, %14584
  br label %14644

14644:                                            ; preds = %14643
  br label %14645

14645:                                            ; preds = %14644
  br label %14646

14646:                                            ; preds = %14645
  %14647 = load i32, ptr @test_count, align 4, !tbaa !5
  %14648 = add nsw i32 %14647, 1
  store i32 %14648, ptr @test_count, align 4, !tbaa !5
  %14649 = load ptr, ptr %278, align 8, !tbaa !9
  %14650 = call i32 @s2n_config_free(ptr noundef %14649)
  %14651 = icmp eq i32 %14650, -1
  br i1 %14651, label %14652, label %14705

14652:                                            ; preds = %14646
  br label %14653

14653:                                            ; preds = %14652
  br label %14654

14654:                                            ; preds = %14653
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #10
  %14655 = call ptr @__errno_location() #11
  %14656 = load i32, ptr %14655, align 4, !tbaa !5
  store i32 %14656, ptr %306, align 4, !tbaa !5
  %14657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14658 = call i32 @s2n_print_stacktrace(ptr noundef %14657)
  %14659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14660 = trunc i8 %14659 to i1
  br i1 %14660, label %14661, label %14683

14661:                                            ; preds = %14654
  %14662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14663 = call i32 @fileno(ptr noundef %14662) #10
  %14664 = call i32 @isatty(i32 noundef %14663) #10
  %14665 = icmp ne i32 %14664, 0
  br i1 %14665, label %14666, label %14683

14666:                                            ; preds = %14661
  %14667 = load i32, ptr %306, align 4, !tbaa !5
  %14668 = call ptr @__errno_location() #11
  store i32 %14667, ptr %14668, align 4, !tbaa !5
  %14669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14670 = load i32, ptr @test_count, align 4, !tbaa !5
  %14671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14672 = load i32, ptr %14671, align 4, !tbaa !5
  %14673 = call ptr @s2n_strerror(i32 noundef %14672, ptr noundef @.str.4)
  %14674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14675 = load i32, ptr %14674, align 4, !tbaa !5
  %14676 = call ptr @s2n_strerror_debug(i32 noundef %14675, ptr noundef @.str.4)
  %14677 = call ptr @__errno_location() #11
  %14678 = load i32, ptr %14677, align 4, !tbaa !5
  %14679 = call ptr @strerror(i32 noundef %14678) #10
  %14680 = call ptr @__errno_location() #11
  %14681 = load i32, ptr %14680, align 4, !tbaa !5
  %14682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14669, ptr noundef @.str.2, i32 noundef %14670, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 891, ptr noundef %14673, ptr noundef %14676, ptr noundef %14679, i32 noundef %14681) #10
  br label %14700

14683:                                            ; preds = %14661, %14654
  %14684 = load i32, ptr %306, align 4, !tbaa !5
  %14685 = call ptr @__errno_location() #11
  store i32 %14684, ptr %14685, align 4, !tbaa !5
  %14686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14687 = load i32, ptr @test_count, align 4, !tbaa !5
  %14688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14689 = load i32, ptr %14688, align 4, !tbaa !5
  %14690 = call ptr @s2n_strerror(i32 noundef %14689, ptr noundef @.str.4)
  %14691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14692 = load i32, ptr %14691, align 4, !tbaa !5
  %14693 = call ptr @s2n_strerror_debug(i32 noundef %14692, ptr noundef @.str.4)
  %14694 = call ptr @__errno_location() #11
  %14695 = load i32, ptr %14694, align 4, !tbaa !5
  %14696 = call ptr @strerror(i32 noundef %14695) #10
  %14697 = call ptr @__errno_location() #11
  %14698 = load i32, ptr %14697, align 4, !tbaa !5
  %14699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14686, ptr noundef @.str.5, i32 noundef %14687, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 891, ptr noundef %14690, ptr noundef %14693, ptr noundef %14696, i32 noundef %14698) #10
  br label %14700

14700:                                            ; preds = %14683, %14666
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #10
  br label %14701

14701:                                            ; preds = %14700
  br label %14702

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

14703:                                            ; No predecessors!
  br label %14704

14704:                                            ; preds = %14703
  br label %14705

14705:                                            ; preds = %14704, %14646
  br label %14706

14706:                                            ; preds = %14705
  br label %14707

14707:                                            ; preds = %14706
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #10
  br label %14708

14708:                                            ; preds = %14707, %13135
  %14709 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %14710 = icmp ne i8 %14709, 0
  br i1 %14710, label %14711, label %16293

14711:                                            ; preds = %14708
  call void @llvm.lifetime.start.p0(i64 8, ptr %307) #10
  store ptr null, ptr %307, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %308) #10
  store ptr null, ptr %308, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %309) #10
  store ptr null, ptr %309, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %310) #10
  store ptr null, ptr %310, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %311) #10
  store ptr null, ptr %311, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #10
  store i32 0, ptr %312, align 4, !tbaa !5
  br label %14712

14712:                                            ; preds = %14711
  %14713 = load i32, ptr @test_count, align 4, !tbaa !5
  %14714 = add nsw i32 %14713, 1
  store i32 %14714, ptr @test_count, align 4, !tbaa !5
  %14715 = call ptr @s2n_config_new()
  store ptr %14715, ptr %310, align 8, !tbaa !9
  %14716 = icmp eq ptr %14715, null
  br i1 %14716, label %14717, label %14770

14717:                                            ; preds = %14712
  br label %14718

14718:                                            ; preds = %14717
  br label %14719

14719:                                            ; preds = %14718
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #10
  %14720 = call ptr @__errno_location() #11
  %14721 = load i32, ptr %14720, align 4, !tbaa !5
  store i32 %14721, ptr %313, align 4, !tbaa !5
  %14722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14723 = call i32 @s2n_print_stacktrace(ptr noundef %14722)
  %14724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14725 = trunc i8 %14724 to i1
  br i1 %14725, label %14726, label %14748

14726:                                            ; preds = %14719
  %14727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14728 = call i32 @fileno(ptr noundef %14727) #10
  %14729 = call i32 @isatty(i32 noundef %14728) #10
  %14730 = icmp ne i32 %14729, 0
  br i1 %14730, label %14731, label %14748

14731:                                            ; preds = %14726
  %14732 = load i32, ptr %313, align 4, !tbaa !5
  %14733 = call ptr @__errno_location() #11
  store i32 %14732, ptr %14733, align 4, !tbaa !5
  %14734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14735 = load i32, ptr @test_count, align 4, !tbaa !5
  %14736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14737 = load i32, ptr %14736, align 4, !tbaa !5
  %14738 = call ptr @s2n_strerror(i32 noundef %14737, ptr noundef @.str.4)
  %14739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14740 = load i32, ptr %14739, align 4, !tbaa !5
  %14741 = call ptr @s2n_strerror_debug(i32 noundef %14740, ptr noundef @.str.4)
  %14742 = call ptr @__errno_location() #11
  %14743 = load i32, ptr %14742, align 4, !tbaa !5
  %14744 = call ptr @strerror(i32 noundef %14743) #10
  %14745 = call ptr @__errno_location() #11
  %14746 = load i32, ptr %14745, align 4, !tbaa !5
  %14747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14734, ptr noundef @.str.2, i32 noundef %14735, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 903, ptr noundef %14738, ptr noundef %14741, ptr noundef %14744, i32 noundef %14746) #10
  br label %14765

14748:                                            ; preds = %14726, %14719
  %14749 = load i32, ptr %313, align 4, !tbaa !5
  %14750 = call ptr @__errno_location() #11
  store i32 %14749, ptr %14750, align 4, !tbaa !5
  %14751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14752 = load i32, ptr @test_count, align 4, !tbaa !5
  %14753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14754 = load i32, ptr %14753, align 4, !tbaa !5
  %14755 = call ptr @s2n_strerror(i32 noundef %14754, ptr noundef @.str.4)
  %14756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14757 = load i32, ptr %14756, align 4, !tbaa !5
  %14758 = call ptr @s2n_strerror_debug(i32 noundef %14757, ptr noundef @.str.4)
  %14759 = call ptr @__errno_location() #11
  %14760 = load i32, ptr %14759, align 4, !tbaa !5
  %14761 = call ptr @strerror(i32 noundef %14760) #10
  %14762 = call ptr @__errno_location() #11
  %14763 = load i32, ptr %14762, align 4, !tbaa !5
  %14764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14751, ptr noundef @.str.5, i32 noundef %14752, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 903, ptr noundef %14755, ptr noundef %14758, ptr noundef %14761, i32 noundef %14763) #10
  br label %14765

14765:                                            ; preds = %14748, %14731
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #10
  br label %14766

14766:                                            ; preds = %14765
  br label %14767

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

14768:                                            ; No predecessors!
  br label %14769

14769:                                            ; preds = %14768
  br label %14770

14770:                                            ; preds = %14769, %14712
  br label %14771

14771:                                            ; preds = %14770
  br label %14772

14772:                                            ; preds = %14771
  br label %14773

14773:                                            ; preds = %14772
  %14774 = load i32, ptr @test_count, align 4, !tbaa !5
  %14775 = add nsw i32 %14774, 1
  store i32 %14775, ptr @test_count, align 4, !tbaa !5
  %14776 = load ptr, ptr %310, align 8, !tbaa !9
  %14777 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %14776, i8 noundef zeroext 0)
  %14778 = icmp eq i32 %14777, -1
  br i1 %14778, label %14779, label %14832

14779:                                            ; preds = %14773
  br label %14780

14780:                                            ; preds = %14779
  br label %14781

14781:                                            ; preds = %14780
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #10
  %14782 = call ptr @__errno_location() #11
  %14783 = load i32, ptr %14782, align 4, !tbaa !5
  store i32 %14783, ptr %314, align 4, !tbaa !5
  %14784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14785 = call i32 @s2n_print_stacktrace(ptr noundef %14784)
  %14786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14787 = trunc i8 %14786 to i1
  br i1 %14787, label %14788, label %14810

14788:                                            ; preds = %14781
  %14789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14790 = call i32 @fileno(ptr noundef %14789) #10
  %14791 = call i32 @isatty(i32 noundef %14790) #10
  %14792 = icmp ne i32 %14791, 0
  br i1 %14792, label %14793, label %14810

14793:                                            ; preds = %14788
  %14794 = load i32, ptr %314, align 4, !tbaa !5
  %14795 = call ptr @__errno_location() #11
  store i32 %14794, ptr %14795, align 4, !tbaa !5
  %14796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14797 = load i32, ptr @test_count, align 4, !tbaa !5
  %14798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14799 = load i32, ptr %14798, align 4, !tbaa !5
  %14800 = call ptr @s2n_strerror(i32 noundef %14799, ptr noundef @.str.4)
  %14801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14802 = load i32, ptr %14801, align 4, !tbaa !5
  %14803 = call ptr @s2n_strerror_debug(i32 noundef %14802, ptr noundef @.str.4)
  %14804 = call ptr @__errno_location() #11
  %14805 = load i32, ptr %14804, align 4, !tbaa !5
  %14806 = call ptr @strerror(i32 noundef %14805) #10
  %14807 = call ptr @__errno_location() #11
  %14808 = load i32, ptr %14807, align 4, !tbaa !5
  %14809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14796, ptr noundef @.str.2, i32 noundef %14797, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 904, ptr noundef %14800, ptr noundef %14803, ptr noundef %14806, i32 noundef %14808) #10
  br label %14827

14810:                                            ; preds = %14788, %14781
  %14811 = load i32, ptr %314, align 4, !tbaa !5
  %14812 = call ptr @__errno_location() #11
  store i32 %14811, ptr %14812, align 4, !tbaa !5
  %14813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14814 = load i32, ptr @test_count, align 4, !tbaa !5
  %14815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call ptr @s2n_strerror(i32 noundef %14816, ptr noundef @.str.4)
  %14818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call ptr @s2n_strerror_debug(i32 noundef %14819, ptr noundef @.str.4)
  %14821 = call ptr @__errno_location() #11
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  %14823 = call ptr @strerror(i32 noundef %14822) #10
  %14824 = call ptr @__errno_location() #11
  %14825 = load i32, ptr %14824, align 4, !tbaa !5
  %14826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14813, ptr noundef @.str.5, i32 noundef %14814, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 904, ptr noundef %14817, ptr noundef %14820, ptr noundef %14823, i32 noundef %14825) #10
  br label %14827

14827:                                            ; preds = %14810, %14793
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #10
  br label %14828

14828:                                            ; preds = %14827
  br label %14829

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

14830:                                            ; No predecessors!
  br label %14831

14831:                                            ; preds = %14830
  br label %14832

14832:                                            ; preds = %14831, %14773
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833
  br label %14835

14835:                                            ; preds = %14834
  %14836 = load i32, ptr @test_count, align 4, !tbaa !5
  %14837 = add nsw i32 %14836, 1
  store i32 %14837, ptr @test_count, align 4, !tbaa !5
  %14838 = load ptr, ptr %310, align 8, !tbaa !9
  %14839 = call i32 @s2n_config_disable_x509_verification(ptr noundef %14838)
  %14840 = icmp eq i32 %14839, -1
  br i1 %14840, label %14841, label %14894

14841:                                            ; preds = %14835
  br label %14842

14842:                                            ; preds = %14841
  br label %14843

14843:                                            ; preds = %14842
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #10
  %14844 = call ptr @__errno_location() #11
  %14845 = load i32, ptr %14844, align 4, !tbaa !5
  store i32 %14845, ptr %315, align 4, !tbaa !5
  %14846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14847 = call i32 @s2n_print_stacktrace(ptr noundef %14846)
  %14848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14849 = trunc i8 %14848 to i1
  br i1 %14849, label %14850, label %14872

14850:                                            ; preds = %14843
  %14851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14852 = call i32 @fileno(ptr noundef %14851) #10
  %14853 = call i32 @isatty(i32 noundef %14852) #10
  %14854 = icmp ne i32 %14853, 0
  br i1 %14854, label %14855, label %14872

14855:                                            ; preds = %14850
  %14856 = load i32, ptr %315, align 4, !tbaa !5
  %14857 = call ptr @__errno_location() #11
  store i32 %14856, ptr %14857, align 4, !tbaa !5
  %14858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14859 = load i32, ptr @test_count, align 4, !tbaa !5
  %14860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14861 = load i32, ptr %14860, align 4, !tbaa !5
  %14862 = call ptr @s2n_strerror(i32 noundef %14861, ptr noundef @.str.4)
  %14863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14864 = load i32, ptr %14863, align 4, !tbaa !5
  %14865 = call ptr @s2n_strerror_debug(i32 noundef %14864, ptr noundef @.str.4)
  %14866 = call ptr @__errno_location() #11
  %14867 = load i32, ptr %14866, align 4, !tbaa !5
  %14868 = call ptr @strerror(i32 noundef %14867) #10
  %14869 = call ptr @__errno_location() #11
  %14870 = load i32, ptr %14869, align 4, !tbaa !5
  %14871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14858, ptr noundef @.str.2, i32 noundef %14859, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 905, ptr noundef %14862, ptr noundef %14865, ptr noundef %14868, i32 noundef %14870) #10
  br label %14889

14872:                                            ; preds = %14850, %14843
  %14873 = load i32, ptr %315, align 4, !tbaa !5
  %14874 = call ptr @__errno_location() #11
  store i32 %14873, ptr %14874, align 4, !tbaa !5
  %14875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14876 = load i32, ptr @test_count, align 4, !tbaa !5
  %14877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14878 = load i32, ptr %14877, align 4, !tbaa !5
  %14879 = call ptr @s2n_strerror(i32 noundef %14878, ptr noundef @.str.4)
  %14880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14881 = load i32, ptr %14880, align 4, !tbaa !5
  %14882 = call ptr @s2n_strerror_debug(i32 noundef %14881, ptr noundef @.str.4)
  %14883 = call ptr @__errno_location() #11
  %14884 = load i32, ptr %14883, align 4, !tbaa !5
  %14885 = call ptr @strerror(i32 noundef %14884) #10
  %14886 = call ptr @__errno_location() #11
  %14887 = load i32, ptr %14886, align 4, !tbaa !5
  %14888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14875, ptr noundef @.str.5, i32 noundef %14876, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 905, ptr noundef %14879, ptr noundef %14882, ptr noundef %14885, i32 noundef %14887) #10
  br label %14889

14889:                                            ; preds = %14872, %14855
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #10
  br label %14890

14890:                                            ; preds = %14889
  br label %14891

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

14892:                                            ; No predecessors!
  br label %14893

14893:                                            ; preds = %14892
  br label %14894

14894:                                            ; preds = %14893, %14835
  br label %14895

14895:                                            ; preds = %14894
  br label %14896

14896:                                            ; preds = %14895
  br label %14897

14897:                                            ; preds = %14896
  %14898 = load i32, ptr @test_count, align 4, !tbaa !5
  %14899 = add nsw i32 %14898, 1
  store i32 %14899, ptr @test_count, align 4, !tbaa !5
  %14900 = load ptr, ptr %310, align 8, !tbaa !9
  %14901 = call i32 @s2n_config_set_status_request_type(ptr noundef %14900, i32 noundef 1)
  %14902 = icmp eq i32 %14901, -1
  br i1 %14902, label %14903, label %14956

14903:                                            ; preds = %14897
  br label %14904

14904:                                            ; preds = %14903
  br label %14905

14905:                                            ; preds = %14904
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #10
  %14906 = call ptr @__errno_location() #11
  %14907 = load i32, ptr %14906, align 4, !tbaa !5
  store i32 %14907, ptr %316, align 4, !tbaa !5
  %14908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14909 = call i32 @s2n_print_stacktrace(ptr noundef %14908)
  %14910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14911 = trunc i8 %14910 to i1
  br i1 %14911, label %14912, label %14934

14912:                                            ; preds = %14905
  %14913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14914 = call i32 @fileno(ptr noundef %14913) #10
  %14915 = call i32 @isatty(i32 noundef %14914) #10
  %14916 = icmp ne i32 %14915, 0
  br i1 %14916, label %14917, label %14934

14917:                                            ; preds = %14912
  %14918 = load i32, ptr %316, align 4, !tbaa !5
  %14919 = call ptr @__errno_location() #11
  store i32 %14918, ptr %14919, align 4, !tbaa !5
  %14920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14921 = load i32, ptr @test_count, align 4, !tbaa !5
  %14922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14923 = load i32, ptr %14922, align 4, !tbaa !5
  %14924 = call ptr @s2n_strerror(i32 noundef %14923, ptr noundef @.str.4)
  %14925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14926 = load i32, ptr %14925, align 4, !tbaa !5
  %14927 = call ptr @s2n_strerror_debug(i32 noundef %14926, ptr noundef @.str.4)
  %14928 = call ptr @__errno_location() #11
  %14929 = load i32, ptr %14928, align 4, !tbaa !5
  %14930 = call ptr @strerror(i32 noundef %14929) #10
  %14931 = call ptr @__errno_location() #11
  %14932 = load i32, ptr %14931, align 4, !tbaa !5
  %14933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14920, ptr noundef @.str.2, i32 noundef %14921, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 906, ptr noundef %14924, ptr noundef %14927, ptr noundef %14930, i32 noundef %14932) #10
  br label %14951

14934:                                            ; preds = %14912, %14905
  %14935 = load i32, ptr %316, align 4, !tbaa !5
  %14936 = call ptr @__errno_location() #11
  store i32 %14935, ptr %14936, align 4, !tbaa !5
  %14937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14938 = load i32, ptr @test_count, align 4, !tbaa !5
  %14939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14940 = load i32, ptr %14939, align 4, !tbaa !5
  %14941 = call ptr @s2n_strerror(i32 noundef %14940, ptr noundef @.str.4)
  %14942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14943 = load i32, ptr %14942, align 4, !tbaa !5
  %14944 = call ptr @s2n_strerror_debug(i32 noundef %14943, ptr noundef @.str.4)
  %14945 = call ptr @__errno_location() #11
  %14946 = load i32, ptr %14945, align 4, !tbaa !5
  %14947 = call ptr @strerror(i32 noundef %14946) #10
  %14948 = call ptr @__errno_location() #11
  %14949 = load i32, ptr %14948, align 4, !tbaa !5
  %14950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14937, ptr noundef @.str.5, i32 noundef %14938, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 906, ptr noundef %14941, ptr noundef %14944, ptr noundef %14947, i32 noundef %14949) #10
  br label %14951

14951:                                            ; preds = %14934, %14917
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #10
  br label %14952

14952:                                            ; preds = %14951
  br label %14953

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

14954:                                            ; No predecessors!
  br label %14955

14955:                                            ; preds = %14954
  br label %14956

14956:                                            ; preds = %14955, %14897
  br label %14957

14957:                                            ; preds = %14956
  br label %14958

14958:                                            ; preds = %14957
  br label %14959

14959:                                            ; preds = %14958
  %14960 = load i32, ptr @test_count, align 4, !tbaa !5
  %14961 = add nsw i32 %14960, 1
  store i32 %14961, ptr @test_count, align 4, !tbaa !5
  %14962 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14962, ptr %307, align 8, !tbaa !9
  %14963 = icmp eq ptr %14962, null
  br i1 %14963, label %14964, label %15017

14964:                                            ; preds = %14959
  br label %14965

14965:                                            ; preds = %14964
  br label %14966

14966:                                            ; preds = %14965
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #10
  %14967 = call ptr @__errno_location() #11
  %14968 = load i32, ptr %14967, align 4, !tbaa !5
  store i32 %14968, ptr %317, align 4, !tbaa !5
  %14969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14970 = call i32 @s2n_print_stacktrace(ptr noundef %14969)
  %14971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14972 = trunc i8 %14971 to i1
  br i1 %14972, label %14973, label %14995

14973:                                            ; preds = %14966
  %14974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14975 = call i32 @fileno(ptr noundef %14974) #10
  %14976 = call i32 @isatty(i32 noundef %14975) #10
  %14977 = icmp ne i32 %14976, 0
  br i1 %14977, label %14978, label %14995

14978:                                            ; preds = %14973
  %14979 = load i32, ptr %317, align 4, !tbaa !5
  %14980 = call ptr @__errno_location() #11
  store i32 %14979, ptr %14980, align 4, !tbaa !5
  %14981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14982 = load i32, ptr @test_count, align 4, !tbaa !5
  %14983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14984 = load i32, ptr %14983, align 4, !tbaa !5
  %14985 = call ptr @s2n_strerror(i32 noundef %14984, ptr noundef @.str.4)
  %14986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14987 = load i32, ptr %14986, align 4, !tbaa !5
  %14988 = call ptr @s2n_strerror_debug(i32 noundef %14987, ptr noundef @.str.4)
  %14989 = call ptr @__errno_location() #11
  %14990 = load i32, ptr %14989, align 4, !tbaa !5
  %14991 = call ptr @strerror(i32 noundef %14990) #10
  %14992 = call ptr @__errno_location() #11
  %14993 = load i32, ptr %14992, align 4, !tbaa !5
  %14994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14981, ptr noundef @.str.2, i32 noundef %14982, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 908, ptr noundef %14985, ptr noundef %14988, ptr noundef %14991, i32 noundef %14993) #10
  br label %15012

14995:                                            ; preds = %14973, %14966
  %14996 = load i32, ptr %317, align 4, !tbaa !5
  %14997 = call ptr @__errno_location() #11
  store i32 %14996, ptr %14997, align 4, !tbaa !5
  %14998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14999 = load i32, ptr @test_count, align 4, !tbaa !5
  %15000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call ptr @s2n_strerror(i32 noundef %15001, ptr noundef @.str.4)
  %15003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15004 = load i32, ptr %15003, align 4, !tbaa !5
  %15005 = call ptr @s2n_strerror_debug(i32 noundef %15004, ptr noundef @.str.4)
  %15006 = call ptr @__errno_location() #11
  %15007 = load i32, ptr %15006, align 4, !tbaa !5
  %15008 = call ptr @strerror(i32 noundef %15007) #10
  %15009 = call ptr @__errno_location() #11
  %15010 = load i32, ptr %15009, align 4, !tbaa !5
  %15011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14998, ptr noundef @.str.5, i32 noundef %14999, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 908, ptr noundef %15002, ptr noundef %15005, ptr noundef %15008, i32 noundef %15010) #10
  br label %15012

15012:                                            ; preds = %14995, %14978
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #10
  br label %15013

15013:                                            ; preds = %15012
  br label %15014

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

15015:                                            ; No predecessors!
  br label %15016

15016:                                            ; preds = %15015
  br label %15017

15017:                                            ; preds = %15016, %14959
  br label %15018

15018:                                            ; preds = %15017
  br label %15019

15019:                                            ; preds = %15018
  br label %15020

15020:                                            ; preds = %15019
  %15021 = load i32, ptr @test_count, align 4, !tbaa !5
  %15022 = add nsw i32 %15021, 1
  store i32 %15022, ptr @test_count, align 4, !tbaa !5
  %15023 = load ptr, ptr %307, align 8, !tbaa !9
  %15024 = load ptr, ptr %310, align 8, !tbaa !9
  %15025 = call i32 @s2n_connection_set_config(ptr noundef %15023, ptr noundef %15024)
  %15026 = icmp eq i32 %15025, -1
  br i1 %15026, label %15027, label %15080

15027:                                            ; preds = %15020
  br label %15028

15028:                                            ; preds = %15027
  br label %15029

15029:                                            ; preds = %15028
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #10
  %15030 = call ptr @__errno_location() #11
  %15031 = load i32, ptr %15030, align 4, !tbaa !5
  store i32 %15031, ptr %318, align 4, !tbaa !5
  %15032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15033 = call i32 @s2n_print_stacktrace(ptr noundef %15032)
  %15034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15035 = trunc i8 %15034 to i1
  br i1 %15035, label %15036, label %15058

15036:                                            ; preds = %15029
  %15037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15038 = call i32 @fileno(ptr noundef %15037) #10
  %15039 = call i32 @isatty(i32 noundef %15038) #10
  %15040 = icmp ne i32 %15039, 0
  br i1 %15040, label %15041, label %15058

15041:                                            ; preds = %15036
  %15042 = load i32, ptr %318, align 4, !tbaa !5
  %15043 = call ptr @__errno_location() #11
  store i32 %15042, ptr %15043, align 4, !tbaa !5
  %15044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15045 = load i32, ptr @test_count, align 4, !tbaa !5
  %15046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15047 = load i32, ptr %15046, align 4, !tbaa !5
  %15048 = call ptr @s2n_strerror(i32 noundef %15047, ptr noundef @.str.4)
  %15049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15050 = load i32, ptr %15049, align 4, !tbaa !5
  %15051 = call ptr @s2n_strerror_debug(i32 noundef %15050, ptr noundef @.str.4)
  %15052 = call ptr @__errno_location() #11
  %15053 = load i32, ptr %15052, align 4, !tbaa !5
  %15054 = call ptr @strerror(i32 noundef %15053) #10
  %15055 = call ptr @__errno_location() #11
  %15056 = load i32, ptr %15055, align 4, !tbaa !5
  %15057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15044, ptr noundef @.str.2, i32 noundef %15045, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 909, ptr noundef %15048, ptr noundef %15051, ptr noundef %15054, i32 noundef %15056) #10
  br label %15075

15058:                                            ; preds = %15036, %15029
  %15059 = load i32, ptr %318, align 4, !tbaa !5
  %15060 = call ptr @__errno_location() #11
  store i32 %15059, ptr %15060, align 4, !tbaa !5
  %15061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15062 = load i32, ptr @test_count, align 4, !tbaa !5
  %15063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15064 = load i32, ptr %15063, align 4, !tbaa !5
  %15065 = call ptr @s2n_strerror(i32 noundef %15064, ptr noundef @.str.4)
  %15066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15067 = load i32, ptr %15066, align 4, !tbaa !5
  %15068 = call ptr @s2n_strerror_debug(i32 noundef %15067, ptr noundef @.str.4)
  %15069 = call ptr @__errno_location() #11
  %15070 = load i32, ptr %15069, align 4, !tbaa !5
  %15071 = call ptr @strerror(i32 noundef %15070) #10
  %15072 = call ptr @__errno_location() #11
  %15073 = load i32, ptr %15072, align 4, !tbaa !5
  %15074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15061, ptr noundef @.str.5, i32 noundef %15062, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 909, ptr noundef %15065, ptr noundef %15068, ptr noundef %15071, i32 noundef %15073) #10
  br label %15075

15075:                                            ; preds = %15058, %15041
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #10
  br label %15076

15076:                                            ; preds = %15075
  br label %15077

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

15078:                                            ; No predecessors!
  br label %15079

15079:                                            ; preds = %15078
  br label %15080

15080:                                            ; preds = %15079, %15020
  br label %15081

15081:                                            ; preds = %15080
  br label %15082

15082:                                            ; preds = %15081
  %15083 = load ptr, ptr %307, align 8, !tbaa !9
  %15084 = getelementptr inbounds %struct.s2n_connection, ptr %15083, i32 0, i32 23
  store i8 33, ptr %15084, align 4, !tbaa !15
  %15085 = load ptr, ptr %307, align 8, !tbaa !9
  %15086 = getelementptr inbounds %struct.s2n_connection, ptr %15085, i32 0, i32 22
  store i8 33, ptr %15086, align 1, !tbaa !42
  %15087 = load ptr, ptr %307, align 8, !tbaa !9
  %15088 = getelementptr inbounds %struct.s2n_connection, ptr %15087, i32 0, i32 21
  store i8 33, ptr %15088, align 2, !tbaa !43
  br label %15089

15089:                                            ; preds = %15082
  %15090 = load i32, ptr @test_count, align 4, !tbaa !5
  %15091 = add nsw i32 %15090, 1
  store i32 %15091, ptr @test_count, align 4, !tbaa !5
  %15092 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %15092, ptr %308, align 8, !tbaa !9
  %15093 = icmp eq ptr %15092, null
  br i1 %15093, label %15094, label %15147

15094:                                            ; preds = %15089
  br label %15095

15095:                                            ; preds = %15094
  br label %15096

15096:                                            ; preds = %15095
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #10
  %15097 = call ptr @__errno_location() #11
  %15098 = load i32, ptr %15097, align 4, !tbaa !5
  store i32 %15098, ptr %319, align 4, !tbaa !5
  %15099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15100 = call i32 @s2n_print_stacktrace(ptr noundef %15099)
  %15101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15102 = trunc i8 %15101 to i1
  br i1 %15102, label %15103, label %15125

15103:                                            ; preds = %15096
  %15104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15105 = call i32 @fileno(ptr noundef %15104) #10
  %15106 = call i32 @isatty(i32 noundef %15105) #10
  %15107 = icmp ne i32 %15106, 0
  br i1 %15107, label %15108, label %15125

15108:                                            ; preds = %15103
  %15109 = load i32, ptr %319, align 4, !tbaa !5
  %15110 = call ptr @__errno_location() #11
  store i32 %15109, ptr %15110, align 4, !tbaa !5
  %15111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15112 = load i32, ptr @test_count, align 4, !tbaa !5
  %15113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15114 = load i32, ptr %15113, align 4, !tbaa !5
  %15115 = call ptr @s2n_strerror(i32 noundef %15114, ptr noundef @.str.4)
  %15116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15117 = load i32, ptr %15116, align 4, !tbaa !5
  %15118 = call ptr @s2n_strerror_debug(i32 noundef %15117, ptr noundef @.str.4)
  %15119 = call ptr @__errno_location() #11
  %15120 = load i32, ptr %15119, align 4, !tbaa !5
  %15121 = call ptr @strerror(i32 noundef %15120) #10
  %15122 = call ptr @__errno_location() #11
  %15123 = load i32, ptr %15122, align 4, !tbaa !5
  %15124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15111, ptr noundef @.str.2, i32 noundef %15112, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 914, ptr noundef %15115, ptr noundef %15118, ptr noundef %15121, i32 noundef %15123) #10
  br label %15142

15125:                                            ; preds = %15103, %15096
  %15126 = load i32, ptr %319, align 4, !tbaa !5
  %15127 = call ptr @__errno_location() #11
  store i32 %15126, ptr %15127, align 4, !tbaa !5
  %15128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15129 = load i32, ptr @test_count, align 4, !tbaa !5
  %15130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call ptr @s2n_strerror(i32 noundef %15131, ptr noundef @.str.4)
  %15133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @s2n_strerror_debug(i32 noundef %15134, ptr noundef @.str.4)
  %15136 = call ptr @__errno_location() #11
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call ptr @strerror(i32 noundef %15137) #10
  %15139 = call ptr @__errno_location() #11
  %15140 = load i32, ptr %15139, align 4, !tbaa !5
  %15141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15128, ptr noundef @.str.5, i32 noundef %15129, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 914, ptr noundef %15132, ptr noundef %15135, ptr noundef %15138, i32 noundef %15140) #10
  br label %15142

15142:                                            ; preds = %15125, %15108
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #10
  br label %15143

15143:                                            ; preds = %15142
  br label %15144

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

15145:                                            ; No predecessors!
  br label %15146

15146:                                            ; preds = %15145
  br label %15147

15147:                                            ; preds = %15146, %15089
  br label %15148

15148:                                            ; preds = %15147
  br label %15149

15149:                                            ; preds = %15148
  %15150 = load ptr, ptr %308, align 8, !tbaa !9
  %15151 = getelementptr inbounds %struct.s2n_connection, ptr %15150, i32 0, i32 23
  store i8 33, ptr %15151, align 4, !tbaa !15
  %15152 = load ptr, ptr %308, align 8, !tbaa !9
  %15153 = getelementptr inbounds %struct.s2n_connection, ptr %15152, i32 0, i32 22
  store i8 33, ptr %15153, align 1, !tbaa !42
  %15154 = load ptr, ptr %308, align 8, !tbaa !9
  %15155 = getelementptr inbounds %struct.s2n_connection, ptr %15154, i32 0, i32 21
  store i8 33, ptr %15155, align 2, !tbaa !43
  br label %15156

15156:                                            ; preds = %15149
  %15157 = load i32, ptr @test_count, align 4, !tbaa !5
  %15158 = add nsw i32 %15157, 1
  store i32 %15158, ptr @test_count, align 4, !tbaa !5
  %15159 = load ptr, ptr %307, align 8, !tbaa !9
  %15160 = load ptr, ptr %308, align 8, !tbaa !9
  %15161 = call i32 @s2n_connections_set_io_pair(ptr noundef %15159, ptr noundef %15160, ptr noundef %15)
  %15162 = icmp eq i32 %15161, -1
  br i1 %15162, label %15163, label %15216

15163:                                            ; preds = %15156
  br label %15164

15164:                                            ; preds = %15163
  br label %15165

15165:                                            ; preds = %15164
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #10
  %15166 = call ptr @__errno_location() #11
  %15167 = load i32, ptr %15166, align 4, !tbaa !5
  store i32 %15167, ptr %320, align 4, !tbaa !5
  %15168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15169 = call i32 @s2n_print_stacktrace(ptr noundef %15168)
  %15170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15171 = trunc i8 %15170 to i1
  br i1 %15171, label %15172, label %15194

15172:                                            ; preds = %15165
  %15173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15174 = call i32 @fileno(ptr noundef %15173) #10
  %15175 = call i32 @isatty(i32 noundef %15174) #10
  %15176 = icmp ne i32 %15175, 0
  br i1 %15176, label %15177, label %15194

15177:                                            ; preds = %15172
  %15178 = load i32, ptr %320, align 4, !tbaa !5
  %15179 = call ptr @__errno_location() #11
  store i32 %15178, ptr %15179, align 4, !tbaa !5
  %15180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15181 = load i32, ptr @test_count, align 4, !tbaa !5
  %15182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15183 = load i32, ptr %15182, align 4, !tbaa !5
  %15184 = call ptr @s2n_strerror(i32 noundef %15183, ptr noundef @.str.4)
  %15185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15186 = load i32, ptr %15185, align 4, !tbaa !5
  %15187 = call ptr @s2n_strerror_debug(i32 noundef %15186, ptr noundef @.str.4)
  %15188 = call ptr @__errno_location() #11
  %15189 = load i32, ptr %15188, align 4, !tbaa !5
  %15190 = call ptr @strerror(i32 noundef %15189) #10
  %15191 = call ptr @__errno_location() #11
  %15192 = load i32, ptr %15191, align 4, !tbaa !5
  %15193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15180, ptr noundef @.str.2, i32 noundef %15181, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 919, ptr noundef %15184, ptr noundef %15187, ptr noundef %15190, i32 noundef %15192) #10
  br label %15211

15194:                                            ; preds = %15172, %15165
  %15195 = load i32, ptr %320, align 4, !tbaa !5
  %15196 = call ptr @__errno_location() #11
  store i32 %15195, ptr %15196, align 4, !tbaa !5
  %15197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15198 = load i32, ptr @test_count, align 4, !tbaa !5
  %15199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15200 = load i32, ptr %15199, align 4, !tbaa !5
  %15201 = call ptr @s2n_strerror(i32 noundef %15200, ptr noundef @.str.4)
  %15202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15203 = load i32, ptr %15202, align 4, !tbaa !5
  %15204 = call ptr @s2n_strerror_debug(i32 noundef %15203, ptr noundef @.str.4)
  %15205 = call ptr @__errno_location() #11
  %15206 = load i32, ptr %15205, align 4, !tbaa !5
  %15207 = call ptr @strerror(i32 noundef %15206) #10
  %15208 = call ptr @__errno_location() #11
  %15209 = load i32, ptr %15208, align 4, !tbaa !5
  %15210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15197, ptr noundef @.str.5, i32 noundef %15198, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 919, ptr noundef %15201, ptr noundef %15204, ptr noundef %15207, i32 noundef %15209) #10
  br label %15211

15211:                                            ; preds = %15194, %15177
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #10
  br label %15212

15212:                                            ; preds = %15211
  br label %15213

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

15214:                                            ; No predecessors!
  br label %15215

15215:                                            ; preds = %15214
  br label %15216

15216:                                            ; preds = %15215, %15156
  br label %15217

15217:                                            ; preds = %15216
  br label %15218

15218:                                            ; preds = %15217
  br label %15219

15219:                                            ; preds = %15218
  %15220 = load i32, ptr @test_count, align 4, !tbaa !5
  %15221 = add nsw i32 %15220, 1
  store i32 %15221, ptr @test_count, align 4, !tbaa !5
  %15222 = call ptr @s2n_config_new()
  store ptr %15222, ptr %309, align 8, !tbaa !9
  %15223 = icmp eq ptr %15222, null
  br i1 %15223, label %15224, label %15277

15224:                                            ; preds = %15219
  br label %15225

15225:                                            ; preds = %15224
  br label %15226

15226:                                            ; preds = %15225
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #10
  %15227 = call ptr @__errno_location() #11
  %15228 = load i32, ptr %15227, align 4, !tbaa !5
  store i32 %15228, ptr %321, align 4, !tbaa !5
  %15229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15230 = call i32 @s2n_print_stacktrace(ptr noundef %15229)
  %15231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15232 = trunc i8 %15231 to i1
  br i1 %15232, label %15233, label %15255

15233:                                            ; preds = %15226
  %15234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15235 = call i32 @fileno(ptr noundef %15234) #10
  %15236 = call i32 @isatty(i32 noundef %15235) #10
  %15237 = icmp ne i32 %15236, 0
  br i1 %15237, label %15238, label %15255

15238:                                            ; preds = %15233
  %15239 = load i32, ptr %321, align 4, !tbaa !5
  %15240 = call ptr @__errno_location() #11
  store i32 %15239, ptr %15240, align 4, !tbaa !5
  %15241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15242 = load i32, ptr @test_count, align 4, !tbaa !5
  %15243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15244 = load i32, ptr %15243, align 4, !tbaa !5
  %15245 = call ptr @s2n_strerror(i32 noundef %15244, ptr noundef @.str.4)
  %15246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15247 = load i32, ptr %15246, align 4, !tbaa !5
  %15248 = call ptr @s2n_strerror_debug(i32 noundef %15247, ptr noundef @.str.4)
  %15249 = call ptr @__errno_location() #11
  %15250 = load i32, ptr %15249, align 4, !tbaa !5
  %15251 = call ptr @strerror(i32 noundef %15250) #10
  %15252 = call ptr @__errno_location() #11
  %15253 = load i32, ptr %15252, align 4, !tbaa !5
  %15254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15241, ptr noundef @.str.2, i32 noundef %15242, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 921, ptr noundef %15245, ptr noundef %15248, ptr noundef %15251, i32 noundef %15253) #10
  br label %15272

15255:                                            ; preds = %15233, %15226
  %15256 = load i32, ptr %321, align 4, !tbaa !5
  %15257 = call ptr @__errno_location() #11
  store i32 %15256, ptr %15257, align 4, !tbaa !5
  %15258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15259 = load i32, ptr @test_count, align 4, !tbaa !5
  %15260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call ptr @s2n_strerror(i32 noundef %15261, ptr noundef @.str.4)
  %15263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15264 = load i32, ptr %15263, align 4, !tbaa !5
  %15265 = call ptr @s2n_strerror_debug(i32 noundef %15264, ptr noundef @.str.4)
  %15266 = call ptr @__errno_location() #11
  %15267 = load i32, ptr %15266, align 4, !tbaa !5
  %15268 = call ptr @strerror(i32 noundef %15267) #10
  %15269 = call ptr @__errno_location() #11
  %15270 = load i32, ptr %15269, align 4, !tbaa !5
  %15271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15258, ptr noundef @.str.5, i32 noundef %15259, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 921, ptr noundef %15262, ptr noundef %15265, ptr noundef %15268, i32 noundef %15270) #10
  br label %15272

15272:                                            ; preds = %15255, %15238
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #10
  br label %15273

15273:                                            ; preds = %15272
  br label %15274

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

15275:                                            ; No predecessors!
  br label %15276

15276:                                            ; preds = %15275
  br label %15277

15277:                                            ; preds = %15276, %15219
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

15279:                                            ; preds = %15278
  br label %15280

15280:                                            ; preds = %15279
  %15281 = load i32, ptr @test_count, align 4, !tbaa !5
  %15282 = add nsw i32 %15281, 1
  store i32 %15282, ptr @test_count, align 4, !tbaa !5
  %15283 = load ptr, ptr %6, align 8, !tbaa !9
  %15284 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %15283, i64 noundef 12000)
  %15285 = icmp eq i32 %15284, -1
  br i1 %15285, label %15286, label %15339

15286:                                            ; preds = %15280
  br label %15287

15287:                                            ; preds = %15286
  br label %15288

15288:                                            ; preds = %15287
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #10
  %15289 = call ptr @__errno_location() #11
  %15290 = load i32, ptr %15289, align 4, !tbaa !5
  store i32 %15290, ptr %322, align 4, !tbaa !5
  %15291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15292 = call i32 @s2n_print_stacktrace(ptr noundef %15291)
  %15293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15294 = trunc i8 %15293 to i1
  br i1 %15294, label %15295, label %15317

15295:                                            ; preds = %15288
  %15296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15297 = call i32 @fileno(ptr noundef %15296) #10
  %15298 = call i32 @isatty(i32 noundef %15297) #10
  %15299 = icmp ne i32 %15298, 0
  br i1 %15299, label %15300, label %15317

15300:                                            ; preds = %15295
  %15301 = load i32, ptr %322, align 4, !tbaa !5
  %15302 = call ptr @__errno_location() #11
  store i32 %15301, ptr %15302, align 4, !tbaa !5
  %15303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15304 = load i32, ptr @test_count, align 4, !tbaa !5
  %15305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15306 = load i32, ptr %15305, align 4, !tbaa !5
  %15307 = call ptr @s2n_strerror(i32 noundef %15306, ptr noundef @.str.4)
  %15308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15309 = load i32, ptr %15308, align 4, !tbaa !5
  %15310 = call ptr @s2n_strerror_debug(i32 noundef %15309, ptr noundef @.str.4)
  %15311 = call ptr @__errno_location() #11
  %15312 = load i32, ptr %15311, align 4, !tbaa !5
  %15313 = call ptr @strerror(i32 noundef %15312) #10
  %15314 = call ptr @__errno_location() #11
  %15315 = load i32, ptr %15314, align 4, !tbaa !5
  %15316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15303, ptr noundef @.str.2, i32 noundef %15304, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 922, ptr noundef %15307, ptr noundef %15310, ptr noundef %15313, i32 noundef %15315) #10
  br label %15334

15317:                                            ; preds = %15295, %15288
  %15318 = load i32, ptr %322, align 4, !tbaa !5
  %15319 = call ptr @__errno_location() #11
  store i32 %15318, ptr %15319, align 4, !tbaa !5
  %15320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15321 = load i32, ptr @test_count, align 4, !tbaa !5
  %15322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call ptr @s2n_strerror(i32 noundef %15323, ptr noundef @.str.4)
  %15325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15326 = load i32, ptr %15325, align 4, !tbaa !5
  %15327 = call ptr @s2n_strerror_debug(i32 noundef %15326, ptr noundef @.str.4)
  %15328 = call ptr @__errno_location() #11
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call ptr @strerror(i32 noundef %15329) #10
  %15331 = call ptr @__errno_location() #11
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15320, ptr noundef @.str.5, i32 noundef %15321, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 922, ptr noundef %15324, ptr noundef %15327, ptr noundef %15330, i32 noundef %15332) #10
  br label %15334

15334:                                            ; preds = %15317, %15300
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #10
  br label %15335

15335:                                            ; preds = %15334
  br label %15336

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

15337:                                            ; No predecessors!
  br label %15338

15338:                                            ; preds = %15337
  br label %15339

15339:                                            ; preds = %15338, %15280
  br label %15340

15340:                                            ; preds = %15339
  br label %15341

15341:                                            ; preds = %15340
  br label %15342

15342:                                            ; preds = %15341
  %15343 = load i32, ptr @test_count, align 4, !tbaa !5
  %15344 = add nsw i32 %15343, 1
  store i32 %15344, ptr @test_count, align 4, !tbaa !5
  %15345 = load ptr, ptr %7, align 8, !tbaa !9
  %15346 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %15345, i64 noundef 12000)
  %15347 = icmp eq i32 %15346, -1
  br i1 %15347, label %15348, label %15401

15348:                                            ; preds = %15342
  br label %15349

15349:                                            ; preds = %15348
  br label %15350

15350:                                            ; preds = %15349
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #10
  %15351 = call ptr @__errno_location() #11
  %15352 = load i32, ptr %15351, align 4, !tbaa !5
  store i32 %15352, ptr %323, align 4, !tbaa !5
  %15353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15354 = call i32 @s2n_print_stacktrace(ptr noundef %15353)
  %15355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15356 = trunc i8 %15355 to i1
  br i1 %15356, label %15357, label %15379

15357:                                            ; preds = %15350
  %15358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15359 = call i32 @fileno(ptr noundef %15358) #10
  %15360 = call i32 @isatty(i32 noundef %15359) #10
  %15361 = icmp ne i32 %15360, 0
  br i1 %15361, label %15362, label %15379

15362:                                            ; preds = %15357
  %15363 = load i32, ptr %323, align 4, !tbaa !5
  %15364 = call ptr @__errno_location() #11
  store i32 %15363, ptr %15364, align 4, !tbaa !5
  %15365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15366 = load i32, ptr @test_count, align 4, !tbaa !5
  %15367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15368 = load i32, ptr %15367, align 4, !tbaa !5
  %15369 = call ptr @s2n_strerror(i32 noundef %15368, ptr noundef @.str.4)
  %15370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15371 = load i32, ptr %15370, align 4, !tbaa !5
  %15372 = call ptr @s2n_strerror_debug(i32 noundef %15371, ptr noundef @.str.4)
  %15373 = call ptr @__errno_location() #11
  %15374 = load i32, ptr %15373, align 4, !tbaa !5
  %15375 = call ptr @strerror(i32 noundef %15374) #10
  %15376 = call ptr @__errno_location() #11
  %15377 = load i32, ptr %15376, align 4, !tbaa !5
  %15378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15365, ptr noundef @.str.2, i32 noundef %15366, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 923, ptr noundef %15369, ptr noundef %15372, ptr noundef %15375, i32 noundef %15377) #10
  br label %15396

15379:                                            ; preds = %15357, %15350
  %15380 = load i32, ptr %323, align 4, !tbaa !5
  %15381 = call ptr @__errno_location() #11
  store i32 %15380, ptr %15381, align 4, !tbaa !5
  %15382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15383 = load i32, ptr @test_count, align 4, !tbaa !5
  %15384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15385 = load i32, ptr %15384, align 4, !tbaa !5
  %15386 = call ptr @s2n_strerror(i32 noundef %15385, ptr noundef @.str.4)
  %15387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15388 = load i32, ptr %15387, align 4, !tbaa !5
  %15389 = call ptr @s2n_strerror_debug(i32 noundef %15388, ptr noundef @.str.4)
  %15390 = call ptr @__errno_location() #11
  %15391 = load i32, ptr %15390, align 4, !tbaa !5
  %15392 = call ptr @strerror(i32 noundef %15391) #10
  %15393 = call ptr @__errno_location() #11
  %15394 = load i32, ptr %15393, align 4, !tbaa !5
  %15395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15382, ptr noundef @.str.5, i32 noundef %15383, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 923, ptr noundef %15386, ptr noundef %15389, ptr noundef %15392, i32 noundef %15394) #10
  br label %15396

15396:                                            ; preds = %15379, %15362
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #10
  br label %15397

15397:                                            ; preds = %15396
  br label %15398

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

15399:                                            ; No predecessors!
  br label %15400

15400:                                            ; preds = %15399
  br label %15401

15401:                                            ; preds = %15400, %15342
  br label %15402

15402:                                            ; preds = %15401
  br label %15403

15403:                                            ; preds = %15402
  br label %15404

15404:                                            ; preds = %15403
  %15405 = load i32, ptr @test_count, align 4, !tbaa !5
  %15406 = add nsw i32 %15405, 1
  store i32 %15406, ptr @test_count, align 4, !tbaa !5
  %15407 = load ptr, ptr %309, align 8, !tbaa !9
  %15408 = load ptr, ptr %6, align 8, !tbaa !9
  %15409 = load ptr, ptr %7, align 8, !tbaa !9
  %15410 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %15407, ptr noundef %15408, ptr noundef %15409)
  %15411 = icmp eq i32 %15410, -1
  br i1 %15411, label %15412, label %15465

15412:                                            ; preds = %15404
  br label %15413

15413:                                            ; preds = %15412
  br label %15414

15414:                                            ; preds = %15413
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #10
  %15415 = call ptr @__errno_location() #11
  %15416 = load i32, ptr %15415, align 4, !tbaa !5
  store i32 %15416, ptr %324, align 4, !tbaa !5
  %15417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15418 = call i32 @s2n_print_stacktrace(ptr noundef %15417)
  %15419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15420 = trunc i8 %15419 to i1
  br i1 %15420, label %15421, label %15443

15421:                                            ; preds = %15414
  %15422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15423 = call i32 @fileno(ptr noundef %15422) #10
  %15424 = call i32 @isatty(i32 noundef %15423) #10
  %15425 = icmp ne i32 %15424, 0
  br i1 %15425, label %15426, label %15443

15426:                                            ; preds = %15421
  %15427 = load i32, ptr %324, align 4, !tbaa !5
  %15428 = call ptr @__errno_location() #11
  store i32 %15427, ptr %15428, align 4, !tbaa !5
  %15429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15430 = load i32, ptr @test_count, align 4, !tbaa !5
  %15431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15432 = load i32, ptr %15431, align 4, !tbaa !5
  %15433 = call ptr @s2n_strerror(i32 noundef %15432, ptr noundef @.str.4)
  %15434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15435 = load i32, ptr %15434, align 4, !tbaa !5
  %15436 = call ptr @s2n_strerror_debug(i32 noundef %15435, ptr noundef @.str.4)
  %15437 = call ptr @__errno_location() #11
  %15438 = load i32, ptr %15437, align 4, !tbaa !5
  %15439 = call ptr @strerror(i32 noundef %15438) #10
  %15440 = call ptr @__errno_location() #11
  %15441 = load i32, ptr %15440, align 4, !tbaa !5
  %15442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15429, ptr noundef @.str.2, i32 noundef %15430, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 924, ptr noundef %15433, ptr noundef %15436, ptr noundef %15439, i32 noundef %15441) #10
  br label %15460

15443:                                            ; preds = %15421, %15414
  %15444 = load i32, ptr %324, align 4, !tbaa !5
  %15445 = call ptr @__errno_location() #11
  store i32 %15444, ptr %15445, align 4, !tbaa !5
  %15446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15447 = load i32, ptr @test_count, align 4, !tbaa !5
  %15448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15449 = load i32, ptr %15448, align 4, !tbaa !5
  %15450 = call ptr @s2n_strerror(i32 noundef %15449, ptr noundef @.str.4)
  %15451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15452 = load i32, ptr %15451, align 4, !tbaa !5
  %15453 = call ptr @s2n_strerror_debug(i32 noundef %15452, ptr noundef @.str.4)
  %15454 = call ptr @__errno_location() #11
  %15455 = load i32, ptr %15454, align 4, !tbaa !5
  %15456 = call ptr @strerror(i32 noundef %15455) #10
  %15457 = call ptr @__errno_location() #11
  %15458 = load i32, ptr %15457, align 4, !tbaa !5
  %15459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15446, ptr noundef @.str.5, i32 noundef %15447, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 924, ptr noundef %15450, ptr noundef %15453, ptr noundef %15456, i32 noundef %15458) #10
  br label %15460

15460:                                            ; preds = %15443, %15426
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #10
  br label %15461

15461:                                            ; preds = %15460
  br label %15462

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

15463:                                            ; No predecessors!
  br label %15464

15464:                                            ; preds = %15463
  br label %15465

15465:                                            ; preds = %15464, %15404
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

15467:                                            ; preds = %15466
  br label %15468

15468:                                            ; preds = %15467
  %15469 = load i32, ptr @test_count, align 4, !tbaa !5
  %15470 = add nsw i32 %15469, 1
  store i32 %15470, ptr @test_count, align 4, !tbaa !5
  %15471 = load ptr, ptr %309, align 8, !tbaa !9
  %15472 = call i32 @s2n_config_set_extension_data(ptr noundef %15471, i32 noundef 5, ptr noundef @server_ocsp_status_bytes, i32 noundef 1609)
  %15473 = icmp eq i32 %15472, -1
  br i1 %15473, label %15474, label %15527

15474:                                            ; preds = %15468
  br label %15475

15475:                                            ; preds = %15474
  br label %15476

15476:                                            ; preds = %15475
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  %15477 = call ptr @__errno_location() #11
  %15478 = load i32, ptr %15477, align 4, !tbaa !5
  store i32 %15478, ptr %325, align 4, !tbaa !5
  %15479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15480 = call i32 @s2n_print_stacktrace(ptr noundef %15479)
  %15481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15482 = trunc i8 %15481 to i1
  br i1 %15482, label %15483, label %15505

15483:                                            ; preds = %15476
  %15484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15485 = call i32 @fileno(ptr noundef %15484) #10
  %15486 = call i32 @isatty(i32 noundef %15485) #10
  %15487 = icmp ne i32 %15486, 0
  br i1 %15487, label %15488, label %15505

15488:                                            ; preds = %15483
  %15489 = load i32, ptr %325, align 4, !tbaa !5
  %15490 = call ptr @__errno_location() #11
  store i32 %15489, ptr %15490, align 4, !tbaa !5
  %15491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15492 = load i32, ptr @test_count, align 4, !tbaa !5
  %15493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15494 = load i32, ptr %15493, align 4, !tbaa !5
  %15495 = call ptr @s2n_strerror(i32 noundef %15494, ptr noundef @.str.4)
  %15496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15497 = load i32, ptr %15496, align 4, !tbaa !5
  %15498 = call ptr @s2n_strerror_debug(i32 noundef %15497, ptr noundef @.str.4)
  %15499 = call ptr @__errno_location() #11
  %15500 = load i32, ptr %15499, align 4, !tbaa !5
  %15501 = call ptr @strerror(i32 noundef %15500) #10
  %15502 = call ptr @__errno_location() #11
  %15503 = load i32, ptr %15502, align 4, !tbaa !5
  %15504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15491, ptr noundef @.str.2, i32 noundef %15492, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 926, ptr noundef %15495, ptr noundef %15498, ptr noundef %15501, i32 noundef %15503) #10
  br label %15522

15505:                                            ; preds = %15483, %15476
  %15506 = load i32, ptr %325, align 4, !tbaa !5
  %15507 = call ptr @__errno_location() #11
  store i32 %15506, ptr %15507, align 4, !tbaa !5
  %15508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15509 = load i32, ptr @test_count, align 4, !tbaa !5
  %15510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15511 = load i32, ptr %15510, align 4, !tbaa !5
  %15512 = call ptr @s2n_strerror(i32 noundef %15511, ptr noundef @.str.4)
  %15513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15514 = load i32, ptr %15513, align 4, !tbaa !5
  %15515 = call ptr @s2n_strerror_debug(i32 noundef %15514, ptr noundef @.str.4)
  %15516 = call ptr @__errno_location() #11
  %15517 = load i32, ptr %15516, align 4, !tbaa !5
  %15518 = call ptr @strerror(i32 noundef %15517) #10
  %15519 = call ptr @__errno_location() #11
  %15520 = load i32, ptr %15519, align 4, !tbaa !5
  %15521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15508, ptr noundef @.str.5, i32 noundef %15509, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 926, ptr noundef %15512, ptr noundef %15515, ptr noundef %15518, i32 noundef %15520) #10
  br label %15522

15522:                                            ; preds = %15505, %15488
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  br label %15523

15523:                                            ; preds = %15522
  br label %15524

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

15525:                                            ; No predecessors!
  br label %15526

15526:                                            ; preds = %15525
  br label %15527

15527:                                            ; preds = %15526, %15468
  br label %15528

15528:                                            ; preds = %15527
  br label %15529

15529:                                            ; preds = %15528
  br label %15530

15530:                                            ; preds = %15529
  %15531 = load i32, ptr @test_count, align 4, !tbaa !5
  %15532 = add nsw i32 %15531, 1
  store i32 %15532, ptr @test_count, align 4, !tbaa !5
  %15533 = load ptr, ptr %308, align 8, !tbaa !9
  %15534 = load ptr, ptr %309, align 8, !tbaa !9
  %15535 = call i32 @s2n_connection_set_config(ptr noundef %15533, ptr noundef %15534)
  %15536 = icmp eq i32 %15535, -1
  br i1 %15536, label %15537, label %15590

15537:                                            ; preds = %15530
  br label %15538

15538:                                            ; preds = %15537
  br label %15539

15539:                                            ; preds = %15538
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #10
  %15540 = call ptr @__errno_location() #11
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  store i32 %15541, ptr %326, align 4, !tbaa !5
  %15542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15543 = call i32 @s2n_print_stacktrace(ptr noundef %15542)
  %15544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15545 = trunc i8 %15544 to i1
  br i1 %15545, label %15546, label %15568

15546:                                            ; preds = %15539
  %15547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15548 = call i32 @fileno(ptr noundef %15547) #10
  %15549 = call i32 @isatty(i32 noundef %15548) #10
  %15550 = icmp ne i32 %15549, 0
  br i1 %15550, label %15551, label %15568

15551:                                            ; preds = %15546
  %15552 = load i32, ptr %326, align 4, !tbaa !5
  %15553 = call ptr @__errno_location() #11
  store i32 %15552, ptr %15553, align 4, !tbaa !5
  %15554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15555 = load i32, ptr @test_count, align 4, !tbaa !5
  %15556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15557 = load i32, ptr %15556, align 4, !tbaa !5
  %15558 = call ptr @s2n_strerror(i32 noundef %15557, ptr noundef @.str.4)
  %15559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15560 = load i32, ptr %15559, align 4, !tbaa !5
  %15561 = call ptr @s2n_strerror_debug(i32 noundef %15560, ptr noundef @.str.4)
  %15562 = call ptr @__errno_location() #11
  %15563 = load i32, ptr %15562, align 4, !tbaa !5
  %15564 = call ptr @strerror(i32 noundef %15563) #10
  %15565 = call ptr @__errno_location() #11
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15554, ptr noundef @.str.2, i32 noundef %15555, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 927, ptr noundef %15558, ptr noundef %15561, ptr noundef %15564, i32 noundef %15566) #10
  br label %15585

15568:                                            ; preds = %15546, %15539
  %15569 = load i32, ptr %326, align 4, !tbaa !5
  %15570 = call ptr @__errno_location() #11
  store i32 %15569, ptr %15570, align 4, !tbaa !5
  %15571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15572 = load i32, ptr @test_count, align 4, !tbaa !5
  %15573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15574 = load i32, ptr %15573, align 4, !tbaa !5
  %15575 = call ptr @s2n_strerror(i32 noundef %15574, ptr noundef @.str.4)
  %15576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15577 = load i32, ptr %15576, align 4, !tbaa !5
  %15578 = call ptr @s2n_strerror_debug(i32 noundef %15577, ptr noundef @.str.4)
  %15579 = call ptr @__errno_location() #11
  %15580 = load i32, ptr %15579, align 4, !tbaa !5
  %15581 = call ptr @strerror(i32 noundef %15580) #10
  %15582 = call ptr @__errno_location() #11
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15571, ptr noundef @.str.5, i32 noundef %15572, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 927, ptr noundef %15575, ptr noundef %15578, ptr noundef %15581, i32 noundef %15583) #10
  br label %15585

15585:                                            ; preds = %15568, %15551
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #10
  br label %15586

15586:                                            ; preds = %15585
  br label %15587

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

15588:                                            ; No predecessors!
  br label %15589

15589:                                            ; preds = %15588
  br label %15590

15590:                                            ; preds = %15589, %15530
  br label %15591

15591:                                            ; preds = %15590
  br label %15592

15592:                                            ; preds = %15591
  br label %15593

15593:                                            ; preds = %15592
  %15594 = load i32, ptr @test_count, align 4, !tbaa !5
  %15595 = add nsw i32 %15594, 1
  store i32 %15595, ptr @test_count, align 4, !tbaa !5
  %15596 = load ptr, ptr %308, align 8, !tbaa !9
  %15597 = load ptr, ptr %307, align 8, !tbaa !9
  %15598 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %15596, ptr noundef %15597)
  %15599 = icmp eq i32 %15598, -1
  br i1 %15599, label %15600, label %15653

15600:                                            ; preds = %15593
  br label %15601

15601:                                            ; preds = %15600
  br label %15602

15602:                                            ; preds = %15601
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #10
  %15603 = call ptr @__errno_location() #11
  %15604 = load i32, ptr %15603, align 4, !tbaa !5
  store i32 %15604, ptr %327, align 4, !tbaa !5
  %15605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15606 = call i32 @s2n_print_stacktrace(ptr noundef %15605)
  %15607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15608 = trunc i8 %15607 to i1
  br i1 %15608, label %15609, label %15631

15609:                                            ; preds = %15602
  %15610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15611 = call i32 @fileno(ptr noundef %15610) #10
  %15612 = call i32 @isatty(i32 noundef %15611) #10
  %15613 = icmp ne i32 %15612, 0
  br i1 %15613, label %15614, label %15631

15614:                                            ; preds = %15609
  %15615 = load i32, ptr %327, align 4, !tbaa !5
  %15616 = call ptr @__errno_location() #11
  store i32 %15615, ptr %15616, align 4, !tbaa !5
  %15617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15618 = load i32, ptr @test_count, align 4, !tbaa !5
  %15619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15620 = load i32, ptr %15619, align 4, !tbaa !5
  %15621 = call ptr @s2n_strerror(i32 noundef %15620, ptr noundef @.str.4)
  %15622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15623 = load i32, ptr %15622, align 4, !tbaa !5
  %15624 = call ptr @s2n_strerror_debug(i32 noundef %15623, ptr noundef @.str.4)
  %15625 = call ptr @__errno_location() #11
  %15626 = load i32, ptr %15625, align 4, !tbaa !5
  %15627 = call ptr @strerror(i32 noundef %15626) #10
  %15628 = call ptr @__errno_location() #11
  %15629 = load i32, ptr %15628, align 4, !tbaa !5
  %15630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15617, ptr noundef @.str.2, i32 noundef %15618, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 929, ptr noundef %15621, ptr noundef %15624, ptr noundef %15627, i32 noundef %15629) #10
  br label %15648

15631:                                            ; preds = %15609, %15602
  %15632 = load i32, ptr %327, align 4, !tbaa !5
  %15633 = call ptr @__errno_location() #11
  store i32 %15632, ptr %15633, align 4, !tbaa !5
  %15634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15635 = load i32, ptr @test_count, align 4, !tbaa !5
  %15636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15637 = load i32, ptr %15636, align 4, !tbaa !5
  %15638 = call ptr @s2n_strerror(i32 noundef %15637, ptr noundef @.str.4)
  %15639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15640 = load i32, ptr %15639, align 4, !tbaa !5
  %15641 = call ptr @s2n_strerror_debug(i32 noundef %15640, ptr noundef @.str.4)
  %15642 = call ptr @__errno_location() #11
  %15643 = load i32, ptr %15642, align 4, !tbaa !5
  %15644 = call ptr @strerror(i32 noundef %15643) #10
  %15645 = call ptr @__errno_location() #11
  %15646 = load i32, ptr %15645, align 4, !tbaa !5
  %15647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15634, ptr noundef @.str.5, i32 noundef %15635, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 929, ptr noundef %15638, ptr noundef %15641, ptr noundef %15644, i32 noundef %15646) #10
  br label %15648

15648:                                            ; preds = %15631, %15614
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #10
  br label %15649

15649:                                            ; preds = %15648
  br label %15650

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

15651:                                            ; No predecessors!
  br label %15652

15652:                                            ; preds = %15651
  br label %15653

15653:                                            ; preds = %15652, %15593
  br label %15654

15654:                                            ; preds = %15653
  br label %15655

15655:                                            ; preds = %15654
  br label %15656

15656:                                            ; preds = %15655
  %15657 = load i32, ptr @test_count, align 4, !tbaa !5
  %15658 = add nsw i32 %15657, 1
  store i32 %15658, ptr @test_count, align 4, !tbaa !5
  %15659 = load ptr, ptr %308, align 8, !tbaa !9
  %15660 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %15659)
  %15661 = icmp eq i32 %15660, 1
  br i1 %15661, label %15715, label %15662

15662:                                            ; preds = %15656
  br label %15663

15663:                                            ; preds = %15662
  br label %15664

15664:                                            ; preds = %15663
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #10
  %15665 = call ptr @__errno_location() #11
  %15666 = load i32, ptr %15665, align 4, !tbaa !5
  store i32 %15666, ptr %328, align 4, !tbaa !5
  %15667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15668 = call i32 @s2n_print_stacktrace(ptr noundef %15667)
  %15669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15670 = trunc i8 %15669 to i1
  br i1 %15670, label %15671, label %15693

15671:                                            ; preds = %15664
  %15672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15673 = call i32 @fileno(ptr noundef %15672) #10
  %15674 = call i32 @isatty(i32 noundef %15673) #10
  %15675 = icmp ne i32 %15674, 0
  br i1 %15675, label %15676, label %15693

15676:                                            ; preds = %15671
  %15677 = load i32, ptr %328, align 4, !tbaa !5
  %15678 = call ptr @__errno_location() #11
  store i32 %15677, ptr %15678, align 4, !tbaa !5
  %15679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15680 = load i32, ptr @test_count, align 4, !tbaa !5
  %15681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15682 = load i32, ptr %15681, align 4, !tbaa !5
  %15683 = call ptr @s2n_strerror(i32 noundef %15682, ptr noundef @.str.4)
  %15684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15685 = load i32, ptr %15684, align 4, !tbaa !5
  %15686 = call ptr @s2n_strerror_debug(i32 noundef %15685, ptr noundef @.str.4)
  %15687 = call ptr @__errno_location() #11
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  %15689 = call ptr @strerror(i32 noundef %15688) #10
  %15690 = call ptr @__errno_location() #11
  %15691 = load i32, ptr %15690, align 4, !tbaa !5
  %15692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15679, ptr noundef @.str.2, i32 noundef %15680, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 932, ptr noundef %15683, ptr noundef %15686, ptr noundef %15689, i32 noundef %15691) #10
  br label %15710

15693:                                            ; preds = %15671, %15664
  %15694 = load i32, ptr %328, align 4, !tbaa !5
  %15695 = call ptr @__errno_location() #11
  store i32 %15694, ptr %15695, align 4, !tbaa !5
  %15696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15697 = load i32, ptr @test_count, align 4, !tbaa !5
  %15698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15699 = load i32, ptr %15698, align 4, !tbaa !5
  %15700 = call ptr @s2n_strerror(i32 noundef %15699, ptr noundef @.str.4)
  %15701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15702 = load i32, ptr %15701, align 4, !tbaa !5
  %15703 = call ptr @s2n_strerror_debug(i32 noundef %15702, ptr noundef @.str.4)
  %15704 = call ptr @__errno_location() #11
  %15705 = load i32, ptr %15704, align 4, !tbaa !5
  %15706 = call ptr @strerror(i32 noundef %15705) #10
  %15707 = call ptr @__errno_location() #11
  %15708 = load i32, ptr %15707, align 4, !tbaa !5
  %15709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15696, ptr noundef @.str.5, i32 noundef %15697, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 932, ptr noundef %15700, ptr noundef %15703, ptr noundef %15706, i32 noundef %15708) #10
  br label %15710

15710:                                            ; preds = %15693, %15676
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #10
  br label %15711

15711:                                            ; preds = %15710
  br label %15712

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

15713:                                            ; No predecessors!
  br label %15714

15714:                                            ; preds = %15713
  br label %15715

15715:                                            ; preds = %15714, %15656
  br label %15716

15716:                                            ; preds = %15715
  br label %15717

15717:                                            ; preds = %15716
  br label %15718

15718:                                            ; preds = %15717
  %15719 = load i32, ptr @test_count, align 4, !tbaa !5
  %15720 = add nsw i32 %15719, 1
  store i32 %15720, ptr @test_count, align 4, !tbaa !5
  %15721 = load ptr, ptr %307, align 8, !tbaa !9
  %15722 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %15721)
  %15723 = icmp eq i32 %15722, 1
  br i1 %15723, label %15777, label %15724

15724:                                            ; preds = %15718
  br label %15725

15725:                                            ; preds = %15724
  br label %15726

15726:                                            ; preds = %15725
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #10
  %15727 = call ptr @__errno_location() #11
  %15728 = load i32, ptr %15727, align 4, !tbaa !5
  store i32 %15728, ptr %329, align 4, !tbaa !5
  %15729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15730 = call i32 @s2n_print_stacktrace(ptr noundef %15729)
  %15731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15732 = trunc i8 %15731 to i1
  br i1 %15732, label %15733, label %15755

15733:                                            ; preds = %15726
  %15734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15735 = call i32 @fileno(ptr noundef %15734) #10
  %15736 = call i32 @isatty(i32 noundef %15735) #10
  %15737 = icmp ne i32 %15736, 0
  br i1 %15737, label %15738, label %15755

15738:                                            ; preds = %15733
  %15739 = load i32, ptr %329, align 4, !tbaa !5
  %15740 = call ptr @__errno_location() #11
  store i32 %15739, ptr %15740, align 4, !tbaa !5
  %15741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15742 = load i32, ptr @test_count, align 4, !tbaa !5
  %15743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15744 = load i32, ptr %15743, align 4, !tbaa !5
  %15745 = call ptr @s2n_strerror(i32 noundef %15744, ptr noundef @.str.4)
  %15746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15747 = load i32, ptr %15746, align 4, !tbaa !5
  %15748 = call ptr @s2n_strerror_debug(i32 noundef %15747, ptr noundef @.str.4)
  %15749 = call ptr @__errno_location() #11
  %15750 = load i32, ptr %15749, align 4, !tbaa !5
  %15751 = call ptr @strerror(i32 noundef %15750) #10
  %15752 = call ptr @__errno_location() #11
  %15753 = load i32, ptr %15752, align 4, !tbaa !5
  %15754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15741, ptr noundef @.str.2, i32 noundef %15742, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 935, ptr noundef %15745, ptr noundef %15748, ptr noundef %15751, i32 noundef %15753) #10
  br label %15772

15755:                                            ; preds = %15733, %15726
  %15756 = load i32, ptr %329, align 4, !tbaa !5
  %15757 = call ptr @__errno_location() #11
  store i32 %15756, ptr %15757, align 4, !tbaa !5
  %15758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15759 = load i32, ptr @test_count, align 4, !tbaa !5
  %15760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15761 = load i32, ptr %15760, align 4, !tbaa !5
  %15762 = call ptr @s2n_strerror(i32 noundef %15761, ptr noundef @.str.4)
  %15763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15764 = load i32, ptr %15763, align 4, !tbaa !5
  %15765 = call ptr @s2n_strerror_debug(i32 noundef %15764, ptr noundef @.str.4)
  %15766 = call ptr @__errno_location() #11
  %15767 = load i32, ptr %15766, align 4, !tbaa !5
  %15768 = call ptr @strerror(i32 noundef %15767) #10
  %15769 = call ptr @__errno_location() #11
  %15770 = load i32, ptr %15769, align 4, !tbaa !5
  %15771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15758, ptr noundef @.str.5, i32 noundef %15759, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 935, ptr noundef %15762, ptr noundef %15765, ptr noundef %15768, i32 noundef %15770) #10
  br label %15772

15772:                                            ; preds = %15755, %15738
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #10
  br label %15773

15773:                                            ; preds = %15772
  br label %15774

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

15775:                                            ; No predecessors!
  br label %15776

15776:                                            ; preds = %15775
  br label %15777

15777:                                            ; preds = %15776, %15718
  br label %15778

15778:                                            ; preds = %15777
  br label %15779

15779:                                            ; preds = %15778
  br label %15780

15780:                                            ; preds = %15779
  %15781 = load i32, ptr @test_count, align 4, !tbaa !5
  %15782 = add nsw i32 %15781, 1
  store i32 %15782, ptr @test_count, align 4, !tbaa !5
  %15783 = load ptr, ptr %307, align 8, !tbaa !9
  %15784 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %15783, ptr noundef %312)
  store ptr %15784, ptr %311, align 8, !tbaa !9
  %15785 = icmp eq ptr %15784, null
  br i1 %15785, label %15786, label %15839

15786:                                            ; preds = %15780
  br label %15787

15787:                                            ; preds = %15786
  br label %15788

15788:                                            ; preds = %15787
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  %15789 = call ptr @__errno_location() #11
  %15790 = load i32, ptr %15789, align 4, !tbaa !5
  store i32 %15790, ptr %330, align 4, !tbaa !5
  %15791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15792 = call i32 @s2n_print_stacktrace(ptr noundef %15791)
  %15793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15794 = trunc i8 %15793 to i1
  br i1 %15794, label %15795, label %15817

15795:                                            ; preds = %15788
  %15796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15797 = call i32 @fileno(ptr noundef %15796) #10
  %15798 = call i32 @isatty(i32 noundef %15797) #10
  %15799 = icmp ne i32 %15798, 0
  br i1 %15799, label %15800, label %15817

15800:                                            ; preds = %15795
  %15801 = load i32, ptr %330, align 4, !tbaa !5
  %15802 = call ptr @__errno_location() #11
  store i32 %15801, ptr %15802, align 4, !tbaa !5
  %15803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15804 = load i32, ptr @test_count, align 4, !tbaa !5
  %15805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15806 = load i32, ptr %15805, align 4, !tbaa !5
  %15807 = call ptr @s2n_strerror(i32 noundef %15806, ptr noundef @.str.4)
  %15808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15809 = load i32, ptr %15808, align 4, !tbaa !5
  %15810 = call ptr @s2n_strerror_debug(i32 noundef %15809, ptr noundef @.str.4)
  %15811 = call ptr @__errno_location() #11
  %15812 = load i32, ptr %15811, align 4, !tbaa !5
  %15813 = call ptr @strerror(i32 noundef %15812) #10
  %15814 = call ptr @__errno_location() #11
  %15815 = load i32, ptr %15814, align 4, !tbaa !5
  %15816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15803, ptr noundef @.str.2, i32 noundef %15804, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 936, ptr noundef %15807, ptr noundef %15810, ptr noundef %15813, i32 noundef %15815) #10
  br label %15834

15817:                                            ; preds = %15795, %15788
  %15818 = load i32, ptr %330, align 4, !tbaa !5
  %15819 = call ptr @__errno_location() #11
  store i32 %15818, ptr %15819, align 4, !tbaa !5
  %15820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15821 = load i32, ptr @test_count, align 4, !tbaa !5
  %15822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15823 = load i32, ptr %15822, align 4, !tbaa !5
  %15824 = call ptr @s2n_strerror(i32 noundef %15823, ptr noundef @.str.4)
  %15825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15826 = load i32, ptr %15825, align 4, !tbaa !5
  %15827 = call ptr @s2n_strerror_debug(i32 noundef %15826, ptr noundef @.str.4)
  %15828 = call ptr @__errno_location() #11
  %15829 = load i32, ptr %15828, align 4, !tbaa !5
  %15830 = call ptr @strerror(i32 noundef %15829) #10
  %15831 = call ptr @__errno_location() #11
  %15832 = load i32, ptr %15831, align 4, !tbaa !5
  %15833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15820, ptr noundef @.str.5, i32 noundef %15821, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 936, ptr noundef %15824, ptr noundef %15827, ptr noundef %15830, i32 noundef %15832) #10
  br label %15834

15834:                                            ; preds = %15817, %15800
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  br label %15835

15835:                                            ; preds = %15834
  br label %15836

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

15837:                                            ; No predecessors!
  br label %15838

15838:                                            ; preds = %15837
  br label %15839

15839:                                            ; preds = %15838, %15780
  br label %15840

15840:                                            ; preds = %15839
  br label %15841

15841:                                            ; preds = %15840
  br label %15842

15842:                                            ; preds = %15841
  %15843 = load i32, ptr @test_count, align 4, !tbaa !5
  %15844 = add nsw i32 %15843, 1
  store i32 %15844, ptr @test_count, align 4, !tbaa !5
  %15845 = load i32, ptr %312, align 4, !tbaa !5
  %15846 = zext i32 %15845 to i64
  %15847 = icmp eq i64 %15846, 1609
  br i1 %15847, label %15901, label %15848

15848:                                            ; preds = %15842
  br label %15849

15849:                                            ; preds = %15848
  br label %15850

15850:                                            ; preds = %15849
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #10
  %15851 = call ptr @__errno_location() #11
  %15852 = load i32, ptr %15851, align 4, !tbaa !5
  store i32 %15852, ptr %331, align 4, !tbaa !5
  %15853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15854 = call i32 @s2n_print_stacktrace(ptr noundef %15853)
  %15855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15856 = trunc i8 %15855 to i1
  br i1 %15856, label %15857, label %15879

15857:                                            ; preds = %15850
  %15858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15859 = call i32 @fileno(ptr noundef %15858) #10
  %15860 = call i32 @isatty(i32 noundef %15859) #10
  %15861 = icmp ne i32 %15860, 0
  br i1 %15861, label %15862, label %15879

15862:                                            ; preds = %15857
  %15863 = load i32, ptr %331, align 4, !tbaa !5
  %15864 = call ptr @__errno_location() #11
  store i32 %15863, ptr %15864, align 4, !tbaa !5
  %15865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15866 = load i32, ptr @test_count, align 4, !tbaa !5
  %15867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15868 = load i32, ptr %15867, align 4, !tbaa !5
  %15869 = call ptr @s2n_strerror(i32 noundef %15868, ptr noundef @.str.4)
  %15870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  %15872 = call ptr @s2n_strerror_debug(i32 noundef %15871, ptr noundef @.str.4)
  %15873 = call ptr @__errno_location() #11
  %15874 = load i32, ptr %15873, align 4, !tbaa !5
  %15875 = call ptr @strerror(i32 noundef %15874) #10
  %15876 = call ptr @__errno_location() #11
  %15877 = load i32, ptr %15876, align 4, !tbaa !5
  %15878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15865, ptr noundef @.str.2, i32 noundef %15866, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 937, ptr noundef %15869, ptr noundef %15872, ptr noundef %15875, i32 noundef %15877) #10
  br label %15896

15879:                                            ; preds = %15857, %15850
  %15880 = load i32, ptr %331, align 4, !tbaa !5
  %15881 = call ptr @__errno_location() #11
  store i32 %15880, ptr %15881, align 4, !tbaa !5
  %15882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15883 = load i32, ptr @test_count, align 4, !tbaa !5
  %15884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15885 = load i32, ptr %15884, align 4, !tbaa !5
  %15886 = call ptr @s2n_strerror(i32 noundef %15885, ptr noundef @.str.4)
  %15887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15888 = load i32, ptr %15887, align 4, !tbaa !5
  %15889 = call ptr @s2n_strerror_debug(i32 noundef %15888, ptr noundef @.str.4)
  %15890 = call ptr @__errno_location() #11
  %15891 = load i32, ptr %15890, align 4, !tbaa !5
  %15892 = call ptr @strerror(i32 noundef %15891) #10
  %15893 = call ptr @__errno_location() #11
  %15894 = load i32, ptr %15893, align 4, !tbaa !5
  %15895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15882, ptr noundef @.str.5, i32 noundef %15883, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 937, ptr noundef %15886, ptr noundef %15889, ptr noundef %15892, i32 noundef %15894) #10
  br label %15896

15896:                                            ; preds = %15879, %15862
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #10
  br label %15897

15897:                                            ; preds = %15896
  br label %15898

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

15899:                                            ; No predecessors!
  br label %15900

15900:                                            ; preds = %15899
  br label %15901

15901:                                            ; preds = %15900, %15842
  br label %15902

15902:                                            ; preds = %15901
  br label %15903

15903:                                            ; preds = %15902
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #10
  store i64 0, ptr %332, align 8, !tbaa !49
  br label %15904

15904:                                            ; preds = %15978, %15903
  %15905 = load i64, ptr %332, align 8, !tbaa !49
  %15906 = icmp ult i64 %15905, 1609
  br i1 %15906, label %15908, label %15907

15907:                                            ; preds = %15904
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #10
  br label %15981

15908:                                            ; preds = %15904
  br label %15909

15909:                                            ; preds = %15908
  %15910 = load i32, ptr @test_count, align 4, !tbaa !5
  %15911 = add nsw i32 %15910, 1
  store i32 %15911, ptr @test_count, align 4, !tbaa !5
  %15912 = load ptr, ptr %311, align 8, !tbaa !9
  %15913 = load i64, ptr %332, align 8, !tbaa !49
  %15914 = getelementptr inbounds i8, ptr %15912, i64 %15913
  %15915 = load i8, ptr %15914, align 1, !tbaa !44
  %15916 = zext i8 %15915 to i32
  %15917 = load i64, ptr %332, align 8, !tbaa !49
  %15918 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %15917
  %15919 = load i8, ptr %15918, align 1, !tbaa !44
  %15920 = zext i8 %15919 to i32
  %15921 = icmp eq i32 %15916, %15920
  br i1 %15921, label %15975, label %15922

15922:                                            ; preds = %15909
  br label %15923

15923:                                            ; preds = %15922
  br label %15924

15924:                                            ; preds = %15923
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #10
  %15925 = call ptr @__errno_location() #11
  %15926 = load i32, ptr %15925, align 4, !tbaa !5
  store i32 %15926, ptr %333, align 4, !tbaa !5
  %15927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15928 = call i32 @s2n_print_stacktrace(ptr noundef %15927)
  %15929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15930 = trunc i8 %15929 to i1
  br i1 %15930, label %15931, label %15953

15931:                                            ; preds = %15924
  %15932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15933 = call i32 @fileno(ptr noundef %15932) #10
  %15934 = call i32 @isatty(i32 noundef %15933) #10
  %15935 = icmp ne i32 %15934, 0
  br i1 %15935, label %15936, label %15953

15936:                                            ; preds = %15931
  %15937 = load i32, ptr %333, align 4, !tbaa !5
  %15938 = call ptr @__errno_location() #11
  store i32 %15937, ptr %15938, align 4, !tbaa !5
  %15939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15940 = load i32, ptr @test_count, align 4, !tbaa !5
  %15941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15942 = load i32, ptr %15941, align 4, !tbaa !5
  %15943 = call ptr @s2n_strerror(i32 noundef %15942, ptr noundef @.str.4)
  %15944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15945 = load i32, ptr %15944, align 4, !tbaa !5
  %15946 = call ptr @s2n_strerror_debug(i32 noundef %15945, ptr noundef @.str.4)
  %15947 = call ptr @__errno_location() #11
  %15948 = load i32, ptr %15947, align 4, !tbaa !5
  %15949 = call ptr @strerror(i32 noundef %15948) #10
  %15950 = call ptr @__errno_location() #11
  %15951 = load i32, ptr %15950, align 4, !tbaa !5
  %15952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15939, ptr noundef @.str.2, i32 noundef %15940, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 940, ptr noundef %15943, ptr noundef %15946, ptr noundef %15949, i32 noundef %15951) #10
  br label %15970

15953:                                            ; preds = %15931, %15924
  %15954 = load i32, ptr %333, align 4, !tbaa !5
  %15955 = call ptr @__errno_location() #11
  store i32 %15954, ptr %15955, align 4, !tbaa !5
  %15956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15957 = load i32, ptr @test_count, align 4, !tbaa !5
  %15958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15959 = load i32, ptr %15958, align 4, !tbaa !5
  %15960 = call ptr @s2n_strerror(i32 noundef %15959, ptr noundef @.str.4)
  %15961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15962 = load i32, ptr %15961, align 4, !tbaa !5
  %15963 = call ptr @s2n_strerror_debug(i32 noundef %15962, ptr noundef @.str.4)
  %15964 = call ptr @__errno_location() #11
  %15965 = load i32, ptr %15964, align 4, !tbaa !5
  %15966 = call ptr @strerror(i32 noundef %15965) #10
  %15967 = call ptr @__errno_location() #11
  %15968 = load i32, ptr %15967, align 4, !tbaa !5
  %15969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15956, ptr noundef @.str.5, i32 noundef %15957, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 940, ptr noundef %15960, ptr noundef %15963, ptr noundef %15966, i32 noundef %15968) #10
  br label %15970

15970:                                            ; preds = %15953, %15936
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #10
  br label %15971

15971:                                            ; preds = %15970
  br label %15972

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

15973:                                            ; No predecessors!
  br label %15974

15974:                                            ; preds = %15973
  br label %15975

15975:                                            ; preds = %15974, %15909
  br label %15976

15976:                                            ; preds = %15975
  br label %15977

15977:                                            ; preds = %15976
  br label %15978

15978:                                            ; preds = %15977
  %15979 = load i64, ptr %332, align 8, !tbaa !49
  %15980 = add i64 %15979, 1
  store i64 %15980, ptr %332, align 8, !tbaa !49
  br label %15904, !llvm.loop !52

15981:                                            ; preds = %15907
  br label %15982

15982:                                            ; preds = %15981
  %15983 = load i32, ptr @test_count, align 4, !tbaa !5
  %15984 = add nsw i32 %15983, 1
  store i32 %15984, ptr @test_count, align 4, !tbaa !5
  %15985 = load ptr, ptr %308, align 8, !tbaa !9
  %15986 = load ptr, ptr %307, align 8, !tbaa !9
  %15987 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %15985, ptr noundef %15986)
  %15988 = icmp eq i32 %15987, -1
  br i1 %15988, label %15989, label %16042

15989:                                            ; preds = %15982
  br label %15990

15990:                                            ; preds = %15989
  br label %15991

15991:                                            ; preds = %15990
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #10
  %15992 = call ptr @__errno_location() #11
  %15993 = load i32, ptr %15992, align 4, !tbaa !5
  store i32 %15993, ptr %334, align 4, !tbaa !5
  %15994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15995 = call i32 @s2n_print_stacktrace(ptr noundef %15994)
  %15996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15997 = trunc i8 %15996 to i1
  br i1 %15997, label %15998, label %16020

15998:                                            ; preds = %15991
  %15999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16000 = call i32 @fileno(ptr noundef %15999) #10
  %16001 = call i32 @isatty(i32 noundef %16000) #10
  %16002 = icmp ne i32 %16001, 0
  br i1 %16002, label %16003, label %16020

16003:                                            ; preds = %15998
  %16004 = load i32, ptr %334, align 4, !tbaa !5
  %16005 = call ptr @__errno_location() #11
  store i32 %16004, ptr %16005, align 4, !tbaa !5
  %16006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16007 = load i32, ptr @test_count, align 4, !tbaa !5
  %16008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  %16010 = call ptr @s2n_strerror(i32 noundef %16009, ptr noundef @.str.4)
  %16011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16012 = load i32, ptr %16011, align 4, !tbaa !5
  %16013 = call ptr @s2n_strerror_debug(i32 noundef %16012, ptr noundef @.str.4)
  %16014 = call ptr @__errno_location() #11
  %16015 = load i32, ptr %16014, align 4, !tbaa !5
  %16016 = call ptr @strerror(i32 noundef %16015) #10
  %16017 = call ptr @__errno_location() #11
  %16018 = load i32, ptr %16017, align 4, !tbaa !5
  %16019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16006, ptr noundef @.str.2, i32 noundef %16007, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 943, ptr noundef %16010, ptr noundef %16013, ptr noundef %16016, i32 noundef %16018) #10
  br label %16037

16020:                                            ; preds = %15998, %15991
  %16021 = load i32, ptr %334, align 4, !tbaa !5
  %16022 = call ptr @__errno_location() #11
  store i32 %16021, ptr %16022, align 4, !tbaa !5
  %16023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16024 = load i32, ptr @test_count, align 4, !tbaa !5
  %16025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16026 = load i32, ptr %16025, align 4, !tbaa !5
  %16027 = call ptr @s2n_strerror(i32 noundef %16026, ptr noundef @.str.4)
  %16028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16029 = load i32, ptr %16028, align 4, !tbaa !5
  %16030 = call ptr @s2n_strerror_debug(i32 noundef %16029, ptr noundef @.str.4)
  %16031 = call ptr @__errno_location() #11
  %16032 = load i32, ptr %16031, align 4, !tbaa !5
  %16033 = call ptr @strerror(i32 noundef %16032) #10
  %16034 = call ptr @__errno_location() #11
  %16035 = load i32, ptr %16034, align 4, !tbaa !5
  %16036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16023, ptr noundef @.str.5, i32 noundef %16024, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 943, ptr noundef %16027, ptr noundef %16030, ptr noundef %16033, i32 noundef %16035) #10
  br label %16037

16037:                                            ; preds = %16020, %16003
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #10
  br label %16038

16038:                                            ; preds = %16037
  br label %16039

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

16040:                                            ; No predecessors!
  br label %16041

16041:                                            ; preds = %16040
  br label %16042

16042:                                            ; preds = %16041, %15982
  br label %16043

16043:                                            ; preds = %16042
  br label %16044

16044:                                            ; preds = %16043
  br label %16045

16045:                                            ; preds = %16044
  %16046 = load i32, ptr @test_count, align 4, !tbaa !5
  %16047 = add nsw i32 %16046, 1
  store i32 %16047, ptr @test_count, align 4, !tbaa !5
  %16048 = load ptr, ptr %308, align 8, !tbaa !9
  %16049 = call i32 @s2n_connection_free(ptr noundef %16048)
  %16050 = icmp eq i32 %16049, -1
  br i1 %16050, label %16051, label %16104

16051:                                            ; preds = %16045
  br label %16052

16052:                                            ; preds = %16051
  br label %16053

16053:                                            ; preds = %16052
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #10
  %16054 = call ptr @__errno_location() #11
  %16055 = load i32, ptr %16054, align 4, !tbaa !5
  store i32 %16055, ptr %335, align 4, !tbaa !5
  %16056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16057 = call i32 @s2n_print_stacktrace(ptr noundef %16056)
  %16058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16059 = trunc i8 %16058 to i1
  br i1 %16059, label %16060, label %16082

16060:                                            ; preds = %16053
  %16061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16062 = call i32 @fileno(ptr noundef %16061) #10
  %16063 = call i32 @isatty(i32 noundef %16062) #10
  %16064 = icmp ne i32 %16063, 0
  br i1 %16064, label %16065, label %16082

16065:                                            ; preds = %16060
  %16066 = load i32, ptr %335, align 4, !tbaa !5
  %16067 = call ptr @__errno_location() #11
  store i32 %16066, ptr %16067, align 4, !tbaa !5
  %16068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16069 = load i32, ptr @test_count, align 4, !tbaa !5
  %16070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16071 = load i32, ptr %16070, align 4, !tbaa !5
  %16072 = call ptr @s2n_strerror(i32 noundef %16071, ptr noundef @.str.4)
  %16073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16074 = load i32, ptr %16073, align 4, !tbaa !5
  %16075 = call ptr @s2n_strerror_debug(i32 noundef %16074, ptr noundef @.str.4)
  %16076 = call ptr @__errno_location() #11
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  %16078 = call ptr @strerror(i32 noundef %16077) #10
  %16079 = call ptr @__errno_location() #11
  %16080 = load i32, ptr %16079, align 4, !tbaa !5
  %16081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16068, ptr noundef @.str.2, i32 noundef %16069, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 945, ptr noundef %16072, ptr noundef %16075, ptr noundef %16078, i32 noundef %16080) #10
  br label %16099

16082:                                            ; preds = %16060, %16053
  %16083 = load i32, ptr %335, align 4, !tbaa !5
  %16084 = call ptr @__errno_location() #11
  store i32 %16083, ptr %16084, align 4, !tbaa !5
  %16085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16086 = load i32, ptr @test_count, align 4, !tbaa !5
  %16087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16088 = load i32, ptr %16087, align 4, !tbaa !5
  %16089 = call ptr @s2n_strerror(i32 noundef %16088, ptr noundef @.str.4)
  %16090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16091 = load i32, ptr %16090, align 4, !tbaa !5
  %16092 = call ptr @s2n_strerror_debug(i32 noundef %16091, ptr noundef @.str.4)
  %16093 = call ptr @__errno_location() #11
  %16094 = load i32, ptr %16093, align 4, !tbaa !5
  %16095 = call ptr @strerror(i32 noundef %16094) #10
  %16096 = call ptr @__errno_location() #11
  %16097 = load i32, ptr %16096, align 4, !tbaa !5
  %16098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16085, ptr noundef @.str.5, i32 noundef %16086, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 945, ptr noundef %16089, ptr noundef %16092, ptr noundef %16095, i32 noundef %16097) #10
  br label %16099

16099:                                            ; preds = %16082, %16065
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #10
  br label %16100

16100:                                            ; preds = %16099
  br label %16101

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

16102:                                            ; No predecessors!
  br label %16103

16103:                                            ; preds = %16102
  br label %16104

16104:                                            ; preds = %16103, %16045
  br label %16105

16105:                                            ; preds = %16104
  br label %16106

16106:                                            ; preds = %16105
  br label %16107

16107:                                            ; preds = %16106
  %16108 = load i32, ptr @test_count, align 4, !tbaa !5
  %16109 = add nsw i32 %16108, 1
  store i32 %16109, ptr @test_count, align 4, !tbaa !5
  %16110 = load ptr, ptr %307, align 8, !tbaa !9
  %16111 = call i32 @s2n_connection_free(ptr noundef %16110)
  %16112 = icmp eq i32 %16111, -1
  br i1 %16112, label %16113, label %16166

16113:                                            ; preds = %16107
  br label %16114

16114:                                            ; preds = %16113
  br label %16115

16115:                                            ; preds = %16114
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #10
  %16116 = call ptr @__errno_location() #11
  %16117 = load i32, ptr %16116, align 4, !tbaa !5
  store i32 %16117, ptr %336, align 4, !tbaa !5
  %16118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16119 = call i32 @s2n_print_stacktrace(ptr noundef %16118)
  %16120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16121 = trunc i8 %16120 to i1
  br i1 %16121, label %16122, label %16144

16122:                                            ; preds = %16115
  %16123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16124 = call i32 @fileno(ptr noundef %16123) #10
  %16125 = call i32 @isatty(i32 noundef %16124) #10
  %16126 = icmp ne i32 %16125, 0
  br i1 %16126, label %16127, label %16144

16127:                                            ; preds = %16122
  %16128 = load i32, ptr %336, align 4, !tbaa !5
  %16129 = call ptr @__errno_location() #11
  store i32 %16128, ptr %16129, align 4, !tbaa !5
  %16130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16131 = load i32, ptr @test_count, align 4, !tbaa !5
  %16132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16133 = load i32, ptr %16132, align 4, !tbaa !5
  %16134 = call ptr @s2n_strerror(i32 noundef %16133, ptr noundef @.str.4)
  %16135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16136 = load i32, ptr %16135, align 4, !tbaa !5
  %16137 = call ptr @s2n_strerror_debug(i32 noundef %16136, ptr noundef @.str.4)
  %16138 = call ptr @__errno_location() #11
  %16139 = load i32, ptr %16138, align 4, !tbaa !5
  %16140 = call ptr @strerror(i32 noundef %16139) #10
  %16141 = call ptr @__errno_location() #11
  %16142 = load i32, ptr %16141, align 4, !tbaa !5
  %16143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16130, ptr noundef @.str.2, i32 noundef %16131, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 946, ptr noundef %16134, ptr noundef %16137, ptr noundef %16140, i32 noundef %16142) #10
  br label %16161

16144:                                            ; preds = %16122, %16115
  %16145 = load i32, ptr %336, align 4, !tbaa !5
  %16146 = call ptr @__errno_location() #11
  store i32 %16145, ptr %16146, align 4, !tbaa !5
  %16147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16148 = load i32, ptr @test_count, align 4, !tbaa !5
  %16149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16150 = load i32, ptr %16149, align 4, !tbaa !5
  %16151 = call ptr @s2n_strerror(i32 noundef %16150, ptr noundef @.str.4)
  %16152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16153 = load i32, ptr %16152, align 4, !tbaa !5
  %16154 = call ptr @s2n_strerror_debug(i32 noundef %16153, ptr noundef @.str.4)
  %16155 = call ptr @__errno_location() #11
  %16156 = load i32, ptr %16155, align 4, !tbaa !5
  %16157 = call ptr @strerror(i32 noundef %16156) #10
  %16158 = call ptr @__errno_location() #11
  %16159 = load i32, ptr %16158, align 4, !tbaa !5
  %16160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16147, ptr noundef @.str.5, i32 noundef %16148, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 946, ptr noundef %16151, ptr noundef %16154, ptr noundef %16157, i32 noundef %16159) #10
  br label %16161

16161:                                            ; preds = %16144, %16127
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #10
  br label %16162

16162:                                            ; preds = %16161
  br label %16163

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

16164:                                            ; No predecessors!
  br label %16165

16165:                                            ; preds = %16164
  br label %16166

16166:                                            ; preds = %16165, %16107
  br label %16167

16167:                                            ; preds = %16166
  br label %16168

16168:                                            ; preds = %16167
  br label %16169

16169:                                            ; preds = %16168
  %16170 = load i32, ptr @test_count, align 4, !tbaa !5
  %16171 = add nsw i32 %16170, 1
  store i32 %16171, ptr @test_count, align 4, !tbaa !5
  %16172 = load ptr, ptr %309, align 8, !tbaa !9
  %16173 = call i32 @s2n_config_free(ptr noundef %16172)
  %16174 = icmp eq i32 %16173, -1
  br i1 %16174, label %16175, label %16228

16175:                                            ; preds = %16169
  br label %16176

16176:                                            ; preds = %16175
  br label %16177

16177:                                            ; preds = %16176
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #10
  %16178 = call ptr @__errno_location() #11
  %16179 = load i32, ptr %16178, align 4, !tbaa !5
  store i32 %16179, ptr %337, align 4, !tbaa !5
  %16180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16181 = call i32 @s2n_print_stacktrace(ptr noundef %16180)
  %16182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16183 = trunc i8 %16182 to i1
  br i1 %16183, label %16184, label %16206

16184:                                            ; preds = %16177
  %16185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16186 = call i32 @fileno(ptr noundef %16185) #10
  %16187 = call i32 @isatty(i32 noundef %16186) #10
  %16188 = icmp ne i32 %16187, 0
  br i1 %16188, label %16189, label %16206

16189:                                            ; preds = %16184
  %16190 = load i32, ptr %337, align 4, !tbaa !5
  %16191 = call ptr @__errno_location() #11
  store i32 %16190, ptr %16191, align 4, !tbaa !5
  %16192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16193 = load i32, ptr @test_count, align 4, !tbaa !5
  %16194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call ptr @s2n_strerror(i32 noundef %16195, ptr noundef @.str.4)
  %16197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @s2n_strerror_debug(i32 noundef %16198, ptr noundef @.str.4)
  %16200 = call ptr @__errno_location() #11
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call ptr @strerror(i32 noundef %16201) #10
  %16203 = call ptr @__errno_location() #11
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  %16205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16192, ptr noundef @.str.2, i32 noundef %16193, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 948, ptr noundef %16196, ptr noundef %16199, ptr noundef %16202, i32 noundef %16204) #10
  br label %16223

16206:                                            ; preds = %16184, %16177
  %16207 = load i32, ptr %337, align 4, !tbaa !5
  %16208 = call ptr @__errno_location() #11
  store i32 %16207, ptr %16208, align 4, !tbaa !5
  %16209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16210 = load i32, ptr @test_count, align 4, !tbaa !5
  %16211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16212 = load i32, ptr %16211, align 4, !tbaa !5
  %16213 = call ptr @s2n_strerror(i32 noundef %16212, ptr noundef @.str.4)
  %16214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16215 = load i32, ptr %16214, align 4, !tbaa !5
  %16216 = call ptr @s2n_strerror_debug(i32 noundef %16215, ptr noundef @.str.4)
  %16217 = call ptr @__errno_location() #11
  %16218 = load i32, ptr %16217, align 4, !tbaa !5
  %16219 = call ptr @strerror(i32 noundef %16218) #10
  %16220 = call ptr @__errno_location() #11
  %16221 = load i32, ptr %16220, align 4, !tbaa !5
  %16222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16209, ptr noundef @.str.5, i32 noundef %16210, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 948, ptr noundef %16213, ptr noundef %16216, ptr noundef %16219, i32 noundef %16221) #10
  br label %16223

16223:                                            ; preds = %16206, %16189
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #10
  br label %16224

16224:                                            ; preds = %16223
  br label %16225

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

16226:                                            ; No predecessors!
  br label %16227

16227:                                            ; preds = %16226
  br label %16228

16228:                                            ; preds = %16227, %16169
  br label %16229

16229:                                            ; preds = %16228
  br label %16230

16230:                                            ; preds = %16229
  br label %16231

16231:                                            ; preds = %16230
  %16232 = load i32, ptr @test_count, align 4, !tbaa !5
  %16233 = add nsw i32 %16232, 1
  store i32 %16233, ptr @test_count, align 4, !tbaa !5
  %16234 = load ptr, ptr %310, align 8, !tbaa !9
  %16235 = call i32 @s2n_config_free(ptr noundef %16234)
  %16236 = icmp eq i32 %16235, -1
  br i1 %16236, label %16237, label %16290

16237:                                            ; preds = %16231
  br label %16238

16238:                                            ; preds = %16237
  br label %16239

16239:                                            ; preds = %16238
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #10
  %16240 = call ptr @__errno_location() #11
  %16241 = load i32, ptr %16240, align 4, !tbaa !5
  store i32 %16241, ptr %338, align 4, !tbaa !5
  %16242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16243 = call i32 @s2n_print_stacktrace(ptr noundef %16242)
  %16244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16245 = trunc i8 %16244 to i1
  br i1 %16245, label %16246, label %16268

16246:                                            ; preds = %16239
  %16247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16248 = call i32 @fileno(ptr noundef %16247) #10
  %16249 = call i32 @isatty(i32 noundef %16248) #10
  %16250 = icmp ne i32 %16249, 0
  br i1 %16250, label %16251, label %16268

16251:                                            ; preds = %16246
  %16252 = load i32, ptr %338, align 4, !tbaa !5
  %16253 = call ptr @__errno_location() #11
  store i32 %16252, ptr %16253, align 4, !tbaa !5
  %16254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16255 = load i32, ptr @test_count, align 4, !tbaa !5
  %16256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16257 = load i32, ptr %16256, align 4, !tbaa !5
  %16258 = call ptr @s2n_strerror(i32 noundef %16257, ptr noundef @.str.4)
  %16259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16260 = load i32, ptr %16259, align 4, !tbaa !5
  %16261 = call ptr @s2n_strerror_debug(i32 noundef %16260, ptr noundef @.str.4)
  %16262 = call ptr @__errno_location() #11
  %16263 = load i32, ptr %16262, align 4, !tbaa !5
  %16264 = call ptr @strerror(i32 noundef %16263) #10
  %16265 = call ptr @__errno_location() #11
  %16266 = load i32, ptr %16265, align 4, !tbaa !5
  %16267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16254, ptr noundef @.str.2, i32 noundef %16255, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 949, ptr noundef %16258, ptr noundef %16261, ptr noundef %16264, i32 noundef %16266) #10
  br label %16285

16268:                                            ; preds = %16246, %16239
  %16269 = load i32, ptr %338, align 4, !tbaa !5
  %16270 = call ptr @__errno_location() #11
  store i32 %16269, ptr %16270, align 4, !tbaa !5
  %16271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16272 = load i32, ptr @test_count, align 4, !tbaa !5
  %16273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16274 = load i32, ptr %16273, align 4, !tbaa !5
  %16275 = call ptr @s2n_strerror(i32 noundef %16274, ptr noundef @.str.4)
  %16276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16277 = load i32, ptr %16276, align 4, !tbaa !5
  %16278 = call ptr @s2n_strerror_debug(i32 noundef %16277, ptr noundef @.str.4)
  %16279 = call ptr @__errno_location() #11
  %16280 = load i32, ptr %16279, align 4, !tbaa !5
  %16281 = call ptr @strerror(i32 noundef %16280) #10
  %16282 = call ptr @__errno_location() #11
  %16283 = load i32, ptr %16282, align 4, !tbaa !5
  %16284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16271, ptr noundef @.str.5, i32 noundef %16272, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 949, ptr noundef %16275, ptr noundef %16278, ptr noundef %16281, i32 noundef %16283) #10
  br label %16285

16285:                                            ; preds = %16268, %16251
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #10
  br label %16286

16286:                                            ; preds = %16285
  br label %16287

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

16288:                                            ; No predecessors!
  br label %16289

16289:                                            ; preds = %16288
  br label %16290

16290:                                            ; preds = %16289, %16231
  br label %16291

16291:                                            ; preds = %16290
  br label %16292

16292:                                            ; preds = %16291
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %310) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %308) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %307) #10
  br label %16293

16293:                                            ; preds = %16292, %14708
  %16294 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %16295 = zext i8 %16294 to i32
  %16296 = icmp ne i32 %16295, 0
  br i1 %16296, label %16297, label %18127

16297:                                            ; preds = %16293
  %16298 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %16298, label %16299, label %18127

16299:                                            ; preds = %16297
  call void @llvm.lifetime.start.p0(i64 8, ptr %339) #10
  store ptr null, ptr %339, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %340) #10
  store ptr null, ptr %340, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #10
  store ptr null, ptr %341, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %342) #10
  store ptr null, ptr %342, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %343) #10
  store ptr null, ptr %343, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #10
  store i32 0, ptr %344, align 4, !tbaa !5
  br label %16300

16300:                                            ; preds = %16299
  %16301 = load i32, ptr @test_count, align 4, !tbaa !5
  %16302 = add nsw i32 %16301, 1
  store i32 %16302, ptr @test_count, align 4, !tbaa !5
  %16303 = call i32 (...) @s2n_enable_tls13_in_test()
  %16304 = icmp eq i32 %16303, -1
  br i1 %16304, label %16305, label %16358

16305:                                            ; preds = %16300
  br label %16306

16306:                                            ; preds = %16305
  br label %16307

16307:                                            ; preds = %16306
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #10
  %16308 = call ptr @__errno_location() #11
  %16309 = load i32, ptr %16308, align 4, !tbaa !5
  store i32 %16309, ptr %345, align 4, !tbaa !5
  %16310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16311 = call i32 @s2n_print_stacktrace(ptr noundef %16310)
  %16312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16313 = trunc i8 %16312 to i1
  br i1 %16313, label %16314, label %16336

16314:                                            ; preds = %16307
  %16315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16316 = call i32 @fileno(ptr noundef %16315) #10
  %16317 = call i32 @isatty(i32 noundef %16316) #10
  %16318 = icmp ne i32 %16317, 0
  br i1 %16318, label %16319, label %16336

16319:                                            ; preds = %16314
  %16320 = load i32, ptr %345, align 4, !tbaa !5
  %16321 = call ptr @__errno_location() #11
  store i32 %16320, ptr %16321, align 4, !tbaa !5
  %16322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16323 = load i32, ptr @test_count, align 4, !tbaa !5
  %16324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16325 = load i32, ptr %16324, align 4, !tbaa !5
  %16326 = call ptr @s2n_strerror(i32 noundef %16325, ptr noundef @.str.4)
  %16327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16328 = load i32, ptr %16327, align 4, !tbaa !5
  %16329 = call ptr @s2n_strerror_debug(i32 noundef %16328, ptr noundef @.str.4)
  %16330 = call ptr @__errno_location() #11
  %16331 = load i32, ptr %16330, align 4, !tbaa !5
  %16332 = call ptr @strerror(i32 noundef %16331) #10
  %16333 = call ptr @__errno_location() #11
  %16334 = load i32, ptr %16333, align 4, !tbaa !5
  %16335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16322, ptr noundef @.str.2, i32 noundef %16323, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 961, ptr noundef %16326, ptr noundef %16329, ptr noundef %16332, i32 noundef %16334) #10
  br label %16353

16336:                                            ; preds = %16314, %16307
  %16337 = load i32, ptr %345, align 4, !tbaa !5
  %16338 = call ptr @__errno_location() #11
  store i32 %16337, ptr %16338, align 4, !tbaa !5
  %16339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16340 = load i32, ptr @test_count, align 4, !tbaa !5
  %16341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16342 = load i32, ptr %16341, align 4, !tbaa !5
  %16343 = call ptr @s2n_strerror(i32 noundef %16342, ptr noundef @.str.4)
  %16344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16345 = load i32, ptr %16344, align 4, !tbaa !5
  %16346 = call ptr @s2n_strerror_debug(i32 noundef %16345, ptr noundef @.str.4)
  %16347 = call ptr @__errno_location() #11
  %16348 = load i32, ptr %16347, align 4, !tbaa !5
  %16349 = call ptr @strerror(i32 noundef %16348) #10
  %16350 = call ptr @__errno_location() #11
  %16351 = load i32, ptr %16350, align 4, !tbaa !5
  %16352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16339, ptr noundef @.str.5, i32 noundef %16340, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 961, ptr noundef %16343, ptr noundef %16346, ptr noundef %16349, i32 noundef %16351) #10
  br label %16353

16353:                                            ; preds = %16336, %16319
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #10
  br label %16354

16354:                                            ; preds = %16353
  br label %16355

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

16356:                                            ; No predecessors!
  br label %16357

16357:                                            ; preds = %16356
  br label %16358

16358:                                            ; preds = %16357, %16300
  br label %16359

16359:                                            ; preds = %16358
  br label %16360

16360:                                            ; preds = %16359
  br label %16361

16361:                                            ; preds = %16360
  %16362 = load i32, ptr @test_count, align 4, !tbaa !5
  %16363 = add nsw i32 %16362, 1
  store i32 %16363, ptr @test_count, align 4, !tbaa !5
  %16364 = call ptr @s2n_config_new()
  store ptr %16364, ptr %342, align 8, !tbaa !9
  %16365 = icmp eq ptr %16364, null
  br i1 %16365, label %16366, label %16419

16366:                                            ; preds = %16361
  br label %16367

16367:                                            ; preds = %16366
  br label %16368

16368:                                            ; preds = %16367
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #10
  %16369 = call ptr @__errno_location() #11
  %16370 = load i32, ptr %16369, align 4, !tbaa !5
  store i32 %16370, ptr %346, align 4, !tbaa !5
  %16371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16372 = call i32 @s2n_print_stacktrace(ptr noundef %16371)
  %16373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16374 = trunc i8 %16373 to i1
  br i1 %16374, label %16375, label %16397

16375:                                            ; preds = %16368
  %16376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16377 = call i32 @fileno(ptr noundef %16376) #10
  %16378 = call i32 @isatty(i32 noundef %16377) #10
  %16379 = icmp ne i32 %16378, 0
  br i1 %16379, label %16380, label %16397

16380:                                            ; preds = %16375
  %16381 = load i32, ptr %346, align 4, !tbaa !5
  %16382 = call ptr @__errno_location() #11
  store i32 %16381, ptr %16382, align 4, !tbaa !5
  %16383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16384 = load i32, ptr @test_count, align 4, !tbaa !5
  %16385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16386 = load i32, ptr %16385, align 4, !tbaa !5
  %16387 = call ptr @s2n_strerror(i32 noundef %16386, ptr noundef @.str.4)
  %16388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16389 = load i32, ptr %16388, align 4, !tbaa !5
  %16390 = call ptr @s2n_strerror_debug(i32 noundef %16389, ptr noundef @.str.4)
  %16391 = call ptr @__errno_location() #11
  %16392 = load i32, ptr %16391, align 4, !tbaa !5
  %16393 = call ptr @strerror(i32 noundef %16392) #10
  %16394 = call ptr @__errno_location() #11
  %16395 = load i32, ptr %16394, align 4, !tbaa !5
  %16396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16383, ptr noundef @.str.2, i32 noundef %16384, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 963, ptr noundef %16387, ptr noundef %16390, ptr noundef %16393, i32 noundef %16395) #10
  br label %16414

16397:                                            ; preds = %16375, %16368
  %16398 = load i32, ptr %346, align 4, !tbaa !5
  %16399 = call ptr @__errno_location() #11
  store i32 %16398, ptr %16399, align 4, !tbaa !5
  %16400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16401 = load i32, ptr @test_count, align 4, !tbaa !5
  %16402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16403 = load i32, ptr %16402, align 4, !tbaa !5
  %16404 = call ptr @s2n_strerror(i32 noundef %16403, ptr noundef @.str.4)
  %16405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16406 = load i32, ptr %16405, align 4, !tbaa !5
  %16407 = call ptr @s2n_strerror_debug(i32 noundef %16406, ptr noundef @.str.4)
  %16408 = call ptr @__errno_location() #11
  %16409 = load i32, ptr %16408, align 4, !tbaa !5
  %16410 = call ptr @strerror(i32 noundef %16409) #10
  %16411 = call ptr @__errno_location() #11
  %16412 = load i32, ptr %16411, align 4, !tbaa !5
  %16413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16400, ptr noundef @.str.5, i32 noundef %16401, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 963, ptr noundef %16404, ptr noundef %16407, ptr noundef %16410, i32 noundef %16412) #10
  br label %16414

16414:                                            ; preds = %16397, %16380
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #10
  br label %16415

16415:                                            ; preds = %16414
  br label %16416

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

16417:                                            ; No predecessors!
  br label %16418

16418:                                            ; preds = %16417
  br label %16419

16419:                                            ; preds = %16418, %16361
  br label %16420

16420:                                            ; preds = %16419
  br label %16421

16421:                                            ; preds = %16420
  br label %16422

16422:                                            ; preds = %16421
  %16423 = load i32, ptr @test_count, align 4, !tbaa !5
  %16424 = add nsw i32 %16423, 1
  store i32 %16424, ptr @test_count, align 4, !tbaa !5
  %16425 = load ptr, ptr %342, align 8, !tbaa !9
  %16426 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %16425, ptr noundef @.str.88)
  %16427 = icmp eq i32 %16426, -1
  br i1 %16427, label %16428, label %16481

16428:                                            ; preds = %16422
  br label %16429

16429:                                            ; preds = %16428
  br label %16430

16430:                                            ; preds = %16429
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #10
  %16431 = call ptr @__errno_location() #11
  %16432 = load i32, ptr %16431, align 4, !tbaa !5
  store i32 %16432, ptr %347, align 4, !tbaa !5
  %16433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16434 = call i32 @s2n_print_stacktrace(ptr noundef %16433)
  %16435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16436 = trunc i8 %16435 to i1
  br i1 %16436, label %16437, label %16459

16437:                                            ; preds = %16430
  %16438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16439 = call i32 @fileno(ptr noundef %16438) #10
  %16440 = call i32 @isatty(i32 noundef %16439) #10
  %16441 = icmp ne i32 %16440, 0
  br i1 %16441, label %16442, label %16459

16442:                                            ; preds = %16437
  %16443 = load i32, ptr %347, align 4, !tbaa !5
  %16444 = call ptr @__errno_location() #11
  store i32 %16443, ptr %16444, align 4, !tbaa !5
  %16445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16446 = load i32, ptr @test_count, align 4, !tbaa !5
  %16447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16448 = load i32, ptr %16447, align 4, !tbaa !5
  %16449 = call ptr @s2n_strerror(i32 noundef %16448, ptr noundef @.str.4)
  %16450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16451 = load i32, ptr %16450, align 4, !tbaa !5
  %16452 = call ptr @s2n_strerror_debug(i32 noundef %16451, ptr noundef @.str.4)
  %16453 = call ptr @__errno_location() #11
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  %16455 = call ptr @strerror(i32 noundef %16454) #10
  %16456 = call ptr @__errno_location() #11
  %16457 = load i32, ptr %16456, align 4, !tbaa !5
  %16458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16445, ptr noundef @.str.2, i32 noundef %16446, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 964, ptr noundef %16449, ptr noundef %16452, ptr noundef %16455, i32 noundef %16457) #10
  br label %16476

16459:                                            ; preds = %16437, %16430
  %16460 = load i32, ptr %347, align 4, !tbaa !5
  %16461 = call ptr @__errno_location() #11
  store i32 %16460, ptr %16461, align 4, !tbaa !5
  %16462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16463 = load i32, ptr @test_count, align 4, !tbaa !5
  %16464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16465 = load i32, ptr %16464, align 4, !tbaa !5
  %16466 = call ptr @s2n_strerror(i32 noundef %16465, ptr noundef @.str.4)
  %16467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @s2n_strerror_debug(i32 noundef %16468, ptr noundef @.str.4)
  %16470 = call ptr @__errno_location() #11
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call ptr @strerror(i32 noundef %16471) #10
  %16473 = call ptr @__errno_location() #11
  %16474 = load i32, ptr %16473, align 4, !tbaa !5
  %16475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16462, ptr noundef @.str.5, i32 noundef %16463, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 964, ptr noundef %16466, ptr noundef %16469, ptr noundef %16472, i32 noundef %16474) #10
  br label %16476

16476:                                            ; preds = %16459, %16442
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #10
  br label %16477

16477:                                            ; preds = %16476
  br label %16478

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

16479:                                            ; No predecessors!
  br label %16480

16480:                                            ; preds = %16479
  br label %16481

16481:                                            ; preds = %16480, %16422
  br label %16482

16482:                                            ; preds = %16481
  br label %16483

16483:                                            ; preds = %16482
  br label %16484

16484:                                            ; preds = %16483
  %16485 = load i32, ptr @test_count, align 4, !tbaa !5
  %16486 = add nsw i32 %16485, 1
  store i32 %16486, ptr @test_count, align 4, !tbaa !5
  %16487 = load ptr, ptr %342, align 8, !tbaa !9
  %16488 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %16487, i8 noundef zeroext 0)
  %16489 = icmp eq i32 %16488, -1
  br i1 %16489, label %16490, label %16543

16490:                                            ; preds = %16484
  br label %16491

16491:                                            ; preds = %16490
  br label %16492

16492:                                            ; preds = %16491
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #10
  %16493 = call ptr @__errno_location() #11
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  store i32 %16494, ptr %348, align 4, !tbaa !5
  %16495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16496 = call i32 @s2n_print_stacktrace(ptr noundef %16495)
  %16497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16498 = trunc i8 %16497 to i1
  br i1 %16498, label %16499, label %16521

16499:                                            ; preds = %16492
  %16500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16501 = call i32 @fileno(ptr noundef %16500) #10
  %16502 = call i32 @isatty(i32 noundef %16501) #10
  %16503 = icmp ne i32 %16502, 0
  br i1 %16503, label %16504, label %16521

16504:                                            ; preds = %16499
  %16505 = load i32, ptr %348, align 4, !tbaa !5
  %16506 = call ptr @__errno_location() #11
  store i32 %16505, ptr %16506, align 4, !tbaa !5
  %16507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16508 = load i32, ptr @test_count, align 4, !tbaa !5
  %16509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16510 = load i32, ptr %16509, align 4, !tbaa !5
  %16511 = call ptr @s2n_strerror(i32 noundef %16510, ptr noundef @.str.4)
  %16512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16513 = load i32, ptr %16512, align 4, !tbaa !5
  %16514 = call ptr @s2n_strerror_debug(i32 noundef %16513, ptr noundef @.str.4)
  %16515 = call ptr @__errno_location() #11
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  %16517 = call ptr @strerror(i32 noundef %16516) #10
  %16518 = call ptr @__errno_location() #11
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16507, ptr noundef @.str.2, i32 noundef %16508, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 965, ptr noundef %16511, ptr noundef %16514, ptr noundef %16517, i32 noundef %16519) #10
  br label %16538

16521:                                            ; preds = %16499, %16492
  %16522 = load i32, ptr %348, align 4, !tbaa !5
  %16523 = call ptr @__errno_location() #11
  store i32 %16522, ptr %16523, align 4, !tbaa !5
  %16524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16525 = load i32, ptr @test_count, align 4, !tbaa !5
  %16526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16527 = load i32, ptr %16526, align 4, !tbaa !5
  %16528 = call ptr @s2n_strerror(i32 noundef %16527, ptr noundef @.str.4)
  %16529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16530 = load i32, ptr %16529, align 4, !tbaa !5
  %16531 = call ptr @s2n_strerror_debug(i32 noundef %16530, ptr noundef @.str.4)
  %16532 = call ptr @__errno_location() #11
  %16533 = load i32, ptr %16532, align 4, !tbaa !5
  %16534 = call ptr @strerror(i32 noundef %16533) #10
  %16535 = call ptr @__errno_location() #11
  %16536 = load i32, ptr %16535, align 4, !tbaa !5
  %16537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16524, ptr noundef @.str.5, i32 noundef %16525, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 965, ptr noundef %16528, ptr noundef %16531, ptr noundef %16534, i32 noundef %16536) #10
  br label %16538

16538:                                            ; preds = %16521, %16504
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #10
  br label %16539

16539:                                            ; preds = %16538
  br label %16540

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

16541:                                            ; No predecessors!
  br label %16542

16542:                                            ; preds = %16541
  br label %16543

16543:                                            ; preds = %16542, %16484
  br label %16544

16544:                                            ; preds = %16543
  br label %16545

16545:                                            ; preds = %16544
  br label %16546

16546:                                            ; preds = %16545
  %16547 = load i32, ptr @test_count, align 4, !tbaa !5
  %16548 = add nsw i32 %16547, 1
  store i32 %16548, ptr @test_count, align 4, !tbaa !5
  %16549 = load ptr, ptr %342, align 8, !tbaa !9
  %16550 = call i32 @s2n_config_disable_x509_verification(ptr noundef %16549)
  %16551 = icmp eq i32 %16550, -1
  br i1 %16551, label %16552, label %16605

16552:                                            ; preds = %16546
  br label %16553

16553:                                            ; preds = %16552
  br label %16554

16554:                                            ; preds = %16553
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #10
  %16555 = call ptr @__errno_location() #11
  %16556 = load i32, ptr %16555, align 4, !tbaa !5
  store i32 %16556, ptr %349, align 4, !tbaa !5
  %16557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16558 = call i32 @s2n_print_stacktrace(ptr noundef %16557)
  %16559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16560 = trunc i8 %16559 to i1
  br i1 %16560, label %16561, label %16583

16561:                                            ; preds = %16554
  %16562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16563 = call i32 @fileno(ptr noundef %16562) #10
  %16564 = call i32 @isatty(i32 noundef %16563) #10
  %16565 = icmp ne i32 %16564, 0
  br i1 %16565, label %16566, label %16583

16566:                                            ; preds = %16561
  %16567 = load i32, ptr %349, align 4, !tbaa !5
  %16568 = call ptr @__errno_location() #11
  store i32 %16567, ptr %16568, align 4, !tbaa !5
  %16569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16570 = load i32, ptr @test_count, align 4, !tbaa !5
  %16571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16572 = load i32, ptr %16571, align 4, !tbaa !5
  %16573 = call ptr @s2n_strerror(i32 noundef %16572, ptr noundef @.str.4)
  %16574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16575 = load i32, ptr %16574, align 4, !tbaa !5
  %16576 = call ptr @s2n_strerror_debug(i32 noundef %16575, ptr noundef @.str.4)
  %16577 = call ptr @__errno_location() #11
  %16578 = load i32, ptr %16577, align 4, !tbaa !5
  %16579 = call ptr @strerror(i32 noundef %16578) #10
  %16580 = call ptr @__errno_location() #11
  %16581 = load i32, ptr %16580, align 4, !tbaa !5
  %16582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16569, ptr noundef @.str.2, i32 noundef %16570, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 966, ptr noundef %16573, ptr noundef %16576, ptr noundef %16579, i32 noundef %16581) #10
  br label %16600

16583:                                            ; preds = %16561, %16554
  %16584 = load i32, ptr %349, align 4, !tbaa !5
  %16585 = call ptr @__errno_location() #11
  store i32 %16584, ptr %16585, align 4, !tbaa !5
  %16586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16587 = load i32, ptr @test_count, align 4, !tbaa !5
  %16588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16589 = load i32, ptr %16588, align 4, !tbaa !5
  %16590 = call ptr @s2n_strerror(i32 noundef %16589, ptr noundef @.str.4)
  %16591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16592 = load i32, ptr %16591, align 4, !tbaa !5
  %16593 = call ptr @s2n_strerror_debug(i32 noundef %16592, ptr noundef @.str.4)
  %16594 = call ptr @__errno_location() #11
  %16595 = load i32, ptr %16594, align 4, !tbaa !5
  %16596 = call ptr @strerror(i32 noundef %16595) #10
  %16597 = call ptr @__errno_location() #11
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16586, ptr noundef @.str.5, i32 noundef %16587, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 966, ptr noundef %16590, ptr noundef %16593, ptr noundef %16596, i32 noundef %16598) #10
  br label %16600

16600:                                            ; preds = %16583, %16566
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #10
  br label %16601

16601:                                            ; preds = %16600
  br label %16602

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

16603:                                            ; No predecessors!
  br label %16604

16604:                                            ; preds = %16603
  br label %16605

16605:                                            ; preds = %16604, %16546
  br label %16606

16606:                                            ; preds = %16605
  br label %16607

16607:                                            ; preds = %16606
  br label %16608

16608:                                            ; preds = %16607
  %16609 = load i32, ptr @test_count, align 4, !tbaa !5
  %16610 = add nsw i32 %16609, 1
  store i32 %16610, ptr @test_count, align 4, !tbaa !5
  %16611 = load ptr, ptr %342, align 8, !tbaa !9
  %16612 = call i32 @s2n_config_set_status_request_type(ptr noundef %16611, i32 noundef 1)
  %16613 = icmp eq i32 %16612, -1
  br i1 %16613, label %16614, label %16667

16614:                                            ; preds = %16608
  br label %16615

16615:                                            ; preds = %16614
  br label %16616

16616:                                            ; preds = %16615
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #10
  %16617 = call ptr @__errno_location() #11
  %16618 = load i32, ptr %16617, align 4, !tbaa !5
  store i32 %16618, ptr %350, align 4, !tbaa !5
  %16619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16620 = call i32 @s2n_print_stacktrace(ptr noundef %16619)
  %16621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16622 = trunc i8 %16621 to i1
  br i1 %16622, label %16623, label %16645

16623:                                            ; preds = %16616
  %16624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16625 = call i32 @fileno(ptr noundef %16624) #10
  %16626 = call i32 @isatty(i32 noundef %16625) #10
  %16627 = icmp ne i32 %16626, 0
  br i1 %16627, label %16628, label %16645

16628:                                            ; preds = %16623
  %16629 = load i32, ptr %350, align 4, !tbaa !5
  %16630 = call ptr @__errno_location() #11
  store i32 %16629, ptr %16630, align 4, !tbaa !5
  %16631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16632 = load i32, ptr @test_count, align 4, !tbaa !5
  %16633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16634 = load i32, ptr %16633, align 4, !tbaa !5
  %16635 = call ptr @s2n_strerror(i32 noundef %16634, ptr noundef @.str.4)
  %16636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16637 = load i32, ptr %16636, align 4, !tbaa !5
  %16638 = call ptr @s2n_strerror_debug(i32 noundef %16637, ptr noundef @.str.4)
  %16639 = call ptr @__errno_location() #11
  %16640 = load i32, ptr %16639, align 4, !tbaa !5
  %16641 = call ptr @strerror(i32 noundef %16640) #10
  %16642 = call ptr @__errno_location() #11
  %16643 = load i32, ptr %16642, align 4, !tbaa !5
  %16644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16631, ptr noundef @.str.2, i32 noundef %16632, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 967, ptr noundef %16635, ptr noundef %16638, ptr noundef %16641, i32 noundef %16643) #10
  br label %16662

16645:                                            ; preds = %16623, %16616
  %16646 = load i32, ptr %350, align 4, !tbaa !5
  %16647 = call ptr @__errno_location() #11
  store i32 %16646, ptr %16647, align 4, !tbaa !5
  %16648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16649 = load i32, ptr @test_count, align 4, !tbaa !5
  %16650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16651 = load i32, ptr %16650, align 4, !tbaa !5
  %16652 = call ptr @s2n_strerror(i32 noundef %16651, ptr noundef @.str.4)
  %16653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16654 = load i32, ptr %16653, align 4, !tbaa !5
  %16655 = call ptr @s2n_strerror_debug(i32 noundef %16654, ptr noundef @.str.4)
  %16656 = call ptr @__errno_location() #11
  %16657 = load i32, ptr %16656, align 4, !tbaa !5
  %16658 = call ptr @strerror(i32 noundef %16657) #10
  %16659 = call ptr @__errno_location() #11
  %16660 = load i32, ptr %16659, align 4, !tbaa !5
  %16661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16648, ptr noundef @.str.5, i32 noundef %16649, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 967, ptr noundef %16652, ptr noundef %16655, ptr noundef %16658, i32 noundef %16660) #10
  br label %16662

16662:                                            ; preds = %16645, %16628
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #10
  br label %16663

16663:                                            ; preds = %16662
  br label %16664

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

16665:                                            ; No predecessors!
  br label %16666

16666:                                            ; preds = %16665
  br label %16667

16667:                                            ; preds = %16666, %16608
  br label %16668

16668:                                            ; preds = %16667
  br label %16669

16669:                                            ; preds = %16668
  br label %16670

16670:                                            ; preds = %16669
  %16671 = load i32, ptr @test_count, align 4, !tbaa !5
  %16672 = add nsw i32 %16671, 1
  store i32 %16672, ptr @test_count, align 4, !tbaa !5
  %16673 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16673, ptr %339, align 8, !tbaa !9
  %16674 = icmp eq ptr %16673, null
  br i1 %16674, label %16675, label %16728

16675:                                            ; preds = %16670
  br label %16676

16676:                                            ; preds = %16675
  br label %16677

16677:                                            ; preds = %16676
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #10
  %16678 = call ptr @__errno_location() #11
  %16679 = load i32, ptr %16678, align 4, !tbaa !5
  store i32 %16679, ptr %351, align 4, !tbaa !5
  %16680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16681 = call i32 @s2n_print_stacktrace(ptr noundef %16680)
  %16682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16683 = trunc i8 %16682 to i1
  br i1 %16683, label %16684, label %16706

16684:                                            ; preds = %16677
  %16685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16686 = call i32 @fileno(ptr noundef %16685) #10
  %16687 = call i32 @isatty(i32 noundef %16686) #10
  %16688 = icmp ne i32 %16687, 0
  br i1 %16688, label %16689, label %16706

16689:                                            ; preds = %16684
  %16690 = load i32, ptr %351, align 4, !tbaa !5
  %16691 = call ptr @__errno_location() #11
  store i32 %16690, ptr %16691, align 4, !tbaa !5
  %16692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16693 = load i32, ptr @test_count, align 4, !tbaa !5
  %16694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16695 = load i32, ptr %16694, align 4, !tbaa !5
  %16696 = call ptr @s2n_strerror(i32 noundef %16695, ptr noundef @.str.4)
  %16697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16698 = load i32, ptr %16697, align 4, !tbaa !5
  %16699 = call ptr @s2n_strerror_debug(i32 noundef %16698, ptr noundef @.str.4)
  %16700 = call ptr @__errno_location() #11
  %16701 = load i32, ptr %16700, align 4, !tbaa !5
  %16702 = call ptr @strerror(i32 noundef %16701) #10
  %16703 = call ptr @__errno_location() #11
  %16704 = load i32, ptr %16703, align 4, !tbaa !5
  %16705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16692, ptr noundef @.str.2, i32 noundef %16693, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 969, ptr noundef %16696, ptr noundef %16699, ptr noundef %16702, i32 noundef %16704) #10
  br label %16723

16706:                                            ; preds = %16684, %16677
  %16707 = load i32, ptr %351, align 4, !tbaa !5
  %16708 = call ptr @__errno_location() #11
  store i32 %16707, ptr %16708, align 4, !tbaa !5
  %16709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16710 = load i32, ptr @test_count, align 4, !tbaa !5
  %16711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16712 = load i32, ptr %16711, align 4, !tbaa !5
  %16713 = call ptr @s2n_strerror(i32 noundef %16712, ptr noundef @.str.4)
  %16714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16715 = load i32, ptr %16714, align 4, !tbaa !5
  %16716 = call ptr @s2n_strerror_debug(i32 noundef %16715, ptr noundef @.str.4)
  %16717 = call ptr @__errno_location() #11
  %16718 = load i32, ptr %16717, align 4, !tbaa !5
  %16719 = call ptr @strerror(i32 noundef %16718) #10
  %16720 = call ptr @__errno_location() #11
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16709, ptr noundef @.str.5, i32 noundef %16710, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 969, ptr noundef %16713, ptr noundef %16716, ptr noundef %16719, i32 noundef %16721) #10
  br label %16723

16723:                                            ; preds = %16706, %16689
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #10
  br label %16724

16724:                                            ; preds = %16723
  br label %16725

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

16726:                                            ; No predecessors!
  br label %16727

16727:                                            ; preds = %16726
  br label %16728

16728:                                            ; preds = %16727, %16670
  br label %16729

16729:                                            ; preds = %16728
  br label %16730

16730:                                            ; preds = %16729
  br label %16731

16731:                                            ; preds = %16730
  %16732 = load i32, ptr @test_count, align 4, !tbaa !5
  %16733 = add nsw i32 %16732, 1
  store i32 %16733, ptr @test_count, align 4, !tbaa !5
  %16734 = load ptr, ptr %339, align 8, !tbaa !9
  %16735 = load ptr, ptr %342, align 8, !tbaa !9
  %16736 = call i32 @s2n_connection_set_config(ptr noundef %16734, ptr noundef %16735)
  %16737 = icmp eq i32 %16736, -1
  br i1 %16737, label %16738, label %16791

16738:                                            ; preds = %16731
  br label %16739

16739:                                            ; preds = %16738
  br label %16740

16740:                                            ; preds = %16739
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #10
  %16741 = call ptr @__errno_location() #11
  %16742 = load i32, ptr %16741, align 4, !tbaa !5
  store i32 %16742, ptr %352, align 4, !tbaa !5
  %16743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16744 = call i32 @s2n_print_stacktrace(ptr noundef %16743)
  %16745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16746 = trunc i8 %16745 to i1
  br i1 %16746, label %16747, label %16769

16747:                                            ; preds = %16740
  %16748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16749 = call i32 @fileno(ptr noundef %16748) #10
  %16750 = call i32 @isatty(i32 noundef %16749) #10
  %16751 = icmp ne i32 %16750, 0
  br i1 %16751, label %16752, label %16769

16752:                                            ; preds = %16747
  %16753 = load i32, ptr %352, align 4, !tbaa !5
  %16754 = call ptr @__errno_location() #11
  store i32 %16753, ptr %16754, align 4, !tbaa !5
  %16755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16756 = load i32, ptr @test_count, align 4, !tbaa !5
  %16757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16758 = load i32, ptr %16757, align 4, !tbaa !5
  %16759 = call ptr @s2n_strerror(i32 noundef %16758, ptr noundef @.str.4)
  %16760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16761 = load i32, ptr %16760, align 4, !tbaa !5
  %16762 = call ptr @s2n_strerror_debug(i32 noundef %16761, ptr noundef @.str.4)
  %16763 = call ptr @__errno_location() #11
  %16764 = load i32, ptr %16763, align 4, !tbaa !5
  %16765 = call ptr @strerror(i32 noundef %16764) #10
  %16766 = call ptr @__errno_location() #11
  %16767 = load i32, ptr %16766, align 4, !tbaa !5
  %16768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16755, ptr noundef @.str.2, i32 noundef %16756, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 970, ptr noundef %16759, ptr noundef %16762, ptr noundef %16765, i32 noundef %16767) #10
  br label %16786

16769:                                            ; preds = %16747, %16740
  %16770 = load i32, ptr %352, align 4, !tbaa !5
  %16771 = call ptr @__errno_location() #11
  store i32 %16770, ptr %16771, align 4, !tbaa !5
  %16772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16773 = load i32, ptr @test_count, align 4, !tbaa !5
  %16774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16775 = load i32, ptr %16774, align 4, !tbaa !5
  %16776 = call ptr @s2n_strerror(i32 noundef %16775, ptr noundef @.str.4)
  %16777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16778 = load i32, ptr %16777, align 4, !tbaa !5
  %16779 = call ptr @s2n_strerror_debug(i32 noundef %16778, ptr noundef @.str.4)
  %16780 = call ptr @__errno_location() #11
  %16781 = load i32, ptr %16780, align 4, !tbaa !5
  %16782 = call ptr @strerror(i32 noundef %16781) #10
  %16783 = call ptr @__errno_location() #11
  %16784 = load i32, ptr %16783, align 4, !tbaa !5
  %16785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16772, ptr noundef @.str.5, i32 noundef %16773, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 970, ptr noundef %16776, ptr noundef %16779, ptr noundef %16782, i32 noundef %16784) #10
  br label %16786

16786:                                            ; preds = %16769, %16752
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #10
  br label %16787

16787:                                            ; preds = %16786
  br label %16788

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

16789:                                            ; No predecessors!
  br label %16790

16790:                                            ; preds = %16789
  br label %16791

16791:                                            ; preds = %16790, %16731
  br label %16792

16792:                                            ; preds = %16791
  br label %16793

16793:                                            ; preds = %16792
  %16794 = load ptr, ptr %339, align 8, !tbaa !9
  %16795 = getelementptr inbounds %struct.s2n_connection, ptr %16794, i32 0, i32 23
  store i8 34, ptr %16795, align 4, !tbaa !15
  %16796 = load ptr, ptr %339, align 8, !tbaa !9
  %16797 = getelementptr inbounds %struct.s2n_connection, ptr %16796, i32 0, i32 22
  store i8 34, ptr %16797, align 1, !tbaa !42
  %16798 = load ptr, ptr %339, align 8, !tbaa !9
  %16799 = getelementptr inbounds %struct.s2n_connection, ptr %16798, i32 0, i32 21
  store i8 34, ptr %16799, align 2, !tbaa !43
  br label %16800

16800:                                            ; preds = %16793
  %16801 = load i32, ptr @test_count, align 4, !tbaa !5
  %16802 = add nsw i32 %16801, 1
  store i32 %16802, ptr @test_count, align 4, !tbaa !5
  %16803 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %16803, ptr %340, align 8, !tbaa !9
  %16804 = icmp eq ptr %16803, null
  br i1 %16804, label %16805, label %16858

16805:                                            ; preds = %16800
  br label %16806

16806:                                            ; preds = %16805
  br label %16807

16807:                                            ; preds = %16806
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #10
  %16808 = call ptr @__errno_location() #11
  %16809 = load i32, ptr %16808, align 4, !tbaa !5
  store i32 %16809, ptr %353, align 4, !tbaa !5
  %16810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16811 = call i32 @s2n_print_stacktrace(ptr noundef %16810)
  %16812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16813 = trunc i8 %16812 to i1
  br i1 %16813, label %16814, label %16836

16814:                                            ; preds = %16807
  %16815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16816 = call i32 @fileno(ptr noundef %16815) #10
  %16817 = call i32 @isatty(i32 noundef %16816) #10
  %16818 = icmp ne i32 %16817, 0
  br i1 %16818, label %16819, label %16836

16819:                                            ; preds = %16814
  %16820 = load i32, ptr %353, align 4, !tbaa !5
  %16821 = call ptr @__errno_location() #11
  store i32 %16820, ptr %16821, align 4, !tbaa !5
  %16822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16823 = load i32, ptr @test_count, align 4, !tbaa !5
  %16824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16825 = load i32, ptr %16824, align 4, !tbaa !5
  %16826 = call ptr @s2n_strerror(i32 noundef %16825, ptr noundef @.str.4)
  %16827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16828 = load i32, ptr %16827, align 4, !tbaa !5
  %16829 = call ptr @s2n_strerror_debug(i32 noundef %16828, ptr noundef @.str.4)
  %16830 = call ptr @__errno_location() #11
  %16831 = load i32, ptr %16830, align 4, !tbaa !5
  %16832 = call ptr @strerror(i32 noundef %16831) #10
  %16833 = call ptr @__errno_location() #11
  %16834 = load i32, ptr %16833, align 4, !tbaa !5
  %16835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16822, ptr noundef @.str.2, i32 noundef %16823, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 975, ptr noundef %16826, ptr noundef %16829, ptr noundef %16832, i32 noundef %16834) #10
  br label %16853

16836:                                            ; preds = %16814, %16807
  %16837 = load i32, ptr %353, align 4, !tbaa !5
  %16838 = call ptr @__errno_location() #11
  store i32 %16837, ptr %16838, align 4, !tbaa !5
  %16839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16840 = load i32, ptr @test_count, align 4, !tbaa !5
  %16841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16842 = load i32, ptr %16841, align 4, !tbaa !5
  %16843 = call ptr @s2n_strerror(i32 noundef %16842, ptr noundef @.str.4)
  %16844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16845 = load i32, ptr %16844, align 4, !tbaa !5
  %16846 = call ptr @s2n_strerror_debug(i32 noundef %16845, ptr noundef @.str.4)
  %16847 = call ptr @__errno_location() #11
  %16848 = load i32, ptr %16847, align 4, !tbaa !5
  %16849 = call ptr @strerror(i32 noundef %16848) #10
  %16850 = call ptr @__errno_location() #11
  %16851 = load i32, ptr %16850, align 4, !tbaa !5
  %16852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16839, ptr noundef @.str.5, i32 noundef %16840, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 975, ptr noundef %16843, ptr noundef %16846, ptr noundef %16849, i32 noundef %16851) #10
  br label %16853

16853:                                            ; preds = %16836, %16819
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #10
  br label %16854

16854:                                            ; preds = %16853
  br label %16855

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

16856:                                            ; No predecessors!
  br label %16857

16857:                                            ; preds = %16856
  br label %16858

16858:                                            ; preds = %16857, %16800
  br label %16859

16859:                                            ; preds = %16858
  br label %16860

16860:                                            ; preds = %16859
  %16861 = load ptr, ptr %340, align 8, !tbaa !9
  %16862 = getelementptr inbounds %struct.s2n_connection, ptr %16861, i32 0, i32 23
  store i8 34, ptr %16862, align 4, !tbaa !15
  %16863 = load ptr, ptr %340, align 8, !tbaa !9
  %16864 = getelementptr inbounds %struct.s2n_connection, ptr %16863, i32 0, i32 22
  store i8 34, ptr %16864, align 1, !tbaa !42
  %16865 = load ptr, ptr %340, align 8, !tbaa !9
  %16866 = getelementptr inbounds %struct.s2n_connection, ptr %16865, i32 0, i32 21
  store i8 34, ptr %16866, align 2, !tbaa !43
  br label %16867

16867:                                            ; preds = %16860
  %16868 = load i32, ptr @test_count, align 4, !tbaa !5
  %16869 = add nsw i32 %16868, 1
  store i32 %16869, ptr @test_count, align 4, !tbaa !5
  %16870 = load ptr, ptr %339, align 8, !tbaa !9
  %16871 = load ptr, ptr %340, align 8, !tbaa !9
  %16872 = call i32 @s2n_connections_set_io_pair(ptr noundef %16870, ptr noundef %16871, ptr noundef %15)
  %16873 = icmp eq i32 %16872, -1
  br i1 %16873, label %16874, label %16927

16874:                                            ; preds = %16867
  br label %16875

16875:                                            ; preds = %16874
  br label %16876

16876:                                            ; preds = %16875
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #10
  %16877 = call ptr @__errno_location() #11
  %16878 = load i32, ptr %16877, align 4, !tbaa !5
  store i32 %16878, ptr %354, align 4, !tbaa !5
  %16879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16880 = call i32 @s2n_print_stacktrace(ptr noundef %16879)
  %16881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16882 = trunc i8 %16881 to i1
  br i1 %16882, label %16883, label %16905

16883:                                            ; preds = %16876
  %16884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16885 = call i32 @fileno(ptr noundef %16884) #10
  %16886 = call i32 @isatty(i32 noundef %16885) #10
  %16887 = icmp ne i32 %16886, 0
  br i1 %16887, label %16888, label %16905

16888:                                            ; preds = %16883
  %16889 = load i32, ptr %354, align 4, !tbaa !5
  %16890 = call ptr @__errno_location() #11
  store i32 %16889, ptr %16890, align 4, !tbaa !5
  %16891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16892 = load i32, ptr @test_count, align 4, !tbaa !5
  %16893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16894 = load i32, ptr %16893, align 4, !tbaa !5
  %16895 = call ptr @s2n_strerror(i32 noundef %16894, ptr noundef @.str.4)
  %16896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16897 = load i32, ptr %16896, align 4, !tbaa !5
  %16898 = call ptr @s2n_strerror_debug(i32 noundef %16897, ptr noundef @.str.4)
  %16899 = call ptr @__errno_location() #11
  %16900 = load i32, ptr %16899, align 4, !tbaa !5
  %16901 = call ptr @strerror(i32 noundef %16900) #10
  %16902 = call ptr @__errno_location() #11
  %16903 = load i32, ptr %16902, align 4, !tbaa !5
  %16904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16891, ptr noundef @.str.2, i32 noundef %16892, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 980, ptr noundef %16895, ptr noundef %16898, ptr noundef %16901, i32 noundef %16903) #10
  br label %16922

16905:                                            ; preds = %16883, %16876
  %16906 = load i32, ptr %354, align 4, !tbaa !5
  %16907 = call ptr @__errno_location() #11
  store i32 %16906, ptr %16907, align 4, !tbaa !5
  %16908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16909 = load i32, ptr @test_count, align 4, !tbaa !5
  %16910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16911 = load i32, ptr %16910, align 4, !tbaa !5
  %16912 = call ptr @s2n_strerror(i32 noundef %16911, ptr noundef @.str.4)
  %16913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16914 = load i32, ptr %16913, align 4, !tbaa !5
  %16915 = call ptr @s2n_strerror_debug(i32 noundef %16914, ptr noundef @.str.4)
  %16916 = call ptr @__errno_location() #11
  %16917 = load i32, ptr %16916, align 4, !tbaa !5
  %16918 = call ptr @strerror(i32 noundef %16917) #10
  %16919 = call ptr @__errno_location() #11
  %16920 = load i32, ptr %16919, align 4, !tbaa !5
  %16921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16908, ptr noundef @.str.5, i32 noundef %16909, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 980, ptr noundef %16912, ptr noundef %16915, ptr noundef %16918, i32 noundef %16920) #10
  br label %16922

16922:                                            ; preds = %16905, %16888
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #10
  br label %16923

16923:                                            ; preds = %16922
  br label %16924

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

16925:                                            ; No predecessors!
  br label %16926

16926:                                            ; preds = %16925
  br label %16927

16927:                                            ; preds = %16926, %16867
  br label %16928

16928:                                            ; preds = %16927
  br label %16929

16929:                                            ; preds = %16928
  br label %16930

16930:                                            ; preds = %16929
  %16931 = load i32, ptr @test_count, align 4, !tbaa !5
  %16932 = add nsw i32 %16931, 1
  store i32 %16932, ptr @test_count, align 4, !tbaa !5
  %16933 = call ptr @s2n_config_new()
  store ptr %16933, ptr %341, align 8, !tbaa !9
  %16934 = icmp eq ptr %16933, null
  br i1 %16934, label %16935, label %16988

16935:                                            ; preds = %16930
  br label %16936

16936:                                            ; preds = %16935
  br label %16937

16937:                                            ; preds = %16936
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #10
  %16938 = call ptr @__errno_location() #11
  %16939 = load i32, ptr %16938, align 4, !tbaa !5
  store i32 %16939, ptr %355, align 4, !tbaa !5
  %16940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16941 = call i32 @s2n_print_stacktrace(ptr noundef %16940)
  %16942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16943 = trunc i8 %16942 to i1
  br i1 %16943, label %16944, label %16966

16944:                                            ; preds = %16937
  %16945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16946 = call i32 @fileno(ptr noundef %16945) #10
  %16947 = call i32 @isatty(i32 noundef %16946) #10
  %16948 = icmp ne i32 %16947, 0
  br i1 %16948, label %16949, label %16966

16949:                                            ; preds = %16944
  %16950 = load i32, ptr %355, align 4, !tbaa !5
  %16951 = call ptr @__errno_location() #11
  store i32 %16950, ptr %16951, align 4, !tbaa !5
  %16952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16953 = load i32, ptr @test_count, align 4, !tbaa !5
  %16954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16955 = load i32, ptr %16954, align 4, !tbaa !5
  %16956 = call ptr @s2n_strerror(i32 noundef %16955, ptr noundef @.str.4)
  %16957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16958 = load i32, ptr %16957, align 4, !tbaa !5
  %16959 = call ptr @s2n_strerror_debug(i32 noundef %16958, ptr noundef @.str.4)
  %16960 = call ptr @__errno_location() #11
  %16961 = load i32, ptr %16960, align 4, !tbaa !5
  %16962 = call ptr @strerror(i32 noundef %16961) #10
  %16963 = call ptr @__errno_location() #11
  %16964 = load i32, ptr %16963, align 4, !tbaa !5
  %16965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16952, ptr noundef @.str.2, i32 noundef %16953, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 982, ptr noundef %16956, ptr noundef %16959, ptr noundef %16962, i32 noundef %16964) #10
  br label %16983

16966:                                            ; preds = %16944, %16937
  %16967 = load i32, ptr %355, align 4, !tbaa !5
  %16968 = call ptr @__errno_location() #11
  store i32 %16967, ptr %16968, align 4, !tbaa !5
  %16969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16970 = load i32, ptr @test_count, align 4, !tbaa !5
  %16971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16972 = load i32, ptr %16971, align 4, !tbaa !5
  %16973 = call ptr @s2n_strerror(i32 noundef %16972, ptr noundef @.str.4)
  %16974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16975 = load i32, ptr %16974, align 4, !tbaa !5
  %16976 = call ptr @s2n_strerror_debug(i32 noundef %16975, ptr noundef @.str.4)
  %16977 = call ptr @__errno_location() #11
  %16978 = load i32, ptr %16977, align 4, !tbaa !5
  %16979 = call ptr @strerror(i32 noundef %16978) #10
  %16980 = call ptr @__errno_location() #11
  %16981 = load i32, ptr %16980, align 4, !tbaa !5
  %16982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16969, ptr noundef @.str.5, i32 noundef %16970, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 982, ptr noundef %16973, ptr noundef %16976, ptr noundef %16979, i32 noundef %16981) #10
  br label %16983

16983:                                            ; preds = %16966, %16949
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #10
  br label %16984

16984:                                            ; preds = %16983
  br label %16985

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

16986:                                            ; No predecessors!
  br label %16987

16987:                                            ; preds = %16986
  br label %16988

16988:                                            ; preds = %16987, %16930
  br label %16989

16989:                                            ; preds = %16988
  br label %16990

16990:                                            ; preds = %16989
  br label %16991

16991:                                            ; preds = %16990
  %16992 = load i32, ptr @test_count, align 4, !tbaa !5
  %16993 = add nsw i32 %16992, 1
  store i32 %16993, ptr @test_count, align 4, !tbaa !5
  %16994 = load ptr, ptr %341, align 8, !tbaa !9
  %16995 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %16994, ptr noundef @.str.88)
  %16996 = icmp eq i32 %16995, -1
  br i1 %16996, label %16997, label %17050

16997:                                            ; preds = %16991
  br label %16998

16998:                                            ; preds = %16997
  br label %16999

16999:                                            ; preds = %16998
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #10
  %17000 = call ptr @__errno_location() #11
  %17001 = load i32, ptr %17000, align 4, !tbaa !5
  store i32 %17001, ptr %356, align 4, !tbaa !5
  %17002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17003 = call i32 @s2n_print_stacktrace(ptr noundef %17002)
  %17004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17005 = trunc i8 %17004 to i1
  br i1 %17005, label %17006, label %17028

17006:                                            ; preds = %16999
  %17007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17008 = call i32 @fileno(ptr noundef %17007) #10
  %17009 = call i32 @isatty(i32 noundef %17008) #10
  %17010 = icmp ne i32 %17009, 0
  br i1 %17010, label %17011, label %17028

17011:                                            ; preds = %17006
  %17012 = load i32, ptr %356, align 4, !tbaa !5
  %17013 = call ptr @__errno_location() #11
  store i32 %17012, ptr %17013, align 4, !tbaa !5
  %17014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17015 = load i32, ptr @test_count, align 4, !tbaa !5
  %17016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17017 = load i32, ptr %17016, align 4, !tbaa !5
  %17018 = call ptr @s2n_strerror(i32 noundef %17017, ptr noundef @.str.4)
  %17019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17020 = load i32, ptr %17019, align 4, !tbaa !5
  %17021 = call ptr @s2n_strerror_debug(i32 noundef %17020, ptr noundef @.str.4)
  %17022 = call ptr @__errno_location() #11
  %17023 = load i32, ptr %17022, align 4, !tbaa !5
  %17024 = call ptr @strerror(i32 noundef %17023) #10
  %17025 = call ptr @__errno_location() #11
  %17026 = load i32, ptr %17025, align 4, !tbaa !5
  %17027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17014, ptr noundef @.str.2, i32 noundef %17015, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 983, ptr noundef %17018, ptr noundef %17021, ptr noundef %17024, i32 noundef %17026) #10
  br label %17045

17028:                                            ; preds = %17006, %16999
  %17029 = load i32, ptr %356, align 4, !tbaa !5
  %17030 = call ptr @__errno_location() #11
  store i32 %17029, ptr %17030, align 4, !tbaa !5
  %17031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17032 = load i32, ptr @test_count, align 4, !tbaa !5
  %17033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17034 = load i32, ptr %17033, align 4, !tbaa !5
  %17035 = call ptr @s2n_strerror(i32 noundef %17034, ptr noundef @.str.4)
  %17036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17037 = load i32, ptr %17036, align 4, !tbaa !5
  %17038 = call ptr @s2n_strerror_debug(i32 noundef %17037, ptr noundef @.str.4)
  %17039 = call ptr @__errno_location() #11
  %17040 = load i32, ptr %17039, align 4, !tbaa !5
  %17041 = call ptr @strerror(i32 noundef %17040) #10
  %17042 = call ptr @__errno_location() #11
  %17043 = load i32, ptr %17042, align 4, !tbaa !5
  %17044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17031, ptr noundef @.str.5, i32 noundef %17032, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 983, ptr noundef %17035, ptr noundef %17038, ptr noundef %17041, i32 noundef %17043) #10
  br label %17045

17045:                                            ; preds = %17028, %17011
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #10
  br label %17046

17046:                                            ; preds = %17045
  br label %17047

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

17048:                                            ; No predecessors!
  br label %17049

17049:                                            ; preds = %17048
  br label %17050

17050:                                            ; preds = %17049, %16991
  br label %17051

17051:                                            ; preds = %17050
  br label %17052

17052:                                            ; preds = %17051
  br label %17053

17053:                                            ; preds = %17052
  %17054 = load i32, ptr @test_count, align 4, !tbaa !5
  %17055 = add nsw i32 %17054, 1
  store i32 %17055, ptr @test_count, align 4, !tbaa !5
  %17056 = load ptr, ptr %6, align 8, !tbaa !9
  %17057 = call i32 @s2n_read_test_pem(ptr noundef @.str.91, ptr noundef %17056, i64 noundef 12000)
  %17058 = icmp eq i32 %17057, -1
  br i1 %17058, label %17059, label %17112

17059:                                            ; preds = %17053
  br label %17060

17060:                                            ; preds = %17059
  br label %17061

17061:                                            ; preds = %17060
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #10
  %17062 = call ptr @__errno_location() #11
  %17063 = load i32, ptr %17062, align 4, !tbaa !5
  store i32 %17063, ptr %357, align 4, !tbaa !5
  %17064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17065 = call i32 @s2n_print_stacktrace(ptr noundef %17064)
  %17066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17067 = trunc i8 %17066 to i1
  br i1 %17067, label %17068, label %17090

17068:                                            ; preds = %17061
  %17069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17070 = call i32 @fileno(ptr noundef %17069) #10
  %17071 = call i32 @isatty(i32 noundef %17070) #10
  %17072 = icmp ne i32 %17071, 0
  br i1 %17072, label %17073, label %17090

17073:                                            ; preds = %17068
  %17074 = load i32, ptr %357, align 4, !tbaa !5
  %17075 = call ptr @__errno_location() #11
  store i32 %17074, ptr %17075, align 4, !tbaa !5
  %17076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17077 = load i32, ptr @test_count, align 4, !tbaa !5
  %17078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17079 = load i32, ptr %17078, align 4, !tbaa !5
  %17080 = call ptr @s2n_strerror(i32 noundef %17079, ptr noundef @.str.4)
  %17081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17082 = load i32, ptr %17081, align 4, !tbaa !5
  %17083 = call ptr @s2n_strerror_debug(i32 noundef %17082, ptr noundef @.str.4)
  %17084 = call ptr @__errno_location() #11
  %17085 = load i32, ptr %17084, align 4, !tbaa !5
  %17086 = call ptr @strerror(i32 noundef %17085) #10
  %17087 = call ptr @__errno_location() #11
  %17088 = load i32, ptr %17087, align 4, !tbaa !5
  %17089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17076, ptr noundef @.str.2, i32 noundef %17077, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 984, ptr noundef %17080, ptr noundef %17083, ptr noundef %17086, i32 noundef %17088) #10
  br label %17107

17090:                                            ; preds = %17068, %17061
  %17091 = load i32, ptr %357, align 4, !tbaa !5
  %17092 = call ptr @__errno_location() #11
  store i32 %17091, ptr %17092, align 4, !tbaa !5
  %17093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17094 = load i32, ptr @test_count, align 4, !tbaa !5
  %17095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17096 = load i32, ptr %17095, align 4, !tbaa !5
  %17097 = call ptr @s2n_strerror(i32 noundef %17096, ptr noundef @.str.4)
  %17098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17099 = load i32, ptr %17098, align 4, !tbaa !5
  %17100 = call ptr @s2n_strerror_debug(i32 noundef %17099, ptr noundef @.str.4)
  %17101 = call ptr @__errno_location() #11
  %17102 = load i32, ptr %17101, align 4, !tbaa !5
  %17103 = call ptr @strerror(i32 noundef %17102) #10
  %17104 = call ptr @__errno_location() #11
  %17105 = load i32, ptr %17104, align 4, !tbaa !5
  %17106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17093, ptr noundef @.str.5, i32 noundef %17094, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 984, ptr noundef %17097, ptr noundef %17100, ptr noundef %17103, i32 noundef %17105) #10
  br label %17107

17107:                                            ; preds = %17090, %17073
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #10
  br label %17108

17108:                                            ; preds = %17107
  br label %17109

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

17110:                                            ; No predecessors!
  br label %17111

17111:                                            ; preds = %17110
  br label %17112

17112:                                            ; preds = %17111, %17053
  br label %17113

17113:                                            ; preds = %17112
  br label %17114

17114:                                            ; preds = %17113
  br label %17115

17115:                                            ; preds = %17114
  %17116 = load i32, ptr @test_count, align 4, !tbaa !5
  %17117 = add nsw i32 %17116, 1
  store i32 %17117, ptr @test_count, align 4, !tbaa !5
  %17118 = load ptr, ptr %7, align 8, !tbaa !9
  %17119 = call i32 @s2n_read_test_pem(ptr noundef @.str.93, ptr noundef %17118, i64 noundef 12000)
  %17120 = icmp eq i32 %17119, -1
  br i1 %17120, label %17121, label %17174

17121:                                            ; preds = %17115
  br label %17122

17122:                                            ; preds = %17121
  br label %17123

17123:                                            ; preds = %17122
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #10
  %17124 = call ptr @__errno_location() #11
  %17125 = load i32, ptr %17124, align 4, !tbaa !5
  store i32 %17125, ptr %358, align 4, !tbaa !5
  %17126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17127 = call i32 @s2n_print_stacktrace(ptr noundef %17126)
  %17128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17129 = trunc i8 %17128 to i1
  br i1 %17129, label %17130, label %17152

17130:                                            ; preds = %17123
  %17131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17132 = call i32 @fileno(ptr noundef %17131) #10
  %17133 = call i32 @isatty(i32 noundef %17132) #10
  %17134 = icmp ne i32 %17133, 0
  br i1 %17134, label %17135, label %17152

17135:                                            ; preds = %17130
  %17136 = load i32, ptr %358, align 4, !tbaa !5
  %17137 = call ptr @__errno_location() #11
  store i32 %17136, ptr %17137, align 4, !tbaa !5
  %17138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17139 = load i32, ptr @test_count, align 4, !tbaa !5
  %17140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17141 = load i32, ptr %17140, align 4, !tbaa !5
  %17142 = call ptr @s2n_strerror(i32 noundef %17141, ptr noundef @.str.4)
  %17143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17144 = load i32, ptr %17143, align 4, !tbaa !5
  %17145 = call ptr @s2n_strerror_debug(i32 noundef %17144, ptr noundef @.str.4)
  %17146 = call ptr @__errno_location() #11
  %17147 = load i32, ptr %17146, align 4, !tbaa !5
  %17148 = call ptr @strerror(i32 noundef %17147) #10
  %17149 = call ptr @__errno_location() #11
  %17150 = load i32, ptr %17149, align 4, !tbaa !5
  %17151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17138, ptr noundef @.str.2, i32 noundef %17139, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 985, ptr noundef %17142, ptr noundef %17145, ptr noundef %17148, i32 noundef %17150) #10
  br label %17169

17152:                                            ; preds = %17130, %17123
  %17153 = load i32, ptr %358, align 4, !tbaa !5
  %17154 = call ptr @__errno_location() #11
  store i32 %17153, ptr %17154, align 4, !tbaa !5
  %17155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17156 = load i32, ptr @test_count, align 4, !tbaa !5
  %17157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17158 = load i32, ptr %17157, align 4, !tbaa !5
  %17159 = call ptr @s2n_strerror(i32 noundef %17158, ptr noundef @.str.4)
  %17160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17161 = load i32, ptr %17160, align 4, !tbaa !5
  %17162 = call ptr @s2n_strerror_debug(i32 noundef %17161, ptr noundef @.str.4)
  %17163 = call ptr @__errno_location() #11
  %17164 = load i32, ptr %17163, align 4, !tbaa !5
  %17165 = call ptr @strerror(i32 noundef %17164) #10
  %17166 = call ptr @__errno_location() #11
  %17167 = load i32, ptr %17166, align 4, !tbaa !5
  %17168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17155, ptr noundef @.str.5, i32 noundef %17156, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 985, ptr noundef %17159, ptr noundef %17162, ptr noundef %17165, i32 noundef %17167) #10
  br label %17169

17169:                                            ; preds = %17152, %17135
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #10
  br label %17170

17170:                                            ; preds = %17169
  br label %17171

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

17172:                                            ; No predecessors!
  br label %17173

17173:                                            ; preds = %17172
  br label %17174

17174:                                            ; preds = %17173, %17115
  br label %17175

17175:                                            ; preds = %17174
  br label %17176

17176:                                            ; preds = %17175
  br label %17177

17177:                                            ; preds = %17176
  %17178 = load i32, ptr @test_count, align 4, !tbaa !5
  %17179 = add nsw i32 %17178, 1
  store i32 %17179, ptr @test_count, align 4, !tbaa !5
  %17180 = load ptr, ptr %341, align 8, !tbaa !9
  %17181 = load ptr, ptr %6, align 8, !tbaa !9
  %17182 = load ptr, ptr %7, align 8, !tbaa !9
  %17183 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %17180, ptr noundef %17181, ptr noundef %17182)
  %17184 = icmp eq i32 %17183, -1
  br i1 %17184, label %17185, label %17238

17185:                                            ; preds = %17177
  br label %17186

17186:                                            ; preds = %17185
  br label %17187

17187:                                            ; preds = %17186
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #10
  %17188 = call ptr @__errno_location() #11
  %17189 = load i32, ptr %17188, align 4, !tbaa !5
  store i32 %17189, ptr %359, align 4, !tbaa !5
  %17190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17191 = call i32 @s2n_print_stacktrace(ptr noundef %17190)
  %17192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17193 = trunc i8 %17192 to i1
  br i1 %17193, label %17194, label %17216

17194:                                            ; preds = %17187
  %17195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17196 = call i32 @fileno(ptr noundef %17195) #10
  %17197 = call i32 @isatty(i32 noundef %17196) #10
  %17198 = icmp ne i32 %17197, 0
  br i1 %17198, label %17199, label %17216

17199:                                            ; preds = %17194
  %17200 = load i32, ptr %359, align 4, !tbaa !5
  %17201 = call ptr @__errno_location() #11
  store i32 %17200, ptr %17201, align 4, !tbaa !5
  %17202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17203 = load i32, ptr @test_count, align 4, !tbaa !5
  %17204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17205 = load i32, ptr %17204, align 4, !tbaa !5
  %17206 = call ptr @s2n_strerror(i32 noundef %17205, ptr noundef @.str.4)
  %17207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17208 = load i32, ptr %17207, align 4, !tbaa !5
  %17209 = call ptr @s2n_strerror_debug(i32 noundef %17208, ptr noundef @.str.4)
  %17210 = call ptr @__errno_location() #11
  %17211 = load i32, ptr %17210, align 4, !tbaa !5
  %17212 = call ptr @strerror(i32 noundef %17211) #10
  %17213 = call ptr @__errno_location() #11
  %17214 = load i32, ptr %17213, align 4, !tbaa !5
  %17215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17202, ptr noundef @.str.2, i32 noundef %17203, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 986, ptr noundef %17206, ptr noundef %17209, ptr noundef %17212, i32 noundef %17214) #10
  br label %17233

17216:                                            ; preds = %17194, %17187
  %17217 = load i32, ptr %359, align 4, !tbaa !5
  %17218 = call ptr @__errno_location() #11
  store i32 %17217, ptr %17218, align 4, !tbaa !5
  %17219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17220 = load i32, ptr @test_count, align 4, !tbaa !5
  %17221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17222 = load i32, ptr %17221, align 4, !tbaa !5
  %17223 = call ptr @s2n_strerror(i32 noundef %17222, ptr noundef @.str.4)
  %17224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call ptr @s2n_strerror_debug(i32 noundef %17225, ptr noundef @.str.4)
  %17227 = call ptr @__errno_location() #11
  %17228 = load i32, ptr %17227, align 4, !tbaa !5
  %17229 = call ptr @strerror(i32 noundef %17228) #10
  %17230 = call ptr @__errno_location() #11
  %17231 = load i32, ptr %17230, align 4, !tbaa !5
  %17232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17219, ptr noundef @.str.5, i32 noundef %17220, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 986, ptr noundef %17223, ptr noundef %17226, ptr noundef %17229, i32 noundef %17231) #10
  br label %17233

17233:                                            ; preds = %17216, %17199
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #10
  br label %17234

17234:                                            ; preds = %17233
  br label %17235

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

17236:                                            ; No predecessors!
  br label %17237

17237:                                            ; preds = %17236
  br label %17238

17238:                                            ; preds = %17237, %17177
  br label %17239

17239:                                            ; preds = %17238
  br label %17240

17240:                                            ; preds = %17239
  br label %17241

17241:                                            ; preds = %17240
  %17242 = load i32, ptr @test_count, align 4, !tbaa !5
  %17243 = add nsw i32 %17242, 1
  store i32 %17243, ptr @test_count, align 4, !tbaa !5
  %17244 = load ptr, ptr %341, align 8, !tbaa !9
  %17245 = call i32 @s2n_config_set_extension_data(ptr noundef %17244, i32 noundef 5, ptr noundef @server_ocsp_status_bytes, i32 noundef 1609)
  %17246 = icmp eq i32 %17245, -1
  br i1 %17246, label %17247, label %17300

17247:                                            ; preds = %17241
  br label %17248

17248:                                            ; preds = %17247
  br label %17249

17249:                                            ; preds = %17248
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #10
  %17250 = call ptr @__errno_location() #11
  %17251 = load i32, ptr %17250, align 4, !tbaa !5
  store i32 %17251, ptr %360, align 4, !tbaa !5
  %17252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17253 = call i32 @s2n_print_stacktrace(ptr noundef %17252)
  %17254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17255 = trunc i8 %17254 to i1
  br i1 %17255, label %17256, label %17278

17256:                                            ; preds = %17249
  %17257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17258 = call i32 @fileno(ptr noundef %17257) #10
  %17259 = call i32 @isatty(i32 noundef %17258) #10
  %17260 = icmp ne i32 %17259, 0
  br i1 %17260, label %17261, label %17278

17261:                                            ; preds = %17256
  %17262 = load i32, ptr %360, align 4, !tbaa !5
  %17263 = call ptr @__errno_location() #11
  store i32 %17262, ptr %17263, align 4, !tbaa !5
  %17264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17265 = load i32, ptr @test_count, align 4, !tbaa !5
  %17266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17267 = load i32, ptr %17266, align 4, !tbaa !5
  %17268 = call ptr @s2n_strerror(i32 noundef %17267, ptr noundef @.str.4)
  %17269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17270 = load i32, ptr %17269, align 4, !tbaa !5
  %17271 = call ptr @s2n_strerror_debug(i32 noundef %17270, ptr noundef @.str.4)
  %17272 = call ptr @__errno_location() #11
  %17273 = load i32, ptr %17272, align 4, !tbaa !5
  %17274 = call ptr @strerror(i32 noundef %17273) #10
  %17275 = call ptr @__errno_location() #11
  %17276 = load i32, ptr %17275, align 4, !tbaa !5
  %17277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17264, ptr noundef @.str.2, i32 noundef %17265, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 988, ptr noundef %17268, ptr noundef %17271, ptr noundef %17274, i32 noundef %17276) #10
  br label %17295

17278:                                            ; preds = %17256, %17249
  %17279 = load i32, ptr %360, align 4, !tbaa !5
  %17280 = call ptr @__errno_location() #11
  store i32 %17279, ptr %17280, align 4, !tbaa !5
  %17281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17282 = load i32, ptr @test_count, align 4, !tbaa !5
  %17283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17284 = load i32, ptr %17283, align 4, !tbaa !5
  %17285 = call ptr @s2n_strerror(i32 noundef %17284, ptr noundef @.str.4)
  %17286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17287 = load i32, ptr %17286, align 4, !tbaa !5
  %17288 = call ptr @s2n_strerror_debug(i32 noundef %17287, ptr noundef @.str.4)
  %17289 = call ptr @__errno_location() #11
  %17290 = load i32, ptr %17289, align 4, !tbaa !5
  %17291 = call ptr @strerror(i32 noundef %17290) #10
  %17292 = call ptr @__errno_location() #11
  %17293 = load i32, ptr %17292, align 4, !tbaa !5
  %17294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17281, ptr noundef @.str.5, i32 noundef %17282, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 988, ptr noundef %17285, ptr noundef %17288, ptr noundef %17291, i32 noundef %17293) #10
  br label %17295

17295:                                            ; preds = %17278, %17261
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #10
  br label %17296

17296:                                            ; preds = %17295
  br label %17297

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

17298:                                            ; No predecessors!
  br label %17299

17299:                                            ; preds = %17298
  br label %17300

17300:                                            ; preds = %17299, %17241
  br label %17301

17301:                                            ; preds = %17300
  br label %17302

17302:                                            ; preds = %17301
  br label %17303

17303:                                            ; preds = %17302
  %17304 = load i32, ptr @test_count, align 4, !tbaa !5
  %17305 = add nsw i32 %17304, 1
  store i32 %17305, ptr @test_count, align 4, !tbaa !5
  %17306 = load ptr, ptr %340, align 8, !tbaa !9
  %17307 = load ptr, ptr %341, align 8, !tbaa !9
  %17308 = call i32 @s2n_connection_set_config(ptr noundef %17306, ptr noundef %17307)
  %17309 = icmp eq i32 %17308, -1
  br i1 %17309, label %17310, label %17363

17310:                                            ; preds = %17303
  br label %17311

17311:                                            ; preds = %17310
  br label %17312

17312:                                            ; preds = %17311
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #10
  %17313 = call ptr @__errno_location() #11
  %17314 = load i32, ptr %17313, align 4, !tbaa !5
  store i32 %17314, ptr %361, align 4, !tbaa !5
  %17315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17316 = call i32 @s2n_print_stacktrace(ptr noundef %17315)
  %17317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17318 = trunc i8 %17317 to i1
  br i1 %17318, label %17319, label %17341

17319:                                            ; preds = %17312
  %17320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17321 = call i32 @fileno(ptr noundef %17320) #10
  %17322 = call i32 @isatty(i32 noundef %17321) #10
  %17323 = icmp ne i32 %17322, 0
  br i1 %17323, label %17324, label %17341

17324:                                            ; preds = %17319
  %17325 = load i32, ptr %361, align 4, !tbaa !5
  %17326 = call ptr @__errno_location() #11
  store i32 %17325, ptr %17326, align 4, !tbaa !5
  %17327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17328 = load i32, ptr @test_count, align 4, !tbaa !5
  %17329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17330 = load i32, ptr %17329, align 4, !tbaa !5
  %17331 = call ptr @s2n_strerror(i32 noundef %17330, ptr noundef @.str.4)
  %17332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17333 = load i32, ptr %17332, align 4, !tbaa !5
  %17334 = call ptr @s2n_strerror_debug(i32 noundef %17333, ptr noundef @.str.4)
  %17335 = call ptr @__errno_location() #11
  %17336 = load i32, ptr %17335, align 4, !tbaa !5
  %17337 = call ptr @strerror(i32 noundef %17336) #10
  %17338 = call ptr @__errno_location() #11
  %17339 = load i32, ptr %17338, align 4, !tbaa !5
  %17340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17327, ptr noundef @.str.2, i32 noundef %17328, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 989, ptr noundef %17331, ptr noundef %17334, ptr noundef %17337, i32 noundef %17339) #10
  br label %17358

17341:                                            ; preds = %17319, %17312
  %17342 = load i32, ptr %361, align 4, !tbaa !5
  %17343 = call ptr @__errno_location() #11
  store i32 %17342, ptr %17343, align 4, !tbaa !5
  %17344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17345 = load i32, ptr @test_count, align 4, !tbaa !5
  %17346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17347 = load i32, ptr %17346, align 4, !tbaa !5
  %17348 = call ptr @s2n_strerror(i32 noundef %17347, ptr noundef @.str.4)
  %17349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17350 = load i32, ptr %17349, align 4, !tbaa !5
  %17351 = call ptr @s2n_strerror_debug(i32 noundef %17350, ptr noundef @.str.4)
  %17352 = call ptr @__errno_location() #11
  %17353 = load i32, ptr %17352, align 4, !tbaa !5
  %17354 = call ptr @strerror(i32 noundef %17353) #10
  %17355 = call ptr @__errno_location() #11
  %17356 = load i32, ptr %17355, align 4, !tbaa !5
  %17357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17344, ptr noundef @.str.5, i32 noundef %17345, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 989, ptr noundef %17348, ptr noundef %17351, ptr noundef %17354, i32 noundef %17356) #10
  br label %17358

17358:                                            ; preds = %17341, %17324
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #10
  br label %17359

17359:                                            ; preds = %17358
  br label %17360

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

17361:                                            ; No predecessors!
  br label %17362

17362:                                            ; preds = %17361
  br label %17363

17363:                                            ; preds = %17362, %17303
  br label %17364

17364:                                            ; preds = %17363
  br label %17365

17365:                                            ; preds = %17364
  br label %17366

17366:                                            ; preds = %17365
  %17367 = load i32, ptr @test_count, align 4, !tbaa !5
  %17368 = add nsw i32 %17367, 1
  store i32 %17368, ptr @test_count, align 4, !tbaa !5
  %17369 = load ptr, ptr %340, align 8, !tbaa !9
  %17370 = load ptr, ptr %339, align 8, !tbaa !9
  %17371 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17369, ptr noundef %17370)
  %17372 = icmp eq i32 %17371, -1
  br i1 %17372, label %17373, label %17426

17373:                                            ; preds = %17366
  br label %17374

17374:                                            ; preds = %17373
  br label %17375

17375:                                            ; preds = %17374
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #10
  %17376 = call ptr @__errno_location() #11
  %17377 = load i32, ptr %17376, align 4, !tbaa !5
  store i32 %17377, ptr %362, align 4, !tbaa !5
  %17378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17379 = call i32 @s2n_print_stacktrace(ptr noundef %17378)
  %17380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17381 = trunc i8 %17380 to i1
  br i1 %17381, label %17382, label %17404

17382:                                            ; preds = %17375
  %17383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17384 = call i32 @fileno(ptr noundef %17383) #10
  %17385 = call i32 @isatty(i32 noundef %17384) #10
  %17386 = icmp ne i32 %17385, 0
  br i1 %17386, label %17387, label %17404

17387:                                            ; preds = %17382
  %17388 = load i32, ptr %362, align 4, !tbaa !5
  %17389 = call ptr @__errno_location() #11
  store i32 %17388, ptr %17389, align 4, !tbaa !5
  %17390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17391 = load i32, ptr @test_count, align 4, !tbaa !5
  %17392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17393 = load i32, ptr %17392, align 4, !tbaa !5
  %17394 = call ptr @s2n_strerror(i32 noundef %17393, ptr noundef @.str.4)
  %17395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17396 = load i32, ptr %17395, align 4, !tbaa !5
  %17397 = call ptr @s2n_strerror_debug(i32 noundef %17396, ptr noundef @.str.4)
  %17398 = call ptr @__errno_location() #11
  %17399 = load i32, ptr %17398, align 4, !tbaa !5
  %17400 = call ptr @strerror(i32 noundef %17399) #10
  %17401 = call ptr @__errno_location() #11
  %17402 = load i32, ptr %17401, align 4, !tbaa !5
  %17403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17390, ptr noundef @.str.2, i32 noundef %17391, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 991, ptr noundef %17394, ptr noundef %17397, ptr noundef %17400, i32 noundef %17402) #10
  br label %17421

17404:                                            ; preds = %17382, %17375
  %17405 = load i32, ptr %362, align 4, !tbaa !5
  %17406 = call ptr @__errno_location() #11
  store i32 %17405, ptr %17406, align 4, !tbaa !5
  %17407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17408 = load i32, ptr @test_count, align 4, !tbaa !5
  %17409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17410 = load i32, ptr %17409, align 4, !tbaa !5
  %17411 = call ptr @s2n_strerror(i32 noundef %17410, ptr noundef @.str.4)
  %17412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17413 = load i32, ptr %17412, align 4, !tbaa !5
  %17414 = call ptr @s2n_strerror_debug(i32 noundef %17413, ptr noundef @.str.4)
  %17415 = call ptr @__errno_location() #11
  %17416 = load i32, ptr %17415, align 4, !tbaa !5
  %17417 = call ptr @strerror(i32 noundef %17416) #10
  %17418 = call ptr @__errno_location() #11
  %17419 = load i32, ptr %17418, align 4, !tbaa !5
  %17420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17407, ptr noundef @.str.5, i32 noundef %17408, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 991, ptr noundef %17411, ptr noundef %17414, ptr noundef %17417, i32 noundef %17419) #10
  br label %17421

17421:                                            ; preds = %17404, %17387
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #10
  br label %17422

17422:                                            ; preds = %17421
  br label %17423

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

17424:                                            ; No predecessors!
  br label %17425

17425:                                            ; preds = %17424
  br label %17426

17426:                                            ; preds = %17425, %17366
  br label %17427

17427:                                            ; preds = %17426
  br label %17428

17428:                                            ; preds = %17427
  br label %17429

17429:                                            ; preds = %17428
  %17430 = load i32, ptr @test_count, align 4, !tbaa !5
  %17431 = add nsw i32 %17430, 1
  store i32 %17431, ptr @test_count, align 4, !tbaa !5
  %17432 = load ptr, ptr %340, align 8, !tbaa !9
  %17433 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %17432)
  %17434 = icmp eq i32 %17433, 1
  br i1 %17434, label %17488, label %17435

17435:                                            ; preds = %17429
  br label %17436

17436:                                            ; preds = %17435
  br label %17437

17437:                                            ; preds = %17436
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #10
  %17438 = call ptr @__errno_location() #11
  %17439 = load i32, ptr %17438, align 4, !tbaa !5
  store i32 %17439, ptr %363, align 4, !tbaa !5
  %17440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17441 = call i32 @s2n_print_stacktrace(ptr noundef %17440)
  %17442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17443 = trunc i8 %17442 to i1
  br i1 %17443, label %17444, label %17466

17444:                                            ; preds = %17437
  %17445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17446 = call i32 @fileno(ptr noundef %17445) #10
  %17447 = call i32 @isatty(i32 noundef %17446) #10
  %17448 = icmp ne i32 %17447, 0
  br i1 %17448, label %17449, label %17466

17449:                                            ; preds = %17444
  %17450 = load i32, ptr %363, align 4, !tbaa !5
  %17451 = call ptr @__errno_location() #11
  store i32 %17450, ptr %17451, align 4, !tbaa !5
  %17452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17453 = load i32, ptr @test_count, align 4, !tbaa !5
  %17454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17455 = load i32, ptr %17454, align 4, !tbaa !5
  %17456 = call ptr @s2n_strerror(i32 noundef %17455, ptr noundef @.str.4)
  %17457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17458 = load i32, ptr %17457, align 4, !tbaa !5
  %17459 = call ptr @s2n_strerror_debug(i32 noundef %17458, ptr noundef @.str.4)
  %17460 = call ptr @__errno_location() #11
  %17461 = load i32, ptr %17460, align 4, !tbaa !5
  %17462 = call ptr @strerror(i32 noundef %17461) #10
  %17463 = call ptr @__errno_location() #11
  %17464 = load i32, ptr %17463, align 4, !tbaa !5
  %17465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17452, ptr noundef @.str.2, i32 noundef %17453, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 994, ptr noundef %17456, ptr noundef %17459, ptr noundef %17462, i32 noundef %17464) #10
  br label %17483

17466:                                            ; preds = %17444, %17437
  %17467 = load i32, ptr %363, align 4, !tbaa !5
  %17468 = call ptr @__errno_location() #11
  store i32 %17467, ptr %17468, align 4, !tbaa !5
  %17469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17470 = load i32, ptr @test_count, align 4, !tbaa !5
  %17471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17472 = load i32, ptr %17471, align 4, !tbaa !5
  %17473 = call ptr @s2n_strerror(i32 noundef %17472, ptr noundef @.str.4)
  %17474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17475 = load i32, ptr %17474, align 4, !tbaa !5
  %17476 = call ptr @s2n_strerror_debug(i32 noundef %17475, ptr noundef @.str.4)
  %17477 = call ptr @__errno_location() #11
  %17478 = load i32, ptr %17477, align 4, !tbaa !5
  %17479 = call ptr @strerror(i32 noundef %17478) #10
  %17480 = call ptr @__errno_location() #11
  %17481 = load i32, ptr %17480, align 4, !tbaa !5
  %17482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17469, ptr noundef @.str.5, i32 noundef %17470, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 994, ptr noundef %17473, ptr noundef %17476, ptr noundef %17479, i32 noundef %17481) #10
  br label %17483

17483:                                            ; preds = %17466, %17449
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #10
  br label %17484

17484:                                            ; preds = %17483
  br label %17485

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

17486:                                            ; No predecessors!
  br label %17487

17487:                                            ; preds = %17486
  br label %17488

17488:                                            ; preds = %17487, %17429
  br label %17489

17489:                                            ; preds = %17488
  br label %17490

17490:                                            ; preds = %17489
  br label %17491

17491:                                            ; preds = %17490
  %17492 = load i32, ptr @test_count, align 4, !tbaa !5
  %17493 = add nsw i32 %17492, 1
  store i32 %17493, ptr @test_count, align 4, !tbaa !5
  %17494 = load ptr, ptr %339, align 8, !tbaa !9
  %17495 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef %17494)
  %17496 = icmp eq i32 %17495, 1
  br i1 %17496, label %17550, label %17497

17497:                                            ; preds = %17491
  br label %17498

17498:                                            ; preds = %17497
  br label %17499

17499:                                            ; preds = %17498
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #10
  %17500 = call ptr @__errno_location() #11
  %17501 = load i32, ptr %17500, align 4, !tbaa !5
  store i32 %17501, ptr %364, align 4, !tbaa !5
  %17502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17503 = call i32 @s2n_print_stacktrace(ptr noundef %17502)
  %17504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17505 = trunc i8 %17504 to i1
  br i1 %17505, label %17506, label %17528

17506:                                            ; preds = %17499
  %17507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17508 = call i32 @fileno(ptr noundef %17507) #10
  %17509 = call i32 @isatty(i32 noundef %17508) #10
  %17510 = icmp ne i32 %17509, 0
  br i1 %17510, label %17511, label %17528

17511:                                            ; preds = %17506
  %17512 = load i32, ptr %364, align 4, !tbaa !5
  %17513 = call ptr @__errno_location() #11
  store i32 %17512, ptr %17513, align 4, !tbaa !5
  %17514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17515 = load i32, ptr @test_count, align 4, !tbaa !5
  %17516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17517 = load i32, ptr %17516, align 4, !tbaa !5
  %17518 = call ptr @s2n_strerror(i32 noundef %17517, ptr noundef @.str.4)
  %17519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17520 = load i32, ptr %17519, align 4, !tbaa !5
  %17521 = call ptr @s2n_strerror_debug(i32 noundef %17520, ptr noundef @.str.4)
  %17522 = call ptr @__errno_location() #11
  %17523 = load i32, ptr %17522, align 4, !tbaa !5
  %17524 = call ptr @strerror(i32 noundef %17523) #10
  %17525 = call ptr @__errno_location() #11
  %17526 = load i32, ptr %17525, align 4, !tbaa !5
  %17527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17514, ptr noundef @.str.2, i32 noundef %17515, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 997, ptr noundef %17518, ptr noundef %17521, ptr noundef %17524, i32 noundef %17526) #10
  br label %17545

17528:                                            ; preds = %17506, %17499
  %17529 = load i32, ptr %364, align 4, !tbaa !5
  %17530 = call ptr @__errno_location() #11
  store i32 %17529, ptr %17530, align 4, !tbaa !5
  %17531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17532 = load i32, ptr @test_count, align 4, !tbaa !5
  %17533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17534 = load i32, ptr %17533, align 4, !tbaa !5
  %17535 = call ptr @s2n_strerror(i32 noundef %17534, ptr noundef @.str.4)
  %17536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17537 = load i32, ptr %17536, align 4, !tbaa !5
  %17538 = call ptr @s2n_strerror_debug(i32 noundef %17537, ptr noundef @.str.4)
  %17539 = call ptr @__errno_location() #11
  %17540 = load i32, ptr %17539, align 4, !tbaa !5
  %17541 = call ptr @strerror(i32 noundef %17540) #10
  %17542 = call ptr @__errno_location() #11
  %17543 = load i32, ptr %17542, align 4, !tbaa !5
  %17544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17531, ptr noundef @.str.5, i32 noundef %17532, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 997, ptr noundef %17535, ptr noundef %17538, ptr noundef %17541, i32 noundef %17543) #10
  br label %17545

17545:                                            ; preds = %17528, %17511
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #10
  br label %17546

17546:                                            ; preds = %17545
  br label %17547

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

17548:                                            ; No predecessors!
  br label %17549

17549:                                            ; preds = %17548
  br label %17550

17550:                                            ; preds = %17549, %17491
  br label %17551

17551:                                            ; preds = %17550
  br label %17552

17552:                                            ; preds = %17551
  br label %17553

17553:                                            ; preds = %17552
  %17554 = load i32, ptr @test_count, align 4, !tbaa !5
  %17555 = add nsw i32 %17554, 1
  store i32 %17555, ptr @test_count, align 4, !tbaa !5
  %17556 = load ptr, ptr %339, align 8, !tbaa !9
  %17557 = call ptr @s2n_connection_get_ocsp_response(ptr noundef %17556, ptr noundef %344)
  store ptr %17557, ptr %343, align 8, !tbaa !9
  %17558 = icmp eq ptr %17557, null
  br i1 %17558, label %17559, label %17612

17559:                                            ; preds = %17553
  br label %17560

17560:                                            ; preds = %17559
  br label %17561

17561:                                            ; preds = %17560
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #10
  %17562 = call ptr @__errno_location() #11
  %17563 = load i32, ptr %17562, align 4, !tbaa !5
  store i32 %17563, ptr %365, align 4, !tbaa !5
  %17564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17565 = call i32 @s2n_print_stacktrace(ptr noundef %17564)
  %17566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17567 = trunc i8 %17566 to i1
  br i1 %17567, label %17568, label %17590

17568:                                            ; preds = %17561
  %17569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17570 = call i32 @fileno(ptr noundef %17569) #10
  %17571 = call i32 @isatty(i32 noundef %17570) #10
  %17572 = icmp ne i32 %17571, 0
  br i1 %17572, label %17573, label %17590

17573:                                            ; preds = %17568
  %17574 = load i32, ptr %365, align 4, !tbaa !5
  %17575 = call ptr @__errno_location() #11
  store i32 %17574, ptr %17575, align 4, !tbaa !5
  %17576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17577 = load i32, ptr @test_count, align 4, !tbaa !5
  %17578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17579 = load i32, ptr %17578, align 4, !tbaa !5
  %17580 = call ptr @s2n_strerror(i32 noundef %17579, ptr noundef @.str.4)
  %17581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17582 = load i32, ptr %17581, align 4, !tbaa !5
  %17583 = call ptr @s2n_strerror_debug(i32 noundef %17582, ptr noundef @.str.4)
  %17584 = call ptr @__errno_location() #11
  %17585 = load i32, ptr %17584, align 4, !tbaa !5
  %17586 = call ptr @strerror(i32 noundef %17585) #10
  %17587 = call ptr @__errno_location() #11
  %17588 = load i32, ptr %17587, align 4, !tbaa !5
  %17589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17576, ptr noundef @.str.2, i32 noundef %17577, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 999, ptr noundef %17580, ptr noundef %17583, ptr noundef %17586, i32 noundef %17588) #10
  br label %17607

17590:                                            ; preds = %17568, %17561
  %17591 = load i32, ptr %365, align 4, !tbaa !5
  %17592 = call ptr @__errno_location() #11
  store i32 %17591, ptr %17592, align 4, !tbaa !5
  %17593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17594 = load i32, ptr @test_count, align 4, !tbaa !5
  %17595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17596 = load i32, ptr %17595, align 4, !tbaa !5
  %17597 = call ptr @s2n_strerror(i32 noundef %17596, ptr noundef @.str.4)
  %17598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17599 = load i32, ptr %17598, align 4, !tbaa !5
  %17600 = call ptr @s2n_strerror_debug(i32 noundef %17599, ptr noundef @.str.4)
  %17601 = call ptr @__errno_location() #11
  %17602 = load i32, ptr %17601, align 4, !tbaa !5
  %17603 = call ptr @strerror(i32 noundef %17602) #10
  %17604 = call ptr @__errno_location() #11
  %17605 = load i32, ptr %17604, align 4, !tbaa !5
  %17606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17593, ptr noundef @.str.5, i32 noundef %17594, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 999, ptr noundef %17597, ptr noundef %17600, ptr noundef %17603, i32 noundef %17605) #10
  br label %17607

17607:                                            ; preds = %17590, %17573
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #10
  br label %17608

17608:                                            ; preds = %17607
  br label %17609

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

17610:                                            ; No predecessors!
  br label %17611

17611:                                            ; preds = %17610
  br label %17612

17612:                                            ; preds = %17611, %17553
  br label %17613

17613:                                            ; preds = %17612
  br label %17614

17614:                                            ; preds = %17613
  br label %17615

17615:                                            ; preds = %17614
  %17616 = load i32, ptr @test_count, align 4, !tbaa !5
  %17617 = add nsw i32 %17616, 1
  store i32 %17617, ptr @test_count, align 4, !tbaa !5
  %17618 = load i32, ptr %344, align 4, !tbaa !5
  %17619 = zext i32 %17618 to i64
  %17620 = icmp eq i64 %17619, 1609
  br i1 %17620, label %17674, label %17621

17621:                                            ; preds = %17615
  br label %17622

17622:                                            ; preds = %17621
  br label %17623

17623:                                            ; preds = %17622
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #10
  %17624 = call ptr @__errno_location() #11
  %17625 = load i32, ptr %17624, align 4, !tbaa !5
  store i32 %17625, ptr %366, align 4, !tbaa !5
  %17626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17627 = call i32 @s2n_print_stacktrace(ptr noundef %17626)
  %17628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17629 = trunc i8 %17628 to i1
  br i1 %17629, label %17630, label %17652

17630:                                            ; preds = %17623
  %17631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17632 = call i32 @fileno(ptr noundef %17631) #10
  %17633 = call i32 @isatty(i32 noundef %17632) #10
  %17634 = icmp ne i32 %17633, 0
  br i1 %17634, label %17635, label %17652

17635:                                            ; preds = %17630
  %17636 = load i32, ptr %366, align 4, !tbaa !5
  %17637 = call ptr @__errno_location() #11
  store i32 %17636, ptr %17637, align 4, !tbaa !5
  %17638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17639 = load i32, ptr @test_count, align 4, !tbaa !5
  %17640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17641 = load i32, ptr %17640, align 4, !tbaa !5
  %17642 = call ptr @s2n_strerror(i32 noundef %17641, ptr noundef @.str.4)
  %17643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17644 = load i32, ptr %17643, align 4, !tbaa !5
  %17645 = call ptr @s2n_strerror_debug(i32 noundef %17644, ptr noundef @.str.4)
  %17646 = call ptr @__errno_location() #11
  %17647 = load i32, ptr %17646, align 4, !tbaa !5
  %17648 = call ptr @strerror(i32 noundef %17647) #10
  %17649 = call ptr @__errno_location() #11
  %17650 = load i32, ptr %17649, align 4, !tbaa !5
  %17651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17638, ptr noundef @.str.2, i32 noundef %17639, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %17642, ptr noundef %17645, ptr noundef %17648, i32 noundef %17650) #10
  br label %17669

17652:                                            ; preds = %17630, %17623
  %17653 = load i32, ptr %366, align 4, !tbaa !5
  %17654 = call ptr @__errno_location() #11
  store i32 %17653, ptr %17654, align 4, !tbaa !5
  %17655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17656 = load i32, ptr @test_count, align 4, !tbaa !5
  %17657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17658 = load i32, ptr %17657, align 4, !tbaa !5
  %17659 = call ptr @s2n_strerror(i32 noundef %17658, ptr noundef @.str.4)
  %17660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17661 = load i32, ptr %17660, align 4, !tbaa !5
  %17662 = call ptr @s2n_strerror_debug(i32 noundef %17661, ptr noundef @.str.4)
  %17663 = call ptr @__errno_location() #11
  %17664 = load i32, ptr %17663, align 4, !tbaa !5
  %17665 = call ptr @strerror(i32 noundef %17664) #10
  %17666 = call ptr @__errno_location() #11
  %17667 = load i32, ptr %17666, align 4, !tbaa !5
  %17668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17655, ptr noundef @.str.5, i32 noundef %17656, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %17659, ptr noundef %17662, ptr noundef %17665, i32 noundef %17667) #10
  br label %17669

17669:                                            ; preds = %17652, %17635
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #10
  br label %17670

17670:                                            ; preds = %17669
  br label %17671

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

17672:                                            ; No predecessors!
  br label %17673

17673:                                            ; preds = %17672
  br label %17674

17674:                                            ; preds = %17673, %17615
  br label %17675

17675:                                            ; preds = %17674
  br label %17676

17676:                                            ; preds = %17675
  call void @llvm.lifetime.start.p0(i64 8, ptr %367) #10
  store i64 0, ptr %367, align 8, !tbaa !49
  br label %17677

17677:                                            ; preds = %17751, %17676
  %17678 = load i64, ptr %367, align 8, !tbaa !49
  %17679 = icmp ult i64 %17678, 1609
  br i1 %17679, label %17681, label %17680

17680:                                            ; preds = %17677
  call void @llvm.lifetime.end.p0(i64 8, ptr %367) #10
  br label %17754

17681:                                            ; preds = %17677
  br label %17682

17682:                                            ; preds = %17681
  %17683 = load i32, ptr @test_count, align 4, !tbaa !5
  %17684 = add nsw i32 %17683, 1
  store i32 %17684, ptr @test_count, align 4, !tbaa !5
  %17685 = load ptr, ptr %343, align 8, !tbaa !9
  %17686 = load i64, ptr %367, align 8, !tbaa !49
  %17687 = getelementptr inbounds i8, ptr %17685, i64 %17686
  %17688 = load i8, ptr %17687, align 1, !tbaa !44
  %17689 = zext i8 %17688 to i32
  %17690 = load i64, ptr %367, align 8, !tbaa !49
  %17691 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %17690
  %17692 = load i8, ptr %17691, align 1, !tbaa !44
  %17693 = zext i8 %17692 to i32
  %17694 = icmp eq i32 %17689, %17693
  br i1 %17694, label %17748, label %17695

17695:                                            ; preds = %17682
  br label %17696

17696:                                            ; preds = %17695
  br label %17697

17697:                                            ; preds = %17696
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #10
  %17698 = call ptr @__errno_location() #11
  %17699 = load i32, ptr %17698, align 4, !tbaa !5
  store i32 %17699, ptr %368, align 4, !tbaa !5
  %17700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17701 = call i32 @s2n_print_stacktrace(ptr noundef %17700)
  %17702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17703 = trunc i8 %17702 to i1
  br i1 %17703, label %17704, label %17726

17704:                                            ; preds = %17697
  %17705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17706 = call i32 @fileno(ptr noundef %17705) #10
  %17707 = call i32 @isatty(i32 noundef %17706) #10
  %17708 = icmp ne i32 %17707, 0
  br i1 %17708, label %17709, label %17726

17709:                                            ; preds = %17704
  %17710 = load i32, ptr %368, align 4, !tbaa !5
  %17711 = call ptr @__errno_location() #11
  store i32 %17710, ptr %17711, align 4, !tbaa !5
  %17712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17713 = load i32, ptr @test_count, align 4, !tbaa !5
  %17714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17715 = load i32, ptr %17714, align 4, !tbaa !5
  %17716 = call ptr @s2n_strerror(i32 noundef %17715, ptr noundef @.str.4)
  %17717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17718 = load i32, ptr %17717, align 4, !tbaa !5
  %17719 = call ptr @s2n_strerror_debug(i32 noundef %17718, ptr noundef @.str.4)
  %17720 = call ptr @__errno_location() #11
  %17721 = load i32, ptr %17720, align 4, !tbaa !5
  %17722 = call ptr @strerror(i32 noundef %17721) #10
  %17723 = call ptr @__errno_location() #11
  %17724 = load i32, ptr %17723, align 4, !tbaa !5
  %17725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17712, ptr noundef @.str.2, i32 noundef %17713, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %17716, ptr noundef %17719, ptr noundef %17722, i32 noundef %17724) #10
  br label %17743

17726:                                            ; preds = %17704, %17697
  %17727 = load i32, ptr %368, align 4, !tbaa !5
  %17728 = call ptr @__errno_location() #11
  store i32 %17727, ptr %17728, align 4, !tbaa !5
  %17729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17730 = load i32, ptr @test_count, align 4, !tbaa !5
  %17731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17732 = load i32, ptr %17731, align 4, !tbaa !5
  %17733 = call ptr @s2n_strerror(i32 noundef %17732, ptr noundef @.str.4)
  %17734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17735 = load i32, ptr %17734, align 4, !tbaa !5
  %17736 = call ptr @s2n_strerror_debug(i32 noundef %17735, ptr noundef @.str.4)
  %17737 = call ptr @__errno_location() #11
  %17738 = load i32, ptr %17737, align 4, !tbaa !5
  %17739 = call ptr @strerror(i32 noundef %17738) #10
  %17740 = call ptr @__errno_location() #11
  %17741 = load i32, ptr %17740, align 4, !tbaa !5
  %17742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17729, ptr noundef @.str.5, i32 noundef %17730, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %17733, ptr noundef %17736, ptr noundef %17739, i32 noundef %17741) #10
  br label %17743

17743:                                            ; preds = %17726, %17709
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #10
  br label %17744

17744:                                            ; preds = %17743
  br label %17745

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

17746:                                            ; No predecessors!
  br label %17747

17747:                                            ; preds = %17746
  br label %17748

17748:                                            ; preds = %17747, %17682
  br label %17749

17749:                                            ; preds = %17748
  br label %17750

17750:                                            ; preds = %17749
  br label %17751

17751:                                            ; preds = %17750
  %17752 = load i64, ptr %367, align 8, !tbaa !49
  %17753 = add i64 %17752, 1
  store i64 %17753, ptr %367, align 8, !tbaa !49
  br label %17677, !llvm.loop !53

17754:                                            ; preds = %17680
  br label %17755

17755:                                            ; preds = %17754
  %17756 = load i32, ptr @test_count, align 4, !tbaa !5
  %17757 = add nsw i32 %17756, 1
  store i32 %17757, ptr @test_count, align 4, !tbaa !5
  %17758 = load ptr, ptr %340, align 8, !tbaa !9
  %17759 = load ptr, ptr %339, align 8, !tbaa !9
  %17760 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %17758, ptr noundef %17759)
  %17761 = icmp eq i32 %17760, -1
  br i1 %17761, label %17762, label %17815

17762:                                            ; preds = %17755
  br label %17763

17763:                                            ; preds = %17762
  br label %17764

17764:                                            ; preds = %17763
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #10
  %17765 = call ptr @__errno_location() #11
  %17766 = load i32, ptr %17765, align 4, !tbaa !5
  store i32 %17766, ptr %369, align 4, !tbaa !5
  %17767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17768 = call i32 @s2n_print_stacktrace(ptr noundef %17767)
  %17769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17770 = trunc i8 %17769 to i1
  br i1 %17770, label %17771, label %17793

17771:                                            ; preds = %17764
  %17772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17773 = call i32 @fileno(ptr noundef %17772) #10
  %17774 = call i32 @isatty(i32 noundef %17773) #10
  %17775 = icmp ne i32 %17774, 0
  br i1 %17775, label %17776, label %17793

17776:                                            ; preds = %17771
  %17777 = load i32, ptr %369, align 4, !tbaa !5
  %17778 = call ptr @__errno_location() #11
  store i32 %17777, ptr %17778, align 4, !tbaa !5
  %17779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17780 = load i32, ptr @test_count, align 4, !tbaa !5
  %17781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17782 = load i32, ptr %17781, align 4, !tbaa !5
  %17783 = call ptr @s2n_strerror(i32 noundef %17782, ptr noundef @.str.4)
  %17784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17785 = load i32, ptr %17784, align 4, !tbaa !5
  %17786 = call ptr @s2n_strerror_debug(i32 noundef %17785, ptr noundef @.str.4)
  %17787 = call ptr @__errno_location() #11
  %17788 = load i32, ptr %17787, align 4, !tbaa !5
  %17789 = call ptr @strerror(i32 noundef %17788) #10
  %17790 = call ptr @__errno_location() #11
  %17791 = load i32, ptr %17790, align 4, !tbaa !5
  %17792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17779, ptr noundef @.str.2, i32 noundef %17780, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %17783, ptr noundef %17786, ptr noundef %17789, i32 noundef %17791) #10
  br label %17810

17793:                                            ; preds = %17771, %17764
  %17794 = load i32, ptr %369, align 4, !tbaa !5
  %17795 = call ptr @__errno_location() #11
  store i32 %17794, ptr %17795, align 4, !tbaa !5
  %17796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17797 = load i32, ptr @test_count, align 4, !tbaa !5
  %17798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17799 = load i32, ptr %17798, align 4, !tbaa !5
  %17800 = call ptr @s2n_strerror(i32 noundef %17799, ptr noundef @.str.4)
  %17801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17802 = load i32, ptr %17801, align 4, !tbaa !5
  %17803 = call ptr @s2n_strerror_debug(i32 noundef %17802, ptr noundef @.str.4)
  %17804 = call ptr @__errno_location() #11
  %17805 = load i32, ptr %17804, align 4, !tbaa !5
  %17806 = call ptr @strerror(i32 noundef %17805) #10
  %17807 = call ptr @__errno_location() #11
  %17808 = load i32, ptr %17807, align 4, !tbaa !5
  %17809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17796, ptr noundef @.str.5, i32 noundef %17797, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %17800, ptr noundef %17803, ptr noundef %17806, i32 noundef %17808) #10
  br label %17810

17810:                                            ; preds = %17793, %17776
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #10
  br label %17811

17811:                                            ; preds = %17810
  br label %17812

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

17813:                                            ; No predecessors!
  br label %17814

17814:                                            ; preds = %17813
  br label %17815

17815:                                            ; preds = %17814, %17755
  br label %17816

17816:                                            ; preds = %17815
  br label %17817

17817:                                            ; preds = %17816
  br label %17818

17818:                                            ; preds = %17817
  %17819 = load i32, ptr @test_count, align 4, !tbaa !5
  %17820 = add nsw i32 %17819, 1
  store i32 %17820, ptr @test_count, align 4, !tbaa !5
  %17821 = load ptr, ptr %340, align 8, !tbaa !9
  %17822 = call i32 @s2n_connection_free(ptr noundef %17821)
  %17823 = icmp eq i32 %17822, -1
  br i1 %17823, label %17824, label %17877

17824:                                            ; preds = %17818
  br label %17825

17825:                                            ; preds = %17824
  br label %17826

17826:                                            ; preds = %17825
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #10
  %17827 = call ptr @__errno_location() #11
  %17828 = load i32, ptr %17827, align 4, !tbaa !5
  store i32 %17828, ptr %370, align 4, !tbaa !5
  %17829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17830 = call i32 @s2n_print_stacktrace(ptr noundef %17829)
  %17831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17832 = trunc i8 %17831 to i1
  br i1 %17832, label %17833, label %17855

17833:                                            ; preds = %17826
  %17834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17835 = call i32 @fileno(ptr noundef %17834) #10
  %17836 = call i32 @isatty(i32 noundef %17835) #10
  %17837 = icmp ne i32 %17836, 0
  br i1 %17837, label %17838, label %17855

17838:                                            ; preds = %17833
  %17839 = load i32, ptr %370, align 4, !tbaa !5
  %17840 = call ptr @__errno_location() #11
  store i32 %17839, ptr %17840, align 4, !tbaa !5
  %17841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17842 = load i32, ptr @test_count, align 4, !tbaa !5
  %17843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17844 = load i32, ptr %17843, align 4, !tbaa !5
  %17845 = call ptr @s2n_strerror(i32 noundef %17844, ptr noundef @.str.4)
  %17846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17847 = load i32, ptr %17846, align 4, !tbaa !5
  %17848 = call ptr @s2n_strerror_debug(i32 noundef %17847, ptr noundef @.str.4)
  %17849 = call ptr @__errno_location() #11
  %17850 = load i32, ptr %17849, align 4, !tbaa !5
  %17851 = call ptr @strerror(i32 noundef %17850) #10
  %17852 = call ptr @__errno_location() #11
  %17853 = load i32, ptr %17852, align 4, !tbaa !5
  %17854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17841, ptr noundef @.str.2, i32 noundef %17842, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %17845, ptr noundef %17848, ptr noundef %17851, i32 noundef %17853) #10
  br label %17872

17855:                                            ; preds = %17833, %17826
  %17856 = load i32, ptr %370, align 4, !tbaa !5
  %17857 = call ptr @__errno_location() #11
  store i32 %17856, ptr %17857, align 4, !tbaa !5
  %17858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17859 = load i32, ptr @test_count, align 4, !tbaa !5
  %17860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17861 = load i32, ptr %17860, align 4, !tbaa !5
  %17862 = call ptr @s2n_strerror(i32 noundef %17861, ptr noundef @.str.4)
  %17863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17864 = load i32, ptr %17863, align 4, !tbaa !5
  %17865 = call ptr @s2n_strerror_debug(i32 noundef %17864, ptr noundef @.str.4)
  %17866 = call ptr @__errno_location() #11
  %17867 = load i32, ptr %17866, align 4, !tbaa !5
  %17868 = call ptr @strerror(i32 noundef %17867) #10
  %17869 = call ptr @__errno_location() #11
  %17870 = load i32, ptr %17869, align 4, !tbaa !5
  %17871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17858, ptr noundef @.str.5, i32 noundef %17859, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %17862, ptr noundef %17865, ptr noundef %17868, i32 noundef %17870) #10
  br label %17872

17872:                                            ; preds = %17855, %17838
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #10
  br label %17873

17873:                                            ; preds = %17872
  br label %17874

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

17875:                                            ; No predecessors!
  br label %17876

17876:                                            ; preds = %17875
  br label %17877

17877:                                            ; preds = %17876, %17818
  br label %17878

17878:                                            ; preds = %17877
  br label %17879

17879:                                            ; preds = %17878
  br label %17880

17880:                                            ; preds = %17879
  %17881 = load i32, ptr @test_count, align 4, !tbaa !5
  %17882 = add nsw i32 %17881, 1
  store i32 %17882, ptr @test_count, align 4, !tbaa !5
  %17883 = load ptr, ptr %339, align 8, !tbaa !9
  %17884 = call i32 @s2n_connection_free(ptr noundef %17883)
  %17885 = icmp eq i32 %17884, -1
  br i1 %17885, label %17886, label %17939

17886:                                            ; preds = %17880
  br label %17887

17887:                                            ; preds = %17886
  br label %17888

17888:                                            ; preds = %17887
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #10
  %17889 = call ptr @__errno_location() #11
  %17890 = load i32, ptr %17889, align 4, !tbaa !5
  store i32 %17890, ptr %371, align 4, !tbaa !5
  %17891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17892 = call i32 @s2n_print_stacktrace(ptr noundef %17891)
  %17893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17894 = trunc i8 %17893 to i1
  br i1 %17894, label %17895, label %17917

17895:                                            ; preds = %17888
  %17896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17897 = call i32 @fileno(ptr noundef %17896) #10
  %17898 = call i32 @isatty(i32 noundef %17897) #10
  %17899 = icmp ne i32 %17898, 0
  br i1 %17899, label %17900, label %17917

17900:                                            ; preds = %17895
  %17901 = load i32, ptr %371, align 4, !tbaa !5
  %17902 = call ptr @__errno_location() #11
  store i32 %17901, ptr %17902, align 4, !tbaa !5
  %17903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17904 = load i32, ptr @test_count, align 4, !tbaa !5
  %17905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17906 = load i32, ptr %17905, align 4, !tbaa !5
  %17907 = call ptr @s2n_strerror(i32 noundef %17906, ptr noundef @.str.4)
  %17908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17909 = load i32, ptr %17908, align 4, !tbaa !5
  %17910 = call ptr @s2n_strerror_debug(i32 noundef %17909, ptr noundef @.str.4)
  %17911 = call ptr @__errno_location() #11
  %17912 = load i32, ptr %17911, align 4, !tbaa !5
  %17913 = call ptr @strerror(i32 noundef %17912) #10
  %17914 = call ptr @__errno_location() #11
  %17915 = load i32, ptr %17914, align 4, !tbaa !5
  %17916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17903, ptr noundef @.str.2, i32 noundef %17904, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %17907, ptr noundef %17910, ptr noundef %17913, i32 noundef %17915) #10
  br label %17934

17917:                                            ; preds = %17895, %17888
  %17918 = load i32, ptr %371, align 4, !tbaa !5
  %17919 = call ptr @__errno_location() #11
  store i32 %17918, ptr %17919, align 4, !tbaa !5
  %17920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17921 = load i32, ptr @test_count, align 4, !tbaa !5
  %17922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17923 = load i32, ptr %17922, align 4, !tbaa !5
  %17924 = call ptr @s2n_strerror(i32 noundef %17923, ptr noundef @.str.4)
  %17925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17926 = load i32, ptr %17925, align 4, !tbaa !5
  %17927 = call ptr @s2n_strerror_debug(i32 noundef %17926, ptr noundef @.str.4)
  %17928 = call ptr @__errno_location() #11
  %17929 = load i32, ptr %17928, align 4, !tbaa !5
  %17930 = call ptr @strerror(i32 noundef %17929) #10
  %17931 = call ptr @__errno_location() #11
  %17932 = load i32, ptr %17931, align 4, !tbaa !5
  %17933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17920, ptr noundef @.str.5, i32 noundef %17921, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1009, ptr noundef %17924, ptr noundef %17927, ptr noundef %17930, i32 noundef %17932) #10
  br label %17934

17934:                                            ; preds = %17917, %17900
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #10
  br label %17935

17935:                                            ; preds = %17934
  br label %17936

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

17937:                                            ; No predecessors!
  br label %17938

17938:                                            ; preds = %17937
  br label %17939

17939:                                            ; preds = %17938, %17880
  br label %17940

17940:                                            ; preds = %17939
  br label %17941

17941:                                            ; preds = %17940
  br label %17942

17942:                                            ; preds = %17941
  %17943 = load i32, ptr @test_count, align 4, !tbaa !5
  %17944 = add nsw i32 %17943, 1
  store i32 %17944, ptr @test_count, align 4, !tbaa !5
  %17945 = load ptr, ptr %341, align 8, !tbaa !9
  %17946 = call i32 @s2n_config_free(ptr noundef %17945)
  %17947 = icmp eq i32 %17946, -1
  br i1 %17947, label %17948, label %18001

17948:                                            ; preds = %17942
  br label %17949

17949:                                            ; preds = %17948
  br label %17950

17950:                                            ; preds = %17949
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #10
  %17951 = call ptr @__errno_location() #11
  %17952 = load i32, ptr %17951, align 4, !tbaa !5
  store i32 %17952, ptr %372, align 4, !tbaa !5
  %17953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17954 = call i32 @s2n_print_stacktrace(ptr noundef %17953)
  %17955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17956 = trunc i8 %17955 to i1
  br i1 %17956, label %17957, label %17979

17957:                                            ; preds = %17950
  %17958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17959 = call i32 @fileno(ptr noundef %17958) #10
  %17960 = call i32 @isatty(i32 noundef %17959) #10
  %17961 = icmp ne i32 %17960, 0
  br i1 %17961, label %17962, label %17979

17962:                                            ; preds = %17957
  %17963 = load i32, ptr %372, align 4, !tbaa !5
  %17964 = call ptr @__errno_location() #11
  store i32 %17963, ptr %17964, align 4, !tbaa !5
  %17965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17966 = load i32, ptr @test_count, align 4, !tbaa !5
  %17967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17968 = load i32, ptr %17967, align 4, !tbaa !5
  %17969 = call ptr @s2n_strerror(i32 noundef %17968, ptr noundef @.str.4)
  %17970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17971 = load i32, ptr %17970, align 4, !tbaa !5
  %17972 = call ptr @s2n_strerror_debug(i32 noundef %17971, ptr noundef @.str.4)
  %17973 = call ptr @__errno_location() #11
  %17974 = load i32, ptr %17973, align 4, !tbaa !5
  %17975 = call ptr @strerror(i32 noundef %17974) #10
  %17976 = call ptr @__errno_location() #11
  %17977 = load i32, ptr %17976, align 4, !tbaa !5
  %17978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17965, ptr noundef @.str.2, i32 noundef %17966, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %17969, ptr noundef %17972, ptr noundef %17975, i32 noundef %17977) #10
  br label %17996

17979:                                            ; preds = %17957, %17950
  %17980 = load i32, ptr %372, align 4, !tbaa !5
  %17981 = call ptr @__errno_location() #11
  store i32 %17980, ptr %17981, align 4, !tbaa !5
  %17982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17983 = load i32, ptr @test_count, align 4, !tbaa !5
  %17984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17985 = load i32, ptr %17984, align 4, !tbaa !5
  %17986 = call ptr @s2n_strerror(i32 noundef %17985, ptr noundef @.str.4)
  %17987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17988 = load i32, ptr %17987, align 4, !tbaa !5
  %17989 = call ptr @s2n_strerror_debug(i32 noundef %17988, ptr noundef @.str.4)
  %17990 = call ptr @__errno_location() #11
  %17991 = load i32, ptr %17990, align 4, !tbaa !5
  %17992 = call ptr @strerror(i32 noundef %17991) #10
  %17993 = call ptr @__errno_location() #11
  %17994 = load i32, ptr %17993, align 4, !tbaa !5
  %17995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17982, ptr noundef @.str.5, i32 noundef %17983, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %17986, ptr noundef %17989, ptr noundef %17992, i32 noundef %17994) #10
  br label %17996

17996:                                            ; preds = %17979, %17962
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #10
  br label %17997

17997:                                            ; preds = %17996
  br label %17998

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

17999:                                            ; No predecessors!
  br label %18000

18000:                                            ; preds = %17999
  br label %18001

18001:                                            ; preds = %18000, %17942
  br label %18002

18002:                                            ; preds = %18001
  br label %18003

18003:                                            ; preds = %18002
  br label %18004

18004:                                            ; preds = %18003
  %18005 = load i32, ptr @test_count, align 4, !tbaa !5
  %18006 = add nsw i32 %18005, 1
  store i32 %18006, ptr @test_count, align 4, !tbaa !5
  %18007 = load ptr, ptr %342, align 8, !tbaa !9
  %18008 = call i32 @s2n_config_free(ptr noundef %18007)
  %18009 = icmp eq i32 %18008, -1
  br i1 %18009, label %18010, label %18063

18010:                                            ; preds = %18004
  br label %18011

18011:                                            ; preds = %18010
  br label %18012

18012:                                            ; preds = %18011
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #10
  %18013 = call ptr @__errno_location() #11
  %18014 = load i32, ptr %18013, align 4, !tbaa !5
  store i32 %18014, ptr %373, align 4, !tbaa !5
  %18015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18016 = call i32 @s2n_print_stacktrace(ptr noundef %18015)
  %18017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18018 = trunc i8 %18017 to i1
  br i1 %18018, label %18019, label %18041

18019:                                            ; preds = %18012
  %18020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18021 = call i32 @fileno(ptr noundef %18020) #10
  %18022 = call i32 @isatty(i32 noundef %18021) #10
  %18023 = icmp ne i32 %18022, 0
  br i1 %18023, label %18024, label %18041

18024:                                            ; preds = %18019
  %18025 = load i32, ptr %373, align 4, !tbaa !5
  %18026 = call ptr @__errno_location() #11
  store i32 %18025, ptr %18026, align 4, !tbaa !5
  %18027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18028 = load i32, ptr @test_count, align 4, !tbaa !5
  %18029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18030 = load i32, ptr %18029, align 4, !tbaa !5
  %18031 = call ptr @s2n_strerror(i32 noundef %18030, ptr noundef @.str.4)
  %18032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18033 = load i32, ptr %18032, align 4, !tbaa !5
  %18034 = call ptr @s2n_strerror_debug(i32 noundef %18033, ptr noundef @.str.4)
  %18035 = call ptr @__errno_location() #11
  %18036 = load i32, ptr %18035, align 4, !tbaa !5
  %18037 = call ptr @strerror(i32 noundef %18036) #10
  %18038 = call ptr @__errno_location() #11
  %18039 = load i32, ptr %18038, align 4, !tbaa !5
  %18040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18027, ptr noundef @.str.2, i32 noundef %18028, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %18031, ptr noundef %18034, ptr noundef %18037, i32 noundef %18039) #10
  br label %18058

18041:                                            ; preds = %18019, %18012
  %18042 = load i32, ptr %373, align 4, !tbaa !5
  %18043 = call ptr @__errno_location() #11
  store i32 %18042, ptr %18043, align 4, !tbaa !5
  %18044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18045 = load i32, ptr @test_count, align 4, !tbaa !5
  %18046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18047 = load i32, ptr %18046, align 4, !tbaa !5
  %18048 = call ptr @s2n_strerror(i32 noundef %18047, ptr noundef @.str.4)
  %18049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18050 = load i32, ptr %18049, align 4, !tbaa !5
  %18051 = call ptr @s2n_strerror_debug(i32 noundef %18050, ptr noundef @.str.4)
  %18052 = call ptr @__errno_location() #11
  %18053 = load i32, ptr %18052, align 4, !tbaa !5
  %18054 = call ptr @strerror(i32 noundef %18053) #10
  %18055 = call ptr @__errno_location() #11
  %18056 = load i32, ptr %18055, align 4, !tbaa !5
  %18057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18044, ptr noundef @.str.5, i32 noundef %18045, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %18048, ptr noundef %18051, ptr noundef %18054, i32 noundef %18056) #10
  br label %18058

18058:                                            ; preds = %18041, %18024
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #10
  br label %18059

18059:                                            ; preds = %18058
  br label %18060

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

18061:                                            ; No predecessors!
  br label %18062

18062:                                            ; preds = %18061
  br label %18063

18063:                                            ; preds = %18062, %18004
  br label %18064

18064:                                            ; preds = %18063
  br label %18065

18065:                                            ; preds = %18064
  br label %18066

18066:                                            ; preds = %18065
  %18067 = load i32, ptr @test_count, align 4, !tbaa !5
  %18068 = add nsw i32 %18067, 1
  store i32 %18068, ptr @test_count, align 4, !tbaa !5
  %18069 = call i32 (...) @s2n_disable_tls13_in_test()
  %18070 = icmp eq i32 %18069, -1
  br i1 %18070, label %18071, label %18124

18071:                                            ; preds = %18066
  br label %18072

18072:                                            ; preds = %18071
  br label %18073

18073:                                            ; preds = %18072
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #10
  %18074 = call ptr @__errno_location() #11
  %18075 = load i32, ptr %18074, align 4, !tbaa !5
  store i32 %18075, ptr %374, align 4, !tbaa !5
  %18076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18077 = call i32 @s2n_print_stacktrace(ptr noundef %18076)
  %18078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18079 = trunc i8 %18078 to i1
  br i1 %18079, label %18080, label %18102

18080:                                            ; preds = %18073
  %18081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18082 = call i32 @fileno(ptr noundef %18081) #10
  %18083 = call i32 @isatty(i32 noundef %18082) #10
  %18084 = icmp ne i32 %18083, 0
  br i1 %18084, label %18085, label %18102

18085:                                            ; preds = %18080
  %18086 = load i32, ptr %374, align 4, !tbaa !5
  %18087 = call ptr @__errno_location() #11
  store i32 %18086, ptr %18087, align 4, !tbaa !5
  %18088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18089 = load i32, ptr @test_count, align 4, !tbaa !5
  %18090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18091 = load i32, ptr %18090, align 4, !tbaa !5
  %18092 = call ptr @s2n_strerror(i32 noundef %18091, ptr noundef @.str.4)
  %18093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18094 = load i32, ptr %18093, align 4, !tbaa !5
  %18095 = call ptr @s2n_strerror_debug(i32 noundef %18094, ptr noundef @.str.4)
  %18096 = call ptr @__errno_location() #11
  %18097 = load i32, ptr %18096, align 4, !tbaa !5
  %18098 = call ptr @strerror(i32 noundef %18097) #10
  %18099 = call ptr @__errno_location() #11
  %18100 = load i32, ptr %18099, align 4, !tbaa !5
  %18101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18088, ptr noundef @.str.2, i32 noundef %18089, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1014, ptr noundef %18092, ptr noundef %18095, ptr noundef %18098, i32 noundef %18100) #10
  br label %18119

18102:                                            ; preds = %18080, %18073
  %18103 = load i32, ptr %374, align 4, !tbaa !5
  %18104 = call ptr @__errno_location() #11
  store i32 %18103, ptr %18104, align 4, !tbaa !5
  %18105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18106 = load i32, ptr @test_count, align 4, !tbaa !5
  %18107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18108 = load i32, ptr %18107, align 4, !tbaa !5
  %18109 = call ptr @s2n_strerror(i32 noundef %18108, ptr noundef @.str.4)
  %18110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18111 = load i32, ptr %18110, align 4, !tbaa !5
  %18112 = call ptr @s2n_strerror_debug(i32 noundef %18111, ptr noundef @.str.4)
  %18113 = call ptr @__errno_location() #11
  %18114 = load i32, ptr %18113, align 4, !tbaa !5
  %18115 = call ptr @strerror(i32 noundef %18114) #10
  %18116 = call ptr @__errno_location() #11
  %18117 = load i32, ptr %18116, align 4, !tbaa !5
  %18118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18105, ptr noundef @.str.5, i32 noundef %18106, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1014, ptr noundef %18109, ptr noundef %18112, ptr noundef %18115, i32 noundef %18117) #10
  br label %18119

18119:                                            ; preds = %18102, %18085
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #10
  br label %18120

18120:                                            ; preds = %18119
  br label %18121

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

18122:                                            ; No predecessors!
  br label %18123

18123:                                            ; preds = %18122
  br label %18124

18124:                                            ; preds = %18123, %18066
  br label %18125

18125:                                            ; preds = %18124
  br label %18126

18126:                                            ; preds = %18125
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %343) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %342) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %340) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %339) #10
  br label %18127

18127:                                            ; preds = %18126, %16297, %16293
  call void @llvm.lifetime.start.p0(i64 8, ptr %375) #10
  store ptr null, ptr %375, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #10
  store ptr null, ptr %376, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %377) #10
  store ptr null, ptr %377, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #10
  store i32 0, ptr %378, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %379) #10
  store ptr null, ptr %379, align 8, !tbaa !9
  br label %18128

18128:                                            ; preds = %18127
  %18129 = load i32, ptr @test_count, align 4, !tbaa !5
  %18130 = add nsw i32 %18129, 1
  store i32 %18130, ptr @test_count, align 4, !tbaa !5
  %18131 = call ptr @s2n_config_new()
  store ptr %18131, ptr %379, align 8, !tbaa !9
  %18132 = icmp eq ptr %18131, null
  br i1 %18132, label %18133, label %18186

18133:                                            ; preds = %18128
  br label %18134

18134:                                            ; preds = %18133
  br label %18135

18135:                                            ; preds = %18134
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #10
  %18136 = call ptr @__errno_location() #11
  %18137 = load i32, ptr %18136, align 4, !tbaa !5
  store i32 %18137, ptr %380, align 4, !tbaa !5
  %18138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18139 = call i32 @s2n_print_stacktrace(ptr noundef %18138)
  %18140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18141 = trunc i8 %18140 to i1
  br i1 %18141, label %18142, label %18164

18142:                                            ; preds = %18135
  %18143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18144 = call i32 @fileno(ptr noundef %18143) #10
  %18145 = call i32 @isatty(i32 noundef %18144) #10
  %18146 = icmp ne i32 %18145, 0
  br i1 %18146, label %18147, label %18164

18147:                                            ; preds = %18142
  %18148 = load i32, ptr %380, align 4, !tbaa !5
  %18149 = call ptr @__errno_location() #11
  store i32 %18148, ptr %18149, align 4, !tbaa !5
  %18150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18151 = load i32, ptr @test_count, align 4, !tbaa !5
  %18152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18153 = load i32, ptr %18152, align 4, !tbaa !5
  %18154 = call ptr @s2n_strerror(i32 noundef %18153, ptr noundef @.str.4)
  %18155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18156 = load i32, ptr %18155, align 4, !tbaa !5
  %18157 = call ptr @s2n_strerror_debug(i32 noundef %18156, ptr noundef @.str.4)
  %18158 = call ptr @__errno_location() #11
  %18159 = load i32, ptr %18158, align 4, !tbaa !5
  %18160 = call ptr @strerror(i32 noundef %18159) #10
  %18161 = call ptr @__errno_location() #11
  %18162 = load i32, ptr %18161, align 4, !tbaa !5
  %18163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18150, ptr noundef @.str.2, i32 noundef %18151, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %18154, ptr noundef %18157, ptr noundef %18160, i32 noundef %18162) #10
  br label %18181

18164:                                            ; preds = %18142, %18135
  %18165 = load i32, ptr %380, align 4, !tbaa !5
  %18166 = call ptr @__errno_location() #11
  store i32 %18165, ptr %18166, align 4, !tbaa !5
  %18167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18168 = load i32, ptr @test_count, align 4, !tbaa !5
  %18169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18170 = load i32, ptr %18169, align 4, !tbaa !5
  %18171 = call ptr @s2n_strerror(i32 noundef %18170, ptr noundef @.str.4)
  %18172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18173 = load i32, ptr %18172, align 4, !tbaa !5
  %18174 = call ptr @s2n_strerror_debug(i32 noundef %18173, ptr noundef @.str.4)
  %18175 = call ptr @__errno_location() #11
  %18176 = load i32, ptr %18175, align 4, !tbaa !5
  %18177 = call ptr @strerror(i32 noundef %18176) #10
  %18178 = call ptr @__errno_location() #11
  %18179 = load i32, ptr %18178, align 4, !tbaa !5
  %18180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18167, ptr noundef @.str.5, i32 noundef %18168, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %18171, ptr noundef %18174, ptr noundef %18177, i32 noundef %18179) #10
  br label %18181

18181:                                            ; preds = %18164, %18147
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #10
  br label %18182

18182:                                            ; preds = %18181
  br label %18183

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

18184:                                            ; No predecessors!
  br label %18185

18185:                                            ; preds = %18184
  br label %18186

18186:                                            ; preds = %18185, %18128
  br label %18187

18187:                                            ; preds = %18186
  br label %18188

18188:                                            ; preds = %18187
  br label %18189

18189:                                            ; preds = %18188
  %18190 = load i32, ptr @test_count, align 4, !tbaa !5
  %18191 = add nsw i32 %18190, 1
  store i32 %18191, ptr @test_count, align 4, !tbaa !5
  %18192 = load ptr, ptr %379, align 8, !tbaa !9
  %18193 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %18192, i8 noundef zeroext 0)
  %18194 = icmp eq i32 %18193, -1
  br i1 %18194, label %18195, label %18248

18195:                                            ; preds = %18189
  br label %18196

18196:                                            ; preds = %18195
  br label %18197

18197:                                            ; preds = %18196
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #10
  %18198 = call ptr @__errno_location() #11
  %18199 = load i32, ptr %18198, align 4, !tbaa !5
  store i32 %18199, ptr %381, align 4, !tbaa !5
  %18200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18201 = call i32 @s2n_print_stacktrace(ptr noundef %18200)
  %18202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18203 = trunc i8 %18202 to i1
  br i1 %18203, label %18204, label %18226

18204:                                            ; preds = %18197
  %18205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18206 = call i32 @fileno(ptr noundef %18205) #10
  %18207 = call i32 @isatty(i32 noundef %18206) #10
  %18208 = icmp ne i32 %18207, 0
  br i1 %18208, label %18209, label %18226

18209:                                            ; preds = %18204
  %18210 = load i32, ptr %381, align 4, !tbaa !5
  %18211 = call ptr @__errno_location() #11
  store i32 %18210, ptr %18211, align 4, !tbaa !5
  %18212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18213 = load i32, ptr @test_count, align 4, !tbaa !5
  %18214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18215 = load i32, ptr %18214, align 4, !tbaa !5
  %18216 = call ptr @s2n_strerror(i32 noundef %18215, ptr noundef @.str.4)
  %18217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18218 = load i32, ptr %18217, align 4, !tbaa !5
  %18219 = call ptr @s2n_strerror_debug(i32 noundef %18218, ptr noundef @.str.4)
  %18220 = call ptr @__errno_location() #11
  %18221 = load i32, ptr %18220, align 4, !tbaa !5
  %18222 = call ptr @strerror(i32 noundef %18221) #10
  %18223 = call ptr @__errno_location() #11
  %18224 = load i32, ptr %18223, align 4, !tbaa !5
  %18225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18212, ptr noundef @.str.2, i32 noundef %18213, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1027, ptr noundef %18216, ptr noundef %18219, ptr noundef %18222, i32 noundef %18224) #10
  br label %18243

18226:                                            ; preds = %18204, %18197
  %18227 = load i32, ptr %381, align 4, !tbaa !5
  %18228 = call ptr @__errno_location() #11
  store i32 %18227, ptr %18228, align 4, !tbaa !5
  %18229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18230 = load i32, ptr @test_count, align 4, !tbaa !5
  %18231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18232 = load i32, ptr %18231, align 4, !tbaa !5
  %18233 = call ptr @s2n_strerror(i32 noundef %18232, ptr noundef @.str.4)
  %18234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18235 = load i32, ptr %18234, align 4, !tbaa !5
  %18236 = call ptr @s2n_strerror_debug(i32 noundef %18235, ptr noundef @.str.4)
  %18237 = call ptr @__errno_location() #11
  %18238 = load i32, ptr %18237, align 4, !tbaa !5
  %18239 = call ptr @strerror(i32 noundef %18238) #10
  %18240 = call ptr @__errno_location() #11
  %18241 = load i32, ptr %18240, align 4, !tbaa !5
  %18242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18229, ptr noundef @.str.5, i32 noundef %18230, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1027, ptr noundef %18233, ptr noundef %18236, ptr noundef %18239, i32 noundef %18241) #10
  br label %18243

18243:                                            ; preds = %18226, %18209
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #10
  br label %18244

18244:                                            ; preds = %18243
  br label %18245

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

18246:                                            ; No predecessors!
  br label %18247

18247:                                            ; preds = %18246
  br label %18248

18248:                                            ; preds = %18247, %18189
  br label %18249

18249:                                            ; preds = %18248
  br label %18250

18250:                                            ; preds = %18249
  br label %18251

18251:                                            ; preds = %18250
  %18252 = load i32, ptr @test_count, align 4, !tbaa !5
  %18253 = add nsw i32 %18252, 1
  store i32 %18253, ptr @test_count, align 4, !tbaa !5
  %18254 = load ptr, ptr %379, align 8, !tbaa !9
  %18255 = call i32 @s2n_config_disable_x509_verification(ptr noundef %18254)
  %18256 = icmp eq i32 %18255, -1
  br i1 %18256, label %18257, label %18310

18257:                                            ; preds = %18251
  br label %18258

18258:                                            ; preds = %18257
  br label %18259

18259:                                            ; preds = %18258
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #10
  %18260 = call ptr @__errno_location() #11
  %18261 = load i32, ptr %18260, align 4, !tbaa !5
  store i32 %18261, ptr %382, align 4, !tbaa !5
  %18262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18263 = call i32 @s2n_print_stacktrace(ptr noundef %18262)
  %18264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18265 = trunc i8 %18264 to i1
  br i1 %18265, label %18266, label %18288

18266:                                            ; preds = %18259
  %18267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18268 = call i32 @fileno(ptr noundef %18267) #10
  %18269 = call i32 @isatty(i32 noundef %18268) #10
  %18270 = icmp ne i32 %18269, 0
  br i1 %18270, label %18271, label %18288

18271:                                            ; preds = %18266
  %18272 = load i32, ptr %382, align 4, !tbaa !5
  %18273 = call ptr @__errno_location() #11
  store i32 %18272, ptr %18273, align 4, !tbaa !5
  %18274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18275 = load i32, ptr @test_count, align 4, !tbaa !5
  %18276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18277 = load i32, ptr %18276, align 4, !tbaa !5
  %18278 = call ptr @s2n_strerror(i32 noundef %18277, ptr noundef @.str.4)
  %18279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18280 = load i32, ptr %18279, align 4, !tbaa !5
  %18281 = call ptr @s2n_strerror_debug(i32 noundef %18280, ptr noundef @.str.4)
  %18282 = call ptr @__errno_location() #11
  %18283 = load i32, ptr %18282, align 4, !tbaa !5
  %18284 = call ptr @strerror(i32 noundef %18283) #10
  %18285 = call ptr @__errno_location() #11
  %18286 = load i32, ptr %18285, align 4, !tbaa !5
  %18287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18274, ptr noundef @.str.2, i32 noundef %18275, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1028, ptr noundef %18278, ptr noundef %18281, ptr noundef %18284, i32 noundef %18286) #10
  br label %18305

18288:                                            ; preds = %18266, %18259
  %18289 = load i32, ptr %382, align 4, !tbaa !5
  %18290 = call ptr @__errno_location() #11
  store i32 %18289, ptr %18290, align 4, !tbaa !5
  %18291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18292 = load i32, ptr @test_count, align 4, !tbaa !5
  %18293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18294 = load i32, ptr %18293, align 4, !tbaa !5
  %18295 = call ptr @s2n_strerror(i32 noundef %18294, ptr noundef @.str.4)
  %18296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18297 = load i32, ptr %18296, align 4, !tbaa !5
  %18298 = call ptr @s2n_strerror_debug(i32 noundef %18297, ptr noundef @.str.4)
  %18299 = call ptr @__errno_location() #11
  %18300 = load i32, ptr %18299, align 4, !tbaa !5
  %18301 = call ptr @strerror(i32 noundef %18300) #10
  %18302 = call ptr @__errno_location() #11
  %18303 = load i32, ptr %18302, align 4, !tbaa !5
  %18304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18291, ptr noundef @.str.5, i32 noundef %18292, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1028, ptr noundef %18295, ptr noundef %18298, ptr noundef %18301, i32 noundef %18303) #10
  br label %18305

18305:                                            ; preds = %18288, %18271
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #10
  br label %18306

18306:                                            ; preds = %18305
  br label %18307

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

18308:                                            ; No predecessors!
  br label %18309

18309:                                            ; preds = %18308
  br label %18310

18310:                                            ; preds = %18309, %18251
  br label %18311

18311:                                            ; preds = %18310
  br label %18312

18312:                                            ; preds = %18311
  br label %18313

18313:                                            ; preds = %18312
  %18314 = load i32, ptr @test_count, align 4, !tbaa !5
  %18315 = add nsw i32 %18314, 1
  store i32 %18315, ptr @test_count, align 4, !tbaa !5
  %18316 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %18316, ptr %375, align 8, !tbaa !9
  %18317 = icmp eq ptr %18316, null
  br i1 %18317, label %18318, label %18371

18318:                                            ; preds = %18313
  br label %18319

18319:                                            ; preds = %18318
  br label %18320

18320:                                            ; preds = %18319
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #10
  %18321 = call ptr @__errno_location() #11
  %18322 = load i32, ptr %18321, align 4, !tbaa !5
  store i32 %18322, ptr %383, align 4, !tbaa !5
  %18323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18324 = call i32 @s2n_print_stacktrace(ptr noundef %18323)
  %18325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18326 = trunc i8 %18325 to i1
  br i1 %18326, label %18327, label %18349

18327:                                            ; preds = %18320
  %18328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18329 = call i32 @fileno(ptr noundef %18328) #10
  %18330 = call i32 @isatty(i32 noundef %18329) #10
  %18331 = icmp ne i32 %18330, 0
  br i1 %18331, label %18332, label %18349

18332:                                            ; preds = %18327
  %18333 = load i32, ptr %383, align 4, !tbaa !5
  %18334 = call ptr @__errno_location() #11
  store i32 %18333, ptr %18334, align 4, !tbaa !5
  %18335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18336 = load i32, ptr @test_count, align 4, !tbaa !5
  %18337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18338 = load i32, ptr %18337, align 4, !tbaa !5
  %18339 = call ptr @s2n_strerror(i32 noundef %18338, ptr noundef @.str.4)
  %18340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18341 = load i32, ptr %18340, align 4, !tbaa !5
  %18342 = call ptr @s2n_strerror_debug(i32 noundef %18341, ptr noundef @.str.4)
  %18343 = call ptr @__errno_location() #11
  %18344 = load i32, ptr %18343, align 4, !tbaa !5
  %18345 = call ptr @strerror(i32 noundef %18344) #10
  %18346 = call ptr @__errno_location() #11
  %18347 = load i32, ptr %18346, align 4, !tbaa !5
  %18348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18335, ptr noundef @.str.2, i32 noundef %18336, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %18339, ptr noundef %18342, ptr noundef %18345, i32 noundef %18347) #10
  br label %18366

18349:                                            ; preds = %18327, %18320
  %18350 = load i32, ptr %383, align 4, !tbaa !5
  %18351 = call ptr @__errno_location() #11
  store i32 %18350, ptr %18351, align 4, !tbaa !5
  %18352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18353 = load i32, ptr @test_count, align 4, !tbaa !5
  %18354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18355 = load i32, ptr %18354, align 4, !tbaa !5
  %18356 = call ptr @s2n_strerror(i32 noundef %18355, ptr noundef @.str.4)
  %18357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18358 = load i32, ptr %18357, align 4, !tbaa !5
  %18359 = call ptr @s2n_strerror_debug(i32 noundef %18358, ptr noundef @.str.4)
  %18360 = call ptr @__errno_location() #11
  %18361 = load i32, ptr %18360, align 4, !tbaa !5
  %18362 = call ptr @strerror(i32 noundef %18361) #10
  %18363 = call ptr @__errno_location() #11
  %18364 = load i32, ptr %18363, align 4, !tbaa !5
  %18365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18352, ptr noundef @.str.5, i32 noundef %18353, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1029, ptr noundef %18356, ptr noundef %18359, ptr noundef %18362, i32 noundef %18364) #10
  br label %18366

18366:                                            ; preds = %18349, %18332
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #10
  br label %18367

18367:                                            ; preds = %18366
  br label %18368

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

18369:                                            ; No predecessors!
  br label %18370

18370:                                            ; preds = %18369
  br label %18371

18371:                                            ; preds = %18370, %18313
  br label %18372

18372:                                            ; preds = %18371
  br label %18373

18373:                                            ; preds = %18372
  br label %18374

18374:                                            ; preds = %18373
  %18375 = load i32, ptr @test_count, align 4, !tbaa !5
  %18376 = add nsw i32 %18375, 1
  store i32 %18376, ptr @test_count, align 4, !tbaa !5
  %18377 = load ptr, ptr %375, align 8, !tbaa !9
  %18378 = load ptr, ptr %379, align 8, !tbaa !9
  %18379 = call i32 @s2n_connection_set_config(ptr noundef %18377, ptr noundef %18378)
  %18380 = icmp eq i32 %18379, -1
  br i1 %18380, label %18381, label %18434

18381:                                            ; preds = %18374
  br label %18382

18382:                                            ; preds = %18381
  br label %18383

18383:                                            ; preds = %18382
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  %18384 = call ptr @__errno_location() #11
  %18385 = load i32, ptr %18384, align 4, !tbaa !5
  store i32 %18385, ptr %384, align 4, !tbaa !5
  %18386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18387 = call i32 @s2n_print_stacktrace(ptr noundef %18386)
  %18388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18389 = trunc i8 %18388 to i1
  br i1 %18389, label %18390, label %18412

18390:                                            ; preds = %18383
  %18391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18392 = call i32 @fileno(ptr noundef %18391) #10
  %18393 = call i32 @isatty(i32 noundef %18392) #10
  %18394 = icmp ne i32 %18393, 0
  br i1 %18394, label %18395, label %18412

18395:                                            ; preds = %18390
  %18396 = load i32, ptr %384, align 4, !tbaa !5
  %18397 = call ptr @__errno_location() #11
  store i32 %18396, ptr %18397, align 4, !tbaa !5
  %18398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18399 = load i32, ptr @test_count, align 4, !tbaa !5
  %18400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18401 = load i32, ptr %18400, align 4, !tbaa !5
  %18402 = call ptr @s2n_strerror(i32 noundef %18401, ptr noundef @.str.4)
  %18403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18404 = load i32, ptr %18403, align 4, !tbaa !5
  %18405 = call ptr @s2n_strerror_debug(i32 noundef %18404, ptr noundef @.str.4)
  %18406 = call ptr @__errno_location() #11
  %18407 = load i32, ptr %18406, align 4, !tbaa !5
  %18408 = call ptr @strerror(i32 noundef %18407) #10
  %18409 = call ptr @__errno_location() #11
  %18410 = load i32, ptr %18409, align 4, !tbaa !5
  %18411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18398, ptr noundef @.str.2, i32 noundef %18399, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1030, ptr noundef %18402, ptr noundef %18405, ptr noundef %18408, i32 noundef %18410) #10
  br label %18429

18412:                                            ; preds = %18390, %18383
  %18413 = load i32, ptr %384, align 4, !tbaa !5
  %18414 = call ptr @__errno_location() #11
  store i32 %18413, ptr %18414, align 4, !tbaa !5
  %18415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18416 = load i32, ptr @test_count, align 4, !tbaa !5
  %18417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18418 = load i32, ptr %18417, align 4, !tbaa !5
  %18419 = call ptr @s2n_strerror(i32 noundef %18418, ptr noundef @.str.4)
  %18420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18421 = load i32, ptr %18420, align 4, !tbaa !5
  %18422 = call ptr @s2n_strerror_debug(i32 noundef %18421, ptr noundef @.str.4)
  %18423 = call ptr @__errno_location() #11
  %18424 = load i32, ptr %18423, align 4, !tbaa !5
  %18425 = call ptr @strerror(i32 noundef %18424) #10
  %18426 = call ptr @__errno_location() #11
  %18427 = load i32, ptr %18426, align 4, !tbaa !5
  %18428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18415, ptr noundef @.str.5, i32 noundef %18416, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1030, ptr noundef %18419, ptr noundef %18422, ptr noundef %18425, i32 noundef %18427) #10
  br label %18429

18429:                                            ; preds = %18412, %18395
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  br label %18430

18430:                                            ; preds = %18429
  br label %18431

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

18432:                                            ; No predecessors!
  br label %18433

18433:                                            ; preds = %18432
  br label %18434

18434:                                            ; preds = %18433, %18374
  br label %18435

18435:                                            ; preds = %18434
  br label %18436

18436:                                            ; preds = %18435
  %18437 = load ptr, ptr %375, align 8, !tbaa !9
  %18438 = getelementptr inbounds %struct.s2n_connection, ptr %18437, i32 0, i32 23
  store i8 33, ptr %18438, align 4, !tbaa !15
  %18439 = load ptr, ptr %375, align 8, !tbaa !9
  %18440 = getelementptr inbounds %struct.s2n_connection, ptr %18439, i32 0, i32 22
  store i8 33, ptr %18440, align 1, !tbaa !42
  %18441 = load ptr, ptr %375, align 8, !tbaa !9
  %18442 = getelementptr inbounds %struct.s2n_connection, ptr %18441, i32 0, i32 21
  store i8 33, ptr %18442, align 2, !tbaa !43
  br label %18443

18443:                                            ; preds = %18436
  %18444 = load i32, ptr @test_count, align 4, !tbaa !5
  %18445 = add nsw i32 %18444, 1
  store i32 %18445, ptr @test_count, align 4, !tbaa !5
  %18446 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18446, ptr %376, align 8, !tbaa !9
  %18447 = icmp eq ptr %18446, null
  br i1 %18447, label %18448, label %18501

18448:                                            ; preds = %18443
  br label %18449

18449:                                            ; preds = %18448
  br label %18450

18450:                                            ; preds = %18449
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #10
  %18451 = call ptr @__errno_location() #11
  %18452 = load i32, ptr %18451, align 4, !tbaa !5
  store i32 %18452, ptr %385, align 4, !tbaa !5
  %18453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18454 = call i32 @s2n_print_stacktrace(ptr noundef %18453)
  %18455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18456 = trunc i8 %18455 to i1
  br i1 %18456, label %18457, label %18479

18457:                                            ; preds = %18450
  %18458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18459 = call i32 @fileno(ptr noundef %18458) #10
  %18460 = call i32 @isatty(i32 noundef %18459) #10
  %18461 = icmp ne i32 %18460, 0
  br i1 %18461, label %18462, label %18479

18462:                                            ; preds = %18457
  %18463 = load i32, ptr %385, align 4, !tbaa !5
  %18464 = call ptr @__errno_location() #11
  store i32 %18463, ptr %18464, align 4, !tbaa !5
  %18465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18466 = load i32, ptr @test_count, align 4, !tbaa !5
  %18467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18468 = load i32, ptr %18467, align 4, !tbaa !5
  %18469 = call ptr @s2n_strerror(i32 noundef %18468, ptr noundef @.str.4)
  %18470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18471 = load i32, ptr %18470, align 4, !tbaa !5
  %18472 = call ptr @s2n_strerror_debug(i32 noundef %18471, ptr noundef @.str.4)
  %18473 = call ptr @__errno_location() #11
  %18474 = load i32, ptr %18473, align 4, !tbaa !5
  %18475 = call ptr @strerror(i32 noundef %18474) #10
  %18476 = call ptr @__errno_location() #11
  %18477 = load i32, ptr %18476, align 4, !tbaa !5
  %18478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18465, ptr noundef @.str.2, i32 noundef %18466, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %18469, ptr noundef %18472, ptr noundef %18475, i32 noundef %18477) #10
  br label %18496

18479:                                            ; preds = %18457, %18450
  %18480 = load i32, ptr %385, align 4, !tbaa !5
  %18481 = call ptr @__errno_location() #11
  store i32 %18480, ptr %18481, align 4, !tbaa !5
  %18482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18483 = load i32, ptr @test_count, align 4, !tbaa !5
  %18484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18485 = load i32, ptr %18484, align 4, !tbaa !5
  %18486 = call ptr @s2n_strerror(i32 noundef %18485, ptr noundef @.str.4)
  %18487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18488 = load i32, ptr %18487, align 4, !tbaa !5
  %18489 = call ptr @s2n_strerror_debug(i32 noundef %18488, ptr noundef @.str.4)
  %18490 = call ptr @__errno_location() #11
  %18491 = load i32, ptr %18490, align 4, !tbaa !5
  %18492 = call ptr @strerror(i32 noundef %18491) #10
  %18493 = call ptr @__errno_location() #11
  %18494 = load i32, ptr %18493, align 4, !tbaa !5
  %18495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18482, ptr noundef @.str.5, i32 noundef %18483, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %18486, ptr noundef %18489, ptr noundef %18492, i32 noundef %18494) #10
  br label %18496

18496:                                            ; preds = %18479, %18462
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #10
  br label %18497

18497:                                            ; preds = %18496
  br label %18498

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

18499:                                            ; No predecessors!
  br label %18500

18500:                                            ; preds = %18499
  br label %18501

18501:                                            ; preds = %18500, %18443
  br label %18502

18502:                                            ; preds = %18501
  br label %18503

18503:                                            ; preds = %18502
  %18504 = load ptr, ptr %376, align 8, !tbaa !9
  %18505 = getelementptr inbounds %struct.s2n_connection, ptr %18504, i32 0, i32 23
  store i8 33, ptr %18505, align 4, !tbaa !15
  %18506 = load ptr, ptr %376, align 8, !tbaa !9
  %18507 = getelementptr inbounds %struct.s2n_connection, ptr %18506, i32 0, i32 22
  store i8 33, ptr %18507, align 1, !tbaa !42
  %18508 = load ptr, ptr %376, align 8, !tbaa !9
  %18509 = getelementptr inbounds %struct.s2n_connection, ptr %18508, i32 0, i32 21
  store i8 33, ptr %18509, align 2, !tbaa !43
  br label %18510

18510:                                            ; preds = %18503
  %18511 = load i32, ptr @test_count, align 4, !tbaa !5
  %18512 = add nsw i32 %18511, 1
  store i32 %18512, ptr @test_count, align 4, !tbaa !5
  %18513 = load ptr, ptr %375, align 8, !tbaa !9
  %18514 = load ptr, ptr %376, align 8, !tbaa !9
  %18515 = call i32 @s2n_connections_set_io_pair(ptr noundef %18513, ptr noundef %18514, ptr noundef %15)
  %18516 = icmp eq i32 %18515, -1
  br i1 %18516, label %18517, label %18570

18517:                                            ; preds = %18510
  br label %18518

18518:                                            ; preds = %18517
  br label %18519

18519:                                            ; preds = %18518
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #10
  %18520 = call ptr @__errno_location() #11
  %18521 = load i32, ptr %18520, align 4, !tbaa !5
  store i32 %18521, ptr %386, align 4, !tbaa !5
  %18522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18523 = call i32 @s2n_print_stacktrace(ptr noundef %18522)
  %18524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18525 = trunc i8 %18524 to i1
  br i1 %18525, label %18526, label %18548

18526:                                            ; preds = %18519
  %18527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18528 = call i32 @fileno(ptr noundef %18527) #10
  %18529 = call i32 @isatty(i32 noundef %18528) #10
  %18530 = icmp ne i32 %18529, 0
  br i1 %18530, label %18531, label %18548

18531:                                            ; preds = %18526
  %18532 = load i32, ptr %386, align 4, !tbaa !5
  %18533 = call ptr @__errno_location() #11
  store i32 %18532, ptr %18533, align 4, !tbaa !5
  %18534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18535 = load i32, ptr @test_count, align 4, !tbaa !5
  %18536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18537 = load i32, ptr %18536, align 4, !tbaa !5
  %18538 = call ptr @s2n_strerror(i32 noundef %18537, ptr noundef @.str.4)
  %18539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18540 = load i32, ptr %18539, align 4, !tbaa !5
  %18541 = call ptr @s2n_strerror_debug(i32 noundef %18540, ptr noundef @.str.4)
  %18542 = call ptr @__errno_location() #11
  %18543 = load i32, ptr %18542, align 4, !tbaa !5
  %18544 = call ptr @strerror(i32 noundef %18543) #10
  %18545 = call ptr @__errno_location() #11
  %18546 = load i32, ptr %18545, align 4, !tbaa !5
  %18547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18534, ptr noundef @.str.2, i32 noundef %18535, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %18538, ptr noundef %18541, ptr noundef %18544, i32 noundef %18546) #10
  br label %18565

18548:                                            ; preds = %18526, %18519
  %18549 = load i32, ptr %386, align 4, !tbaa !5
  %18550 = call ptr @__errno_location() #11
  store i32 %18549, ptr %18550, align 4, !tbaa !5
  %18551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18552 = load i32, ptr @test_count, align 4, !tbaa !5
  %18553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18554 = load i32, ptr %18553, align 4, !tbaa !5
  %18555 = call ptr @s2n_strerror(i32 noundef %18554, ptr noundef @.str.4)
  %18556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18557 = load i32, ptr %18556, align 4, !tbaa !5
  %18558 = call ptr @s2n_strerror_debug(i32 noundef %18557, ptr noundef @.str.4)
  %18559 = call ptr @__errno_location() #11
  %18560 = load i32, ptr %18559, align 4, !tbaa !5
  %18561 = call ptr @strerror(i32 noundef %18560) #10
  %18562 = call ptr @__errno_location() #11
  %18563 = load i32, ptr %18562, align 4, !tbaa !5
  %18564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18551, ptr noundef @.str.5, i32 noundef %18552, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %18555, ptr noundef %18558, ptr noundef %18561, i32 noundef %18563) #10
  br label %18565

18565:                                            ; preds = %18548, %18531
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #10
  br label %18566

18566:                                            ; preds = %18565
  br label %18567

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

18568:                                            ; No predecessors!
  br label %18569

18569:                                            ; preds = %18568
  br label %18570

18570:                                            ; preds = %18569, %18510
  br label %18571

18571:                                            ; preds = %18570
  br label %18572

18572:                                            ; preds = %18571
  br label %18573

18573:                                            ; preds = %18572
  %18574 = load i32, ptr @test_count, align 4, !tbaa !5
  %18575 = add nsw i32 %18574, 1
  store i32 %18575, ptr @test_count, align 4, !tbaa !5
  %18576 = call ptr @s2n_config_new()
  store ptr %18576, ptr %377, align 8, !tbaa !9
  %18577 = icmp eq ptr %18576, null
  br i1 %18577, label %18578, label %18631

18578:                                            ; preds = %18573
  br label %18579

18579:                                            ; preds = %18578
  br label %18580

18580:                                            ; preds = %18579
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #10
  %18581 = call ptr @__errno_location() #11
  %18582 = load i32, ptr %18581, align 4, !tbaa !5
  store i32 %18582, ptr %387, align 4, !tbaa !5
  %18583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18584 = call i32 @s2n_print_stacktrace(ptr noundef %18583)
  %18585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18586 = trunc i8 %18585 to i1
  br i1 %18586, label %18587, label %18609

18587:                                            ; preds = %18580
  %18588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18589 = call i32 @fileno(ptr noundef %18588) #10
  %18590 = call i32 @isatty(i32 noundef %18589) #10
  %18591 = icmp ne i32 %18590, 0
  br i1 %18591, label %18592, label %18609

18592:                                            ; preds = %18587
  %18593 = load i32, ptr %387, align 4, !tbaa !5
  %18594 = call ptr @__errno_location() #11
  store i32 %18593, ptr %18594, align 4, !tbaa !5
  %18595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18596 = load i32, ptr @test_count, align 4, !tbaa !5
  %18597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18598 = load i32, ptr %18597, align 4, !tbaa !5
  %18599 = call ptr @s2n_strerror(i32 noundef %18598, ptr noundef @.str.4)
  %18600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18601 = load i32, ptr %18600, align 4, !tbaa !5
  %18602 = call ptr @s2n_strerror_debug(i32 noundef %18601, ptr noundef @.str.4)
  %18603 = call ptr @__errno_location() #11
  %18604 = load i32, ptr %18603, align 4, !tbaa !5
  %18605 = call ptr @strerror(i32 noundef %18604) #10
  %18606 = call ptr @__errno_location() #11
  %18607 = load i32, ptr %18606, align 4, !tbaa !5
  %18608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18595, ptr noundef @.str.2, i32 noundef %18596, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1042, ptr noundef %18599, ptr noundef %18602, ptr noundef %18605, i32 noundef %18607) #10
  br label %18626

18609:                                            ; preds = %18587, %18580
  %18610 = load i32, ptr %387, align 4, !tbaa !5
  %18611 = call ptr @__errno_location() #11
  store i32 %18610, ptr %18611, align 4, !tbaa !5
  %18612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18613 = load i32, ptr @test_count, align 4, !tbaa !5
  %18614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18615 = load i32, ptr %18614, align 4, !tbaa !5
  %18616 = call ptr @s2n_strerror(i32 noundef %18615, ptr noundef @.str.4)
  %18617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18618 = load i32, ptr %18617, align 4, !tbaa !5
  %18619 = call ptr @s2n_strerror_debug(i32 noundef %18618, ptr noundef @.str.4)
  %18620 = call ptr @__errno_location() #11
  %18621 = load i32, ptr %18620, align 4, !tbaa !5
  %18622 = call ptr @strerror(i32 noundef %18621) #10
  %18623 = call ptr @__errno_location() #11
  %18624 = load i32, ptr %18623, align 4, !tbaa !5
  %18625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18612, ptr noundef @.str.5, i32 noundef %18613, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1042, ptr noundef %18616, ptr noundef %18619, ptr noundef %18622, i32 noundef %18624) #10
  br label %18626

18626:                                            ; preds = %18609, %18592
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #10
  br label %18627

18627:                                            ; preds = %18626
  br label %18628

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

18629:                                            ; No predecessors!
  br label %18630

18630:                                            ; preds = %18629
  br label %18631

18631:                                            ; preds = %18630, %18573
  br label %18632

18632:                                            ; preds = %18631
  br label %18633

18633:                                            ; preds = %18632
  br label %18634

18634:                                            ; preds = %18633
  %18635 = load i32, ptr @test_count, align 4, !tbaa !5
  %18636 = add nsw i32 %18635, 1
  store i32 %18636, ptr @test_count, align 4, !tbaa !5
  %18637 = load ptr, ptr %6, align 8, !tbaa !9
  %18638 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %18637, i64 noundef 12000)
  %18639 = icmp eq i32 %18638, -1
  br i1 %18639, label %18640, label %18693

18640:                                            ; preds = %18634
  br label %18641

18641:                                            ; preds = %18640
  br label %18642

18642:                                            ; preds = %18641
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #10
  %18643 = call ptr @__errno_location() #11
  %18644 = load i32, ptr %18643, align 4, !tbaa !5
  store i32 %18644, ptr %388, align 4, !tbaa !5
  %18645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18646 = call i32 @s2n_print_stacktrace(ptr noundef %18645)
  %18647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18648 = trunc i8 %18647 to i1
  br i1 %18648, label %18649, label %18671

18649:                                            ; preds = %18642
  %18650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18651 = call i32 @fileno(ptr noundef %18650) #10
  %18652 = call i32 @isatty(i32 noundef %18651) #10
  %18653 = icmp ne i32 %18652, 0
  br i1 %18653, label %18654, label %18671

18654:                                            ; preds = %18649
  %18655 = load i32, ptr %388, align 4, !tbaa !5
  %18656 = call ptr @__errno_location() #11
  store i32 %18655, ptr %18656, align 4, !tbaa !5
  %18657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18658 = load i32, ptr @test_count, align 4, !tbaa !5
  %18659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18660 = load i32, ptr %18659, align 4, !tbaa !5
  %18661 = call ptr @s2n_strerror(i32 noundef %18660, ptr noundef @.str.4)
  %18662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18663 = load i32, ptr %18662, align 4, !tbaa !5
  %18664 = call ptr @s2n_strerror_debug(i32 noundef %18663, ptr noundef @.str.4)
  %18665 = call ptr @__errno_location() #11
  %18666 = load i32, ptr %18665, align 4, !tbaa !5
  %18667 = call ptr @strerror(i32 noundef %18666) #10
  %18668 = call ptr @__errno_location() #11
  %18669 = load i32, ptr %18668, align 4, !tbaa !5
  %18670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18657, ptr noundef @.str.2, i32 noundef %18658, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1043, ptr noundef %18661, ptr noundef %18664, ptr noundef %18667, i32 noundef %18669) #10
  br label %18688

18671:                                            ; preds = %18649, %18642
  %18672 = load i32, ptr %388, align 4, !tbaa !5
  %18673 = call ptr @__errno_location() #11
  store i32 %18672, ptr %18673, align 4, !tbaa !5
  %18674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18675 = load i32, ptr @test_count, align 4, !tbaa !5
  %18676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18677 = load i32, ptr %18676, align 4, !tbaa !5
  %18678 = call ptr @s2n_strerror(i32 noundef %18677, ptr noundef @.str.4)
  %18679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18680 = load i32, ptr %18679, align 4, !tbaa !5
  %18681 = call ptr @s2n_strerror_debug(i32 noundef %18680, ptr noundef @.str.4)
  %18682 = call ptr @__errno_location() #11
  %18683 = load i32, ptr %18682, align 4, !tbaa !5
  %18684 = call ptr @strerror(i32 noundef %18683) #10
  %18685 = call ptr @__errno_location() #11
  %18686 = load i32, ptr %18685, align 4, !tbaa !5
  %18687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18674, ptr noundef @.str.5, i32 noundef %18675, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1043, ptr noundef %18678, ptr noundef %18681, ptr noundef %18684, i32 noundef %18686) #10
  br label %18688

18688:                                            ; preds = %18671, %18654
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #10
  br label %18689

18689:                                            ; preds = %18688
  br label %18690

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

18691:                                            ; No predecessors!
  br label %18692

18692:                                            ; preds = %18691
  br label %18693

18693:                                            ; preds = %18692, %18634
  br label %18694

18694:                                            ; preds = %18693
  br label %18695

18695:                                            ; preds = %18694
  br label %18696

18696:                                            ; preds = %18695
  %18697 = load i32, ptr @test_count, align 4, !tbaa !5
  %18698 = add nsw i32 %18697, 1
  store i32 %18698, ptr @test_count, align 4, !tbaa !5
  %18699 = load ptr, ptr %7, align 8, !tbaa !9
  %18700 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %18699, i64 noundef 12000)
  %18701 = icmp eq i32 %18700, -1
  br i1 %18701, label %18702, label %18755

18702:                                            ; preds = %18696
  br label %18703

18703:                                            ; preds = %18702
  br label %18704

18704:                                            ; preds = %18703
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #10
  %18705 = call ptr @__errno_location() #11
  %18706 = load i32, ptr %18705, align 4, !tbaa !5
  store i32 %18706, ptr %389, align 4, !tbaa !5
  %18707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18708 = call i32 @s2n_print_stacktrace(ptr noundef %18707)
  %18709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18710 = trunc i8 %18709 to i1
  br i1 %18710, label %18711, label %18733

18711:                                            ; preds = %18704
  %18712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18713 = call i32 @fileno(ptr noundef %18712) #10
  %18714 = call i32 @isatty(i32 noundef %18713) #10
  %18715 = icmp ne i32 %18714, 0
  br i1 %18715, label %18716, label %18733

18716:                                            ; preds = %18711
  %18717 = load i32, ptr %389, align 4, !tbaa !5
  %18718 = call ptr @__errno_location() #11
  store i32 %18717, ptr %18718, align 4, !tbaa !5
  %18719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18720 = load i32, ptr @test_count, align 4, !tbaa !5
  %18721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18722 = load i32, ptr %18721, align 4, !tbaa !5
  %18723 = call ptr @s2n_strerror(i32 noundef %18722, ptr noundef @.str.4)
  %18724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18725 = load i32, ptr %18724, align 4, !tbaa !5
  %18726 = call ptr @s2n_strerror_debug(i32 noundef %18725, ptr noundef @.str.4)
  %18727 = call ptr @__errno_location() #11
  %18728 = load i32, ptr %18727, align 4, !tbaa !5
  %18729 = call ptr @strerror(i32 noundef %18728) #10
  %18730 = call ptr @__errno_location() #11
  %18731 = load i32, ptr %18730, align 4, !tbaa !5
  %18732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18719, ptr noundef @.str.2, i32 noundef %18720, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1044, ptr noundef %18723, ptr noundef %18726, ptr noundef %18729, i32 noundef %18731) #10
  br label %18750

18733:                                            ; preds = %18711, %18704
  %18734 = load i32, ptr %389, align 4, !tbaa !5
  %18735 = call ptr @__errno_location() #11
  store i32 %18734, ptr %18735, align 4, !tbaa !5
  %18736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18737 = load i32, ptr @test_count, align 4, !tbaa !5
  %18738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18739 = load i32, ptr %18738, align 4, !tbaa !5
  %18740 = call ptr @s2n_strerror(i32 noundef %18739, ptr noundef @.str.4)
  %18741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18742 = load i32, ptr %18741, align 4, !tbaa !5
  %18743 = call ptr @s2n_strerror_debug(i32 noundef %18742, ptr noundef @.str.4)
  %18744 = call ptr @__errno_location() #11
  %18745 = load i32, ptr %18744, align 4, !tbaa !5
  %18746 = call ptr @strerror(i32 noundef %18745) #10
  %18747 = call ptr @__errno_location() #11
  %18748 = load i32, ptr %18747, align 4, !tbaa !5
  %18749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18736, ptr noundef @.str.5, i32 noundef %18737, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1044, ptr noundef %18740, ptr noundef %18743, ptr noundef %18746, i32 noundef %18748) #10
  br label %18750

18750:                                            ; preds = %18733, %18716
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #10
  br label %18751

18751:                                            ; preds = %18750
  br label %18752

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

18753:                                            ; No predecessors!
  br label %18754

18754:                                            ; preds = %18753
  br label %18755

18755:                                            ; preds = %18754, %18696
  br label %18756

18756:                                            ; preds = %18755
  br label %18757

18757:                                            ; preds = %18756
  br label %18758

18758:                                            ; preds = %18757
  %18759 = load i32, ptr @test_count, align 4, !tbaa !5
  %18760 = add nsw i32 %18759, 1
  store i32 %18760, ptr @test_count, align 4, !tbaa !5
  %18761 = load ptr, ptr %377, align 8, !tbaa !9
  %18762 = load ptr, ptr %6, align 8, !tbaa !9
  %18763 = load ptr, ptr %7, align 8, !tbaa !9
  %18764 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %18761, ptr noundef %18762, ptr noundef %18763)
  %18765 = icmp eq i32 %18764, -1
  br i1 %18765, label %18766, label %18819

18766:                                            ; preds = %18758
  br label %18767

18767:                                            ; preds = %18766
  br label %18768

18768:                                            ; preds = %18767
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #10
  %18769 = call ptr @__errno_location() #11
  %18770 = load i32, ptr %18769, align 4, !tbaa !5
  store i32 %18770, ptr %390, align 4, !tbaa !5
  %18771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18772 = call i32 @s2n_print_stacktrace(ptr noundef %18771)
  %18773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18774 = trunc i8 %18773 to i1
  br i1 %18774, label %18775, label %18797

18775:                                            ; preds = %18768
  %18776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18777 = call i32 @fileno(ptr noundef %18776) #10
  %18778 = call i32 @isatty(i32 noundef %18777) #10
  %18779 = icmp ne i32 %18778, 0
  br i1 %18779, label %18780, label %18797

18780:                                            ; preds = %18775
  %18781 = load i32, ptr %390, align 4, !tbaa !5
  %18782 = call ptr @__errno_location() #11
  store i32 %18781, ptr %18782, align 4, !tbaa !5
  %18783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18784 = load i32, ptr @test_count, align 4, !tbaa !5
  %18785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18786 = load i32, ptr %18785, align 4, !tbaa !5
  %18787 = call ptr @s2n_strerror(i32 noundef %18786, ptr noundef @.str.4)
  %18788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18789 = load i32, ptr %18788, align 4, !tbaa !5
  %18790 = call ptr @s2n_strerror_debug(i32 noundef %18789, ptr noundef @.str.4)
  %18791 = call ptr @__errno_location() #11
  %18792 = load i32, ptr %18791, align 4, !tbaa !5
  %18793 = call ptr @strerror(i32 noundef %18792) #10
  %18794 = call ptr @__errno_location() #11
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  %18796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18783, ptr noundef @.str.2, i32 noundef %18784, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %18787, ptr noundef %18790, ptr noundef %18793, i32 noundef %18795) #10
  br label %18814

18797:                                            ; preds = %18775, %18768
  %18798 = load i32, ptr %390, align 4, !tbaa !5
  %18799 = call ptr @__errno_location() #11
  store i32 %18798, ptr %18799, align 4, !tbaa !5
  %18800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18801 = load i32, ptr @test_count, align 4, !tbaa !5
  %18802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18803 = load i32, ptr %18802, align 4, !tbaa !5
  %18804 = call ptr @s2n_strerror(i32 noundef %18803, ptr noundef @.str.4)
  %18805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18806 = load i32, ptr %18805, align 4, !tbaa !5
  %18807 = call ptr @s2n_strerror_debug(i32 noundef %18806, ptr noundef @.str.4)
  %18808 = call ptr @__errno_location() #11
  %18809 = load i32, ptr %18808, align 4, !tbaa !5
  %18810 = call ptr @strerror(i32 noundef %18809) #10
  %18811 = call ptr @__errno_location() #11
  %18812 = load i32, ptr %18811, align 4, !tbaa !5
  %18813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18800, ptr noundef @.str.5, i32 noundef %18801, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1045, ptr noundef %18804, ptr noundef %18807, ptr noundef %18810, i32 noundef %18812) #10
  br label %18814

18814:                                            ; preds = %18797, %18780
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #10
  br label %18815

18815:                                            ; preds = %18814
  br label %18816

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

18817:                                            ; No predecessors!
  br label %18818

18818:                                            ; preds = %18817
  br label %18819

18819:                                            ; preds = %18818, %18758
  br label %18820

18820:                                            ; preds = %18819
  br label %18821

18821:                                            ; preds = %18820
  br label %18822

18822:                                            ; preds = %18821
  %18823 = load i32, ptr @test_count, align 4, !tbaa !5
  %18824 = add nsw i32 %18823, 1
  store i32 %18824, ptr @test_count, align 4, !tbaa !5
  %18825 = load ptr, ptr %377, align 8, !tbaa !9
  %18826 = call i32 @s2n_config_set_extension_data(ptr noundef %18825, i32 noundef 18, ptr noundef @sct_list, i32 noundef 5)
  %18827 = icmp eq i32 %18826, -1
  br i1 %18827, label %18828, label %18881

18828:                                            ; preds = %18822
  br label %18829

18829:                                            ; preds = %18828
  br label %18830

18830:                                            ; preds = %18829
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #10
  %18831 = call ptr @__errno_location() #11
  %18832 = load i32, ptr %18831, align 4, !tbaa !5
  store i32 %18832, ptr %391, align 4, !tbaa !5
  %18833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18834 = call i32 @s2n_print_stacktrace(ptr noundef %18833)
  %18835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18836 = trunc i8 %18835 to i1
  br i1 %18836, label %18837, label %18859

18837:                                            ; preds = %18830
  %18838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18839 = call i32 @fileno(ptr noundef %18838) #10
  %18840 = call i32 @isatty(i32 noundef %18839) #10
  %18841 = icmp ne i32 %18840, 0
  br i1 %18841, label %18842, label %18859

18842:                                            ; preds = %18837
  %18843 = load i32, ptr %391, align 4, !tbaa !5
  %18844 = call ptr @__errno_location() #11
  store i32 %18843, ptr %18844, align 4, !tbaa !5
  %18845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18846 = load i32, ptr @test_count, align 4, !tbaa !5
  %18847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18848 = load i32, ptr %18847, align 4, !tbaa !5
  %18849 = call ptr @s2n_strerror(i32 noundef %18848, ptr noundef @.str.4)
  %18850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18851 = load i32, ptr %18850, align 4, !tbaa !5
  %18852 = call ptr @s2n_strerror_debug(i32 noundef %18851, ptr noundef @.str.4)
  %18853 = call ptr @__errno_location() #11
  %18854 = load i32, ptr %18853, align 4, !tbaa !5
  %18855 = call ptr @strerror(i32 noundef %18854) #10
  %18856 = call ptr @__errno_location() #11
  %18857 = load i32, ptr %18856, align 4, !tbaa !5
  %18858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18845, ptr noundef @.str.2, i32 noundef %18846, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %18849, ptr noundef %18852, ptr noundef %18855, i32 noundef %18857) #10
  br label %18876

18859:                                            ; preds = %18837, %18830
  %18860 = load i32, ptr %391, align 4, !tbaa !5
  %18861 = call ptr @__errno_location() #11
  store i32 %18860, ptr %18861, align 4, !tbaa !5
  %18862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18863 = load i32, ptr @test_count, align 4, !tbaa !5
  %18864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18865 = load i32, ptr %18864, align 4, !tbaa !5
  %18866 = call ptr @s2n_strerror(i32 noundef %18865, ptr noundef @.str.4)
  %18867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18868 = load i32, ptr %18867, align 4, !tbaa !5
  %18869 = call ptr @s2n_strerror_debug(i32 noundef %18868, ptr noundef @.str.4)
  %18870 = call ptr @__errno_location() #11
  %18871 = load i32, ptr %18870, align 4, !tbaa !5
  %18872 = call ptr @strerror(i32 noundef %18871) #10
  %18873 = call ptr @__errno_location() #11
  %18874 = load i32, ptr %18873, align 4, !tbaa !5
  %18875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18862, ptr noundef @.str.5, i32 noundef %18863, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %18866, ptr noundef %18869, ptr noundef %18872, i32 noundef %18874) #10
  br label %18876

18876:                                            ; preds = %18859, %18842
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #10
  br label %18877

18877:                                            ; preds = %18876
  br label %18878

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

18879:                                            ; No predecessors!
  br label %18880

18880:                                            ; preds = %18879
  br label %18881

18881:                                            ; preds = %18880, %18822
  br label %18882

18882:                                            ; preds = %18881
  br label %18883

18883:                                            ; preds = %18882
  br label %18884

18884:                                            ; preds = %18883
  %18885 = load i32, ptr @test_count, align 4, !tbaa !5
  %18886 = add nsw i32 %18885, 1
  store i32 %18886, ptr @test_count, align 4, !tbaa !5
  %18887 = load ptr, ptr %376, align 8, !tbaa !9
  %18888 = load ptr, ptr %377, align 8, !tbaa !9
  %18889 = call i32 @s2n_connection_set_config(ptr noundef %18887, ptr noundef %18888)
  %18890 = icmp eq i32 %18889, -1
  br i1 %18890, label %18891, label %18944

18891:                                            ; preds = %18884
  br label %18892

18892:                                            ; preds = %18891
  br label %18893

18893:                                            ; preds = %18892
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #10
  %18894 = call ptr @__errno_location() #11
  %18895 = load i32, ptr %18894, align 4, !tbaa !5
  store i32 %18895, ptr %392, align 4, !tbaa !5
  %18896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18897 = call i32 @s2n_print_stacktrace(ptr noundef %18896)
  %18898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18899 = trunc i8 %18898 to i1
  br i1 %18899, label %18900, label %18922

18900:                                            ; preds = %18893
  %18901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18902 = call i32 @fileno(ptr noundef %18901) #10
  %18903 = call i32 @isatty(i32 noundef %18902) #10
  %18904 = icmp ne i32 %18903, 0
  br i1 %18904, label %18905, label %18922

18905:                                            ; preds = %18900
  %18906 = load i32, ptr %392, align 4, !tbaa !5
  %18907 = call ptr @__errno_location() #11
  store i32 %18906, ptr %18907, align 4, !tbaa !5
  %18908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18909 = load i32, ptr @test_count, align 4, !tbaa !5
  %18910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18911 = load i32, ptr %18910, align 4, !tbaa !5
  %18912 = call ptr @s2n_strerror(i32 noundef %18911, ptr noundef @.str.4)
  %18913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18914 = load i32, ptr %18913, align 4, !tbaa !5
  %18915 = call ptr @s2n_strerror_debug(i32 noundef %18914, ptr noundef @.str.4)
  %18916 = call ptr @__errno_location() #11
  %18917 = load i32, ptr %18916, align 4, !tbaa !5
  %18918 = call ptr @strerror(i32 noundef %18917) #10
  %18919 = call ptr @__errno_location() #11
  %18920 = load i32, ptr %18919, align 4, !tbaa !5
  %18921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18908, ptr noundef @.str.2, i32 noundef %18909, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %18912, ptr noundef %18915, ptr noundef %18918, i32 noundef %18920) #10
  br label %18939

18922:                                            ; preds = %18900, %18893
  %18923 = load i32, ptr %392, align 4, !tbaa !5
  %18924 = call ptr @__errno_location() #11
  store i32 %18923, ptr %18924, align 4, !tbaa !5
  %18925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18926 = load i32, ptr @test_count, align 4, !tbaa !5
  %18927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18928 = load i32, ptr %18927, align 4, !tbaa !5
  %18929 = call ptr @s2n_strerror(i32 noundef %18928, ptr noundef @.str.4)
  %18930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18931 = load i32, ptr %18930, align 4, !tbaa !5
  %18932 = call ptr @s2n_strerror_debug(i32 noundef %18931, ptr noundef @.str.4)
  %18933 = call ptr @__errno_location() #11
  %18934 = load i32, ptr %18933, align 4, !tbaa !5
  %18935 = call ptr @strerror(i32 noundef %18934) #10
  %18936 = call ptr @__errno_location() #11
  %18937 = load i32, ptr %18936, align 4, !tbaa !5
  %18938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18925, ptr noundef @.str.5, i32 noundef %18926, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %18929, ptr noundef %18932, ptr noundef %18935, i32 noundef %18937) #10
  br label %18939

18939:                                            ; preds = %18922, %18905
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #10
  br label %18940

18940:                                            ; preds = %18939
  br label %18941

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

18942:                                            ; No predecessors!
  br label %18943

18943:                                            ; preds = %18942
  br label %18944

18944:                                            ; preds = %18943, %18884
  br label %18945

18945:                                            ; preds = %18944
  br label %18946

18946:                                            ; preds = %18945
  br label %18947

18947:                                            ; preds = %18946
  %18948 = load i32, ptr @test_count, align 4, !tbaa !5
  %18949 = add nsw i32 %18948, 1
  store i32 %18949, ptr @test_count, align 4, !tbaa !5
  %18950 = load ptr, ptr %376, align 8, !tbaa !9
  %18951 = load ptr, ptr %375, align 8, !tbaa !9
  %18952 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %18950, ptr noundef %18951)
  %18953 = icmp eq i32 %18952, -1
  br i1 %18953, label %18954, label %19007

18954:                                            ; preds = %18947
  br label %18955

18955:                                            ; preds = %18954
  br label %18956

18956:                                            ; preds = %18955
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #10
  %18957 = call ptr @__errno_location() #11
  %18958 = load i32, ptr %18957, align 4, !tbaa !5
  store i32 %18958, ptr %393, align 4, !tbaa !5
  %18959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18960 = call i32 @s2n_print_stacktrace(ptr noundef %18959)
  %18961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18962 = trunc i8 %18961 to i1
  br i1 %18962, label %18963, label %18985

18963:                                            ; preds = %18956
  %18964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18965 = call i32 @fileno(ptr noundef %18964) #10
  %18966 = call i32 @isatty(i32 noundef %18965) #10
  %18967 = icmp ne i32 %18966, 0
  br i1 %18967, label %18968, label %18985

18968:                                            ; preds = %18963
  %18969 = load i32, ptr %393, align 4, !tbaa !5
  %18970 = call ptr @__errno_location() #11
  store i32 %18969, ptr %18970, align 4, !tbaa !5
  %18971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18972 = load i32, ptr @test_count, align 4, !tbaa !5
  %18973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18974 = load i32, ptr %18973, align 4, !tbaa !5
  %18975 = call ptr @s2n_strerror(i32 noundef %18974, ptr noundef @.str.4)
  %18976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18977 = load i32, ptr %18976, align 4, !tbaa !5
  %18978 = call ptr @s2n_strerror_debug(i32 noundef %18977, ptr noundef @.str.4)
  %18979 = call ptr @__errno_location() #11
  %18980 = load i32, ptr %18979, align 4, !tbaa !5
  %18981 = call ptr @strerror(i32 noundef %18980) #10
  %18982 = call ptr @__errno_location() #11
  %18983 = load i32, ptr %18982, align 4, !tbaa !5
  %18984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18971, ptr noundef @.str.2, i32 noundef %18972, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %18975, ptr noundef %18978, ptr noundef %18981, i32 noundef %18983) #10
  br label %19002

18985:                                            ; preds = %18963, %18956
  %18986 = load i32, ptr %393, align 4, !tbaa !5
  %18987 = call ptr @__errno_location() #11
  store i32 %18986, ptr %18987, align 4, !tbaa !5
  %18988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18989 = load i32, ptr @test_count, align 4, !tbaa !5
  %18990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18991 = load i32, ptr %18990, align 4, !tbaa !5
  %18992 = call ptr @s2n_strerror(i32 noundef %18991, ptr noundef @.str.4)
  %18993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18994 = load i32, ptr %18993, align 4, !tbaa !5
  %18995 = call ptr @s2n_strerror_debug(i32 noundef %18994, ptr noundef @.str.4)
  %18996 = call ptr @__errno_location() #11
  %18997 = load i32, ptr %18996, align 4, !tbaa !5
  %18998 = call ptr @strerror(i32 noundef %18997) #10
  %18999 = call ptr @__errno_location() #11
  %19000 = load i32, ptr %18999, align 4, !tbaa !5
  %19001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18988, ptr noundef @.str.5, i32 noundef %18989, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %18992, ptr noundef %18995, ptr noundef %18998, i32 noundef %19000) #10
  br label %19002

19002:                                            ; preds = %18985, %18968
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #10
  br label %19003

19003:                                            ; preds = %19002
  br label %19004

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

19005:                                            ; No predecessors!
  br label %19006

19006:                                            ; preds = %19005
  br label %19007

19007:                                            ; preds = %19006, %18947
  br label %19008

19008:                                            ; preds = %19007
  br label %19009

19009:                                            ; preds = %19008
  br label %19010

19010:                                            ; preds = %19009
  %19011 = load i32, ptr @test_count, align 4, !tbaa !5
  %19012 = add nsw i32 %19011, 1
  store i32 %19012, ptr @test_count, align 4, !tbaa !5
  %19013 = load ptr, ptr %375, align 8, !tbaa !9
  %19014 = call ptr @s2n_connection_get_sct_list(ptr noundef %19013, ptr noundef %378)
  %19015 = icmp eq ptr %19014, null
  br i1 %19015, label %19069, label %19016

19016:                                            ; preds = %19010
  br label %19017

19017:                                            ; preds = %19016
  br label %19018

19018:                                            ; preds = %19017
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #10
  %19019 = call ptr @__errno_location() #11
  %19020 = load i32, ptr %19019, align 4, !tbaa !5
  store i32 %19020, ptr %394, align 4, !tbaa !5
  %19021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19022 = call i32 @s2n_print_stacktrace(ptr noundef %19021)
  %19023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19024 = trunc i8 %19023 to i1
  br i1 %19024, label %19025, label %19047

19025:                                            ; preds = %19018
  %19026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19027 = call i32 @fileno(ptr noundef %19026) #10
  %19028 = call i32 @isatty(i32 noundef %19027) #10
  %19029 = icmp ne i32 %19028, 0
  br i1 %19029, label %19030, label %19047

19030:                                            ; preds = %19025
  %19031 = load i32, ptr %394, align 4, !tbaa !5
  %19032 = call ptr @__errno_location() #11
  store i32 %19031, ptr %19032, align 4, !tbaa !5
  %19033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19034 = load i32, ptr @test_count, align 4, !tbaa !5
  %19035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19036 = load i32, ptr %19035, align 4, !tbaa !5
  %19037 = call ptr @s2n_strerror(i32 noundef %19036, ptr noundef @.str.4)
  %19038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19039 = load i32, ptr %19038, align 4, !tbaa !5
  %19040 = call ptr @s2n_strerror_debug(i32 noundef %19039, ptr noundef @.str.4)
  %19041 = call ptr @__errno_location() #11
  %19042 = load i32, ptr %19041, align 4, !tbaa !5
  %19043 = call ptr @strerror(i32 noundef %19042) #10
  %19044 = call ptr @__errno_location() #11
  %19045 = load i32, ptr %19044, align 4, !tbaa !5
  %19046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19033, ptr noundef @.str.2, i32 noundef %19034, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 1053, ptr noundef %19037, ptr noundef %19040, ptr noundef %19043, i32 noundef %19045) #10
  br label %19064

19047:                                            ; preds = %19025, %19018
  %19048 = load i32, ptr %394, align 4, !tbaa !5
  %19049 = call ptr @__errno_location() #11
  store i32 %19048, ptr %19049, align 4, !tbaa !5
  %19050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19051 = load i32, ptr @test_count, align 4, !tbaa !5
  %19052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19053 = load i32, ptr %19052, align 4, !tbaa !5
  %19054 = call ptr @s2n_strerror(i32 noundef %19053, ptr noundef @.str.4)
  %19055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19056 = load i32, ptr %19055, align 4, !tbaa !5
  %19057 = call ptr @s2n_strerror_debug(i32 noundef %19056, ptr noundef @.str.4)
  %19058 = call ptr @__errno_location() #11
  %19059 = load i32, ptr %19058, align 4, !tbaa !5
  %19060 = call ptr @strerror(i32 noundef %19059) #10
  %19061 = call ptr @__errno_location() #11
  %19062 = load i32, ptr %19061, align 4, !tbaa !5
  %19063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19050, ptr noundef @.str.5, i32 noundef %19051, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 1053, ptr noundef %19054, ptr noundef %19057, ptr noundef %19060, i32 noundef %19062) #10
  br label %19064

19064:                                            ; preds = %19047, %19030
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #10
  br label %19065

19065:                                            ; preds = %19064
  br label %19066

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

19067:                                            ; No predecessors!
  br label %19068

19068:                                            ; preds = %19067
  br label %19069

19069:                                            ; preds = %19068, %19010
  br label %19070

19070:                                            ; preds = %19069
  br label %19071

19071:                                            ; preds = %19070
  br label %19072

19072:                                            ; preds = %19071
  %19073 = load i32, ptr @test_count, align 4, !tbaa !5
  %19074 = add nsw i32 %19073, 1
  store i32 %19074, ptr @test_count, align 4, !tbaa !5
  %19075 = load i32, ptr %378, align 4, !tbaa !5
  %19076 = icmp eq i32 %19075, 0
  br i1 %19076, label %19130, label %19077

19077:                                            ; preds = %19072
  br label %19078

19078:                                            ; preds = %19077
  br label %19079

19079:                                            ; preds = %19078
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #10
  %19080 = call ptr @__errno_location() #11
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  store i32 %19081, ptr %395, align 4, !tbaa !5
  %19082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19083 = call i32 @s2n_print_stacktrace(ptr noundef %19082)
  %19084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19085 = trunc i8 %19084 to i1
  br i1 %19085, label %19086, label %19108

19086:                                            ; preds = %19079
  %19087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19088 = call i32 @fileno(ptr noundef %19087) #10
  %19089 = call i32 @isatty(i32 noundef %19088) #10
  %19090 = icmp ne i32 %19089, 0
  br i1 %19090, label %19091, label %19108

19091:                                            ; preds = %19086
  %19092 = load i32, ptr %395, align 4, !tbaa !5
  %19093 = call ptr @__errno_location() #11
  store i32 %19092, ptr %19093, align 4, !tbaa !5
  %19094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19095 = load i32, ptr @test_count, align 4, !tbaa !5
  %19096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19097 = load i32, ptr %19096, align 4, !tbaa !5
  %19098 = call ptr @s2n_strerror(i32 noundef %19097, ptr noundef @.str.4)
  %19099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19100 = load i32, ptr %19099, align 4, !tbaa !5
  %19101 = call ptr @s2n_strerror_debug(i32 noundef %19100, ptr noundef @.str.4)
  %19102 = call ptr @__errno_location() #11
  %19103 = load i32, ptr %19102, align 4, !tbaa !5
  %19104 = call ptr @strerror(i32 noundef %19103) #10
  %19105 = call ptr @__errno_location() #11
  %19106 = load i32, ptr %19105, align 4, !tbaa !5
  %19107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19094, ptr noundef @.str.2, i32 noundef %19095, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %19098, ptr noundef %19101, ptr noundef %19104, i32 noundef %19106) #10
  br label %19125

19108:                                            ; preds = %19086, %19079
  %19109 = load i32, ptr %395, align 4, !tbaa !5
  %19110 = call ptr @__errno_location() #11
  store i32 %19109, ptr %19110, align 4, !tbaa !5
  %19111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19112 = load i32, ptr @test_count, align 4, !tbaa !5
  %19113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19114 = load i32, ptr %19113, align 4, !tbaa !5
  %19115 = call ptr @s2n_strerror(i32 noundef %19114, ptr noundef @.str.4)
  %19116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19117 = load i32, ptr %19116, align 4, !tbaa !5
  %19118 = call ptr @s2n_strerror_debug(i32 noundef %19117, ptr noundef @.str.4)
  %19119 = call ptr @__errno_location() #11
  %19120 = load i32, ptr %19119, align 4, !tbaa !5
  %19121 = call ptr @strerror(i32 noundef %19120) #10
  %19122 = call ptr @__errno_location() #11
  %19123 = load i32, ptr %19122, align 4, !tbaa !5
  %19124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19111, ptr noundef @.str.5, i32 noundef %19112, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %19115, ptr noundef %19118, ptr noundef %19121, i32 noundef %19123) #10
  br label %19125

19125:                                            ; preds = %19108, %19091
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #10
  br label %19126

19126:                                            ; preds = %19125
  br label %19127

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

19128:                                            ; No predecessors!
  br label %19129

19129:                                            ; preds = %19128
  br label %19130

19130:                                            ; preds = %19129, %19072
  br label %19131

19131:                                            ; preds = %19130
  br label %19132

19132:                                            ; preds = %19131
  br label %19133

19133:                                            ; preds = %19132
  %19134 = load i32, ptr @test_count, align 4, !tbaa !5
  %19135 = add nsw i32 %19134, 1
  store i32 %19135, ptr @test_count, align 4, !tbaa !5
  %19136 = load ptr, ptr %376, align 8, !tbaa !9
  %19137 = load ptr, ptr %375, align 8, !tbaa !9
  %19138 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %19136, ptr noundef %19137)
  %19139 = icmp eq i32 %19138, -1
  br i1 %19139, label %19140, label %19193

19140:                                            ; preds = %19133
  br label %19141

19141:                                            ; preds = %19140
  br label %19142

19142:                                            ; preds = %19141
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #10
  %19143 = call ptr @__errno_location() #11
  %19144 = load i32, ptr %19143, align 4, !tbaa !5
  store i32 %19144, ptr %396, align 4, !tbaa !5
  %19145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19146 = call i32 @s2n_print_stacktrace(ptr noundef %19145)
  %19147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19148 = trunc i8 %19147 to i1
  br i1 %19148, label %19149, label %19171

19149:                                            ; preds = %19142
  %19150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19151 = call i32 @fileno(ptr noundef %19150) #10
  %19152 = call i32 @isatty(i32 noundef %19151) #10
  %19153 = icmp ne i32 %19152, 0
  br i1 %19153, label %19154, label %19171

19154:                                            ; preds = %19149
  %19155 = load i32, ptr %396, align 4, !tbaa !5
  %19156 = call ptr @__errno_location() #11
  store i32 %19155, ptr %19156, align 4, !tbaa !5
  %19157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19158 = load i32, ptr @test_count, align 4, !tbaa !5
  %19159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19160 = load i32, ptr %19159, align 4, !tbaa !5
  %19161 = call ptr @s2n_strerror(i32 noundef %19160, ptr noundef @.str.4)
  %19162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19163 = load i32, ptr %19162, align 4, !tbaa !5
  %19164 = call ptr @s2n_strerror_debug(i32 noundef %19163, ptr noundef @.str.4)
  %19165 = call ptr @__errno_location() #11
  %19166 = load i32, ptr %19165, align 4, !tbaa !5
  %19167 = call ptr @strerror(i32 noundef %19166) #10
  %19168 = call ptr @__errno_location() #11
  %19169 = load i32, ptr %19168, align 4, !tbaa !5
  %19170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19157, ptr noundef @.str.2, i32 noundef %19158, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %19161, ptr noundef %19164, ptr noundef %19167, i32 noundef %19169) #10
  br label %19188

19171:                                            ; preds = %19149, %19142
  %19172 = load i32, ptr %396, align 4, !tbaa !5
  %19173 = call ptr @__errno_location() #11
  store i32 %19172, ptr %19173, align 4, !tbaa !5
  %19174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19175 = load i32, ptr @test_count, align 4, !tbaa !5
  %19176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19177 = load i32, ptr %19176, align 4, !tbaa !5
  %19178 = call ptr @s2n_strerror(i32 noundef %19177, ptr noundef @.str.4)
  %19179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19180 = load i32, ptr %19179, align 4, !tbaa !5
  %19181 = call ptr @s2n_strerror_debug(i32 noundef %19180, ptr noundef @.str.4)
  %19182 = call ptr @__errno_location() #11
  %19183 = load i32, ptr %19182, align 4, !tbaa !5
  %19184 = call ptr @strerror(i32 noundef %19183) #10
  %19185 = call ptr @__errno_location() #11
  %19186 = load i32, ptr %19185, align 4, !tbaa !5
  %19187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19174, ptr noundef @.str.5, i32 noundef %19175, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %19178, ptr noundef %19181, ptr noundef %19184, i32 noundef %19186) #10
  br label %19188

19188:                                            ; preds = %19171, %19154
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #10
  br label %19189

19189:                                            ; preds = %19188
  br label %19190

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

19191:                                            ; No predecessors!
  br label %19192

19192:                                            ; preds = %19191
  br label %19193

19193:                                            ; preds = %19192, %19133
  br label %19194

19194:                                            ; preds = %19193
  br label %19195

19195:                                            ; preds = %19194
  br label %19196

19196:                                            ; preds = %19195
  %19197 = load i32, ptr @test_count, align 4, !tbaa !5
  %19198 = add nsw i32 %19197, 1
  store i32 %19198, ptr @test_count, align 4, !tbaa !5
  %19199 = load ptr, ptr %376, align 8, !tbaa !9
  %19200 = call i32 @s2n_connection_free(ptr noundef %19199)
  %19201 = icmp eq i32 %19200, -1
  br i1 %19201, label %19202, label %19255

19202:                                            ; preds = %19196
  br label %19203

19203:                                            ; preds = %19202
  br label %19204

19204:                                            ; preds = %19203
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #10
  %19205 = call ptr @__errno_location() #11
  %19206 = load i32, ptr %19205, align 4, !tbaa !5
  store i32 %19206, ptr %397, align 4, !tbaa !5
  %19207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19208 = call i32 @s2n_print_stacktrace(ptr noundef %19207)
  %19209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19210 = trunc i8 %19209 to i1
  br i1 %19210, label %19211, label %19233

19211:                                            ; preds = %19204
  %19212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19213 = call i32 @fileno(ptr noundef %19212) #10
  %19214 = call i32 @isatty(i32 noundef %19213) #10
  %19215 = icmp ne i32 %19214, 0
  br i1 %19215, label %19216, label %19233

19216:                                            ; preds = %19211
  %19217 = load i32, ptr %397, align 4, !tbaa !5
  %19218 = call ptr @__errno_location() #11
  store i32 %19217, ptr %19218, align 4, !tbaa !5
  %19219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19220 = load i32, ptr @test_count, align 4, !tbaa !5
  %19221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19222 = load i32, ptr %19221, align 4, !tbaa !5
  %19223 = call ptr @s2n_strerror(i32 noundef %19222, ptr noundef @.str.4)
  %19224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19225 = load i32, ptr %19224, align 4, !tbaa !5
  %19226 = call ptr @s2n_strerror_debug(i32 noundef %19225, ptr noundef @.str.4)
  %19227 = call ptr @__errno_location() #11
  %19228 = load i32, ptr %19227, align 4, !tbaa !5
  %19229 = call ptr @strerror(i32 noundef %19228) #10
  %19230 = call ptr @__errno_location() #11
  %19231 = load i32, ptr %19230, align 4, !tbaa !5
  %19232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19219, ptr noundef @.str.2, i32 noundef %19220, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1058, ptr noundef %19223, ptr noundef %19226, ptr noundef %19229, i32 noundef %19231) #10
  br label %19250

19233:                                            ; preds = %19211, %19204
  %19234 = load i32, ptr %397, align 4, !tbaa !5
  %19235 = call ptr @__errno_location() #11
  store i32 %19234, ptr %19235, align 4, !tbaa !5
  %19236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19237 = load i32, ptr @test_count, align 4, !tbaa !5
  %19238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19239 = load i32, ptr %19238, align 4, !tbaa !5
  %19240 = call ptr @s2n_strerror(i32 noundef %19239, ptr noundef @.str.4)
  %19241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19242 = load i32, ptr %19241, align 4, !tbaa !5
  %19243 = call ptr @s2n_strerror_debug(i32 noundef %19242, ptr noundef @.str.4)
  %19244 = call ptr @__errno_location() #11
  %19245 = load i32, ptr %19244, align 4, !tbaa !5
  %19246 = call ptr @strerror(i32 noundef %19245) #10
  %19247 = call ptr @__errno_location() #11
  %19248 = load i32, ptr %19247, align 4, !tbaa !5
  %19249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19236, ptr noundef @.str.5, i32 noundef %19237, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1058, ptr noundef %19240, ptr noundef %19243, ptr noundef %19246, i32 noundef %19248) #10
  br label %19250

19250:                                            ; preds = %19233, %19216
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #10
  br label %19251

19251:                                            ; preds = %19250
  br label %19252

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

19253:                                            ; No predecessors!
  br label %19254

19254:                                            ; preds = %19253
  br label %19255

19255:                                            ; preds = %19254, %19196
  br label %19256

19256:                                            ; preds = %19255
  br label %19257

19257:                                            ; preds = %19256
  br label %19258

19258:                                            ; preds = %19257
  %19259 = load i32, ptr @test_count, align 4, !tbaa !5
  %19260 = add nsw i32 %19259, 1
  store i32 %19260, ptr @test_count, align 4, !tbaa !5
  %19261 = load ptr, ptr %375, align 8, !tbaa !9
  %19262 = call i32 @s2n_connection_free(ptr noundef %19261)
  %19263 = icmp eq i32 %19262, -1
  br i1 %19263, label %19264, label %19317

19264:                                            ; preds = %19258
  br label %19265

19265:                                            ; preds = %19264
  br label %19266

19266:                                            ; preds = %19265
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #10
  %19267 = call ptr @__errno_location() #11
  %19268 = load i32, ptr %19267, align 4, !tbaa !5
  store i32 %19268, ptr %398, align 4, !tbaa !5
  %19269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19270 = call i32 @s2n_print_stacktrace(ptr noundef %19269)
  %19271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19272 = trunc i8 %19271 to i1
  br i1 %19272, label %19273, label %19295

19273:                                            ; preds = %19266
  %19274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19275 = call i32 @fileno(ptr noundef %19274) #10
  %19276 = call i32 @isatty(i32 noundef %19275) #10
  %19277 = icmp ne i32 %19276, 0
  br i1 %19277, label %19278, label %19295

19278:                                            ; preds = %19273
  %19279 = load i32, ptr %398, align 4, !tbaa !5
  %19280 = call ptr @__errno_location() #11
  store i32 %19279, ptr %19280, align 4, !tbaa !5
  %19281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19282 = load i32, ptr @test_count, align 4, !tbaa !5
  %19283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19284 = load i32, ptr %19283, align 4, !tbaa !5
  %19285 = call ptr @s2n_strerror(i32 noundef %19284, ptr noundef @.str.4)
  %19286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19287 = load i32, ptr %19286, align 4, !tbaa !5
  %19288 = call ptr @s2n_strerror_debug(i32 noundef %19287, ptr noundef @.str.4)
  %19289 = call ptr @__errno_location() #11
  %19290 = load i32, ptr %19289, align 4, !tbaa !5
  %19291 = call ptr @strerror(i32 noundef %19290) #10
  %19292 = call ptr @__errno_location() #11
  %19293 = load i32, ptr %19292, align 4, !tbaa !5
  %19294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19281, ptr noundef @.str.2, i32 noundef %19282, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1059, ptr noundef %19285, ptr noundef %19288, ptr noundef %19291, i32 noundef %19293) #10
  br label %19312

19295:                                            ; preds = %19273, %19266
  %19296 = load i32, ptr %398, align 4, !tbaa !5
  %19297 = call ptr @__errno_location() #11
  store i32 %19296, ptr %19297, align 4, !tbaa !5
  %19298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19299 = load i32, ptr @test_count, align 4, !tbaa !5
  %19300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19301 = load i32, ptr %19300, align 4, !tbaa !5
  %19302 = call ptr @s2n_strerror(i32 noundef %19301, ptr noundef @.str.4)
  %19303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19304 = load i32, ptr %19303, align 4, !tbaa !5
  %19305 = call ptr @s2n_strerror_debug(i32 noundef %19304, ptr noundef @.str.4)
  %19306 = call ptr @__errno_location() #11
  %19307 = load i32, ptr %19306, align 4, !tbaa !5
  %19308 = call ptr @strerror(i32 noundef %19307) #10
  %19309 = call ptr @__errno_location() #11
  %19310 = load i32, ptr %19309, align 4, !tbaa !5
  %19311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19298, ptr noundef @.str.5, i32 noundef %19299, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1059, ptr noundef %19302, ptr noundef %19305, ptr noundef %19308, i32 noundef %19310) #10
  br label %19312

19312:                                            ; preds = %19295, %19278
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #10
  br label %19313

19313:                                            ; preds = %19312
  br label %19314

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

19315:                                            ; No predecessors!
  br label %19316

19316:                                            ; preds = %19315
  br label %19317

19317:                                            ; preds = %19316, %19258
  br label %19318

19318:                                            ; preds = %19317
  br label %19319

19319:                                            ; preds = %19318
  br label %19320

19320:                                            ; preds = %19319
  %19321 = load i32, ptr @test_count, align 4, !tbaa !5
  %19322 = add nsw i32 %19321, 1
  store i32 %19322, ptr @test_count, align 4, !tbaa !5
  %19323 = load ptr, ptr %379, align 8, !tbaa !9
  %19324 = call i32 @s2n_config_free(ptr noundef %19323)
  %19325 = icmp eq i32 %19324, -1
  br i1 %19325, label %19326, label %19379

19326:                                            ; preds = %19320
  br label %19327

19327:                                            ; preds = %19326
  br label %19328

19328:                                            ; preds = %19327
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #10
  %19329 = call ptr @__errno_location() #11
  %19330 = load i32, ptr %19329, align 4, !tbaa !5
  store i32 %19330, ptr %399, align 4, !tbaa !5
  %19331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19332 = call i32 @s2n_print_stacktrace(ptr noundef %19331)
  %19333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19334 = trunc i8 %19333 to i1
  br i1 %19334, label %19335, label %19357

19335:                                            ; preds = %19328
  %19336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19337 = call i32 @fileno(ptr noundef %19336) #10
  %19338 = call i32 @isatty(i32 noundef %19337) #10
  %19339 = icmp ne i32 %19338, 0
  br i1 %19339, label %19340, label %19357

19340:                                            ; preds = %19335
  %19341 = load i32, ptr %399, align 4, !tbaa !5
  %19342 = call ptr @__errno_location() #11
  store i32 %19341, ptr %19342, align 4, !tbaa !5
  %19343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19344 = load i32, ptr @test_count, align 4, !tbaa !5
  %19345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19346 = load i32, ptr %19345, align 4, !tbaa !5
  %19347 = call ptr @s2n_strerror(i32 noundef %19346, ptr noundef @.str.4)
  %19348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19349 = load i32, ptr %19348, align 4, !tbaa !5
  %19350 = call ptr @s2n_strerror_debug(i32 noundef %19349, ptr noundef @.str.4)
  %19351 = call ptr @__errno_location() #11
  %19352 = load i32, ptr %19351, align 4, !tbaa !5
  %19353 = call ptr @strerror(i32 noundef %19352) #10
  %19354 = call ptr @__errno_location() #11
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  %19356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19343, ptr noundef @.str.2, i32 noundef %19344, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1061, ptr noundef %19347, ptr noundef %19350, ptr noundef %19353, i32 noundef %19355) #10
  br label %19374

19357:                                            ; preds = %19335, %19328
  %19358 = load i32, ptr %399, align 4, !tbaa !5
  %19359 = call ptr @__errno_location() #11
  store i32 %19358, ptr %19359, align 4, !tbaa !5
  %19360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19361 = load i32, ptr @test_count, align 4, !tbaa !5
  %19362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19363 = load i32, ptr %19362, align 4, !tbaa !5
  %19364 = call ptr @s2n_strerror(i32 noundef %19363, ptr noundef @.str.4)
  %19365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19366 = load i32, ptr %19365, align 4, !tbaa !5
  %19367 = call ptr @s2n_strerror_debug(i32 noundef %19366, ptr noundef @.str.4)
  %19368 = call ptr @__errno_location() #11
  %19369 = load i32, ptr %19368, align 4, !tbaa !5
  %19370 = call ptr @strerror(i32 noundef %19369) #10
  %19371 = call ptr @__errno_location() #11
  %19372 = load i32, ptr %19371, align 4, !tbaa !5
  %19373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19360, ptr noundef @.str.5, i32 noundef %19361, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1061, ptr noundef %19364, ptr noundef %19367, ptr noundef %19370, i32 noundef %19372) #10
  br label %19374

19374:                                            ; preds = %19357, %19340
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #10
  br label %19375

19375:                                            ; preds = %19374
  br label %19376

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

19377:                                            ; No predecessors!
  br label %19378

19378:                                            ; preds = %19377
  br label %19379

19379:                                            ; preds = %19378, %19320
  br label %19380

19380:                                            ; preds = %19379
  br label %19381

19381:                                            ; preds = %19380
  br label %19382

19382:                                            ; preds = %19381
  %19383 = load i32, ptr @test_count, align 4, !tbaa !5
  %19384 = add nsw i32 %19383, 1
  store i32 %19384, ptr @test_count, align 4, !tbaa !5
  %19385 = load ptr, ptr %377, align 8, !tbaa !9
  %19386 = call i32 @s2n_config_free(ptr noundef %19385)
  %19387 = icmp eq i32 %19386, -1
  br i1 %19387, label %19388, label %19441

19388:                                            ; preds = %19382
  br label %19389

19389:                                            ; preds = %19388
  br label %19390

19390:                                            ; preds = %19389
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #10
  %19391 = call ptr @__errno_location() #11
  %19392 = load i32, ptr %19391, align 4, !tbaa !5
  store i32 %19392, ptr %400, align 4, !tbaa !5
  %19393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19394 = call i32 @s2n_print_stacktrace(ptr noundef %19393)
  %19395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19396 = trunc i8 %19395 to i1
  br i1 %19396, label %19397, label %19419

19397:                                            ; preds = %19390
  %19398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19399 = call i32 @fileno(ptr noundef %19398) #10
  %19400 = call i32 @isatty(i32 noundef %19399) #10
  %19401 = icmp ne i32 %19400, 0
  br i1 %19401, label %19402, label %19419

19402:                                            ; preds = %19397
  %19403 = load i32, ptr %400, align 4, !tbaa !5
  %19404 = call ptr @__errno_location() #11
  store i32 %19403, ptr %19404, align 4, !tbaa !5
  %19405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19406 = load i32, ptr @test_count, align 4, !tbaa !5
  %19407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19408 = load i32, ptr %19407, align 4, !tbaa !5
  %19409 = call ptr @s2n_strerror(i32 noundef %19408, ptr noundef @.str.4)
  %19410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19411 = load i32, ptr %19410, align 4, !tbaa !5
  %19412 = call ptr @s2n_strerror_debug(i32 noundef %19411, ptr noundef @.str.4)
  %19413 = call ptr @__errno_location() #11
  %19414 = load i32, ptr %19413, align 4, !tbaa !5
  %19415 = call ptr @strerror(i32 noundef %19414) #10
  %19416 = call ptr @__errno_location() #11
  %19417 = load i32, ptr %19416, align 4, !tbaa !5
  %19418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19405, ptr noundef @.str.2, i32 noundef %19406, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1062, ptr noundef %19409, ptr noundef %19412, ptr noundef %19415, i32 noundef %19417) #10
  br label %19436

19419:                                            ; preds = %19397, %19390
  %19420 = load i32, ptr %400, align 4, !tbaa !5
  %19421 = call ptr @__errno_location() #11
  store i32 %19420, ptr %19421, align 4, !tbaa !5
  %19422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19423 = load i32, ptr @test_count, align 4, !tbaa !5
  %19424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19425 = load i32, ptr %19424, align 4, !tbaa !5
  %19426 = call ptr @s2n_strerror(i32 noundef %19425, ptr noundef @.str.4)
  %19427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19428 = load i32, ptr %19427, align 4, !tbaa !5
  %19429 = call ptr @s2n_strerror_debug(i32 noundef %19428, ptr noundef @.str.4)
  %19430 = call ptr @__errno_location() #11
  %19431 = load i32, ptr %19430, align 4, !tbaa !5
  %19432 = call ptr @strerror(i32 noundef %19431) #10
  %19433 = call ptr @__errno_location() #11
  %19434 = load i32, ptr %19433, align 4, !tbaa !5
  %19435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19422, ptr noundef @.str.5, i32 noundef %19423, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1062, ptr noundef %19426, ptr noundef %19429, ptr noundef %19432, i32 noundef %19434) #10
  br label %19436

19436:                                            ; preds = %19419, %19402
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #10
  br label %19437

19437:                                            ; preds = %19436
  br label %19438

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

19439:                                            ; No predecessors!
  br label %19440

19440:                                            ; preds = %19439
  br label %19441

19441:                                            ; preds = %19440, %19382
  br label %19442

19442:                                            ; preds = %19441
  br label %19443

19443:                                            ; preds = %19442
  call void @llvm.lifetime.end.p0(i64 8, ptr %379) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %377) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %375) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %401) #10
  store ptr null, ptr %401, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %402) #10
  store ptr null, ptr %402, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %403) #10
  store ptr null, ptr %403, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %404) #10
  store ptr null, ptr %404, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #10
  store i32 0, ptr %405, align 4, !tbaa !5
  br label %19444

19444:                                            ; preds = %19443
  %19445 = load i32, ptr @test_count, align 4, !tbaa !5
  %19446 = add nsw i32 %19445, 1
  store i32 %19446, ptr @test_count, align 4, !tbaa !5
  %19447 = call ptr @s2n_config_new()
  store ptr %19447, ptr %403, align 8, !tbaa !9
  %19448 = icmp eq ptr %19447, null
  br i1 %19448, label %19449, label %19502

19449:                                            ; preds = %19444
  br label %19450

19450:                                            ; preds = %19449
  br label %19451

19451:                                            ; preds = %19450
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #10
  %19452 = call ptr @__errno_location() #11
  %19453 = load i32, ptr %19452, align 4, !tbaa !5
  store i32 %19453, ptr %406, align 4, !tbaa !5
  %19454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19455 = call i32 @s2n_print_stacktrace(ptr noundef %19454)
  %19456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19457 = trunc i8 %19456 to i1
  br i1 %19457, label %19458, label %19480

19458:                                            ; preds = %19451
  %19459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19460 = call i32 @fileno(ptr noundef %19459) #10
  %19461 = call i32 @isatty(i32 noundef %19460) #10
  %19462 = icmp ne i32 %19461, 0
  br i1 %19462, label %19463, label %19480

19463:                                            ; preds = %19458
  %19464 = load i32, ptr %406, align 4, !tbaa !5
  %19465 = call ptr @__errno_location() #11
  store i32 %19464, ptr %19465, align 4, !tbaa !5
  %19466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19467 = load i32, ptr @test_count, align 4, !tbaa !5
  %19468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19469 = load i32, ptr %19468, align 4, !tbaa !5
  %19470 = call ptr @s2n_strerror(i32 noundef %19469, ptr noundef @.str.4)
  %19471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19472 = load i32, ptr %19471, align 4, !tbaa !5
  %19473 = call ptr @s2n_strerror_debug(i32 noundef %19472, ptr noundef @.str.4)
  %19474 = call ptr @__errno_location() #11
  %19475 = load i32, ptr %19474, align 4, !tbaa !5
  %19476 = call ptr @strerror(i32 noundef %19475) #10
  %19477 = call ptr @__errno_location() #11
  %19478 = load i32, ptr %19477, align 4, !tbaa !5
  %19479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19466, ptr noundef @.str.2, i32 noundef %19467, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1074, ptr noundef %19470, ptr noundef %19473, ptr noundef %19476, i32 noundef %19478) #10
  br label %19497

19480:                                            ; preds = %19458, %19451
  %19481 = load i32, ptr %406, align 4, !tbaa !5
  %19482 = call ptr @__errno_location() #11
  store i32 %19481, ptr %19482, align 4, !tbaa !5
  %19483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19484 = load i32, ptr @test_count, align 4, !tbaa !5
  %19485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19486 = load i32, ptr %19485, align 4, !tbaa !5
  %19487 = call ptr @s2n_strerror(i32 noundef %19486, ptr noundef @.str.4)
  %19488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19489 = load i32, ptr %19488, align 4, !tbaa !5
  %19490 = call ptr @s2n_strerror_debug(i32 noundef %19489, ptr noundef @.str.4)
  %19491 = call ptr @__errno_location() #11
  %19492 = load i32, ptr %19491, align 4, !tbaa !5
  %19493 = call ptr @strerror(i32 noundef %19492) #10
  %19494 = call ptr @__errno_location() #11
  %19495 = load i32, ptr %19494, align 4, !tbaa !5
  %19496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19483, ptr noundef @.str.5, i32 noundef %19484, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1074, ptr noundef %19487, ptr noundef %19490, ptr noundef %19493, i32 noundef %19495) #10
  br label %19497

19497:                                            ; preds = %19480, %19463
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #10
  br label %19498

19498:                                            ; preds = %19497
  br label %19499

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

19500:                                            ; No predecessors!
  br label %19501

19501:                                            ; preds = %19500
  br label %19502

19502:                                            ; preds = %19501, %19444
  br label %19503

19503:                                            ; preds = %19502
  br label %19504

19504:                                            ; preds = %19503
  br label %19505

19505:                                            ; preds = %19504
  %19506 = load i32, ptr @test_count, align 4, !tbaa !5
  %19507 = add nsw i32 %19506, 1
  store i32 %19507, ptr @test_count, align 4, !tbaa !5
  %19508 = load ptr, ptr %403, align 8, !tbaa !9
  %19509 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %19508, i8 noundef zeroext 0)
  %19510 = icmp eq i32 %19509, -1
  br i1 %19510, label %19511, label %19564

19511:                                            ; preds = %19505
  br label %19512

19512:                                            ; preds = %19511
  br label %19513

19513:                                            ; preds = %19512
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #10
  %19514 = call ptr @__errno_location() #11
  %19515 = load i32, ptr %19514, align 4, !tbaa !5
  store i32 %19515, ptr %407, align 4, !tbaa !5
  %19516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19517 = call i32 @s2n_print_stacktrace(ptr noundef %19516)
  %19518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19519 = trunc i8 %19518 to i1
  br i1 %19519, label %19520, label %19542

19520:                                            ; preds = %19513
  %19521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19522 = call i32 @fileno(ptr noundef %19521) #10
  %19523 = call i32 @isatty(i32 noundef %19522) #10
  %19524 = icmp ne i32 %19523, 0
  br i1 %19524, label %19525, label %19542

19525:                                            ; preds = %19520
  %19526 = load i32, ptr %407, align 4, !tbaa !5
  %19527 = call ptr @__errno_location() #11
  store i32 %19526, ptr %19527, align 4, !tbaa !5
  %19528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19529 = load i32, ptr @test_count, align 4, !tbaa !5
  %19530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19531 = load i32, ptr %19530, align 4, !tbaa !5
  %19532 = call ptr @s2n_strerror(i32 noundef %19531, ptr noundef @.str.4)
  %19533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19534 = load i32, ptr %19533, align 4, !tbaa !5
  %19535 = call ptr @s2n_strerror_debug(i32 noundef %19534, ptr noundef @.str.4)
  %19536 = call ptr @__errno_location() #11
  %19537 = load i32, ptr %19536, align 4, !tbaa !5
  %19538 = call ptr @strerror(i32 noundef %19537) #10
  %19539 = call ptr @__errno_location() #11
  %19540 = load i32, ptr %19539, align 4, !tbaa !5
  %19541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19528, ptr noundef @.str.2, i32 noundef %19529, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1075, ptr noundef %19532, ptr noundef %19535, ptr noundef %19538, i32 noundef %19540) #10
  br label %19559

19542:                                            ; preds = %19520, %19513
  %19543 = load i32, ptr %407, align 4, !tbaa !5
  %19544 = call ptr @__errno_location() #11
  store i32 %19543, ptr %19544, align 4, !tbaa !5
  %19545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19546 = load i32, ptr @test_count, align 4, !tbaa !5
  %19547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19548 = load i32, ptr %19547, align 4, !tbaa !5
  %19549 = call ptr @s2n_strerror(i32 noundef %19548, ptr noundef @.str.4)
  %19550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19551 = load i32, ptr %19550, align 4, !tbaa !5
  %19552 = call ptr @s2n_strerror_debug(i32 noundef %19551, ptr noundef @.str.4)
  %19553 = call ptr @__errno_location() #11
  %19554 = load i32, ptr %19553, align 4, !tbaa !5
  %19555 = call ptr @strerror(i32 noundef %19554) #10
  %19556 = call ptr @__errno_location() #11
  %19557 = load i32, ptr %19556, align 4, !tbaa !5
  %19558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19545, ptr noundef @.str.5, i32 noundef %19546, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1075, ptr noundef %19549, ptr noundef %19552, ptr noundef %19555, i32 noundef %19557) #10
  br label %19559

19559:                                            ; preds = %19542, %19525
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #10
  br label %19560

19560:                                            ; preds = %19559
  br label %19561

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

19562:                                            ; No predecessors!
  br label %19563

19563:                                            ; preds = %19562
  br label %19564

19564:                                            ; preds = %19563, %19505
  br label %19565

19565:                                            ; preds = %19564
  br label %19566

19566:                                            ; preds = %19565
  br label %19567

19567:                                            ; preds = %19566
  %19568 = load i32, ptr @test_count, align 4, !tbaa !5
  %19569 = add nsw i32 %19568, 1
  store i32 %19569, ptr @test_count, align 4, !tbaa !5
  %19570 = load ptr, ptr %403, align 8, !tbaa !9
  %19571 = call i32 @s2n_config_disable_x509_verification(ptr noundef %19570)
  %19572 = icmp eq i32 %19571, -1
  br i1 %19572, label %19573, label %19626

19573:                                            ; preds = %19567
  br label %19574

19574:                                            ; preds = %19573
  br label %19575

19575:                                            ; preds = %19574
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #10
  %19576 = call ptr @__errno_location() #11
  %19577 = load i32, ptr %19576, align 4, !tbaa !5
  store i32 %19577, ptr %408, align 4, !tbaa !5
  %19578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19579 = call i32 @s2n_print_stacktrace(ptr noundef %19578)
  %19580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19581 = trunc i8 %19580 to i1
  br i1 %19581, label %19582, label %19604

19582:                                            ; preds = %19575
  %19583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19584 = call i32 @fileno(ptr noundef %19583) #10
  %19585 = call i32 @isatty(i32 noundef %19584) #10
  %19586 = icmp ne i32 %19585, 0
  br i1 %19586, label %19587, label %19604

19587:                                            ; preds = %19582
  %19588 = load i32, ptr %408, align 4, !tbaa !5
  %19589 = call ptr @__errno_location() #11
  store i32 %19588, ptr %19589, align 4, !tbaa !5
  %19590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19591 = load i32, ptr @test_count, align 4, !tbaa !5
  %19592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19593 = load i32, ptr %19592, align 4, !tbaa !5
  %19594 = call ptr @s2n_strerror(i32 noundef %19593, ptr noundef @.str.4)
  %19595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19596 = load i32, ptr %19595, align 4, !tbaa !5
  %19597 = call ptr @s2n_strerror_debug(i32 noundef %19596, ptr noundef @.str.4)
  %19598 = call ptr @__errno_location() #11
  %19599 = load i32, ptr %19598, align 4, !tbaa !5
  %19600 = call ptr @strerror(i32 noundef %19599) #10
  %19601 = call ptr @__errno_location() #11
  %19602 = load i32, ptr %19601, align 4, !tbaa !5
  %19603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19590, ptr noundef @.str.2, i32 noundef %19591, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1076, ptr noundef %19594, ptr noundef %19597, ptr noundef %19600, i32 noundef %19602) #10
  br label %19621

19604:                                            ; preds = %19582, %19575
  %19605 = load i32, ptr %408, align 4, !tbaa !5
  %19606 = call ptr @__errno_location() #11
  store i32 %19605, ptr %19606, align 4, !tbaa !5
  %19607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19608 = load i32, ptr @test_count, align 4, !tbaa !5
  %19609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19610 = load i32, ptr %19609, align 4, !tbaa !5
  %19611 = call ptr @s2n_strerror(i32 noundef %19610, ptr noundef @.str.4)
  %19612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19613 = load i32, ptr %19612, align 4, !tbaa !5
  %19614 = call ptr @s2n_strerror_debug(i32 noundef %19613, ptr noundef @.str.4)
  %19615 = call ptr @__errno_location() #11
  %19616 = load i32, ptr %19615, align 4, !tbaa !5
  %19617 = call ptr @strerror(i32 noundef %19616) #10
  %19618 = call ptr @__errno_location() #11
  %19619 = load i32, ptr %19618, align 4, !tbaa !5
  %19620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19607, ptr noundef @.str.5, i32 noundef %19608, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1076, ptr noundef %19611, ptr noundef %19614, ptr noundef %19617, i32 noundef %19619) #10
  br label %19621

19621:                                            ; preds = %19604, %19587
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #10
  br label %19622

19622:                                            ; preds = %19621
  br label %19623

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

19624:                                            ; No predecessors!
  br label %19625

19625:                                            ; preds = %19624
  br label %19626

19626:                                            ; preds = %19625, %19567
  br label %19627

19627:                                            ; preds = %19626
  br label %19628

19628:                                            ; preds = %19627
  br label %19629

19629:                                            ; preds = %19628
  %19630 = load i32, ptr @test_count, align 4, !tbaa !5
  %19631 = add nsw i32 %19630, 1
  store i32 %19631, ptr @test_count, align 4, !tbaa !5
  %19632 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19632, ptr %401, align 8, !tbaa !9
  %19633 = icmp eq ptr %19632, null
  br i1 %19633, label %19634, label %19687

19634:                                            ; preds = %19629
  br label %19635

19635:                                            ; preds = %19634
  br label %19636

19636:                                            ; preds = %19635
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #10
  %19637 = call ptr @__errno_location() #11
  %19638 = load i32, ptr %19637, align 4, !tbaa !5
  store i32 %19638, ptr %409, align 4, !tbaa !5
  %19639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19640 = call i32 @s2n_print_stacktrace(ptr noundef %19639)
  %19641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19642 = trunc i8 %19641 to i1
  br i1 %19642, label %19643, label %19665

19643:                                            ; preds = %19636
  %19644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19645 = call i32 @fileno(ptr noundef %19644) #10
  %19646 = call i32 @isatty(i32 noundef %19645) #10
  %19647 = icmp ne i32 %19646, 0
  br i1 %19647, label %19648, label %19665

19648:                                            ; preds = %19643
  %19649 = load i32, ptr %409, align 4, !tbaa !5
  %19650 = call ptr @__errno_location() #11
  store i32 %19649, ptr %19650, align 4, !tbaa !5
  %19651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19652 = load i32, ptr @test_count, align 4, !tbaa !5
  %19653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19654 = load i32, ptr %19653, align 4, !tbaa !5
  %19655 = call ptr @s2n_strerror(i32 noundef %19654, ptr noundef @.str.4)
  %19656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19657 = load i32, ptr %19656, align 4, !tbaa !5
  %19658 = call ptr @s2n_strerror_debug(i32 noundef %19657, ptr noundef @.str.4)
  %19659 = call ptr @__errno_location() #11
  %19660 = load i32, ptr %19659, align 4, !tbaa !5
  %19661 = call ptr @strerror(i32 noundef %19660) #10
  %19662 = call ptr @__errno_location() #11
  %19663 = load i32, ptr %19662, align 4, !tbaa !5
  %19664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19651, ptr noundef @.str.2, i32 noundef %19652, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1077, ptr noundef %19655, ptr noundef %19658, ptr noundef %19661, i32 noundef %19663) #10
  br label %19682

19665:                                            ; preds = %19643, %19636
  %19666 = load i32, ptr %409, align 4, !tbaa !5
  %19667 = call ptr @__errno_location() #11
  store i32 %19666, ptr %19667, align 4, !tbaa !5
  %19668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19669 = load i32, ptr @test_count, align 4, !tbaa !5
  %19670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19671 = load i32, ptr %19670, align 4, !tbaa !5
  %19672 = call ptr @s2n_strerror(i32 noundef %19671, ptr noundef @.str.4)
  %19673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19674 = load i32, ptr %19673, align 4, !tbaa !5
  %19675 = call ptr @s2n_strerror_debug(i32 noundef %19674, ptr noundef @.str.4)
  %19676 = call ptr @__errno_location() #11
  %19677 = load i32, ptr %19676, align 4, !tbaa !5
  %19678 = call ptr @strerror(i32 noundef %19677) #10
  %19679 = call ptr @__errno_location() #11
  %19680 = load i32, ptr %19679, align 4, !tbaa !5
  %19681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19668, ptr noundef @.str.5, i32 noundef %19669, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1077, ptr noundef %19672, ptr noundef %19675, ptr noundef %19678, i32 noundef %19680) #10
  br label %19682

19682:                                            ; preds = %19665, %19648
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #10
  br label %19683

19683:                                            ; preds = %19682
  br label %19684

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

19685:                                            ; No predecessors!
  br label %19686

19686:                                            ; preds = %19685
  br label %19687

19687:                                            ; preds = %19686, %19629
  br label %19688

19688:                                            ; preds = %19687
  br label %19689

19689:                                            ; preds = %19688
  br label %19690

19690:                                            ; preds = %19689
  %19691 = load i32, ptr @test_count, align 4, !tbaa !5
  %19692 = add nsw i32 %19691, 1
  store i32 %19692, ptr @test_count, align 4, !tbaa !5
  %19693 = load ptr, ptr %401, align 8, !tbaa !9
  %19694 = load ptr, ptr %403, align 8, !tbaa !9
  %19695 = call i32 @s2n_connection_set_config(ptr noundef %19693, ptr noundef %19694)
  %19696 = icmp eq i32 %19695, -1
  br i1 %19696, label %19697, label %19750

19697:                                            ; preds = %19690
  br label %19698

19698:                                            ; preds = %19697
  br label %19699

19699:                                            ; preds = %19698
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #10
  %19700 = call ptr @__errno_location() #11
  %19701 = load i32, ptr %19700, align 4, !tbaa !5
  store i32 %19701, ptr %410, align 4, !tbaa !5
  %19702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19703 = call i32 @s2n_print_stacktrace(ptr noundef %19702)
  %19704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19705 = trunc i8 %19704 to i1
  br i1 %19705, label %19706, label %19728

19706:                                            ; preds = %19699
  %19707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19708 = call i32 @fileno(ptr noundef %19707) #10
  %19709 = call i32 @isatty(i32 noundef %19708) #10
  %19710 = icmp ne i32 %19709, 0
  br i1 %19710, label %19711, label %19728

19711:                                            ; preds = %19706
  %19712 = load i32, ptr %410, align 4, !tbaa !5
  %19713 = call ptr @__errno_location() #11
  store i32 %19712, ptr %19713, align 4, !tbaa !5
  %19714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19715 = load i32, ptr @test_count, align 4, !tbaa !5
  %19716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19717 = load i32, ptr %19716, align 4, !tbaa !5
  %19718 = call ptr @s2n_strerror(i32 noundef %19717, ptr noundef @.str.4)
  %19719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19720 = load i32, ptr %19719, align 4, !tbaa !5
  %19721 = call ptr @s2n_strerror_debug(i32 noundef %19720, ptr noundef @.str.4)
  %19722 = call ptr @__errno_location() #11
  %19723 = load i32, ptr %19722, align 4, !tbaa !5
  %19724 = call ptr @strerror(i32 noundef %19723) #10
  %19725 = call ptr @__errno_location() #11
  %19726 = load i32, ptr %19725, align 4, !tbaa !5
  %19727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19714, ptr noundef @.str.2, i32 noundef %19715, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1078, ptr noundef %19718, ptr noundef %19721, ptr noundef %19724, i32 noundef %19726) #10
  br label %19745

19728:                                            ; preds = %19706, %19699
  %19729 = load i32, ptr %410, align 4, !tbaa !5
  %19730 = call ptr @__errno_location() #11
  store i32 %19729, ptr %19730, align 4, !tbaa !5
  %19731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19732 = load i32, ptr @test_count, align 4, !tbaa !5
  %19733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19734 = load i32, ptr %19733, align 4, !tbaa !5
  %19735 = call ptr @s2n_strerror(i32 noundef %19734, ptr noundef @.str.4)
  %19736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19737 = load i32, ptr %19736, align 4, !tbaa !5
  %19738 = call ptr @s2n_strerror_debug(i32 noundef %19737, ptr noundef @.str.4)
  %19739 = call ptr @__errno_location() #11
  %19740 = load i32, ptr %19739, align 4, !tbaa !5
  %19741 = call ptr @strerror(i32 noundef %19740) #10
  %19742 = call ptr @__errno_location() #11
  %19743 = load i32, ptr %19742, align 4, !tbaa !5
  %19744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19731, ptr noundef @.str.5, i32 noundef %19732, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1078, ptr noundef %19735, ptr noundef %19738, ptr noundef %19741, i32 noundef %19743) #10
  br label %19745

19745:                                            ; preds = %19728, %19711
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #10
  br label %19746

19746:                                            ; preds = %19745
  br label %19747

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

19748:                                            ; No predecessors!
  br label %19749

19749:                                            ; preds = %19748
  br label %19750

19750:                                            ; preds = %19749, %19690
  br label %19751

19751:                                            ; preds = %19750
  br label %19752

19752:                                            ; preds = %19751
  %19753 = load ptr, ptr %401, align 8, !tbaa !9
  %19754 = getelementptr inbounds %struct.s2n_connection, ptr %19753, i32 0, i32 23
  store i8 33, ptr %19754, align 4, !tbaa !15
  %19755 = load ptr, ptr %401, align 8, !tbaa !9
  %19756 = getelementptr inbounds %struct.s2n_connection, ptr %19755, i32 0, i32 22
  store i8 33, ptr %19756, align 1, !tbaa !42
  %19757 = load ptr, ptr %401, align 8, !tbaa !9
  %19758 = getelementptr inbounds %struct.s2n_connection, ptr %19757, i32 0, i32 21
  store i8 33, ptr %19758, align 2, !tbaa !43
  br label %19759

19759:                                            ; preds = %19752
  %19760 = load i32, ptr @test_count, align 4, !tbaa !5
  %19761 = add nsw i32 %19760, 1
  store i32 %19761, ptr @test_count, align 4, !tbaa !5
  %19762 = load ptr, ptr %403, align 8, !tbaa !9
  %19763 = call i32 @s2n_config_set_ct_support_level(ptr noundef %19762, i32 noundef 1)
  %19764 = icmp eq i32 %19763, -1
  br i1 %19764, label %19765, label %19818

19765:                                            ; preds = %19759
  br label %19766

19766:                                            ; preds = %19765
  br label %19767

19767:                                            ; preds = %19766
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #10
  %19768 = call ptr @__errno_location() #11
  %19769 = load i32, ptr %19768, align 4, !tbaa !5
  store i32 %19769, ptr %411, align 4, !tbaa !5
  %19770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19771 = call i32 @s2n_print_stacktrace(ptr noundef %19770)
  %19772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19773 = trunc i8 %19772 to i1
  br i1 %19773, label %19774, label %19796

19774:                                            ; preds = %19767
  %19775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19776 = call i32 @fileno(ptr noundef %19775) #10
  %19777 = call i32 @isatty(i32 noundef %19776) #10
  %19778 = icmp ne i32 %19777, 0
  br i1 %19778, label %19779, label %19796

19779:                                            ; preds = %19774
  %19780 = load i32, ptr %411, align 4, !tbaa !5
  %19781 = call ptr @__errno_location() #11
  store i32 %19780, ptr %19781, align 4, !tbaa !5
  %19782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19783 = load i32, ptr @test_count, align 4, !tbaa !5
  %19784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19785 = load i32, ptr %19784, align 4, !tbaa !5
  %19786 = call ptr @s2n_strerror(i32 noundef %19785, ptr noundef @.str.4)
  %19787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19788 = load i32, ptr %19787, align 4, !tbaa !5
  %19789 = call ptr @s2n_strerror_debug(i32 noundef %19788, ptr noundef @.str.4)
  %19790 = call ptr @__errno_location() #11
  %19791 = load i32, ptr %19790, align 4, !tbaa !5
  %19792 = call ptr @strerror(i32 noundef %19791) #10
  %19793 = call ptr @__errno_location() #11
  %19794 = load i32, ptr %19793, align 4, !tbaa !5
  %19795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19782, ptr noundef @.str.2, i32 noundef %19783, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %19786, ptr noundef %19789, ptr noundef %19792, i32 noundef %19794) #10
  br label %19813

19796:                                            ; preds = %19774, %19767
  %19797 = load i32, ptr %411, align 4, !tbaa !5
  %19798 = call ptr @__errno_location() #11
  store i32 %19797, ptr %19798, align 4, !tbaa !5
  %19799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19800 = load i32, ptr @test_count, align 4, !tbaa !5
  %19801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19802 = load i32, ptr %19801, align 4, !tbaa !5
  %19803 = call ptr @s2n_strerror(i32 noundef %19802, ptr noundef @.str.4)
  %19804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19805 = load i32, ptr %19804, align 4, !tbaa !5
  %19806 = call ptr @s2n_strerror_debug(i32 noundef %19805, ptr noundef @.str.4)
  %19807 = call ptr @__errno_location() #11
  %19808 = load i32, ptr %19807, align 4, !tbaa !5
  %19809 = call ptr @strerror(i32 noundef %19808) #10
  %19810 = call ptr @__errno_location() #11
  %19811 = load i32, ptr %19810, align 4, !tbaa !5
  %19812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19799, ptr noundef @.str.5, i32 noundef %19800, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %19803, ptr noundef %19806, ptr noundef %19809, i32 noundef %19811) #10
  br label %19813

19813:                                            ; preds = %19796, %19779
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #10
  br label %19814

19814:                                            ; preds = %19813
  br label %19815

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

19816:                                            ; No predecessors!
  br label %19817

19817:                                            ; preds = %19816
  br label %19818

19818:                                            ; preds = %19817, %19759
  br label %19819

19819:                                            ; preds = %19818
  br label %19820

19820:                                            ; preds = %19819
  br label %19821

19821:                                            ; preds = %19820
  %19822 = load i32, ptr @test_count, align 4, !tbaa !5
  %19823 = add nsw i32 %19822, 1
  store i32 %19823, ptr @test_count, align 4, !tbaa !5
  %19824 = load ptr, ptr %401, align 8, !tbaa !9
  %19825 = load ptr, ptr %403, align 8, !tbaa !9
  %19826 = call i32 @s2n_connection_set_config(ptr noundef %19824, ptr noundef %19825)
  %19827 = icmp eq i32 %19826, -1
  br i1 %19827, label %19828, label %19881

19828:                                            ; preds = %19821
  br label %19829

19829:                                            ; preds = %19828
  br label %19830

19830:                                            ; preds = %19829
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #10
  %19831 = call ptr @__errno_location() #11
  %19832 = load i32, ptr %19831, align 4, !tbaa !5
  store i32 %19832, ptr %412, align 4, !tbaa !5
  %19833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19834 = call i32 @s2n_print_stacktrace(ptr noundef %19833)
  %19835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19836 = trunc i8 %19835 to i1
  br i1 %19836, label %19837, label %19859

19837:                                            ; preds = %19830
  %19838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19839 = call i32 @fileno(ptr noundef %19838) #10
  %19840 = call i32 @isatty(i32 noundef %19839) #10
  %19841 = icmp ne i32 %19840, 0
  br i1 %19841, label %19842, label %19859

19842:                                            ; preds = %19837
  %19843 = load i32, ptr %412, align 4, !tbaa !5
  %19844 = call ptr @__errno_location() #11
  store i32 %19843, ptr %19844, align 4, !tbaa !5
  %19845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19846 = load i32, ptr @test_count, align 4, !tbaa !5
  %19847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call ptr @s2n_strerror(i32 noundef %19848, ptr noundef @.str.4)
  %19850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19851 = load i32, ptr %19850, align 4, !tbaa !5
  %19852 = call ptr @s2n_strerror_debug(i32 noundef %19851, ptr noundef @.str.4)
  %19853 = call ptr @__errno_location() #11
  %19854 = load i32, ptr %19853, align 4, !tbaa !5
  %19855 = call ptr @strerror(i32 noundef %19854) #10
  %19856 = call ptr @__errno_location() #11
  %19857 = load i32, ptr %19856, align 4, !tbaa !5
  %19858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19845, ptr noundef @.str.2, i32 noundef %19846, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %19849, ptr noundef %19852, ptr noundef %19855, i32 noundef %19857) #10
  br label %19876

19859:                                            ; preds = %19837, %19830
  %19860 = load i32, ptr %412, align 4, !tbaa !5
  %19861 = call ptr @__errno_location() #11
  store i32 %19860, ptr %19861, align 4, !tbaa !5
  %19862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19863 = load i32, ptr @test_count, align 4, !tbaa !5
  %19864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19865 = load i32, ptr %19864, align 4, !tbaa !5
  %19866 = call ptr @s2n_strerror(i32 noundef %19865, ptr noundef @.str.4)
  %19867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  %19869 = call ptr @s2n_strerror_debug(i32 noundef %19868, ptr noundef @.str.4)
  %19870 = call ptr @__errno_location() #11
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = call ptr @strerror(i32 noundef %19871) #10
  %19873 = call ptr @__errno_location() #11
  %19874 = load i32, ptr %19873, align 4, !tbaa !5
  %19875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19862, ptr noundef @.str.5, i32 noundef %19863, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %19866, ptr noundef %19869, ptr noundef %19872, i32 noundef %19874) #10
  br label %19876

19876:                                            ; preds = %19859, %19842
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #10
  br label %19877

19877:                                            ; preds = %19876
  br label %19878

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

19879:                                            ; No predecessors!
  br label %19880

19880:                                            ; preds = %19879
  br label %19881

19881:                                            ; preds = %19880, %19821
  br label %19882

19882:                                            ; preds = %19881
  br label %19883

19883:                                            ; preds = %19882
  br label %19884

19884:                                            ; preds = %19883
  %19885 = load i32, ptr @test_count, align 4, !tbaa !5
  %19886 = add nsw i32 %19885, 1
  store i32 %19886, ptr @test_count, align 4, !tbaa !5
  %19887 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %19887, ptr %402, align 8, !tbaa !9
  %19888 = icmp eq ptr %19887, null
  br i1 %19888, label %19889, label %19942

19889:                                            ; preds = %19884
  br label %19890

19890:                                            ; preds = %19889
  br label %19891

19891:                                            ; preds = %19890
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #10
  %19892 = call ptr @__errno_location() #11
  %19893 = load i32, ptr %19892, align 4, !tbaa !5
  store i32 %19893, ptr %413, align 4, !tbaa !5
  %19894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19895 = call i32 @s2n_print_stacktrace(ptr noundef %19894)
  %19896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19897 = trunc i8 %19896 to i1
  br i1 %19897, label %19898, label %19920

19898:                                            ; preds = %19891
  %19899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19900 = call i32 @fileno(ptr noundef %19899) #10
  %19901 = call i32 @isatty(i32 noundef %19900) #10
  %19902 = icmp ne i32 %19901, 0
  br i1 %19902, label %19903, label %19920

19903:                                            ; preds = %19898
  %19904 = load i32, ptr %413, align 4, !tbaa !5
  %19905 = call ptr @__errno_location() #11
  store i32 %19904, ptr %19905, align 4, !tbaa !5
  %19906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19907 = load i32, ptr @test_count, align 4, !tbaa !5
  %19908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19909 = load i32, ptr %19908, align 4, !tbaa !5
  %19910 = call ptr @s2n_strerror(i32 noundef %19909, ptr noundef @.str.4)
  %19911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19912 = load i32, ptr %19911, align 4, !tbaa !5
  %19913 = call ptr @s2n_strerror_debug(i32 noundef %19912, ptr noundef @.str.4)
  %19914 = call ptr @__errno_location() #11
  %19915 = load i32, ptr %19914, align 4, !tbaa !5
  %19916 = call ptr @strerror(i32 noundef %19915) #10
  %19917 = call ptr @__errno_location() #11
  %19918 = load i32, ptr %19917, align 4, !tbaa !5
  %19919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19906, ptr noundef @.str.2, i32 noundef %19907, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1087, ptr noundef %19910, ptr noundef %19913, ptr noundef %19916, i32 noundef %19918) #10
  br label %19937

19920:                                            ; preds = %19898, %19891
  %19921 = load i32, ptr %413, align 4, !tbaa !5
  %19922 = call ptr @__errno_location() #11
  store i32 %19921, ptr %19922, align 4, !tbaa !5
  %19923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19924 = load i32, ptr @test_count, align 4, !tbaa !5
  %19925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19926 = load i32, ptr %19925, align 4, !tbaa !5
  %19927 = call ptr @s2n_strerror(i32 noundef %19926, ptr noundef @.str.4)
  %19928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19929 = load i32, ptr %19928, align 4, !tbaa !5
  %19930 = call ptr @s2n_strerror_debug(i32 noundef %19929, ptr noundef @.str.4)
  %19931 = call ptr @__errno_location() #11
  %19932 = load i32, ptr %19931, align 4, !tbaa !5
  %19933 = call ptr @strerror(i32 noundef %19932) #10
  %19934 = call ptr @__errno_location() #11
  %19935 = load i32, ptr %19934, align 4, !tbaa !5
  %19936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19923, ptr noundef @.str.5, i32 noundef %19924, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1087, ptr noundef %19927, ptr noundef %19930, ptr noundef %19933, i32 noundef %19935) #10
  br label %19937

19937:                                            ; preds = %19920, %19903
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #10
  br label %19938

19938:                                            ; preds = %19937
  br label %19939

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

19940:                                            ; No predecessors!
  br label %19941

19941:                                            ; preds = %19940
  br label %19942

19942:                                            ; preds = %19941, %19884
  br label %19943

19943:                                            ; preds = %19942
  br label %19944

19944:                                            ; preds = %19943
  %19945 = load ptr, ptr %402, align 8, !tbaa !9
  %19946 = getelementptr inbounds %struct.s2n_connection, ptr %19945, i32 0, i32 23
  store i8 33, ptr %19946, align 4, !tbaa !15
  %19947 = load ptr, ptr %402, align 8, !tbaa !9
  %19948 = getelementptr inbounds %struct.s2n_connection, ptr %19947, i32 0, i32 22
  store i8 33, ptr %19948, align 1, !tbaa !42
  %19949 = load ptr, ptr %402, align 8, !tbaa !9
  %19950 = getelementptr inbounds %struct.s2n_connection, ptr %19949, i32 0, i32 21
  store i8 33, ptr %19950, align 2, !tbaa !43
  br label %19951

19951:                                            ; preds = %19944
  %19952 = load i32, ptr @test_count, align 4, !tbaa !5
  %19953 = add nsw i32 %19952, 1
  store i32 %19953, ptr @test_count, align 4, !tbaa !5
  %19954 = load ptr, ptr %401, align 8, !tbaa !9
  %19955 = load ptr, ptr %402, align 8, !tbaa !9
  %19956 = call i32 @s2n_connections_set_io_pair(ptr noundef %19954, ptr noundef %19955, ptr noundef %15)
  %19957 = icmp eq i32 %19956, -1
  br i1 %19957, label %19958, label %20011

19958:                                            ; preds = %19951
  br label %19959

19959:                                            ; preds = %19958
  br label %19960

19960:                                            ; preds = %19959
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #10
  %19961 = call ptr @__errno_location() #11
  %19962 = load i32, ptr %19961, align 4, !tbaa !5
  store i32 %19962, ptr %414, align 4, !tbaa !5
  %19963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19964 = call i32 @s2n_print_stacktrace(ptr noundef %19963)
  %19965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19966 = trunc i8 %19965 to i1
  br i1 %19966, label %19967, label %19989

19967:                                            ; preds = %19960
  %19968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19969 = call i32 @fileno(ptr noundef %19968) #10
  %19970 = call i32 @isatty(i32 noundef %19969) #10
  %19971 = icmp ne i32 %19970, 0
  br i1 %19971, label %19972, label %19989

19972:                                            ; preds = %19967
  %19973 = load i32, ptr %414, align 4, !tbaa !5
  %19974 = call ptr @__errno_location() #11
  store i32 %19973, ptr %19974, align 4, !tbaa !5
  %19975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19976 = load i32, ptr @test_count, align 4, !tbaa !5
  %19977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19978 = load i32, ptr %19977, align 4, !tbaa !5
  %19979 = call ptr @s2n_strerror(i32 noundef %19978, ptr noundef @.str.4)
  %19980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19981 = load i32, ptr %19980, align 4, !tbaa !5
  %19982 = call ptr @s2n_strerror_debug(i32 noundef %19981, ptr noundef @.str.4)
  %19983 = call ptr @__errno_location() #11
  %19984 = load i32, ptr %19983, align 4, !tbaa !5
  %19985 = call ptr @strerror(i32 noundef %19984) #10
  %19986 = call ptr @__errno_location() #11
  %19987 = load i32, ptr %19986, align 4, !tbaa !5
  %19988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19975, ptr noundef @.str.2, i32 noundef %19976, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %19979, ptr noundef %19982, ptr noundef %19985, i32 noundef %19987) #10
  br label %20006

19989:                                            ; preds = %19967, %19960
  %19990 = load i32, ptr %414, align 4, !tbaa !5
  %19991 = call ptr @__errno_location() #11
  store i32 %19990, ptr %19991, align 4, !tbaa !5
  %19992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19993 = load i32, ptr @test_count, align 4, !tbaa !5
  %19994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19995 = load i32, ptr %19994, align 4, !tbaa !5
  %19996 = call ptr @s2n_strerror(i32 noundef %19995, ptr noundef @.str.4)
  %19997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19998 = load i32, ptr %19997, align 4, !tbaa !5
  %19999 = call ptr @s2n_strerror_debug(i32 noundef %19998, ptr noundef @.str.4)
  %20000 = call ptr @__errno_location() #11
  %20001 = load i32, ptr %20000, align 4, !tbaa !5
  %20002 = call ptr @strerror(i32 noundef %20001) #10
  %20003 = call ptr @__errno_location() #11
  %20004 = load i32, ptr %20003, align 4, !tbaa !5
  %20005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19992, ptr noundef @.str.5, i32 noundef %19993, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %19996, ptr noundef %19999, ptr noundef %20002, i32 noundef %20004) #10
  br label %20006

20006:                                            ; preds = %19989, %19972
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #10
  br label %20007

20007:                                            ; preds = %20006
  br label %20008

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

20009:                                            ; No predecessors!
  br label %20010

20010:                                            ; preds = %20009
  br label %20011

20011:                                            ; preds = %20010, %19951
  br label %20012

20012:                                            ; preds = %20011
  br label %20013

20013:                                            ; preds = %20012
  br label %20014

20014:                                            ; preds = %20013
  %20015 = load i32, ptr @test_count, align 4, !tbaa !5
  %20016 = add nsw i32 %20015, 1
  store i32 %20016, ptr @test_count, align 4, !tbaa !5
  %20017 = call ptr @s2n_config_new()
  store ptr %20017, ptr %404, align 8, !tbaa !9
  %20018 = icmp eq ptr %20017, null
  br i1 %20018, label %20019, label %20072

20019:                                            ; preds = %20014
  br label %20020

20020:                                            ; preds = %20019
  br label %20021

20021:                                            ; preds = %20020
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #10
  %20022 = call ptr @__errno_location() #11
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  store i32 %20023, ptr %415, align 4, !tbaa !5
  %20024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20025 = call i32 @s2n_print_stacktrace(ptr noundef %20024)
  %20026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20027 = trunc i8 %20026 to i1
  br i1 %20027, label %20028, label %20050

20028:                                            ; preds = %20021
  %20029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20030 = call i32 @fileno(ptr noundef %20029) #10
  %20031 = call i32 @isatty(i32 noundef %20030) #10
  %20032 = icmp ne i32 %20031, 0
  br i1 %20032, label %20033, label %20050

20033:                                            ; preds = %20028
  %20034 = load i32, ptr %415, align 4, !tbaa !5
  %20035 = call ptr @__errno_location() #11
  store i32 %20034, ptr %20035, align 4, !tbaa !5
  %20036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20037 = load i32, ptr @test_count, align 4, !tbaa !5
  %20038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20039 = load i32, ptr %20038, align 4, !tbaa !5
  %20040 = call ptr @s2n_strerror(i32 noundef %20039, ptr noundef @.str.4)
  %20041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20042 = load i32, ptr %20041, align 4, !tbaa !5
  %20043 = call ptr @s2n_strerror_debug(i32 noundef %20042, ptr noundef @.str.4)
  %20044 = call ptr @__errno_location() #11
  %20045 = load i32, ptr %20044, align 4, !tbaa !5
  %20046 = call ptr @strerror(i32 noundef %20045) #10
  %20047 = call ptr @__errno_location() #11
  %20048 = load i32, ptr %20047, align 4, !tbaa !5
  %20049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20036, ptr noundef @.str.2, i32 noundef %20037, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %20040, ptr noundef %20043, ptr noundef %20046, i32 noundef %20048) #10
  br label %20067

20050:                                            ; preds = %20028, %20021
  %20051 = load i32, ptr %415, align 4, !tbaa !5
  %20052 = call ptr @__errno_location() #11
  store i32 %20051, ptr %20052, align 4, !tbaa !5
  %20053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20054 = load i32, ptr @test_count, align 4, !tbaa !5
  %20055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20056 = load i32, ptr %20055, align 4, !tbaa !5
  %20057 = call ptr @s2n_strerror(i32 noundef %20056, ptr noundef @.str.4)
  %20058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20059 = load i32, ptr %20058, align 4, !tbaa !5
  %20060 = call ptr @s2n_strerror_debug(i32 noundef %20059, ptr noundef @.str.4)
  %20061 = call ptr @__errno_location() #11
  %20062 = load i32, ptr %20061, align 4, !tbaa !5
  %20063 = call ptr @strerror(i32 noundef %20062) #10
  %20064 = call ptr @__errno_location() #11
  %20065 = load i32, ptr %20064, align 4, !tbaa !5
  %20066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20053, ptr noundef @.str.5, i32 noundef %20054, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %20057, ptr noundef %20060, ptr noundef %20063, i32 noundef %20065) #10
  br label %20067

20067:                                            ; preds = %20050, %20033
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #10
  br label %20068

20068:                                            ; preds = %20067
  br label %20069

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

20070:                                            ; No predecessors!
  br label %20071

20071:                                            ; preds = %20070
  br label %20072

20072:                                            ; preds = %20071, %20014
  br label %20073

20073:                                            ; preds = %20072
  br label %20074

20074:                                            ; preds = %20073
  br label %20075

20075:                                            ; preds = %20074
  %20076 = load i32, ptr @test_count, align 4, !tbaa !5
  %20077 = add nsw i32 %20076, 1
  store i32 %20077, ptr @test_count, align 4, !tbaa !5
  %20078 = load ptr, ptr %6, align 8, !tbaa !9
  %20079 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %20078, i64 noundef 12000)
  %20080 = icmp eq i32 %20079, -1
  br i1 %20080, label %20081, label %20134

20081:                                            ; preds = %20075
  br label %20082

20082:                                            ; preds = %20081
  br label %20083

20083:                                            ; preds = %20082
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #10
  %20084 = call ptr @__errno_location() #11
  %20085 = load i32, ptr %20084, align 4, !tbaa !5
  store i32 %20085, ptr %416, align 4, !tbaa !5
  %20086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20087 = call i32 @s2n_print_stacktrace(ptr noundef %20086)
  %20088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20089 = trunc i8 %20088 to i1
  br i1 %20089, label %20090, label %20112

20090:                                            ; preds = %20083
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = call i32 @fileno(ptr noundef %20091) #10
  %20093 = call i32 @isatty(i32 noundef %20092) #10
  %20094 = icmp ne i32 %20093, 0
  br i1 %20094, label %20095, label %20112

20095:                                            ; preds = %20090
  %20096 = load i32, ptr %416, align 4, !tbaa !5
  %20097 = call ptr @__errno_location() #11
  store i32 %20096, ptr %20097, align 4, !tbaa !5
  %20098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20099 = load i32, ptr @test_count, align 4, !tbaa !5
  %20100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20101 = load i32, ptr %20100, align 4, !tbaa !5
  %20102 = call ptr @s2n_strerror(i32 noundef %20101, ptr noundef @.str.4)
  %20103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20104 = load i32, ptr %20103, align 4, !tbaa !5
  %20105 = call ptr @s2n_strerror_debug(i32 noundef %20104, ptr noundef @.str.4)
  %20106 = call ptr @__errno_location() #11
  %20107 = load i32, ptr %20106, align 4, !tbaa !5
  %20108 = call ptr @strerror(i32 noundef %20107) #10
  %20109 = call ptr @__errno_location() #11
  %20110 = load i32, ptr %20109, align 4, !tbaa !5
  %20111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20098, ptr noundef @.str.2, i32 noundef %20099, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1095, ptr noundef %20102, ptr noundef %20105, ptr noundef %20108, i32 noundef %20110) #10
  br label %20129

20112:                                            ; preds = %20090, %20083
  %20113 = load i32, ptr %416, align 4, !tbaa !5
  %20114 = call ptr @__errno_location() #11
  store i32 %20113, ptr %20114, align 4, !tbaa !5
  %20115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20116 = load i32, ptr @test_count, align 4, !tbaa !5
  %20117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20118 = load i32, ptr %20117, align 4, !tbaa !5
  %20119 = call ptr @s2n_strerror(i32 noundef %20118, ptr noundef @.str.4)
  %20120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20121 = load i32, ptr %20120, align 4, !tbaa !5
  %20122 = call ptr @s2n_strerror_debug(i32 noundef %20121, ptr noundef @.str.4)
  %20123 = call ptr @__errno_location() #11
  %20124 = load i32, ptr %20123, align 4, !tbaa !5
  %20125 = call ptr @strerror(i32 noundef %20124) #10
  %20126 = call ptr @__errno_location() #11
  %20127 = load i32, ptr %20126, align 4, !tbaa !5
  %20128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20115, ptr noundef @.str.5, i32 noundef %20116, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1095, ptr noundef %20119, ptr noundef %20122, ptr noundef %20125, i32 noundef %20127) #10
  br label %20129

20129:                                            ; preds = %20112, %20095
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #10
  br label %20130

20130:                                            ; preds = %20129
  br label %20131

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

20132:                                            ; No predecessors!
  br label %20133

20133:                                            ; preds = %20132
  br label %20134

20134:                                            ; preds = %20133, %20075
  br label %20135

20135:                                            ; preds = %20134
  br label %20136

20136:                                            ; preds = %20135
  br label %20137

20137:                                            ; preds = %20136
  %20138 = load i32, ptr @test_count, align 4, !tbaa !5
  %20139 = add nsw i32 %20138, 1
  store i32 %20139, ptr @test_count, align 4, !tbaa !5
  %20140 = load ptr, ptr %7, align 8, !tbaa !9
  %20141 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %20140, i64 noundef 12000)
  %20142 = icmp eq i32 %20141, -1
  br i1 %20142, label %20143, label %20196

20143:                                            ; preds = %20137
  br label %20144

20144:                                            ; preds = %20143
  br label %20145

20145:                                            ; preds = %20144
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #10
  %20146 = call ptr @__errno_location() #11
  %20147 = load i32, ptr %20146, align 4, !tbaa !5
  store i32 %20147, ptr %417, align 4, !tbaa !5
  %20148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20149 = call i32 @s2n_print_stacktrace(ptr noundef %20148)
  %20150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20151 = trunc i8 %20150 to i1
  br i1 %20151, label %20152, label %20174

20152:                                            ; preds = %20145
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = call i32 @fileno(ptr noundef %20153) #10
  %20155 = call i32 @isatty(i32 noundef %20154) #10
  %20156 = icmp ne i32 %20155, 0
  br i1 %20156, label %20157, label %20174

20157:                                            ; preds = %20152
  %20158 = load i32, ptr %417, align 4, !tbaa !5
  %20159 = call ptr @__errno_location() #11
  store i32 %20158, ptr %20159, align 4, !tbaa !5
  %20160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20161 = load i32, ptr @test_count, align 4, !tbaa !5
  %20162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20163 = load i32, ptr %20162, align 4, !tbaa !5
  %20164 = call ptr @s2n_strerror(i32 noundef %20163, ptr noundef @.str.4)
  %20165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20166 = load i32, ptr %20165, align 4, !tbaa !5
  %20167 = call ptr @s2n_strerror_debug(i32 noundef %20166, ptr noundef @.str.4)
  %20168 = call ptr @__errno_location() #11
  %20169 = load i32, ptr %20168, align 4, !tbaa !5
  %20170 = call ptr @strerror(i32 noundef %20169) #10
  %20171 = call ptr @__errno_location() #11
  %20172 = load i32, ptr %20171, align 4, !tbaa !5
  %20173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20160, ptr noundef @.str.2, i32 noundef %20161, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1096, ptr noundef %20164, ptr noundef %20167, ptr noundef %20170, i32 noundef %20172) #10
  br label %20191

20174:                                            ; preds = %20152, %20145
  %20175 = load i32, ptr %417, align 4, !tbaa !5
  %20176 = call ptr @__errno_location() #11
  store i32 %20175, ptr %20176, align 4, !tbaa !5
  %20177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20178 = load i32, ptr @test_count, align 4, !tbaa !5
  %20179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20180 = load i32, ptr %20179, align 4, !tbaa !5
  %20181 = call ptr @s2n_strerror(i32 noundef %20180, ptr noundef @.str.4)
  %20182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20183 = load i32, ptr %20182, align 4, !tbaa !5
  %20184 = call ptr @s2n_strerror_debug(i32 noundef %20183, ptr noundef @.str.4)
  %20185 = call ptr @__errno_location() #11
  %20186 = load i32, ptr %20185, align 4, !tbaa !5
  %20187 = call ptr @strerror(i32 noundef %20186) #10
  %20188 = call ptr @__errno_location() #11
  %20189 = load i32, ptr %20188, align 4, !tbaa !5
  %20190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20177, ptr noundef @.str.5, i32 noundef %20178, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1096, ptr noundef %20181, ptr noundef %20184, ptr noundef %20187, i32 noundef %20189) #10
  br label %20191

20191:                                            ; preds = %20174, %20157
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #10
  br label %20192

20192:                                            ; preds = %20191
  br label %20193

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

20194:                                            ; No predecessors!
  br label %20195

20195:                                            ; preds = %20194
  br label %20196

20196:                                            ; preds = %20195, %20137
  br label %20197

20197:                                            ; preds = %20196
  br label %20198

20198:                                            ; preds = %20197
  br label %20199

20199:                                            ; preds = %20198
  %20200 = load i32, ptr @test_count, align 4, !tbaa !5
  %20201 = add nsw i32 %20200, 1
  store i32 %20201, ptr @test_count, align 4, !tbaa !5
  %20202 = load ptr, ptr %404, align 8, !tbaa !9
  %20203 = load ptr, ptr %6, align 8, !tbaa !9
  %20204 = load ptr, ptr %7, align 8, !tbaa !9
  %20205 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %20202, ptr noundef %20203, ptr noundef %20204)
  %20206 = icmp eq i32 %20205, -1
  br i1 %20206, label %20207, label %20260

20207:                                            ; preds = %20199
  br label %20208

20208:                                            ; preds = %20207
  br label %20209

20209:                                            ; preds = %20208
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #10
  %20210 = call ptr @__errno_location() #11
  %20211 = load i32, ptr %20210, align 4, !tbaa !5
  store i32 %20211, ptr %418, align 4, !tbaa !5
  %20212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20213 = call i32 @s2n_print_stacktrace(ptr noundef %20212)
  %20214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20215 = trunc i8 %20214 to i1
  br i1 %20215, label %20216, label %20238

20216:                                            ; preds = %20209
  %20217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20218 = call i32 @fileno(ptr noundef %20217) #10
  %20219 = call i32 @isatty(i32 noundef %20218) #10
  %20220 = icmp ne i32 %20219, 0
  br i1 %20220, label %20221, label %20238

20221:                                            ; preds = %20216
  %20222 = load i32, ptr %418, align 4, !tbaa !5
  %20223 = call ptr @__errno_location() #11
  store i32 %20222, ptr %20223, align 4, !tbaa !5
  %20224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20225 = load i32, ptr @test_count, align 4, !tbaa !5
  %20226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20227 = load i32, ptr %20226, align 4, !tbaa !5
  %20228 = call ptr @s2n_strerror(i32 noundef %20227, ptr noundef @.str.4)
  %20229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20230 = load i32, ptr %20229, align 4, !tbaa !5
  %20231 = call ptr @s2n_strerror_debug(i32 noundef %20230, ptr noundef @.str.4)
  %20232 = call ptr @__errno_location() #11
  %20233 = load i32, ptr %20232, align 4, !tbaa !5
  %20234 = call ptr @strerror(i32 noundef %20233) #10
  %20235 = call ptr @__errno_location() #11
  %20236 = load i32, ptr %20235, align 4, !tbaa !5
  %20237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20224, ptr noundef @.str.2, i32 noundef %20225, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %20228, ptr noundef %20231, ptr noundef %20234, i32 noundef %20236) #10
  br label %20255

20238:                                            ; preds = %20216, %20209
  %20239 = load i32, ptr %418, align 4, !tbaa !5
  %20240 = call ptr @__errno_location() #11
  store i32 %20239, ptr %20240, align 4, !tbaa !5
  %20241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20242 = load i32, ptr @test_count, align 4, !tbaa !5
  %20243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20244 = load i32, ptr %20243, align 4, !tbaa !5
  %20245 = call ptr @s2n_strerror(i32 noundef %20244, ptr noundef @.str.4)
  %20246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20247 = load i32, ptr %20246, align 4, !tbaa !5
  %20248 = call ptr @s2n_strerror_debug(i32 noundef %20247, ptr noundef @.str.4)
  %20249 = call ptr @__errno_location() #11
  %20250 = load i32, ptr %20249, align 4, !tbaa !5
  %20251 = call ptr @strerror(i32 noundef %20250) #10
  %20252 = call ptr @__errno_location() #11
  %20253 = load i32, ptr %20252, align 4, !tbaa !5
  %20254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20241, ptr noundef @.str.5, i32 noundef %20242, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %20245, ptr noundef %20248, ptr noundef %20251, i32 noundef %20253) #10
  br label %20255

20255:                                            ; preds = %20238, %20221
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #10
  br label %20256

20256:                                            ; preds = %20255
  br label %20257

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

20258:                                            ; No predecessors!
  br label %20259

20259:                                            ; preds = %20258
  br label %20260

20260:                                            ; preds = %20259, %20199
  br label %20261

20261:                                            ; preds = %20260
  br label %20262

20262:                                            ; preds = %20261
  br label %20263

20263:                                            ; preds = %20262
  %20264 = load i32, ptr @test_count, align 4, !tbaa !5
  %20265 = add nsw i32 %20264, 1
  store i32 %20265, ptr @test_count, align 4, !tbaa !5
  %20266 = load ptr, ptr %404, align 8, !tbaa !9
  %20267 = call i32 @s2n_config_set_extension_data(ptr noundef %20266, i32 noundef 18, ptr noundef @sct_list, i32 noundef 5)
  %20268 = icmp eq i32 %20267, -1
  br i1 %20268, label %20269, label %20322

20269:                                            ; preds = %20263
  br label %20270

20270:                                            ; preds = %20269
  br label %20271

20271:                                            ; preds = %20270
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #10
  %20272 = call ptr @__errno_location() #11
  %20273 = load i32, ptr %20272, align 4, !tbaa !5
  store i32 %20273, ptr %419, align 4, !tbaa !5
  %20274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20275 = call i32 @s2n_print_stacktrace(ptr noundef %20274)
  %20276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20277 = trunc i8 %20276 to i1
  br i1 %20277, label %20278, label %20300

20278:                                            ; preds = %20271
  %20279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20280 = call i32 @fileno(ptr noundef %20279) #10
  %20281 = call i32 @isatty(i32 noundef %20280) #10
  %20282 = icmp ne i32 %20281, 0
  br i1 %20282, label %20283, label %20300

20283:                                            ; preds = %20278
  %20284 = load i32, ptr %419, align 4, !tbaa !5
  %20285 = call ptr @__errno_location() #11
  store i32 %20284, ptr %20285, align 4, !tbaa !5
  %20286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20287 = load i32, ptr @test_count, align 4, !tbaa !5
  %20288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20289 = load i32, ptr %20288, align 4, !tbaa !5
  %20290 = call ptr @s2n_strerror(i32 noundef %20289, ptr noundef @.str.4)
  %20291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20292 = load i32, ptr %20291, align 4, !tbaa !5
  %20293 = call ptr @s2n_strerror_debug(i32 noundef %20292, ptr noundef @.str.4)
  %20294 = call ptr @__errno_location() #11
  %20295 = load i32, ptr %20294, align 4, !tbaa !5
  %20296 = call ptr @strerror(i32 noundef %20295) #10
  %20297 = call ptr @__errno_location() #11
  %20298 = load i32, ptr %20297, align 4, !tbaa !5
  %20299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20286, ptr noundef @.str.2, i32 noundef %20287, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1099, ptr noundef %20290, ptr noundef %20293, ptr noundef %20296, i32 noundef %20298) #10
  br label %20317

20300:                                            ; preds = %20278, %20271
  %20301 = load i32, ptr %419, align 4, !tbaa !5
  %20302 = call ptr @__errno_location() #11
  store i32 %20301, ptr %20302, align 4, !tbaa !5
  %20303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20304 = load i32, ptr @test_count, align 4, !tbaa !5
  %20305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20306 = load i32, ptr %20305, align 4, !tbaa !5
  %20307 = call ptr @s2n_strerror(i32 noundef %20306, ptr noundef @.str.4)
  %20308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20309 = load i32, ptr %20308, align 4, !tbaa !5
  %20310 = call ptr @s2n_strerror_debug(i32 noundef %20309, ptr noundef @.str.4)
  %20311 = call ptr @__errno_location() #11
  %20312 = load i32, ptr %20311, align 4, !tbaa !5
  %20313 = call ptr @strerror(i32 noundef %20312) #10
  %20314 = call ptr @__errno_location() #11
  %20315 = load i32, ptr %20314, align 4, !tbaa !5
  %20316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20303, ptr noundef @.str.5, i32 noundef %20304, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 1099, ptr noundef %20307, ptr noundef %20310, ptr noundef %20313, i32 noundef %20315) #10
  br label %20317

20317:                                            ; preds = %20300, %20283
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #10
  br label %20318

20318:                                            ; preds = %20317
  br label %20319

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

20320:                                            ; No predecessors!
  br label %20321

20321:                                            ; preds = %20320
  br label %20322

20322:                                            ; preds = %20321, %20263
  br label %20323

20323:                                            ; preds = %20322
  br label %20324

20324:                                            ; preds = %20323
  br label %20325

20325:                                            ; preds = %20324
  %20326 = load i32, ptr @test_count, align 4, !tbaa !5
  %20327 = add nsw i32 %20326, 1
  store i32 %20327, ptr @test_count, align 4, !tbaa !5
  %20328 = load ptr, ptr %402, align 8, !tbaa !9
  %20329 = load ptr, ptr %404, align 8, !tbaa !9
  %20330 = call i32 @s2n_connection_set_config(ptr noundef %20328, ptr noundef %20329)
  %20331 = icmp eq i32 %20330, -1
  br i1 %20331, label %20332, label %20385

20332:                                            ; preds = %20325
  br label %20333

20333:                                            ; preds = %20332
  br label %20334

20334:                                            ; preds = %20333
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #10
  %20335 = call ptr @__errno_location() #11
  %20336 = load i32, ptr %20335, align 4, !tbaa !5
  store i32 %20336, ptr %420, align 4, !tbaa !5
  %20337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20338 = call i32 @s2n_print_stacktrace(ptr noundef %20337)
  %20339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20340 = trunc i8 %20339 to i1
  br i1 %20340, label %20341, label %20363

20341:                                            ; preds = %20334
  %20342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20343 = call i32 @fileno(ptr noundef %20342) #10
  %20344 = call i32 @isatty(i32 noundef %20343) #10
  %20345 = icmp ne i32 %20344, 0
  br i1 %20345, label %20346, label %20363

20346:                                            ; preds = %20341
  %20347 = load i32, ptr %420, align 4, !tbaa !5
  %20348 = call ptr @__errno_location() #11
  store i32 %20347, ptr %20348, align 4, !tbaa !5
  %20349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20350 = load i32, ptr @test_count, align 4, !tbaa !5
  %20351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20352 = load i32, ptr %20351, align 4, !tbaa !5
  %20353 = call ptr @s2n_strerror(i32 noundef %20352, ptr noundef @.str.4)
  %20354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20355 = load i32, ptr %20354, align 4, !tbaa !5
  %20356 = call ptr @s2n_strerror_debug(i32 noundef %20355, ptr noundef @.str.4)
  %20357 = call ptr @__errno_location() #11
  %20358 = load i32, ptr %20357, align 4, !tbaa !5
  %20359 = call ptr @strerror(i32 noundef %20358) #10
  %20360 = call ptr @__errno_location() #11
  %20361 = load i32, ptr %20360, align 4, !tbaa !5
  %20362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20349, ptr noundef @.str.2, i32 noundef %20350, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1100, ptr noundef %20353, ptr noundef %20356, ptr noundef %20359, i32 noundef %20361) #10
  br label %20380

20363:                                            ; preds = %20341, %20334
  %20364 = load i32, ptr %420, align 4, !tbaa !5
  %20365 = call ptr @__errno_location() #11
  store i32 %20364, ptr %20365, align 4, !tbaa !5
  %20366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20367 = load i32, ptr @test_count, align 4, !tbaa !5
  %20368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20369 = load i32, ptr %20368, align 4, !tbaa !5
  %20370 = call ptr @s2n_strerror(i32 noundef %20369, ptr noundef @.str.4)
  %20371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20372 = load i32, ptr %20371, align 4, !tbaa !5
  %20373 = call ptr @s2n_strerror_debug(i32 noundef %20372, ptr noundef @.str.4)
  %20374 = call ptr @__errno_location() #11
  %20375 = load i32, ptr %20374, align 4, !tbaa !5
  %20376 = call ptr @strerror(i32 noundef %20375) #10
  %20377 = call ptr @__errno_location() #11
  %20378 = load i32, ptr %20377, align 4, !tbaa !5
  %20379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20366, ptr noundef @.str.5, i32 noundef %20367, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1100, ptr noundef %20370, ptr noundef %20373, ptr noundef %20376, i32 noundef %20378) #10
  br label %20380

20380:                                            ; preds = %20363, %20346
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #10
  br label %20381

20381:                                            ; preds = %20380
  br label %20382

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

20383:                                            ; No predecessors!
  br label %20384

20384:                                            ; preds = %20383
  br label %20385

20385:                                            ; preds = %20384, %20325
  br label %20386

20386:                                            ; preds = %20385
  br label %20387

20387:                                            ; preds = %20386
  br label %20388

20388:                                            ; preds = %20387
  %20389 = load i32, ptr @test_count, align 4, !tbaa !5
  %20390 = add nsw i32 %20389, 1
  store i32 %20390, ptr @test_count, align 4, !tbaa !5
  %20391 = load ptr, ptr %402, align 8, !tbaa !9
  %20392 = load ptr, ptr %401, align 8, !tbaa !9
  %20393 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %20391, ptr noundef %20392)
  %20394 = icmp eq i32 %20393, -1
  br i1 %20394, label %20395, label %20448

20395:                                            ; preds = %20388
  br label %20396

20396:                                            ; preds = %20395
  br label %20397

20397:                                            ; preds = %20396
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #10
  %20398 = call ptr @__errno_location() #11
  %20399 = load i32, ptr %20398, align 4, !tbaa !5
  store i32 %20399, ptr %421, align 4, !tbaa !5
  %20400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20401 = call i32 @s2n_print_stacktrace(ptr noundef %20400)
  %20402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20403 = trunc i8 %20402 to i1
  br i1 %20403, label %20404, label %20426

20404:                                            ; preds = %20397
  %20405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20406 = call i32 @fileno(ptr noundef %20405) #10
  %20407 = call i32 @isatty(i32 noundef %20406) #10
  %20408 = icmp ne i32 %20407, 0
  br i1 %20408, label %20409, label %20426

20409:                                            ; preds = %20404
  %20410 = load i32, ptr %421, align 4, !tbaa !5
  %20411 = call ptr @__errno_location() #11
  store i32 %20410, ptr %20411, align 4, !tbaa !5
  %20412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20413 = load i32, ptr @test_count, align 4, !tbaa !5
  %20414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20415 = load i32, ptr %20414, align 4, !tbaa !5
  %20416 = call ptr @s2n_strerror(i32 noundef %20415, ptr noundef @.str.4)
  %20417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20418 = load i32, ptr %20417, align 4, !tbaa !5
  %20419 = call ptr @s2n_strerror_debug(i32 noundef %20418, ptr noundef @.str.4)
  %20420 = call ptr @__errno_location() #11
  %20421 = load i32, ptr %20420, align 4, !tbaa !5
  %20422 = call ptr @strerror(i32 noundef %20421) #10
  %20423 = call ptr @__errno_location() #11
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20412, ptr noundef @.str.2, i32 noundef %20413, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1102, ptr noundef %20416, ptr noundef %20419, ptr noundef %20422, i32 noundef %20424) #10
  br label %20443

20426:                                            ; preds = %20404, %20397
  %20427 = load i32, ptr %421, align 4, !tbaa !5
  %20428 = call ptr @__errno_location() #11
  store i32 %20427, ptr %20428, align 4, !tbaa !5
  %20429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20430 = load i32, ptr @test_count, align 4, !tbaa !5
  %20431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20432 = load i32, ptr %20431, align 4, !tbaa !5
  %20433 = call ptr @s2n_strerror(i32 noundef %20432, ptr noundef @.str.4)
  %20434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20435 = load i32, ptr %20434, align 4, !tbaa !5
  %20436 = call ptr @s2n_strerror_debug(i32 noundef %20435, ptr noundef @.str.4)
  %20437 = call ptr @__errno_location() #11
  %20438 = load i32, ptr %20437, align 4, !tbaa !5
  %20439 = call ptr @strerror(i32 noundef %20438) #10
  %20440 = call ptr @__errno_location() #11
  %20441 = load i32, ptr %20440, align 4, !tbaa !5
  %20442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20429, ptr noundef @.str.5, i32 noundef %20430, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1102, ptr noundef %20433, ptr noundef %20436, ptr noundef %20439, i32 noundef %20441) #10
  br label %20443

20443:                                            ; preds = %20426, %20409
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #10
  br label %20444

20444:                                            ; preds = %20443
  br label %20445

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

20446:                                            ; No predecessors!
  br label %20447

20447:                                            ; preds = %20446
  br label %20448

20448:                                            ; preds = %20447, %20388
  br label %20449

20449:                                            ; preds = %20448
  br label %20450

20450:                                            ; preds = %20449
  br label %20451

20451:                                            ; preds = %20450
  %20452 = load i32, ptr @test_count, align 4, !tbaa !5
  %20453 = add nsw i32 %20452, 1
  store i32 %20453, ptr @test_count, align 4, !tbaa !5
  %20454 = load ptr, ptr %401, align 8, !tbaa !9
  %20455 = call ptr @s2n_connection_get_sct_list(ptr noundef %20454, ptr noundef %405)
  %20456 = icmp eq ptr %20455, null
  br i1 %20456, label %20457, label %20510

20457:                                            ; preds = %20451
  br label %20458

20458:                                            ; preds = %20457
  br label %20459

20459:                                            ; preds = %20458
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #10
  %20460 = call ptr @__errno_location() #11
  %20461 = load i32, ptr %20460, align 4, !tbaa !5
  store i32 %20461, ptr %422, align 4, !tbaa !5
  %20462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20463 = call i32 @s2n_print_stacktrace(ptr noundef %20462)
  %20464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20465 = trunc i8 %20464 to i1
  br i1 %20465, label %20466, label %20488

20466:                                            ; preds = %20459
  %20467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20468 = call i32 @fileno(ptr noundef %20467) #10
  %20469 = call i32 @isatty(i32 noundef %20468) #10
  %20470 = icmp ne i32 %20469, 0
  br i1 %20470, label %20471, label %20488

20471:                                            ; preds = %20466
  %20472 = load i32, ptr %422, align 4, !tbaa !5
  %20473 = call ptr @__errno_location() #11
  store i32 %20472, ptr %20473, align 4, !tbaa !5
  %20474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20475 = load i32, ptr @test_count, align 4, !tbaa !5
  %20476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20477 = load i32, ptr %20476, align 4, !tbaa !5
  %20478 = call ptr @s2n_strerror(i32 noundef %20477, ptr noundef @.str.4)
  %20479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20480 = load i32, ptr %20479, align 4, !tbaa !5
  %20481 = call ptr @s2n_strerror_debug(i32 noundef %20480, ptr noundef @.str.4)
  %20482 = call ptr @__errno_location() #11
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @strerror(i32 noundef %20483) #10
  %20485 = call ptr @__errno_location() #11
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20474, ptr noundef @.str.2, i32 noundef %20475, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1105, ptr noundef %20478, ptr noundef %20481, ptr noundef %20484, i32 noundef %20486) #10
  br label %20505

20488:                                            ; preds = %20466, %20459
  %20489 = load i32, ptr %422, align 4, !tbaa !5
  %20490 = call ptr @__errno_location() #11
  store i32 %20489, ptr %20490, align 4, !tbaa !5
  %20491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20492 = load i32, ptr @test_count, align 4, !tbaa !5
  %20493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20494 = load i32, ptr %20493, align 4, !tbaa !5
  %20495 = call ptr @s2n_strerror(i32 noundef %20494, ptr noundef @.str.4)
  %20496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20497 = load i32, ptr %20496, align 4, !tbaa !5
  %20498 = call ptr @s2n_strerror_debug(i32 noundef %20497, ptr noundef @.str.4)
  %20499 = call ptr @__errno_location() #11
  %20500 = load i32, ptr %20499, align 4, !tbaa !5
  %20501 = call ptr @strerror(i32 noundef %20500) #10
  %20502 = call ptr @__errno_location() #11
  %20503 = load i32, ptr %20502, align 4, !tbaa !5
  %20504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20491, ptr noundef @.str.5, i32 noundef %20492, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 1105, ptr noundef %20495, ptr noundef %20498, ptr noundef %20501, i32 noundef %20503) #10
  br label %20505

20505:                                            ; preds = %20488, %20471
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #10
  br label %20506

20506:                                            ; preds = %20505
  br label %20507

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

20508:                                            ; No predecessors!
  br label %20509

20509:                                            ; preds = %20508
  br label %20510

20510:                                            ; preds = %20509, %20451
  br label %20511

20511:                                            ; preds = %20510
  br label %20512

20512:                                            ; preds = %20511
  br label %20513

20513:                                            ; preds = %20512
  %20514 = load i32, ptr @test_count, align 4, !tbaa !5
  %20515 = add nsw i32 %20514, 1
  store i32 %20515, ptr @test_count, align 4, !tbaa !5
  %20516 = load i32, ptr %405, align 4, !tbaa !5
  %20517 = zext i32 %20516 to i64
  %20518 = icmp eq i64 %20517, 5
  br i1 %20518, label %20572, label %20519

20519:                                            ; preds = %20513
  br label %20520

20520:                                            ; preds = %20519
  br label %20521

20521:                                            ; preds = %20520
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #10
  %20522 = call ptr @__errno_location() #11
  %20523 = load i32, ptr %20522, align 4, !tbaa !5
  store i32 %20523, ptr %423, align 4, !tbaa !5
  %20524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20525 = call i32 @s2n_print_stacktrace(ptr noundef %20524)
  %20526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20527 = trunc i8 %20526 to i1
  br i1 %20527, label %20528, label %20550

20528:                                            ; preds = %20521
  %20529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20530 = call i32 @fileno(ptr noundef %20529) #10
  %20531 = call i32 @isatty(i32 noundef %20530) #10
  %20532 = icmp ne i32 %20531, 0
  br i1 %20532, label %20533, label %20550

20533:                                            ; preds = %20528
  %20534 = load i32, ptr %423, align 4, !tbaa !5
  %20535 = call ptr @__errno_location() #11
  store i32 %20534, ptr %20535, align 4, !tbaa !5
  %20536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20537 = load i32, ptr @test_count, align 4, !tbaa !5
  %20538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20539 = load i32, ptr %20538, align 4, !tbaa !5
  %20540 = call ptr @s2n_strerror(i32 noundef %20539, ptr noundef @.str.4)
  %20541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20542 = load i32, ptr %20541, align 4, !tbaa !5
  %20543 = call ptr @s2n_strerror_debug(i32 noundef %20542, ptr noundef @.str.4)
  %20544 = call ptr @__errno_location() #11
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call ptr @strerror(i32 noundef %20545) #10
  %20547 = call ptr @__errno_location() #11
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20536, ptr noundef @.str.2, i32 noundef %20537, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %20540, ptr noundef %20543, ptr noundef %20546, i32 noundef %20548) #10
  br label %20567

20550:                                            ; preds = %20528, %20521
  %20551 = load i32, ptr %423, align 4, !tbaa !5
  %20552 = call ptr @__errno_location() #11
  store i32 %20551, ptr %20552, align 4, !tbaa !5
  %20553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20554 = load i32, ptr @test_count, align 4, !tbaa !5
  %20555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20556 = load i32, ptr %20555, align 4, !tbaa !5
  %20557 = call ptr @s2n_strerror(i32 noundef %20556, ptr noundef @.str.4)
  %20558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20559 = load i32, ptr %20558, align 4, !tbaa !5
  %20560 = call ptr @s2n_strerror_debug(i32 noundef %20559, ptr noundef @.str.4)
  %20561 = call ptr @__errno_location() #11
  %20562 = load i32, ptr %20561, align 4, !tbaa !5
  %20563 = call ptr @strerror(i32 noundef %20562) #10
  %20564 = call ptr @__errno_location() #11
  %20565 = load i32, ptr %20564, align 4, !tbaa !5
  %20566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20553, ptr noundef @.str.5, i32 noundef %20554, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %20557, ptr noundef %20560, ptr noundef %20563, i32 noundef %20565) #10
  br label %20567

20567:                                            ; preds = %20550, %20533
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #10
  br label %20568

20568:                                            ; preds = %20567
  br label %20569

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

20570:                                            ; No predecessors!
  br label %20571

20571:                                            ; preds = %20570
  br label %20572

20572:                                            ; preds = %20571, %20513
  br label %20573

20573:                                            ; preds = %20572
  br label %20574

20574:                                            ; preds = %20573
  br label %20575

20575:                                            ; preds = %20574
  %20576 = load i32, ptr @test_count, align 4, !tbaa !5
  %20577 = add nsw i32 %20576, 1
  store i32 %20577, ptr @test_count, align 4, !tbaa !5
  %20578 = load ptr, ptr %402, align 8, !tbaa !9
  %20579 = load ptr, ptr %401, align 8, !tbaa !9
  %20580 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %20578, ptr noundef %20579)
  %20581 = icmp eq i32 %20580, -1
  br i1 %20581, label %20582, label %20635

20582:                                            ; preds = %20575
  br label %20583

20583:                                            ; preds = %20582
  br label %20584

20584:                                            ; preds = %20583
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #10
  %20585 = call ptr @__errno_location() #11
  %20586 = load i32, ptr %20585, align 4, !tbaa !5
  store i32 %20586, ptr %424, align 4, !tbaa !5
  %20587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20588 = call i32 @s2n_print_stacktrace(ptr noundef %20587)
  %20589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20590 = trunc i8 %20589 to i1
  br i1 %20590, label %20591, label %20613

20591:                                            ; preds = %20584
  %20592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20593 = call i32 @fileno(ptr noundef %20592) #10
  %20594 = call i32 @isatty(i32 noundef %20593) #10
  %20595 = icmp ne i32 %20594, 0
  br i1 %20595, label %20596, label %20613

20596:                                            ; preds = %20591
  %20597 = load i32, ptr %424, align 4, !tbaa !5
  %20598 = call ptr @__errno_location() #11
  store i32 %20597, ptr %20598, align 4, !tbaa !5
  %20599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20600 = load i32, ptr @test_count, align 4, !tbaa !5
  %20601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20602 = load i32, ptr %20601, align 4, !tbaa !5
  %20603 = call ptr @s2n_strerror(i32 noundef %20602, ptr noundef @.str.4)
  %20604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20605 = load i32, ptr %20604, align 4, !tbaa !5
  %20606 = call ptr @s2n_strerror_debug(i32 noundef %20605, ptr noundef @.str.4)
  %20607 = call ptr @__errno_location() #11
  %20608 = load i32, ptr %20607, align 4, !tbaa !5
  %20609 = call ptr @strerror(i32 noundef %20608) #10
  %20610 = call ptr @__errno_location() #11
  %20611 = load i32, ptr %20610, align 4, !tbaa !5
  %20612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20599, ptr noundef @.str.2, i32 noundef %20600, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1108, ptr noundef %20603, ptr noundef %20606, ptr noundef %20609, i32 noundef %20611) #10
  br label %20630

20613:                                            ; preds = %20591, %20584
  %20614 = load i32, ptr %424, align 4, !tbaa !5
  %20615 = call ptr @__errno_location() #11
  store i32 %20614, ptr %20615, align 4, !tbaa !5
  %20616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20617 = load i32, ptr @test_count, align 4, !tbaa !5
  %20618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20619 = load i32, ptr %20618, align 4, !tbaa !5
  %20620 = call ptr @s2n_strerror(i32 noundef %20619, ptr noundef @.str.4)
  %20621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20622 = load i32, ptr %20621, align 4, !tbaa !5
  %20623 = call ptr @s2n_strerror_debug(i32 noundef %20622, ptr noundef @.str.4)
  %20624 = call ptr @__errno_location() #11
  %20625 = load i32, ptr %20624, align 4, !tbaa !5
  %20626 = call ptr @strerror(i32 noundef %20625) #10
  %20627 = call ptr @__errno_location() #11
  %20628 = load i32, ptr %20627, align 4, !tbaa !5
  %20629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20616, ptr noundef @.str.5, i32 noundef %20617, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1108, ptr noundef %20620, ptr noundef %20623, ptr noundef %20626, i32 noundef %20628) #10
  br label %20630

20630:                                            ; preds = %20613, %20596
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #10
  br label %20631

20631:                                            ; preds = %20630
  br label %20632

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

20633:                                            ; No predecessors!
  br label %20634

20634:                                            ; preds = %20633
  br label %20635

20635:                                            ; preds = %20634, %20575
  br label %20636

20636:                                            ; preds = %20635
  br label %20637

20637:                                            ; preds = %20636
  br label %20638

20638:                                            ; preds = %20637
  %20639 = load i32, ptr @test_count, align 4, !tbaa !5
  %20640 = add nsw i32 %20639, 1
  store i32 %20640, ptr @test_count, align 4, !tbaa !5
  %20641 = load ptr, ptr %402, align 8, !tbaa !9
  %20642 = call i32 @s2n_connection_free(ptr noundef %20641)
  %20643 = icmp eq i32 %20642, -1
  br i1 %20643, label %20644, label %20697

20644:                                            ; preds = %20638
  br label %20645

20645:                                            ; preds = %20644
  br label %20646

20646:                                            ; preds = %20645
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #10
  %20647 = call ptr @__errno_location() #11
  %20648 = load i32, ptr %20647, align 4, !tbaa !5
  store i32 %20648, ptr %425, align 4, !tbaa !5
  %20649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20650 = call i32 @s2n_print_stacktrace(ptr noundef %20649)
  %20651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20652 = trunc i8 %20651 to i1
  br i1 %20652, label %20653, label %20675

20653:                                            ; preds = %20646
  %20654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20655 = call i32 @fileno(ptr noundef %20654) #10
  %20656 = call i32 @isatty(i32 noundef %20655) #10
  %20657 = icmp ne i32 %20656, 0
  br i1 %20657, label %20658, label %20675

20658:                                            ; preds = %20653
  %20659 = load i32, ptr %425, align 4, !tbaa !5
  %20660 = call ptr @__errno_location() #11
  store i32 %20659, ptr %20660, align 4, !tbaa !5
  %20661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20662 = load i32, ptr @test_count, align 4, !tbaa !5
  %20663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20664 = load i32, ptr %20663, align 4, !tbaa !5
  %20665 = call ptr @s2n_strerror(i32 noundef %20664, ptr noundef @.str.4)
  %20666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20667 = load i32, ptr %20666, align 4, !tbaa !5
  %20668 = call ptr @s2n_strerror_debug(i32 noundef %20667, ptr noundef @.str.4)
  %20669 = call ptr @__errno_location() #11
  %20670 = load i32, ptr %20669, align 4, !tbaa !5
  %20671 = call ptr @strerror(i32 noundef %20670) #10
  %20672 = call ptr @__errno_location() #11
  %20673 = load i32, ptr %20672, align 4, !tbaa !5
  %20674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20661, ptr noundef @.str.2, i32 noundef %20662, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1110, ptr noundef %20665, ptr noundef %20668, ptr noundef %20671, i32 noundef %20673) #10
  br label %20692

20675:                                            ; preds = %20653, %20646
  %20676 = load i32, ptr %425, align 4, !tbaa !5
  %20677 = call ptr @__errno_location() #11
  store i32 %20676, ptr %20677, align 4, !tbaa !5
  %20678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20679 = load i32, ptr @test_count, align 4, !tbaa !5
  %20680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20681 = load i32, ptr %20680, align 4, !tbaa !5
  %20682 = call ptr @s2n_strerror(i32 noundef %20681, ptr noundef @.str.4)
  %20683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20684 = load i32, ptr %20683, align 4, !tbaa !5
  %20685 = call ptr @s2n_strerror_debug(i32 noundef %20684, ptr noundef @.str.4)
  %20686 = call ptr @__errno_location() #11
  %20687 = load i32, ptr %20686, align 4, !tbaa !5
  %20688 = call ptr @strerror(i32 noundef %20687) #10
  %20689 = call ptr @__errno_location() #11
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  %20691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20678, ptr noundef @.str.5, i32 noundef %20679, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1110, ptr noundef %20682, ptr noundef %20685, ptr noundef %20688, i32 noundef %20690) #10
  br label %20692

20692:                                            ; preds = %20675, %20658
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #10
  br label %20693

20693:                                            ; preds = %20692
  br label %20694

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

20695:                                            ; No predecessors!
  br label %20696

20696:                                            ; preds = %20695
  br label %20697

20697:                                            ; preds = %20696, %20638
  br label %20698

20698:                                            ; preds = %20697
  br label %20699

20699:                                            ; preds = %20698
  br label %20700

20700:                                            ; preds = %20699
  %20701 = load i32, ptr @test_count, align 4, !tbaa !5
  %20702 = add nsw i32 %20701, 1
  store i32 %20702, ptr @test_count, align 4, !tbaa !5
  %20703 = load ptr, ptr %401, align 8, !tbaa !9
  %20704 = call i32 @s2n_connection_free(ptr noundef %20703)
  %20705 = icmp eq i32 %20704, -1
  br i1 %20705, label %20706, label %20759

20706:                                            ; preds = %20700
  br label %20707

20707:                                            ; preds = %20706
  br label %20708

20708:                                            ; preds = %20707
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #10
  %20709 = call ptr @__errno_location() #11
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  store i32 %20710, ptr %426, align 4, !tbaa !5
  %20711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20712 = call i32 @s2n_print_stacktrace(ptr noundef %20711)
  %20713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20714 = trunc i8 %20713 to i1
  br i1 %20714, label %20715, label %20737

20715:                                            ; preds = %20708
  %20716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20717 = call i32 @fileno(ptr noundef %20716) #10
  %20718 = call i32 @isatty(i32 noundef %20717) #10
  %20719 = icmp ne i32 %20718, 0
  br i1 %20719, label %20720, label %20737

20720:                                            ; preds = %20715
  %20721 = load i32, ptr %426, align 4, !tbaa !5
  %20722 = call ptr @__errno_location() #11
  store i32 %20721, ptr %20722, align 4, !tbaa !5
  %20723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20724 = load i32, ptr @test_count, align 4, !tbaa !5
  %20725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20726 = load i32, ptr %20725, align 4, !tbaa !5
  %20727 = call ptr @s2n_strerror(i32 noundef %20726, ptr noundef @.str.4)
  %20728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20729 = load i32, ptr %20728, align 4, !tbaa !5
  %20730 = call ptr @s2n_strerror_debug(i32 noundef %20729, ptr noundef @.str.4)
  %20731 = call ptr @__errno_location() #11
  %20732 = load i32, ptr %20731, align 4, !tbaa !5
  %20733 = call ptr @strerror(i32 noundef %20732) #10
  %20734 = call ptr @__errno_location() #11
  %20735 = load i32, ptr %20734, align 4, !tbaa !5
  %20736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20723, ptr noundef @.str.2, i32 noundef %20724, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1111, ptr noundef %20727, ptr noundef %20730, ptr noundef %20733, i32 noundef %20735) #10
  br label %20754

20737:                                            ; preds = %20715, %20708
  %20738 = load i32, ptr %426, align 4, !tbaa !5
  %20739 = call ptr @__errno_location() #11
  store i32 %20738, ptr %20739, align 4, !tbaa !5
  %20740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20741 = load i32, ptr @test_count, align 4, !tbaa !5
  %20742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20743 = load i32, ptr %20742, align 4, !tbaa !5
  %20744 = call ptr @s2n_strerror(i32 noundef %20743, ptr noundef @.str.4)
  %20745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20746 = load i32, ptr %20745, align 4, !tbaa !5
  %20747 = call ptr @s2n_strerror_debug(i32 noundef %20746, ptr noundef @.str.4)
  %20748 = call ptr @__errno_location() #11
  %20749 = load i32, ptr %20748, align 4, !tbaa !5
  %20750 = call ptr @strerror(i32 noundef %20749) #10
  %20751 = call ptr @__errno_location() #11
  %20752 = load i32, ptr %20751, align 4, !tbaa !5
  %20753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20740, ptr noundef @.str.5, i32 noundef %20741, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1111, ptr noundef %20744, ptr noundef %20747, ptr noundef %20750, i32 noundef %20752) #10
  br label %20754

20754:                                            ; preds = %20737, %20720
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #10
  br label %20755

20755:                                            ; preds = %20754
  br label %20756

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

20757:                                            ; No predecessors!
  br label %20758

20758:                                            ; preds = %20757
  br label %20759

20759:                                            ; preds = %20758, %20700
  br label %20760

20760:                                            ; preds = %20759
  br label %20761

20761:                                            ; preds = %20760
  br label %20762

20762:                                            ; preds = %20761
  %20763 = load i32, ptr @test_count, align 4, !tbaa !5
  %20764 = add nsw i32 %20763, 1
  store i32 %20764, ptr @test_count, align 4, !tbaa !5
  %20765 = load ptr, ptr %404, align 8, !tbaa !9
  %20766 = call i32 @s2n_config_free(ptr noundef %20765)
  %20767 = icmp eq i32 %20766, -1
  br i1 %20767, label %20768, label %20821

20768:                                            ; preds = %20762
  br label %20769

20769:                                            ; preds = %20768
  br label %20770

20770:                                            ; preds = %20769
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #10
  %20771 = call ptr @__errno_location() #11
  %20772 = load i32, ptr %20771, align 4, !tbaa !5
  store i32 %20772, ptr %427, align 4, !tbaa !5
  %20773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20774 = call i32 @s2n_print_stacktrace(ptr noundef %20773)
  %20775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20776 = trunc i8 %20775 to i1
  br i1 %20776, label %20777, label %20799

20777:                                            ; preds = %20770
  %20778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20779 = call i32 @fileno(ptr noundef %20778) #10
  %20780 = call i32 @isatty(i32 noundef %20779) #10
  %20781 = icmp ne i32 %20780, 0
  br i1 %20781, label %20782, label %20799

20782:                                            ; preds = %20777
  %20783 = load i32, ptr %427, align 4, !tbaa !5
  %20784 = call ptr @__errno_location() #11
  store i32 %20783, ptr %20784, align 4, !tbaa !5
  %20785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20786 = load i32, ptr @test_count, align 4, !tbaa !5
  %20787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20788 = load i32, ptr %20787, align 4, !tbaa !5
  %20789 = call ptr @s2n_strerror(i32 noundef %20788, ptr noundef @.str.4)
  %20790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20791 = load i32, ptr %20790, align 4, !tbaa !5
  %20792 = call ptr @s2n_strerror_debug(i32 noundef %20791, ptr noundef @.str.4)
  %20793 = call ptr @__errno_location() #11
  %20794 = load i32, ptr %20793, align 4, !tbaa !5
  %20795 = call ptr @strerror(i32 noundef %20794) #10
  %20796 = call ptr @__errno_location() #11
  %20797 = load i32, ptr %20796, align 4, !tbaa !5
  %20798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20785, ptr noundef @.str.2, i32 noundef %20786, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1113, ptr noundef %20789, ptr noundef %20792, ptr noundef %20795, i32 noundef %20797) #10
  br label %20816

20799:                                            ; preds = %20777, %20770
  %20800 = load i32, ptr %427, align 4, !tbaa !5
  %20801 = call ptr @__errno_location() #11
  store i32 %20800, ptr %20801, align 4, !tbaa !5
  %20802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20803 = load i32, ptr @test_count, align 4, !tbaa !5
  %20804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20805 = load i32, ptr %20804, align 4, !tbaa !5
  %20806 = call ptr @s2n_strerror(i32 noundef %20805, ptr noundef @.str.4)
  %20807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20808 = load i32, ptr %20807, align 4, !tbaa !5
  %20809 = call ptr @s2n_strerror_debug(i32 noundef %20808, ptr noundef @.str.4)
  %20810 = call ptr @__errno_location() #11
  %20811 = load i32, ptr %20810, align 4, !tbaa !5
  %20812 = call ptr @strerror(i32 noundef %20811) #10
  %20813 = call ptr @__errno_location() #11
  %20814 = load i32, ptr %20813, align 4, !tbaa !5
  %20815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20802, ptr noundef @.str.5, i32 noundef %20803, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1113, ptr noundef %20806, ptr noundef %20809, ptr noundef %20812, i32 noundef %20814) #10
  br label %20816

20816:                                            ; preds = %20799, %20782
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #10
  br label %20817

20817:                                            ; preds = %20816
  br label %20818

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

20819:                                            ; No predecessors!
  br label %20820

20820:                                            ; preds = %20819
  br label %20821

20821:                                            ; preds = %20820, %20762
  br label %20822

20822:                                            ; preds = %20821
  br label %20823

20823:                                            ; preds = %20822
  br label %20824

20824:                                            ; preds = %20823
  %20825 = load i32, ptr @test_count, align 4, !tbaa !5
  %20826 = add nsw i32 %20825, 1
  store i32 %20826, ptr @test_count, align 4, !tbaa !5
  %20827 = load ptr, ptr %403, align 8, !tbaa !9
  %20828 = call i32 @s2n_config_free(ptr noundef %20827)
  %20829 = icmp eq i32 %20828, -1
  br i1 %20829, label %20830, label %20883

20830:                                            ; preds = %20824
  br label %20831

20831:                                            ; preds = %20830
  br label %20832

20832:                                            ; preds = %20831
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #10
  %20833 = call ptr @__errno_location() #11
  %20834 = load i32, ptr %20833, align 4, !tbaa !5
  store i32 %20834, ptr %428, align 4, !tbaa !5
  %20835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20836 = call i32 @s2n_print_stacktrace(ptr noundef %20835)
  %20837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20838 = trunc i8 %20837 to i1
  br i1 %20838, label %20839, label %20861

20839:                                            ; preds = %20832
  %20840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20841 = call i32 @fileno(ptr noundef %20840) #10
  %20842 = call i32 @isatty(i32 noundef %20841) #10
  %20843 = icmp ne i32 %20842, 0
  br i1 %20843, label %20844, label %20861

20844:                                            ; preds = %20839
  %20845 = load i32, ptr %428, align 4, !tbaa !5
  %20846 = call ptr @__errno_location() #11
  store i32 %20845, ptr %20846, align 4, !tbaa !5
  %20847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20848 = load i32, ptr @test_count, align 4, !tbaa !5
  %20849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20850 = load i32, ptr %20849, align 4, !tbaa !5
  %20851 = call ptr @s2n_strerror(i32 noundef %20850, ptr noundef @.str.4)
  %20852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20853 = load i32, ptr %20852, align 4, !tbaa !5
  %20854 = call ptr @s2n_strerror_debug(i32 noundef %20853, ptr noundef @.str.4)
  %20855 = call ptr @__errno_location() #11
  %20856 = load i32, ptr %20855, align 4, !tbaa !5
  %20857 = call ptr @strerror(i32 noundef %20856) #10
  %20858 = call ptr @__errno_location() #11
  %20859 = load i32, ptr %20858, align 4, !tbaa !5
  %20860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20847, ptr noundef @.str.2, i32 noundef %20848, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1114, ptr noundef %20851, ptr noundef %20854, ptr noundef %20857, i32 noundef %20859) #10
  br label %20878

20861:                                            ; preds = %20839, %20832
  %20862 = load i32, ptr %428, align 4, !tbaa !5
  %20863 = call ptr @__errno_location() #11
  store i32 %20862, ptr %20863, align 4, !tbaa !5
  %20864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20865 = load i32, ptr @test_count, align 4, !tbaa !5
  %20866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20867 = load i32, ptr %20866, align 4, !tbaa !5
  %20868 = call ptr @s2n_strerror(i32 noundef %20867, ptr noundef @.str.4)
  %20869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20870 = load i32, ptr %20869, align 4, !tbaa !5
  %20871 = call ptr @s2n_strerror_debug(i32 noundef %20870, ptr noundef @.str.4)
  %20872 = call ptr @__errno_location() #11
  %20873 = load i32, ptr %20872, align 4, !tbaa !5
  %20874 = call ptr @strerror(i32 noundef %20873) #10
  %20875 = call ptr @__errno_location() #11
  %20876 = load i32, ptr %20875, align 4, !tbaa !5
  %20877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20864, ptr noundef @.str.5, i32 noundef %20865, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1114, ptr noundef %20868, ptr noundef %20871, ptr noundef %20874, i32 noundef %20876) #10
  br label %20878

20878:                                            ; preds = %20861, %20844
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #10
  br label %20879

20879:                                            ; preds = %20878
  br label %20880

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

20881:                                            ; No predecessors!
  br label %20882

20882:                                            ; preds = %20881
  br label %20883

20883:                                            ; preds = %20882, %20824
  br label %20884

20884:                                            ; preds = %20883
  br label %20885

20885:                                            ; preds = %20884
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %404) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %403) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %402) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %429) #10
  store ptr null, ptr %429, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %430) #10
  store ptr null, ptr %430, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %431) #10
  store ptr null, ptr %431, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %432) #10
  store ptr null, ptr %432, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %433) #10
  store ptr null, ptr %433, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #10
  store i32 0, ptr %434, align 4, !tbaa !5
  br label %20886

20886:                                            ; preds = %20885
  %20887 = load i32, ptr @test_count, align 4, !tbaa !5
  %20888 = add nsw i32 %20887, 1
  store i32 %20888, ptr @test_count, align 4, !tbaa !5
  %20889 = call ptr @s2n_config_new()
  store ptr %20889, ptr %431, align 8, !tbaa !9
  %20890 = icmp eq ptr %20889, null
  br i1 %20890, label %20891, label %20944

20891:                                            ; preds = %20886
  br label %20892

20892:                                            ; preds = %20891
  br label %20893

20893:                                            ; preds = %20892
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #10
  %20894 = call ptr @__errno_location() #11
  %20895 = load i32, ptr %20894, align 4, !tbaa !5
  store i32 %20895, ptr %435, align 4, !tbaa !5
  %20896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20897 = call i32 @s2n_print_stacktrace(ptr noundef %20896)
  %20898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20899 = trunc i8 %20898 to i1
  br i1 %20899, label %20900, label %20922

20900:                                            ; preds = %20893
  %20901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20902 = call i32 @fileno(ptr noundef %20901) #10
  %20903 = call i32 @isatty(i32 noundef %20902) #10
  %20904 = icmp ne i32 %20903, 0
  br i1 %20904, label %20905, label %20922

20905:                                            ; preds = %20900
  %20906 = load i32, ptr %435, align 4, !tbaa !5
  %20907 = call ptr @__errno_location() #11
  store i32 %20906, ptr %20907, align 4, !tbaa !5
  %20908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20909 = load i32, ptr @test_count, align 4, !tbaa !5
  %20910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20911 = load i32, ptr %20910, align 4, !tbaa !5
  %20912 = call ptr @s2n_strerror(i32 noundef %20911, ptr noundef @.str.4)
  %20913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20914 = load i32, ptr %20913, align 4, !tbaa !5
  %20915 = call ptr @s2n_strerror_debug(i32 noundef %20914, ptr noundef @.str.4)
  %20916 = call ptr @__errno_location() #11
  %20917 = load i32, ptr %20916, align 4, !tbaa !5
  %20918 = call ptr @strerror(i32 noundef %20917) #10
  %20919 = call ptr @__errno_location() #11
  %20920 = load i32, ptr %20919, align 4, !tbaa !5
  %20921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20908, ptr noundef @.str.2, i32 noundef %20909, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1127, ptr noundef %20912, ptr noundef %20915, ptr noundef %20918, i32 noundef %20920) #10
  br label %20939

20922:                                            ; preds = %20900, %20893
  %20923 = load i32, ptr %435, align 4, !tbaa !5
  %20924 = call ptr @__errno_location() #11
  store i32 %20923, ptr %20924, align 4, !tbaa !5
  %20925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20926 = load i32, ptr @test_count, align 4, !tbaa !5
  %20927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20928 = load i32, ptr %20927, align 4, !tbaa !5
  %20929 = call ptr @s2n_strerror(i32 noundef %20928, ptr noundef @.str.4)
  %20930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20931 = load i32, ptr %20930, align 4, !tbaa !5
  %20932 = call ptr @s2n_strerror_debug(i32 noundef %20931, ptr noundef @.str.4)
  %20933 = call ptr @__errno_location() #11
  %20934 = load i32, ptr %20933, align 4, !tbaa !5
  %20935 = call ptr @strerror(i32 noundef %20934) #10
  %20936 = call ptr @__errno_location() #11
  %20937 = load i32, ptr %20936, align 4, !tbaa !5
  %20938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20925, ptr noundef @.str.5, i32 noundef %20926, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1127, ptr noundef %20929, ptr noundef %20932, ptr noundef %20935, i32 noundef %20937) #10
  br label %20939

20939:                                            ; preds = %20922, %20905
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #10
  br label %20940

20940:                                            ; preds = %20939
  br label %20941

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

20942:                                            ; No predecessors!
  br label %20943

20943:                                            ; preds = %20942
  br label %20944

20944:                                            ; preds = %20943, %20886
  br label %20945

20945:                                            ; preds = %20944
  br label %20946

20946:                                            ; preds = %20945
  br label %20947

20947:                                            ; preds = %20946
  %20948 = load i32, ptr @test_count, align 4, !tbaa !5
  %20949 = add nsw i32 %20948, 1
  store i32 %20949, ptr @test_count, align 4, !tbaa !5
  %20950 = load ptr, ptr %431, align 8, !tbaa !9
  %20951 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %20950, i8 noundef zeroext 0)
  %20952 = icmp eq i32 %20951, -1
  br i1 %20952, label %20953, label %21006

20953:                                            ; preds = %20947
  br label %20954

20954:                                            ; preds = %20953
  br label %20955

20955:                                            ; preds = %20954
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #10
  %20956 = call ptr @__errno_location() #11
  %20957 = load i32, ptr %20956, align 4, !tbaa !5
  store i32 %20957, ptr %436, align 4, !tbaa !5
  %20958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20959 = call i32 @s2n_print_stacktrace(ptr noundef %20958)
  %20960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20961 = trunc i8 %20960 to i1
  br i1 %20961, label %20962, label %20984

20962:                                            ; preds = %20955
  %20963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20964 = call i32 @fileno(ptr noundef %20963) #10
  %20965 = call i32 @isatty(i32 noundef %20964) #10
  %20966 = icmp ne i32 %20965, 0
  br i1 %20966, label %20967, label %20984

20967:                                            ; preds = %20962
  %20968 = load i32, ptr %436, align 4, !tbaa !5
  %20969 = call ptr @__errno_location() #11
  store i32 %20968, ptr %20969, align 4, !tbaa !5
  %20970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20971 = load i32, ptr @test_count, align 4, !tbaa !5
  %20972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20973 = load i32, ptr %20972, align 4, !tbaa !5
  %20974 = call ptr @s2n_strerror(i32 noundef %20973, ptr noundef @.str.4)
  %20975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20976 = load i32, ptr %20975, align 4, !tbaa !5
  %20977 = call ptr @s2n_strerror_debug(i32 noundef %20976, ptr noundef @.str.4)
  %20978 = call ptr @__errno_location() #11
  %20979 = load i32, ptr %20978, align 4, !tbaa !5
  %20980 = call ptr @strerror(i32 noundef %20979) #10
  %20981 = call ptr @__errno_location() #11
  %20982 = load i32, ptr %20981, align 4, !tbaa !5
  %20983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20970, ptr noundef @.str.2, i32 noundef %20971, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %20974, ptr noundef %20977, ptr noundef %20980, i32 noundef %20982) #10
  br label %21001

20984:                                            ; preds = %20962, %20955
  %20985 = load i32, ptr %436, align 4, !tbaa !5
  %20986 = call ptr @__errno_location() #11
  store i32 %20985, ptr %20986, align 4, !tbaa !5
  %20987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20988 = load i32, ptr @test_count, align 4, !tbaa !5
  %20989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20990 = load i32, ptr %20989, align 4, !tbaa !5
  %20991 = call ptr @s2n_strerror(i32 noundef %20990, ptr noundef @.str.4)
  %20992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20993 = load i32, ptr %20992, align 4, !tbaa !5
  %20994 = call ptr @s2n_strerror_debug(i32 noundef %20993, ptr noundef @.str.4)
  %20995 = call ptr @__errno_location() #11
  %20996 = load i32, ptr %20995, align 4, !tbaa !5
  %20997 = call ptr @strerror(i32 noundef %20996) #10
  %20998 = call ptr @__errno_location() #11
  %20999 = load i32, ptr %20998, align 4, !tbaa !5
  %21000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20987, ptr noundef @.str.5, i32 noundef %20988, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1128, ptr noundef %20991, ptr noundef %20994, ptr noundef %20997, i32 noundef %20999) #10
  br label %21001

21001:                                            ; preds = %20984, %20967
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #10
  br label %21002

21002:                                            ; preds = %21001
  br label %21003

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

21004:                                            ; No predecessors!
  br label %21005

21005:                                            ; preds = %21004
  br label %21006

21006:                                            ; preds = %21005, %20947
  br label %21007

21007:                                            ; preds = %21006
  br label %21008

21008:                                            ; preds = %21007
  br label %21009

21009:                                            ; preds = %21008
  %21010 = load i32, ptr @test_count, align 4, !tbaa !5
  %21011 = add nsw i32 %21010, 1
  store i32 %21011, ptr @test_count, align 4, !tbaa !5
  %21012 = load ptr, ptr %431, align 8, !tbaa !9
  %21013 = call i32 @s2n_config_disable_x509_verification(ptr noundef %21012)
  %21014 = icmp eq i32 %21013, -1
  br i1 %21014, label %21015, label %21068

21015:                                            ; preds = %21009
  br label %21016

21016:                                            ; preds = %21015
  br label %21017

21017:                                            ; preds = %21016
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #10
  %21018 = call ptr @__errno_location() #11
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  store i32 %21019, ptr %437, align 4, !tbaa !5
  %21020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21021 = call i32 @s2n_print_stacktrace(ptr noundef %21020)
  %21022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21023 = trunc i8 %21022 to i1
  br i1 %21023, label %21024, label %21046

21024:                                            ; preds = %21017
  %21025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21026 = call i32 @fileno(ptr noundef %21025) #10
  %21027 = call i32 @isatty(i32 noundef %21026) #10
  %21028 = icmp ne i32 %21027, 0
  br i1 %21028, label %21029, label %21046

21029:                                            ; preds = %21024
  %21030 = load i32, ptr %437, align 4, !tbaa !5
  %21031 = call ptr @__errno_location() #11
  store i32 %21030, ptr %21031, align 4, !tbaa !5
  %21032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21033 = load i32, ptr @test_count, align 4, !tbaa !5
  %21034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21035 = load i32, ptr %21034, align 4, !tbaa !5
  %21036 = call ptr @s2n_strerror(i32 noundef %21035, ptr noundef @.str.4)
  %21037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21038 = load i32, ptr %21037, align 4, !tbaa !5
  %21039 = call ptr @s2n_strerror_debug(i32 noundef %21038, ptr noundef @.str.4)
  %21040 = call ptr @__errno_location() #11
  %21041 = load i32, ptr %21040, align 4, !tbaa !5
  %21042 = call ptr @strerror(i32 noundef %21041) #10
  %21043 = call ptr @__errno_location() #11
  %21044 = load i32, ptr %21043, align 4, !tbaa !5
  %21045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21032, ptr noundef @.str.2, i32 noundef %21033, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %21036, ptr noundef %21039, ptr noundef %21042, i32 noundef %21044) #10
  br label %21063

21046:                                            ; preds = %21024, %21017
  %21047 = load i32, ptr %437, align 4, !tbaa !5
  %21048 = call ptr @__errno_location() #11
  store i32 %21047, ptr %21048, align 4, !tbaa !5
  %21049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21050 = load i32, ptr @test_count, align 4, !tbaa !5
  %21051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21052 = load i32, ptr %21051, align 4, !tbaa !5
  %21053 = call ptr @s2n_strerror(i32 noundef %21052, ptr noundef @.str.4)
  %21054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21055 = load i32, ptr %21054, align 4, !tbaa !5
  %21056 = call ptr @s2n_strerror_debug(i32 noundef %21055, ptr noundef @.str.4)
  %21057 = call ptr @__errno_location() #11
  %21058 = load i32, ptr %21057, align 4, !tbaa !5
  %21059 = call ptr @strerror(i32 noundef %21058) #10
  %21060 = call ptr @__errno_location() #11
  %21061 = load i32, ptr %21060, align 4, !tbaa !5
  %21062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21049, ptr noundef @.str.5, i32 noundef %21050, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1129, ptr noundef %21053, ptr noundef %21056, ptr noundef %21059, i32 noundef %21061) #10
  br label %21063

21063:                                            ; preds = %21046, %21029
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #10
  br label %21064

21064:                                            ; preds = %21063
  br label %21065

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

21066:                                            ; No predecessors!
  br label %21067

21067:                                            ; preds = %21066
  br label %21068

21068:                                            ; preds = %21067, %21009
  br label %21069

21069:                                            ; preds = %21068
  br label %21070

21070:                                            ; preds = %21069
  br label %21071

21071:                                            ; preds = %21070
  %21072 = load i32, ptr @test_count, align 4, !tbaa !5
  %21073 = add nsw i32 %21072, 1
  store i32 %21073, ptr @test_count, align 4, !tbaa !5
  %21074 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21074, ptr %429, align 8, !tbaa !9
  %21075 = icmp eq ptr %21074, null
  br i1 %21075, label %21076, label %21129

21076:                                            ; preds = %21071
  br label %21077

21077:                                            ; preds = %21076
  br label %21078

21078:                                            ; preds = %21077
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #10
  %21079 = call ptr @__errno_location() #11
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  store i32 %21080, ptr %438, align 4, !tbaa !5
  %21081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21082 = call i32 @s2n_print_stacktrace(ptr noundef %21081)
  %21083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21084 = trunc i8 %21083 to i1
  br i1 %21084, label %21085, label %21107

21085:                                            ; preds = %21078
  %21086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21087 = call i32 @fileno(ptr noundef %21086) #10
  %21088 = call i32 @isatty(i32 noundef %21087) #10
  %21089 = icmp ne i32 %21088, 0
  br i1 %21089, label %21090, label %21107

21090:                                            ; preds = %21085
  %21091 = load i32, ptr %438, align 4, !tbaa !5
  %21092 = call ptr @__errno_location() #11
  store i32 %21091, ptr %21092, align 4, !tbaa !5
  %21093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21094 = load i32, ptr @test_count, align 4, !tbaa !5
  %21095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21096 = load i32, ptr %21095, align 4, !tbaa !5
  %21097 = call ptr @s2n_strerror(i32 noundef %21096, ptr noundef @.str.4)
  %21098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21099 = load i32, ptr %21098, align 4, !tbaa !5
  %21100 = call ptr @s2n_strerror_debug(i32 noundef %21099, ptr noundef @.str.4)
  %21101 = call ptr @__errno_location() #11
  %21102 = load i32, ptr %21101, align 4, !tbaa !5
  %21103 = call ptr @strerror(i32 noundef %21102) #10
  %21104 = call ptr @__errno_location() #11
  %21105 = load i32, ptr %21104, align 4, !tbaa !5
  %21106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21093, ptr noundef @.str.2, i32 noundef %21094, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1130, ptr noundef %21097, ptr noundef %21100, ptr noundef %21103, i32 noundef %21105) #10
  br label %21124

21107:                                            ; preds = %21085, %21078
  %21108 = load i32, ptr %438, align 4, !tbaa !5
  %21109 = call ptr @__errno_location() #11
  store i32 %21108, ptr %21109, align 4, !tbaa !5
  %21110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21111 = load i32, ptr @test_count, align 4, !tbaa !5
  %21112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21113 = load i32, ptr %21112, align 4, !tbaa !5
  %21114 = call ptr @s2n_strerror(i32 noundef %21113, ptr noundef @.str.4)
  %21115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21116 = load i32, ptr %21115, align 4, !tbaa !5
  %21117 = call ptr @s2n_strerror_debug(i32 noundef %21116, ptr noundef @.str.4)
  %21118 = call ptr @__errno_location() #11
  %21119 = load i32, ptr %21118, align 4, !tbaa !5
  %21120 = call ptr @strerror(i32 noundef %21119) #10
  %21121 = call ptr @__errno_location() #11
  %21122 = load i32, ptr %21121, align 4, !tbaa !5
  %21123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21110, ptr noundef @.str.5, i32 noundef %21111, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1130, ptr noundef %21114, ptr noundef %21117, ptr noundef %21120, i32 noundef %21122) #10
  br label %21124

21124:                                            ; preds = %21107, %21090
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #10
  br label %21125

21125:                                            ; preds = %21124
  br label %21126

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

21127:                                            ; No predecessors!
  br label %21128

21128:                                            ; preds = %21127
  br label %21129

21129:                                            ; preds = %21128, %21071
  br label %21130

21130:                                            ; preds = %21129
  br label %21131

21131:                                            ; preds = %21130
  br label %21132

21132:                                            ; preds = %21131
  %21133 = load i32, ptr @test_count, align 4, !tbaa !5
  %21134 = add nsw i32 %21133, 1
  store i32 %21134, ptr @test_count, align 4, !tbaa !5
  %21135 = load ptr, ptr %429, align 8, !tbaa !9
  %21136 = load ptr, ptr %431, align 8, !tbaa !9
  %21137 = call i32 @s2n_connection_set_config(ptr noundef %21135, ptr noundef %21136)
  %21138 = icmp eq i32 %21137, -1
  br i1 %21138, label %21139, label %21192

21139:                                            ; preds = %21132
  br label %21140

21140:                                            ; preds = %21139
  br label %21141

21141:                                            ; preds = %21140
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #10
  %21142 = call ptr @__errno_location() #11
  %21143 = load i32, ptr %21142, align 4, !tbaa !5
  store i32 %21143, ptr %439, align 4, !tbaa !5
  %21144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21145 = call i32 @s2n_print_stacktrace(ptr noundef %21144)
  %21146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21147 = trunc i8 %21146 to i1
  br i1 %21147, label %21148, label %21170

21148:                                            ; preds = %21141
  %21149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21150 = call i32 @fileno(ptr noundef %21149) #10
  %21151 = call i32 @isatty(i32 noundef %21150) #10
  %21152 = icmp ne i32 %21151, 0
  br i1 %21152, label %21153, label %21170

21153:                                            ; preds = %21148
  %21154 = load i32, ptr %439, align 4, !tbaa !5
  %21155 = call ptr @__errno_location() #11
  store i32 %21154, ptr %21155, align 4, !tbaa !5
  %21156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21157 = load i32, ptr @test_count, align 4, !tbaa !5
  %21158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21159 = load i32, ptr %21158, align 4, !tbaa !5
  %21160 = call ptr @s2n_strerror(i32 noundef %21159, ptr noundef @.str.4)
  %21161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21162 = load i32, ptr %21161, align 4, !tbaa !5
  %21163 = call ptr @s2n_strerror_debug(i32 noundef %21162, ptr noundef @.str.4)
  %21164 = call ptr @__errno_location() #11
  %21165 = load i32, ptr %21164, align 4, !tbaa !5
  %21166 = call ptr @strerror(i32 noundef %21165) #10
  %21167 = call ptr @__errno_location() #11
  %21168 = load i32, ptr %21167, align 4, !tbaa !5
  %21169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21156, ptr noundef @.str.2, i32 noundef %21157, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1131, ptr noundef %21160, ptr noundef %21163, ptr noundef %21166, i32 noundef %21168) #10
  br label %21187

21170:                                            ; preds = %21148, %21141
  %21171 = load i32, ptr %439, align 4, !tbaa !5
  %21172 = call ptr @__errno_location() #11
  store i32 %21171, ptr %21172, align 4, !tbaa !5
  %21173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21174 = load i32, ptr @test_count, align 4, !tbaa !5
  %21175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21176 = load i32, ptr %21175, align 4, !tbaa !5
  %21177 = call ptr @s2n_strerror(i32 noundef %21176, ptr noundef @.str.4)
  %21178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21179 = load i32, ptr %21178, align 4, !tbaa !5
  %21180 = call ptr @s2n_strerror_debug(i32 noundef %21179, ptr noundef @.str.4)
  %21181 = call ptr @__errno_location() #11
  %21182 = load i32, ptr %21181, align 4, !tbaa !5
  %21183 = call ptr @strerror(i32 noundef %21182) #10
  %21184 = call ptr @__errno_location() #11
  %21185 = load i32, ptr %21184, align 4, !tbaa !5
  %21186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21173, ptr noundef @.str.5, i32 noundef %21174, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1131, ptr noundef %21177, ptr noundef %21180, ptr noundef %21183, i32 noundef %21185) #10
  br label %21187

21187:                                            ; preds = %21170, %21153
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #10
  br label %21188

21188:                                            ; preds = %21187
  br label %21189

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

21190:                                            ; No predecessors!
  br label %21191

21191:                                            ; preds = %21190
  br label %21192

21192:                                            ; preds = %21191, %21132
  br label %21193

21193:                                            ; preds = %21192
  br label %21194

21194:                                            ; preds = %21193
  %21195 = load ptr, ptr %429, align 8, !tbaa !9
  %21196 = getelementptr inbounds %struct.s2n_connection, ptr %21195, i32 0, i32 23
  store i8 33, ptr %21196, align 4, !tbaa !15
  %21197 = load ptr, ptr %429, align 8, !tbaa !9
  %21198 = getelementptr inbounds %struct.s2n_connection, ptr %21197, i32 0, i32 22
  store i8 33, ptr %21198, align 1, !tbaa !42
  %21199 = load ptr, ptr %429, align 8, !tbaa !9
  %21200 = getelementptr inbounds %struct.s2n_connection, ptr %21199, i32 0, i32 21
  store i8 33, ptr %21200, align 2, !tbaa !43
  br label %21201

21201:                                            ; preds = %21194
  %21202 = load i32, ptr @test_count, align 4, !tbaa !5
  %21203 = add nsw i32 %21202, 1
  store i32 %21203, ptr @test_count, align 4, !tbaa !5
  %21204 = load ptr, ptr %431, align 8, !tbaa !9
  %21205 = call i32 @s2n_config_set_ct_support_level(ptr noundef %21204, i32 noundef 1)
  %21206 = icmp eq i32 %21205, -1
  br i1 %21206, label %21207, label %21260

21207:                                            ; preds = %21201
  br label %21208

21208:                                            ; preds = %21207
  br label %21209

21209:                                            ; preds = %21208
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #10
  %21210 = call ptr @__errno_location() #11
  %21211 = load i32, ptr %21210, align 4, !tbaa !5
  store i32 %21211, ptr %440, align 4, !tbaa !5
  %21212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21213 = call i32 @s2n_print_stacktrace(ptr noundef %21212)
  %21214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21215 = trunc i8 %21214 to i1
  br i1 %21215, label %21216, label %21238

21216:                                            ; preds = %21209
  %21217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21218 = call i32 @fileno(ptr noundef %21217) #10
  %21219 = call i32 @isatty(i32 noundef %21218) #10
  %21220 = icmp ne i32 %21219, 0
  br i1 %21220, label %21221, label %21238

21221:                                            ; preds = %21216
  %21222 = load i32, ptr %440, align 4, !tbaa !5
  %21223 = call ptr @__errno_location() #11
  store i32 %21222, ptr %21223, align 4, !tbaa !5
  %21224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21225 = load i32, ptr @test_count, align 4, !tbaa !5
  %21226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21227 = load i32, ptr %21226, align 4, !tbaa !5
  %21228 = call ptr @s2n_strerror(i32 noundef %21227, ptr noundef @.str.4)
  %21229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21230 = load i32, ptr %21229, align 4, !tbaa !5
  %21231 = call ptr @s2n_strerror_debug(i32 noundef %21230, ptr noundef @.str.4)
  %21232 = call ptr @__errno_location() #11
  %21233 = load i32, ptr %21232, align 4, !tbaa !5
  %21234 = call ptr @strerror(i32 noundef %21233) #10
  %21235 = call ptr @__errno_location() #11
  %21236 = load i32, ptr %21235, align 4, !tbaa !5
  %21237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21224, ptr noundef @.str.2, i32 noundef %21225, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1137, ptr noundef %21228, ptr noundef %21231, ptr noundef %21234, i32 noundef %21236) #10
  br label %21255

21238:                                            ; preds = %21216, %21209
  %21239 = load i32, ptr %440, align 4, !tbaa !5
  %21240 = call ptr @__errno_location() #11
  store i32 %21239, ptr %21240, align 4, !tbaa !5
  %21241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21242 = load i32, ptr @test_count, align 4, !tbaa !5
  %21243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21244 = load i32, ptr %21243, align 4, !tbaa !5
  %21245 = call ptr @s2n_strerror(i32 noundef %21244, ptr noundef @.str.4)
  %21246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21247 = load i32, ptr %21246, align 4, !tbaa !5
  %21248 = call ptr @s2n_strerror_debug(i32 noundef %21247, ptr noundef @.str.4)
  %21249 = call ptr @__errno_location() #11
  %21250 = load i32, ptr %21249, align 4, !tbaa !5
  %21251 = call ptr @strerror(i32 noundef %21250) #10
  %21252 = call ptr @__errno_location() #11
  %21253 = load i32, ptr %21252, align 4, !tbaa !5
  %21254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21241, ptr noundef @.str.5, i32 noundef %21242, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1137, ptr noundef %21245, ptr noundef %21248, ptr noundef %21251, i32 noundef %21253) #10
  br label %21255

21255:                                            ; preds = %21238, %21221
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #10
  br label %21256

21256:                                            ; preds = %21255
  br label %21257

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

21258:                                            ; No predecessors!
  br label %21259

21259:                                            ; preds = %21258
  br label %21260

21260:                                            ; preds = %21259, %21201
  br label %21261

21261:                                            ; preds = %21260
  br label %21262

21262:                                            ; preds = %21261
  br label %21263

21263:                                            ; preds = %21262
  %21264 = load i32, ptr @test_count, align 4, !tbaa !5
  %21265 = add nsw i32 %21264, 1
  store i32 %21265, ptr @test_count, align 4, !tbaa !5
  %21266 = load ptr, ptr %429, align 8, !tbaa !9
  %21267 = load ptr, ptr %431, align 8, !tbaa !9
  %21268 = call i32 @s2n_connection_set_config(ptr noundef %21266, ptr noundef %21267)
  %21269 = icmp eq i32 %21268, -1
  br i1 %21269, label %21270, label %21323

21270:                                            ; preds = %21263
  br label %21271

21271:                                            ; preds = %21270
  br label %21272

21272:                                            ; preds = %21271
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #10
  %21273 = call ptr @__errno_location() #11
  %21274 = load i32, ptr %21273, align 4, !tbaa !5
  store i32 %21274, ptr %441, align 4, !tbaa !5
  %21275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21276 = call i32 @s2n_print_stacktrace(ptr noundef %21275)
  %21277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21278 = trunc i8 %21277 to i1
  br i1 %21278, label %21279, label %21301

21279:                                            ; preds = %21272
  %21280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21281 = call i32 @fileno(ptr noundef %21280) #10
  %21282 = call i32 @isatty(i32 noundef %21281) #10
  %21283 = icmp ne i32 %21282, 0
  br i1 %21283, label %21284, label %21301

21284:                                            ; preds = %21279
  %21285 = load i32, ptr %441, align 4, !tbaa !5
  %21286 = call ptr @__errno_location() #11
  store i32 %21285, ptr %21286, align 4, !tbaa !5
  %21287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21288 = load i32, ptr @test_count, align 4, !tbaa !5
  %21289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21290 = load i32, ptr %21289, align 4, !tbaa !5
  %21291 = call ptr @s2n_strerror(i32 noundef %21290, ptr noundef @.str.4)
  %21292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21293 = load i32, ptr %21292, align 4, !tbaa !5
  %21294 = call ptr @s2n_strerror_debug(i32 noundef %21293, ptr noundef @.str.4)
  %21295 = call ptr @__errno_location() #11
  %21296 = load i32, ptr %21295, align 4, !tbaa !5
  %21297 = call ptr @strerror(i32 noundef %21296) #10
  %21298 = call ptr @__errno_location() #11
  %21299 = load i32, ptr %21298, align 4, !tbaa !5
  %21300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21287, ptr noundef @.str.2, i32 noundef %21288, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1138, ptr noundef %21291, ptr noundef %21294, ptr noundef %21297, i32 noundef %21299) #10
  br label %21318

21301:                                            ; preds = %21279, %21272
  %21302 = load i32, ptr %441, align 4, !tbaa !5
  %21303 = call ptr @__errno_location() #11
  store i32 %21302, ptr %21303, align 4, !tbaa !5
  %21304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21305 = load i32, ptr @test_count, align 4, !tbaa !5
  %21306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21307 = load i32, ptr %21306, align 4, !tbaa !5
  %21308 = call ptr @s2n_strerror(i32 noundef %21307, ptr noundef @.str.4)
  %21309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21310 = load i32, ptr %21309, align 4, !tbaa !5
  %21311 = call ptr @s2n_strerror_debug(i32 noundef %21310, ptr noundef @.str.4)
  %21312 = call ptr @__errno_location() #11
  %21313 = load i32, ptr %21312, align 4, !tbaa !5
  %21314 = call ptr @strerror(i32 noundef %21313) #10
  %21315 = call ptr @__errno_location() #11
  %21316 = load i32, ptr %21315, align 4, !tbaa !5
  %21317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21304, ptr noundef @.str.5, i32 noundef %21305, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1138, ptr noundef %21308, ptr noundef %21311, ptr noundef %21314, i32 noundef %21316) #10
  br label %21318

21318:                                            ; preds = %21301, %21284
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #10
  br label %21319

21319:                                            ; preds = %21318
  br label %21320

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

21321:                                            ; No predecessors!
  br label %21322

21322:                                            ; preds = %21321
  br label %21323

21323:                                            ; preds = %21322, %21263
  br label %21324

21324:                                            ; preds = %21323
  br label %21325

21325:                                            ; preds = %21324
  br label %21326

21326:                                            ; preds = %21325
  %21327 = load i32, ptr @test_count, align 4, !tbaa !5
  %21328 = add nsw i32 %21327, 1
  store i32 %21328, ptr @test_count, align 4, !tbaa !5
  %21329 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %21329, ptr %430, align 8, !tbaa !9
  %21330 = icmp eq ptr %21329, null
  br i1 %21330, label %21331, label %21384

21331:                                            ; preds = %21326
  br label %21332

21332:                                            ; preds = %21331
  br label %21333

21333:                                            ; preds = %21332
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #10
  %21334 = call ptr @__errno_location() #11
  %21335 = load i32, ptr %21334, align 4, !tbaa !5
  store i32 %21335, ptr %442, align 4, !tbaa !5
  %21336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21337 = call i32 @s2n_print_stacktrace(ptr noundef %21336)
  %21338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21339 = trunc i8 %21338 to i1
  br i1 %21339, label %21340, label %21362

21340:                                            ; preds = %21333
  %21341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21342 = call i32 @fileno(ptr noundef %21341) #10
  %21343 = call i32 @isatty(i32 noundef %21342) #10
  %21344 = icmp ne i32 %21343, 0
  br i1 %21344, label %21345, label %21362

21345:                                            ; preds = %21340
  %21346 = load i32, ptr %442, align 4, !tbaa !5
  %21347 = call ptr @__errno_location() #11
  store i32 %21346, ptr %21347, align 4, !tbaa !5
  %21348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21349 = load i32, ptr @test_count, align 4, !tbaa !5
  %21350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21351 = load i32, ptr %21350, align 4, !tbaa !5
  %21352 = call ptr @s2n_strerror(i32 noundef %21351, ptr noundef @.str.4)
  %21353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21354 = load i32, ptr %21353, align 4, !tbaa !5
  %21355 = call ptr @s2n_strerror_debug(i32 noundef %21354, ptr noundef @.str.4)
  %21356 = call ptr @__errno_location() #11
  %21357 = load i32, ptr %21356, align 4, !tbaa !5
  %21358 = call ptr @strerror(i32 noundef %21357) #10
  %21359 = call ptr @__errno_location() #11
  %21360 = load i32, ptr %21359, align 4, !tbaa !5
  %21361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21348, ptr noundef @.str.2, i32 noundef %21349, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1140, ptr noundef %21352, ptr noundef %21355, ptr noundef %21358, i32 noundef %21360) #10
  br label %21379

21362:                                            ; preds = %21340, %21333
  %21363 = load i32, ptr %442, align 4, !tbaa !5
  %21364 = call ptr @__errno_location() #11
  store i32 %21363, ptr %21364, align 4, !tbaa !5
  %21365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21366 = load i32, ptr @test_count, align 4, !tbaa !5
  %21367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21368 = load i32, ptr %21367, align 4, !tbaa !5
  %21369 = call ptr @s2n_strerror(i32 noundef %21368, ptr noundef @.str.4)
  %21370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21371 = load i32, ptr %21370, align 4, !tbaa !5
  %21372 = call ptr @s2n_strerror_debug(i32 noundef %21371, ptr noundef @.str.4)
  %21373 = call ptr @__errno_location() #11
  %21374 = load i32, ptr %21373, align 4, !tbaa !5
  %21375 = call ptr @strerror(i32 noundef %21374) #10
  %21376 = call ptr @__errno_location() #11
  %21377 = load i32, ptr %21376, align 4, !tbaa !5
  %21378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21365, ptr noundef @.str.5, i32 noundef %21366, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1140, ptr noundef %21369, ptr noundef %21372, ptr noundef %21375, i32 noundef %21377) #10
  br label %21379

21379:                                            ; preds = %21362, %21345
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #10
  br label %21380

21380:                                            ; preds = %21379
  br label %21381

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

21382:                                            ; No predecessors!
  br label %21383

21383:                                            ; preds = %21382
  br label %21384

21384:                                            ; preds = %21383, %21326
  br label %21385

21385:                                            ; preds = %21384
  br label %21386

21386:                                            ; preds = %21385
  %21387 = load ptr, ptr %430, align 8, !tbaa !9
  %21388 = getelementptr inbounds %struct.s2n_connection, ptr %21387, i32 0, i32 23
  store i8 33, ptr %21388, align 4, !tbaa !15
  %21389 = load ptr, ptr %430, align 8, !tbaa !9
  %21390 = getelementptr inbounds %struct.s2n_connection, ptr %21389, i32 0, i32 22
  store i8 33, ptr %21390, align 1, !tbaa !42
  %21391 = load ptr, ptr %430, align 8, !tbaa !9
  %21392 = getelementptr inbounds %struct.s2n_connection, ptr %21391, i32 0, i32 21
  store i8 33, ptr %21392, align 2, !tbaa !43
  br label %21393

21393:                                            ; preds = %21386
  %21394 = load i32, ptr @test_count, align 4, !tbaa !5
  %21395 = add nsw i32 %21394, 1
  store i32 %21395, ptr @test_count, align 4, !tbaa !5
  %21396 = load ptr, ptr %429, align 8, !tbaa !9
  %21397 = load ptr, ptr %430, align 8, !tbaa !9
  %21398 = call i32 @s2n_connections_set_io_pair(ptr noundef %21396, ptr noundef %21397, ptr noundef %15)
  %21399 = icmp eq i32 %21398, -1
  br i1 %21399, label %21400, label %21453

21400:                                            ; preds = %21393
  br label %21401

21401:                                            ; preds = %21400
  br label %21402

21402:                                            ; preds = %21401
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #10
  %21403 = call ptr @__errno_location() #11
  %21404 = load i32, ptr %21403, align 4, !tbaa !5
  store i32 %21404, ptr %443, align 4, !tbaa !5
  %21405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21406 = call i32 @s2n_print_stacktrace(ptr noundef %21405)
  %21407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21408 = trunc i8 %21407 to i1
  br i1 %21408, label %21409, label %21431

21409:                                            ; preds = %21402
  %21410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21411 = call i32 @fileno(ptr noundef %21410) #10
  %21412 = call i32 @isatty(i32 noundef %21411) #10
  %21413 = icmp ne i32 %21412, 0
  br i1 %21413, label %21414, label %21431

21414:                                            ; preds = %21409
  %21415 = load i32, ptr %443, align 4, !tbaa !5
  %21416 = call ptr @__errno_location() #11
  store i32 %21415, ptr %21416, align 4, !tbaa !5
  %21417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21418 = load i32, ptr @test_count, align 4, !tbaa !5
  %21419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21420 = load i32, ptr %21419, align 4, !tbaa !5
  %21421 = call ptr @s2n_strerror(i32 noundef %21420, ptr noundef @.str.4)
  %21422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21423 = load i32, ptr %21422, align 4, !tbaa !5
  %21424 = call ptr @s2n_strerror_debug(i32 noundef %21423, ptr noundef @.str.4)
  %21425 = call ptr @__errno_location() #11
  %21426 = load i32, ptr %21425, align 4, !tbaa !5
  %21427 = call ptr @strerror(i32 noundef %21426) #10
  %21428 = call ptr @__errno_location() #11
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  %21430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21417, ptr noundef @.str.2, i32 noundef %21418, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %21421, ptr noundef %21424, ptr noundef %21427, i32 noundef %21429) #10
  br label %21448

21431:                                            ; preds = %21409, %21402
  %21432 = load i32, ptr %443, align 4, !tbaa !5
  %21433 = call ptr @__errno_location() #11
  store i32 %21432, ptr %21433, align 4, !tbaa !5
  %21434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21435 = load i32, ptr @test_count, align 4, !tbaa !5
  %21436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21437 = load i32, ptr %21436, align 4, !tbaa !5
  %21438 = call ptr @s2n_strerror(i32 noundef %21437, ptr noundef @.str.4)
  %21439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21440 = load i32, ptr %21439, align 4, !tbaa !5
  %21441 = call ptr @s2n_strerror_debug(i32 noundef %21440, ptr noundef @.str.4)
  %21442 = call ptr @__errno_location() #11
  %21443 = load i32, ptr %21442, align 4, !tbaa !5
  %21444 = call ptr @strerror(i32 noundef %21443) #10
  %21445 = call ptr @__errno_location() #11
  %21446 = load i32, ptr %21445, align 4, !tbaa !5
  %21447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21434, ptr noundef @.str.5, i32 noundef %21435, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %21438, ptr noundef %21441, ptr noundef %21444, i32 noundef %21446) #10
  br label %21448

21448:                                            ; preds = %21431, %21414
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #10
  br label %21449

21449:                                            ; preds = %21448
  br label %21450

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

21451:                                            ; No predecessors!
  br label %21452

21452:                                            ; preds = %21451
  br label %21453

21453:                                            ; preds = %21452, %21393
  br label %21454

21454:                                            ; preds = %21453
  br label %21455

21455:                                            ; preds = %21454
  br label %21456

21456:                                            ; preds = %21455
  %21457 = load i32, ptr @test_count, align 4, !tbaa !5
  %21458 = add nsw i32 %21457, 1
  store i32 %21458, ptr @test_count, align 4, !tbaa !5
  %21459 = call ptr @s2n_config_new()
  store ptr %21459, ptr %432, align 8, !tbaa !9
  %21460 = icmp eq ptr %21459, null
  br i1 %21460, label %21461, label %21514

21461:                                            ; preds = %21456
  br label %21462

21462:                                            ; preds = %21461
  br label %21463

21463:                                            ; preds = %21462
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #10
  %21464 = call ptr @__errno_location() #11
  %21465 = load i32, ptr %21464, align 4, !tbaa !5
  store i32 %21465, ptr %444, align 4, !tbaa !5
  %21466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21467 = call i32 @s2n_print_stacktrace(ptr noundef %21466)
  %21468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21469 = trunc i8 %21468 to i1
  br i1 %21469, label %21470, label %21492

21470:                                            ; preds = %21463
  %21471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21472 = call i32 @fileno(ptr noundef %21471) #10
  %21473 = call i32 @isatty(i32 noundef %21472) #10
  %21474 = icmp ne i32 %21473, 0
  br i1 %21474, label %21475, label %21492

21475:                                            ; preds = %21470
  %21476 = load i32, ptr %444, align 4, !tbaa !5
  %21477 = call ptr @__errno_location() #11
  store i32 %21476, ptr %21477, align 4, !tbaa !5
  %21478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21479 = load i32, ptr @test_count, align 4, !tbaa !5
  %21480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21481 = load i32, ptr %21480, align 4, !tbaa !5
  %21482 = call ptr @s2n_strerror(i32 noundef %21481, ptr noundef @.str.4)
  %21483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21484 = load i32, ptr %21483, align 4, !tbaa !5
  %21485 = call ptr @s2n_strerror_debug(i32 noundef %21484, ptr noundef @.str.4)
  %21486 = call ptr @__errno_location() #11
  %21487 = load i32, ptr %21486, align 4, !tbaa !5
  %21488 = call ptr @strerror(i32 noundef %21487) #10
  %21489 = call ptr @__errno_location() #11
  %21490 = load i32, ptr %21489, align 4, !tbaa !5
  %21491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21478, ptr noundef @.str.2, i32 noundef %21479, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1147, ptr noundef %21482, ptr noundef %21485, ptr noundef %21488, i32 noundef %21490) #10
  br label %21509

21492:                                            ; preds = %21470, %21463
  %21493 = load i32, ptr %444, align 4, !tbaa !5
  %21494 = call ptr @__errno_location() #11
  store i32 %21493, ptr %21494, align 4, !tbaa !5
  %21495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21496 = load i32, ptr @test_count, align 4, !tbaa !5
  %21497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21498 = load i32, ptr %21497, align 4, !tbaa !5
  %21499 = call ptr @s2n_strerror(i32 noundef %21498, ptr noundef @.str.4)
  %21500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21501 = load i32, ptr %21500, align 4, !tbaa !5
  %21502 = call ptr @s2n_strerror_debug(i32 noundef %21501, ptr noundef @.str.4)
  %21503 = call ptr @__errno_location() #11
  %21504 = load i32, ptr %21503, align 4, !tbaa !5
  %21505 = call ptr @strerror(i32 noundef %21504) #10
  %21506 = call ptr @__errno_location() #11
  %21507 = load i32, ptr %21506, align 4, !tbaa !5
  %21508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21495, ptr noundef @.str.5, i32 noundef %21496, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1147, ptr noundef %21499, ptr noundef %21502, ptr noundef %21505, i32 noundef %21507) #10
  br label %21509

21509:                                            ; preds = %21492, %21475
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #10
  br label %21510

21510:                                            ; preds = %21509
  br label %21511

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

21512:                                            ; No predecessors!
  br label %21513

21513:                                            ; preds = %21512
  br label %21514

21514:                                            ; preds = %21513, %21456
  br label %21515

21515:                                            ; preds = %21514
  br label %21516

21516:                                            ; preds = %21515
  br label %21517

21517:                                            ; preds = %21516
  %21518 = load i32, ptr @test_count, align 4, !tbaa !5
  %21519 = add nsw i32 %21518, 1
  store i32 %21519, ptr @test_count, align 4, !tbaa !5
  %21520 = load ptr, ptr %6, align 8, !tbaa !9
  %21521 = call i32 @s2n_read_test_pem(ptr noundef @.str.23, ptr noundef %21520, i64 noundef 12000)
  %21522 = icmp eq i32 %21521, -1
  br i1 %21522, label %21523, label %21576

21523:                                            ; preds = %21517
  br label %21524

21524:                                            ; preds = %21523
  br label %21525

21525:                                            ; preds = %21524
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #10
  %21526 = call ptr @__errno_location() #11
  %21527 = load i32, ptr %21526, align 4, !tbaa !5
  store i32 %21527, ptr %445, align 4, !tbaa !5
  %21528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21529 = call i32 @s2n_print_stacktrace(ptr noundef %21528)
  %21530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21531 = trunc i8 %21530 to i1
  br i1 %21531, label %21532, label %21554

21532:                                            ; preds = %21525
  %21533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21534 = call i32 @fileno(ptr noundef %21533) #10
  %21535 = call i32 @isatty(i32 noundef %21534) #10
  %21536 = icmp ne i32 %21535, 0
  br i1 %21536, label %21537, label %21554

21537:                                            ; preds = %21532
  %21538 = load i32, ptr %445, align 4, !tbaa !5
  %21539 = call ptr @__errno_location() #11
  store i32 %21538, ptr %21539, align 4, !tbaa !5
  %21540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21541 = load i32, ptr @test_count, align 4, !tbaa !5
  %21542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21543 = load i32, ptr %21542, align 4, !tbaa !5
  %21544 = call ptr @s2n_strerror(i32 noundef %21543, ptr noundef @.str.4)
  %21545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21546 = load i32, ptr %21545, align 4, !tbaa !5
  %21547 = call ptr @s2n_strerror_debug(i32 noundef %21546, ptr noundef @.str.4)
  %21548 = call ptr @__errno_location() #11
  %21549 = load i32, ptr %21548, align 4, !tbaa !5
  %21550 = call ptr @strerror(i32 noundef %21549) #10
  %21551 = call ptr @__errno_location() #11
  %21552 = load i32, ptr %21551, align 4, !tbaa !5
  %21553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21540, ptr noundef @.str.2, i32 noundef %21541, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %21544, ptr noundef %21547, ptr noundef %21550, i32 noundef %21552) #10
  br label %21571

21554:                                            ; preds = %21532, %21525
  %21555 = load i32, ptr %445, align 4, !tbaa !5
  %21556 = call ptr @__errno_location() #11
  store i32 %21555, ptr %21556, align 4, !tbaa !5
  %21557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21558 = load i32, ptr @test_count, align 4, !tbaa !5
  %21559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21560 = load i32, ptr %21559, align 4, !tbaa !5
  %21561 = call ptr @s2n_strerror(i32 noundef %21560, ptr noundef @.str.4)
  %21562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21563 = load i32, ptr %21562, align 4, !tbaa !5
  %21564 = call ptr @s2n_strerror_debug(i32 noundef %21563, ptr noundef @.str.4)
  %21565 = call ptr @__errno_location() #11
  %21566 = load i32, ptr %21565, align 4, !tbaa !5
  %21567 = call ptr @strerror(i32 noundef %21566) #10
  %21568 = call ptr @__errno_location() #11
  %21569 = load i32, ptr %21568, align 4, !tbaa !5
  %21570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21557, ptr noundef @.str.5, i32 noundef %21558, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %21561, ptr noundef %21564, ptr noundef %21567, i32 noundef %21569) #10
  br label %21571

21571:                                            ; preds = %21554, %21537
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #10
  br label %21572

21572:                                            ; preds = %21571
  br label %21573

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

21574:                                            ; No predecessors!
  br label %21575

21575:                                            ; preds = %21574
  br label %21576

21576:                                            ; preds = %21575, %21517
  br label %21577

21577:                                            ; preds = %21576
  br label %21578

21578:                                            ; preds = %21577
  br label %21579

21579:                                            ; preds = %21578
  %21580 = load i32, ptr @test_count, align 4, !tbaa !5
  %21581 = add nsw i32 %21580, 1
  store i32 %21581, ptr @test_count, align 4, !tbaa !5
  %21582 = load ptr, ptr %7, align 8, !tbaa !9
  %21583 = call i32 @s2n_read_test_pem(ptr noundef @.str.25, ptr noundef %21582, i64 noundef 12000)
  %21584 = icmp eq i32 %21583, -1
  br i1 %21584, label %21585, label %21638

21585:                                            ; preds = %21579
  br label %21586

21586:                                            ; preds = %21585
  br label %21587

21587:                                            ; preds = %21586
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #10
  %21588 = call ptr @__errno_location() #11
  %21589 = load i32, ptr %21588, align 4, !tbaa !5
  store i32 %21589, ptr %446, align 4, !tbaa !5
  %21590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21591 = call i32 @s2n_print_stacktrace(ptr noundef %21590)
  %21592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21593 = trunc i8 %21592 to i1
  br i1 %21593, label %21594, label %21616

21594:                                            ; preds = %21587
  %21595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21596 = call i32 @fileno(ptr noundef %21595) #10
  %21597 = call i32 @isatty(i32 noundef %21596) #10
  %21598 = icmp ne i32 %21597, 0
  br i1 %21598, label %21599, label %21616

21599:                                            ; preds = %21594
  %21600 = load i32, ptr %446, align 4, !tbaa !5
  %21601 = call ptr @__errno_location() #11
  store i32 %21600, ptr %21601, align 4, !tbaa !5
  %21602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21603 = load i32, ptr @test_count, align 4, !tbaa !5
  %21604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21605 = load i32, ptr %21604, align 4, !tbaa !5
  %21606 = call ptr @s2n_strerror(i32 noundef %21605, ptr noundef @.str.4)
  %21607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21608 = load i32, ptr %21607, align 4, !tbaa !5
  %21609 = call ptr @s2n_strerror_debug(i32 noundef %21608, ptr noundef @.str.4)
  %21610 = call ptr @__errno_location() #11
  %21611 = load i32, ptr %21610, align 4, !tbaa !5
  %21612 = call ptr @strerror(i32 noundef %21611) #10
  %21613 = call ptr @__errno_location() #11
  %21614 = load i32, ptr %21613, align 4, !tbaa !5
  %21615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21602, ptr noundef @.str.2, i32 noundef %21603, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1149, ptr noundef %21606, ptr noundef %21609, ptr noundef %21612, i32 noundef %21614) #10
  br label %21633

21616:                                            ; preds = %21594, %21587
  %21617 = load i32, ptr %446, align 4, !tbaa !5
  %21618 = call ptr @__errno_location() #11
  store i32 %21617, ptr %21618, align 4, !tbaa !5
  %21619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21620 = load i32, ptr @test_count, align 4, !tbaa !5
  %21621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21622 = load i32, ptr %21621, align 4, !tbaa !5
  %21623 = call ptr @s2n_strerror(i32 noundef %21622, ptr noundef @.str.4)
  %21624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21625 = load i32, ptr %21624, align 4, !tbaa !5
  %21626 = call ptr @s2n_strerror_debug(i32 noundef %21625, ptr noundef @.str.4)
  %21627 = call ptr @__errno_location() #11
  %21628 = load i32, ptr %21627, align 4, !tbaa !5
  %21629 = call ptr @strerror(i32 noundef %21628) #10
  %21630 = call ptr @__errno_location() #11
  %21631 = load i32, ptr %21630, align 4, !tbaa !5
  %21632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21619, ptr noundef @.str.5, i32 noundef %21620, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 1149, ptr noundef %21623, ptr noundef %21626, ptr noundef %21629, i32 noundef %21631) #10
  br label %21633

21633:                                            ; preds = %21616, %21599
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #10
  br label %21634

21634:                                            ; preds = %21633
  br label %21635

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

21636:                                            ; No predecessors!
  br label %21637

21637:                                            ; preds = %21636
  br label %21638

21638:                                            ; preds = %21637, %21579
  br label %21639

21639:                                            ; preds = %21638
  br label %21640

21640:                                            ; preds = %21639
  br label %21641

21641:                                            ; preds = %21640
  %21642 = load i32, ptr @test_count, align 4, !tbaa !5
  %21643 = add nsw i32 %21642, 1
  store i32 %21643, ptr @test_count, align 4, !tbaa !5
  %21644 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %21644, ptr %433, align 8, !tbaa !9
  %21645 = icmp eq ptr %21644, null
  br i1 %21645, label %21646, label %21699

21646:                                            ; preds = %21641
  br label %21647

21647:                                            ; preds = %21646
  br label %21648

21648:                                            ; preds = %21647
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #10
  %21649 = call ptr @__errno_location() #11
  %21650 = load i32, ptr %21649, align 4, !tbaa !5
  store i32 %21650, ptr %447, align 4, !tbaa !5
  %21651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21652 = call i32 @s2n_print_stacktrace(ptr noundef %21651)
  %21653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21654 = trunc i8 %21653 to i1
  br i1 %21654, label %21655, label %21677

21655:                                            ; preds = %21648
  %21656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21657 = call i32 @fileno(ptr noundef %21656) #10
  %21658 = call i32 @isatty(i32 noundef %21657) #10
  %21659 = icmp ne i32 %21658, 0
  br i1 %21659, label %21660, label %21677

21660:                                            ; preds = %21655
  %21661 = load i32, ptr %447, align 4, !tbaa !5
  %21662 = call ptr @__errno_location() #11
  store i32 %21661, ptr %21662, align 4, !tbaa !5
  %21663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21664 = load i32, ptr @test_count, align 4, !tbaa !5
  %21665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21666 = load i32, ptr %21665, align 4, !tbaa !5
  %21667 = call ptr @s2n_strerror(i32 noundef %21666, ptr noundef @.str.4)
  %21668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21669 = load i32, ptr %21668, align 4, !tbaa !5
  %21670 = call ptr @s2n_strerror_debug(i32 noundef %21669, ptr noundef @.str.4)
  %21671 = call ptr @__errno_location() #11
  %21672 = load i32, ptr %21671, align 4, !tbaa !5
  %21673 = call ptr @strerror(i32 noundef %21672) #10
  %21674 = call ptr @__errno_location() #11
  %21675 = load i32, ptr %21674, align 4, !tbaa !5
  %21676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21663, ptr noundef @.str.2, i32 noundef %21664, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %21667, ptr noundef %21670, ptr noundef %21673, i32 noundef %21675) #10
  br label %21694

21677:                                            ; preds = %21655, %21648
  %21678 = load i32, ptr %447, align 4, !tbaa !5
  %21679 = call ptr @__errno_location() #11
  store i32 %21678, ptr %21679, align 4, !tbaa !5
  %21680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21681 = load i32, ptr @test_count, align 4, !tbaa !5
  %21682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21683 = load i32, ptr %21682, align 4, !tbaa !5
  %21684 = call ptr @s2n_strerror(i32 noundef %21683, ptr noundef @.str.4)
  %21685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21686 = load i32, ptr %21685, align 4, !tbaa !5
  %21687 = call ptr @s2n_strerror_debug(i32 noundef %21686, ptr noundef @.str.4)
  %21688 = call ptr @__errno_location() #11
  %21689 = load i32, ptr %21688, align 4, !tbaa !5
  %21690 = call ptr @strerror(i32 noundef %21689) #10
  %21691 = call ptr @__errno_location() #11
  %21692 = load i32, ptr %21691, align 4, !tbaa !5
  %21693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21680, ptr noundef @.str.5, i32 noundef %21681, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1150, ptr noundef %21684, ptr noundef %21687, ptr noundef %21690, i32 noundef %21692) #10
  br label %21694

21694:                                            ; preds = %21677, %21660
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #10
  br label %21695

21695:                                            ; preds = %21694
  br label %21696

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

21697:                                            ; No predecessors!
  br label %21698

21698:                                            ; preds = %21697
  br label %21699

21699:                                            ; preds = %21698, %21641
  br label %21700

21700:                                            ; preds = %21699
  br label %21701

21701:                                            ; preds = %21700
  br label %21702

21702:                                            ; preds = %21701
  %21703 = load i32, ptr @test_count, align 4, !tbaa !5
  %21704 = add nsw i32 %21703, 1
  store i32 %21704, ptr @test_count, align 4, !tbaa !5
  %21705 = load ptr, ptr %433, align 8, !tbaa !9
  %21706 = load ptr, ptr %6, align 8, !tbaa !9
  %21707 = load ptr, ptr %7, align 8, !tbaa !9
  %21708 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %21705, ptr noundef %21706, ptr noundef %21707)
  %21709 = icmp eq i32 %21708, -1
  br i1 %21709, label %21710, label %21763

21710:                                            ; preds = %21702
  br label %21711

21711:                                            ; preds = %21710
  br label %21712

21712:                                            ; preds = %21711
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #10
  %21713 = call ptr @__errno_location() #11
  %21714 = load i32, ptr %21713, align 4, !tbaa !5
  store i32 %21714, ptr %448, align 4, !tbaa !5
  %21715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21716 = call i32 @s2n_print_stacktrace(ptr noundef %21715)
  %21717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21718 = trunc i8 %21717 to i1
  br i1 %21718, label %21719, label %21741

21719:                                            ; preds = %21712
  %21720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21721 = call i32 @fileno(ptr noundef %21720) #10
  %21722 = call i32 @isatty(i32 noundef %21721) #10
  %21723 = icmp ne i32 %21722, 0
  br i1 %21723, label %21724, label %21741

21724:                                            ; preds = %21719
  %21725 = load i32, ptr %448, align 4, !tbaa !5
  %21726 = call ptr @__errno_location() #11
  store i32 %21725, ptr %21726, align 4, !tbaa !5
  %21727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21728 = load i32, ptr @test_count, align 4, !tbaa !5
  %21729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21730 = load i32, ptr %21729, align 4, !tbaa !5
  %21731 = call ptr @s2n_strerror(i32 noundef %21730, ptr noundef @.str.4)
  %21732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21733 = load i32, ptr %21732, align 4, !tbaa !5
  %21734 = call ptr @s2n_strerror_debug(i32 noundef %21733, ptr noundef @.str.4)
  %21735 = call ptr @__errno_location() #11
  %21736 = load i32, ptr %21735, align 4, !tbaa !5
  %21737 = call ptr @strerror(i32 noundef %21736) #10
  %21738 = call ptr @__errno_location() #11
  %21739 = load i32, ptr %21738, align 4, !tbaa !5
  %21740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21727, ptr noundef @.str.2, i32 noundef %21728, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1151, ptr noundef %21731, ptr noundef %21734, ptr noundef %21737, i32 noundef %21739) #10
  br label %21758

21741:                                            ; preds = %21719, %21712
  %21742 = load i32, ptr %448, align 4, !tbaa !5
  %21743 = call ptr @__errno_location() #11
  store i32 %21742, ptr %21743, align 4, !tbaa !5
  %21744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21745 = load i32, ptr @test_count, align 4, !tbaa !5
  %21746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21747 = load i32, ptr %21746, align 4, !tbaa !5
  %21748 = call ptr @s2n_strerror(i32 noundef %21747, ptr noundef @.str.4)
  %21749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21750 = load i32, ptr %21749, align 4, !tbaa !5
  %21751 = call ptr @s2n_strerror_debug(i32 noundef %21750, ptr noundef @.str.4)
  %21752 = call ptr @__errno_location() #11
  %21753 = load i32, ptr %21752, align 4, !tbaa !5
  %21754 = call ptr @strerror(i32 noundef %21753) #10
  %21755 = call ptr @__errno_location() #11
  %21756 = load i32, ptr %21755, align 4, !tbaa !5
  %21757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21744, ptr noundef @.str.5, i32 noundef %21745, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1151, ptr noundef %21748, ptr noundef %21751, ptr noundef %21754, i32 noundef %21756) #10
  br label %21758

21758:                                            ; preds = %21741, %21724
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #10
  br label %21759

21759:                                            ; preds = %21758
  br label %21760

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

21761:                                            ; No predecessors!
  br label %21762

21762:                                            ; preds = %21761
  br label %21763

21763:                                            ; preds = %21762, %21702
  br label %21764

21764:                                            ; preds = %21763
  br label %21765

21765:                                            ; preds = %21764
  br label %21766

21766:                                            ; preds = %21765
  %21767 = load i32, ptr @test_count, align 4, !tbaa !5
  %21768 = add nsw i32 %21767, 1
  store i32 %21768, ptr @test_count, align 4, !tbaa !5
  %21769 = load ptr, ptr %432, align 8, !tbaa !9
  %21770 = load ptr, ptr %433, align 8, !tbaa !9
  %21771 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %21769, ptr noundef %21770)
  %21772 = icmp eq i32 %21771, -1
  br i1 %21772, label %21773, label %21826

21773:                                            ; preds = %21766
  br label %21774

21774:                                            ; preds = %21773
  br label %21775

21775:                                            ; preds = %21774
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #10
  %21776 = call ptr @__errno_location() #11
  %21777 = load i32, ptr %21776, align 4, !tbaa !5
  store i32 %21777, ptr %449, align 4, !tbaa !5
  %21778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21779 = call i32 @s2n_print_stacktrace(ptr noundef %21778)
  %21780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21781 = trunc i8 %21780 to i1
  br i1 %21781, label %21782, label %21804

21782:                                            ; preds = %21775
  %21783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21784 = call i32 @fileno(ptr noundef %21783) #10
  %21785 = call i32 @isatty(i32 noundef %21784) #10
  %21786 = icmp ne i32 %21785, 0
  br i1 %21786, label %21787, label %21804

21787:                                            ; preds = %21782
  %21788 = load i32, ptr %449, align 4, !tbaa !5
  %21789 = call ptr @__errno_location() #11
  store i32 %21788, ptr %21789, align 4, !tbaa !5
  %21790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21791 = load i32, ptr @test_count, align 4, !tbaa !5
  %21792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21793 = load i32, ptr %21792, align 4, !tbaa !5
  %21794 = call ptr @s2n_strerror(i32 noundef %21793, ptr noundef @.str.4)
  %21795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21796 = load i32, ptr %21795, align 4, !tbaa !5
  %21797 = call ptr @s2n_strerror_debug(i32 noundef %21796, ptr noundef @.str.4)
  %21798 = call ptr @__errno_location() #11
  %21799 = load i32, ptr %21798, align 4, !tbaa !5
  %21800 = call ptr @strerror(i32 noundef %21799) #10
  %21801 = call ptr @__errno_location() #11
  %21802 = load i32, ptr %21801, align 4, !tbaa !5
  %21803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21790, ptr noundef @.str.2, i32 noundef %21791, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %21794, ptr noundef %21797, ptr noundef %21800, i32 noundef %21802) #10
  br label %21821

21804:                                            ; preds = %21782, %21775
  %21805 = load i32, ptr %449, align 4, !tbaa !5
  %21806 = call ptr @__errno_location() #11
  store i32 %21805, ptr %21806, align 4, !tbaa !5
  %21807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21808 = load i32, ptr @test_count, align 4, !tbaa !5
  %21809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21810 = load i32, ptr %21809, align 4, !tbaa !5
  %21811 = call ptr @s2n_strerror(i32 noundef %21810, ptr noundef @.str.4)
  %21812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21813 = load i32, ptr %21812, align 4, !tbaa !5
  %21814 = call ptr @s2n_strerror_debug(i32 noundef %21813, ptr noundef @.str.4)
  %21815 = call ptr @__errno_location() #11
  %21816 = load i32, ptr %21815, align 4, !tbaa !5
  %21817 = call ptr @strerror(i32 noundef %21816) #10
  %21818 = call ptr @__errno_location() #11
  %21819 = load i32, ptr %21818, align 4, !tbaa !5
  %21820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21807, ptr noundef @.str.5, i32 noundef %21808, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %21811, ptr noundef %21814, ptr noundef %21817, i32 noundef %21819) #10
  br label %21821

21821:                                            ; preds = %21804, %21787
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #10
  br label %21822

21822:                                            ; preds = %21821
  br label %21823

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

21824:                                            ; No predecessors!
  br label %21825

21825:                                            ; preds = %21824
  br label %21826

21826:                                            ; preds = %21825, %21766
  br label %21827

21827:                                            ; preds = %21826
  br label %21828

21828:                                            ; preds = %21827
  br label %21829

21829:                                            ; preds = %21828
  %21830 = load i32, ptr @test_count, align 4, !tbaa !5
  %21831 = add nsw i32 %21830, 1
  store i32 %21831, ptr @test_count, align 4, !tbaa !5
  %21832 = load ptr, ptr %430, align 8, !tbaa !9
  %21833 = load ptr, ptr %432, align 8, !tbaa !9
  %21834 = call i32 @s2n_connection_set_config(ptr noundef %21832, ptr noundef %21833)
  %21835 = icmp eq i32 %21834, -1
  br i1 %21835, label %21836, label %21889

21836:                                            ; preds = %21829
  br label %21837

21837:                                            ; preds = %21836
  br label %21838

21838:                                            ; preds = %21837
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #10
  %21839 = call ptr @__errno_location() #11
  %21840 = load i32, ptr %21839, align 4, !tbaa !5
  store i32 %21840, ptr %450, align 4, !tbaa !5
  %21841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21842 = call i32 @s2n_print_stacktrace(ptr noundef %21841)
  %21843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21844 = trunc i8 %21843 to i1
  br i1 %21844, label %21845, label %21867

21845:                                            ; preds = %21838
  %21846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21847 = call i32 @fileno(ptr noundef %21846) #10
  %21848 = call i32 @isatty(i32 noundef %21847) #10
  %21849 = icmp ne i32 %21848, 0
  br i1 %21849, label %21850, label %21867

21850:                                            ; preds = %21845
  %21851 = load i32, ptr %450, align 4, !tbaa !5
  %21852 = call ptr @__errno_location() #11
  store i32 %21851, ptr %21852, align 4, !tbaa !5
  %21853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21854 = load i32, ptr @test_count, align 4, !tbaa !5
  %21855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21856 = load i32, ptr %21855, align 4, !tbaa !5
  %21857 = call ptr @s2n_strerror(i32 noundef %21856, ptr noundef @.str.4)
  %21858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21859 = load i32, ptr %21858, align 4, !tbaa !5
  %21860 = call ptr @s2n_strerror_debug(i32 noundef %21859, ptr noundef @.str.4)
  %21861 = call ptr @__errno_location() #11
  %21862 = load i32, ptr %21861, align 4, !tbaa !5
  %21863 = call ptr @strerror(i32 noundef %21862) #10
  %21864 = call ptr @__errno_location() #11
  %21865 = load i32, ptr %21864, align 4, !tbaa !5
  %21866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21853, ptr noundef @.str.2, i32 noundef %21854, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1153, ptr noundef %21857, ptr noundef %21860, ptr noundef %21863, i32 noundef %21865) #10
  br label %21884

21867:                                            ; preds = %21845, %21838
  %21868 = load i32, ptr %450, align 4, !tbaa !5
  %21869 = call ptr @__errno_location() #11
  store i32 %21868, ptr %21869, align 4, !tbaa !5
  %21870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21871 = load i32, ptr @test_count, align 4, !tbaa !5
  %21872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21873 = load i32, ptr %21872, align 4, !tbaa !5
  %21874 = call ptr @s2n_strerror(i32 noundef %21873, ptr noundef @.str.4)
  %21875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21876 = load i32, ptr %21875, align 4, !tbaa !5
  %21877 = call ptr @s2n_strerror_debug(i32 noundef %21876, ptr noundef @.str.4)
  %21878 = call ptr @__errno_location() #11
  %21879 = load i32, ptr %21878, align 4, !tbaa !5
  %21880 = call ptr @strerror(i32 noundef %21879) #10
  %21881 = call ptr @__errno_location() #11
  %21882 = load i32, ptr %21881, align 4, !tbaa !5
  %21883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21870, ptr noundef @.str.5, i32 noundef %21871, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1153, ptr noundef %21874, ptr noundef %21877, ptr noundef %21880, i32 noundef %21882) #10
  br label %21884

21884:                                            ; preds = %21867, %21850
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #10
  br label %21885

21885:                                            ; preds = %21884
  br label %21886

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

21887:                                            ; No predecessors!
  br label %21888

21888:                                            ; preds = %21887
  br label %21889

21889:                                            ; preds = %21888, %21829
  br label %21890

21890:                                            ; preds = %21889
  br label %21891

21891:                                            ; preds = %21890
  br label %21892

21892:                                            ; preds = %21891
  %21893 = load i32, ptr @test_count, align 4, !tbaa !5
  %21894 = add nsw i32 %21893, 1
  store i32 %21894, ptr @test_count, align 4, !tbaa !5
  %21895 = load ptr, ptr %430, align 8, !tbaa !9
  %21896 = load ptr, ptr %429, align 8, !tbaa !9
  %21897 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %21895, ptr noundef %21896)
  %21898 = icmp eq i32 %21897, -1
  br i1 %21898, label %21899, label %21952

21899:                                            ; preds = %21892
  br label %21900

21900:                                            ; preds = %21899
  br label %21901

21901:                                            ; preds = %21900
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #10
  %21902 = call ptr @__errno_location() #11
  %21903 = load i32, ptr %21902, align 4, !tbaa !5
  store i32 %21903, ptr %451, align 4, !tbaa !5
  %21904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21905 = call i32 @s2n_print_stacktrace(ptr noundef %21904)
  %21906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21907 = trunc i8 %21906 to i1
  br i1 %21907, label %21908, label %21930

21908:                                            ; preds = %21901
  %21909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21910 = call i32 @fileno(ptr noundef %21909) #10
  %21911 = call i32 @isatty(i32 noundef %21910) #10
  %21912 = icmp ne i32 %21911, 0
  br i1 %21912, label %21913, label %21930

21913:                                            ; preds = %21908
  %21914 = load i32, ptr %451, align 4, !tbaa !5
  %21915 = call ptr @__errno_location() #11
  store i32 %21914, ptr %21915, align 4, !tbaa !5
  %21916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21917 = load i32, ptr @test_count, align 4, !tbaa !5
  %21918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21919 = load i32, ptr %21918, align 4, !tbaa !5
  %21920 = call ptr @s2n_strerror(i32 noundef %21919, ptr noundef @.str.4)
  %21921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21922 = load i32, ptr %21921, align 4, !tbaa !5
  %21923 = call ptr @s2n_strerror_debug(i32 noundef %21922, ptr noundef @.str.4)
  %21924 = call ptr @__errno_location() #11
  %21925 = load i32, ptr %21924, align 4, !tbaa !5
  %21926 = call ptr @strerror(i32 noundef %21925) #10
  %21927 = call ptr @__errno_location() #11
  %21928 = load i32, ptr %21927, align 4, !tbaa !5
  %21929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21916, ptr noundef @.str.2, i32 noundef %21917, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %21920, ptr noundef %21923, ptr noundef %21926, i32 noundef %21928) #10
  br label %21947

21930:                                            ; preds = %21908, %21901
  %21931 = load i32, ptr %451, align 4, !tbaa !5
  %21932 = call ptr @__errno_location() #11
  store i32 %21931, ptr %21932, align 4, !tbaa !5
  %21933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21934 = load i32, ptr @test_count, align 4, !tbaa !5
  %21935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21936 = load i32, ptr %21935, align 4, !tbaa !5
  %21937 = call ptr @s2n_strerror(i32 noundef %21936, ptr noundef @.str.4)
  %21938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21939 = load i32, ptr %21938, align 4, !tbaa !5
  %21940 = call ptr @s2n_strerror_debug(i32 noundef %21939, ptr noundef @.str.4)
  %21941 = call ptr @__errno_location() #11
  %21942 = load i32, ptr %21941, align 4, !tbaa !5
  %21943 = call ptr @strerror(i32 noundef %21942) #10
  %21944 = call ptr @__errno_location() #11
  %21945 = load i32, ptr %21944, align 4, !tbaa !5
  %21946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21933, ptr noundef @.str.5, i32 noundef %21934, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1155, ptr noundef %21937, ptr noundef %21940, ptr noundef %21943, i32 noundef %21945) #10
  br label %21947

21947:                                            ; preds = %21930, %21913
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #10
  br label %21948

21948:                                            ; preds = %21947
  br label %21949

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

21950:                                            ; No predecessors!
  br label %21951

21951:                                            ; preds = %21950
  br label %21952

21952:                                            ; preds = %21951, %21892
  br label %21953

21953:                                            ; preds = %21952
  br label %21954

21954:                                            ; preds = %21953
  br label %21955

21955:                                            ; preds = %21954
  %21956 = load i32, ptr @test_count, align 4, !tbaa !5
  %21957 = add nsw i32 %21956, 1
  store i32 %21957, ptr @test_count, align 4, !tbaa !5
  %21958 = load ptr, ptr %429, align 8, !tbaa !9
  %21959 = call ptr @s2n_connection_get_sct_list(ptr noundef %21958, ptr noundef %434)
  %21960 = icmp eq ptr %21959, null
  br i1 %21960, label %22014, label %21961

21961:                                            ; preds = %21955
  br label %21962

21962:                                            ; preds = %21961
  br label %21963

21963:                                            ; preds = %21962
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #10
  %21964 = call ptr @__errno_location() #11
  %21965 = load i32, ptr %21964, align 4, !tbaa !5
  store i32 %21965, ptr %452, align 4, !tbaa !5
  %21966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21967 = call i32 @s2n_print_stacktrace(ptr noundef %21966)
  %21968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21969 = trunc i8 %21968 to i1
  br i1 %21969, label %21970, label %21992

21970:                                            ; preds = %21963
  %21971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21972 = call i32 @fileno(ptr noundef %21971) #10
  %21973 = call i32 @isatty(i32 noundef %21972) #10
  %21974 = icmp ne i32 %21973, 0
  br i1 %21974, label %21975, label %21992

21975:                                            ; preds = %21970
  %21976 = load i32, ptr %452, align 4, !tbaa !5
  %21977 = call ptr @__errno_location() #11
  store i32 %21976, ptr %21977, align 4, !tbaa !5
  %21978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21979 = load i32, ptr @test_count, align 4, !tbaa !5
  %21980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21981 = load i32, ptr %21980, align 4, !tbaa !5
  %21982 = call ptr @s2n_strerror(i32 noundef %21981, ptr noundef @.str.4)
  %21983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21984 = load i32, ptr %21983, align 4, !tbaa !5
  %21985 = call ptr @s2n_strerror_debug(i32 noundef %21984, ptr noundef @.str.4)
  %21986 = call ptr @__errno_location() #11
  %21987 = load i32, ptr %21986, align 4, !tbaa !5
  %21988 = call ptr @strerror(i32 noundef %21987) #10
  %21989 = call ptr @__errno_location() #11
  %21990 = load i32, ptr %21989, align 4, !tbaa !5
  %21991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21978, ptr noundef @.str.2, i32 noundef %21979, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 1158, ptr noundef %21982, ptr noundef %21985, ptr noundef %21988, i32 noundef %21990) #10
  br label %22009

21992:                                            ; preds = %21970, %21963
  %21993 = load i32, ptr %452, align 4, !tbaa !5
  %21994 = call ptr @__errno_location() #11
  store i32 %21993, ptr %21994, align 4, !tbaa !5
  %21995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21996 = load i32, ptr @test_count, align 4, !tbaa !5
  %21997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21998 = load i32, ptr %21997, align 4, !tbaa !5
  %21999 = call ptr @s2n_strerror(i32 noundef %21998, ptr noundef @.str.4)
  %22000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22001 = load i32, ptr %22000, align 4, !tbaa !5
  %22002 = call ptr @s2n_strerror_debug(i32 noundef %22001, ptr noundef @.str.4)
  %22003 = call ptr @__errno_location() #11
  %22004 = load i32, ptr %22003, align 4, !tbaa !5
  %22005 = call ptr @strerror(i32 noundef %22004) #10
  %22006 = call ptr @__errno_location() #11
  %22007 = load i32, ptr %22006, align 4, !tbaa !5
  %22008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21995, ptr noundef @.str.5, i32 noundef %21996, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 1158, ptr noundef %21999, ptr noundef %22002, ptr noundef %22005, i32 noundef %22007) #10
  br label %22009

22009:                                            ; preds = %21992, %21975
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #10
  br label %22010

22010:                                            ; preds = %22009
  br label %22011

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

22012:                                            ; No predecessors!
  br label %22013

22013:                                            ; preds = %22012
  br label %22014

22014:                                            ; preds = %22013, %21955
  br label %22015

22015:                                            ; preds = %22014
  br label %22016

22016:                                            ; preds = %22015
  br label %22017

22017:                                            ; preds = %22016
  %22018 = load i32, ptr @test_count, align 4, !tbaa !5
  %22019 = add nsw i32 %22018, 1
  store i32 %22019, ptr @test_count, align 4, !tbaa !5
  %22020 = load i32, ptr %434, align 4, !tbaa !5
  %22021 = icmp eq i32 %22020, 0
  br i1 %22021, label %22075, label %22022

22022:                                            ; preds = %22017
  br label %22023

22023:                                            ; preds = %22022
  br label %22024

22024:                                            ; preds = %22023
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #10
  %22025 = call ptr @__errno_location() #11
  %22026 = load i32, ptr %22025, align 4, !tbaa !5
  store i32 %22026, ptr %453, align 4, !tbaa !5
  %22027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22028 = call i32 @s2n_print_stacktrace(ptr noundef %22027)
  %22029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22030 = trunc i8 %22029 to i1
  br i1 %22030, label %22031, label %22053

22031:                                            ; preds = %22024
  %22032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22033 = call i32 @fileno(ptr noundef %22032) #10
  %22034 = call i32 @isatty(i32 noundef %22033) #10
  %22035 = icmp ne i32 %22034, 0
  br i1 %22035, label %22036, label %22053

22036:                                            ; preds = %22031
  %22037 = load i32, ptr %453, align 4, !tbaa !5
  %22038 = call ptr @__errno_location() #11
  store i32 %22037, ptr %22038, align 4, !tbaa !5
  %22039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22040 = load i32, ptr @test_count, align 4, !tbaa !5
  %22041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22042 = load i32, ptr %22041, align 4, !tbaa !5
  %22043 = call ptr @s2n_strerror(i32 noundef %22042, ptr noundef @.str.4)
  %22044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22045 = load i32, ptr %22044, align 4, !tbaa !5
  %22046 = call ptr @s2n_strerror_debug(i32 noundef %22045, ptr noundef @.str.4)
  %22047 = call ptr @__errno_location() #11
  %22048 = load i32, ptr %22047, align 4, !tbaa !5
  %22049 = call ptr @strerror(i32 noundef %22048) #10
  %22050 = call ptr @__errno_location() #11
  %22051 = load i32, ptr %22050, align 4, !tbaa !5
  %22052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22039, ptr noundef @.str.2, i32 noundef %22040, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 1159, ptr noundef %22043, ptr noundef %22046, ptr noundef %22049, i32 noundef %22051) #10
  br label %22070

22053:                                            ; preds = %22031, %22024
  %22054 = load i32, ptr %453, align 4, !tbaa !5
  %22055 = call ptr @__errno_location() #11
  store i32 %22054, ptr %22055, align 4, !tbaa !5
  %22056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22057 = load i32, ptr @test_count, align 4, !tbaa !5
  %22058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22059 = load i32, ptr %22058, align 4, !tbaa !5
  %22060 = call ptr @s2n_strerror(i32 noundef %22059, ptr noundef @.str.4)
  %22061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22062 = load i32, ptr %22061, align 4, !tbaa !5
  %22063 = call ptr @s2n_strerror_debug(i32 noundef %22062, ptr noundef @.str.4)
  %22064 = call ptr @__errno_location() #11
  %22065 = load i32, ptr %22064, align 4, !tbaa !5
  %22066 = call ptr @strerror(i32 noundef %22065) #10
  %22067 = call ptr @__errno_location() #11
  %22068 = load i32, ptr %22067, align 4, !tbaa !5
  %22069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22056, ptr noundef @.str.5, i32 noundef %22057, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 1159, ptr noundef %22060, ptr noundef %22063, ptr noundef %22066, i32 noundef %22068) #10
  br label %22070

22070:                                            ; preds = %22053, %22036
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #10
  br label %22071

22071:                                            ; preds = %22070
  br label %22072

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

22073:                                            ; No predecessors!
  br label %22074

22074:                                            ; preds = %22073
  br label %22075

22075:                                            ; preds = %22074, %22017
  br label %22076

22076:                                            ; preds = %22075
  br label %22077

22077:                                            ; preds = %22076
  br label %22078

22078:                                            ; preds = %22077
  %22079 = load i32, ptr @test_count, align 4, !tbaa !5
  %22080 = add nsw i32 %22079, 1
  store i32 %22080, ptr @test_count, align 4, !tbaa !5
  %22081 = load ptr, ptr %430, align 8, !tbaa !9
  %22082 = load ptr, ptr %429, align 8, !tbaa !9
  %22083 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %22081, ptr noundef %22082)
  %22084 = icmp eq i32 %22083, -1
  br i1 %22084, label %22085, label %22138

22085:                                            ; preds = %22078
  br label %22086

22086:                                            ; preds = %22085
  br label %22087

22087:                                            ; preds = %22086
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #10
  %22088 = call ptr @__errno_location() #11
  %22089 = load i32, ptr %22088, align 4, !tbaa !5
  store i32 %22089, ptr %454, align 4, !tbaa !5
  %22090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22091 = call i32 @s2n_print_stacktrace(ptr noundef %22090)
  %22092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22093 = trunc i8 %22092 to i1
  br i1 %22093, label %22094, label %22116

22094:                                            ; preds = %22087
  %22095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22096 = call i32 @fileno(ptr noundef %22095) #10
  %22097 = call i32 @isatty(i32 noundef %22096) #10
  %22098 = icmp ne i32 %22097, 0
  br i1 %22098, label %22099, label %22116

22099:                                            ; preds = %22094
  %22100 = load i32, ptr %454, align 4, !tbaa !5
  %22101 = call ptr @__errno_location() #11
  store i32 %22100, ptr %22101, align 4, !tbaa !5
  %22102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22103 = load i32, ptr @test_count, align 4, !tbaa !5
  %22104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22105 = load i32, ptr %22104, align 4, !tbaa !5
  %22106 = call ptr @s2n_strerror(i32 noundef %22105, ptr noundef @.str.4)
  %22107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22108 = load i32, ptr %22107, align 4, !tbaa !5
  %22109 = call ptr @s2n_strerror_debug(i32 noundef %22108, ptr noundef @.str.4)
  %22110 = call ptr @__errno_location() #11
  %22111 = load i32, ptr %22110, align 4, !tbaa !5
  %22112 = call ptr @strerror(i32 noundef %22111) #10
  %22113 = call ptr @__errno_location() #11
  %22114 = load i32, ptr %22113, align 4, !tbaa !5
  %22115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22102, ptr noundef @.str.2, i32 noundef %22103, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1161, ptr noundef %22106, ptr noundef %22109, ptr noundef %22112, i32 noundef %22114) #10
  br label %22133

22116:                                            ; preds = %22094, %22087
  %22117 = load i32, ptr %454, align 4, !tbaa !5
  %22118 = call ptr @__errno_location() #11
  store i32 %22117, ptr %22118, align 4, !tbaa !5
  %22119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22120 = load i32, ptr @test_count, align 4, !tbaa !5
  %22121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22122 = load i32, ptr %22121, align 4, !tbaa !5
  %22123 = call ptr @s2n_strerror(i32 noundef %22122, ptr noundef @.str.4)
  %22124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22125 = load i32, ptr %22124, align 4, !tbaa !5
  %22126 = call ptr @s2n_strerror_debug(i32 noundef %22125, ptr noundef @.str.4)
  %22127 = call ptr @__errno_location() #11
  %22128 = load i32, ptr %22127, align 4, !tbaa !5
  %22129 = call ptr @strerror(i32 noundef %22128) #10
  %22130 = call ptr @__errno_location() #11
  %22131 = load i32, ptr %22130, align 4, !tbaa !5
  %22132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22119, ptr noundef @.str.5, i32 noundef %22120, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1161, ptr noundef %22123, ptr noundef %22126, ptr noundef %22129, i32 noundef %22131) #10
  br label %22133

22133:                                            ; preds = %22116, %22099
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #10
  br label %22134

22134:                                            ; preds = %22133
  br label %22135

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

22136:                                            ; No predecessors!
  br label %22137

22137:                                            ; preds = %22136
  br label %22138

22138:                                            ; preds = %22137, %22078
  br label %22139

22139:                                            ; preds = %22138
  br label %22140

22140:                                            ; preds = %22139
  br label %22141

22141:                                            ; preds = %22140
  %22142 = load i32, ptr @test_count, align 4, !tbaa !5
  %22143 = add nsw i32 %22142, 1
  store i32 %22143, ptr @test_count, align 4, !tbaa !5
  %22144 = load ptr, ptr %430, align 8, !tbaa !9
  %22145 = call i32 @s2n_connection_free(ptr noundef %22144)
  %22146 = icmp eq i32 %22145, -1
  br i1 %22146, label %22147, label %22200

22147:                                            ; preds = %22141
  br label %22148

22148:                                            ; preds = %22147
  br label %22149

22149:                                            ; preds = %22148
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #10
  %22150 = call ptr @__errno_location() #11
  %22151 = load i32, ptr %22150, align 4, !tbaa !5
  store i32 %22151, ptr %455, align 4, !tbaa !5
  %22152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22153 = call i32 @s2n_print_stacktrace(ptr noundef %22152)
  %22154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22155 = trunc i8 %22154 to i1
  br i1 %22155, label %22156, label %22178

22156:                                            ; preds = %22149
  %22157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22158 = call i32 @fileno(ptr noundef %22157) #10
  %22159 = call i32 @isatty(i32 noundef %22158) #10
  %22160 = icmp ne i32 %22159, 0
  br i1 %22160, label %22161, label %22178

22161:                                            ; preds = %22156
  %22162 = load i32, ptr %455, align 4, !tbaa !5
  %22163 = call ptr @__errno_location() #11
  store i32 %22162, ptr %22163, align 4, !tbaa !5
  %22164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22165 = load i32, ptr @test_count, align 4, !tbaa !5
  %22166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22167 = load i32, ptr %22166, align 4, !tbaa !5
  %22168 = call ptr @s2n_strerror(i32 noundef %22167, ptr noundef @.str.4)
  %22169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22170 = load i32, ptr %22169, align 4, !tbaa !5
  %22171 = call ptr @s2n_strerror_debug(i32 noundef %22170, ptr noundef @.str.4)
  %22172 = call ptr @__errno_location() #11
  %22173 = load i32, ptr %22172, align 4, !tbaa !5
  %22174 = call ptr @strerror(i32 noundef %22173) #10
  %22175 = call ptr @__errno_location() #11
  %22176 = load i32, ptr %22175, align 4, !tbaa !5
  %22177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22164, ptr noundef @.str.2, i32 noundef %22165, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1163, ptr noundef %22168, ptr noundef %22171, ptr noundef %22174, i32 noundef %22176) #10
  br label %22195

22178:                                            ; preds = %22156, %22149
  %22179 = load i32, ptr %455, align 4, !tbaa !5
  %22180 = call ptr @__errno_location() #11
  store i32 %22179, ptr %22180, align 4, !tbaa !5
  %22181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22182 = load i32, ptr @test_count, align 4, !tbaa !5
  %22183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22184 = load i32, ptr %22183, align 4, !tbaa !5
  %22185 = call ptr @s2n_strerror(i32 noundef %22184, ptr noundef @.str.4)
  %22186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22187 = load i32, ptr %22186, align 4, !tbaa !5
  %22188 = call ptr @s2n_strerror_debug(i32 noundef %22187, ptr noundef @.str.4)
  %22189 = call ptr @__errno_location() #11
  %22190 = load i32, ptr %22189, align 4, !tbaa !5
  %22191 = call ptr @strerror(i32 noundef %22190) #10
  %22192 = call ptr @__errno_location() #11
  %22193 = load i32, ptr %22192, align 4, !tbaa !5
  %22194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22181, ptr noundef @.str.5, i32 noundef %22182, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1163, ptr noundef %22185, ptr noundef %22188, ptr noundef %22191, i32 noundef %22193) #10
  br label %22195

22195:                                            ; preds = %22178, %22161
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #10
  br label %22196

22196:                                            ; preds = %22195
  br label %22197

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

22198:                                            ; No predecessors!
  br label %22199

22199:                                            ; preds = %22198
  br label %22200

22200:                                            ; preds = %22199, %22141
  br label %22201

22201:                                            ; preds = %22200
  br label %22202

22202:                                            ; preds = %22201
  br label %22203

22203:                                            ; preds = %22202
  %22204 = load i32, ptr @test_count, align 4, !tbaa !5
  %22205 = add nsw i32 %22204, 1
  store i32 %22205, ptr @test_count, align 4, !tbaa !5
  %22206 = load ptr, ptr %429, align 8, !tbaa !9
  %22207 = call i32 @s2n_connection_free(ptr noundef %22206)
  %22208 = icmp eq i32 %22207, -1
  br i1 %22208, label %22209, label %22262

22209:                                            ; preds = %22203
  br label %22210

22210:                                            ; preds = %22209
  br label %22211

22211:                                            ; preds = %22210
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #10
  %22212 = call ptr @__errno_location() #11
  %22213 = load i32, ptr %22212, align 4, !tbaa !5
  store i32 %22213, ptr %456, align 4, !tbaa !5
  %22214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22215 = call i32 @s2n_print_stacktrace(ptr noundef %22214)
  %22216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22217 = trunc i8 %22216 to i1
  br i1 %22217, label %22218, label %22240

22218:                                            ; preds = %22211
  %22219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22220 = call i32 @fileno(ptr noundef %22219) #10
  %22221 = call i32 @isatty(i32 noundef %22220) #10
  %22222 = icmp ne i32 %22221, 0
  br i1 %22222, label %22223, label %22240

22223:                                            ; preds = %22218
  %22224 = load i32, ptr %456, align 4, !tbaa !5
  %22225 = call ptr @__errno_location() #11
  store i32 %22224, ptr %22225, align 4, !tbaa !5
  %22226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22227 = load i32, ptr @test_count, align 4, !tbaa !5
  %22228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22229 = load i32, ptr %22228, align 4, !tbaa !5
  %22230 = call ptr @s2n_strerror(i32 noundef %22229, ptr noundef @.str.4)
  %22231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22232 = load i32, ptr %22231, align 4, !tbaa !5
  %22233 = call ptr @s2n_strerror_debug(i32 noundef %22232, ptr noundef @.str.4)
  %22234 = call ptr @__errno_location() #11
  %22235 = load i32, ptr %22234, align 4, !tbaa !5
  %22236 = call ptr @strerror(i32 noundef %22235) #10
  %22237 = call ptr @__errno_location() #11
  %22238 = load i32, ptr %22237, align 4, !tbaa !5
  %22239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22226, ptr noundef @.str.2, i32 noundef %22227, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1164, ptr noundef %22230, ptr noundef %22233, ptr noundef %22236, i32 noundef %22238) #10
  br label %22257

22240:                                            ; preds = %22218, %22211
  %22241 = load i32, ptr %456, align 4, !tbaa !5
  %22242 = call ptr @__errno_location() #11
  store i32 %22241, ptr %22242, align 4, !tbaa !5
  %22243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22244 = load i32, ptr @test_count, align 4, !tbaa !5
  %22245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22246 = load i32, ptr %22245, align 4, !tbaa !5
  %22247 = call ptr @s2n_strerror(i32 noundef %22246, ptr noundef @.str.4)
  %22248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22249 = load i32, ptr %22248, align 4, !tbaa !5
  %22250 = call ptr @s2n_strerror_debug(i32 noundef %22249, ptr noundef @.str.4)
  %22251 = call ptr @__errno_location() #11
  %22252 = load i32, ptr %22251, align 4, !tbaa !5
  %22253 = call ptr @strerror(i32 noundef %22252) #10
  %22254 = call ptr @__errno_location() #11
  %22255 = load i32, ptr %22254, align 4, !tbaa !5
  %22256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22243, ptr noundef @.str.5, i32 noundef %22244, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1164, ptr noundef %22247, ptr noundef %22250, ptr noundef %22253, i32 noundef %22255) #10
  br label %22257

22257:                                            ; preds = %22240, %22223
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #10
  br label %22258

22258:                                            ; preds = %22257
  br label %22259

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

22260:                                            ; No predecessors!
  br label %22261

22261:                                            ; preds = %22260
  br label %22262

22262:                                            ; preds = %22261, %22203
  br label %22263

22263:                                            ; preds = %22262
  br label %22264

22264:                                            ; preds = %22263
  br label %22265

22265:                                            ; preds = %22264
  %22266 = load i32, ptr @test_count, align 4, !tbaa !5
  %22267 = add nsw i32 %22266, 1
  store i32 %22267, ptr @test_count, align 4, !tbaa !5
  %22268 = load ptr, ptr %433, align 8, !tbaa !9
  %22269 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %22268)
  %22270 = icmp eq i32 %22269, -1
  br i1 %22270, label %22271, label %22324

22271:                                            ; preds = %22265
  br label %22272

22272:                                            ; preds = %22271
  br label %22273

22273:                                            ; preds = %22272
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #10
  %22274 = call ptr @__errno_location() #11
  %22275 = load i32, ptr %22274, align 4, !tbaa !5
  store i32 %22275, ptr %457, align 4, !tbaa !5
  %22276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22277 = call i32 @s2n_print_stacktrace(ptr noundef %22276)
  %22278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22279 = trunc i8 %22278 to i1
  br i1 %22279, label %22280, label %22302

22280:                                            ; preds = %22273
  %22281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22282 = call i32 @fileno(ptr noundef %22281) #10
  %22283 = call i32 @isatty(i32 noundef %22282) #10
  %22284 = icmp ne i32 %22283, 0
  br i1 %22284, label %22285, label %22302

22285:                                            ; preds = %22280
  %22286 = load i32, ptr %457, align 4, !tbaa !5
  %22287 = call ptr @__errno_location() #11
  store i32 %22286, ptr %22287, align 4, !tbaa !5
  %22288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22289 = load i32, ptr @test_count, align 4, !tbaa !5
  %22290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22291 = load i32, ptr %22290, align 4, !tbaa !5
  %22292 = call ptr @s2n_strerror(i32 noundef %22291, ptr noundef @.str.4)
  %22293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22294 = load i32, ptr %22293, align 4, !tbaa !5
  %22295 = call ptr @s2n_strerror_debug(i32 noundef %22294, ptr noundef @.str.4)
  %22296 = call ptr @__errno_location() #11
  %22297 = load i32, ptr %22296, align 4, !tbaa !5
  %22298 = call ptr @strerror(i32 noundef %22297) #10
  %22299 = call ptr @__errno_location() #11
  %22300 = load i32, ptr %22299, align 4, !tbaa !5
  %22301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22288, ptr noundef @.str.2, i32 noundef %22289, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %22292, ptr noundef %22295, ptr noundef %22298, i32 noundef %22300) #10
  br label %22319

22302:                                            ; preds = %22280, %22273
  %22303 = load i32, ptr %457, align 4, !tbaa !5
  %22304 = call ptr @__errno_location() #11
  store i32 %22303, ptr %22304, align 4, !tbaa !5
  %22305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22306 = load i32, ptr @test_count, align 4, !tbaa !5
  %22307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22308 = load i32, ptr %22307, align 4, !tbaa !5
  %22309 = call ptr @s2n_strerror(i32 noundef %22308, ptr noundef @.str.4)
  %22310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22311 = load i32, ptr %22310, align 4, !tbaa !5
  %22312 = call ptr @s2n_strerror_debug(i32 noundef %22311, ptr noundef @.str.4)
  %22313 = call ptr @__errno_location() #11
  %22314 = load i32, ptr %22313, align 4, !tbaa !5
  %22315 = call ptr @strerror(i32 noundef %22314) #10
  %22316 = call ptr @__errno_location() #11
  %22317 = load i32, ptr %22316, align 4, !tbaa !5
  %22318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22305, ptr noundef @.str.5, i32 noundef %22306, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %22309, ptr noundef %22312, ptr noundef %22315, i32 noundef %22317) #10
  br label %22319

22319:                                            ; preds = %22302, %22285
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #10
  br label %22320

22320:                                            ; preds = %22319
  br label %22321

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

22322:                                            ; No predecessors!
  br label %22323

22323:                                            ; preds = %22322
  br label %22324

22324:                                            ; preds = %22323, %22265
  br label %22325

22325:                                            ; preds = %22324
  br label %22326

22326:                                            ; preds = %22325
  br label %22327

22327:                                            ; preds = %22326
  %22328 = load i32, ptr @test_count, align 4, !tbaa !5
  %22329 = add nsw i32 %22328, 1
  store i32 %22329, ptr @test_count, align 4, !tbaa !5
  %22330 = load ptr, ptr %432, align 8, !tbaa !9
  %22331 = call i32 @s2n_config_free(ptr noundef %22330)
  %22332 = icmp eq i32 %22331, -1
  br i1 %22332, label %22333, label %22386

22333:                                            ; preds = %22327
  br label %22334

22334:                                            ; preds = %22333
  br label %22335

22335:                                            ; preds = %22334
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #10
  %22336 = call ptr @__errno_location() #11
  %22337 = load i32, ptr %22336, align 4, !tbaa !5
  store i32 %22337, ptr %458, align 4, !tbaa !5
  %22338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22339 = call i32 @s2n_print_stacktrace(ptr noundef %22338)
  %22340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22341 = trunc i8 %22340 to i1
  br i1 %22341, label %22342, label %22364

22342:                                            ; preds = %22335
  %22343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22344 = call i32 @fileno(ptr noundef %22343) #10
  %22345 = call i32 @isatty(i32 noundef %22344) #10
  %22346 = icmp ne i32 %22345, 0
  br i1 %22346, label %22347, label %22364

22347:                                            ; preds = %22342
  %22348 = load i32, ptr %458, align 4, !tbaa !5
  %22349 = call ptr @__errno_location() #11
  store i32 %22348, ptr %22349, align 4, !tbaa !5
  %22350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22351 = load i32, ptr @test_count, align 4, !tbaa !5
  %22352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22353 = load i32, ptr %22352, align 4, !tbaa !5
  %22354 = call ptr @s2n_strerror(i32 noundef %22353, ptr noundef @.str.4)
  %22355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22356 = load i32, ptr %22355, align 4, !tbaa !5
  %22357 = call ptr @s2n_strerror_debug(i32 noundef %22356, ptr noundef @.str.4)
  %22358 = call ptr @__errno_location() #11
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  %22360 = call ptr @strerror(i32 noundef %22359) #10
  %22361 = call ptr @__errno_location() #11
  %22362 = load i32, ptr %22361, align 4, !tbaa !5
  %22363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22350, ptr noundef @.str.2, i32 noundef %22351, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1168, ptr noundef %22354, ptr noundef %22357, ptr noundef %22360, i32 noundef %22362) #10
  br label %22381

22364:                                            ; preds = %22342, %22335
  %22365 = load i32, ptr %458, align 4, !tbaa !5
  %22366 = call ptr @__errno_location() #11
  store i32 %22365, ptr %22366, align 4, !tbaa !5
  %22367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22368 = load i32, ptr @test_count, align 4, !tbaa !5
  %22369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22370 = load i32, ptr %22369, align 4, !tbaa !5
  %22371 = call ptr @s2n_strerror(i32 noundef %22370, ptr noundef @.str.4)
  %22372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22373 = load i32, ptr %22372, align 4, !tbaa !5
  %22374 = call ptr @s2n_strerror_debug(i32 noundef %22373, ptr noundef @.str.4)
  %22375 = call ptr @__errno_location() #11
  %22376 = load i32, ptr %22375, align 4, !tbaa !5
  %22377 = call ptr @strerror(i32 noundef %22376) #10
  %22378 = call ptr @__errno_location() #11
  %22379 = load i32, ptr %22378, align 4, !tbaa !5
  %22380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22367, ptr noundef @.str.5, i32 noundef %22368, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1168, ptr noundef %22371, ptr noundef %22374, ptr noundef %22377, i32 noundef %22379) #10
  br label %22381

22381:                                            ; preds = %22364, %22347
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #10
  br label %22382

22382:                                            ; preds = %22381
  br label %22383

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

22384:                                            ; No predecessors!
  br label %22385

22385:                                            ; preds = %22384
  br label %22386

22386:                                            ; preds = %22385, %22327
  br label %22387

22387:                                            ; preds = %22386
  br label %22388

22388:                                            ; preds = %22387
  br label %22389

22389:                                            ; preds = %22388
  %22390 = load i32, ptr @test_count, align 4, !tbaa !5
  %22391 = add nsw i32 %22390, 1
  store i32 %22391, ptr @test_count, align 4, !tbaa !5
  %22392 = load ptr, ptr %431, align 8, !tbaa !9
  %22393 = call i32 @s2n_config_free(ptr noundef %22392)
  %22394 = icmp eq i32 %22393, -1
  br i1 %22394, label %22395, label %22448

22395:                                            ; preds = %22389
  br label %22396

22396:                                            ; preds = %22395
  br label %22397

22397:                                            ; preds = %22396
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #10
  %22398 = call ptr @__errno_location() #11
  %22399 = load i32, ptr %22398, align 4, !tbaa !5
  store i32 %22399, ptr %459, align 4, !tbaa !5
  %22400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22401 = call i32 @s2n_print_stacktrace(ptr noundef %22400)
  %22402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22403 = trunc i8 %22402 to i1
  br i1 %22403, label %22404, label %22426

22404:                                            ; preds = %22397
  %22405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22406 = call i32 @fileno(ptr noundef %22405) #10
  %22407 = call i32 @isatty(i32 noundef %22406) #10
  %22408 = icmp ne i32 %22407, 0
  br i1 %22408, label %22409, label %22426

22409:                                            ; preds = %22404
  %22410 = load i32, ptr %459, align 4, !tbaa !5
  %22411 = call ptr @__errno_location() #11
  store i32 %22410, ptr %22411, align 4, !tbaa !5
  %22412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22413 = load i32, ptr @test_count, align 4, !tbaa !5
  %22414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22415 = load i32, ptr %22414, align 4, !tbaa !5
  %22416 = call ptr @s2n_strerror(i32 noundef %22415, ptr noundef @.str.4)
  %22417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22418 = load i32, ptr %22417, align 4, !tbaa !5
  %22419 = call ptr @s2n_strerror_debug(i32 noundef %22418, ptr noundef @.str.4)
  %22420 = call ptr @__errno_location() #11
  %22421 = load i32, ptr %22420, align 4, !tbaa !5
  %22422 = call ptr @strerror(i32 noundef %22421) #10
  %22423 = call ptr @__errno_location() #11
  %22424 = load i32, ptr %22423, align 4, !tbaa !5
  %22425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22412, ptr noundef @.str.2, i32 noundef %22413, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %22416, ptr noundef %22419, ptr noundef %22422, i32 noundef %22424) #10
  br label %22443

22426:                                            ; preds = %22404, %22397
  %22427 = load i32, ptr %459, align 4, !tbaa !5
  %22428 = call ptr @__errno_location() #11
  store i32 %22427, ptr %22428, align 4, !tbaa !5
  %22429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22430 = load i32, ptr @test_count, align 4, !tbaa !5
  %22431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22432 = load i32, ptr %22431, align 4, !tbaa !5
  %22433 = call ptr @s2n_strerror(i32 noundef %22432, ptr noundef @.str.4)
  %22434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22435 = load i32, ptr %22434, align 4, !tbaa !5
  %22436 = call ptr @s2n_strerror_debug(i32 noundef %22435, ptr noundef @.str.4)
  %22437 = call ptr @__errno_location() #11
  %22438 = load i32, ptr %22437, align 4, !tbaa !5
  %22439 = call ptr @strerror(i32 noundef %22438) #10
  %22440 = call ptr @__errno_location() #11
  %22441 = load i32, ptr %22440, align 4, !tbaa !5
  %22442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22429, ptr noundef @.str.5, i32 noundef %22430, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %22433, ptr noundef %22436, ptr noundef %22439, i32 noundef %22441) #10
  br label %22443

22443:                                            ; preds = %22426, %22409
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #10
  br label %22444

22444:                                            ; preds = %22443
  br label %22445

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

22446:                                            ; No predecessors!
  br label %22447

22447:                                            ; preds = %22446
  br label %22448

22448:                                            ; preds = %22447, %22389
  br label %22449

22449:                                            ; preds = %22448
  br label %22450

22450:                                            ; preds = %22449
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %433) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %432) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %431) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %430) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %429) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %460) #10
  store i8 1, ptr %460, align 1, !tbaa !44
  br label %22451

22451:                                            ; preds = %23973, %22450
  %22452 = load i8, ptr %460, align 1, !tbaa !44
  %22453 = zext i8 %22452 to i32
  %22454 = icmp sle i32 %22453, 4
  br i1 %22454, label %22456, label %22455

22455:                                            ; preds = %22451
  call void @llvm.lifetime.end.p0(i64 1, ptr %460) #10
  br label %23976

22456:                                            ; preds = %22451
  call void @llvm.lifetime.start.p0(i64 8, ptr %461) #10
  store ptr null, ptr %461, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %462) #10
  store ptr null, ptr %462, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %463) #10
  store ptr null, ptr %463, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %464) #10
  store ptr null, ptr %464, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %465) #10
  store ptr null, ptr %465, align 8, !tbaa !9
  br label %22457

22457:                                            ; preds = %22456
  %22458 = load i32, ptr @test_count, align 4, !tbaa !5
  %22459 = add nsw i32 %22458, 1
  store i32 %22459, ptr @test_count, align 4, !tbaa !5
  %22460 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22460, ptr %461, align 8, !tbaa !9
  %22461 = icmp eq ptr %22460, null
  br i1 %22461, label %22462, label %22515

22462:                                            ; preds = %22457
  br label %22463

22463:                                            ; preds = %22462
  br label %22464

22464:                                            ; preds = %22463
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #10
  %22465 = call ptr @__errno_location() #11
  %22466 = load i32, ptr %22465, align 4, !tbaa !5
  store i32 %22466, ptr %466, align 4, !tbaa !5
  %22467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22468 = call i32 @s2n_print_stacktrace(ptr noundef %22467)
  %22469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22470 = trunc i8 %22469 to i1
  br i1 %22470, label %22471, label %22493

22471:                                            ; preds = %22464
  %22472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22473 = call i32 @fileno(ptr noundef %22472) #10
  %22474 = call i32 @isatty(i32 noundef %22473) #10
  %22475 = icmp ne i32 %22474, 0
  br i1 %22475, label %22476, label %22493

22476:                                            ; preds = %22471
  %22477 = load i32, ptr %466, align 4, !tbaa !5
  %22478 = call ptr @__errno_location() #11
  store i32 %22477, ptr %22478, align 4, !tbaa !5
  %22479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22480 = load i32, ptr @test_count, align 4, !tbaa !5
  %22481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22482 = load i32, ptr %22481, align 4, !tbaa !5
  %22483 = call ptr @s2n_strerror(i32 noundef %22482, ptr noundef @.str.4)
  %22484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22485 = load i32, ptr %22484, align 4, !tbaa !5
  %22486 = call ptr @s2n_strerror_debug(i32 noundef %22485, ptr noundef @.str.4)
  %22487 = call ptr @__errno_location() #11
  %22488 = load i32, ptr %22487, align 4, !tbaa !5
  %22489 = call ptr @strerror(i32 noundef %22488) #10
  %22490 = call ptr @__errno_location() #11
  %22491 = load i32, ptr %22490, align 4, !tbaa !5
  %22492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22479, ptr noundef @.str.2, i32 noundef %22480, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %22483, ptr noundef %22486, ptr noundef %22489, i32 noundef %22491) #10
  br label %22510

22493:                                            ; preds = %22471, %22464
  %22494 = load i32, ptr %466, align 4, !tbaa !5
  %22495 = call ptr @__errno_location() #11
  store i32 %22494, ptr %22495, align 4, !tbaa !5
  %22496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22497 = load i32, ptr @test_count, align 4, !tbaa !5
  %22498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22499 = load i32, ptr %22498, align 4, !tbaa !5
  %22500 = call ptr @s2n_strerror(i32 noundef %22499, ptr noundef @.str.4)
  %22501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22502 = load i32, ptr %22501, align 4, !tbaa !5
  %22503 = call ptr @s2n_strerror_debug(i32 noundef %22502, ptr noundef @.str.4)
  %22504 = call ptr @__errno_location() #11
  %22505 = load i32, ptr %22504, align 4, !tbaa !5
  %22506 = call ptr @strerror(i32 noundef %22505) #10
  %22507 = call ptr @__errno_location() #11
  %22508 = load i32, ptr %22507, align 4, !tbaa !5
  %22509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22496, ptr noundef @.str.5, i32 noundef %22497, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1180, ptr noundef %22500, ptr noundef %22503, ptr noundef %22506, i32 noundef %22508) #10
  br label %22510

22510:                                            ; preds = %22493, %22476
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #10
  br label %22511

22511:                                            ; preds = %22510
  br label %22512

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

22513:                                            ; No predecessors!
  br label %22514

22514:                                            ; preds = %22513
  br label %22515

22515:                                            ; preds = %22514, %22457
  br label %22516

22516:                                            ; preds = %22515
  br label %22517

22517:                                            ; preds = %22516
  %22518 = load ptr, ptr %461, align 8, !tbaa !9
  %22519 = getelementptr inbounds %struct.s2n_connection, ptr %22518, i32 0, i32 23
  store i8 33, ptr %22519, align 4, !tbaa !15
  %22520 = load ptr, ptr %461, align 8, !tbaa !9
  %22521 = getelementptr inbounds %struct.s2n_connection, ptr %22520, i32 0, i32 22
  store i8 33, ptr %22521, align 1, !tbaa !42
  %22522 = load ptr, ptr %461, align 8, !tbaa !9
  %22523 = getelementptr inbounds %struct.s2n_connection, ptr %22522, i32 0, i32 21
  store i8 33, ptr %22523, align 2, !tbaa !43
  br label %22524

22524:                                            ; preds = %22517
  %22525 = load i32, ptr @test_count, align 4, !tbaa !5
  %22526 = add nsw i32 %22525, 1
  store i32 %22526, ptr @test_count, align 4, !tbaa !5
  %22527 = call ptr @s2n_config_new()
  store ptr %22527, ptr %464, align 8, !tbaa !9
  %22528 = icmp eq ptr %22527, null
  br i1 %22528, label %22529, label %22582

22529:                                            ; preds = %22524
  br label %22530

22530:                                            ; preds = %22529
  br label %22531

22531:                                            ; preds = %22530
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #10
  %22532 = call ptr @__errno_location() #11
  %22533 = load i32, ptr %22532, align 4, !tbaa !5
  store i32 %22533, ptr %467, align 4, !tbaa !5
  %22534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22535 = call i32 @s2n_print_stacktrace(ptr noundef %22534)
  %22536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22537 = trunc i8 %22536 to i1
  br i1 %22537, label %22538, label %22560

22538:                                            ; preds = %22531
  %22539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22540 = call i32 @fileno(ptr noundef %22539) #10
  %22541 = call i32 @isatty(i32 noundef %22540) #10
  %22542 = icmp ne i32 %22541, 0
  br i1 %22542, label %22543, label %22560

22543:                                            ; preds = %22538
  %22544 = load i32, ptr %467, align 4, !tbaa !5
  %22545 = call ptr @__errno_location() #11
  store i32 %22544, ptr %22545, align 4, !tbaa !5
  %22546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22547 = load i32, ptr @test_count, align 4, !tbaa !5
  %22548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22549 = load i32, ptr %22548, align 4, !tbaa !5
  %22550 = call ptr @s2n_strerror(i32 noundef %22549, ptr noundef @.str.4)
  %22551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22552 = load i32, ptr %22551, align 4, !tbaa !5
  %22553 = call ptr @s2n_strerror_debug(i32 noundef %22552, ptr noundef @.str.4)
  %22554 = call ptr @__errno_location() #11
  %22555 = load i32, ptr %22554, align 4, !tbaa !5
  %22556 = call ptr @strerror(i32 noundef %22555) #10
  %22557 = call ptr @__errno_location() #11
  %22558 = load i32, ptr %22557, align 4, !tbaa !5
  %22559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22546, ptr noundef @.str.2, i32 noundef %22547, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %22550, ptr noundef %22553, ptr noundef %22556, i32 noundef %22558) #10
  br label %22577

22560:                                            ; preds = %22538, %22531
  %22561 = load i32, ptr %467, align 4, !tbaa !5
  %22562 = call ptr @__errno_location() #11
  store i32 %22561, ptr %22562, align 4, !tbaa !5
  %22563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22564 = load i32, ptr @test_count, align 4, !tbaa !5
  %22565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22566 = load i32, ptr %22565, align 4, !tbaa !5
  %22567 = call ptr @s2n_strerror(i32 noundef %22566, ptr noundef @.str.4)
  %22568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22569 = load i32, ptr %22568, align 4, !tbaa !5
  %22570 = call ptr @s2n_strerror_debug(i32 noundef %22569, ptr noundef @.str.4)
  %22571 = call ptr @__errno_location() #11
  %22572 = load i32, ptr %22571, align 4, !tbaa !5
  %22573 = call ptr @strerror(i32 noundef %22572) #10
  %22574 = call ptr @__errno_location() #11
  %22575 = load i32, ptr %22574, align 4, !tbaa !5
  %22576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22563, ptr noundef @.str.5, i32 noundef %22564, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %22567, ptr noundef %22570, ptr noundef %22573, i32 noundef %22575) #10
  br label %22577

22577:                                            ; preds = %22560, %22543
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #10
  br label %22578

22578:                                            ; preds = %22577
  br label %22579

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

22580:                                            ; No predecessors!
  br label %22581

22581:                                            ; preds = %22580
  br label %22582

22582:                                            ; preds = %22581, %22524
  br label %22583

22583:                                            ; preds = %22582
  br label %22584

22584:                                            ; preds = %22583
  br label %22585

22585:                                            ; preds = %22584
  %22586 = load i32, ptr @test_count, align 4, !tbaa !5
  %22587 = add nsw i32 %22586, 1
  store i32 %22587, ptr @test_count, align 4, !tbaa !5
  %22588 = load ptr, ptr %464, align 8, !tbaa !9
  %22589 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %22588, i8 noundef zeroext 0)
  %22590 = icmp eq i32 %22589, -1
  br i1 %22590, label %22591, label %22644

22591:                                            ; preds = %22585
  br label %22592

22592:                                            ; preds = %22591
  br label %22593

22593:                                            ; preds = %22592
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #10
  %22594 = call ptr @__errno_location() #11
  %22595 = load i32, ptr %22594, align 4, !tbaa !5
  store i32 %22595, ptr %468, align 4, !tbaa !5
  %22596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22597 = call i32 @s2n_print_stacktrace(ptr noundef %22596)
  %22598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22599 = trunc i8 %22598 to i1
  br i1 %22599, label %22600, label %22622

22600:                                            ; preds = %22593
  %22601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22602 = call i32 @fileno(ptr noundef %22601) #10
  %22603 = call i32 @isatty(i32 noundef %22602) #10
  %22604 = icmp ne i32 %22603, 0
  br i1 %22604, label %22605, label %22622

22605:                                            ; preds = %22600
  %22606 = load i32, ptr %468, align 4, !tbaa !5
  %22607 = call ptr @__errno_location() #11
  store i32 %22606, ptr %22607, align 4, !tbaa !5
  %22608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22609 = load i32, ptr @test_count, align 4, !tbaa !5
  %22610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22611 = load i32, ptr %22610, align 4, !tbaa !5
  %22612 = call ptr @s2n_strerror(i32 noundef %22611, ptr noundef @.str.4)
  %22613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22614 = load i32, ptr %22613, align 4, !tbaa !5
  %22615 = call ptr @s2n_strerror_debug(i32 noundef %22614, ptr noundef @.str.4)
  %22616 = call ptr @__errno_location() #11
  %22617 = load i32, ptr %22616, align 4, !tbaa !5
  %22618 = call ptr @strerror(i32 noundef %22617) #10
  %22619 = call ptr @__errno_location() #11
  %22620 = load i32, ptr %22619, align 4, !tbaa !5
  %22621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22608, ptr noundef @.str.2, i32 noundef %22609, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1186, ptr noundef %22612, ptr noundef %22615, ptr noundef %22618, i32 noundef %22620) #10
  br label %22639

22622:                                            ; preds = %22600, %22593
  %22623 = load i32, ptr %468, align 4, !tbaa !5
  %22624 = call ptr @__errno_location() #11
  store i32 %22623, ptr %22624, align 4, !tbaa !5
  %22625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22626 = load i32, ptr @test_count, align 4, !tbaa !5
  %22627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22628 = load i32, ptr %22627, align 4, !tbaa !5
  %22629 = call ptr @s2n_strerror(i32 noundef %22628, ptr noundef @.str.4)
  %22630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22631 = load i32, ptr %22630, align 4, !tbaa !5
  %22632 = call ptr @s2n_strerror_debug(i32 noundef %22631, ptr noundef @.str.4)
  %22633 = call ptr @__errno_location() #11
  %22634 = load i32, ptr %22633, align 4, !tbaa !5
  %22635 = call ptr @strerror(i32 noundef %22634) #10
  %22636 = call ptr @__errno_location() #11
  %22637 = load i32, ptr %22636, align 4, !tbaa !5
  %22638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22625, ptr noundef @.str.5, i32 noundef %22626, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1186, ptr noundef %22629, ptr noundef %22632, ptr noundef %22635, i32 noundef %22637) #10
  br label %22639

22639:                                            ; preds = %22622, %22605
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #10
  br label %22640

22640:                                            ; preds = %22639
  br label %22641

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

22642:                                            ; No predecessors!
  br label %22643

22643:                                            ; preds = %22642
  br label %22644

22644:                                            ; preds = %22643, %22585
  br label %22645

22645:                                            ; preds = %22644
  br label %22646

22646:                                            ; preds = %22645
  br label %22647

22647:                                            ; preds = %22646
  %22648 = load i32, ptr @test_count, align 4, !tbaa !5
  %22649 = add nsw i32 %22648, 1
  store i32 %22649, ptr @test_count, align 4, !tbaa !5
  %22650 = load ptr, ptr %464, align 8, !tbaa !9
  %22651 = call i32 @s2n_config_disable_x509_verification(ptr noundef %22650)
  %22652 = icmp eq i32 %22651, -1
  br i1 %22652, label %22653, label %22706

22653:                                            ; preds = %22647
  br label %22654

22654:                                            ; preds = %22653
  br label %22655

22655:                                            ; preds = %22654
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #10
  %22656 = call ptr @__errno_location() #11
  %22657 = load i32, ptr %22656, align 4, !tbaa !5
  store i32 %22657, ptr %469, align 4, !tbaa !5
  %22658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22659 = call i32 @s2n_print_stacktrace(ptr noundef %22658)
  %22660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22661 = trunc i8 %22660 to i1
  br i1 %22661, label %22662, label %22684

22662:                                            ; preds = %22655
  %22663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22664 = call i32 @fileno(ptr noundef %22663) #10
  %22665 = call i32 @isatty(i32 noundef %22664) #10
  %22666 = icmp ne i32 %22665, 0
  br i1 %22666, label %22667, label %22684

22667:                                            ; preds = %22662
  %22668 = load i32, ptr %469, align 4, !tbaa !5
  %22669 = call ptr @__errno_location() #11
  store i32 %22668, ptr %22669, align 4, !tbaa !5
  %22670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22671 = load i32, ptr @test_count, align 4, !tbaa !5
  %22672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22673 = load i32, ptr %22672, align 4, !tbaa !5
  %22674 = call ptr @s2n_strerror(i32 noundef %22673, ptr noundef @.str.4)
  %22675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22676 = load i32, ptr %22675, align 4, !tbaa !5
  %22677 = call ptr @s2n_strerror_debug(i32 noundef %22676, ptr noundef @.str.4)
  %22678 = call ptr @__errno_location() #11
  %22679 = load i32, ptr %22678, align 4, !tbaa !5
  %22680 = call ptr @strerror(i32 noundef %22679) #10
  %22681 = call ptr @__errno_location() #11
  %22682 = load i32, ptr %22681, align 4, !tbaa !5
  %22683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22670, ptr noundef @.str.2, i32 noundef %22671, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1187, ptr noundef %22674, ptr noundef %22677, ptr noundef %22680, i32 noundef %22682) #10
  br label %22701

22684:                                            ; preds = %22662, %22655
  %22685 = load i32, ptr %469, align 4, !tbaa !5
  %22686 = call ptr @__errno_location() #11
  store i32 %22685, ptr %22686, align 4, !tbaa !5
  %22687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22688 = load i32, ptr @test_count, align 4, !tbaa !5
  %22689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22690 = load i32, ptr %22689, align 4, !tbaa !5
  %22691 = call ptr @s2n_strerror(i32 noundef %22690, ptr noundef @.str.4)
  %22692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22693 = load i32, ptr %22692, align 4, !tbaa !5
  %22694 = call ptr @s2n_strerror_debug(i32 noundef %22693, ptr noundef @.str.4)
  %22695 = call ptr @__errno_location() #11
  %22696 = load i32, ptr %22695, align 4, !tbaa !5
  %22697 = call ptr @strerror(i32 noundef %22696) #10
  %22698 = call ptr @__errno_location() #11
  %22699 = load i32, ptr %22698, align 4, !tbaa !5
  %22700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22687, ptr noundef @.str.5, i32 noundef %22688, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1187, ptr noundef %22691, ptr noundef %22694, ptr noundef %22697, i32 noundef %22699) #10
  br label %22701

22701:                                            ; preds = %22684, %22667
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #10
  br label %22702

22702:                                            ; preds = %22701
  br label %22703

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

22704:                                            ; No predecessors!
  br label %22705

22705:                                            ; preds = %22704
  br label %22706

22706:                                            ; preds = %22705, %22647
  br label %22707

22707:                                            ; preds = %22706
  br label %22708

22708:                                            ; preds = %22707
  br label %22709

22709:                                            ; preds = %22708
  %22710 = load i32, ptr @test_count, align 4, !tbaa !5
  %22711 = add nsw i32 %22710, 1
  store i32 %22711, ptr @test_count, align 4, !tbaa !5
  %22712 = load ptr, ptr %464, align 8, !tbaa !9
  %22713 = load i8, ptr %460, align 1, !tbaa !44
  %22714 = zext i8 %22713 to i32
  %22715 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %22712, i32 noundef %22714)
  %22716 = icmp eq i32 %22715, -1
  br i1 %22716, label %22717, label %22770

22717:                                            ; preds = %22709
  br label %22718

22718:                                            ; preds = %22717
  br label %22719

22719:                                            ; preds = %22718
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #10
  %22720 = call ptr @__errno_location() #11
  %22721 = load i32, ptr %22720, align 4, !tbaa !5
  store i32 %22721, ptr %470, align 4, !tbaa !5
  %22722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22723 = call i32 @s2n_print_stacktrace(ptr noundef %22722)
  %22724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22725 = trunc i8 %22724 to i1
  br i1 %22725, label %22726, label %22748

22726:                                            ; preds = %22719
  %22727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22728 = call i32 @fileno(ptr noundef %22727) #10
  %22729 = call i32 @isatty(i32 noundef %22728) #10
  %22730 = icmp ne i32 %22729, 0
  br i1 %22730, label %22731, label %22748

22731:                                            ; preds = %22726
  %22732 = load i32, ptr %470, align 4, !tbaa !5
  %22733 = call ptr @__errno_location() #11
  store i32 %22732, ptr %22733, align 4, !tbaa !5
  %22734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22735 = load i32, ptr @test_count, align 4, !tbaa !5
  %22736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22737 = load i32, ptr %22736, align 4, !tbaa !5
  %22738 = call ptr @s2n_strerror(i32 noundef %22737, ptr noundef @.str.4)
  %22739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22740 = load i32, ptr %22739, align 4, !tbaa !5
  %22741 = call ptr @s2n_strerror_debug(i32 noundef %22740, ptr noundef @.str.4)
  %22742 = call ptr @__errno_location() #11
  %22743 = load i32, ptr %22742, align 4, !tbaa !5
  %22744 = call ptr @strerror(i32 noundef %22743) #10
  %22745 = call ptr @__errno_location() #11
  %22746 = load i32, ptr %22745, align 4, !tbaa !5
  %22747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22734, ptr noundef @.str.2, i32 noundef %22735, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 1189, ptr noundef %22738, ptr noundef %22741, ptr noundef %22744, i32 noundef %22746) #10
  br label %22765

22748:                                            ; preds = %22726, %22719
  %22749 = load i32, ptr %470, align 4, !tbaa !5
  %22750 = call ptr @__errno_location() #11
  store i32 %22749, ptr %22750, align 4, !tbaa !5
  %22751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22752 = load i32, ptr @test_count, align 4, !tbaa !5
  %22753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22754 = load i32, ptr %22753, align 4, !tbaa !5
  %22755 = call ptr @s2n_strerror(i32 noundef %22754, ptr noundef @.str.4)
  %22756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22757 = load i32, ptr %22756, align 4, !tbaa !5
  %22758 = call ptr @s2n_strerror_debug(i32 noundef %22757, ptr noundef @.str.4)
  %22759 = call ptr @__errno_location() #11
  %22760 = load i32, ptr %22759, align 4, !tbaa !5
  %22761 = call ptr @strerror(i32 noundef %22760) #10
  %22762 = call ptr @__errno_location() #11
  %22763 = load i32, ptr %22762, align 4, !tbaa !5
  %22764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22751, ptr noundef @.str.5, i32 noundef %22752, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 1189, ptr noundef %22755, ptr noundef %22758, ptr noundef %22761, i32 noundef %22763) #10
  br label %22765

22765:                                            ; preds = %22748, %22731
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #10
  br label %22766

22766:                                            ; preds = %22765
  br label %22767

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

22768:                                            ; No predecessors!
  br label %22769

22769:                                            ; preds = %22768
  br label %22770

22770:                                            ; preds = %22769, %22709
  br label %22771

22771:                                            ; preds = %22770
  br label %22772

22772:                                            ; preds = %22771
  br label %22773

22773:                                            ; preds = %22772
  %22774 = load i32, ptr @test_count, align 4, !tbaa !5
  %22775 = add nsw i32 %22774, 1
  store i32 %22775, ptr @test_count, align 4, !tbaa !5
  %22776 = load ptr, ptr %461, align 8, !tbaa !9
  %22777 = load ptr, ptr %464, align 8, !tbaa !9
  %22778 = call i32 @s2n_connection_set_config(ptr noundef %22776, ptr noundef %22777)
  %22779 = icmp eq i32 %22778, -1
  br i1 %22779, label %22780, label %22833

22780:                                            ; preds = %22773
  br label %22781

22781:                                            ; preds = %22780
  br label %22782

22782:                                            ; preds = %22781
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #10
  %22783 = call ptr @__errno_location() #11
  %22784 = load i32, ptr %22783, align 4, !tbaa !5
  store i32 %22784, ptr %471, align 4, !tbaa !5
  %22785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22786 = call i32 @s2n_print_stacktrace(ptr noundef %22785)
  %22787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22788 = trunc i8 %22787 to i1
  br i1 %22788, label %22789, label %22811

22789:                                            ; preds = %22782
  %22790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22791 = call i32 @fileno(ptr noundef %22790) #10
  %22792 = call i32 @isatty(i32 noundef %22791) #10
  %22793 = icmp ne i32 %22792, 0
  br i1 %22793, label %22794, label %22811

22794:                                            ; preds = %22789
  %22795 = load i32, ptr %471, align 4, !tbaa !5
  %22796 = call ptr @__errno_location() #11
  store i32 %22795, ptr %22796, align 4, !tbaa !5
  %22797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22798 = load i32, ptr @test_count, align 4, !tbaa !5
  %22799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22800 = load i32, ptr %22799, align 4, !tbaa !5
  %22801 = call ptr @s2n_strerror(i32 noundef %22800, ptr noundef @.str.4)
  %22802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22803 = load i32, ptr %22802, align 4, !tbaa !5
  %22804 = call ptr @s2n_strerror_debug(i32 noundef %22803, ptr noundef @.str.4)
  %22805 = call ptr @__errno_location() #11
  %22806 = load i32, ptr %22805, align 4, !tbaa !5
  %22807 = call ptr @strerror(i32 noundef %22806) #10
  %22808 = call ptr @__errno_location() #11
  %22809 = load i32, ptr %22808, align 4, !tbaa !5
  %22810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22797, ptr noundef @.str.2, i32 noundef %22798, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1190, ptr noundef %22801, ptr noundef %22804, ptr noundef %22807, i32 noundef %22809) #10
  br label %22828

22811:                                            ; preds = %22789, %22782
  %22812 = load i32, ptr %471, align 4, !tbaa !5
  %22813 = call ptr @__errno_location() #11
  store i32 %22812, ptr %22813, align 4, !tbaa !5
  %22814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22815 = load i32, ptr @test_count, align 4, !tbaa !5
  %22816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22817 = load i32, ptr %22816, align 4, !tbaa !5
  %22818 = call ptr @s2n_strerror(i32 noundef %22817, ptr noundef @.str.4)
  %22819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22820 = load i32, ptr %22819, align 4, !tbaa !5
  %22821 = call ptr @s2n_strerror_debug(i32 noundef %22820, ptr noundef @.str.4)
  %22822 = call ptr @__errno_location() #11
  %22823 = load i32, ptr %22822, align 4, !tbaa !5
  %22824 = call ptr @strerror(i32 noundef %22823) #10
  %22825 = call ptr @__errno_location() #11
  %22826 = load i32, ptr %22825, align 4, !tbaa !5
  %22827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22814, ptr noundef @.str.5, i32 noundef %22815, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1190, ptr noundef %22818, ptr noundef %22821, ptr noundef %22824, i32 noundef %22826) #10
  br label %22828

22828:                                            ; preds = %22811, %22794
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #10
  br label %22829

22829:                                            ; preds = %22828
  br label %22830

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

22831:                                            ; No predecessors!
  br label %22832

22832:                                            ; preds = %22831
  br label %22833

22833:                                            ; preds = %22832, %22773
  br label %22834

22834:                                            ; preds = %22833
  br label %22835

22835:                                            ; preds = %22834
  br label %22836

22836:                                            ; preds = %22835
  %22837 = load i32, ptr @test_count, align 4, !tbaa !5
  %22838 = add nsw i32 %22837, 1
  store i32 %22838, ptr @test_count, align 4, !tbaa !5
  %22839 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22839, ptr %462, align 8, !tbaa !9
  %22840 = icmp eq ptr %22839, null
  br i1 %22840, label %22841, label %22894

22841:                                            ; preds = %22836
  br label %22842

22842:                                            ; preds = %22841
  br label %22843

22843:                                            ; preds = %22842
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #10
  %22844 = call ptr @__errno_location() #11
  %22845 = load i32, ptr %22844, align 4, !tbaa !5
  store i32 %22845, ptr %472, align 4, !tbaa !5
  %22846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22847 = call i32 @s2n_print_stacktrace(ptr noundef %22846)
  %22848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22849 = trunc i8 %22848 to i1
  br i1 %22849, label %22850, label %22872

22850:                                            ; preds = %22843
  %22851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22852 = call i32 @fileno(ptr noundef %22851) #10
  %22853 = call i32 @isatty(i32 noundef %22852) #10
  %22854 = icmp ne i32 %22853, 0
  br i1 %22854, label %22855, label %22872

22855:                                            ; preds = %22850
  %22856 = load i32, ptr %472, align 4, !tbaa !5
  %22857 = call ptr @__errno_location() #11
  store i32 %22856, ptr %22857, align 4, !tbaa !5
  %22858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22859 = load i32, ptr @test_count, align 4, !tbaa !5
  %22860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22861 = load i32, ptr %22860, align 4, !tbaa !5
  %22862 = call ptr @s2n_strerror(i32 noundef %22861, ptr noundef @.str.4)
  %22863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22864 = load i32, ptr %22863, align 4, !tbaa !5
  %22865 = call ptr @s2n_strerror_debug(i32 noundef %22864, ptr noundef @.str.4)
  %22866 = call ptr @__errno_location() #11
  %22867 = load i32, ptr %22866, align 4, !tbaa !5
  %22868 = call ptr @strerror(i32 noundef %22867) #10
  %22869 = call ptr @__errno_location() #11
  %22870 = load i32, ptr %22869, align 4, !tbaa !5
  %22871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22858, ptr noundef @.str.2, i32 noundef %22859, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1192, ptr noundef %22862, ptr noundef %22865, ptr noundef %22868, i32 noundef %22870) #10
  br label %22889

22872:                                            ; preds = %22850, %22843
  %22873 = load i32, ptr %472, align 4, !tbaa !5
  %22874 = call ptr @__errno_location() #11
  store i32 %22873, ptr %22874, align 4, !tbaa !5
  %22875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22876 = load i32, ptr @test_count, align 4, !tbaa !5
  %22877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22878 = load i32, ptr %22877, align 4, !tbaa !5
  %22879 = call ptr @s2n_strerror(i32 noundef %22878, ptr noundef @.str.4)
  %22880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22881 = load i32, ptr %22880, align 4, !tbaa !5
  %22882 = call ptr @s2n_strerror_debug(i32 noundef %22881, ptr noundef @.str.4)
  %22883 = call ptr @__errno_location() #11
  %22884 = load i32, ptr %22883, align 4, !tbaa !5
  %22885 = call ptr @strerror(i32 noundef %22884) #10
  %22886 = call ptr @__errno_location() #11
  %22887 = load i32, ptr %22886, align 4, !tbaa !5
  %22888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22875, ptr noundef @.str.5, i32 noundef %22876, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1192, ptr noundef %22879, ptr noundef %22882, ptr noundef %22885, i32 noundef %22887) #10
  br label %22889

22889:                                            ; preds = %22872, %22855
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #10
  br label %22890

22890:                                            ; preds = %22889
  br label %22891

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

22892:                                            ; No predecessors!
  br label %22893

22893:                                            ; preds = %22892
  br label %22894

22894:                                            ; preds = %22893, %22836
  br label %22895

22895:                                            ; preds = %22894
  br label %22896

22896:                                            ; preds = %22895
  %22897 = load ptr, ptr %462, align 8, !tbaa !9
  %22898 = getelementptr inbounds %struct.s2n_connection, ptr %22897, i32 0, i32 23
  store i8 33, ptr %22898, align 4, !tbaa !15
  %22899 = load ptr, ptr %462, align 8, !tbaa !9
  %22900 = getelementptr inbounds %struct.s2n_connection, ptr %22899, i32 0, i32 22
  store i8 33, ptr %22900, align 1, !tbaa !42
  %22901 = load ptr, ptr %462, align 8, !tbaa !9
  %22902 = getelementptr inbounds %struct.s2n_connection, ptr %22901, i32 0, i32 21
  store i8 33, ptr %22902, align 2, !tbaa !43
  br label %22903

22903:                                            ; preds = %22896
  %22904 = load i32, ptr @test_count, align 4, !tbaa !5
  %22905 = add nsw i32 %22904, 1
  store i32 %22905, ptr @test_count, align 4, !tbaa !5
  %22906 = load ptr, ptr %461, align 8, !tbaa !9
  %22907 = load ptr, ptr %462, align 8, !tbaa !9
  %22908 = call i32 @s2n_connections_set_io_pair(ptr noundef %22906, ptr noundef %22907, ptr noundef %15)
  %22909 = icmp eq i32 %22908, -1
  br i1 %22909, label %22910, label %22963

22910:                                            ; preds = %22903
  br label %22911

22911:                                            ; preds = %22910
  br label %22912

22912:                                            ; preds = %22911
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #10
  %22913 = call ptr @__errno_location() #11
  %22914 = load i32, ptr %22913, align 4, !tbaa !5
  store i32 %22914, ptr %473, align 4, !tbaa !5
  %22915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22916 = call i32 @s2n_print_stacktrace(ptr noundef %22915)
  %22917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22918 = trunc i8 %22917 to i1
  br i1 %22918, label %22919, label %22941

22919:                                            ; preds = %22912
  %22920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22921 = call i32 @fileno(ptr noundef %22920) #10
  %22922 = call i32 @isatty(i32 noundef %22921) #10
  %22923 = icmp ne i32 %22922, 0
  br i1 %22923, label %22924, label %22941

22924:                                            ; preds = %22919
  %22925 = load i32, ptr %473, align 4, !tbaa !5
  %22926 = call ptr @__errno_location() #11
  store i32 %22925, ptr %22926, align 4, !tbaa !5
  %22927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22928 = load i32, ptr @test_count, align 4, !tbaa !5
  %22929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22930 = load i32, ptr %22929, align 4, !tbaa !5
  %22931 = call ptr @s2n_strerror(i32 noundef %22930, ptr noundef @.str.4)
  %22932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22933 = load i32, ptr %22932, align 4, !tbaa !5
  %22934 = call ptr @s2n_strerror_debug(i32 noundef %22933, ptr noundef @.str.4)
  %22935 = call ptr @__errno_location() #11
  %22936 = load i32, ptr %22935, align 4, !tbaa !5
  %22937 = call ptr @strerror(i32 noundef %22936) #10
  %22938 = call ptr @__errno_location() #11
  %22939 = load i32, ptr %22938, align 4, !tbaa !5
  %22940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22927, ptr noundef @.str.2, i32 noundef %22928, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1197, ptr noundef %22931, ptr noundef %22934, ptr noundef %22937, i32 noundef %22939) #10
  br label %22958

22941:                                            ; preds = %22919, %22912
  %22942 = load i32, ptr %473, align 4, !tbaa !5
  %22943 = call ptr @__errno_location() #11
  store i32 %22942, ptr %22943, align 4, !tbaa !5
  %22944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22945 = load i32, ptr @test_count, align 4, !tbaa !5
  %22946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22947 = load i32, ptr %22946, align 4, !tbaa !5
  %22948 = call ptr @s2n_strerror(i32 noundef %22947, ptr noundef @.str.4)
  %22949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22950 = load i32, ptr %22949, align 4, !tbaa !5
  %22951 = call ptr @s2n_strerror_debug(i32 noundef %22950, ptr noundef @.str.4)
  %22952 = call ptr @__errno_location() #11
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @strerror(i32 noundef %22953) #10
  %22955 = call ptr @__errno_location() #11
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22944, ptr noundef @.str.5, i32 noundef %22945, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1197, ptr noundef %22948, ptr noundef %22951, ptr noundef %22954, i32 noundef %22956) #10
  br label %22958

22958:                                            ; preds = %22941, %22924
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #10
  br label %22959

22959:                                            ; preds = %22958
  br label %22960

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

22961:                                            ; No predecessors!
  br label %22962

22962:                                            ; preds = %22961
  br label %22963

22963:                                            ; preds = %22962, %22903
  br label %22964

22964:                                            ; preds = %22963
  br label %22965

22965:                                            ; preds = %22964
  br label %22966

22966:                                            ; preds = %22965
  %22967 = load i32, ptr @test_count, align 4, !tbaa !5
  %22968 = add nsw i32 %22967, 1
  store i32 %22968, ptr @test_count, align 4, !tbaa !5
  %22969 = call ptr @s2n_config_new()
  store ptr %22969, ptr %463, align 8, !tbaa !9
  %22970 = icmp eq ptr %22969, null
  br i1 %22970, label %22971, label %23024

22971:                                            ; preds = %22966
  br label %22972

22972:                                            ; preds = %22971
  br label %22973

22973:                                            ; preds = %22972
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #10
  %22974 = call ptr @__errno_location() #11
  %22975 = load i32, ptr %22974, align 4, !tbaa !5
  store i32 %22975, ptr %474, align 4, !tbaa !5
  %22976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22977 = call i32 @s2n_print_stacktrace(ptr noundef %22976)
  %22978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22979 = trunc i8 %22978 to i1
  br i1 %22979, label %22980, label %23002

22980:                                            ; preds = %22973
  %22981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22982 = call i32 @fileno(ptr noundef %22981) #10
  %22983 = call i32 @isatty(i32 noundef %22982) #10
  %22984 = icmp ne i32 %22983, 0
  br i1 %22984, label %22985, label %23002

22985:                                            ; preds = %22980
  %22986 = load i32, ptr %474, align 4, !tbaa !5
  %22987 = call ptr @__errno_location() #11
  store i32 %22986, ptr %22987, align 4, !tbaa !5
  %22988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22989 = load i32, ptr @test_count, align 4, !tbaa !5
  %22990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22991 = load i32, ptr %22990, align 4, !tbaa !5
  %22992 = call ptr @s2n_strerror(i32 noundef %22991, ptr noundef @.str.4)
  %22993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22994 = load i32, ptr %22993, align 4, !tbaa !5
  %22995 = call ptr @s2n_strerror_debug(i32 noundef %22994, ptr noundef @.str.4)
  %22996 = call ptr @__errno_location() #11
  %22997 = load i32, ptr %22996, align 4, !tbaa !5
  %22998 = call ptr @strerror(i32 noundef %22997) #10
  %22999 = call ptr @__errno_location() #11
  %23000 = load i32, ptr %22999, align 4, !tbaa !5
  %23001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22988, ptr noundef @.str.2, i32 noundef %22989, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1199, ptr noundef %22992, ptr noundef %22995, ptr noundef %22998, i32 noundef %23000) #10
  br label %23019

23002:                                            ; preds = %22980, %22973
  %23003 = load i32, ptr %474, align 4, !tbaa !5
  %23004 = call ptr @__errno_location() #11
  store i32 %23003, ptr %23004, align 4, !tbaa !5
  %23005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23006 = load i32, ptr @test_count, align 4, !tbaa !5
  %23007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23008 = load i32, ptr %23007, align 4, !tbaa !5
  %23009 = call ptr @s2n_strerror(i32 noundef %23008, ptr noundef @.str.4)
  %23010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23011 = load i32, ptr %23010, align 4, !tbaa !5
  %23012 = call ptr @s2n_strerror_debug(i32 noundef %23011, ptr noundef @.str.4)
  %23013 = call ptr @__errno_location() #11
  %23014 = load i32, ptr %23013, align 4, !tbaa !5
  %23015 = call ptr @strerror(i32 noundef %23014) #10
  %23016 = call ptr @__errno_location() #11
  %23017 = load i32, ptr %23016, align 4, !tbaa !5
  %23018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23005, ptr noundef @.str.5, i32 noundef %23006, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1199, ptr noundef %23009, ptr noundef %23012, ptr noundef %23015, i32 noundef %23017) #10
  br label %23019

23019:                                            ; preds = %23002, %22985
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #10
  br label %23020

23020:                                            ; preds = %23019
  br label %23021

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

23022:                                            ; No predecessors!
  br label %23023

23023:                                            ; preds = %23022
  br label %23024

23024:                                            ; preds = %23023, %22966
  br label %23025

23025:                                            ; preds = %23024
  br label %23026

23026:                                            ; preds = %23025
  br label %23027

23027:                                            ; preds = %23026
  %23028 = load i32, ptr @test_count, align 4, !tbaa !5
  %23029 = add nsw i32 %23028, 1
  store i32 %23029, ptr @test_count, align 4, !tbaa !5
  %23030 = load ptr, ptr %463, align 8, !tbaa !9
  %23031 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %23030)
  %23032 = icmp eq i32 %23031, -1
  br i1 %23032, label %23033, label %23086

23033:                                            ; preds = %23027
  br label %23034

23034:                                            ; preds = %23033
  br label %23035

23035:                                            ; preds = %23034
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #10
  %23036 = call ptr @__errno_location() #11
  %23037 = load i32, ptr %23036, align 4, !tbaa !5
  store i32 %23037, ptr %475, align 4, !tbaa !5
  %23038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23039 = call i32 @s2n_print_stacktrace(ptr noundef %23038)
  %23040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23041 = trunc i8 %23040 to i1
  br i1 %23041, label %23042, label %23064

23042:                                            ; preds = %23035
  %23043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23044 = call i32 @fileno(ptr noundef %23043) #10
  %23045 = call i32 @isatty(i32 noundef %23044) #10
  %23046 = icmp ne i32 %23045, 0
  br i1 %23046, label %23047, label %23064

23047:                                            ; preds = %23042
  %23048 = load i32, ptr %475, align 4, !tbaa !5
  %23049 = call ptr @__errno_location() #11
  store i32 %23048, ptr %23049, align 4, !tbaa !5
  %23050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23051 = load i32, ptr @test_count, align 4, !tbaa !5
  %23052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23053 = load i32, ptr %23052, align 4, !tbaa !5
  %23054 = call ptr @s2n_strerror(i32 noundef %23053, ptr noundef @.str.4)
  %23055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23056 = load i32, ptr %23055, align 4, !tbaa !5
  %23057 = call ptr @s2n_strerror_debug(i32 noundef %23056, ptr noundef @.str.4)
  %23058 = call ptr @__errno_location() #11
  %23059 = load i32, ptr %23058, align 4, !tbaa !5
  %23060 = call ptr @strerror(i32 noundef %23059) #10
  %23061 = call ptr @__errno_location() #11
  %23062 = load i32, ptr %23061, align 4, !tbaa !5
  %23063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23050, ptr noundef @.str.2, i32 noundef %23051, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1200, ptr noundef %23054, ptr noundef %23057, ptr noundef %23060, i32 noundef %23062) #10
  br label %23081

23064:                                            ; preds = %23042, %23035
  %23065 = load i32, ptr %475, align 4, !tbaa !5
  %23066 = call ptr @__errno_location() #11
  store i32 %23065, ptr %23066, align 4, !tbaa !5
  %23067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23068 = load i32, ptr @test_count, align 4, !tbaa !5
  %23069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23070 = load i32, ptr %23069, align 4, !tbaa !5
  %23071 = call ptr @s2n_strerror(i32 noundef %23070, ptr noundef @.str.4)
  %23072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23073 = load i32, ptr %23072, align 4, !tbaa !5
  %23074 = call ptr @s2n_strerror_debug(i32 noundef %23073, ptr noundef @.str.4)
  %23075 = call ptr @__errno_location() #11
  %23076 = load i32, ptr %23075, align 4, !tbaa !5
  %23077 = call ptr @strerror(i32 noundef %23076) #10
  %23078 = call ptr @__errno_location() #11
  %23079 = load i32, ptr %23078, align 4, !tbaa !5
  %23080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23067, ptr noundef @.str.5, i32 noundef %23068, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1200, ptr noundef %23071, ptr noundef %23074, ptr noundef %23077, i32 noundef %23079) #10
  br label %23081

23081:                                            ; preds = %23064, %23047
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #10
  br label %23082

23082:                                            ; preds = %23081
  br label %23083

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

23084:                                            ; No predecessors!
  br label %23085

23085:                                            ; preds = %23084
  br label %23086

23086:                                            ; preds = %23085, %23027
  br label %23087

23087:                                            ; preds = %23086
  br label %23088

23088:                                            ; preds = %23087
  br label %23089

23089:                                            ; preds = %23088
  %23090 = load i32, ptr @test_count, align 4, !tbaa !5
  %23091 = add nsw i32 %23090, 1
  store i32 %23091, ptr @test_count, align 4, !tbaa !5
  %23092 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %23092, ptr %465, align 8, !tbaa !9
  %23093 = icmp eq ptr %23092, null
  br i1 %23093, label %23094, label %23147

23094:                                            ; preds = %23089
  br label %23095

23095:                                            ; preds = %23094
  br label %23096

23096:                                            ; preds = %23095
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #10
  %23097 = call ptr @__errno_location() #11
  %23098 = load i32, ptr %23097, align 4, !tbaa !5
  store i32 %23098, ptr %476, align 4, !tbaa !5
  %23099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23100 = call i32 @s2n_print_stacktrace(ptr noundef %23099)
  %23101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23102 = trunc i8 %23101 to i1
  br i1 %23102, label %23103, label %23125

23103:                                            ; preds = %23096
  %23104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23105 = call i32 @fileno(ptr noundef %23104) #10
  %23106 = call i32 @isatty(i32 noundef %23105) #10
  %23107 = icmp ne i32 %23106, 0
  br i1 %23107, label %23108, label %23125

23108:                                            ; preds = %23103
  %23109 = load i32, ptr %476, align 4, !tbaa !5
  %23110 = call ptr @__errno_location() #11
  store i32 %23109, ptr %23110, align 4, !tbaa !5
  %23111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23112 = load i32, ptr @test_count, align 4, !tbaa !5
  %23113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23114 = load i32, ptr %23113, align 4, !tbaa !5
  %23115 = call ptr @s2n_strerror(i32 noundef %23114, ptr noundef @.str.4)
  %23116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23117 = load i32, ptr %23116, align 4, !tbaa !5
  %23118 = call ptr @s2n_strerror_debug(i32 noundef %23117, ptr noundef @.str.4)
  %23119 = call ptr @__errno_location() #11
  %23120 = load i32, ptr %23119, align 4, !tbaa !5
  %23121 = call ptr @strerror(i32 noundef %23120) #10
  %23122 = call ptr @__errno_location() #11
  %23123 = load i32, ptr %23122, align 4, !tbaa !5
  %23124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23111, ptr noundef @.str.2, i32 noundef %23112, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %23115, ptr noundef %23118, ptr noundef %23121, i32 noundef %23123) #10
  br label %23142

23125:                                            ; preds = %23103, %23096
  %23126 = load i32, ptr %476, align 4, !tbaa !5
  %23127 = call ptr @__errno_location() #11
  store i32 %23126, ptr %23127, align 4, !tbaa !5
  %23128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23129 = load i32, ptr @test_count, align 4, !tbaa !5
  %23130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23131 = load i32, ptr %23130, align 4, !tbaa !5
  %23132 = call ptr @s2n_strerror(i32 noundef %23131, ptr noundef @.str.4)
  %23133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23134 = load i32, ptr %23133, align 4, !tbaa !5
  %23135 = call ptr @s2n_strerror_debug(i32 noundef %23134, ptr noundef @.str.4)
  %23136 = call ptr @__errno_location() #11
  %23137 = load i32, ptr %23136, align 4, !tbaa !5
  %23138 = call ptr @strerror(i32 noundef %23137) #10
  %23139 = call ptr @__errno_location() #11
  %23140 = load i32, ptr %23139, align 4, !tbaa !5
  %23141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23128, ptr noundef @.str.5, i32 noundef %23129, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1201, ptr noundef %23132, ptr noundef %23135, ptr noundef %23138, i32 noundef %23140) #10
  br label %23142

23142:                                            ; preds = %23125, %23108
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #10
  br label %23143

23143:                                            ; preds = %23142
  br label %23144

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

23145:                                            ; No predecessors!
  br label %23146

23146:                                            ; preds = %23145
  br label %23147

23147:                                            ; preds = %23146, %23089
  br label %23148

23148:                                            ; preds = %23147
  br label %23149

23149:                                            ; preds = %23148
  br label %23150

23150:                                            ; preds = %23149
  %23151 = load i32, ptr @test_count, align 4, !tbaa !5
  %23152 = add nsw i32 %23151, 1
  store i32 %23152, ptr @test_count, align 4, !tbaa !5
  %23153 = load ptr, ptr %465, align 8, !tbaa !9
  %23154 = load ptr, ptr %6, align 8, !tbaa !9
  %23155 = load ptr, ptr %7, align 8, !tbaa !9
  %23156 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %23153, ptr noundef %23154, ptr noundef %23155)
  %23157 = icmp eq i32 %23156, -1
  br i1 %23157, label %23158, label %23211

23158:                                            ; preds = %23150
  br label %23159

23159:                                            ; preds = %23158
  br label %23160

23160:                                            ; preds = %23159
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #10
  %23161 = call ptr @__errno_location() #11
  %23162 = load i32, ptr %23161, align 4, !tbaa !5
  store i32 %23162, ptr %477, align 4, !tbaa !5
  %23163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23164 = call i32 @s2n_print_stacktrace(ptr noundef %23163)
  %23165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23166 = trunc i8 %23165 to i1
  br i1 %23166, label %23167, label %23189

23167:                                            ; preds = %23160
  %23168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23169 = call i32 @fileno(ptr noundef %23168) #10
  %23170 = call i32 @isatty(i32 noundef %23169) #10
  %23171 = icmp ne i32 %23170, 0
  br i1 %23171, label %23172, label %23189

23172:                                            ; preds = %23167
  %23173 = load i32, ptr %477, align 4, !tbaa !5
  %23174 = call ptr @__errno_location() #11
  store i32 %23173, ptr %23174, align 4, !tbaa !5
  %23175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23176 = load i32, ptr @test_count, align 4, !tbaa !5
  %23177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23178 = load i32, ptr %23177, align 4, !tbaa !5
  %23179 = call ptr @s2n_strerror(i32 noundef %23178, ptr noundef @.str.4)
  %23180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23181 = load i32, ptr %23180, align 4, !tbaa !5
  %23182 = call ptr @s2n_strerror_debug(i32 noundef %23181, ptr noundef @.str.4)
  %23183 = call ptr @__errno_location() #11
  %23184 = load i32, ptr %23183, align 4, !tbaa !5
  %23185 = call ptr @strerror(i32 noundef %23184) #10
  %23186 = call ptr @__errno_location() #11
  %23187 = load i32, ptr %23186, align 4, !tbaa !5
  %23188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23175, ptr noundef @.str.2, i32 noundef %23176, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %23179, ptr noundef %23182, ptr noundef %23185, i32 noundef %23187) #10
  br label %23206

23189:                                            ; preds = %23167, %23160
  %23190 = load i32, ptr %477, align 4, !tbaa !5
  %23191 = call ptr @__errno_location() #11
  store i32 %23190, ptr %23191, align 4, !tbaa !5
  %23192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23193 = load i32, ptr @test_count, align 4, !tbaa !5
  %23194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23195 = load i32, ptr %23194, align 4, !tbaa !5
  %23196 = call ptr @s2n_strerror(i32 noundef %23195, ptr noundef @.str.4)
  %23197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23198 = load i32, ptr %23197, align 4, !tbaa !5
  %23199 = call ptr @s2n_strerror_debug(i32 noundef %23198, ptr noundef @.str.4)
  %23200 = call ptr @__errno_location() #11
  %23201 = load i32, ptr %23200, align 4, !tbaa !5
  %23202 = call ptr @strerror(i32 noundef %23201) #10
  %23203 = call ptr @__errno_location() #11
  %23204 = load i32, ptr %23203, align 4, !tbaa !5
  %23205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23192, ptr noundef @.str.5, i32 noundef %23193, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %23196, ptr noundef %23199, ptr noundef %23202, i32 noundef %23204) #10
  br label %23206

23206:                                            ; preds = %23189, %23172
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #10
  br label %23207

23207:                                            ; preds = %23206
  br label %23208

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

23209:                                            ; No predecessors!
  br label %23210

23210:                                            ; preds = %23209
  br label %23211

23211:                                            ; preds = %23210, %23150
  br label %23212

23212:                                            ; preds = %23211
  br label %23213

23213:                                            ; preds = %23212
  br label %23214

23214:                                            ; preds = %23213
  %23215 = load i32, ptr @test_count, align 4, !tbaa !5
  %23216 = add nsw i32 %23215, 1
  store i32 %23216, ptr @test_count, align 4, !tbaa !5
  %23217 = load ptr, ptr %463, align 8, !tbaa !9
  %23218 = load ptr, ptr %465, align 8, !tbaa !9
  %23219 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %23217, ptr noundef %23218)
  %23220 = icmp eq i32 %23219, -1
  br i1 %23220, label %23221, label %23274

23221:                                            ; preds = %23214
  br label %23222

23222:                                            ; preds = %23221
  br label %23223

23223:                                            ; preds = %23222
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #10
  %23224 = call ptr @__errno_location() #11
  %23225 = load i32, ptr %23224, align 4, !tbaa !5
  store i32 %23225, ptr %478, align 4, !tbaa !5
  %23226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23227 = call i32 @s2n_print_stacktrace(ptr noundef %23226)
  %23228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23229 = trunc i8 %23228 to i1
  br i1 %23229, label %23230, label %23252

23230:                                            ; preds = %23223
  %23231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23232 = call i32 @fileno(ptr noundef %23231) #10
  %23233 = call i32 @isatty(i32 noundef %23232) #10
  %23234 = icmp ne i32 %23233, 0
  br i1 %23234, label %23235, label %23252

23235:                                            ; preds = %23230
  %23236 = load i32, ptr %478, align 4, !tbaa !5
  %23237 = call ptr @__errno_location() #11
  store i32 %23236, ptr %23237, align 4, !tbaa !5
  %23238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23239 = load i32, ptr @test_count, align 4, !tbaa !5
  %23240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23241 = load i32, ptr %23240, align 4, !tbaa !5
  %23242 = call ptr @s2n_strerror(i32 noundef %23241, ptr noundef @.str.4)
  %23243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23244 = load i32, ptr %23243, align 4, !tbaa !5
  %23245 = call ptr @s2n_strerror_debug(i32 noundef %23244, ptr noundef @.str.4)
  %23246 = call ptr @__errno_location() #11
  %23247 = load i32, ptr %23246, align 4, !tbaa !5
  %23248 = call ptr @strerror(i32 noundef %23247) #10
  %23249 = call ptr @__errno_location() #11
  %23250 = load i32, ptr %23249, align 4, !tbaa !5
  %23251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23238, ptr noundef @.str.2, i32 noundef %23239, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1203, ptr noundef %23242, ptr noundef %23245, ptr noundef %23248, i32 noundef %23250) #10
  br label %23269

23252:                                            ; preds = %23230, %23223
  %23253 = load i32, ptr %478, align 4, !tbaa !5
  %23254 = call ptr @__errno_location() #11
  store i32 %23253, ptr %23254, align 4, !tbaa !5
  %23255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23256 = load i32, ptr @test_count, align 4, !tbaa !5
  %23257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23258 = load i32, ptr %23257, align 4, !tbaa !5
  %23259 = call ptr @s2n_strerror(i32 noundef %23258, ptr noundef @.str.4)
  %23260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23261 = load i32, ptr %23260, align 4, !tbaa !5
  %23262 = call ptr @s2n_strerror_debug(i32 noundef %23261, ptr noundef @.str.4)
  %23263 = call ptr @__errno_location() #11
  %23264 = load i32, ptr %23263, align 4, !tbaa !5
  %23265 = call ptr @strerror(i32 noundef %23264) #10
  %23266 = call ptr @__errno_location() #11
  %23267 = load i32, ptr %23266, align 4, !tbaa !5
  %23268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23255, ptr noundef @.str.5, i32 noundef %23256, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1203, ptr noundef %23259, ptr noundef %23262, ptr noundef %23265, i32 noundef %23267) #10
  br label %23269

23269:                                            ; preds = %23252, %23235
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #10
  br label %23270

23270:                                            ; preds = %23269
  br label %23271

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

23272:                                            ; No predecessors!
  br label %23273

23273:                                            ; preds = %23272
  br label %23274

23274:                                            ; preds = %23273, %23214
  br label %23275

23275:                                            ; preds = %23274
  br label %23276

23276:                                            ; preds = %23275
  br label %23277

23277:                                            ; preds = %23276
  %23278 = load i32, ptr @test_count, align 4, !tbaa !5
  %23279 = add nsw i32 %23278, 1
  store i32 %23279, ptr @test_count, align 4, !tbaa !5
  %23280 = load ptr, ptr %462, align 8, !tbaa !9
  %23281 = load ptr, ptr %463, align 8, !tbaa !9
  %23282 = call i32 @s2n_connection_set_config(ptr noundef %23280, ptr noundef %23281)
  %23283 = icmp eq i32 %23282, -1
  br i1 %23283, label %23284, label %23337

23284:                                            ; preds = %23277
  br label %23285

23285:                                            ; preds = %23284
  br label %23286

23286:                                            ; preds = %23285
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #10
  %23287 = call ptr @__errno_location() #11
  %23288 = load i32, ptr %23287, align 4, !tbaa !5
  store i32 %23288, ptr %479, align 4, !tbaa !5
  %23289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23290 = call i32 @s2n_print_stacktrace(ptr noundef %23289)
  %23291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23292 = trunc i8 %23291 to i1
  br i1 %23292, label %23293, label %23315

23293:                                            ; preds = %23286
  %23294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23295 = call i32 @fileno(ptr noundef %23294) #10
  %23296 = call i32 @isatty(i32 noundef %23295) #10
  %23297 = icmp ne i32 %23296, 0
  br i1 %23297, label %23298, label %23315

23298:                                            ; preds = %23293
  %23299 = load i32, ptr %479, align 4, !tbaa !5
  %23300 = call ptr @__errno_location() #11
  store i32 %23299, ptr %23300, align 4, !tbaa !5
  %23301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23302 = load i32, ptr @test_count, align 4, !tbaa !5
  %23303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23304 = load i32, ptr %23303, align 4, !tbaa !5
  %23305 = call ptr @s2n_strerror(i32 noundef %23304, ptr noundef @.str.4)
  %23306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23307 = load i32, ptr %23306, align 4, !tbaa !5
  %23308 = call ptr @s2n_strerror_debug(i32 noundef %23307, ptr noundef @.str.4)
  %23309 = call ptr @__errno_location() #11
  %23310 = load i32, ptr %23309, align 4, !tbaa !5
  %23311 = call ptr @strerror(i32 noundef %23310) #10
  %23312 = call ptr @__errno_location() #11
  %23313 = load i32, ptr %23312, align 4, !tbaa !5
  %23314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23301, ptr noundef @.str.2, i32 noundef %23302, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1204, ptr noundef %23305, ptr noundef %23308, ptr noundef %23311, i32 noundef %23313) #10
  br label %23332

23315:                                            ; preds = %23293, %23286
  %23316 = load i32, ptr %479, align 4, !tbaa !5
  %23317 = call ptr @__errno_location() #11
  store i32 %23316, ptr %23317, align 4, !tbaa !5
  %23318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23319 = load i32, ptr @test_count, align 4, !tbaa !5
  %23320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23321 = load i32, ptr %23320, align 4, !tbaa !5
  %23322 = call ptr @s2n_strerror(i32 noundef %23321, ptr noundef @.str.4)
  %23323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23324 = load i32, ptr %23323, align 4, !tbaa !5
  %23325 = call ptr @s2n_strerror_debug(i32 noundef %23324, ptr noundef @.str.4)
  %23326 = call ptr @__errno_location() #11
  %23327 = load i32, ptr %23326, align 4, !tbaa !5
  %23328 = call ptr @strerror(i32 noundef %23327) #10
  %23329 = call ptr @__errno_location() #11
  %23330 = load i32, ptr %23329, align 4, !tbaa !5
  %23331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23318, ptr noundef @.str.5, i32 noundef %23319, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1204, ptr noundef %23322, ptr noundef %23325, ptr noundef %23328, i32 noundef %23330) #10
  br label %23332

23332:                                            ; preds = %23315, %23298
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #10
  br label %23333

23333:                                            ; preds = %23332
  br label %23334

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

23335:                                            ; No predecessors!
  br label %23336

23336:                                            ; preds = %23335
  br label %23337

23337:                                            ; preds = %23336, %23277
  br label %23338

23338:                                            ; preds = %23337
  br label %23339

23339:                                            ; preds = %23338
  br label %23340

23340:                                            ; preds = %23339
  %23341 = load i32, ptr @test_count, align 4, !tbaa !5
  %23342 = add nsw i32 %23341, 1
  store i32 %23342, ptr @test_count, align 4, !tbaa !5
  %23343 = load ptr, ptr %462, align 8, !tbaa !9
  %23344 = call i32 @s2n_connection_prefer_throughput(ptr noundef %23343)
  %23345 = icmp eq i32 %23344, -1
  br i1 %23345, label %23346, label %23399

23346:                                            ; preds = %23340
  br label %23347

23347:                                            ; preds = %23346
  br label %23348

23348:                                            ; preds = %23347
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #10
  %23349 = call ptr @__errno_location() #11
  %23350 = load i32, ptr %23349, align 4, !tbaa !5
  store i32 %23350, ptr %480, align 4, !tbaa !5
  %23351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23352 = call i32 @s2n_print_stacktrace(ptr noundef %23351)
  %23353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23354 = trunc i8 %23353 to i1
  br i1 %23354, label %23355, label %23377

23355:                                            ; preds = %23348
  %23356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23357 = call i32 @fileno(ptr noundef %23356) #10
  %23358 = call i32 @isatty(i32 noundef %23357) #10
  %23359 = icmp ne i32 %23358, 0
  br i1 %23359, label %23360, label %23377

23360:                                            ; preds = %23355
  %23361 = load i32, ptr %480, align 4, !tbaa !5
  %23362 = call ptr @__errno_location() #11
  store i32 %23361, ptr %23362, align 4, !tbaa !5
  %23363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23364 = load i32, ptr @test_count, align 4, !tbaa !5
  %23365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23366 = load i32, ptr %23365, align 4, !tbaa !5
  %23367 = call ptr @s2n_strerror(i32 noundef %23366, ptr noundef @.str.4)
  %23368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23369 = load i32, ptr %23368, align 4, !tbaa !5
  %23370 = call ptr @s2n_strerror_debug(i32 noundef %23369, ptr noundef @.str.4)
  %23371 = call ptr @__errno_location() #11
  %23372 = load i32, ptr %23371, align 4, !tbaa !5
  %23373 = call ptr @strerror(i32 noundef %23372) #10
  %23374 = call ptr @__errno_location() #11
  %23375 = load i32, ptr %23374, align 4, !tbaa !5
  %23376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23363, ptr noundef @.str.2, i32 noundef %23364, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %23367, ptr noundef %23370, ptr noundef %23373, i32 noundef %23375) #10
  br label %23394

23377:                                            ; preds = %23355, %23348
  %23378 = load i32, ptr %480, align 4, !tbaa !5
  %23379 = call ptr @__errno_location() #11
  store i32 %23378, ptr %23379, align 4, !tbaa !5
  %23380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23381 = load i32, ptr @test_count, align 4, !tbaa !5
  %23382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23383 = load i32, ptr %23382, align 4, !tbaa !5
  %23384 = call ptr @s2n_strerror(i32 noundef %23383, ptr noundef @.str.4)
  %23385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23386 = load i32, ptr %23385, align 4, !tbaa !5
  %23387 = call ptr @s2n_strerror_debug(i32 noundef %23386, ptr noundef @.str.4)
  %23388 = call ptr @__errno_location() #11
  %23389 = load i32, ptr %23388, align 4, !tbaa !5
  %23390 = call ptr @strerror(i32 noundef %23389) #10
  %23391 = call ptr @__errno_location() #11
  %23392 = load i32, ptr %23391, align 4, !tbaa !5
  %23393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23380, ptr noundef @.str.5, i32 noundef %23381, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %23384, ptr noundef %23387, ptr noundef %23390, i32 noundef %23392) #10
  br label %23394

23394:                                            ; preds = %23377, %23360
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #10
  br label %23395

23395:                                            ; preds = %23394
  br label %23396

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

23397:                                            ; No predecessors!
  br label %23398

23398:                                            ; preds = %23397
  br label %23399

23399:                                            ; preds = %23398, %23340
  br label %23400

23400:                                            ; preds = %23399
  br label %23401

23401:                                            ; preds = %23400
  br label %23402

23402:                                            ; preds = %23401
  %23403 = load i32, ptr @test_count, align 4, !tbaa !5
  %23404 = add nsw i32 %23403, 1
  store i32 %23404, ptr @test_count, align 4, !tbaa !5
  %23405 = load ptr, ptr %462, align 8, !tbaa !9
  %23406 = load ptr, ptr %461, align 8, !tbaa !9
  %23407 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %23405, ptr noundef %23406)
  %23408 = icmp eq i32 %23407, -1
  br i1 %23408, label %23409, label %23462

23409:                                            ; preds = %23402
  br label %23410

23410:                                            ; preds = %23409
  br label %23411

23411:                                            ; preds = %23410
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #10
  %23412 = call ptr @__errno_location() #11
  %23413 = load i32, ptr %23412, align 4, !tbaa !5
  store i32 %23413, ptr %481, align 4, !tbaa !5
  %23414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23415 = call i32 @s2n_print_stacktrace(ptr noundef %23414)
  %23416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23417 = trunc i8 %23416 to i1
  br i1 %23417, label %23418, label %23440

23418:                                            ; preds = %23411
  %23419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23420 = call i32 @fileno(ptr noundef %23419) #10
  %23421 = call i32 @isatty(i32 noundef %23420) #10
  %23422 = icmp ne i32 %23421, 0
  br i1 %23422, label %23423, label %23440

23423:                                            ; preds = %23418
  %23424 = load i32, ptr %481, align 4, !tbaa !5
  %23425 = call ptr @__errno_location() #11
  store i32 %23424, ptr %23425, align 4, !tbaa !5
  %23426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23427 = load i32, ptr @test_count, align 4, !tbaa !5
  %23428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23429 = load i32, ptr %23428, align 4, !tbaa !5
  %23430 = call ptr @s2n_strerror(i32 noundef %23429, ptr noundef @.str.4)
  %23431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23432 = load i32, ptr %23431, align 4, !tbaa !5
  %23433 = call ptr @s2n_strerror_debug(i32 noundef %23432, ptr noundef @.str.4)
  %23434 = call ptr @__errno_location() #11
  %23435 = load i32, ptr %23434, align 4, !tbaa !5
  %23436 = call ptr @strerror(i32 noundef %23435) #10
  %23437 = call ptr @__errno_location() #11
  %23438 = load i32, ptr %23437, align 4, !tbaa !5
  %23439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23426, ptr noundef @.str.2, i32 noundef %23427, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1209, ptr noundef %23430, ptr noundef %23433, ptr noundef %23436, i32 noundef %23438) #10
  br label %23457

23440:                                            ; preds = %23418, %23411
  %23441 = load i32, ptr %481, align 4, !tbaa !5
  %23442 = call ptr @__errno_location() #11
  store i32 %23441, ptr %23442, align 4, !tbaa !5
  %23443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23444 = load i32, ptr @test_count, align 4, !tbaa !5
  %23445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23446 = load i32, ptr %23445, align 4, !tbaa !5
  %23447 = call ptr @s2n_strerror(i32 noundef %23446, ptr noundef @.str.4)
  %23448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23449 = load i32, ptr %23448, align 4, !tbaa !5
  %23450 = call ptr @s2n_strerror_debug(i32 noundef %23449, ptr noundef @.str.4)
  %23451 = call ptr @__errno_location() #11
  %23452 = load i32, ptr %23451, align 4, !tbaa !5
  %23453 = call ptr @strerror(i32 noundef %23452) #10
  %23454 = call ptr @__errno_location() #11
  %23455 = load i32, ptr %23454, align 4, !tbaa !5
  %23456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23443, ptr noundef @.str.5, i32 noundef %23444, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1209, ptr noundef %23447, ptr noundef %23450, ptr noundef %23453, i32 noundef %23455) #10
  br label %23457

23457:                                            ; preds = %23440, %23423
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #10
  br label %23458

23458:                                            ; preds = %23457
  br label %23459

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

23460:                                            ; No predecessors!
  br label %23461

23461:                                            ; preds = %23460
  br label %23462

23462:                                            ; preds = %23461, %23402
  br label %23463

23463:                                            ; preds = %23462
  br label %23464

23464:                                            ; preds = %23463
  br label %23465

23465:                                            ; preds = %23464
  %23466 = load i32, ptr @test_count, align 4, !tbaa !5
  %23467 = add nsw i32 %23466, 1
  store i32 %23467, ptr @test_count, align 4, !tbaa !5
  %23468 = load ptr, ptr %462, align 8, !tbaa !9
  %23469 = getelementptr inbounds %struct.s2n_connection, ptr %23468, i32 0, i32 53
  %23470 = load i16, ptr %23469, align 8, !tbaa !54
  %23471 = zext i16 %23470 to i32
  %23472 = load i8, ptr %460, align 1, !tbaa !44
  %23473 = zext i8 %23472 to i64
  %23474 = getelementptr inbounds [5 x i16], ptr @mfl_code_to_length, i64 0, i64 %23473
  %23475 = load i16, ptr %23474, align 2, !tbaa !55
  %23476 = zext i16 %23475 to i32
  %23477 = icmp eq i32 %23471, %23476
  br i1 %23477, label %23531, label %23478

23478:                                            ; preds = %23465
  br label %23479

23479:                                            ; preds = %23478
  br label %23480

23480:                                            ; preds = %23479
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #10
  %23481 = call ptr @__errno_location() #11
  %23482 = load i32, ptr %23481, align 4, !tbaa !5
  store i32 %23482, ptr %482, align 4, !tbaa !5
  %23483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23484 = call i32 @s2n_print_stacktrace(ptr noundef %23483)
  %23485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23486 = trunc i8 %23485 to i1
  br i1 %23486, label %23487, label %23509

23487:                                            ; preds = %23480
  %23488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23489 = call i32 @fileno(ptr noundef %23488) #10
  %23490 = call i32 @isatty(i32 noundef %23489) #10
  %23491 = icmp ne i32 %23490, 0
  br i1 %23491, label %23492, label %23509

23492:                                            ; preds = %23487
  %23493 = load i32, ptr %482, align 4, !tbaa !5
  %23494 = call ptr @__errno_location() #11
  store i32 %23493, ptr %23494, align 4, !tbaa !5
  %23495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23496 = load i32, ptr @test_count, align 4, !tbaa !5
  %23497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23498 = load i32, ptr %23497, align 4, !tbaa !5
  %23499 = call ptr @s2n_strerror(i32 noundef %23498, ptr noundef @.str.4)
  %23500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23501 = load i32, ptr %23500, align 4, !tbaa !5
  %23502 = call ptr @s2n_strerror_debug(i32 noundef %23501, ptr noundef @.str.4)
  %23503 = call ptr @__errno_location() #11
  %23504 = load i32, ptr %23503, align 4, !tbaa !5
  %23505 = call ptr @strerror(i32 noundef %23504) #10
  %23506 = call ptr @__errno_location() #11
  %23507 = load i32, ptr %23506, align 4, !tbaa !5
  %23508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23495, ptr noundef @.str.2, i32 noundef %23496, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 1211, ptr noundef %23499, ptr noundef %23502, ptr noundef %23505, i32 noundef %23507) #10
  br label %23526

23509:                                            ; preds = %23487, %23480
  %23510 = load i32, ptr %482, align 4, !tbaa !5
  %23511 = call ptr @__errno_location() #11
  store i32 %23510, ptr %23511, align 4, !tbaa !5
  %23512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23513 = load i32, ptr @test_count, align 4, !tbaa !5
  %23514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23515 = load i32, ptr %23514, align 4, !tbaa !5
  %23516 = call ptr @s2n_strerror(i32 noundef %23515, ptr noundef @.str.4)
  %23517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23518 = load i32, ptr %23517, align 4, !tbaa !5
  %23519 = call ptr @s2n_strerror_debug(i32 noundef %23518, ptr noundef @.str.4)
  %23520 = call ptr @__errno_location() #11
  %23521 = load i32, ptr %23520, align 4, !tbaa !5
  %23522 = call ptr @strerror(i32 noundef %23521) #10
  %23523 = call ptr @__errno_location() #11
  %23524 = load i32, ptr %23523, align 4, !tbaa !5
  %23525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23512, ptr noundef @.str.5, i32 noundef %23513, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 1211, ptr noundef %23516, ptr noundef %23519, ptr noundef %23522, i32 noundef %23524) #10
  br label %23526

23526:                                            ; preds = %23509, %23492
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #10
  br label %23527

23527:                                            ; preds = %23526
  br label %23528

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

23529:                                            ; No predecessors!
  br label %23530

23530:                                            ; preds = %23529
  br label %23531

23531:                                            ; preds = %23530, %23465
  br label %23532

23532:                                            ; preds = %23531
  br label %23533

23533:                                            ; preds = %23532
  br label %23534

23534:                                            ; preds = %23533
  %23535 = load i32, ptr @test_count, align 4, !tbaa !5
  %23536 = add nsw i32 %23535, 1
  store i32 %23536, ptr @test_count, align 4, !tbaa !5
  %23537 = load ptr, ptr %462, align 8, !tbaa !9
  %23538 = getelementptr inbounds %struct.s2n_connection, ptr %23537, i32 0, i32 57
  %23539 = load i8, ptr %23538, align 8, !tbaa !56
  %23540 = zext i8 %23539 to i32
  %23541 = load i8, ptr %460, align 1, !tbaa !44
  %23542 = zext i8 %23541 to i32
  %23543 = icmp eq i32 %23540, %23542
  br i1 %23543, label %23597, label %23544

23544:                                            ; preds = %23534
  br label %23545

23545:                                            ; preds = %23544
  br label %23546

23546:                                            ; preds = %23545
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #10
  %23547 = call ptr @__errno_location() #11
  %23548 = load i32, ptr %23547, align 4, !tbaa !5
  store i32 %23548, ptr %483, align 4, !tbaa !5
  %23549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23550 = call i32 @s2n_print_stacktrace(ptr noundef %23549)
  %23551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23552 = trunc i8 %23551 to i1
  br i1 %23552, label %23553, label %23575

23553:                                            ; preds = %23546
  %23554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23555 = call i32 @fileno(ptr noundef %23554) #10
  %23556 = call i32 @isatty(i32 noundef %23555) #10
  %23557 = icmp ne i32 %23556, 0
  br i1 %23557, label %23558, label %23575

23558:                                            ; preds = %23553
  %23559 = load i32, ptr %483, align 4, !tbaa !5
  %23560 = call ptr @__errno_location() #11
  store i32 %23559, ptr %23560, align 4, !tbaa !5
  %23561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23562 = load i32, ptr @test_count, align 4, !tbaa !5
  %23563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23564 = load i32, ptr %23563, align 4, !tbaa !5
  %23565 = call ptr @s2n_strerror(i32 noundef %23564, ptr noundef @.str.4)
  %23566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23567 = load i32, ptr %23566, align 4, !tbaa !5
  %23568 = call ptr @s2n_strerror_debug(i32 noundef %23567, ptr noundef @.str.4)
  %23569 = call ptr @__errno_location() #11
  %23570 = load i32, ptr %23569, align 4, !tbaa !5
  %23571 = call ptr @strerror(i32 noundef %23570) #10
  %23572 = call ptr @__errno_location() #11
  %23573 = load i32, ptr %23572, align 4, !tbaa !5
  %23574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23561, ptr noundef @.str.2, i32 noundef %23562, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1212, ptr noundef %23565, ptr noundef %23568, ptr noundef %23571, i32 noundef %23573) #10
  br label %23592

23575:                                            ; preds = %23553, %23546
  %23576 = load i32, ptr %483, align 4, !tbaa !5
  %23577 = call ptr @__errno_location() #11
  store i32 %23576, ptr %23577, align 4, !tbaa !5
  %23578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23579 = load i32, ptr @test_count, align 4, !tbaa !5
  %23580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23581 = load i32, ptr %23580, align 4, !tbaa !5
  %23582 = call ptr @s2n_strerror(i32 noundef %23581, ptr noundef @.str.4)
  %23583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23584 = load i32, ptr %23583, align 4, !tbaa !5
  %23585 = call ptr @s2n_strerror_debug(i32 noundef %23584, ptr noundef @.str.4)
  %23586 = call ptr @__errno_location() #11
  %23587 = load i32, ptr %23586, align 4, !tbaa !5
  %23588 = call ptr @strerror(i32 noundef %23587) #10
  %23589 = call ptr @__errno_location() #11
  %23590 = load i32, ptr %23589, align 4, !tbaa !5
  %23591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23578, ptr noundef @.str.5, i32 noundef %23579, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 1212, ptr noundef %23582, ptr noundef %23585, ptr noundef %23588, i32 noundef %23590) #10
  br label %23592

23592:                                            ; preds = %23575, %23558
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #10
  br label %23593

23593:                                            ; preds = %23592
  br label %23594

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

23595:                                            ; No predecessors!
  br label %23596

23596:                                            ; preds = %23595
  br label %23597

23597:                                            ; preds = %23596, %23534
  br label %23598

23598:                                            ; preds = %23597
  br label %23599

23599:                                            ; preds = %23598
  br label %23600

23600:                                            ; preds = %23599
  %23601 = load i32, ptr @test_count, align 4, !tbaa !5
  %23602 = add nsw i32 %23601, 1
  store i32 %23602, ptr @test_count, align 4, !tbaa !5
  %23603 = load ptr, ptr %462, align 8, !tbaa !9
  %23604 = load ptr, ptr %461, align 8, !tbaa !9
  %23605 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %23603, ptr noundef %23604)
  %23606 = icmp eq i32 %23605, -1
  br i1 %23606, label %23607, label %23660

23607:                                            ; preds = %23600
  br label %23608

23608:                                            ; preds = %23607
  br label %23609

23609:                                            ; preds = %23608
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #10
  %23610 = call ptr @__errno_location() #11
  %23611 = load i32, ptr %23610, align 4, !tbaa !5
  store i32 %23611, ptr %484, align 4, !tbaa !5
  %23612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23613 = call i32 @s2n_print_stacktrace(ptr noundef %23612)
  %23614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23615 = trunc i8 %23614 to i1
  br i1 %23615, label %23616, label %23638

23616:                                            ; preds = %23609
  %23617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23618 = call i32 @fileno(ptr noundef %23617) #10
  %23619 = call i32 @isatty(i32 noundef %23618) #10
  %23620 = icmp ne i32 %23619, 0
  br i1 %23620, label %23621, label %23638

23621:                                            ; preds = %23616
  %23622 = load i32, ptr %484, align 4, !tbaa !5
  %23623 = call ptr @__errno_location() #11
  store i32 %23622, ptr %23623, align 4, !tbaa !5
  %23624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23625 = load i32, ptr @test_count, align 4, !tbaa !5
  %23626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23627 = load i32, ptr %23626, align 4, !tbaa !5
  %23628 = call ptr @s2n_strerror(i32 noundef %23627, ptr noundef @.str.4)
  %23629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23630 = load i32, ptr %23629, align 4, !tbaa !5
  %23631 = call ptr @s2n_strerror_debug(i32 noundef %23630, ptr noundef @.str.4)
  %23632 = call ptr @__errno_location() #11
  %23633 = load i32, ptr %23632, align 4, !tbaa !5
  %23634 = call ptr @strerror(i32 noundef %23633) #10
  %23635 = call ptr @__errno_location() #11
  %23636 = load i32, ptr %23635, align 4, !tbaa !5
  %23637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23624, ptr noundef @.str.2, i32 noundef %23625, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1214, ptr noundef %23628, ptr noundef %23631, ptr noundef %23634, i32 noundef %23636) #10
  br label %23655

23638:                                            ; preds = %23616, %23609
  %23639 = load i32, ptr %484, align 4, !tbaa !5
  %23640 = call ptr @__errno_location() #11
  store i32 %23639, ptr %23640, align 4, !tbaa !5
  %23641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23642 = load i32, ptr @test_count, align 4, !tbaa !5
  %23643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23644 = load i32, ptr %23643, align 4, !tbaa !5
  %23645 = call ptr @s2n_strerror(i32 noundef %23644, ptr noundef @.str.4)
  %23646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23647 = load i32, ptr %23646, align 4, !tbaa !5
  %23648 = call ptr @s2n_strerror_debug(i32 noundef %23647, ptr noundef @.str.4)
  %23649 = call ptr @__errno_location() #11
  %23650 = load i32, ptr %23649, align 4, !tbaa !5
  %23651 = call ptr @strerror(i32 noundef %23650) #10
  %23652 = call ptr @__errno_location() #11
  %23653 = load i32, ptr %23652, align 4, !tbaa !5
  %23654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23641, ptr noundef @.str.5, i32 noundef %23642, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1214, ptr noundef %23645, ptr noundef %23648, ptr noundef %23651, i32 noundef %23653) #10
  br label %23655

23655:                                            ; preds = %23638, %23621
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #10
  br label %23656

23656:                                            ; preds = %23655
  br label %23657

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

23658:                                            ; No predecessors!
  br label %23659

23659:                                            ; preds = %23658
  br label %23660

23660:                                            ; preds = %23659, %23600
  br label %23661

23661:                                            ; preds = %23660
  br label %23662

23662:                                            ; preds = %23661
  br label %23663

23663:                                            ; preds = %23662
  %23664 = load i32, ptr @test_count, align 4, !tbaa !5
  %23665 = add nsw i32 %23664, 1
  store i32 %23665, ptr @test_count, align 4, !tbaa !5
  %23666 = load ptr, ptr %462, align 8, !tbaa !9
  %23667 = call i32 @s2n_connection_free(ptr noundef %23666)
  %23668 = icmp eq i32 %23667, -1
  br i1 %23668, label %23669, label %23722

23669:                                            ; preds = %23663
  br label %23670

23670:                                            ; preds = %23669
  br label %23671

23671:                                            ; preds = %23670
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #10
  %23672 = call ptr @__errno_location() #11
  %23673 = load i32, ptr %23672, align 4, !tbaa !5
  store i32 %23673, ptr %485, align 4, !tbaa !5
  %23674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23675 = call i32 @s2n_print_stacktrace(ptr noundef %23674)
  %23676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23677 = trunc i8 %23676 to i1
  br i1 %23677, label %23678, label %23700

23678:                                            ; preds = %23671
  %23679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23680 = call i32 @fileno(ptr noundef %23679) #10
  %23681 = call i32 @isatty(i32 noundef %23680) #10
  %23682 = icmp ne i32 %23681, 0
  br i1 %23682, label %23683, label %23700

23683:                                            ; preds = %23678
  %23684 = load i32, ptr %485, align 4, !tbaa !5
  %23685 = call ptr @__errno_location() #11
  store i32 %23684, ptr %23685, align 4, !tbaa !5
  %23686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23687 = load i32, ptr @test_count, align 4, !tbaa !5
  %23688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23689 = load i32, ptr %23688, align 4, !tbaa !5
  %23690 = call ptr @s2n_strerror(i32 noundef %23689, ptr noundef @.str.4)
  %23691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23692 = load i32, ptr %23691, align 4, !tbaa !5
  %23693 = call ptr @s2n_strerror_debug(i32 noundef %23692, ptr noundef @.str.4)
  %23694 = call ptr @__errno_location() #11
  %23695 = load i32, ptr %23694, align 4, !tbaa !5
  %23696 = call ptr @strerror(i32 noundef %23695) #10
  %23697 = call ptr @__errno_location() #11
  %23698 = load i32, ptr %23697, align 4, !tbaa !5
  %23699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23686, ptr noundef @.str.2, i32 noundef %23687, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1216, ptr noundef %23690, ptr noundef %23693, ptr noundef %23696, i32 noundef %23698) #10
  br label %23717

23700:                                            ; preds = %23678, %23671
  %23701 = load i32, ptr %485, align 4, !tbaa !5
  %23702 = call ptr @__errno_location() #11
  store i32 %23701, ptr %23702, align 4, !tbaa !5
  %23703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23704 = load i32, ptr @test_count, align 4, !tbaa !5
  %23705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23706 = load i32, ptr %23705, align 4, !tbaa !5
  %23707 = call ptr @s2n_strerror(i32 noundef %23706, ptr noundef @.str.4)
  %23708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23709 = load i32, ptr %23708, align 4, !tbaa !5
  %23710 = call ptr @s2n_strerror_debug(i32 noundef %23709, ptr noundef @.str.4)
  %23711 = call ptr @__errno_location() #11
  %23712 = load i32, ptr %23711, align 4, !tbaa !5
  %23713 = call ptr @strerror(i32 noundef %23712) #10
  %23714 = call ptr @__errno_location() #11
  %23715 = load i32, ptr %23714, align 4, !tbaa !5
  %23716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23703, ptr noundef @.str.5, i32 noundef %23704, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1216, ptr noundef %23707, ptr noundef %23710, ptr noundef %23713, i32 noundef %23715) #10
  br label %23717

23717:                                            ; preds = %23700, %23683
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #10
  br label %23718

23718:                                            ; preds = %23717
  br label %23719

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

23720:                                            ; No predecessors!
  br label %23721

23721:                                            ; preds = %23720
  br label %23722

23722:                                            ; preds = %23721, %23663
  br label %23723

23723:                                            ; preds = %23722
  br label %23724

23724:                                            ; preds = %23723
  br label %23725

23725:                                            ; preds = %23724
  %23726 = load i32, ptr @test_count, align 4, !tbaa !5
  %23727 = add nsw i32 %23726, 1
  store i32 %23727, ptr @test_count, align 4, !tbaa !5
  %23728 = load ptr, ptr %461, align 8, !tbaa !9
  %23729 = call i32 @s2n_connection_free(ptr noundef %23728)
  %23730 = icmp eq i32 %23729, -1
  br i1 %23730, label %23731, label %23784

23731:                                            ; preds = %23725
  br label %23732

23732:                                            ; preds = %23731
  br label %23733

23733:                                            ; preds = %23732
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #10
  %23734 = call ptr @__errno_location() #11
  %23735 = load i32, ptr %23734, align 4, !tbaa !5
  store i32 %23735, ptr %486, align 4, !tbaa !5
  %23736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23737 = call i32 @s2n_print_stacktrace(ptr noundef %23736)
  %23738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23739 = trunc i8 %23738 to i1
  br i1 %23739, label %23740, label %23762

23740:                                            ; preds = %23733
  %23741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23742 = call i32 @fileno(ptr noundef %23741) #10
  %23743 = call i32 @isatty(i32 noundef %23742) #10
  %23744 = icmp ne i32 %23743, 0
  br i1 %23744, label %23745, label %23762

23745:                                            ; preds = %23740
  %23746 = load i32, ptr %486, align 4, !tbaa !5
  %23747 = call ptr @__errno_location() #11
  store i32 %23746, ptr %23747, align 4, !tbaa !5
  %23748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23749 = load i32, ptr @test_count, align 4, !tbaa !5
  %23750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23751 = load i32, ptr %23750, align 4, !tbaa !5
  %23752 = call ptr @s2n_strerror(i32 noundef %23751, ptr noundef @.str.4)
  %23753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23754 = load i32, ptr %23753, align 4, !tbaa !5
  %23755 = call ptr @s2n_strerror_debug(i32 noundef %23754, ptr noundef @.str.4)
  %23756 = call ptr @__errno_location() #11
  %23757 = load i32, ptr %23756, align 4, !tbaa !5
  %23758 = call ptr @strerror(i32 noundef %23757) #10
  %23759 = call ptr @__errno_location() #11
  %23760 = load i32, ptr %23759, align 4, !tbaa !5
  %23761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23748, ptr noundef @.str.2, i32 noundef %23749, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1217, ptr noundef %23752, ptr noundef %23755, ptr noundef %23758, i32 noundef %23760) #10
  br label %23779

23762:                                            ; preds = %23740, %23733
  %23763 = load i32, ptr %486, align 4, !tbaa !5
  %23764 = call ptr @__errno_location() #11
  store i32 %23763, ptr %23764, align 4, !tbaa !5
  %23765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23766 = load i32, ptr @test_count, align 4, !tbaa !5
  %23767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23768 = load i32, ptr %23767, align 4, !tbaa !5
  %23769 = call ptr @s2n_strerror(i32 noundef %23768, ptr noundef @.str.4)
  %23770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23771 = load i32, ptr %23770, align 4, !tbaa !5
  %23772 = call ptr @s2n_strerror_debug(i32 noundef %23771, ptr noundef @.str.4)
  %23773 = call ptr @__errno_location() #11
  %23774 = load i32, ptr %23773, align 4, !tbaa !5
  %23775 = call ptr @strerror(i32 noundef %23774) #10
  %23776 = call ptr @__errno_location() #11
  %23777 = load i32, ptr %23776, align 4, !tbaa !5
  %23778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23765, ptr noundef @.str.5, i32 noundef %23766, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1217, ptr noundef %23769, ptr noundef %23772, ptr noundef %23775, i32 noundef %23777) #10
  br label %23779

23779:                                            ; preds = %23762, %23745
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #10
  br label %23780

23780:                                            ; preds = %23779
  br label %23781

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

23782:                                            ; No predecessors!
  br label %23783

23783:                                            ; preds = %23782
  br label %23784

23784:                                            ; preds = %23783, %23725
  br label %23785

23785:                                            ; preds = %23784
  br label %23786

23786:                                            ; preds = %23785
  br label %23787

23787:                                            ; preds = %23786
  %23788 = load i32, ptr @test_count, align 4, !tbaa !5
  %23789 = add nsw i32 %23788, 1
  store i32 %23789, ptr @test_count, align 4, !tbaa !5
  %23790 = load ptr, ptr %465, align 8, !tbaa !9
  %23791 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %23790)
  %23792 = icmp eq i32 %23791, -1
  br i1 %23792, label %23793, label %23846

23793:                                            ; preds = %23787
  br label %23794

23794:                                            ; preds = %23793
  br label %23795

23795:                                            ; preds = %23794
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #10
  %23796 = call ptr @__errno_location() #11
  %23797 = load i32, ptr %23796, align 4, !tbaa !5
  store i32 %23797, ptr %487, align 4, !tbaa !5
  %23798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23799 = call i32 @s2n_print_stacktrace(ptr noundef %23798)
  %23800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23801 = trunc i8 %23800 to i1
  br i1 %23801, label %23802, label %23824

23802:                                            ; preds = %23795
  %23803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23804 = call i32 @fileno(ptr noundef %23803) #10
  %23805 = call i32 @isatty(i32 noundef %23804) #10
  %23806 = icmp ne i32 %23805, 0
  br i1 %23806, label %23807, label %23824

23807:                                            ; preds = %23802
  %23808 = load i32, ptr %487, align 4, !tbaa !5
  %23809 = call ptr @__errno_location() #11
  store i32 %23808, ptr %23809, align 4, !tbaa !5
  %23810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23811 = load i32, ptr @test_count, align 4, !tbaa !5
  %23812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23813 = load i32, ptr %23812, align 4, !tbaa !5
  %23814 = call ptr @s2n_strerror(i32 noundef %23813, ptr noundef @.str.4)
  %23815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23816 = load i32, ptr %23815, align 4, !tbaa !5
  %23817 = call ptr @s2n_strerror_debug(i32 noundef %23816, ptr noundef @.str.4)
  %23818 = call ptr @__errno_location() #11
  %23819 = load i32, ptr %23818, align 4, !tbaa !5
  %23820 = call ptr @strerror(i32 noundef %23819) #10
  %23821 = call ptr @__errno_location() #11
  %23822 = load i32, ptr %23821, align 4, !tbaa !5
  %23823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23810, ptr noundef @.str.2, i32 noundef %23811, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1219, ptr noundef %23814, ptr noundef %23817, ptr noundef %23820, i32 noundef %23822) #10
  br label %23841

23824:                                            ; preds = %23802, %23795
  %23825 = load i32, ptr %487, align 4, !tbaa !5
  %23826 = call ptr @__errno_location() #11
  store i32 %23825, ptr %23826, align 4, !tbaa !5
  %23827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23828 = load i32, ptr @test_count, align 4, !tbaa !5
  %23829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23830 = load i32, ptr %23829, align 4, !tbaa !5
  %23831 = call ptr @s2n_strerror(i32 noundef %23830, ptr noundef @.str.4)
  %23832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23833 = load i32, ptr %23832, align 4, !tbaa !5
  %23834 = call ptr @s2n_strerror_debug(i32 noundef %23833, ptr noundef @.str.4)
  %23835 = call ptr @__errno_location() #11
  %23836 = load i32, ptr %23835, align 4, !tbaa !5
  %23837 = call ptr @strerror(i32 noundef %23836) #10
  %23838 = call ptr @__errno_location() #11
  %23839 = load i32, ptr %23838, align 4, !tbaa !5
  %23840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23827, ptr noundef @.str.5, i32 noundef %23828, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1219, ptr noundef %23831, ptr noundef %23834, ptr noundef %23837, i32 noundef %23839) #10
  br label %23841

23841:                                            ; preds = %23824, %23807
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #10
  br label %23842

23842:                                            ; preds = %23841
  br label %23843

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

23844:                                            ; No predecessors!
  br label %23845

23845:                                            ; preds = %23844
  br label %23846

23846:                                            ; preds = %23845, %23787
  br label %23847

23847:                                            ; preds = %23846
  br label %23848

23848:                                            ; preds = %23847
  br label %23849

23849:                                            ; preds = %23848
  %23850 = load i32, ptr @test_count, align 4, !tbaa !5
  %23851 = add nsw i32 %23850, 1
  store i32 %23851, ptr @test_count, align 4, !tbaa !5
  %23852 = load ptr, ptr %463, align 8, !tbaa !9
  %23853 = call i32 @s2n_config_free(ptr noundef %23852)
  %23854 = icmp eq i32 %23853, -1
  br i1 %23854, label %23855, label %23908

23855:                                            ; preds = %23849
  br label %23856

23856:                                            ; preds = %23855
  br label %23857

23857:                                            ; preds = %23856
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #10
  %23858 = call ptr @__errno_location() #11
  %23859 = load i32, ptr %23858, align 4, !tbaa !5
  store i32 %23859, ptr %488, align 4, !tbaa !5
  %23860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23861 = call i32 @s2n_print_stacktrace(ptr noundef %23860)
  %23862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23863 = trunc i8 %23862 to i1
  br i1 %23863, label %23864, label %23886

23864:                                            ; preds = %23857
  %23865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23866 = call i32 @fileno(ptr noundef %23865) #10
  %23867 = call i32 @isatty(i32 noundef %23866) #10
  %23868 = icmp ne i32 %23867, 0
  br i1 %23868, label %23869, label %23886

23869:                                            ; preds = %23864
  %23870 = load i32, ptr %488, align 4, !tbaa !5
  %23871 = call ptr @__errno_location() #11
  store i32 %23870, ptr %23871, align 4, !tbaa !5
  %23872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23873 = load i32, ptr @test_count, align 4, !tbaa !5
  %23874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23875 = load i32, ptr %23874, align 4, !tbaa !5
  %23876 = call ptr @s2n_strerror(i32 noundef %23875, ptr noundef @.str.4)
  %23877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23878 = load i32, ptr %23877, align 4, !tbaa !5
  %23879 = call ptr @s2n_strerror_debug(i32 noundef %23878, ptr noundef @.str.4)
  %23880 = call ptr @__errno_location() #11
  %23881 = load i32, ptr %23880, align 4, !tbaa !5
  %23882 = call ptr @strerror(i32 noundef %23881) #10
  %23883 = call ptr @__errno_location() #11
  %23884 = load i32, ptr %23883, align 4, !tbaa !5
  %23885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23872, ptr noundef @.str.2, i32 noundef %23873, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1221, ptr noundef %23876, ptr noundef %23879, ptr noundef %23882, i32 noundef %23884) #10
  br label %23903

23886:                                            ; preds = %23864, %23857
  %23887 = load i32, ptr %488, align 4, !tbaa !5
  %23888 = call ptr @__errno_location() #11
  store i32 %23887, ptr %23888, align 4, !tbaa !5
  %23889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23890 = load i32, ptr @test_count, align 4, !tbaa !5
  %23891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23892 = load i32, ptr %23891, align 4, !tbaa !5
  %23893 = call ptr @s2n_strerror(i32 noundef %23892, ptr noundef @.str.4)
  %23894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23895 = load i32, ptr %23894, align 4, !tbaa !5
  %23896 = call ptr @s2n_strerror_debug(i32 noundef %23895, ptr noundef @.str.4)
  %23897 = call ptr @__errno_location() #11
  %23898 = load i32, ptr %23897, align 4, !tbaa !5
  %23899 = call ptr @strerror(i32 noundef %23898) #10
  %23900 = call ptr @__errno_location() #11
  %23901 = load i32, ptr %23900, align 4, !tbaa !5
  %23902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23889, ptr noundef @.str.5, i32 noundef %23890, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1221, ptr noundef %23893, ptr noundef %23896, ptr noundef %23899, i32 noundef %23901) #10
  br label %23903

23903:                                            ; preds = %23886, %23869
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #10
  br label %23904

23904:                                            ; preds = %23903
  br label %23905

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

23906:                                            ; No predecessors!
  br label %23907

23907:                                            ; preds = %23906
  br label %23908

23908:                                            ; preds = %23907, %23849
  br label %23909

23909:                                            ; preds = %23908
  br label %23910

23910:                                            ; preds = %23909
  br label %23911

23911:                                            ; preds = %23910
  %23912 = load i32, ptr @test_count, align 4, !tbaa !5
  %23913 = add nsw i32 %23912, 1
  store i32 %23913, ptr @test_count, align 4, !tbaa !5
  %23914 = load ptr, ptr %464, align 8, !tbaa !9
  %23915 = call i32 @s2n_config_free(ptr noundef %23914)
  %23916 = icmp eq i32 %23915, -1
  br i1 %23916, label %23917, label %23970

23917:                                            ; preds = %23911
  br label %23918

23918:                                            ; preds = %23917
  br label %23919

23919:                                            ; preds = %23918
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #10
  %23920 = call ptr @__errno_location() #11
  %23921 = load i32, ptr %23920, align 4, !tbaa !5
  store i32 %23921, ptr %489, align 4, !tbaa !5
  %23922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23923 = call i32 @s2n_print_stacktrace(ptr noundef %23922)
  %23924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23925 = trunc i8 %23924 to i1
  br i1 %23925, label %23926, label %23948

23926:                                            ; preds = %23919
  %23927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23928 = call i32 @fileno(ptr noundef %23927) #10
  %23929 = call i32 @isatty(i32 noundef %23928) #10
  %23930 = icmp ne i32 %23929, 0
  br i1 %23930, label %23931, label %23948

23931:                                            ; preds = %23926
  %23932 = load i32, ptr %489, align 4, !tbaa !5
  %23933 = call ptr @__errno_location() #11
  store i32 %23932, ptr %23933, align 4, !tbaa !5
  %23934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23935 = load i32, ptr @test_count, align 4, !tbaa !5
  %23936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23937 = load i32, ptr %23936, align 4, !tbaa !5
  %23938 = call ptr @s2n_strerror(i32 noundef %23937, ptr noundef @.str.4)
  %23939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23940 = load i32, ptr %23939, align 4, !tbaa !5
  %23941 = call ptr @s2n_strerror_debug(i32 noundef %23940, ptr noundef @.str.4)
  %23942 = call ptr @__errno_location() #11
  %23943 = load i32, ptr %23942, align 4, !tbaa !5
  %23944 = call ptr @strerror(i32 noundef %23943) #10
  %23945 = call ptr @__errno_location() #11
  %23946 = load i32, ptr %23945, align 4, !tbaa !5
  %23947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23934, ptr noundef @.str.2, i32 noundef %23935, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1222, ptr noundef %23938, ptr noundef %23941, ptr noundef %23944, i32 noundef %23946) #10
  br label %23965

23948:                                            ; preds = %23926, %23919
  %23949 = load i32, ptr %489, align 4, !tbaa !5
  %23950 = call ptr @__errno_location() #11
  store i32 %23949, ptr %23950, align 4, !tbaa !5
  %23951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23952 = load i32, ptr @test_count, align 4, !tbaa !5
  %23953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23954 = load i32, ptr %23953, align 4, !tbaa !5
  %23955 = call ptr @s2n_strerror(i32 noundef %23954, ptr noundef @.str.4)
  %23956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23957 = load i32, ptr %23956, align 4, !tbaa !5
  %23958 = call ptr @s2n_strerror_debug(i32 noundef %23957, ptr noundef @.str.4)
  %23959 = call ptr @__errno_location() #11
  %23960 = load i32, ptr %23959, align 4, !tbaa !5
  %23961 = call ptr @strerror(i32 noundef %23960) #10
  %23962 = call ptr @__errno_location() #11
  %23963 = load i32, ptr %23962, align 4, !tbaa !5
  %23964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23951, ptr noundef @.str.5, i32 noundef %23952, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1222, ptr noundef %23955, ptr noundef %23958, ptr noundef %23961, i32 noundef %23963) #10
  br label %23965

23965:                                            ; preds = %23948, %23931
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #10
  br label %23966

23966:                                            ; preds = %23965
  br label %23967

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

23968:                                            ; No predecessors!
  br label %23969

23969:                                            ; preds = %23968
  br label %23970

23970:                                            ; preds = %23969, %23911
  br label %23971

23971:                                            ; preds = %23970
  br label %23972

23972:                                            ; preds = %23971
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %464) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %463) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %462) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %461) #10
  br label %23973

23973:                                            ; preds = %23972
  %23974 = load i8, ptr %460, align 1, !tbaa !44
  %23975 = add i8 %23974, 1
  store i8 %23975, ptr %460, align 1, !tbaa !44
  br label %22451, !llvm.loop !57

23976:                                            ; preds = %22455
  call void @llvm.lifetime.start.p0(i64 8, ptr %490) #10
  store ptr null, ptr %490, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %491) #10
  store ptr null, ptr %491, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %492) #10
  store ptr null, ptr %492, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %493) #10
  store ptr null, ptr %493, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %494) #10
  store ptr null, ptr %494, align 8, !tbaa !9
  br label %23977

23977:                                            ; preds = %23976
  %23978 = load i32, ptr @test_count, align 4, !tbaa !5
  %23979 = add nsw i32 %23978, 1
  store i32 %23979, ptr @test_count, align 4, !tbaa !5
  %23980 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %23980, ptr %490, align 8, !tbaa !9
  %23981 = icmp eq ptr %23980, null
  br i1 %23981, label %23982, label %24035

23982:                                            ; preds = %23977
  br label %23983

23983:                                            ; preds = %23982
  br label %23984

23984:                                            ; preds = %23983
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #10
  %23985 = call ptr @__errno_location() #11
  %23986 = load i32, ptr %23985, align 4, !tbaa !5
  store i32 %23986, ptr %495, align 4, !tbaa !5
  %23987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23988 = call i32 @s2n_print_stacktrace(ptr noundef %23987)
  %23989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23990 = trunc i8 %23989 to i1
  br i1 %23990, label %23991, label %24013

23991:                                            ; preds = %23984
  %23992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23993 = call i32 @fileno(ptr noundef %23992) #10
  %23994 = call i32 @isatty(i32 noundef %23993) #10
  %23995 = icmp ne i32 %23994, 0
  br i1 %23995, label %23996, label %24013

23996:                                            ; preds = %23991
  %23997 = load i32, ptr %495, align 4, !tbaa !5
  %23998 = call ptr @__errno_location() #11
  store i32 %23997, ptr %23998, align 4, !tbaa !5
  %23999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24000 = load i32, ptr @test_count, align 4, !tbaa !5
  %24001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24002 = load i32, ptr %24001, align 4, !tbaa !5
  %24003 = call ptr @s2n_strerror(i32 noundef %24002, ptr noundef @.str.4)
  %24004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24005 = load i32, ptr %24004, align 4, !tbaa !5
  %24006 = call ptr @s2n_strerror_debug(i32 noundef %24005, ptr noundef @.str.4)
  %24007 = call ptr @__errno_location() #11
  %24008 = load i32, ptr %24007, align 4, !tbaa !5
  %24009 = call ptr @strerror(i32 noundef %24008) #10
  %24010 = call ptr @__errno_location() #11
  %24011 = load i32, ptr %24010, align 4, !tbaa !5
  %24012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23999, ptr noundef @.str.2, i32 noundef %24000, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1233, ptr noundef %24003, ptr noundef %24006, ptr noundef %24009, i32 noundef %24011) #10
  br label %24030

24013:                                            ; preds = %23991, %23984
  %24014 = load i32, ptr %495, align 4, !tbaa !5
  %24015 = call ptr @__errno_location() #11
  store i32 %24014, ptr %24015, align 4, !tbaa !5
  %24016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24017 = load i32, ptr @test_count, align 4, !tbaa !5
  %24018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24019 = load i32, ptr %24018, align 4, !tbaa !5
  %24020 = call ptr @s2n_strerror(i32 noundef %24019, ptr noundef @.str.4)
  %24021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24022 = load i32, ptr %24021, align 4, !tbaa !5
  %24023 = call ptr @s2n_strerror_debug(i32 noundef %24022, ptr noundef @.str.4)
  %24024 = call ptr @__errno_location() #11
  %24025 = load i32, ptr %24024, align 4, !tbaa !5
  %24026 = call ptr @strerror(i32 noundef %24025) #10
  %24027 = call ptr @__errno_location() #11
  %24028 = load i32, ptr %24027, align 4, !tbaa !5
  %24029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24016, ptr noundef @.str.5, i32 noundef %24017, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1233, ptr noundef %24020, ptr noundef %24023, ptr noundef %24026, i32 noundef %24028) #10
  br label %24030

24030:                                            ; preds = %24013, %23996
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #10
  br label %24031

24031:                                            ; preds = %24030
  br label %24032

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

24033:                                            ; No predecessors!
  br label %24034

24034:                                            ; preds = %24033
  br label %24035

24035:                                            ; preds = %24034, %23977
  br label %24036

24036:                                            ; preds = %24035
  br label %24037

24037:                                            ; preds = %24036
  %24038 = load ptr, ptr %490, align 8, !tbaa !9
  %24039 = getelementptr inbounds %struct.s2n_connection, ptr %24038, i32 0, i32 23
  store i8 33, ptr %24039, align 4, !tbaa !15
  %24040 = load ptr, ptr %490, align 8, !tbaa !9
  %24041 = getelementptr inbounds %struct.s2n_connection, ptr %24040, i32 0, i32 22
  store i8 33, ptr %24041, align 1, !tbaa !42
  %24042 = load ptr, ptr %490, align 8, !tbaa !9
  %24043 = getelementptr inbounds %struct.s2n_connection, ptr %24042, i32 0, i32 21
  store i8 33, ptr %24043, align 2, !tbaa !43
  br label %24044

24044:                                            ; preds = %24037
  %24045 = load i32, ptr @test_count, align 4, !tbaa !5
  %24046 = add nsw i32 %24045, 1
  store i32 %24046, ptr @test_count, align 4, !tbaa !5
  %24047 = call ptr @s2n_config_new()
  store ptr %24047, ptr %493, align 8, !tbaa !9
  %24048 = icmp eq ptr %24047, null
  br i1 %24048, label %24049, label %24102

24049:                                            ; preds = %24044
  br label %24050

24050:                                            ; preds = %24049
  br label %24051

24051:                                            ; preds = %24050
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #10
  %24052 = call ptr @__errno_location() #11
  %24053 = load i32, ptr %24052, align 4, !tbaa !5
  store i32 %24053, ptr %496, align 4, !tbaa !5
  %24054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24055 = call i32 @s2n_print_stacktrace(ptr noundef %24054)
  %24056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24057 = trunc i8 %24056 to i1
  br i1 %24057, label %24058, label %24080

24058:                                            ; preds = %24051
  %24059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24060 = call i32 @fileno(ptr noundef %24059) #10
  %24061 = call i32 @isatty(i32 noundef %24060) #10
  %24062 = icmp ne i32 %24061, 0
  br i1 %24062, label %24063, label %24080

24063:                                            ; preds = %24058
  %24064 = load i32, ptr %496, align 4, !tbaa !5
  %24065 = call ptr @__errno_location() #11
  store i32 %24064, ptr %24065, align 4, !tbaa !5
  %24066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24067 = load i32, ptr @test_count, align 4, !tbaa !5
  %24068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24069 = load i32, ptr %24068, align 4, !tbaa !5
  %24070 = call ptr @s2n_strerror(i32 noundef %24069, ptr noundef @.str.4)
  %24071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24072 = load i32, ptr %24071, align 4, !tbaa !5
  %24073 = call ptr @s2n_strerror_debug(i32 noundef %24072, ptr noundef @.str.4)
  %24074 = call ptr @__errno_location() #11
  %24075 = load i32, ptr %24074, align 4, !tbaa !5
  %24076 = call ptr @strerror(i32 noundef %24075) #10
  %24077 = call ptr @__errno_location() #11
  %24078 = load i32, ptr %24077, align 4, !tbaa !5
  %24079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24066, ptr noundef @.str.2, i32 noundef %24067, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1238, ptr noundef %24070, ptr noundef %24073, ptr noundef %24076, i32 noundef %24078) #10
  br label %24097

24080:                                            ; preds = %24058, %24051
  %24081 = load i32, ptr %496, align 4, !tbaa !5
  %24082 = call ptr @__errno_location() #11
  store i32 %24081, ptr %24082, align 4, !tbaa !5
  %24083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24084 = load i32, ptr @test_count, align 4, !tbaa !5
  %24085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24086 = load i32, ptr %24085, align 4, !tbaa !5
  %24087 = call ptr @s2n_strerror(i32 noundef %24086, ptr noundef @.str.4)
  %24088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24089 = load i32, ptr %24088, align 4, !tbaa !5
  %24090 = call ptr @s2n_strerror_debug(i32 noundef %24089, ptr noundef @.str.4)
  %24091 = call ptr @__errno_location() #11
  %24092 = load i32, ptr %24091, align 4, !tbaa !5
  %24093 = call ptr @strerror(i32 noundef %24092) #10
  %24094 = call ptr @__errno_location() #11
  %24095 = load i32, ptr %24094, align 4, !tbaa !5
  %24096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24083, ptr noundef @.str.5, i32 noundef %24084, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1238, ptr noundef %24087, ptr noundef %24090, ptr noundef %24093, i32 noundef %24095) #10
  br label %24097

24097:                                            ; preds = %24080, %24063
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #10
  br label %24098

24098:                                            ; preds = %24097
  br label %24099

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

24100:                                            ; No predecessors!
  br label %24101

24101:                                            ; preds = %24100
  br label %24102

24102:                                            ; preds = %24101, %24044
  br label %24103

24103:                                            ; preds = %24102
  br label %24104

24104:                                            ; preds = %24103
  br label %24105

24105:                                            ; preds = %24104
  %24106 = load i32, ptr @test_count, align 4, !tbaa !5
  %24107 = add nsw i32 %24106, 1
  store i32 %24107, ptr @test_count, align 4, !tbaa !5
  %24108 = load ptr, ptr %493, align 8, !tbaa !9
  %24109 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %24108, i8 noundef zeroext 0)
  %24110 = icmp eq i32 %24109, -1
  br i1 %24110, label %24111, label %24164

24111:                                            ; preds = %24105
  br label %24112

24112:                                            ; preds = %24111
  br label %24113

24113:                                            ; preds = %24112
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #10
  %24114 = call ptr @__errno_location() #11
  %24115 = load i32, ptr %24114, align 4, !tbaa !5
  store i32 %24115, ptr %497, align 4, !tbaa !5
  %24116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24117 = call i32 @s2n_print_stacktrace(ptr noundef %24116)
  %24118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24119 = trunc i8 %24118 to i1
  br i1 %24119, label %24120, label %24142

24120:                                            ; preds = %24113
  %24121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24122 = call i32 @fileno(ptr noundef %24121) #10
  %24123 = call i32 @isatty(i32 noundef %24122) #10
  %24124 = icmp ne i32 %24123, 0
  br i1 %24124, label %24125, label %24142

24125:                                            ; preds = %24120
  %24126 = load i32, ptr %497, align 4, !tbaa !5
  %24127 = call ptr @__errno_location() #11
  store i32 %24126, ptr %24127, align 4, !tbaa !5
  %24128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24129 = load i32, ptr @test_count, align 4, !tbaa !5
  %24130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24131 = load i32, ptr %24130, align 4, !tbaa !5
  %24132 = call ptr @s2n_strerror(i32 noundef %24131, ptr noundef @.str.4)
  %24133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24134 = load i32, ptr %24133, align 4, !tbaa !5
  %24135 = call ptr @s2n_strerror_debug(i32 noundef %24134, ptr noundef @.str.4)
  %24136 = call ptr @__errno_location() #11
  %24137 = load i32, ptr %24136, align 4, !tbaa !5
  %24138 = call ptr @strerror(i32 noundef %24137) #10
  %24139 = call ptr @__errno_location() #11
  %24140 = load i32, ptr %24139, align 4, !tbaa !5
  %24141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24128, ptr noundef @.str.2, i32 noundef %24129, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1239, ptr noundef %24132, ptr noundef %24135, ptr noundef %24138, i32 noundef %24140) #10
  br label %24159

24142:                                            ; preds = %24120, %24113
  %24143 = load i32, ptr %497, align 4, !tbaa !5
  %24144 = call ptr @__errno_location() #11
  store i32 %24143, ptr %24144, align 4, !tbaa !5
  %24145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24146 = load i32, ptr @test_count, align 4, !tbaa !5
  %24147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24148 = load i32, ptr %24147, align 4, !tbaa !5
  %24149 = call ptr @s2n_strerror(i32 noundef %24148, ptr noundef @.str.4)
  %24150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24151 = load i32, ptr %24150, align 4, !tbaa !5
  %24152 = call ptr @s2n_strerror_debug(i32 noundef %24151, ptr noundef @.str.4)
  %24153 = call ptr @__errno_location() #11
  %24154 = load i32, ptr %24153, align 4, !tbaa !5
  %24155 = call ptr @strerror(i32 noundef %24154) #10
  %24156 = call ptr @__errno_location() #11
  %24157 = load i32, ptr %24156, align 4, !tbaa !5
  %24158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24145, ptr noundef @.str.5, i32 noundef %24146, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1239, ptr noundef %24149, ptr noundef %24152, ptr noundef %24155, i32 noundef %24157) #10
  br label %24159

24159:                                            ; preds = %24142, %24125
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #10
  br label %24160

24160:                                            ; preds = %24159
  br label %24161

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

24162:                                            ; No predecessors!
  br label %24163

24163:                                            ; preds = %24162
  br label %24164

24164:                                            ; preds = %24163, %24105
  br label %24165

24165:                                            ; preds = %24164
  br label %24166

24166:                                            ; preds = %24165
  br label %24167

24167:                                            ; preds = %24166
  %24168 = load i32, ptr @test_count, align 4, !tbaa !5
  %24169 = add nsw i32 %24168, 1
  store i32 %24169, ptr @test_count, align 4, !tbaa !5
  %24170 = load ptr, ptr %493, align 8, !tbaa !9
  %24171 = call i32 @s2n_config_disable_x509_verification(ptr noundef %24170)
  %24172 = icmp eq i32 %24171, -1
  br i1 %24172, label %24173, label %24226

24173:                                            ; preds = %24167
  br label %24174

24174:                                            ; preds = %24173
  br label %24175

24175:                                            ; preds = %24174
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #10
  %24176 = call ptr @__errno_location() #11
  %24177 = load i32, ptr %24176, align 4, !tbaa !5
  store i32 %24177, ptr %498, align 4, !tbaa !5
  %24178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24179 = call i32 @s2n_print_stacktrace(ptr noundef %24178)
  %24180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24181 = trunc i8 %24180 to i1
  br i1 %24181, label %24182, label %24204

24182:                                            ; preds = %24175
  %24183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24184 = call i32 @fileno(ptr noundef %24183) #10
  %24185 = call i32 @isatty(i32 noundef %24184) #10
  %24186 = icmp ne i32 %24185, 0
  br i1 %24186, label %24187, label %24204

24187:                                            ; preds = %24182
  %24188 = load i32, ptr %498, align 4, !tbaa !5
  %24189 = call ptr @__errno_location() #11
  store i32 %24188, ptr %24189, align 4, !tbaa !5
  %24190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24191 = load i32, ptr @test_count, align 4, !tbaa !5
  %24192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24193 = load i32, ptr %24192, align 4, !tbaa !5
  %24194 = call ptr @s2n_strerror(i32 noundef %24193, ptr noundef @.str.4)
  %24195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24196 = load i32, ptr %24195, align 4, !tbaa !5
  %24197 = call ptr @s2n_strerror_debug(i32 noundef %24196, ptr noundef @.str.4)
  %24198 = call ptr @__errno_location() #11
  %24199 = load i32, ptr %24198, align 4, !tbaa !5
  %24200 = call ptr @strerror(i32 noundef %24199) #10
  %24201 = call ptr @__errno_location() #11
  %24202 = load i32, ptr %24201, align 4, !tbaa !5
  %24203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24190, ptr noundef @.str.2, i32 noundef %24191, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1240, ptr noundef %24194, ptr noundef %24197, ptr noundef %24200, i32 noundef %24202) #10
  br label %24221

24204:                                            ; preds = %24182, %24175
  %24205 = load i32, ptr %498, align 4, !tbaa !5
  %24206 = call ptr @__errno_location() #11
  store i32 %24205, ptr %24206, align 4, !tbaa !5
  %24207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24208 = load i32, ptr @test_count, align 4, !tbaa !5
  %24209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24210 = load i32, ptr %24209, align 4, !tbaa !5
  %24211 = call ptr @s2n_strerror(i32 noundef %24210, ptr noundef @.str.4)
  %24212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24213 = load i32, ptr %24212, align 4, !tbaa !5
  %24214 = call ptr @s2n_strerror_debug(i32 noundef %24213, ptr noundef @.str.4)
  %24215 = call ptr @__errno_location() #11
  %24216 = load i32, ptr %24215, align 4, !tbaa !5
  %24217 = call ptr @strerror(i32 noundef %24216) #10
  %24218 = call ptr @__errno_location() #11
  %24219 = load i32, ptr %24218, align 4, !tbaa !5
  %24220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24207, ptr noundef @.str.5, i32 noundef %24208, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1240, ptr noundef %24211, ptr noundef %24214, ptr noundef %24217, i32 noundef %24219) #10
  br label %24221

24221:                                            ; preds = %24204, %24187
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #10
  br label %24222

24222:                                            ; preds = %24221
  br label %24223

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

24224:                                            ; No predecessors!
  br label %24225

24225:                                            ; preds = %24224
  br label %24226

24226:                                            ; preds = %24225, %24167
  br label %24227

24227:                                            ; preds = %24226
  br label %24228

24228:                                            ; preds = %24227
  br label %24229

24229:                                            ; preds = %24228
  br label %24230

24230:                                            ; preds = %24229
  %24231 = load i32, ptr @test_count, align 4, !tbaa !5
  %24232 = add nsw i32 %24231, 1
  store i32 %24232, ptr @test_count, align 4, !tbaa !5
  %24233 = load ptr, ptr %493, align 8, !tbaa !9
  %24234 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %24233, i32 noundef 5)
  %24235 = icmp eq i32 %24234, -1
  br i1 %24235, label %24289, label %24236

24236:                                            ; preds = %24230
  br label %24237

24237:                                            ; preds = %24236
  br label %24238

24238:                                            ; preds = %24237
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #10
  %24239 = call ptr @__errno_location() #11
  %24240 = load i32, ptr %24239, align 4, !tbaa !5
  store i32 %24240, ptr %499, align 4, !tbaa !5
  %24241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24242 = call i32 @s2n_print_stacktrace(ptr noundef %24241)
  %24243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24244 = trunc i8 %24243 to i1
  br i1 %24244, label %24245, label %24267

24245:                                            ; preds = %24238
  %24246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24247 = call i32 @fileno(ptr noundef %24246) #10
  %24248 = call i32 @isatty(i32 noundef %24247) #10
  %24249 = icmp ne i32 %24248, 0
  br i1 %24249, label %24250, label %24267

24250:                                            ; preds = %24245
  %24251 = load i32, ptr %499, align 4, !tbaa !5
  %24252 = call ptr @__errno_location() #11
  store i32 %24251, ptr %24252, align 4, !tbaa !5
  %24253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24254 = load i32, ptr @test_count, align 4, !tbaa !5
  %24255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24256 = load i32, ptr %24255, align 4, !tbaa !5
  %24257 = call ptr @s2n_strerror(i32 noundef %24256, ptr noundef @.str.4)
  %24258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24259 = load i32, ptr %24258, align 4, !tbaa !5
  %24260 = call ptr @s2n_strerror_debug(i32 noundef %24259, ptr noundef @.str.4)
  %24261 = call ptr @__errno_location() #11
  %24262 = load i32, ptr %24261, align 4, !tbaa !5
  %24263 = call ptr @strerror(i32 noundef %24262) #10
  %24264 = call ptr @__errno_location() #11
  %24265 = load i32, ptr %24264, align 4, !tbaa !5
  %24266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24253, ptr noundef @.str.2, i32 noundef %24254, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24257, ptr noundef %24260, ptr noundef %24263, i32 noundef %24265) #10
  br label %24284

24267:                                            ; preds = %24245, %24238
  %24268 = load i32, ptr %499, align 4, !tbaa !5
  %24269 = call ptr @__errno_location() #11
  store i32 %24268, ptr %24269, align 4, !tbaa !5
  %24270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24271 = load i32, ptr @test_count, align 4, !tbaa !5
  %24272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24273 = load i32, ptr %24272, align 4, !tbaa !5
  %24274 = call ptr @s2n_strerror(i32 noundef %24273, ptr noundef @.str.4)
  %24275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24276 = load i32, ptr %24275, align 4, !tbaa !5
  %24277 = call ptr @s2n_strerror_debug(i32 noundef %24276, ptr noundef @.str.4)
  %24278 = call ptr @__errno_location() #11
  %24279 = load i32, ptr %24278, align 4, !tbaa !5
  %24280 = call ptr @strerror(i32 noundef %24279) #10
  %24281 = call ptr @__errno_location() #11
  %24282 = load i32, ptr %24281, align 4, !tbaa !5
  %24283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24270, ptr noundef @.str.5, i32 noundef %24271, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24274, ptr noundef %24277, ptr noundef %24280, i32 noundef %24282) #10
  br label %24284

24284:                                            ; preds = %24267, %24250
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #10
  br label %24285

24285:                                            ; preds = %24284
  br label %24286

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

24287:                                            ; No predecessors!
  br label %24288

24288:                                            ; preds = %24287
  br label %24289

24289:                                            ; preds = %24288, %24230
  br label %24290

24290:                                            ; preds = %24289
  br label %24291

24291:                                            ; preds = %24290
  br label %24292

24292:                                            ; preds = %24291
  %24293 = load i32, ptr @test_count, align 4, !tbaa !5
  %24294 = add nsw i32 %24293, 1
  store i32 %24294, ptr @test_count, align 4, !tbaa !5
  %24295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24296 = load i32, ptr %24295, align 4, !tbaa !5
  %24297 = icmp eq i32 %24296, 0
  br i1 %24297, label %24298, label %24351

24298:                                            ; preds = %24292
  br label %24299

24299:                                            ; preds = %24298
  br label %24300

24300:                                            ; preds = %24299
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #10
  %24301 = call ptr @__errno_location() #11
  %24302 = load i32, ptr %24301, align 4, !tbaa !5
  store i32 %24302, ptr %500, align 4, !tbaa !5
  %24303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24304 = call i32 @s2n_print_stacktrace(ptr noundef %24303)
  %24305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24306 = trunc i8 %24305 to i1
  br i1 %24306, label %24307, label %24329

24307:                                            ; preds = %24300
  %24308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24309 = call i32 @fileno(ptr noundef %24308) #10
  %24310 = call i32 @isatty(i32 noundef %24309) #10
  %24311 = icmp ne i32 %24310, 0
  br i1 %24311, label %24312, label %24329

24312:                                            ; preds = %24307
  %24313 = load i32, ptr %500, align 4, !tbaa !5
  %24314 = call ptr @__errno_location() #11
  store i32 %24313, ptr %24314, align 4, !tbaa !5
  %24315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24316 = load i32, ptr @test_count, align 4, !tbaa !5
  %24317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24318 = load i32, ptr %24317, align 4, !tbaa !5
  %24319 = call ptr @s2n_strerror(i32 noundef %24318, ptr noundef @.str.4)
  %24320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24321 = load i32, ptr %24320, align 4, !tbaa !5
  %24322 = call ptr @s2n_strerror_debug(i32 noundef %24321, ptr noundef @.str.4)
  %24323 = call ptr @__errno_location() #11
  %24324 = load i32, ptr %24323, align 4, !tbaa !5
  %24325 = call ptr @strerror(i32 noundef %24324) #10
  %24326 = call ptr @__errno_location() #11
  %24327 = load i32, ptr %24326, align 4, !tbaa !5
  %24328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24315, ptr noundef @.str.2, i32 noundef %24316, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24319, ptr noundef %24322, ptr noundef %24325, i32 noundef %24327) #10
  br label %24346

24329:                                            ; preds = %24307, %24300
  %24330 = load i32, ptr %500, align 4, !tbaa !5
  %24331 = call ptr @__errno_location() #11
  store i32 %24330, ptr %24331, align 4, !tbaa !5
  %24332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24333 = load i32, ptr @test_count, align 4, !tbaa !5
  %24334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24335 = load i32, ptr %24334, align 4, !tbaa !5
  %24336 = call ptr @s2n_strerror(i32 noundef %24335, ptr noundef @.str.4)
  %24337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24338 = load i32, ptr %24337, align 4, !tbaa !5
  %24339 = call ptr @s2n_strerror_debug(i32 noundef %24338, ptr noundef @.str.4)
  %24340 = call ptr @__errno_location() #11
  %24341 = load i32, ptr %24340, align 4, !tbaa !5
  %24342 = call ptr @strerror(i32 noundef %24341) #10
  %24343 = call ptr @__errno_location() #11
  %24344 = load i32, ptr %24343, align 4, !tbaa !5
  %24345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24332, ptr noundef @.str.5, i32 noundef %24333, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24336, ptr noundef %24339, ptr noundef %24342, i32 noundef %24344) #10
  br label %24346

24346:                                            ; preds = %24329, %24312
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #10
  br label %24347

24347:                                            ; preds = %24346
  br label %24348

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

24349:                                            ; No predecessors!
  br label %24350

24350:                                            ; preds = %24349
  br label %24351

24351:                                            ; preds = %24350, %24292
  br label %24352

24352:                                            ; preds = %24351
  br label %24353

24353:                                            ; preds = %24352
  br label %24354

24354:                                            ; preds = %24353
  %24355 = load i32, ptr @test_count, align 4, !tbaa !5
  %24356 = add nsw i32 %24355, 1
  store i32 %24356, ptr @test_count, align 4, !tbaa !5
  %24357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24358 = load i32, ptr %24357, align 4, !tbaa !5
  %24359 = call ptr @s2n_strerror_debug(i32 noundef %24358, ptr noundef @.str.4)
  %24360 = icmp eq ptr %24359, null
  br i1 %24360, label %24361, label %24414

24361:                                            ; preds = %24354
  br label %24362

24362:                                            ; preds = %24361
  br label %24363

24363:                                            ; preds = %24362
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #10
  %24364 = call ptr @__errno_location() #11
  %24365 = load i32, ptr %24364, align 4, !tbaa !5
  store i32 %24365, ptr %501, align 4, !tbaa !5
  %24366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24367 = call i32 @s2n_print_stacktrace(ptr noundef %24366)
  %24368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24369 = trunc i8 %24368 to i1
  br i1 %24369, label %24370, label %24392

24370:                                            ; preds = %24363
  %24371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24372 = call i32 @fileno(ptr noundef %24371) #10
  %24373 = call i32 @isatty(i32 noundef %24372) #10
  %24374 = icmp ne i32 %24373, 0
  br i1 %24374, label %24375, label %24392

24375:                                            ; preds = %24370
  %24376 = load i32, ptr %501, align 4, !tbaa !5
  %24377 = call ptr @__errno_location() #11
  store i32 %24376, ptr %24377, align 4, !tbaa !5
  %24378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24379 = load i32, ptr @test_count, align 4, !tbaa !5
  %24380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24381 = load i32, ptr %24380, align 4, !tbaa !5
  %24382 = call ptr @s2n_strerror(i32 noundef %24381, ptr noundef @.str.4)
  %24383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24384 = load i32, ptr %24383, align 4, !tbaa !5
  %24385 = call ptr @s2n_strerror_debug(i32 noundef %24384, ptr noundef @.str.4)
  %24386 = call ptr @__errno_location() #11
  %24387 = load i32, ptr %24386, align 4, !tbaa !5
  %24388 = call ptr @strerror(i32 noundef %24387) #10
  %24389 = call ptr @__errno_location() #11
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  %24391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24378, ptr noundef @.str.2, i32 noundef %24379, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24382, ptr noundef %24385, ptr noundef %24388, i32 noundef %24390) #10
  br label %24409

24392:                                            ; preds = %24370, %24363
  %24393 = load i32, ptr %501, align 4, !tbaa !5
  %24394 = call ptr @__errno_location() #11
  store i32 %24393, ptr %24394, align 4, !tbaa !5
  %24395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24396 = load i32, ptr @test_count, align 4, !tbaa !5
  %24397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24398 = load i32, ptr %24397, align 4, !tbaa !5
  %24399 = call ptr @s2n_strerror(i32 noundef %24398, ptr noundef @.str.4)
  %24400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24401 = load i32, ptr %24400, align 4, !tbaa !5
  %24402 = call ptr @s2n_strerror_debug(i32 noundef %24401, ptr noundef @.str.4)
  %24403 = call ptr @__errno_location() #11
  %24404 = load i32, ptr %24403, align 4, !tbaa !5
  %24405 = call ptr @strerror(i32 noundef %24404) #10
  %24406 = call ptr @__errno_location() #11
  %24407 = load i32, ptr %24406, align 4, !tbaa !5
  %24408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24395, ptr noundef @.str.5, i32 noundef %24396, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 1241, ptr noundef %24399, ptr noundef %24402, ptr noundef %24405, i32 noundef %24407) #10
  br label %24409

24409:                                            ; preds = %24392, %24375
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #10
  br label %24410

24410:                                            ; preds = %24409
  br label %24411

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

24412:                                            ; No predecessors!
  br label %24413

24413:                                            ; preds = %24412
  br label %24414

24414:                                            ; preds = %24413, %24354
  br label %24415

24415:                                            ; preds = %24414
  br label %24416

24416:                                            ; preds = %24415
  br label %24417

24417:                                            ; preds = %24416
  %24418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24418, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24419 = call ptr @__errno_location() #11
  store i32 0, ptr %24419, align 4, !tbaa !5
  br label %24420

24420:                                            ; preds = %24417
  br label %24421

24421:                                            ; preds = %24420
  br label %24422

24422:                                            ; preds = %24421
  br label %24423

24423:                                            ; preds = %24422
  br label %24424

24424:                                            ; preds = %24423
  %24425 = load i32, ptr @test_count, align 4, !tbaa !5
  %24426 = add nsw i32 %24425, 1
  store i32 %24426, ptr @test_count, align 4, !tbaa !5
  %24427 = load ptr, ptr %490, align 8, !tbaa !9
  %24428 = load ptr, ptr %493, align 8, !tbaa !9
  %24429 = call i32 @s2n_connection_set_config(ptr noundef %24427, ptr noundef %24428)
  %24430 = icmp eq i32 %24429, -1
  br i1 %24430, label %24431, label %24484

24431:                                            ; preds = %24424
  br label %24432

24432:                                            ; preds = %24431
  br label %24433

24433:                                            ; preds = %24432
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #10
  %24434 = call ptr @__errno_location() #11
  %24435 = load i32, ptr %24434, align 4, !tbaa !5
  store i32 %24435, ptr %502, align 4, !tbaa !5
  %24436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24437 = call i32 @s2n_print_stacktrace(ptr noundef %24436)
  %24438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24439 = trunc i8 %24438 to i1
  br i1 %24439, label %24440, label %24462

24440:                                            ; preds = %24433
  %24441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24442 = call i32 @fileno(ptr noundef %24441) #10
  %24443 = call i32 @isatty(i32 noundef %24442) #10
  %24444 = icmp ne i32 %24443, 0
  br i1 %24444, label %24445, label %24462

24445:                                            ; preds = %24440
  %24446 = load i32, ptr %502, align 4, !tbaa !5
  %24447 = call ptr @__errno_location() #11
  store i32 %24446, ptr %24447, align 4, !tbaa !5
  %24448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24449 = load i32, ptr @test_count, align 4, !tbaa !5
  %24450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24451 = load i32, ptr %24450, align 4, !tbaa !5
  %24452 = call ptr @s2n_strerror(i32 noundef %24451, ptr noundef @.str.4)
  %24453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24454 = load i32, ptr %24453, align 4, !tbaa !5
  %24455 = call ptr @s2n_strerror_debug(i32 noundef %24454, ptr noundef @.str.4)
  %24456 = call ptr @__errno_location() #11
  %24457 = load i32, ptr %24456, align 4, !tbaa !5
  %24458 = call ptr @strerror(i32 noundef %24457) #10
  %24459 = call ptr @__errno_location() #11
  %24460 = load i32, ptr %24459, align 4, !tbaa !5
  %24461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24448, ptr noundef @.str.2, i32 noundef %24449, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1242, ptr noundef %24452, ptr noundef %24455, ptr noundef %24458, i32 noundef %24460) #10
  br label %24479

24462:                                            ; preds = %24440, %24433
  %24463 = load i32, ptr %502, align 4, !tbaa !5
  %24464 = call ptr @__errno_location() #11
  store i32 %24463, ptr %24464, align 4, !tbaa !5
  %24465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24466 = load i32, ptr @test_count, align 4, !tbaa !5
  %24467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24468 = load i32, ptr %24467, align 4, !tbaa !5
  %24469 = call ptr @s2n_strerror(i32 noundef %24468, ptr noundef @.str.4)
  %24470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24471 = load i32, ptr %24470, align 4, !tbaa !5
  %24472 = call ptr @s2n_strerror_debug(i32 noundef %24471, ptr noundef @.str.4)
  %24473 = call ptr @__errno_location() #11
  %24474 = load i32, ptr %24473, align 4, !tbaa !5
  %24475 = call ptr @strerror(i32 noundef %24474) #10
  %24476 = call ptr @__errno_location() #11
  %24477 = load i32, ptr %24476, align 4, !tbaa !5
  %24478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24465, ptr noundef @.str.5, i32 noundef %24466, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1242, ptr noundef %24469, ptr noundef %24472, ptr noundef %24475, i32 noundef %24477) #10
  br label %24479

24479:                                            ; preds = %24462, %24445
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #10
  br label %24480

24480:                                            ; preds = %24479
  br label %24481

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

24482:                                            ; No predecessors!
  br label %24483

24483:                                            ; preds = %24482
  br label %24484

24484:                                            ; preds = %24483, %24424
  br label %24485

24485:                                            ; preds = %24484
  br label %24486

24486:                                            ; preds = %24485
  br label %24487

24487:                                            ; preds = %24486
  %24488 = load i32, ptr @test_count, align 4, !tbaa !5
  %24489 = add nsw i32 %24488, 1
  store i32 %24489, ptr @test_count, align 4, !tbaa !5
  %24490 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24490, ptr %491, align 8, !tbaa !9
  %24491 = icmp eq ptr %24490, null
  br i1 %24491, label %24492, label %24545

24492:                                            ; preds = %24487
  br label %24493

24493:                                            ; preds = %24492
  br label %24494

24494:                                            ; preds = %24493
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #10
  %24495 = call ptr @__errno_location() #11
  %24496 = load i32, ptr %24495, align 4, !tbaa !5
  store i32 %24496, ptr %503, align 4, !tbaa !5
  %24497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24498 = call i32 @s2n_print_stacktrace(ptr noundef %24497)
  %24499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24500 = trunc i8 %24499 to i1
  br i1 %24500, label %24501, label %24523

24501:                                            ; preds = %24494
  %24502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24503 = call i32 @fileno(ptr noundef %24502) #10
  %24504 = call i32 @isatty(i32 noundef %24503) #10
  %24505 = icmp ne i32 %24504, 0
  br i1 %24505, label %24506, label %24523

24506:                                            ; preds = %24501
  %24507 = load i32, ptr %503, align 4, !tbaa !5
  %24508 = call ptr @__errno_location() #11
  store i32 %24507, ptr %24508, align 4, !tbaa !5
  %24509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24510 = load i32, ptr @test_count, align 4, !tbaa !5
  %24511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24512 = load i32, ptr %24511, align 4, !tbaa !5
  %24513 = call ptr @s2n_strerror(i32 noundef %24512, ptr noundef @.str.4)
  %24514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24515 = load i32, ptr %24514, align 4, !tbaa !5
  %24516 = call ptr @s2n_strerror_debug(i32 noundef %24515, ptr noundef @.str.4)
  %24517 = call ptr @__errno_location() #11
  %24518 = load i32, ptr %24517, align 4, !tbaa !5
  %24519 = call ptr @strerror(i32 noundef %24518) #10
  %24520 = call ptr @__errno_location() #11
  %24521 = load i32, ptr %24520, align 4, !tbaa !5
  %24522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24509, ptr noundef @.str.2, i32 noundef %24510, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %24513, ptr noundef %24516, ptr noundef %24519, i32 noundef %24521) #10
  br label %24540

24523:                                            ; preds = %24501, %24494
  %24524 = load i32, ptr %503, align 4, !tbaa !5
  %24525 = call ptr @__errno_location() #11
  store i32 %24524, ptr %24525, align 4, !tbaa !5
  %24526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24527 = load i32, ptr @test_count, align 4, !tbaa !5
  %24528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24529 = load i32, ptr %24528, align 4, !tbaa !5
  %24530 = call ptr @s2n_strerror(i32 noundef %24529, ptr noundef @.str.4)
  %24531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24532 = load i32, ptr %24531, align 4, !tbaa !5
  %24533 = call ptr @s2n_strerror_debug(i32 noundef %24532, ptr noundef @.str.4)
  %24534 = call ptr @__errno_location() #11
  %24535 = load i32, ptr %24534, align 4, !tbaa !5
  %24536 = call ptr @strerror(i32 noundef %24535) #10
  %24537 = call ptr @__errno_location() #11
  %24538 = load i32, ptr %24537, align 4, !tbaa !5
  %24539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24526, ptr noundef @.str.5, i32 noundef %24527, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1244, ptr noundef %24530, ptr noundef %24533, ptr noundef %24536, i32 noundef %24538) #10
  br label %24540

24540:                                            ; preds = %24523, %24506
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #10
  br label %24541

24541:                                            ; preds = %24540
  br label %24542

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

24543:                                            ; No predecessors!
  br label %24544

24544:                                            ; preds = %24543
  br label %24545

24545:                                            ; preds = %24544, %24487
  br label %24546

24546:                                            ; preds = %24545
  br label %24547

24547:                                            ; preds = %24546
  %24548 = load ptr, ptr %491, align 8, !tbaa !9
  %24549 = getelementptr inbounds %struct.s2n_connection, ptr %24548, i32 0, i32 23
  store i8 33, ptr %24549, align 4, !tbaa !15
  %24550 = load ptr, ptr %491, align 8, !tbaa !9
  %24551 = getelementptr inbounds %struct.s2n_connection, ptr %24550, i32 0, i32 22
  store i8 33, ptr %24551, align 1, !tbaa !42
  %24552 = load ptr, ptr %491, align 8, !tbaa !9
  %24553 = getelementptr inbounds %struct.s2n_connection, ptr %24552, i32 0, i32 21
  store i8 33, ptr %24553, align 2, !tbaa !43
  br label %24554

24554:                                            ; preds = %24547
  %24555 = load i32, ptr @test_count, align 4, !tbaa !5
  %24556 = add nsw i32 %24555, 1
  store i32 %24556, ptr @test_count, align 4, !tbaa !5
  %24557 = load ptr, ptr %490, align 8, !tbaa !9
  %24558 = load ptr, ptr %491, align 8, !tbaa !9
  %24559 = call i32 @s2n_connections_set_io_pair(ptr noundef %24557, ptr noundef %24558, ptr noundef %15)
  %24560 = icmp eq i32 %24559, -1
  br i1 %24560, label %24561, label %24614

24561:                                            ; preds = %24554
  br label %24562

24562:                                            ; preds = %24561
  br label %24563

24563:                                            ; preds = %24562
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #10
  %24564 = call ptr @__errno_location() #11
  %24565 = load i32, ptr %24564, align 4, !tbaa !5
  store i32 %24565, ptr %504, align 4, !tbaa !5
  %24566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24567 = call i32 @s2n_print_stacktrace(ptr noundef %24566)
  %24568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24569 = trunc i8 %24568 to i1
  br i1 %24569, label %24570, label %24592

24570:                                            ; preds = %24563
  %24571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24572 = call i32 @fileno(ptr noundef %24571) #10
  %24573 = call i32 @isatty(i32 noundef %24572) #10
  %24574 = icmp ne i32 %24573, 0
  br i1 %24574, label %24575, label %24592

24575:                                            ; preds = %24570
  %24576 = load i32, ptr %504, align 4, !tbaa !5
  %24577 = call ptr @__errno_location() #11
  store i32 %24576, ptr %24577, align 4, !tbaa !5
  %24578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24579 = load i32, ptr @test_count, align 4, !tbaa !5
  %24580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24581 = load i32, ptr %24580, align 4, !tbaa !5
  %24582 = call ptr @s2n_strerror(i32 noundef %24581, ptr noundef @.str.4)
  %24583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24584 = load i32, ptr %24583, align 4, !tbaa !5
  %24585 = call ptr @s2n_strerror_debug(i32 noundef %24584, ptr noundef @.str.4)
  %24586 = call ptr @__errno_location() #11
  %24587 = load i32, ptr %24586, align 4, !tbaa !5
  %24588 = call ptr @strerror(i32 noundef %24587) #10
  %24589 = call ptr @__errno_location() #11
  %24590 = load i32, ptr %24589, align 4, !tbaa !5
  %24591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24578, ptr noundef @.str.2, i32 noundef %24579, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1249, ptr noundef %24582, ptr noundef %24585, ptr noundef %24588, i32 noundef %24590) #10
  br label %24609

24592:                                            ; preds = %24570, %24563
  %24593 = load i32, ptr %504, align 4, !tbaa !5
  %24594 = call ptr @__errno_location() #11
  store i32 %24593, ptr %24594, align 4, !tbaa !5
  %24595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24596 = load i32, ptr @test_count, align 4, !tbaa !5
  %24597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24598 = load i32, ptr %24597, align 4, !tbaa !5
  %24599 = call ptr @s2n_strerror(i32 noundef %24598, ptr noundef @.str.4)
  %24600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24601 = load i32, ptr %24600, align 4, !tbaa !5
  %24602 = call ptr @s2n_strerror_debug(i32 noundef %24601, ptr noundef @.str.4)
  %24603 = call ptr @__errno_location() #11
  %24604 = load i32, ptr %24603, align 4, !tbaa !5
  %24605 = call ptr @strerror(i32 noundef %24604) #10
  %24606 = call ptr @__errno_location() #11
  %24607 = load i32, ptr %24606, align 4, !tbaa !5
  %24608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24595, ptr noundef @.str.5, i32 noundef %24596, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1249, ptr noundef %24599, ptr noundef %24602, ptr noundef %24605, i32 noundef %24607) #10
  br label %24609

24609:                                            ; preds = %24592, %24575
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #10
  br label %24610

24610:                                            ; preds = %24609
  br label %24611

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

24612:                                            ; No predecessors!
  br label %24613

24613:                                            ; preds = %24612
  br label %24614

24614:                                            ; preds = %24613, %24554
  br label %24615

24615:                                            ; preds = %24614
  br label %24616

24616:                                            ; preds = %24615
  br label %24617

24617:                                            ; preds = %24616
  %24618 = load i32, ptr @test_count, align 4, !tbaa !5
  %24619 = add nsw i32 %24618, 1
  store i32 %24619, ptr @test_count, align 4, !tbaa !5
  %24620 = call ptr @s2n_config_new()
  store ptr %24620, ptr %492, align 8, !tbaa !9
  %24621 = icmp eq ptr %24620, null
  br i1 %24621, label %24622, label %24675

24622:                                            ; preds = %24617
  br label %24623

24623:                                            ; preds = %24622
  br label %24624

24624:                                            ; preds = %24623
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #10
  %24625 = call ptr @__errno_location() #11
  %24626 = load i32, ptr %24625, align 4, !tbaa !5
  store i32 %24626, ptr %505, align 4, !tbaa !5
  %24627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24628 = call i32 @s2n_print_stacktrace(ptr noundef %24627)
  %24629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24630 = trunc i8 %24629 to i1
  br i1 %24630, label %24631, label %24653

24631:                                            ; preds = %24624
  %24632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24633 = call i32 @fileno(ptr noundef %24632) #10
  %24634 = call i32 @isatty(i32 noundef %24633) #10
  %24635 = icmp ne i32 %24634, 0
  br i1 %24635, label %24636, label %24653

24636:                                            ; preds = %24631
  %24637 = load i32, ptr %505, align 4, !tbaa !5
  %24638 = call ptr @__errno_location() #11
  store i32 %24637, ptr %24638, align 4, !tbaa !5
  %24639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24640 = load i32, ptr @test_count, align 4, !tbaa !5
  %24641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24642 = load i32, ptr %24641, align 4, !tbaa !5
  %24643 = call ptr @s2n_strerror(i32 noundef %24642, ptr noundef @.str.4)
  %24644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24645 = load i32, ptr %24644, align 4, !tbaa !5
  %24646 = call ptr @s2n_strerror_debug(i32 noundef %24645, ptr noundef @.str.4)
  %24647 = call ptr @__errno_location() #11
  %24648 = load i32, ptr %24647, align 4, !tbaa !5
  %24649 = call ptr @strerror(i32 noundef %24648) #10
  %24650 = call ptr @__errno_location() #11
  %24651 = load i32, ptr %24650, align 4, !tbaa !5
  %24652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24639, ptr noundef @.str.2, i32 noundef %24640, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1251, ptr noundef %24643, ptr noundef %24646, ptr noundef %24649, i32 noundef %24651) #10
  br label %24670

24653:                                            ; preds = %24631, %24624
  %24654 = load i32, ptr %505, align 4, !tbaa !5
  %24655 = call ptr @__errno_location() #11
  store i32 %24654, ptr %24655, align 4, !tbaa !5
  %24656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24657 = load i32, ptr @test_count, align 4, !tbaa !5
  %24658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24659 = load i32, ptr %24658, align 4, !tbaa !5
  %24660 = call ptr @s2n_strerror(i32 noundef %24659, ptr noundef @.str.4)
  %24661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24662 = load i32, ptr %24661, align 4, !tbaa !5
  %24663 = call ptr @s2n_strerror_debug(i32 noundef %24662, ptr noundef @.str.4)
  %24664 = call ptr @__errno_location() #11
  %24665 = load i32, ptr %24664, align 4, !tbaa !5
  %24666 = call ptr @strerror(i32 noundef %24665) #10
  %24667 = call ptr @__errno_location() #11
  %24668 = load i32, ptr %24667, align 4, !tbaa !5
  %24669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24656, ptr noundef @.str.5, i32 noundef %24657, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1251, ptr noundef %24660, ptr noundef %24663, ptr noundef %24666, i32 noundef %24668) #10
  br label %24670

24670:                                            ; preds = %24653, %24636
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #10
  br label %24671

24671:                                            ; preds = %24670
  br label %24672

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

24673:                                            ; No predecessors!
  br label %24674

24674:                                            ; preds = %24673
  br label %24675

24675:                                            ; preds = %24674, %24617
  br label %24676

24676:                                            ; preds = %24675
  br label %24677

24677:                                            ; preds = %24676
  br label %24678

24678:                                            ; preds = %24677
  %24679 = load i32, ptr @test_count, align 4, !tbaa !5
  %24680 = add nsw i32 %24679, 1
  store i32 %24680, ptr @test_count, align 4, !tbaa !5
  %24681 = load ptr, ptr %492, align 8, !tbaa !9
  %24682 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef %24681)
  %24683 = icmp eq i32 %24682, -1
  br i1 %24683, label %24684, label %24737

24684:                                            ; preds = %24678
  br label %24685

24685:                                            ; preds = %24684
  br label %24686

24686:                                            ; preds = %24685
  call void @llvm.lifetime.start.p0(i64 4, ptr %506) #10
  %24687 = call ptr @__errno_location() #11
  %24688 = load i32, ptr %24687, align 4, !tbaa !5
  store i32 %24688, ptr %506, align 4, !tbaa !5
  %24689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24690 = call i32 @s2n_print_stacktrace(ptr noundef %24689)
  %24691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24692 = trunc i8 %24691 to i1
  br i1 %24692, label %24693, label %24715

24693:                                            ; preds = %24686
  %24694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24695 = call i32 @fileno(ptr noundef %24694) #10
  %24696 = call i32 @isatty(i32 noundef %24695) #10
  %24697 = icmp ne i32 %24696, 0
  br i1 %24697, label %24698, label %24715

24698:                                            ; preds = %24693
  %24699 = load i32, ptr %506, align 4, !tbaa !5
  %24700 = call ptr @__errno_location() #11
  store i32 %24699, ptr %24700, align 4, !tbaa !5
  %24701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24702 = load i32, ptr @test_count, align 4, !tbaa !5
  %24703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24704 = load i32, ptr %24703, align 4, !tbaa !5
  %24705 = call ptr @s2n_strerror(i32 noundef %24704, ptr noundef @.str.4)
  %24706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24707 = load i32, ptr %24706, align 4, !tbaa !5
  %24708 = call ptr @s2n_strerror_debug(i32 noundef %24707, ptr noundef @.str.4)
  %24709 = call ptr @__errno_location() #11
  %24710 = load i32, ptr %24709, align 4, !tbaa !5
  %24711 = call ptr @strerror(i32 noundef %24710) #10
  %24712 = call ptr @__errno_location() #11
  %24713 = load i32, ptr %24712, align 4, !tbaa !5
  %24714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24701, ptr noundef @.str.2, i32 noundef %24702, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %24705, ptr noundef %24708, ptr noundef %24711, i32 noundef %24713) #10
  br label %24732

24715:                                            ; preds = %24693, %24686
  %24716 = load i32, ptr %506, align 4, !tbaa !5
  %24717 = call ptr @__errno_location() #11
  store i32 %24716, ptr %24717, align 4, !tbaa !5
  %24718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24719 = load i32, ptr @test_count, align 4, !tbaa !5
  %24720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24721 = load i32, ptr %24720, align 4, !tbaa !5
  %24722 = call ptr @s2n_strerror(i32 noundef %24721, ptr noundef @.str.4)
  %24723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24724 = load i32, ptr %24723, align 4, !tbaa !5
  %24725 = call ptr @s2n_strerror_debug(i32 noundef %24724, ptr noundef @.str.4)
  %24726 = call ptr @__errno_location() #11
  %24727 = load i32, ptr %24726, align 4, !tbaa !5
  %24728 = call ptr @strerror(i32 noundef %24727) #10
  %24729 = call ptr @__errno_location() #11
  %24730 = load i32, ptr %24729, align 4, !tbaa !5
  %24731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24718, ptr noundef @.str.5, i32 noundef %24719, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %24722, ptr noundef %24725, ptr noundef %24728, i32 noundef %24730) #10
  br label %24732

24732:                                            ; preds = %24715, %24698
  call void @llvm.lifetime.end.p0(i64 4, ptr %506) #10
  br label %24733

24733:                                            ; preds = %24732
  br label %24734

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

24735:                                            ; No predecessors!
  br label %24736

24736:                                            ; preds = %24735
  br label %24737

24737:                                            ; preds = %24736, %24678
  br label %24738

24738:                                            ; preds = %24737
  br label %24739

24739:                                            ; preds = %24738
  br label %24740

24740:                                            ; preds = %24739
  %24741 = load i32, ptr @test_count, align 4, !tbaa !5
  %24742 = add nsw i32 %24741, 1
  store i32 %24742, ptr @test_count, align 4, !tbaa !5
  %24743 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %24743, ptr %494, align 8, !tbaa !9
  %24744 = icmp eq ptr %24743, null
  br i1 %24744, label %24745, label %24798

24745:                                            ; preds = %24740
  br label %24746

24746:                                            ; preds = %24745
  br label %24747

24747:                                            ; preds = %24746
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #10
  %24748 = call ptr @__errno_location() #11
  %24749 = load i32, ptr %24748, align 4, !tbaa !5
  store i32 %24749, ptr %507, align 4, !tbaa !5
  %24750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24751 = call i32 @s2n_print_stacktrace(ptr noundef %24750)
  %24752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24753 = trunc i8 %24752 to i1
  br i1 %24753, label %24754, label %24776

24754:                                            ; preds = %24747
  %24755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24756 = call i32 @fileno(ptr noundef %24755) #10
  %24757 = call i32 @isatty(i32 noundef %24756) #10
  %24758 = icmp ne i32 %24757, 0
  br i1 %24758, label %24759, label %24776

24759:                                            ; preds = %24754
  %24760 = load i32, ptr %507, align 4, !tbaa !5
  %24761 = call ptr @__errno_location() #11
  store i32 %24760, ptr %24761, align 4, !tbaa !5
  %24762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24763 = load i32, ptr @test_count, align 4, !tbaa !5
  %24764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24765 = load i32, ptr %24764, align 4, !tbaa !5
  %24766 = call ptr @s2n_strerror(i32 noundef %24765, ptr noundef @.str.4)
  %24767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24768 = load i32, ptr %24767, align 4, !tbaa !5
  %24769 = call ptr @s2n_strerror_debug(i32 noundef %24768, ptr noundef @.str.4)
  %24770 = call ptr @__errno_location() #11
  %24771 = load i32, ptr %24770, align 4, !tbaa !5
  %24772 = call ptr @strerror(i32 noundef %24771) #10
  %24773 = call ptr @__errno_location() #11
  %24774 = load i32, ptr %24773, align 4, !tbaa !5
  %24775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24762, ptr noundef @.str.2, i32 noundef %24763, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1253, ptr noundef %24766, ptr noundef %24769, ptr noundef %24772, i32 noundef %24774) #10
  br label %24793

24776:                                            ; preds = %24754, %24747
  %24777 = load i32, ptr %507, align 4, !tbaa !5
  %24778 = call ptr @__errno_location() #11
  store i32 %24777, ptr %24778, align 4, !tbaa !5
  %24779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24780 = load i32, ptr @test_count, align 4, !tbaa !5
  %24781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24782 = load i32, ptr %24781, align 4, !tbaa !5
  %24783 = call ptr @s2n_strerror(i32 noundef %24782, ptr noundef @.str.4)
  %24784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24785 = load i32, ptr %24784, align 4, !tbaa !5
  %24786 = call ptr @s2n_strerror_debug(i32 noundef %24785, ptr noundef @.str.4)
  %24787 = call ptr @__errno_location() #11
  %24788 = load i32, ptr %24787, align 4, !tbaa !5
  %24789 = call ptr @strerror(i32 noundef %24788) #10
  %24790 = call ptr @__errno_location() #11
  %24791 = load i32, ptr %24790, align 4, !tbaa !5
  %24792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24779, ptr noundef @.str.5, i32 noundef %24780, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1253, ptr noundef %24783, ptr noundef %24786, ptr noundef %24789, i32 noundef %24791) #10
  br label %24793

24793:                                            ; preds = %24776, %24759
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #10
  br label %24794

24794:                                            ; preds = %24793
  br label %24795

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

24796:                                            ; No predecessors!
  br label %24797

24797:                                            ; preds = %24796
  br label %24798

24798:                                            ; preds = %24797, %24740
  br label %24799

24799:                                            ; preds = %24798
  br label %24800

24800:                                            ; preds = %24799
  br label %24801

24801:                                            ; preds = %24800
  %24802 = load i32, ptr @test_count, align 4, !tbaa !5
  %24803 = add nsw i32 %24802, 1
  store i32 %24803, ptr @test_count, align 4, !tbaa !5
  %24804 = load ptr, ptr %494, align 8, !tbaa !9
  %24805 = load ptr, ptr %6, align 8, !tbaa !9
  %24806 = load ptr, ptr %7, align 8, !tbaa !9
  %24807 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %24804, ptr noundef %24805, ptr noundef %24806)
  %24808 = icmp eq i32 %24807, -1
  br i1 %24808, label %24809, label %24862

24809:                                            ; preds = %24801
  br label %24810

24810:                                            ; preds = %24809
  br label %24811

24811:                                            ; preds = %24810
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #10
  %24812 = call ptr @__errno_location() #11
  %24813 = load i32, ptr %24812, align 4, !tbaa !5
  store i32 %24813, ptr %508, align 4, !tbaa !5
  %24814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24815 = call i32 @s2n_print_stacktrace(ptr noundef %24814)
  %24816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24817 = trunc i8 %24816 to i1
  br i1 %24817, label %24818, label %24840

24818:                                            ; preds = %24811
  %24819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24820 = call i32 @fileno(ptr noundef %24819) #10
  %24821 = call i32 @isatty(i32 noundef %24820) #10
  %24822 = icmp ne i32 %24821, 0
  br i1 %24822, label %24823, label %24840

24823:                                            ; preds = %24818
  %24824 = load i32, ptr %508, align 4, !tbaa !5
  %24825 = call ptr @__errno_location() #11
  store i32 %24824, ptr %24825, align 4, !tbaa !5
  %24826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24827 = load i32, ptr @test_count, align 4, !tbaa !5
  %24828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24829 = load i32, ptr %24828, align 4, !tbaa !5
  %24830 = call ptr @s2n_strerror(i32 noundef %24829, ptr noundef @.str.4)
  %24831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24832 = load i32, ptr %24831, align 4, !tbaa !5
  %24833 = call ptr @s2n_strerror_debug(i32 noundef %24832, ptr noundef @.str.4)
  %24834 = call ptr @__errno_location() #11
  %24835 = load i32, ptr %24834, align 4, !tbaa !5
  %24836 = call ptr @strerror(i32 noundef %24835) #10
  %24837 = call ptr @__errno_location() #11
  %24838 = load i32, ptr %24837, align 4, !tbaa !5
  %24839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24826, ptr noundef @.str.2, i32 noundef %24827, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1254, ptr noundef %24830, ptr noundef %24833, ptr noundef %24836, i32 noundef %24838) #10
  br label %24857

24840:                                            ; preds = %24818, %24811
  %24841 = load i32, ptr %508, align 4, !tbaa !5
  %24842 = call ptr @__errno_location() #11
  store i32 %24841, ptr %24842, align 4, !tbaa !5
  %24843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24844 = load i32, ptr @test_count, align 4, !tbaa !5
  %24845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24846 = load i32, ptr %24845, align 4, !tbaa !5
  %24847 = call ptr @s2n_strerror(i32 noundef %24846, ptr noundef @.str.4)
  %24848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24849 = load i32, ptr %24848, align 4, !tbaa !5
  %24850 = call ptr @s2n_strerror_debug(i32 noundef %24849, ptr noundef @.str.4)
  %24851 = call ptr @__errno_location() #11
  %24852 = load i32, ptr %24851, align 4, !tbaa !5
  %24853 = call ptr @strerror(i32 noundef %24852) #10
  %24854 = call ptr @__errno_location() #11
  %24855 = load i32, ptr %24854, align 4, !tbaa !5
  %24856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24843, ptr noundef @.str.5, i32 noundef %24844, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1254, ptr noundef %24847, ptr noundef %24850, ptr noundef %24853, i32 noundef %24855) #10
  br label %24857

24857:                                            ; preds = %24840, %24823
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #10
  br label %24858

24858:                                            ; preds = %24857
  br label %24859

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

24860:                                            ; No predecessors!
  br label %24861

24861:                                            ; preds = %24860
  br label %24862

24862:                                            ; preds = %24861, %24801
  br label %24863

24863:                                            ; preds = %24862
  br label %24864

24864:                                            ; preds = %24863
  br label %24865

24865:                                            ; preds = %24864
  %24866 = load i32, ptr @test_count, align 4, !tbaa !5
  %24867 = add nsw i32 %24866, 1
  store i32 %24867, ptr @test_count, align 4, !tbaa !5
  %24868 = load ptr, ptr %492, align 8, !tbaa !9
  %24869 = load ptr, ptr %494, align 8, !tbaa !9
  %24870 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %24868, ptr noundef %24869)
  %24871 = icmp eq i32 %24870, -1
  br i1 %24871, label %24872, label %24925

24872:                                            ; preds = %24865
  br label %24873

24873:                                            ; preds = %24872
  br label %24874

24874:                                            ; preds = %24873
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #10
  %24875 = call ptr @__errno_location() #11
  %24876 = load i32, ptr %24875, align 4, !tbaa !5
  store i32 %24876, ptr %509, align 4, !tbaa !5
  %24877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24878 = call i32 @s2n_print_stacktrace(ptr noundef %24877)
  %24879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24880 = trunc i8 %24879 to i1
  br i1 %24880, label %24881, label %24903

24881:                                            ; preds = %24874
  %24882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24883 = call i32 @fileno(ptr noundef %24882) #10
  %24884 = call i32 @isatty(i32 noundef %24883) #10
  %24885 = icmp ne i32 %24884, 0
  br i1 %24885, label %24886, label %24903

24886:                                            ; preds = %24881
  %24887 = load i32, ptr %509, align 4, !tbaa !5
  %24888 = call ptr @__errno_location() #11
  store i32 %24887, ptr %24888, align 4, !tbaa !5
  %24889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24890 = load i32, ptr @test_count, align 4, !tbaa !5
  %24891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24892 = load i32, ptr %24891, align 4, !tbaa !5
  %24893 = call ptr @s2n_strerror(i32 noundef %24892, ptr noundef @.str.4)
  %24894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24895 = load i32, ptr %24894, align 4, !tbaa !5
  %24896 = call ptr @s2n_strerror_debug(i32 noundef %24895, ptr noundef @.str.4)
  %24897 = call ptr @__errno_location() #11
  %24898 = load i32, ptr %24897, align 4, !tbaa !5
  %24899 = call ptr @strerror(i32 noundef %24898) #10
  %24900 = call ptr @__errno_location() #11
  %24901 = load i32, ptr %24900, align 4, !tbaa !5
  %24902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24889, ptr noundef @.str.2, i32 noundef %24890, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1255, ptr noundef %24893, ptr noundef %24896, ptr noundef %24899, i32 noundef %24901) #10
  br label %24920

24903:                                            ; preds = %24881, %24874
  %24904 = load i32, ptr %509, align 4, !tbaa !5
  %24905 = call ptr @__errno_location() #11
  store i32 %24904, ptr %24905, align 4, !tbaa !5
  %24906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24907 = load i32, ptr @test_count, align 4, !tbaa !5
  %24908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24909 = load i32, ptr %24908, align 4, !tbaa !5
  %24910 = call ptr @s2n_strerror(i32 noundef %24909, ptr noundef @.str.4)
  %24911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24912 = load i32, ptr %24911, align 4, !tbaa !5
  %24913 = call ptr @s2n_strerror_debug(i32 noundef %24912, ptr noundef @.str.4)
  %24914 = call ptr @__errno_location() #11
  %24915 = load i32, ptr %24914, align 4, !tbaa !5
  %24916 = call ptr @strerror(i32 noundef %24915) #10
  %24917 = call ptr @__errno_location() #11
  %24918 = load i32, ptr %24917, align 4, !tbaa !5
  %24919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24906, ptr noundef @.str.5, i32 noundef %24907, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1255, ptr noundef %24910, ptr noundef %24913, ptr noundef %24916, i32 noundef %24918) #10
  br label %24920

24920:                                            ; preds = %24903, %24886
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #10
  br label %24921

24921:                                            ; preds = %24920
  br label %24922

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

24923:                                            ; No predecessors!
  br label %24924

24924:                                            ; preds = %24923
  br label %24925

24925:                                            ; preds = %24924, %24865
  br label %24926

24926:                                            ; preds = %24925
  br label %24927

24927:                                            ; preds = %24926
  br label %24928

24928:                                            ; preds = %24927
  %24929 = load i32, ptr @test_count, align 4, !tbaa !5
  %24930 = add nsw i32 %24929, 1
  store i32 %24930, ptr @test_count, align 4, !tbaa !5
  %24931 = load ptr, ptr %491, align 8, !tbaa !9
  %24932 = load ptr, ptr %492, align 8, !tbaa !9
  %24933 = call i32 @s2n_connection_set_config(ptr noundef %24931, ptr noundef %24932)
  %24934 = icmp eq i32 %24933, -1
  br i1 %24934, label %24935, label %24988

24935:                                            ; preds = %24928
  br label %24936

24936:                                            ; preds = %24935
  br label %24937

24937:                                            ; preds = %24936
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #10
  %24938 = call ptr @__errno_location() #11
  %24939 = load i32, ptr %24938, align 4, !tbaa !5
  store i32 %24939, ptr %510, align 4, !tbaa !5
  %24940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24941 = call i32 @s2n_print_stacktrace(ptr noundef %24940)
  %24942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24943 = trunc i8 %24942 to i1
  br i1 %24943, label %24944, label %24966

24944:                                            ; preds = %24937
  %24945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24946 = call i32 @fileno(ptr noundef %24945) #10
  %24947 = call i32 @isatty(i32 noundef %24946) #10
  %24948 = icmp ne i32 %24947, 0
  br i1 %24948, label %24949, label %24966

24949:                                            ; preds = %24944
  %24950 = load i32, ptr %510, align 4, !tbaa !5
  %24951 = call ptr @__errno_location() #11
  store i32 %24950, ptr %24951, align 4, !tbaa !5
  %24952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24953 = load i32, ptr @test_count, align 4, !tbaa !5
  %24954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24955 = load i32, ptr %24954, align 4, !tbaa !5
  %24956 = call ptr @s2n_strerror(i32 noundef %24955, ptr noundef @.str.4)
  %24957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24958 = load i32, ptr %24957, align 4, !tbaa !5
  %24959 = call ptr @s2n_strerror_debug(i32 noundef %24958, ptr noundef @.str.4)
  %24960 = call ptr @__errno_location() #11
  %24961 = load i32, ptr %24960, align 4, !tbaa !5
  %24962 = call ptr @strerror(i32 noundef %24961) #10
  %24963 = call ptr @__errno_location() #11
  %24964 = load i32, ptr %24963, align 4, !tbaa !5
  %24965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24952, ptr noundef @.str.2, i32 noundef %24953, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1256, ptr noundef %24956, ptr noundef %24959, ptr noundef %24962, i32 noundef %24964) #10
  br label %24983

24966:                                            ; preds = %24944, %24937
  %24967 = load i32, ptr %510, align 4, !tbaa !5
  %24968 = call ptr @__errno_location() #11
  store i32 %24967, ptr %24968, align 4, !tbaa !5
  %24969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24970 = load i32, ptr @test_count, align 4, !tbaa !5
  %24971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24972 = load i32, ptr %24971, align 4, !tbaa !5
  %24973 = call ptr @s2n_strerror(i32 noundef %24972, ptr noundef @.str.4)
  %24974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24975 = load i32, ptr %24974, align 4, !tbaa !5
  %24976 = call ptr @s2n_strerror_debug(i32 noundef %24975, ptr noundef @.str.4)
  %24977 = call ptr @__errno_location() #11
  %24978 = load i32, ptr %24977, align 4, !tbaa !5
  %24979 = call ptr @strerror(i32 noundef %24978) #10
  %24980 = call ptr @__errno_location() #11
  %24981 = load i32, ptr %24980, align 4, !tbaa !5
  %24982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24969, ptr noundef @.str.5, i32 noundef %24970, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1256, ptr noundef %24973, ptr noundef %24976, ptr noundef %24979, i32 noundef %24981) #10
  br label %24983

24983:                                            ; preds = %24966, %24949
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #10
  br label %24984

24984:                                            ; preds = %24983
  br label %24985

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

24986:                                            ; No predecessors!
  br label %24987

24987:                                            ; preds = %24986
  br label %24988

24988:                                            ; preds = %24987, %24928
  br label %24989

24989:                                            ; preds = %24988
  br label %24990

24990:                                            ; preds = %24989
  br label %24991

24991:                                            ; preds = %24990
  %24992 = load i32, ptr @test_count, align 4, !tbaa !5
  %24993 = add nsw i32 %24992, 1
  store i32 %24993, ptr @test_count, align 4, !tbaa !5
  %24994 = load ptr, ptr %491, align 8, !tbaa !9
  %24995 = load ptr, ptr %490, align 8, !tbaa !9
  %24996 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %24994, ptr noundef %24995)
  %24997 = icmp eq i32 %24996, -1
  br i1 %24997, label %24998, label %25051

24998:                                            ; preds = %24991
  br label %24999

24999:                                            ; preds = %24998
  br label %25000

25000:                                            ; preds = %24999
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #10
  %25001 = call ptr @__errno_location() #11
  %25002 = load i32, ptr %25001, align 4, !tbaa !5
  store i32 %25002, ptr %511, align 4, !tbaa !5
  %25003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25004 = call i32 @s2n_print_stacktrace(ptr noundef %25003)
  %25005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25006 = trunc i8 %25005 to i1
  br i1 %25006, label %25007, label %25029

25007:                                            ; preds = %25000
  %25008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25009 = call i32 @fileno(ptr noundef %25008) #10
  %25010 = call i32 @isatty(i32 noundef %25009) #10
  %25011 = icmp ne i32 %25010, 0
  br i1 %25011, label %25012, label %25029

25012:                                            ; preds = %25007
  %25013 = load i32, ptr %511, align 4, !tbaa !5
  %25014 = call ptr @__errno_location() #11
  store i32 %25013, ptr %25014, align 4, !tbaa !5
  %25015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25016 = load i32, ptr @test_count, align 4, !tbaa !5
  %25017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25018 = load i32, ptr %25017, align 4, !tbaa !5
  %25019 = call ptr @s2n_strerror(i32 noundef %25018, ptr noundef @.str.4)
  %25020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25021 = load i32, ptr %25020, align 4, !tbaa !5
  %25022 = call ptr @s2n_strerror_debug(i32 noundef %25021, ptr noundef @.str.4)
  %25023 = call ptr @__errno_location() #11
  %25024 = load i32, ptr %25023, align 4, !tbaa !5
  %25025 = call ptr @strerror(i32 noundef %25024) #10
  %25026 = call ptr @__errno_location() #11
  %25027 = load i32, ptr %25026, align 4, !tbaa !5
  %25028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25015, ptr noundef @.str.2, i32 noundef %25016, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %25019, ptr noundef %25022, ptr noundef %25025, i32 noundef %25027) #10
  br label %25046

25029:                                            ; preds = %25007, %25000
  %25030 = load i32, ptr %511, align 4, !tbaa !5
  %25031 = call ptr @__errno_location() #11
  store i32 %25030, ptr %25031, align 4, !tbaa !5
  %25032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25033 = load i32, ptr @test_count, align 4, !tbaa !5
  %25034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25035 = load i32, ptr %25034, align 4, !tbaa !5
  %25036 = call ptr @s2n_strerror(i32 noundef %25035, ptr noundef @.str.4)
  %25037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25038 = load i32, ptr %25037, align 4, !tbaa !5
  %25039 = call ptr @s2n_strerror_debug(i32 noundef %25038, ptr noundef @.str.4)
  %25040 = call ptr @__errno_location() #11
  %25041 = load i32, ptr %25040, align 4, !tbaa !5
  %25042 = call ptr @strerror(i32 noundef %25041) #10
  %25043 = call ptr @__errno_location() #11
  %25044 = load i32, ptr %25043, align 4, !tbaa !5
  %25045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25032, ptr noundef @.str.5, i32 noundef %25033, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %25036, ptr noundef %25039, ptr noundef %25042, i32 noundef %25044) #10
  br label %25046

25046:                                            ; preds = %25029, %25012
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #10
  br label %25047

25047:                                            ; preds = %25046
  br label %25048

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

25049:                                            ; No predecessors!
  br label %25050

25050:                                            ; preds = %25049
  br label %25051

25051:                                            ; preds = %25050, %24991
  br label %25052

25052:                                            ; preds = %25051
  br label %25053

25053:                                            ; preds = %25052
  br label %25054

25054:                                            ; preds = %25053
  %25055 = load i32, ptr @test_count, align 4, !tbaa !5
  %25056 = add nsw i32 %25055, 1
  store i32 %25056, ptr @test_count, align 4, !tbaa !5
  %25057 = load ptr, ptr %491, align 8, !tbaa !9
  %25058 = getelementptr inbounds %struct.s2n_connection, ptr %25057, i32 0, i32 53
  %25059 = load i16, ptr %25058, align 8, !tbaa !54
  %25060 = zext i16 %25059 to i32
  %25061 = icmp eq i32 %25060, 8087
  br i1 %25061, label %25115, label %25062

25062:                                            ; preds = %25054
  br label %25063

25063:                                            ; preds = %25062
  br label %25064

25064:                                            ; preds = %25063
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #10
  %25065 = call ptr @__errno_location() #11
  %25066 = load i32, ptr %25065, align 4, !tbaa !5
  store i32 %25066, ptr %512, align 4, !tbaa !5
  %25067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25068 = call i32 @s2n_print_stacktrace(ptr noundef %25067)
  %25069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25070 = trunc i8 %25069 to i1
  br i1 %25070, label %25071, label %25093

25071:                                            ; preds = %25064
  %25072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25073 = call i32 @fileno(ptr noundef %25072) #10
  %25074 = call i32 @isatty(i32 noundef %25073) #10
  %25075 = icmp ne i32 %25074, 0
  br i1 %25075, label %25076, label %25093

25076:                                            ; preds = %25071
  %25077 = load i32, ptr %512, align 4, !tbaa !5
  %25078 = call ptr @__errno_location() #11
  store i32 %25077, ptr %25078, align 4, !tbaa !5
  %25079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25080 = load i32, ptr @test_count, align 4, !tbaa !5
  %25081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25082 = load i32, ptr %25081, align 4, !tbaa !5
  %25083 = call ptr @s2n_strerror(i32 noundef %25082, ptr noundef @.str.4)
  %25084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25085 = load i32, ptr %25084, align 4, !tbaa !5
  %25086 = call ptr @s2n_strerror_debug(i32 noundef %25085, ptr noundef @.str.4)
  %25087 = call ptr @__errno_location() #11
  %25088 = load i32, ptr %25087, align 4, !tbaa !5
  %25089 = call ptr @strerror(i32 noundef %25088) #10
  %25090 = call ptr @__errno_location() #11
  %25091 = load i32, ptr %25090, align 4, !tbaa !5
  %25092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25079, ptr noundef @.str.2, i32 noundef %25080, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 1261, ptr noundef %25083, ptr noundef %25086, ptr noundef %25089, i32 noundef %25091) #10
  br label %25110

25093:                                            ; preds = %25071, %25064
  %25094 = load i32, ptr %512, align 4, !tbaa !5
  %25095 = call ptr @__errno_location() #11
  store i32 %25094, ptr %25095, align 4, !tbaa !5
  %25096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25097 = load i32, ptr @test_count, align 4, !tbaa !5
  %25098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25099 = load i32, ptr %25098, align 4, !tbaa !5
  %25100 = call ptr @s2n_strerror(i32 noundef %25099, ptr noundef @.str.4)
  %25101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25102 = load i32, ptr %25101, align 4, !tbaa !5
  %25103 = call ptr @s2n_strerror_debug(i32 noundef %25102, ptr noundef @.str.4)
  %25104 = call ptr @__errno_location() #11
  %25105 = load i32, ptr %25104, align 4, !tbaa !5
  %25106 = call ptr @strerror(i32 noundef %25105) #10
  %25107 = call ptr @__errno_location() #11
  %25108 = load i32, ptr %25107, align 4, !tbaa !5
  %25109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25096, ptr noundef @.str.5, i32 noundef %25097, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 1261, ptr noundef %25100, ptr noundef %25103, ptr noundef %25106, i32 noundef %25108) #10
  br label %25110

25110:                                            ; preds = %25093, %25076
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #10
  br label %25111

25111:                                            ; preds = %25110
  br label %25112

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

25113:                                            ; No predecessors!
  br label %25114

25114:                                            ; preds = %25113
  br label %25115

25115:                                            ; preds = %25114, %25054
  br label %25116

25116:                                            ; preds = %25115
  br label %25117

25117:                                            ; preds = %25116
  br label %25118

25118:                                            ; preds = %25117
  %25119 = load i32, ptr @test_count, align 4, !tbaa !5
  %25120 = add nsw i32 %25119, 1
  store i32 %25120, ptr @test_count, align 4, !tbaa !5
  %25121 = load ptr, ptr %491, align 8, !tbaa !9
  %25122 = getelementptr inbounds %struct.s2n_connection, ptr %25121, i32 0, i32 57
  %25123 = load i8, ptr %25122, align 8, !tbaa !56
  %25124 = zext i8 %25123 to i32
  %25125 = icmp eq i32 %25124, 0
  br i1 %25125, label %25179, label %25126

25126:                                            ; preds = %25118
  br label %25127

25127:                                            ; preds = %25126
  br label %25128

25128:                                            ; preds = %25127
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #10
  %25129 = call ptr @__errno_location() #11
  %25130 = load i32, ptr %25129, align 4, !tbaa !5
  store i32 %25130, ptr %513, align 4, !tbaa !5
  %25131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25132 = call i32 @s2n_print_stacktrace(ptr noundef %25131)
  %25133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25134 = trunc i8 %25133 to i1
  br i1 %25134, label %25135, label %25157

25135:                                            ; preds = %25128
  %25136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25137 = call i32 @fileno(ptr noundef %25136) #10
  %25138 = call i32 @isatty(i32 noundef %25137) #10
  %25139 = icmp ne i32 %25138, 0
  br i1 %25139, label %25140, label %25157

25140:                                            ; preds = %25135
  %25141 = load i32, ptr %513, align 4, !tbaa !5
  %25142 = call ptr @__errno_location() #11
  store i32 %25141, ptr %25142, align 4, !tbaa !5
  %25143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25144 = load i32, ptr @test_count, align 4, !tbaa !5
  %25145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25146 = load i32, ptr %25145, align 4, !tbaa !5
  %25147 = call ptr @s2n_strerror(i32 noundef %25146, ptr noundef @.str.4)
  %25148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25149 = load i32, ptr %25148, align 4, !tbaa !5
  %25150 = call ptr @s2n_strerror_debug(i32 noundef %25149, ptr noundef @.str.4)
  %25151 = call ptr @__errno_location() #11
  %25152 = load i32, ptr %25151, align 4, !tbaa !5
  %25153 = call ptr @strerror(i32 noundef %25152) #10
  %25154 = call ptr @__errno_location() #11
  %25155 = load i32, ptr %25154, align 4, !tbaa !5
  %25156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25143, ptr noundef @.str.2, i32 noundef %25144, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1262, ptr noundef %25147, ptr noundef %25150, ptr noundef %25153, i32 noundef %25155) #10
  br label %25174

25157:                                            ; preds = %25135, %25128
  %25158 = load i32, ptr %513, align 4, !tbaa !5
  %25159 = call ptr @__errno_location() #11
  store i32 %25158, ptr %25159, align 4, !tbaa !5
  %25160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25161 = load i32, ptr @test_count, align 4, !tbaa !5
  %25162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25163 = load i32, ptr %25162, align 4, !tbaa !5
  %25164 = call ptr @s2n_strerror(i32 noundef %25163, ptr noundef @.str.4)
  %25165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25166 = load i32, ptr %25165, align 4, !tbaa !5
  %25167 = call ptr @s2n_strerror_debug(i32 noundef %25166, ptr noundef @.str.4)
  %25168 = call ptr @__errno_location() #11
  %25169 = load i32, ptr %25168, align 4, !tbaa !5
  %25170 = call ptr @strerror(i32 noundef %25169) #10
  %25171 = call ptr @__errno_location() #11
  %25172 = load i32, ptr %25171, align 4, !tbaa !5
  %25173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25160, ptr noundef @.str.5, i32 noundef %25161, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1262, ptr noundef %25164, ptr noundef %25167, ptr noundef %25170, i32 noundef %25172) #10
  br label %25174

25174:                                            ; preds = %25157, %25140
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #10
  br label %25175

25175:                                            ; preds = %25174
  br label %25176

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

25177:                                            ; No predecessors!
  br label %25178

25178:                                            ; preds = %25177
  br label %25179

25179:                                            ; preds = %25178, %25118
  br label %25180

25180:                                            ; preds = %25179
  br label %25181

25181:                                            ; preds = %25180
  br label %25182

25182:                                            ; preds = %25181
  %25183 = load i32, ptr @test_count, align 4, !tbaa !5
  %25184 = add nsw i32 %25183, 1
  store i32 %25184, ptr @test_count, align 4, !tbaa !5
  %25185 = load ptr, ptr %491, align 8, !tbaa !9
  %25186 = load ptr, ptr %490, align 8, !tbaa !9
  %25187 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %25185, ptr noundef %25186)
  %25188 = icmp eq i32 %25187, -1
  br i1 %25188, label %25189, label %25242

25189:                                            ; preds = %25182
  br label %25190

25190:                                            ; preds = %25189
  br label %25191

25191:                                            ; preds = %25190
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #10
  %25192 = call ptr @__errno_location() #11
  %25193 = load i32, ptr %25192, align 4, !tbaa !5
  store i32 %25193, ptr %514, align 4, !tbaa !5
  %25194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25195 = call i32 @s2n_print_stacktrace(ptr noundef %25194)
  %25196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25197 = trunc i8 %25196 to i1
  br i1 %25197, label %25198, label %25220

25198:                                            ; preds = %25191
  %25199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25200 = call i32 @fileno(ptr noundef %25199) #10
  %25201 = call i32 @isatty(i32 noundef %25200) #10
  %25202 = icmp ne i32 %25201, 0
  br i1 %25202, label %25203, label %25220

25203:                                            ; preds = %25198
  %25204 = load i32, ptr %514, align 4, !tbaa !5
  %25205 = call ptr @__errno_location() #11
  store i32 %25204, ptr %25205, align 4, !tbaa !5
  %25206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25207 = load i32, ptr @test_count, align 4, !tbaa !5
  %25208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25209 = load i32, ptr %25208, align 4, !tbaa !5
  %25210 = call ptr @s2n_strerror(i32 noundef %25209, ptr noundef @.str.4)
  %25211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25212 = load i32, ptr %25211, align 4, !tbaa !5
  %25213 = call ptr @s2n_strerror_debug(i32 noundef %25212, ptr noundef @.str.4)
  %25214 = call ptr @__errno_location() #11
  %25215 = load i32, ptr %25214, align 4, !tbaa !5
  %25216 = call ptr @strerror(i32 noundef %25215) #10
  %25217 = call ptr @__errno_location() #11
  %25218 = load i32, ptr %25217, align 4, !tbaa !5
  %25219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25206, ptr noundef @.str.2, i32 noundef %25207, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1264, ptr noundef %25210, ptr noundef %25213, ptr noundef %25216, i32 noundef %25218) #10
  br label %25237

25220:                                            ; preds = %25198, %25191
  %25221 = load i32, ptr %514, align 4, !tbaa !5
  %25222 = call ptr @__errno_location() #11
  store i32 %25221, ptr %25222, align 4, !tbaa !5
  %25223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25224 = load i32, ptr @test_count, align 4, !tbaa !5
  %25225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25226 = load i32, ptr %25225, align 4, !tbaa !5
  %25227 = call ptr @s2n_strerror(i32 noundef %25226, ptr noundef @.str.4)
  %25228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25229 = load i32, ptr %25228, align 4, !tbaa !5
  %25230 = call ptr @s2n_strerror_debug(i32 noundef %25229, ptr noundef @.str.4)
  %25231 = call ptr @__errno_location() #11
  %25232 = load i32, ptr %25231, align 4, !tbaa !5
  %25233 = call ptr @strerror(i32 noundef %25232) #10
  %25234 = call ptr @__errno_location() #11
  %25235 = load i32, ptr %25234, align 4, !tbaa !5
  %25236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25223, ptr noundef @.str.5, i32 noundef %25224, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1264, ptr noundef %25227, ptr noundef %25230, ptr noundef %25233, i32 noundef %25235) #10
  br label %25237

25237:                                            ; preds = %25220, %25203
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #10
  br label %25238

25238:                                            ; preds = %25237
  br label %25239

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

25240:                                            ; No predecessors!
  br label %25241

25241:                                            ; preds = %25240
  br label %25242

25242:                                            ; preds = %25241, %25182
  br label %25243

25243:                                            ; preds = %25242
  br label %25244

25244:                                            ; preds = %25243
  br label %25245

25245:                                            ; preds = %25244
  %25246 = load i32, ptr @test_count, align 4, !tbaa !5
  %25247 = add nsw i32 %25246, 1
  store i32 %25247, ptr @test_count, align 4, !tbaa !5
  %25248 = load ptr, ptr %491, align 8, !tbaa !9
  %25249 = call i32 @s2n_connection_free(ptr noundef %25248)
  %25250 = icmp eq i32 %25249, -1
  br i1 %25250, label %25251, label %25304

25251:                                            ; preds = %25245
  br label %25252

25252:                                            ; preds = %25251
  br label %25253

25253:                                            ; preds = %25252
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #10
  %25254 = call ptr @__errno_location() #11
  %25255 = load i32, ptr %25254, align 4, !tbaa !5
  store i32 %25255, ptr %515, align 4, !tbaa !5
  %25256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25257 = call i32 @s2n_print_stacktrace(ptr noundef %25256)
  %25258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25259 = trunc i8 %25258 to i1
  br i1 %25259, label %25260, label %25282

25260:                                            ; preds = %25253
  %25261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25262 = call i32 @fileno(ptr noundef %25261) #10
  %25263 = call i32 @isatty(i32 noundef %25262) #10
  %25264 = icmp ne i32 %25263, 0
  br i1 %25264, label %25265, label %25282

25265:                                            ; preds = %25260
  %25266 = load i32, ptr %515, align 4, !tbaa !5
  %25267 = call ptr @__errno_location() #11
  store i32 %25266, ptr %25267, align 4, !tbaa !5
  %25268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25269 = load i32, ptr @test_count, align 4, !tbaa !5
  %25270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25271 = load i32, ptr %25270, align 4, !tbaa !5
  %25272 = call ptr @s2n_strerror(i32 noundef %25271, ptr noundef @.str.4)
  %25273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25274 = load i32, ptr %25273, align 4, !tbaa !5
  %25275 = call ptr @s2n_strerror_debug(i32 noundef %25274, ptr noundef @.str.4)
  %25276 = call ptr @__errno_location() #11
  %25277 = load i32, ptr %25276, align 4, !tbaa !5
  %25278 = call ptr @strerror(i32 noundef %25277) #10
  %25279 = call ptr @__errno_location() #11
  %25280 = load i32, ptr %25279, align 4, !tbaa !5
  %25281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25268, ptr noundef @.str.2, i32 noundef %25269, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1266, ptr noundef %25272, ptr noundef %25275, ptr noundef %25278, i32 noundef %25280) #10
  br label %25299

25282:                                            ; preds = %25260, %25253
  %25283 = load i32, ptr %515, align 4, !tbaa !5
  %25284 = call ptr @__errno_location() #11
  store i32 %25283, ptr %25284, align 4, !tbaa !5
  %25285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25286 = load i32, ptr @test_count, align 4, !tbaa !5
  %25287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25288 = load i32, ptr %25287, align 4, !tbaa !5
  %25289 = call ptr @s2n_strerror(i32 noundef %25288, ptr noundef @.str.4)
  %25290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25291 = load i32, ptr %25290, align 4, !tbaa !5
  %25292 = call ptr @s2n_strerror_debug(i32 noundef %25291, ptr noundef @.str.4)
  %25293 = call ptr @__errno_location() #11
  %25294 = load i32, ptr %25293, align 4, !tbaa !5
  %25295 = call ptr @strerror(i32 noundef %25294) #10
  %25296 = call ptr @__errno_location() #11
  %25297 = load i32, ptr %25296, align 4, !tbaa !5
  %25298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25285, ptr noundef @.str.5, i32 noundef %25286, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1266, ptr noundef %25289, ptr noundef %25292, ptr noundef %25295, i32 noundef %25297) #10
  br label %25299

25299:                                            ; preds = %25282, %25265
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #10
  br label %25300

25300:                                            ; preds = %25299
  br label %25301

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

25302:                                            ; No predecessors!
  br label %25303

25303:                                            ; preds = %25302
  br label %25304

25304:                                            ; preds = %25303, %25245
  br label %25305

25305:                                            ; preds = %25304
  br label %25306

25306:                                            ; preds = %25305
  br label %25307

25307:                                            ; preds = %25306
  %25308 = load i32, ptr @test_count, align 4, !tbaa !5
  %25309 = add nsw i32 %25308, 1
  store i32 %25309, ptr @test_count, align 4, !tbaa !5
  %25310 = load ptr, ptr %490, align 8, !tbaa !9
  %25311 = call i32 @s2n_connection_free(ptr noundef %25310)
  %25312 = icmp eq i32 %25311, -1
  br i1 %25312, label %25313, label %25366

25313:                                            ; preds = %25307
  br label %25314

25314:                                            ; preds = %25313
  br label %25315

25315:                                            ; preds = %25314
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #10
  %25316 = call ptr @__errno_location() #11
  %25317 = load i32, ptr %25316, align 4, !tbaa !5
  store i32 %25317, ptr %516, align 4, !tbaa !5
  %25318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25319 = call i32 @s2n_print_stacktrace(ptr noundef %25318)
  %25320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25321 = trunc i8 %25320 to i1
  br i1 %25321, label %25322, label %25344

25322:                                            ; preds = %25315
  %25323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25324 = call i32 @fileno(ptr noundef %25323) #10
  %25325 = call i32 @isatty(i32 noundef %25324) #10
  %25326 = icmp ne i32 %25325, 0
  br i1 %25326, label %25327, label %25344

25327:                                            ; preds = %25322
  %25328 = load i32, ptr %516, align 4, !tbaa !5
  %25329 = call ptr @__errno_location() #11
  store i32 %25328, ptr %25329, align 4, !tbaa !5
  %25330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25331 = load i32, ptr @test_count, align 4, !tbaa !5
  %25332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25333 = load i32, ptr %25332, align 4, !tbaa !5
  %25334 = call ptr @s2n_strerror(i32 noundef %25333, ptr noundef @.str.4)
  %25335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25336 = load i32, ptr %25335, align 4, !tbaa !5
  %25337 = call ptr @s2n_strerror_debug(i32 noundef %25336, ptr noundef @.str.4)
  %25338 = call ptr @__errno_location() #11
  %25339 = load i32, ptr %25338, align 4, !tbaa !5
  %25340 = call ptr @strerror(i32 noundef %25339) #10
  %25341 = call ptr @__errno_location() #11
  %25342 = load i32, ptr %25341, align 4, !tbaa !5
  %25343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25330, ptr noundef @.str.2, i32 noundef %25331, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1267, ptr noundef %25334, ptr noundef %25337, ptr noundef %25340, i32 noundef %25342) #10
  br label %25361

25344:                                            ; preds = %25322, %25315
  %25345 = load i32, ptr %516, align 4, !tbaa !5
  %25346 = call ptr @__errno_location() #11
  store i32 %25345, ptr %25346, align 4, !tbaa !5
  %25347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25348 = load i32, ptr @test_count, align 4, !tbaa !5
  %25349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25350 = load i32, ptr %25349, align 4, !tbaa !5
  %25351 = call ptr @s2n_strerror(i32 noundef %25350, ptr noundef @.str.4)
  %25352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25353 = load i32, ptr %25352, align 4, !tbaa !5
  %25354 = call ptr @s2n_strerror_debug(i32 noundef %25353, ptr noundef @.str.4)
  %25355 = call ptr @__errno_location() #11
  %25356 = load i32, ptr %25355, align 4, !tbaa !5
  %25357 = call ptr @strerror(i32 noundef %25356) #10
  %25358 = call ptr @__errno_location() #11
  %25359 = load i32, ptr %25358, align 4, !tbaa !5
  %25360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25347, ptr noundef @.str.5, i32 noundef %25348, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1267, ptr noundef %25351, ptr noundef %25354, ptr noundef %25357, i32 noundef %25359) #10
  br label %25361

25361:                                            ; preds = %25344, %25327
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #10
  br label %25362

25362:                                            ; preds = %25361
  br label %25363

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

25364:                                            ; No predecessors!
  br label %25365

25365:                                            ; preds = %25364
  br label %25366

25366:                                            ; preds = %25365, %25307
  br label %25367

25367:                                            ; preds = %25366
  br label %25368

25368:                                            ; preds = %25367
  br label %25369

25369:                                            ; preds = %25368
  %25370 = load i32, ptr @test_count, align 4, !tbaa !5
  %25371 = add nsw i32 %25370, 1
  store i32 %25371, ptr @test_count, align 4, !tbaa !5
  %25372 = load ptr, ptr %494, align 8, !tbaa !9
  %25373 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %25372)
  %25374 = icmp eq i32 %25373, -1
  br i1 %25374, label %25375, label %25428

25375:                                            ; preds = %25369
  br label %25376

25376:                                            ; preds = %25375
  br label %25377

25377:                                            ; preds = %25376
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #10
  %25378 = call ptr @__errno_location() #11
  %25379 = load i32, ptr %25378, align 4, !tbaa !5
  store i32 %25379, ptr %517, align 4, !tbaa !5
  %25380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25381 = call i32 @s2n_print_stacktrace(ptr noundef %25380)
  %25382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25383 = trunc i8 %25382 to i1
  br i1 %25383, label %25384, label %25406

25384:                                            ; preds = %25377
  %25385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25386 = call i32 @fileno(ptr noundef %25385) #10
  %25387 = call i32 @isatty(i32 noundef %25386) #10
  %25388 = icmp ne i32 %25387, 0
  br i1 %25388, label %25389, label %25406

25389:                                            ; preds = %25384
  %25390 = load i32, ptr %517, align 4, !tbaa !5
  %25391 = call ptr @__errno_location() #11
  store i32 %25390, ptr %25391, align 4, !tbaa !5
  %25392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25393 = load i32, ptr @test_count, align 4, !tbaa !5
  %25394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25395 = load i32, ptr %25394, align 4, !tbaa !5
  %25396 = call ptr @s2n_strerror(i32 noundef %25395, ptr noundef @.str.4)
  %25397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25398 = load i32, ptr %25397, align 4, !tbaa !5
  %25399 = call ptr @s2n_strerror_debug(i32 noundef %25398, ptr noundef @.str.4)
  %25400 = call ptr @__errno_location() #11
  %25401 = load i32, ptr %25400, align 4, !tbaa !5
  %25402 = call ptr @strerror(i32 noundef %25401) #10
  %25403 = call ptr @__errno_location() #11
  %25404 = load i32, ptr %25403, align 4, !tbaa !5
  %25405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25392, ptr noundef @.str.2, i32 noundef %25393, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1269, ptr noundef %25396, ptr noundef %25399, ptr noundef %25402, i32 noundef %25404) #10
  br label %25423

25406:                                            ; preds = %25384, %25377
  %25407 = load i32, ptr %517, align 4, !tbaa !5
  %25408 = call ptr @__errno_location() #11
  store i32 %25407, ptr %25408, align 4, !tbaa !5
  %25409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25410 = load i32, ptr @test_count, align 4, !tbaa !5
  %25411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25412 = load i32, ptr %25411, align 4, !tbaa !5
  %25413 = call ptr @s2n_strerror(i32 noundef %25412, ptr noundef @.str.4)
  %25414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25415 = load i32, ptr %25414, align 4, !tbaa !5
  %25416 = call ptr @s2n_strerror_debug(i32 noundef %25415, ptr noundef @.str.4)
  %25417 = call ptr @__errno_location() #11
  %25418 = load i32, ptr %25417, align 4, !tbaa !5
  %25419 = call ptr @strerror(i32 noundef %25418) #10
  %25420 = call ptr @__errno_location() #11
  %25421 = load i32, ptr %25420, align 4, !tbaa !5
  %25422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25409, ptr noundef @.str.5, i32 noundef %25410, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1269, ptr noundef %25413, ptr noundef %25416, ptr noundef %25419, i32 noundef %25421) #10
  br label %25423

25423:                                            ; preds = %25406, %25389
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #10
  br label %25424

25424:                                            ; preds = %25423
  br label %25425

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

25426:                                            ; No predecessors!
  br label %25427

25427:                                            ; preds = %25426
  br label %25428

25428:                                            ; preds = %25427, %25369
  br label %25429

25429:                                            ; preds = %25428
  br label %25430

25430:                                            ; preds = %25429
  br label %25431

25431:                                            ; preds = %25430
  %25432 = load i32, ptr @test_count, align 4, !tbaa !5
  %25433 = add nsw i32 %25432, 1
  store i32 %25433, ptr @test_count, align 4, !tbaa !5
  %25434 = load ptr, ptr %492, align 8, !tbaa !9
  %25435 = call i32 @s2n_config_free(ptr noundef %25434)
  %25436 = icmp eq i32 %25435, -1
  br i1 %25436, label %25437, label %25490

25437:                                            ; preds = %25431
  br label %25438

25438:                                            ; preds = %25437
  br label %25439

25439:                                            ; preds = %25438
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #10
  %25440 = call ptr @__errno_location() #11
  %25441 = load i32, ptr %25440, align 4, !tbaa !5
  store i32 %25441, ptr %518, align 4, !tbaa !5
  %25442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25443 = call i32 @s2n_print_stacktrace(ptr noundef %25442)
  %25444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25445 = trunc i8 %25444 to i1
  br i1 %25445, label %25446, label %25468

25446:                                            ; preds = %25439
  %25447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25448 = call i32 @fileno(ptr noundef %25447) #10
  %25449 = call i32 @isatty(i32 noundef %25448) #10
  %25450 = icmp ne i32 %25449, 0
  br i1 %25450, label %25451, label %25468

25451:                                            ; preds = %25446
  %25452 = load i32, ptr %518, align 4, !tbaa !5
  %25453 = call ptr @__errno_location() #11
  store i32 %25452, ptr %25453, align 4, !tbaa !5
  %25454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25455 = load i32, ptr @test_count, align 4, !tbaa !5
  %25456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25457 = load i32, ptr %25456, align 4, !tbaa !5
  %25458 = call ptr @s2n_strerror(i32 noundef %25457, ptr noundef @.str.4)
  %25459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25460 = load i32, ptr %25459, align 4, !tbaa !5
  %25461 = call ptr @s2n_strerror_debug(i32 noundef %25460, ptr noundef @.str.4)
  %25462 = call ptr @__errno_location() #11
  %25463 = load i32, ptr %25462, align 4, !tbaa !5
  %25464 = call ptr @strerror(i32 noundef %25463) #10
  %25465 = call ptr @__errno_location() #11
  %25466 = load i32, ptr %25465, align 4, !tbaa !5
  %25467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25454, ptr noundef @.str.2, i32 noundef %25455, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1271, ptr noundef %25458, ptr noundef %25461, ptr noundef %25464, i32 noundef %25466) #10
  br label %25485

25468:                                            ; preds = %25446, %25439
  %25469 = load i32, ptr %518, align 4, !tbaa !5
  %25470 = call ptr @__errno_location() #11
  store i32 %25469, ptr %25470, align 4, !tbaa !5
  %25471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25472 = load i32, ptr @test_count, align 4, !tbaa !5
  %25473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25474 = load i32, ptr %25473, align 4, !tbaa !5
  %25475 = call ptr @s2n_strerror(i32 noundef %25474, ptr noundef @.str.4)
  %25476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25477 = load i32, ptr %25476, align 4, !tbaa !5
  %25478 = call ptr @s2n_strerror_debug(i32 noundef %25477, ptr noundef @.str.4)
  %25479 = call ptr @__errno_location() #11
  %25480 = load i32, ptr %25479, align 4, !tbaa !5
  %25481 = call ptr @strerror(i32 noundef %25480) #10
  %25482 = call ptr @__errno_location() #11
  %25483 = load i32, ptr %25482, align 4, !tbaa !5
  %25484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25471, ptr noundef @.str.5, i32 noundef %25472, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1271, ptr noundef %25475, ptr noundef %25478, ptr noundef %25481, i32 noundef %25483) #10
  br label %25485

25485:                                            ; preds = %25468, %25451
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #10
  br label %25486

25486:                                            ; preds = %25485
  br label %25487

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

25488:                                            ; No predecessors!
  br label %25489

25489:                                            ; preds = %25488
  br label %25490

25490:                                            ; preds = %25489, %25431
  br label %25491

25491:                                            ; preds = %25490
  br label %25492

25492:                                            ; preds = %25491
  br label %25493

25493:                                            ; preds = %25492
  %25494 = load i32, ptr @test_count, align 4, !tbaa !5
  %25495 = add nsw i32 %25494, 1
  store i32 %25495, ptr @test_count, align 4, !tbaa !5
  %25496 = load ptr, ptr %493, align 8, !tbaa !9
  %25497 = call i32 @s2n_config_free(ptr noundef %25496)
  %25498 = icmp eq i32 %25497, -1
  br i1 %25498, label %25499, label %25552

25499:                                            ; preds = %25493
  br label %25500

25500:                                            ; preds = %25499
  br label %25501

25501:                                            ; preds = %25500
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #10
  %25502 = call ptr @__errno_location() #11
  %25503 = load i32, ptr %25502, align 4, !tbaa !5
  store i32 %25503, ptr %519, align 4, !tbaa !5
  %25504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25505 = call i32 @s2n_print_stacktrace(ptr noundef %25504)
  %25506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25507 = trunc i8 %25506 to i1
  br i1 %25507, label %25508, label %25530

25508:                                            ; preds = %25501
  %25509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25510 = call i32 @fileno(ptr noundef %25509) #10
  %25511 = call i32 @isatty(i32 noundef %25510) #10
  %25512 = icmp ne i32 %25511, 0
  br i1 %25512, label %25513, label %25530

25513:                                            ; preds = %25508
  %25514 = load i32, ptr %519, align 4, !tbaa !5
  %25515 = call ptr @__errno_location() #11
  store i32 %25514, ptr %25515, align 4, !tbaa !5
  %25516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25517 = load i32, ptr @test_count, align 4, !tbaa !5
  %25518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25519 = load i32, ptr %25518, align 4, !tbaa !5
  %25520 = call ptr @s2n_strerror(i32 noundef %25519, ptr noundef @.str.4)
  %25521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25522 = load i32, ptr %25521, align 4, !tbaa !5
  %25523 = call ptr @s2n_strerror_debug(i32 noundef %25522, ptr noundef @.str.4)
  %25524 = call ptr @__errno_location() #11
  %25525 = load i32, ptr %25524, align 4, !tbaa !5
  %25526 = call ptr @strerror(i32 noundef %25525) #10
  %25527 = call ptr @__errno_location() #11
  %25528 = load i32, ptr %25527, align 4, !tbaa !5
  %25529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25516, ptr noundef @.str.2, i32 noundef %25517, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1272, ptr noundef %25520, ptr noundef %25523, ptr noundef %25526, i32 noundef %25528) #10
  br label %25547

25530:                                            ; preds = %25508, %25501
  %25531 = load i32, ptr %519, align 4, !tbaa !5
  %25532 = call ptr @__errno_location() #11
  store i32 %25531, ptr %25532, align 4, !tbaa !5
  %25533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25534 = load i32, ptr @test_count, align 4, !tbaa !5
  %25535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25536 = load i32, ptr %25535, align 4, !tbaa !5
  %25537 = call ptr @s2n_strerror(i32 noundef %25536, ptr noundef @.str.4)
  %25538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25539 = load i32, ptr %25538, align 4, !tbaa !5
  %25540 = call ptr @s2n_strerror_debug(i32 noundef %25539, ptr noundef @.str.4)
  %25541 = call ptr @__errno_location() #11
  %25542 = load i32, ptr %25541, align 4, !tbaa !5
  %25543 = call ptr @strerror(i32 noundef %25542) #10
  %25544 = call ptr @__errno_location() #11
  %25545 = load i32, ptr %25544, align 4, !tbaa !5
  %25546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25533, ptr noundef @.str.5, i32 noundef %25534, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1272, ptr noundef %25537, ptr noundef %25540, ptr noundef %25543, i32 noundef %25545) #10
  br label %25547

25547:                                            ; preds = %25530, %25513
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #10
  br label %25548

25548:                                            ; preds = %25547
  br label %25549

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

25550:                                            ; No predecessors!
  br label %25551

25551:                                            ; preds = %25550
  br label %25552

25552:                                            ; preds = %25551, %25493
  br label %25553

25553:                                            ; preds = %25552
  br label %25554

25554:                                            ; preds = %25553
  call void @llvm.lifetime.end.p0(i64 8, ptr %494) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %493) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %492) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %491) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %490) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %520) #10
  store ptr null, ptr %520, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %521) #10
  store ptr null, ptr %521, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %522) #10
  store ptr null, ptr %522, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %523) #10
  store ptr null, ptr %523, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %524) #10
  store ptr null, ptr %524, align 8, !tbaa !9
  br label %25555

25555:                                            ; preds = %25554
  %25556 = load i32, ptr @test_count, align 4, !tbaa !5
  %25557 = add nsw i32 %25556, 1
  store i32 %25557, ptr @test_count, align 4, !tbaa !5
  %25558 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25558, ptr %520, align 8, !tbaa !9
  %25559 = icmp eq ptr %25558, null
  br i1 %25559, label %25560, label %25613

25560:                                            ; preds = %25555
  br label %25561

25561:                                            ; preds = %25560
  br label %25562

25562:                                            ; preds = %25561
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #10
  %25563 = call ptr @__errno_location() #11
  %25564 = load i32, ptr %25563, align 4, !tbaa !5
  store i32 %25564, ptr %525, align 4, !tbaa !5
  %25565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25566 = call i32 @s2n_print_stacktrace(ptr noundef %25565)
  %25567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25568 = trunc i8 %25567 to i1
  br i1 %25568, label %25569, label %25591

25569:                                            ; preds = %25562
  %25570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25571 = call i32 @fileno(ptr noundef %25570) #10
  %25572 = call i32 @isatty(i32 noundef %25571) #10
  %25573 = icmp ne i32 %25572, 0
  br i1 %25573, label %25574, label %25591

25574:                                            ; preds = %25569
  %25575 = load i32, ptr %525, align 4, !tbaa !5
  %25576 = call ptr @__errno_location() #11
  store i32 %25575, ptr %25576, align 4, !tbaa !5
  %25577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25578 = load i32, ptr @test_count, align 4, !tbaa !5
  %25579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25580 = load i32, ptr %25579, align 4, !tbaa !5
  %25581 = call ptr @s2n_strerror(i32 noundef %25580, ptr noundef @.str.4)
  %25582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25583 = load i32, ptr %25582, align 4, !tbaa !5
  %25584 = call ptr @s2n_strerror_debug(i32 noundef %25583, ptr noundef @.str.4)
  %25585 = call ptr @__errno_location() #11
  %25586 = load i32, ptr %25585, align 4, !tbaa !5
  %25587 = call ptr @strerror(i32 noundef %25586) #10
  %25588 = call ptr @__errno_location() #11
  %25589 = load i32, ptr %25588, align 4, !tbaa !5
  %25590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25577, ptr noundef @.str.2, i32 noundef %25578, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1283, ptr noundef %25581, ptr noundef %25584, ptr noundef %25587, i32 noundef %25589) #10
  br label %25608

25591:                                            ; preds = %25569, %25562
  %25592 = load i32, ptr %525, align 4, !tbaa !5
  %25593 = call ptr @__errno_location() #11
  store i32 %25592, ptr %25593, align 4, !tbaa !5
  %25594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25595 = load i32, ptr @test_count, align 4, !tbaa !5
  %25596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25597 = load i32, ptr %25596, align 4, !tbaa !5
  %25598 = call ptr @s2n_strerror(i32 noundef %25597, ptr noundef @.str.4)
  %25599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25600 = load i32, ptr %25599, align 4, !tbaa !5
  %25601 = call ptr @s2n_strerror_debug(i32 noundef %25600, ptr noundef @.str.4)
  %25602 = call ptr @__errno_location() #11
  %25603 = load i32, ptr %25602, align 4, !tbaa !5
  %25604 = call ptr @strerror(i32 noundef %25603) #10
  %25605 = call ptr @__errno_location() #11
  %25606 = load i32, ptr %25605, align 4, !tbaa !5
  %25607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25594, ptr noundef @.str.5, i32 noundef %25595, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 1283, ptr noundef %25598, ptr noundef %25601, ptr noundef %25604, i32 noundef %25606) #10
  br label %25608

25608:                                            ; preds = %25591, %25574
  call void @llvm.lifetime.end.p0(i64 4, ptr %525) #10
  br label %25609

25609:                                            ; preds = %25608
  br label %25610

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

25611:                                            ; No predecessors!
  br label %25612

25612:                                            ; preds = %25611
  br label %25613

25613:                                            ; preds = %25612, %25555
  br label %25614

25614:                                            ; preds = %25613
  br label %25615

25615:                                            ; preds = %25614
  %25616 = load ptr, ptr %520, align 8, !tbaa !9
  %25617 = getelementptr inbounds %struct.s2n_connection, ptr %25616, i32 0, i32 23
  store i8 33, ptr %25617, align 4, !tbaa !15
  %25618 = load ptr, ptr %520, align 8, !tbaa !9
  %25619 = getelementptr inbounds %struct.s2n_connection, ptr %25618, i32 0, i32 22
  store i8 33, ptr %25619, align 1, !tbaa !42
  %25620 = load ptr, ptr %520, align 8, !tbaa !9
  %25621 = getelementptr inbounds %struct.s2n_connection, ptr %25620, i32 0, i32 21
  store i8 33, ptr %25621, align 2, !tbaa !43
  br label %25622

25622:                                            ; preds = %25615
  %25623 = load i32, ptr @test_count, align 4, !tbaa !5
  %25624 = add nsw i32 %25623, 1
  store i32 %25624, ptr @test_count, align 4, !tbaa !5
  %25625 = call ptr @s2n_config_new()
  store ptr %25625, ptr %523, align 8, !tbaa !9
  %25626 = icmp eq ptr %25625, null
  br i1 %25626, label %25627, label %25680

25627:                                            ; preds = %25622
  br label %25628

25628:                                            ; preds = %25627
  br label %25629

25629:                                            ; preds = %25628
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #10
  %25630 = call ptr @__errno_location() #11
  %25631 = load i32, ptr %25630, align 4, !tbaa !5
  store i32 %25631, ptr %526, align 4, !tbaa !5
  %25632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25633 = call i32 @s2n_print_stacktrace(ptr noundef %25632)
  %25634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25635 = trunc i8 %25634 to i1
  br i1 %25635, label %25636, label %25658

25636:                                            ; preds = %25629
  %25637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25638 = call i32 @fileno(ptr noundef %25637) #10
  %25639 = call i32 @isatty(i32 noundef %25638) #10
  %25640 = icmp ne i32 %25639, 0
  br i1 %25640, label %25641, label %25658

25641:                                            ; preds = %25636
  %25642 = load i32, ptr %526, align 4, !tbaa !5
  %25643 = call ptr @__errno_location() #11
  store i32 %25642, ptr %25643, align 4, !tbaa !5
  %25644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25645 = load i32, ptr @test_count, align 4, !tbaa !5
  %25646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25647 = load i32, ptr %25646, align 4, !tbaa !5
  %25648 = call ptr @s2n_strerror(i32 noundef %25647, ptr noundef @.str.4)
  %25649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25650 = load i32, ptr %25649, align 4, !tbaa !5
  %25651 = call ptr @s2n_strerror_debug(i32 noundef %25650, ptr noundef @.str.4)
  %25652 = call ptr @__errno_location() #11
  %25653 = load i32, ptr %25652, align 4, !tbaa !5
  %25654 = call ptr @strerror(i32 noundef %25653) #10
  %25655 = call ptr @__errno_location() #11
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  %25657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25644, ptr noundef @.str.2, i32 noundef %25645, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1288, ptr noundef %25648, ptr noundef %25651, ptr noundef %25654, i32 noundef %25656) #10
  br label %25675

25658:                                            ; preds = %25636, %25629
  %25659 = load i32, ptr %526, align 4, !tbaa !5
  %25660 = call ptr @__errno_location() #11
  store i32 %25659, ptr %25660, align 4, !tbaa !5
  %25661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25662 = load i32, ptr @test_count, align 4, !tbaa !5
  %25663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25664 = load i32, ptr %25663, align 4, !tbaa !5
  %25665 = call ptr @s2n_strerror(i32 noundef %25664, ptr noundef @.str.4)
  %25666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25667 = load i32, ptr %25666, align 4, !tbaa !5
  %25668 = call ptr @s2n_strerror_debug(i32 noundef %25667, ptr noundef @.str.4)
  %25669 = call ptr @__errno_location() #11
  %25670 = load i32, ptr %25669, align 4, !tbaa !5
  %25671 = call ptr @strerror(i32 noundef %25670) #10
  %25672 = call ptr @__errno_location() #11
  %25673 = load i32, ptr %25672, align 4, !tbaa !5
  %25674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25661, ptr noundef @.str.5, i32 noundef %25662, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 1288, ptr noundef %25665, ptr noundef %25668, ptr noundef %25671, i32 noundef %25673) #10
  br label %25675

25675:                                            ; preds = %25658, %25641
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #10
  br label %25676

25676:                                            ; preds = %25675
  br label %25677

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

25678:                                            ; No predecessors!
  br label %25679

25679:                                            ; preds = %25678
  br label %25680

25680:                                            ; preds = %25679, %25622
  br label %25681

25681:                                            ; preds = %25680
  br label %25682

25682:                                            ; preds = %25681
  br label %25683

25683:                                            ; preds = %25682
  %25684 = load i32, ptr @test_count, align 4, !tbaa !5
  %25685 = add nsw i32 %25684, 1
  store i32 %25685, ptr @test_count, align 4, !tbaa !5
  %25686 = load ptr, ptr %523, align 8, !tbaa !9
  %25687 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef %25686, i8 noundef zeroext 0)
  %25688 = icmp eq i32 %25687, -1
  br i1 %25688, label %25689, label %25742

25689:                                            ; preds = %25683
  br label %25690

25690:                                            ; preds = %25689
  br label %25691

25691:                                            ; preds = %25690
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #10
  %25692 = call ptr @__errno_location() #11
  %25693 = load i32, ptr %25692, align 4, !tbaa !5
  store i32 %25693, ptr %527, align 4, !tbaa !5
  %25694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25695 = call i32 @s2n_print_stacktrace(ptr noundef %25694)
  %25696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25697 = trunc i8 %25696 to i1
  br i1 %25697, label %25698, label %25720

25698:                                            ; preds = %25691
  %25699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25700 = call i32 @fileno(ptr noundef %25699) #10
  %25701 = call i32 @isatty(i32 noundef %25700) #10
  %25702 = icmp ne i32 %25701, 0
  br i1 %25702, label %25703, label %25720

25703:                                            ; preds = %25698
  %25704 = load i32, ptr %527, align 4, !tbaa !5
  %25705 = call ptr @__errno_location() #11
  store i32 %25704, ptr %25705, align 4, !tbaa !5
  %25706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25707 = load i32, ptr @test_count, align 4, !tbaa !5
  %25708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25709 = load i32, ptr %25708, align 4, !tbaa !5
  %25710 = call ptr @s2n_strerror(i32 noundef %25709, ptr noundef @.str.4)
  %25711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25712 = load i32, ptr %25711, align 4, !tbaa !5
  %25713 = call ptr @s2n_strerror_debug(i32 noundef %25712, ptr noundef @.str.4)
  %25714 = call ptr @__errno_location() #11
  %25715 = load i32, ptr %25714, align 4, !tbaa !5
  %25716 = call ptr @strerror(i32 noundef %25715) #10
  %25717 = call ptr @__errno_location() #11
  %25718 = load i32, ptr %25717, align 4, !tbaa !5
  %25719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25706, ptr noundef @.str.2, i32 noundef %25707, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1289, ptr noundef %25710, ptr noundef %25713, ptr noundef %25716, i32 noundef %25718) #10
  br label %25737

25720:                                            ; preds = %25698, %25691
  %25721 = load i32, ptr %527, align 4, !tbaa !5
  %25722 = call ptr @__errno_location() #11
  store i32 %25721, ptr %25722, align 4, !tbaa !5
  %25723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25724 = load i32, ptr @test_count, align 4, !tbaa !5
  %25725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25726 = load i32, ptr %25725, align 4, !tbaa !5
  %25727 = call ptr @s2n_strerror(i32 noundef %25726, ptr noundef @.str.4)
  %25728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25729 = load i32, ptr %25728, align 4, !tbaa !5
  %25730 = call ptr @s2n_strerror_debug(i32 noundef %25729, ptr noundef @.str.4)
  %25731 = call ptr @__errno_location() #11
  %25732 = load i32, ptr %25731, align 4, !tbaa !5
  %25733 = call ptr @strerror(i32 noundef %25732) #10
  %25734 = call ptr @__errno_location() #11
  %25735 = load i32, ptr %25734, align 4, !tbaa !5
  %25736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25723, ptr noundef @.str.5, i32 noundef %25724, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 1289, ptr noundef %25727, ptr noundef %25730, ptr noundef %25733, i32 noundef %25735) #10
  br label %25737

25737:                                            ; preds = %25720, %25703
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #10
  br label %25738

25738:                                            ; preds = %25737
  br label %25739

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

25740:                                            ; No predecessors!
  br label %25741

25741:                                            ; preds = %25740
  br label %25742

25742:                                            ; preds = %25741, %25683
  br label %25743

25743:                                            ; preds = %25742
  br label %25744

25744:                                            ; preds = %25743
  br label %25745

25745:                                            ; preds = %25744
  %25746 = load i32, ptr @test_count, align 4, !tbaa !5
  %25747 = add nsw i32 %25746, 1
  store i32 %25747, ptr @test_count, align 4, !tbaa !5
  %25748 = load ptr, ptr %523, align 8, !tbaa !9
  %25749 = call i32 @s2n_config_disable_x509_verification(ptr noundef %25748)
  %25750 = icmp eq i32 %25749, -1
  br i1 %25750, label %25751, label %25804

25751:                                            ; preds = %25745
  br label %25752

25752:                                            ; preds = %25751
  br label %25753

25753:                                            ; preds = %25752
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #10
  %25754 = call ptr @__errno_location() #11
  %25755 = load i32, ptr %25754, align 4, !tbaa !5
  store i32 %25755, ptr %528, align 4, !tbaa !5
  %25756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25757 = call i32 @s2n_print_stacktrace(ptr noundef %25756)
  %25758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25759 = trunc i8 %25758 to i1
  br i1 %25759, label %25760, label %25782

25760:                                            ; preds = %25753
  %25761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25762 = call i32 @fileno(ptr noundef %25761) #10
  %25763 = call i32 @isatty(i32 noundef %25762) #10
  %25764 = icmp ne i32 %25763, 0
  br i1 %25764, label %25765, label %25782

25765:                                            ; preds = %25760
  %25766 = load i32, ptr %528, align 4, !tbaa !5
  %25767 = call ptr @__errno_location() #11
  store i32 %25766, ptr %25767, align 4, !tbaa !5
  %25768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25769 = load i32, ptr @test_count, align 4, !tbaa !5
  %25770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25771 = load i32, ptr %25770, align 4, !tbaa !5
  %25772 = call ptr @s2n_strerror(i32 noundef %25771, ptr noundef @.str.4)
  %25773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25774 = load i32, ptr %25773, align 4, !tbaa !5
  %25775 = call ptr @s2n_strerror_debug(i32 noundef %25774, ptr noundef @.str.4)
  %25776 = call ptr @__errno_location() #11
  %25777 = load i32, ptr %25776, align 4, !tbaa !5
  %25778 = call ptr @strerror(i32 noundef %25777) #10
  %25779 = call ptr @__errno_location() #11
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  %25781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25768, ptr noundef @.str.2, i32 noundef %25769, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %25772, ptr noundef %25775, ptr noundef %25778, i32 noundef %25780) #10
  br label %25799

25782:                                            ; preds = %25760, %25753
  %25783 = load i32, ptr %528, align 4, !tbaa !5
  %25784 = call ptr @__errno_location() #11
  store i32 %25783, ptr %25784, align 4, !tbaa !5
  %25785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25786 = load i32, ptr @test_count, align 4, !tbaa !5
  %25787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25788 = load i32, ptr %25787, align 4, !tbaa !5
  %25789 = call ptr @s2n_strerror(i32 noundef %25788, ptr noundef @.str.4)
  %25790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25791 = load i32, ptr %25790, align 4, !tbaa !5
  %25792 = call ptr @s2n_strerror_debug(i32 noundef %25791, ptr noundef @.str.4)
  %25793 = call ptr @__errno_location() #11
  %25794 = load i32, ptr %25793, align 4, !tbaa !5
  %25795 = call ptr @strerror(i32 noundef %25794) #10
  %25796 = call ptr @__errno_location() #11
  %25797 = load i32, ptr %25796, align 4, !tbaa !5
  %25798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25785, ptr noundef @.str.5, i32 noundef %25786, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 1290, ptr noundef %25789, ptr noundef %25792, ptr noundef %25795, i32 noundef %25797) #10
  br label %25799

25799:                                            ; preds = %25782, %25765
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #10
  br label %25800

25800:                                            ; preds = %25799
  br label %25801

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

25802:                                            ; No predecessors!
  br label %25803

25803:                                            ; preds = %25802
  br label %25804

25804:                                            ; preds = %25803, %25745
  br label %25805

25805:                                            ; preds = %25804
  br label %25806

25806:                                            ; preds = %25805
  br label %25807

25807:                                            ; preds = %25806
  %25808 = load i32, ptr @test_count, align 4, !tbaa !5
  %25809 = add nsw i32 %25808, 1
  store i32 %25809, ptr @test_count, align 4, !tbaa !5
  %25810 = load ptr, ptr %523, align 8, !tbaa !9
  %25811 = call i32 @s2n_config_send_max_fragment_length(ptr noundef %25810, i32 noundef 3)
  %25812 = icmp eq i32 %25811, -1
  br i1 %25812, label %25813, label %25866

25813:                                            ; preds = %25807
  br label %25814

25814:                                            ; preds = %25813
  br label %25815

25815:                                            ; preds = %25814
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #10
  %25816 = call ptr @__errno_location() #11
  %25817 = load i32, ptr %25816, align 4, !tbaa !5
  store i32 %25817, ptr %529, align 4, !tbaa !5
  %25818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25819 = call i32 @s2n_print_stacktrace(ptr noundef %25818)
  %25820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25821 = trunc i8 %25820 to i1
  br i1 %25821, label %25822, label %25844

25822:                                            ; preds = %25815
  %25823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25824 = call i32 @fileno(ptr noundef %25823) #10
  %25825 = call i32 @isatty(i32 noundef %25824) #10
  %25826 = icmp ne i32 %25825, 0
  br i1 %25826, label %25827, label %25844

25827:                                            ; preds = %25822
  %25828 = load i32, ptr %529, align 4, !tbaa !5
  %25829 = call ptr @__errno_location() #11
  store i32 %25828, ptr %25829, align 4, !tbaa !5
  %25830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25831 = load i32, ptr @test_count, align 4, !tbaa !5
  %25832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25833 = load i32, ptr %25832, align 4, !tbaa !5
  %25834 = call ptr @s2n_strerror(i32 noundef %25833, ptr noundef @.str.4)
  %25835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25836 = load i32, ptr %25835, align 4, !tbaa !5
  %25837 = call ptr @s2n_strerror_debug(i32 noundef %25836, ptr noundef @.str.4)
  %25838 = call ptr @__errno_location() #11
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call ptr @strerror(i32 noundef %25839) #10
  %25841 = call ptr @__errno_location() #11
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25830, ptr noundef @.str.2, i32 noundef %25831, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 1291, ptr noundef %25834, ptr noundef %25837, ptr noundef %25840, i32 noundef %25842) #10
  br label %25861

25844:                                            ; preds = %25822, %25815
  %25845 = load i32, ptr %529, align 4, !tbaa !5
  %25846 = call ptr @__errno_location() #11
  store i32 %25845, ptr %25846, align 4, !tbaa !5
  %25847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25848 = load i32, ptr @test_count, align 4, !tbaa !5
  %25849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25850 = load i32, ptr %25849, align 4, !tbaa !5
  %25851 = call ptr @s2n_strerror(i32 noundef %25850, ptr noundef @.str.4)
  %25852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25853 = load i32, ptr %25852, align 4, !tbaa !5
  %25854 = call ptr @s2n_strerror_debug(i32 noundef %25853, ptr noundef @.str.4)
  %25855 = call ptr @__errno_location() #11
  %25856 = load i32, ptr %25855, align 4, !tbaa !5
  %25857 = call ptr @strerror(i32 noundef %25856) #10
  %25858 = call ptr @__errno_location() #11
  %25859 = load i32, ptr %25858, align 4, !tbaa !5
  %25860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25847, ptr noundef @.str.5, i32 noundef %25848, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 1291, ptr noundef %25851, ptr noundef %25854, ptr noundef %25857, i32 noundef %25859) #10
  br label %25861

25861:                                            ; preds = %25844, %25827
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #10
  br label %25862

25862:                                            ; preds = %25861
  br label %25863

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

25864:                                            ; No predecessors!
  br label %25865

25865:                                            ; preds = %25864
  br label %25866

25866:                                            ; preds = %25865, %25807
  br label %25867

25867:                                            ; preds = %25866
  br label %25868

25868:                                            ; preds = %25867
  br label %25869

25869:                                            ; preds = %25868
  %25870 = load i32, ptr @test_count, align 4, !tbaa !5
  %25871 = add nsw i32 %25870, 1
  store i32 %25871, ptr @test_count, align 4, !tbaa !5
  %25872 = load ptr, ptr %520, align 8, !tbaa !9
  %25873 = load ptr, ptr %523, align 8, !tbaa !9
  %25874 = call i32 @s2n_connection_set_config(ptr noundef %25872, ptr noundef %25873)
  %25875 = icmp eq i32 %25874, -1
  br i1 %25875, label %25876, label %25929

25876:                                            ; preds = %25869
  br label %25877

25877:                                            ; preds = %25876
  br label %25878

25878:                                            ; preds = %25877
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #10
  %25879 = call ptr @__errno_location() #11
  %25880 = load i32, ptr %25879, align 4, !tbaa !5
  store i32 %25880, ptr %530, align 4, !tbaa !5
  %25881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25882 = call i32 @s2n_print_stacktrace(ptr noundef %25881)
  %25883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25884 = trunc i8 %25883 to i1
  br i1 %25884, label %25885, label %25907

25885:                                            ; preds = %25878
  %25886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25887 = call i32 @fileno(ptr noundef %25886) #10
  %25888 = call i32 @isatty(i32 noundef %25887) #10
  %25889 = icmp ne i32 %25888, 0
  br i1 %25889, label %25890, label %25907

25890:                                            ; preds = %25885
  %25891 = load i32, ptr %530, align 4, !tbaa !5
  %25892 = call ptr @__errno_location() #11
  store i32 %25891, ptr %25892, align 4, !tbaa !5
  %25893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25894 = load i32, ptr @test_count, align 4, !tbaa !5
  %25895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25896 = load i32, ptr %25895, align 4, !tbaa !5
  %25897 = call ptr @s2n_strerror(i32 noundef %25896, ptr noundef @.str.4)
  %25898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25899 = load i32, ptr %25898, align 4, !tbaa !5
  %25900 = call ptr @s2n_strerror_debug(i32 noundef %25899, ptr noundef @.str.4)
  %25901 = call ptr @__errno_location() #11
  %25902 = load i32, ptr %25901, align 4, !tbaa !5
  %25903 = call ptr @strerror(i32 noundef %25902) #10
  %25904 = call ptr @__errno_location() #11
  %25905 = load i32, ptr %25904, align 4, !tbaa !5
  %25906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25893, ptr noundef @.str.2, i32 noundef %25894, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1292, ptr noundef %25897, ptr noundef %25900, ptr noundef %25903, i32 noundef %25905) #10
  br label %25924

25907:                                            ; preds = %25885, %25878
  %25908 = load i32, ptr %530, align 4, !tbaa !5
  %25909 = call ptr @__errno_location() #11
  store i32 %25908, ptr %25909, align 4, !tbaa !5
  %25910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25911 = load i32, ptr @test_count, align 4, !tbaa !5
  %25912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25913 = load i32, ptr %25912, align 4, !tbaa !5
  %25914 = call ptr @s2n_strerror(i32 noundef %25913, ptr noundef @.str.4)
  %25915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25916 = load i32, ptr %25915, align 4, !tbaa !5
  %25917 = call ptr @s2n_strerror_debug(i32 noundef %25916, ptr noundef @.str.4)
  %25918 = call ptr @__errno_location() #11
  %25919 = load i32, ptr %25918, align 4, !tbaa !5
  %25920 = call ptr @strerror(i32 noundef %25919) #10
  %25921 = call ptr @__errno_location() #11
  %25922 = load i32, ptr %25921, align 4, !tbaa !5
  %25923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25910, ptr noundef @.str.5, i32 noundef %25911, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 1292, ptr noundef %25914, ptr noundef %25917, ptr noundef %25920, i32 noundef %25922) #10
  br label %25924

25924:                                            ; preds = %25907, %25890
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #10
  br label %25925

25925:                                            ; preds = %25924
  br label %25926

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

25927:                                            ; No predecessors!
  br label %25928

25928:                                            ; preds = %25927
  br label %25929

25929:                                            ; preds = %25928, %25869
  br label %25930

25930:                                            ; preds = %25929
  br label %25931

25931:                                            ; preds = %25930
  br label %25932

25932:                                            ; preds = %25931
  %25933 = load i32, ptr @test_count, align 4, !tbaa !5
  %25934 = add nsw i32 %25933, 1
  store i32 %25934, ptr @test_count, align 4, !tbaa !5
  %25935 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25935, ptr %521, align 8, !tbaa !9
  %25936 = icmp eq ptr %25935, null
  br i1 %25936, label %25937, label %25990

25937:                                            ; preds = %25932
  br label %25938

25938:                                            ; preds = %25937
  br label %25939

25939:                                            ; preds = %25938
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #10
  %25940 = call ptr @__errno_location() #11
  %25941 = load i32, ptr %25940, align 4, !tbaa !5
  store i32 %25941, ptr %531, align 4, !tbaa !5
  %25942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25943 = call i32 @s2n_print_stacktrace(ptr noundef %25942)
  %25944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25945 = trunc i8 %25944 to i1
  br i1 %25945, label %25946, label %25968

25946:                                            ; preds = %25939
  %25947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25948 = call i32 @fileno(ptr noundef %25947) #10
  %25949 = call i32 @isatty(i32 noundef %25948) #10
  %25950 = icmp ne i32 %25949, 0
  br i1 %25950, label %25951, label %25968

25951:                                            ; preds = %25946
  %25952 = load i32, ptr %531, align 4, !tbaa !5
  %25953 = call ptr @__errno_location() #11
  store i32 %25952, ptr %25953, align 4, !tbaa !5
  %25954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25955 = load i32, ptr @test_count, align 4, !tbaa !5
  %25956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25957 = load i32, ptr %25956, align 4, !tbaa !5
  %25958 = call ptr @s2n_strerror(i32 noundef %25957, ptr noundef @.str.4)
  %25959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25960 = load i32, ptr %25959, align 4, !tbaa !5
  %25961 = call ptr @s2n_strerror_debug(i32 noundef %25960, ptr noundef @.str.4)
  %25962 = call ptr @__errno_location() #11
  %25963 = load i32, ptr %25962, align 4, !tbaa !5
  %25964 = call ptr @strerror(i32 noundef %25963) #10
  %25965 = call ptr @__errno_location() #11
  %25966 = load i32, ptr %25965, align 4, !tbaa !5
  %25967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25954, ptr noundef @.str.2, i32 noundef %25955, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1294, ptr noundef %25958, ptr noundef %25961, ptr noundef %25964, i32 noundef %25966) #10
  br label %25985

25968:                                            ; preds = %25946, %25939
  %25969 = load i32, ptr %531, align 4, !tbaa !5
  %25970 = call ptr @__errno_location() #11
  store i32 %25969, ptr %25970, align 4, !tbaa !5
  %25971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25972 = load i32, ptr @test_count, align 4, !tbaa !5
  %25973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25974 = load i32, ptr %25973, align 4, !tbaa !5
  %25975 = call ptr @s2n_strerror(i32 noundef %25974, ptr noundef @.str.4)
  %25976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25977 = load i32, ptr %25976, align 4, !tbaa !5
  %25978 = call ptr @s2n_strerror_debug(i32 noundef %25977, ptr noundef @.str.4)
  %25979 = call ptr @__errno_location() #11
  %25980 = load i32, ptr %25979, align 4, !tbaa !5
  %25981 = call ptr @strerror(i32 noundef %25980) #10
  %25982 = call ptr @__errno_location() #11
  %25983 = load i32, ptr %25982, align 4, !tbaa !5
  %25984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25971, ptr noundef @.str.5, i32 noundef %25972, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 1294, ptr noundef %25975, ptr noundef %25978, ptr noundef %25981, i32 noundef %25983) #10
  br label %25985

25985:                                            ; preds = %25968, %25951
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #10
  br label %25986

25986:                                            ; preds = %25985
  br label %25987

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

25988:                                            ; No predecessors!
  br label %25989

25989:                                            ; preds = %25988
  br label %25990

25990:                                            ; preds = %25989, %25932
  br label %25991

25991:                                            ; preds = %25990
  br label %25992

25992:                                            ; preds = %25991
  %25993 = load ptr, ptr %521, align 8, !tbaa !9
  %25994 = getelementptr inbounds %struct.s2n_connection, ptr %25993, i32 0, i32 23
  store i8 33, ptr %25994, align 4, !tbaa !15
  %25995 = load ptr, ptr %521, align 8, !tbaa !9
  %25996 = getelementptr inbounds %struct.s2n_connection, ptr %25995, i32 0, i32 22
  store i8 33, ptr %25996, align 1, !tbaa !42
  %25997 = load ptr, ptr %521, align 8, !tbaa !9
  %25998 = getelementptr inbounds %struct.s2n_connection, ptr %25997, i32 0, i32 21
  store i8 33, ptr %25998, align 2, !tbaa !43
  br label %25999

25999:                                            ; preds = %25992
  %26000 = load i32, ptr @test_count, align 4, !tbaa !5
  %26001 = add nsw i32 %26000, 1
  store i32 %26001, ptr @test_count, align 4, !tbaa !5
  %26002 = load ptr, ptr %520, align 8, !tbaa !9
  %26003 = load ptr, ptr %521, align 8, !tbaa !9
  %26004 = call i32 @s2n_connections_set_io_pair(ptr noundef %26002, ptr noundef %26003, ptr noundef %15)
  %26005 = icmp eq i32 %26004, -1
  br i1 %26005, label %26006, label %26059

26006:                                            ; preds = %25999
  br label %26007

26007:                                            ; preds = %26006
  br label %26008

26008:                                            ; preds = %26007
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #10
  %26009 = call ptr @__errno_location() #11
  %26010 = load i32, ptr %26009, align 4, !tbaa !5
  store i32 %26010, ptr %532, align 4, !tbaa !5
  %26011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26012 = call i32 @s2n_print_stacktrace(ptr noundef %26011)
  %26013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26014 = trunc i8 %26013 to i1
  br i1 %26014, label %26015, label %26037

26015:                                            ; preds = %26008
  %26016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26017 = call i32 @fileno(ptr noundef %26016) #10
  %26018 = call i32 @isatty(i32 noundef %26017) #10
  %26019 = icmp ne i32 %26018, 0
  br i1 %26019, label %26020, label %26037

26020:                                            ; preds = %26015
  %26021 = load i32, ptr %532, align 4, !tbaa !5
  %26022 = call ptr @__errno_location() #11
  store i32 %26021, ptr %26022, align 4, !tbaa !5
  %26023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26024 = load i32, ptr @test_count, align 4, !tbaa !5
  %26025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26026 = load i32, ptr %26025, align 4, !tbaa !5
  %26027 = call ptr @s2n_strerror(i32 noundef %26026, ptr noundef @.str.4)
  %26028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  %26030 = call ptr @s2n_strerror_debug(i32 noundef %26029, ptr noundef @.str.4)
  %26031 = call ptr @__errno_location() #11
  %26032 = load i32, ptr %26031, align 4, !tbaa !5
  %26033 = call ptr @strerror(i32 noundef %26032) #10
  %26034 = call ptr @__errno_location() #11
  %26035 = load i32, ptr %26034, align 4, !tbaa !5
  %26036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26023, ptr noundef @.str.2, i32 noundef %26024, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1299, ptr noundef %26027, ptr noundef %26030, ptr noundef %26033, i32 noundef %26035) #10
  br label %26054

26037:                                            ; preds = %26015, %26008
  %26038 = load i32, ptr %532, align 4, !tbaa !5
  %26039 = call ptr @__errno_location() #11
  store i32 %26038, ptr %26039, align 4, !tbaa !5
  %26040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26041 = load i32, ptr @test_count, align 4, !tbaa !5
  %26042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26043 = load i32, ptr %26042, align 4, !tbaa !5
  %26044 = call ptr @s2n_strerror(i32 noundef %26043, ptr noundef @.str.4)
  %26045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26046 = load i32, ptr %26045, align 4, !tbaa !5
  %26047 = call ptr @s2n_strerror_debug(i32 noundef %26046, ptr noundef @.str.4)
  %26048 = call ptr @__errno_location() #11
  %26049 = load i32, ptr %26048, align 4, !tbaa !5
  %26050 = call ptr @strerror(i32 noundef %26049) #10
  %26051 = call ptr @__errno_location() #11
  %26052 = load i32, ptr %26051, align 4, !tbaa !5
  %26053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26040, ptr noundef @.str.5, i32 noundef %26041, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 1299, ptr noundef %26044, ptr noundef %26047, ptr noundef %26050, i32 noundef %26052) #10
  br label %26054

26054:                                            ; preds = %26037, %26020
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #10
  br label %26055

26055:                                            ; preds = %26054
  br label %26056

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

26057:                                            ; No predecessors!
  br label %26058

26058:                                            ; preds = %26057
  br label %26059

26059:                                            ; preds = %26058, %25999
  br label %26060

26060:                                            ; preds = %26059
  br label %26061

26061:                                            ; preds = %26060
  br label %26062

26062:                                            ; preds = %26061
  %26063 = load i32, ptr @test_count, align 4, !tbaa !5
  %26064 = add nsw i32 %26063, 1
  store i32 %26064, ptr @test_count, align 4, !tbaa !5
  %26065 = call ptr @s2n_config_new()
  store ptr %26065, ptr %522, align 8, !tbaa !9
  %26066 = icmp eq ptr %26065, null
  br i1 %26066, label %26067, label %26120

26067:                                            ; preds = %26062
  br label %26068

26068:                                            ; preds = %26067
  br label %26069

26069:                                            ; preds = %26068
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #10
  %26070 = call ptr @__errno_location() #11
  %26071 = load i32, ptr %26070, align 4, !tbaa !5
  store i32 %26071, ptr %533, align 4, !tbaa !5
  %26072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26073 = call i32 @s2n_print_stacktrace(ptr noundef %26072)
  %26074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26075 = trunc i8 %26074 to i1
  br i1 %26075, label %26076, label %26098

26076:                                            ; preds = %26069
  %26077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26078 = call i32 @fileno(ptr noundef %26077) #10
  %26079 = call i32 @isatty(i32 noundef %26078) #10
  %26080 = icmp ne i32 %26079, 0
  br i1 %26080, label %26081, label %26098

26081:                                            ; preds = %26076
  %26082 = load i32, ptr %533, align 4, !tbaa !5
  %26083 = call ptr @__errno_location() #11
  store i32 %26082, ptr %26083, align 4, !tbaa !5
  %26084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26085 = load i32, ptr @test_count, align 4, !tbaa !5
  %26086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26087 = load i32, ptr %26086, align 4, !tbaa !5
  %26088 = call ptr @s2n_strerror(i32 noundef %26087, ptr noundef @.str.4)
  %26089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26090 = load i32, ptr %26089, align 4, !tbaa !5
  %26091 = call ptr @s2n_strerror_debug(i32 noundef %26090, ptr noundef @.str.4)
  %26092 = call ptr @__errno_location() #11
  %26093 = load i32, ptr %26092, align 4, !tbaa !5
  %26094 = call ptr @strerror(i32 noundef %26093) #10
  %26095 = call ptr @__errno_location() #11
  %26096 = load i32, ptr %26095, align 4, !tbaa !5
  %26097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26084, ptr noundef @.str.2, i32 noundef %26085, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1301, ptr noundef %26088, ptr noundef %26091, ptr noundef %26094, i32 noundef %26096) #10
  br label %26115

26098:                                            ; preds = %26076, %26069
  %26099 = load i32, ptr %533, align 4, !tbaa !5
  %26100 = call ptr @__errno_location() #11
  store i32 %26099, ptr %26100, align 4, !tbaa !5
  %26101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26102 = load i32, ptr @test_count, align 4, !tbaa !5
  %26103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26104 = load i32, ptr %26103, align 4, !tbaa !5
  %26105 = call ptr @s2n_strerror(i32 noundef %26104, ptr noundef @.str.4)
  %26106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26107 = load i32, ptr %26106, align 4, !tbaa !5
  %26108 = call ptr @s2n_strerror_debug(i32 noundef %26107, ptr noundef @.str.4)
  %26109 = call ptr @__errno_location() #11
  %26110 = load i32, ptr %26109, align 4, !tbaa !5
  %26111 = call ptr @strerror(i32 noundef %26110) #10
  %26112 = call ptr @__errno_location() #11
  %26113 = load i32, ptr %26112, align 4, !tbaa !5
  %26114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26101, ptr noundef @.str.5, i32 noundef %26102, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 1301, ptr noundef %26105, ptr noundef %26108, ptr noundef %26111, i32 noundef %26113) #10
  br label %26115

26115:                                            ; preds = %26098, %26081
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #10
  br label %26116

26116:                                            ; preds = %26115
  br label %26117

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

26118:                                            ; No predecessors!
  br label %26119

26119:                                            ; preds = %26118
  br label %26120

26120:                                            ; preds = %26119, %26062
  br label %26121

26121:                                            ; preds = %26120
  br label %26122

26122:                                            ; preds = %26121
  br label %26123

26123:                                            ; preds = %26122
  %26124 = load i32, ptr @test_count, align 4, !tbaa !5
  %26125 = add nsw i32 %26124, 1
  store i32 %26125, ptr @test_count, align 4, !tbaa !5
  %26126 = call ptr @s2n_cert_chain_and_key_new()
  store ptr %26126, ptr %524, align 8, !tbaa !9
  %26127 = icmp eq ptr %26126, null
  br i1 %26127, label %26128, label %26181

26128:                                            ; preds = %26123
  br label %26129

26129:                                            ; preds = %26128
  br label %26130

26130:                                            ; preds = %26129
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #10
  %26131 = call ptr @__errno_location() #11
  %26132 = load i32, ptr %26131, align 4, !tbaa !5
  store i32 %26132, ptr %534, align 4, !tbaa !5
  %26133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26134 = call i32 @s2n_print_stacktrace(ptr noundef %26133)
  %26135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26136 = trunc i8 %26135 to i1
  br i1 %26136, label %26137, label %26159

26137:                                            ; preds = %26130
  %26138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26139 = call i32 @fileno(ptr noundef %26138) #10
  %26140 = call i32 @isatty(i32 noundef %26139) #10
  %26141 = icmp ne i32 %26140, 0
  br i1 %26141, label %26142, label %26159

26142:                                            ; preds = %26137
  %26143 = load i32, ptr %534, align 4, !tbaa !5
  %26144 = call ptr @__errno_location() #11
  store i32 %26143, ptr %26144, align 4, !tbaa !5
  %26145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26146 = load i32, ptr @test_count, align 4, !tbaa !5
  %26147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26148 = load i32, ptr %26147, align 4, !tbaa !5
  %26149 = call ptr @s2n_strerror(i32 noundef %26148, ptr noundef @.str.4)
  %26150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26151 = load i32, ptr %26150, align 4, !tbaa !5
  %26152 = call ptr @s2n_strerror_debug(i32 noundef %26151, ptr noundef @.str.4)
  %26153 = call ptr @__errno_location() #11
  %26154 = load i32, ptr %26153, align 4, !tbaa !5
  %26155 = call ptr @strerror(i32 noundef %26154) #10
  %26156 = call ptr @__errno_location() #11
  %26157 = load i32, ptr %26156, align 4, !tbaa !5
  %26158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26145, ptr noundef @.str.2, i32 noundef %26146, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1302, ptr noundef %26149, ptr noundef %26152, ptr noundef %26155, i32 noundef %26157) #10
  br label %26176

26159:                                            ; preds = %26137, %26130
  %26160 = load i32, ptr %534, align 4, !tbaa !5
  %26161 = call ptr @__errno_location() #11
  store i32 %26160, ptr %26161, align 4, !tbaa !5
  %26162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26163 = load i32, ptr @test_count, align 4, !tbaa !5
  %26164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26165 = load i32, ptr %26164, align 4, !tbaa !5
  %26166 = call ptr @s2n_strerror(i32 noundef %26165, ptr noundef @.str.4)
  %26167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26168 = load i32, ptr %26167, align 4, !tbaa !5
  %26169 = call ptr @s2n_strerror_debug(i32 noundef %26168, ptr noundef @.str.4)
  %26170 = call ptr @__errno_location() #11
  %26171 = load i32, ptr %26170, align 4, !tbaa !5
  %26172 = call ptr @strerror(i32 noundef %26171) #10
  %26173 = call ptr @__errno_location() #11
  %26174 = load i32, ptr %26173, align 4, !tbaa !5
  %26175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26162, ptr noundef @.str.5, i32 noundef %26163, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 1302, ptr noundef %26166, ptr noundef %26169, ptr noundef %26172, i32 noundef %26174) #10
  br label %26176

26176:                                            ; preds = %26159, %26142
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #10
  br label %26177

26177:                                            ; preds = %26176
  br label %26178

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

26179:                                            ; No predecessors!
  br label %26180

26180:                                            ; preds = %26179
  br label %26181

26181:                                            ; preds = %26180, %26123
  br label %26182

26182:                                            ; preds = %26181
  br label %26183

26183:                                            ; preds = %26182
  br label %26184

26184:                                            ; preds = %26183
  %26185 = load i32, ptr @test_count, align 4, !tbaa !5
  %26186 = add nsw i32 %26185, 1
  store i32 %26186, ptr @test_count, align 4, !tbaa !5
  %26187 = load ptr, ptr %524, align 8, !tbaa !9
  %26188 = load ptr, ptr %6, align 8, !tbaa !9
  %26189 = load ptr, ptr %7, align 8, !tbaa !9
  %26190 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef %26187, ptr noundef %26188, ptr noundef %26189)
  %26191 = icmp eq i32 %26190, -1
  br i1 %26191, label %26192, label %26245

26192:                                            ; preds = %26184
  br label %26193

26193:                                            ; preds = %26192
  br label %26194

26194:                                            ; preds = %26193
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #10
  %26195 = call ptr @__errno_location() #11
  %26196 = load i32, ptr %26195, align 4, !tbaa !5
  store i32 %26196, ptr %535, align 4, !tbaa !5
  %26197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26198 = call i32 @s2n_print_stacktrace(ptr noundef %26197)
  %26199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26200 = trunc i8 %26199 to i1
  br i1 %26200, label %26201, label %26223

26201:                                            ; preds = %26194
  %26202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26203 = call i32 @fileno(ptr noundef %26202) #10
  %26204 = call i32 @isatty(i32 noundef %26203) #10
  %26205 = icmp ne i32 %26204, 0
  br i1 %26205, label %26206, label %26223

26206:                                            ; preds = %26201
  %26207 = load i32, ptr %535, align 4, !tbaa !5
  %26208 = call ptr @__errno_location() #11
  store i32 %26207, ptr %26208, align 4, !tbaa !5
  %26209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26210 = load i32, ptr @test_count, align 4, !tbaa !5
  %26211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26212 = load i32, ptr %26211, align 4, !tbaa !5
  %26213 = call ptr @s2n_strerror(i32 noundef %26212, ptr noundef @.str.4)
  %26214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26215 = load i32, ptr %26214, align 4, !tbaa !5
  %26216 = call ptr @s2n_strerror_debug(i32 noundef %26215, ptr noundef @.str.4)
  %26217 = call ptr @__errno_location() #11
  %26218 = load i32, ptr %26217, align 4, !tbaa !5
  %26219 = call ptr @strerror(i32 noundef %26218) #10
  %26220 = call ptr @__errno_location() #11
  %26221 = load i32, ptr %26220, align 4, !tbaa !5
  %26222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26209, ptr noundef @.str.2, i32 noundef %26210, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1303, ptr noundef %26213, ptr noundef %26216, ptr noundef %26219, i32 noundef %26221) #10
  br label %26240

26223:                                            ; preds = %26201, %26194
  %26224 = load i32, ptr %535, align 4, !tbaa !5
  %26225 = call ptr @__errno_location() #11
  store i32 %26224, ptr %26225, align 4, !tbaa !5
  %26226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26227 = load i32, ptr @test_count, align 4, !tbaa !5
  %26228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26229 = load i32, ptr %26228, align 4, !tbaa !5
  %26230 = call ptr @s2n_strerror(i32 noundef %26229, ptr noundef @.str.4)
  %26231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26232 = load i32, ptr %26231, align 4, !tbaa !5
  %26233 = call ptr @s2n_strerror_debug(i32 noundef %26232, ptr noundef @.str.4)
  %26234 = call ptr @__errno_location() #11
  %26235 = load i32, ptr %26234, align 4, !tbaa !5
  %26236 = call ptr @strerror(i32 noundef %26235) #10
  %26237 = call ptr @__errno_location() #11
  %26238 = load i32, ptr %26237, align 4, !tbaa !5
  %26239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26226, ptr noundef @.str.5, i32 noundef %26227, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 1303, ptr noundef %26230, ptr noundef %26233, ptr noundef %26236, i32 noundef %26238) #10
  br label %26240

26240:                                            ; preds = %26223, %26206
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #10
  br label %26241

26241:                                            ; preds = %26240
  br label %26242

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

26243:                                            ; No predecessors!
  br label %26244

26244:                                            ; preds = %26243
  br label %26245

26245:                                            ; preds = %26244, %26184
  br label %26246

26246:                                            ; preds = %26245
  br label %26247

26247:                                            ; preds = %26246
  br label %26248

26248:                                            ; preds = %26247
  %26249 = load i32, ptr @test_count, align 4, !tbaa !5
  %26250 = add nsw i32 %26249, 1
  store i32 %26250, ptr @test_count, align 4, !tbaa !5
  %26251 = load ptr, ptr %522, align 8, !tbaa !9
  %26252 = load ptr, ptr %524, align 8, !tbaa !9
  %26253 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %26251, ptr noundef %26252)
  %26254 = icmp eq i32 %26253, -1
  br i1 %26254, label %26255, label %26308

26255:                                            ; preds = %26248
  br label %26256

26256:                                            ; preds = %26255
  br label %26257

26257:                                            ; preds = %26256
  call void @llvm.lifetime.start.p0(i64 4, ptr %536) #10
  %26258 = call ptr @__errno_location() #11
  %26259 = load i32, ptr %26258, align 4, !tbaa !5
  store i32 %26259, ptr %536, align 4, !tbaa !5
  %26260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26261 = call i32 @s2n_print_stacktrace(ptr noundef %26260)
  %26262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26263 = trunc i8 %26262 to i1
  br i1 %26263, label %26264, label %26286

26264:                                            ; preds = %26257
  %26265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26266 = call i32 @fileno(ptr noundef %26265) #10
  %26267 = call i32 @isatty(i32 noundef %26266) #10
  %26268 = icmp ne i32 %26267, 0
  br i1 %26268, label %26269, label %26286

26269:                                            ; preds = %26264
  %26270 = load i32, ptr %536, align 4, !tbaa !5
  %26271 = call ptr @__errno_location() #11
  store i32 %26270, ptr %26271, align 4, !tbaa !5
  %26272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26273 = load i32, ptr @test_count, align 4, !tbaa !5
  %26274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26275 = load i32, ptr %26274, align 4, !tbaa !5
  %26276 = call ptr @s2n_strerror(i32 noundef %26275, ptr noundef @.str.4)
  %26277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26278 = load i32, ptr %26277, align 4, !tbaa !5
  %26279 = call ptr @s2n_strerror_debug(i32 noundef %26278, ptr noundef @.str.4)
  %26280 = call ptr @__errno_location() #11
  %26281 = load i32, ptr %26280, align 4, !tbaa !5
  %26282 = call ptr @strerror(i32 noundef %26281) #10
  %26283 = call ptr @__errno_location() #11
  %26284 = load i32, ptr %26283, align 4, !tbaa !5
  %26285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26272, ptr noundef @.str.2, i32 noundef %26273, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1304, ptr noundef %26276, ptr noundef %26279, ptr noundef %26282, i32 noundef %26284) #10
  br label %26303

26286:                                            ; preds = %26264, %26257
  %26287 = load i32, ptr %536, align 4, !tbaa !5
  %26288 = call ptr @__errno_location() #11
  store i32 %26287, ptr %26288, align 4, !tbaa !5
  %26289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26290 = load i32, ptr @test_count, align 4, !tbaa !5
  %26291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26292 = load i32, ptr %26291, align 4, !tbaa !5
  %26293 = call ptr @s2n_strerror(i32 noundef %26292, ptr noundef @.str.4)
  %26294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26295 = load i32, ptr %26294, align 4, !tbaa !5
  %26296 = call ptr @s2n_strerror_debug(i32 noundef %26295, ptr noundef @.str.4)
  %26297 = call ptr @__errno_location() #11
  %26298 = load i32, ptr %26297, align 4, !tbaa !5
  %26299 = call ptr @strerror(i32 noundef %26298) #10
  %26300 = call ptr @__errno_location() #11
  %26301 = load i32, ptr %26300, align 4, !tbaa !5
  %26302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26289, ptr noundef @.str.5, i32 noundef %26290, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 1304, ptr noundef %26293, ptr noundef %26296, ptr noundef %26299, i32 noundef %26301) #10
  br label %26303

26303:                                            ; preds = %26286, %26269
  call void @llvm.lifetime.end.p0(i64 4, ptr %536) #10
  br label %26304

26304:                                            ; preds = %26303
  br label %26305

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

26306:                                            ; No predecessors!
  br label %26307

26307:                                            ; preds = %26306
  br label %26308

26308:                                            ; preds = %26307, %26248
  br label %26309

26309:                                            ; preds = %26308
  br label %26310

26310:                                            ; preds = %26309
  br label %26311

26311:                                            ; preds = %26310
  %26312 = load i32, ptr @test_count, align 4, !tbaa !5
  %26313 = add nsw i32 %26312, 1
  store i32 %26313, ptr @test_count, align 4, !tbaa !5
  %26314 = load ptr, ptr %521, align 8, !tbaa !9
  %26315 = load ptr, ptr %522, align 8, !tbaa !9
  %26316 = call i32 @s2n_connection_set_config(ptr noundef %26314, ptr noundef %26315)
  %26317 = icmp eq i32 %26316, -1
  br i1 %26317, label %26318, label %26371

26318:                                            ; preds = %26311
  br label %26319

26319:                                            ; preds = %26318
  br label %26320

26320:                                            ; preds = %26319
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #10
  %26321 = call ptr @__errno_location() #11
  %26322 = load i32, ptr %26321, align 4, !tbaa !5
  store i32 %26322, ptr %537, align 4, !tbaa !5
  %26323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26324 = call i32 @s2n_print_stacktrace(ptr noundef %26323)
  %26325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26326 = trunc i8 %26325 to i1
  br i1 %26326, label %26327, label %26349

26327:                                            ; preds = %26320
  %26328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26329 = call i32 @fileno(ptr noundef %26328) #10
  %26330 = call i32 @isatty(i32 noundef %26329) #10
  %26331 = icmp ne i32 %26330, 0
  br i1 %26331, label %26332, label %26349

26332:                                            ; preds = %26327
  %26333 = load i32, ptr %537, align 4, !tbaa !5
  %26334 = call ptr @__errno_location() #11
  store i32 %26333, ptr %26334, align 4, !tbaa !5
  %26335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26336 = load i32, ptr @test_count, align 4, !tbaa !5
  %26337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26338 = load i32, ptr %26337, align 4, !tbaa !5
  %26339 = call ptr @s2n_strerror(i32 noundef %26338, ptr noundef @.str.4)
  %26340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26341 = load i32, ptr %26340, align 4, !tbaa !5
  %26342 = call ptr @s2n_strerror_debug(i32 noundef %26341, ptr noundef @.str.4)
  %26343 = call ptr @__errno_location() #11
  %26344 = load i32, ptr %26343, align 4, !tbaa !5
  %26345 = call ptr @strerror(i32 noundef %26344) #10
  %26346 = call ptr @__errno_location() #11
  %26347 = load i32, ptr %26346, align 4, !tbaa !5
  %26348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26335, ptr noundef @.str.2, i32 noundef %26336, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1305, ptr noundef %26339, ptr noundef %26342, ptr noundef %26345, i32 noundef %26347) #10
  br label %26366

26349:                                            ; preds = %26327, %26320
  %26350 = load i32, ptr %537, align 4, !tbaa !5
  %26351 = call ptr @__errno_location() #11
  store i32 %26350, ptr %26351, align 4, !tbaa !5
  %26352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26353 = load i32, ptr @test_count, align 4, !tbaa !5
  %26354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26355 = load i32, ptr %26354, align 4, !tbaa !5
  %26356 = call ptr @s2n_strerror(i32 noundef %26355, ptr noundef @.str.4)
  %26357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26358 = load i32, ptr %26357, align 4, !tbaa !5
  %26359 = call ptr @s2n_strerror_debug(i32 noundef %26358, ptr noundef @.str.4)
  %26360 = call ptr @__errno_location() #11
  %26361 = load i32, ptr %26360, align 4, !tbaa !5
  %26362 = call ptr @strerror(i32 noundef %26361) #10
  %26363 = call ptr @__errno_location() #11
  %26364 = load i32, ptr %26363, align 4, !tbaa !5
  %26365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26352, ptr noundef @.str.5, i32 noundef %26353, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 1305, ptr noundef %26356, ptr noundef %26359, ptr noundef %26362, i32 noundef %26364) #10
  br label %26366

26366:                                            ; preds = %26349, %26332
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #10
  br label %26367

26367:                                            ; preds = %26366
  br label %26368

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

26369:                                            ; No predecessors!
  br label %26370

26370:                                            ; preds = %26369
  br label %26371

26371:                                            ; preds = %26370, %26311
  br label %26372

26372:                                            ; preds = %26371
  br label %26373

26373:                                            ; preds = %26372
  br label %26374

26374:                                            ; preds = %26373
  %26375 = load i32, ptr @test_count, align 4, !tbaa !5
  %26376 = add nsw i32 %26375, 1
  store i32 %26376, ptr @test_count, align 4, !tbaa !5
  %26377 = load ptr, ptr %521, align 8, !tbaa !9
  %26378 = load ptr, ptr %520, align 8, !tbaa !9
  %26379 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %26377, ptr noundef %26378)
  %26380 = icmp eq i32 %26379, -1
  br i1 %26380, label %26381, label %26434

26381:                                            ; preds = %26374
  br label %26382

26382:                                            ; preds = %26381
  br label %26383

26383:                                            ; preds = %26382
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #10
  %26384 = call ptr @__errno_location() #11
  %26385 = load i32, ptr %26384, align 4, !tbaa !5
  store i32 %26385, ptr %538, align 4, !tbaa !5
  %26386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26387 = call i32 @s2n_print_stacktrace(ptr noundef %26386)
  %26388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26389 = trunc i8 %26388 to i1
  br i1 %26389, label %26390, label %26412

26390:                                            ; preds = %26383
  %26391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26392 = call i32 @fileno(ptr noundef %26391) #10
  %26393 = call i32 @isatty(i32 noundef %26392) #10
  %26394 = icmp ne i32 %26393, 0
  br i1 %26394, label %26395, label %26412

26395:                                            ; preds = %26390
  %26396 = load i32, ptr %538, align 4, !tbaa !5
  %26397 = call ptr @__errno_location() #11
  store i32 %26396, ptr %26397, align 4, !tbaa !5
  %26398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26399 = load i32, ptr @test_count, align 4, !tbaa !5
  %26400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26401 = load i32, ptr %26400, align 4, !tbaa !5
  %26402 = call ptr @s2n_strerror(i32 noundef %26401, ptr noundef @.str.4)
  %26403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26404 = load i32, ptr %26403, align 4, !tbaa !5
  %26405 = call ptr @s2n_strerror_debug(i32 noundef %26404, ptr noundef @.str.4)
  %26406 = call ptr @__errno_location() #11
  %26407 = load i32, ptr %26406, align 4, !tbaa !5
  %26408 = call ptr @strerror(i32 noundef %26407) #10
  %26409 = call ptr @__errno_location() #11
  %26410 = load i32, ptr %26409, align 4, !tbaa !5
  %26411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26398, ptr noundef @.str.2, i32 noundef %26399, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1307, ptr noundef %26402, ptr noundef %26405, ptr noundef %26408, i32 noundef %26410) #10
  br label %26429

26412:                                            ; preds = %26390, %26383
  %26413 = load i32, ptr %538, align 4, !tbaa !5
  %26414 = call ptr @__errno_location() #11
  store i32 %26413, ptr %26414, align 4, !tbaa !5
  %26415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26416 = load i32, ptr @test_count, align 4, !tbaa !5
  %26417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26418 = load i32, ptr %26417, align 4, !tbaa !5
  %26419 = call ptr @s2n_strerror(i32 noundef %26418, ptr noundef @.str.4)
  %26420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26421 = load i32, ptr %26420, align 4, !tbaa !5
  %26422 = call ptr @s2n_strerror_debug(i32 noundef %26421, ptr noundef @.str.4)
  %26423 = call ptr @__errno_location() #11
  %26424 = load i32, ptr %26423, align 4, !tbaa !5
  %26425 = call ptr @strerror(i32 noundef %26424) #10
  %26426 = call ptr @__errno_location() #11
  %26427 = load i32, ptr %26426, align 4, !tbaa !5
  %26428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26415, ptr noundef @.str.5, i32 noundef %26416, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 1307, ptr noundef %26419, ptr noundef %26422, ptr noundef %26425, i32 noundef %26427) #10
  br label %26429

26429:                                            ; preds = %26412, %26395
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #10
  br label %26430

26430:                                            ; preds = %26429
  br label %26431

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

26432:                                            ; No predecessors!
  br label %26433

26433:                                            ; preds = %26432
  br label %26434

26434:                                            ; preds = %26433, %26374
  br label %26435

26435:                                            ; preds = %26434
  br label %26436

26436:                                            ; preds = %26435
  br label %26437

26437:                                            ; preds = %26436
  %26438 = load i32, ptr @test_count, align 4, !tbaa !5
  %26439 = add nsw i32 %26438, 1
  store i32 %26439, ptr @test_count, align 4, !tbaa !5
  %26440 = load ptr, ptr %521, align 8, !tbaa !9
  %26441 = getelementptr inbounds %struct.s2n_connection, ptr %26440, i32 0, i32 53
  %26442 = load i16, ptr %26441, align 8, !tbaa !54
  %26443 = zext i16 %26442 to i32
  %26444 = icmp eq i32 %26443, 8087
  br i1 %26444, label %26498, label %26445

26445:                                            ; preds = %26437
  br label %26446

26446:                                            ; preds = %26445
  br label %26447

26447:                                            ; preds = %26446
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #10
  %26448 = call ptr @__errno_location() #11
  %26449 = load i32, ptr %26448, align 4, !tbaa !5
  store i32 %26449, ptr %539, align 4, !tbaa !5
  %26450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26451 = call i32 @s2n_print_stacktrace(ptr noundef %26450)
  %26452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26453 = trunc i8 %26452 to i1
  br i1 %26453, label %26454, label %26476

26454:                                            ; preds = %26447
  %26455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26456 = call i32 @fileno(ptr noundef %26455) #10
  %26457 = call i32 @isatty(i32 noundef %26456) #10
  %26458 = icmp ne i32 %26457, 0
  br i1 %26458, label %26459, label %26476

26459:                                            ; preds = %26454
  %26460 = load i32, ptr %539, align 4, !tbaa !5
  %26461 = call ptr @__errno_location() #11
  store i32 %26460, ptr %26461, align 4, !tbaa !5
  %26462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26463 = load i32, ptr @test_count, align 4, !tbaa !5
  %26464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26465 = load i32, ptr %26464, align 4, !tbaa !5
  %26466 = call ptr @s2n_strerror(i32 noundef %26465, ptr noundef @.str.4)
  %26467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26468 = load i32, ptr %26467, align 4, !tbaa !5
  %26469 = call ptr @s2n_strerror_debug(i32 noundef %26468, ptr noundef @.str.4)
  %26470 = call ptr @__errno_location() #11
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call ptr @strerror(i32 noundef %26471) #10
  %26473 = call ptr @__errno_location() #11
  %26474 = load i32, ptr %26473, align 4, !tbaa !5
  %26475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26462, ptr noundef @.str.2, i32 noundef %26463, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 1310, ptr noundef %26466, ptr noundef %26469, ptr noundef %26472, i32 noundef %26474) #10
  br label %26493

26476:                                            ; preds = %26454, %26447
  %26477 = load i32, ptr %539, align 4, !tbaa !5
  %26478 = call ptr @__errno_location() #11
  store i32 %26477, ptr %26478, align 4, !tbaa !5
  %26479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26480 = load i32, ptr @test_count, align 4, !tbaa !5
  %26481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26482 = load i32, ptr %26481, align 4, !tbaa !5
  %26483 = call ptr @s2n_strerror(i32 noundef %26482, ptr noundef @.str.4)
  %26484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26485 = load i32, ptr %26484, align 4, !tbaa !5
  %26486 = call ptr @s2n_strerror_debug(i32 noundef %26485, ptr noundef @.str.4)
  %26487 = call ptr @__errno_location() #11
  %26488 = load i32, ptr %26487, align 4, !tbaa !5
  %26489 = call ptr @strerror(i32 noundef %26488) #10
  %26490 = call ptr @__errno_location() #11
  %26491 = load i32, ptr %26490, align 4, !tbaa !5
  %26492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26479, ptr noundef @.str.5, i32 noundef %26480, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 1310, ptr noundef %26483, ptr noundef %26486, ptr noundef %26489, i32 noundef %26491) #10
  br label %26493

26493:                                            ; preds = %26476, %26459
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #10
  br label %26494

26494:                                            ; preds = %26493
  br label %26495

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

26496:                                            ; No predecessors!
  br label %26497

26497:                                            ; preds = %26496
  br label %26498

26498:                                            ; preds = %26497, %26437
  br label %26499

26499:                                            ; preds = %26498
  br label %26500

26500:                                            ; preds = %26499
  br label %26501

26501:                                            ; preds = %26500
  %26502 = load i32, ptr @test_count, align 4, !tbaa !5
  %26503 = add nsw i32 %26502, 1
  store i32 %26503, ptr @test_count, align 4, !tbaa !5
  %26504 = load ptr, ptr %521, align 8, !tbaa !9
  %26505 = getelementptr inbounds %struct.s2n_connection, ptr %26504, i32 0, i32 57
  %26506 = load i8, ptr %26505, align 8, !tbaa !56
  %26507 = zext i8 %26506 to i32
  %26508 = icmp eq i32 %26507, 0
  br i1 %26508, label %26562, label %26509

26509:                                            ; preds = %26501
  br label %26510

26510:                                            ; preds = %26509
  br label %26511

26511:                                            ; preds = %26510
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #10
  %26512 = call ptr @__errno_location() #11
  %26513 = load i32, ptr %26512, align 4, !tbaa !5
  store i32 %26513, ptr %540, align 4, !tbaa !5
  %26514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26515 = call i32 @s2n_print_stacktrace(ptr noundef %26514)
  %26516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26517 = trunc i8 %26516 to i1
  br i1 %26517, label %26518, label %26540

26518:                                            ; preds = %26511
  %26519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26520 = call i32 @fileno(ptr noundef %26519) #10
  %26521 = call i32 @isatty(i32 noundef %26520) #10
  %26522 = icmp ne i32 %26521, 0
  br i1 %26522, label %26523, label %26540

26523:                                            ; preds = %26518
  %26524 = load i32, ptr %540, align 4, !tbaa !5
  %26525 = call ptr @__errno_location() #11
  store i32 %26524, ptr %26525, align 4, !tbaa !5
  %26526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26527 = load i32, ptr @test_count, align 4, !tbaa !5
  %26528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26529 = load i32, ptr %26528, align 4, !tbaa !5
  %26530 = call ptr @s2n_strerror(i32 noundef %26529, ptr noundef @.str.4)
  %26531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26532 = load i32, ptr %26531, align 4, !tbaa !5
  %26533 = call ptr @s2n_strerror_debug(i32 noundef %26532, ptr noundef @.str.4)
  %26534 = call ptr @__errno_location() #11
  %26535 = load i32, ptr %26534, align 4, !tbaa !5
  %26536 = call ptr @strerror(i32 noundef %26535) #10
  %26537 = call ptr @__errno_location() #11
  %26538 = load i32, ptr %26537, align 4, !tbaa !5
  %26539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26526, ptr noundef @.str.2, i32 noundef %26527, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1311, ptr noundef %26530, ptr noundef %26533, ptr noundef %26536, i32 noundef %26538) #10
  br label %26557

26540:                                            ; preds = %26518, %26511
  %26541 = load i32, ptr %540, align 4, !tbaa !5
  %26542 = call ptr @__errno_location() #11
  store i32 %26541, ptr %26542, align 4, !tbaa !5
  %26543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26544 = load i32, ptr @test_count, align 4, !tbaa !5
  %26545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26546 = load i32, ptr %26545, align 4, !tbaa !5
  %26547 = call ptr @s2n_strerror(i32 noundef %26546, ptr noundef @.str.4)
  %26548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26549 = load i32, ptr %26548, align 4, !tbaa !5
  %26550 = call ptr @s2n_strerror_debug(i32 noundef %26549, ptr noundef @.str.4)
  %26551 = call ptr @__errno_location() #11
  %26552 = load i32, ptr %26551, align 4, !tbaa !5
  %26553 = call ptr @strerror(i32 noundef %26552) #10
  %26554 = call ptr @__errno_location() #11
  %26555 = load i32, ptr %26554, align 4, !tbaa !5
  %26556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26543, ptr noundef @.str.5, i32 noundef %26544, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 1311, ptr noundef %26547, ptr noundef %26550, ptr noundef %26553, i32 noundef %26555) #10
  br label %26557

26557:                                            ; preds = %26540, %26523
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #10
  br label %26558

26558:                                            ; preds = %26557
  br label %26559

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

26560:                                            ; No predecessors!
  br label %26561

26561:                                            ; preds = %26560
  br label %26562

26562:                                            ; preds = %26561, %26501
  br label %26563

26563:                                            ; preds = %26562
  br label %26564

26564:                                            ; preds = %26563
  br label %26565

26565:                                            ; preds = %26564
  %26566 = load i32, ptr @test_count, align 4, !tbaa !5
  %26567 = add nsw i32 %26566, 1
  store i32 %26567, ptr @test_count, align 4, !tbaa !5
  %26568 = load ptr, ptr %521, align 8, !tbaa !9
  %26569 = load ptr, ptr %520, align 8, !tbaa !9
  %26570 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef %26568, ptr noundef %26569)
  %26571 = icmp eq i32 %26570, -1
  br i1 %26571, label %26572, label %26625

26572:                                            ; preds = %26565
  br label %26573

26573:                                            ; preds = %26572
  br label %26574

26574:                                            ; preds = %26573
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #10
  %26575 = call ptr @__errno_location() #11
  %26576 = load i32, ptr %26575, align 4, !tbaa !5
  store i32 %26576, ptr %541, align 4, !tbaa !5
  %26577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26578 = call i32 @s2n_print_stacktrace(ptr noundef %26577)
  %26579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26580 = trunc i8 %26579 to i1
  br i1 %26580, label %26581, label %26603

26581:                                            ; preds = %26574
  %26582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26583 = call i32 @fileno(ptr noundef %26582) #10
  %26584 = call i32 @isatty(i32 noundef %26583) #10
  %26585 = icmp ne i32 %26584, 0
  br i1 %26585, label %26586, label %26603

26586:                                            ; preds = %26581
  %26587 = load i32, ptr %541, align 4, !tbaa !5
  %26588 = call ptr @__errno_location() #11
  store i32 %26587, ptr %26588, align 4, !tbaa !5
  %26589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26590 = load i32, ptr @test_count, align 4, !tbaa !5
  %26591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26592 = load i32, ptr %26591, align 4, !tbaa !5
  %26593 = call ptr @s2n_strerror(i32 noundef %26592, ptr noundef @.str.4)
  %26594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26595 = load i32, ptr %26594, align 4, !tbaa !5
  %26596 = call ptr @s2n_strerror_debug(i32 noundef %26595, ptr noundef @.str.4)
  %26597 = call ptr @__errno_location() #11
  %26598 = load i32, ptr %26597, align 4, !tbaa !5
  %26599 = call ptr @strerror(i32 noundef %26598) #10
  %26600 = call ptr @__errno_location() #11
  %26601 = load i32, ptr %26600, align 4, !tbaa !5
  %26602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26589, ptr noundef @.str.2, i32 noundef %26590, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1313, ptr noundef %26593, ptr noundef %26596, ptr noundef %26599, i32 noundef %26601) #10
  br label %26620

26603:                                            ; preds = %26581, %26574
  %26604 = load i32, ptr %541, align 4, !tbaa !5
  %26605 = call ptr @__errno_location() #11
  store i32 %26604, ptr %26605, align 4, !tbaa !5
  %26606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26607 = load i32, ptr @test_count, align 4, !tbaa !5
  %26608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26609 = load i32, ptr %26608, align 4, !tbaa !5
  %26610 = call ptr @s2n_strerror(i32 noundef %26609, ptr noundef @.str.4)
  %26611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26612 = load i32, ptr %26611, align 4, !tbaa !5
  %26613 = call ptr @s2n_strerror_debug(i32 noundef %26612, ptr noundef @.str.4)
  %26614 = call ptr @__errno_location() #11
  %26615 = load i32, ptr %26614, align 4, !tbaa !5
  %26616 = call ptr @strerror(i32 noundef %26615) #10
  %26617 = call ptr @__errno_location() #11
  %26618 = load i32, ptr %26617, align 4, !tbaa !5
  %26619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26606, ptr noundef @.str.5, i32 noundef %26607, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 1313, ptr noundef %26610, ptr noundef %26613, ptr noundef %26616, i32 noundef %26618) #10
  br label %26620

26620:                                            ; preds = %26603, %26586
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #10
  br label %26621

26621:                                            ; preds = %26620
  br label %26622

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

26623:                                            ; No predecessors!
  br label %26624

26624:                                            ; preds = %26623
  br label %26625

26625:                                            ; preds = %26624, %26565
  br label %26626

26626:                                            ; preds = %26625
  br label %26627

26627:                                            ; preds = %26626
  br label %26628

26628:                                            ; preds = %26627
  %26629 = load i32, ptr @test_count, align 4, !tbaa !5
  %26630 = add nsw i32 %26629, 1
  store i32 %26630, ptr @test_count, align 4, !tbaa !5
  %26631 = load ptr, ptr %521, align 8, !tbaa !9
  %26632 = call i32 @s2n_connection_free(ptr noundef %26631)
  %26633 = icmp eq i32 %26632, -1
  br i1 %26633, label %26634, label %26687

26634:                                            ; preds = %26628
  br label %26635

26635:                                            ; preds = %26634
  br label %26636

26636:                                            ; preds = %26635
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #10
  %26637 = call ptr @__errno_location() #11
  %26638 = load i32, ptr %26637, align 4, !tbaa !5
  store i32 %26638, ptr %542, align 4, !tbaa !5
  %26639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26640 = call i32 @s2n_print_stacktrace(ptr noundef %26639)
  %26641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26642 = trunc i8 %26641 to i1
  br i1 %26642, label %26643, label %26665

26643:                                            ; preds = %26636
  %26644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26645 = call i32 @fileno(ptr noundef %26644) #10
  %26646 = call i32 @isatty(i32 noundef %26645) #10
  %26647 = icmp ne i32 %26646, 0
  br i1 %26647, label %26648, label %26665

26648:                                            ; preds = %26643
  %26649 = load i32, ptr %542, align 4, !tbaa !5
  %26650 = call ptr @__errno_location() #11
  store i32 %26649, ptr %26650, align 4, !tbaa !5
  %26651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26652 = load i32, ptr @test_count, align 4, !tbaa !5
  %26653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26654 = load i32, ptr %26653, align 4, !tbaa !5
  %26655 = call ptr @s2n_strerror(i32 noundef %26654, ptr noundef @.str.4)
  %26656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26657 = load i32, ptr %26656, align 4, !tbaa !5
  %26658 = call ptr @s2n_strerror_debug(i32 noundef %26657, ptr noundef @.str.4)
  %26659 = call ptr @__errno_location() #11
  %26660 = load i32, ptr %26659, align 4, !tbaa !5
  %26661 = call ptr @strerror(i32 noundef %26660) #10
  %26662 = call ptr @__errno_location() #11
  %26663 = load i32, ptr %26662, align 4, !tbaa !5
  %26664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26651, ptr noundef @.str.2, i32 noundef %26652, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %26655, ptr noundef %26658, ptr noundef %26661, i32 noundef %26663) #10
  br label %26682

26665:                                            ; preds = %26643, %26636
  %26666 = load i32, ptr %542, align 4, !tbaa !5
  %26667 = call ptr @__errno_location() #11
  store i32 %26666, ptr %26667, align 4, !tbaa !5
  %26668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26669 = load i32, ptr @test_count, align 4, !tbaa !5
  %26670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26671 = load i32, ptr %26670, align 4, !tbaa !5
  %26672 = call ptr @s2n_strerror(i32 noundef %26671, ptr noundef @.str.4)
  %26673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26674 = load i32, ptr %26673, align 4, !tbaa !5
  %26675 = call ptr @s2n_strerror_debug(i32 noundef %26674, ptr noundef @.str.4)
  %26676 = call ptr @__errno_location() #11
  %26677 = load i32, ptr %26676, align 4, !tbaa !5
  %26678 = call ptr @strerror(i32 noundef %26677) #10
  %26679 = call ptr @__errno_location() #11
  %26680 = load i32, ptr %26679, align 4, !tbaa !5
  %26681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26668, ptr noundef @.str.5, i32 noundef %26669, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1315, ptr noundef %26672, ptr noundef %26675, ptr noundef %26678, i32 noundef %26680) #10
  br label %26682

26682:                                            ; preds = %26665, %26648
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #10
  br label %26683

26683:                                            ; preds = %26682
  br label %26684

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

26685:                                            ; No predecessors!
  br label %26686

26686:                                            ; preds = %26685
  br label %26687

26687:                                            ; preds = %26686, %26628
  br label %26688

26688:                                            ; preds = %26687
  br label %26689

26689:                                            ; preds = %26688
  br label %26690

26690:                                            ; preds = %26689
  %26691 = load i32, ptr @test_count, align 4, !tbaa !5
  %26692 = add nsw i32 %26691, 1
  store i32 %26692, ptr @test_count, align 4, !tbaa !5
  %26693 = load ptr, ptr %520, align 8, !tbaa !9
  %26694 = call i32 @s2n_connection_free(ptr noundef %26693)
  %26695 = icmp eq i32 %26694, -1
  br i1 %26695, label %26696, label %26749

26696:                                            ; preds = %26690
  br label %26697

26697:                                            ; preds = %26696
  br label %26698

26698:                                            ; preds = %26697
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #10
  %26699 = call ptr @__errno_location() #11
  %26700 = load i32, ptr %26699, align 4, !tbaa !5
  store i32 %26700, ptr %543, align 4, !tbaa !5
  %26701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26702 = call i32 @s2n_print_stacktrace(ptr noundef %26701)
  %26703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26704 = trunc i8 %26703 to i1
  br i1 %26704, label %26705, label %26727

26705:                                            ; preds = %26698
  %26706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26707 = call i32 @fileno(ptr noundef %26706) #10
  %26708 = call i32 @isatty(i32 noundef %26707) #10
  %26709 = icmp ne i32 %26708, 0
  br i1 %26709, label %26710, label %26727

26710:                                            ; preds = %26705
  %26711 = load i32, ptr %543, align 4, !tbaa !5
  %26712 = call ptr @__errno_location() #11
  store i32 %26711, ptr %26712, align 4, !tbaa !5
  %26713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26714 = load i32, ptr @test_count, align 4, !tbaa !5
  %26715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26716 = load i32, ptr %26715, align 4, !tbaa !5
  %26717 = call ptr @s2n_strerror(i32 noundef %26716, ptr noundef @.str.4)
  %26718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26719 = load i32, ptr %26718, align 4, !tbaa !5
  %26720 = call ptr @s2n_strerror_debug(i32 noundef %26719, ptr noundef @.str.4)
  %26721 = call ptr @__errno_location() #11
  %26722 = load i32, ptr %26721, align 4, !tbaa !5
  %26723 = call ptr @strerror(i32 noundef %26722) #10
  %26724 = call ptr @__errno_location() #11
  %26725 = load i32, ptr %26724, align 4, !tbaa !5
  %26726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26713, ptr noundef @.str.2, i32 noundef %26714, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1316, ptr noundef %26717, ptr noundef %26720, ptr noundef %26723, i32 noundef %26725) #10
  br label %26744

26727:                                            ; preds = %26705, %26698
  %26728 = load i32, ptr %543, align 4, !tbaa !5
  %26729 = call ptr @__errno_location() #11
  store i32 %26728, ptr %26729, align 4, !tbaa !5
  %26730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26731 = load i32, ptr @test_count, align 4, !tbaa !5
  %26732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26733 = load i32, ptr %26732, align 4, !tbaa !5
  %26734 = call ptr @s2n_strerror(i32 noundef %26733, ptr noundef @.str.4)
  %26735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26736 = load i32, ptr %26735, align 4, !tbaa !5
  %26737 = call ptr @s2n_strerror_debug(i32 noundef %26736, ptr noundef @.str.4)
  %26738 = call ptr @__errno_location() #11
  %26739 = load i32, ptr %26738, align 4, !tbaa !5
  %26740 = call ptr @strerror(i32 noundef %26739) #10
  %26741 = call ptr @__errno_location() #11
  %26742 = load i32, ptr %26741, align 4, !tbaa !5
  %26743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26730, ptr noundef @.str.5, i32 noundef %26731, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1316, ptr noundef %26734, ptr noundef %26737, ptr noundef %26740, i32 noundef %26742) #10
  br label %26744

26744:                                            ; preds = %26727, %26710
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #10
  br label %26745

26745:                                            ; preds = %26744
  br label %26746

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

26747:                                            ; No predecessors!
  br label %26748

26748:                                            ; preds = %26747
  br label %26749

26749:                                            ; preds = %26748, %26690
  br label %26750

26750:                                            ; preds = %26749
  br label %26751

26751:                                            ; preds = %26750
  br label %26752

26752:                                            ; preds = %26751
  %26753 = load i32, ptr @test_count, align 4, !tbaa !5
  %26754 = add nsw i32 %26753, 1
  store i32 %26754, ptr @test_count, align 4, !tbaa !5
  %26755 = load ptr, ptr %524, align 8, !tbaa !9
  %26756 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %26755)
  %26757 = icmp eq i32 %26756, -1
  br i1 %26757, label %26758, label %26811

26758:                                            ; preds = %26752
  br label %26759

26759:                                            ; preds = %26758
  br label %26760

26760:                                            ; preds = %26759
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #10
  %26761 = call ptr @__errno_location() #11
  %26762 = load i32, ptr %26761, align 4, !tbaa !5
  store i32 %26762, ptr %544, align 4, !tbaa !5
  %26763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26764 = call i32 @s2n_print_stacktrace(ptr noundef %26763)
  %26765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26766 = trunc i8 %26765 to i1
  br i1 %26766, label %26767, label %26789

26767:                                            ; preds = %26760
  %26768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26769 = call i32 @fileno(ptr noundef %26768) #10
  %26770 = call i32 @isatty(i32 noundef %26769) #10
  %26771 = icmp ne i32 %26770, 0
  br i1 %26771, label %26772, label %26789

26772:                                            ; preds = %26767
  %26773 = load i32, ptr %544, align 4, !tbaa !5
  %26774 = call ptr @__errno_location() #11
  store i32 %26773, ptr %26774, align 4, !tbaa !5
  %26775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26776 = load i32, ptr @test_count, align 4, !tbaa !5
  %26777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26778 = load i32, ptr %26777, align 4, !tbaa !5
  %26779 = call ptr @s2n_strerror(i32 noundef %26778, ptr noundef @.str.4)
  %26780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26781 = load i32, ptr %26780, align 4, !tbaa !5
  %26782 = call ptr @s2n_strerror_debug(i32 noundef %26781, ptr noundef @.str.4)
  %26783 = call ptr @__errno_location() #11
  %26784 = load i32, ptr %26783, align 4, !tbaa !5
  %26785 = call ptr @strerror(i32 noundef %26784) #10
  %26786 = call ptr @__errno_location() #11
  %26787 = load i32, ptr %26786, align 4, !tbaa !5
  %26788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26775, ptr noundef @.str.2, i32 noundef %26776, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1318, ptr noundef %26779, ptr noundef %26782, ptr noundef %26785, i32 noundef %26787) #10
  br label %26806

26789:                                            ; preds = %26767, %26760
  %26790 = load i32, ptr %544, align 4, !tbaa !5
  %26791 = call ptr @__errno_location() #11
  store i32 %26790, ptr %26791, align 4, !tbaa !5
  %26792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26793 = load i32, ptr @test_count, align 4, !tbaa !5
  %26794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26795 = load i32, ptr %26794, align 4, !tbaa !5
  %26796 = call ptr @s2n_strerror(i32 noundef %26795, ptr noundef @.str.4)
  %26797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26798 = load i32, ptr %26797, align 4, !tbaa !5
  %26799 = call ptr @s2n_strerror_debug(i32 noundef %26798, ptr noundef @.str.4)
  %26800 = call ptr @__errno_location() #11
  %26801 = load i32, ptr %26800, align 4, !tbaa !5
  %26802 = call ptr @strerror(i32 noundef %26801) #10
  %26803 = call ptr @__errno_location() #11
  %26804 = load i32, ptr %26803, align 4, !tbaa !5
  %26805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26792, ptr noundef @.str.5, i32 noundef %26793, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 1318, ptr noundef %26796, ptr noundef %26799, ptr noundef %26802, i32 noundef %26804) #10
  br label %26806

26806:                                            ; preds = %26789, %26772
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #10
  br label %26807

26807:                                            ; preds = %26806
  br label %26808

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

26809:                                            ; No predecessors!
  br label %26810

26810:                                            ; preds = %26809
  br label %26811

26811:                                            ; preds = %26810, %26752
  br label %26812

26812:                                            ; preds = %26811
  br label %26813

26813:                                            ; preds = %26812
  br label %26814

26814:                                            ; preds = %26813
  %26815 = load i32, ptr @test_count, align 4, !tbaa !5
  %26816 = add nsw i32 %26815, 1
  store i32 %26816, ptr @test_count, align 4, !tbaa !5
  %26817 = load ptr, ptr %522, align 8, !tbaa !9
  %26818 = call i32 @s2n_config_free(ptr noundef %26817)
  %26819 = icmp eq i32 %26818, -1
  br i1 %26819, label %26820, label %26873

26820:                                            ; preds = %26814
  br label %26821

26821:                                            ; preds = %26820
  br label %26822

26822:                                            ; preds = %26821
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #10
  %26823 = call ptr @__errno_location() #11
  %26824 = load i32, ptr %26823, align 4, !tbaa !5
  store i32 %26824, ptr %545, align 4, !tbaa !5
  %26825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26826 = call i32 @s2n_print_stacktrace(ptr noundef %26825)
  %26827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26828 = trunc i8 %26827 to i1
  br i1 %26828, label %26829, label %26851

26829:                                            ; preds = %26822
  %26830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26831 = call i32 @fileno(ptr noundef %26830) #10
  %26832 = call i32 @isatty(i32 noundef %26831) #10
  %26833 = icmp ne i32 %26832, 0
  br i1 %26833, label %26834, label %26851

26834:                                            ; preds = %26829
  %26835 = load i32, ptr %545, align 4, !tbaa !5
  %26836 = call ptr @__errno_location() #11
  store i32 %26835, ptr %26836, align 4, !tbaa !5
  %26837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26838 = load i32, ptr @test_count, align 4, !tbaa !5
  %26839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26840 = load i32, ptr %26839, align 4, !tbaa !5
  %26841 = call ptr @s2n_strerror(i32 noundef %26840, ptr noundef @.str.4)
  %26842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26843 = load i32, ptr %26842, align 4, !tbaa !5
  %26844 = call ptr @s2n_strerror_debug(i32 noundef %26843, ptr noundef @.str.4)
  %26845 = call ptr @__errno_location() #11
  %26846 = load i32, ptr %26845, align 4, !tbaa !5
  %26847 = call ptr @strerror(i32 noundef %26846) #10
  %26848 = call ptr @__errno_location() #11
  %26849 = load i32, ptr %26848, align 4, !tbaa !5
  %26850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26837, ptr noundef @.str.2, i32 noundef %26838, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1320, ptr noundef %26841, ptr noundef %26844, ptr noundef %26847, i32 noundef %26849) #10
  br label %26868

26851:                                            ; preds = %26829, %26822
  %26852 = load i32, ptr %545, align 4, !tbaa !5
  %26853 = call ptr @__errno_location() #11
  store i32 %26852, ptr %26853, align 4, !tbaa !5
  %26854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26855 = load i32, ptr @test_count, align 4, !tbaa !5
  %26856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26857 = load i32, ptr %26856, align 4, !tbaa !5
  %26858 = call ptr @s2n_strerror(i32 noundef %26857, ptr noundef @.str.4)
  %26859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26860 = load i32, ptr %26859, align 4, !tbaa !5
  %26861 = call ptr @s2n_strerror_debug(i32 noundef %26860, ptr noundef @.str.4)
  %26862 = call ptr @__errno_location() #11
  %26863 = load i32, ptr %26862, align 4, !tbaa !5
  %26864 = call ptr @strerror(i32 noundef %26863) #10
  %26865 = call ptr @__errno_location() #11
  %26866 = load i32, ptr %26865, align 4, !tbaa !5
  %26867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26854, ptr noundef @.str.5, i32 noundef %26855, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 1320, ptr noundef %26858, ptr noundef %26861, ptr noundef %26864, i32 noundef %26866) #10
  br label %26868

26868:                                            ; preds = %26851, %26834
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #10
  br label %26869

26869:                                            ; preds = %26868
  br label %26870

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

26871:                                            ; No predecessors!
  br label %26872

26872:                                            ; preds = %26871
  br label %26873

26873:                                            ; preds = %26872, %26814
  br label %26874

26874:                                            ; preds = %26873
  br label %26875

26875:                                            ; preds = %26874
  br label %26876

26876:                                            ; preds = %26875
  %26877 = load i32, ptr @test_count, align 4, !tbaa !5
  %26878 = add nsw i32 %26877, 1
  store i32 %26878, ptr @test_count, align 4, !tbaa !5
  %26879 = load ptr, ptr %523, align 8, !tbaa !9
  %26880 = call i32 @s2n_config_free(ptr noundef %26879)
  %26881 = icmp eq i32 %26880, -1
  br i1 %26881, label %26882, label %26935

26882:                                            ; preds = %26876
  br label %26883

26883:                                            ; preds = %26882
  br label %26884

26884:                                            ; preds = %26883
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #10
  %26885 = call ptr @__errno_location() #11
  %26886 = load i32, ptr %26885, align 4, !tbaa !5
  store i32 %26886, ptr %546, align 4, !tbaa !5
  %26887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26888 = call i32 @s2n_print_stacktrace(ptr noundef %26887)
  %26889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26890 = trunc i8 %26889 to i1
  br i1 %26890, label %26891, label %26913

26891:                                            ; preds = %26884
  %26892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26893 = call i32 @fileno(ptr noundef %26892) #10
  %26894 = call i32 @isatty(i32 noundef %26893) #10
  %26895 = icmp ne i32 %26894, 0
  br i1 %26895, label %26896, label %26913

26896:                                            ; preds = %26891
  %26897 = load i32, ptr %546, align 4, !tbaa !5
  %26898 = call ptr @__errno_location() #11
  store i32 %26897, ptr %26898, align 4, !tbaa !5
  %26899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26900 = load i32, ptr @test_count, align 4, !tbaa !5
  %26901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26902 = load i32, ptr %26901, align 4, !tbaa !5
  %26903 = call ptr @s2n_strerror(i32 noundef %26902, ptr noundef @.str.4)
  %26904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26905 = load i32, ptr %26904, align 4, !tbaa !5
  %26906 = call ptr @s2n_strerror_debug(i32 noundef %26905, ptr noundef @.str.4)
  %26907 = call ptr @__errno_location() #11
  %26908 = load i32, ptr %26907, align 4, !tbaa !5
  %26909 = call ptr @strerror(i32 noundef %26908) #10
  %26910 = call ptr @__errno_location() #11
  %26911 = load i32, ptr %26910, align 4, !tbaa !5
  %26912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26899, ptr noundef @.str.2, i32 noundef %26900, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1321, ptr noundef %26903, ptr noundef %26906, ptr noundef %26909, i32 noundef %26911) #10
  br label %26930

26913:                                            ; preds = %26891, %26884
  %26914 = load i32, ptr %546, align 4, !tbaa !5
  %26915 = call ptr @__errno_location() #11
  store i32 %26914, ptr %26915, align 4, !tbaa !5
  %26916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26917 = load i32, ptr @test_count, align 4, !tbaa !5
  %26918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26919 = load i32, ptr %26918, align 4, !tbaa !5
  %26920 = call ptr @s2n_strerror(i32 noundef %26919, ptr noundef @.str.4)
  %26921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26922 = load i32, ptr %26921, align 4, !tbaa !5
  %26923 = call ptr @s2n_strerror_debug(i32 noundef %26922, ptr noundef @.str.4)
  %26924 = call ptr @__errno_location() #11
  %26925 = load i32, ptr %26924, align 4, !tbaa !5
  %26926 = call ptr @strerror(i32 noundef %26925) #10
  %26927 = call ptr @__errno_location() #11
  %26928 = load i32, ptr %26927, align 4, !tbaa !5
  %26929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26916, ptr noundef @.str.5, i32 noundef %26917, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1321, ptr noundef %26920, ptr noundef %26923, ptr noundef %26926, i32 noundef %26928) #10
  br label %26930

26930:                                            ; preds = %26913, %26896
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #10
  br label %26931

26931:                                            ; preds = %26930
  br label %26932

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

26933:                                            ; No predecessors!
  br label %26934

26934:                                            ; preds = %26933
  br label %26935

26935:                                            ; preds = %26934, %26876
  br label %26936

26936:                                            ; preds = %26935
  br label %26937

26937:                                            ; preds = %26936
  call void @llvm.lifetime.end.p0(i64 8, ptr %524) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %523) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %522) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %521) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %520) #10
  br label %26938

26938:                                            ; preds = %26937
  %26939 = load i32, ptr @test_count, align 4, !tbaa !5
  %26940 = add nsw i32 %26939, 1
  store i32 %26940, ptr @test_count, align 4, !tbaa !5
  %26941 = call i32 @s2n_io_pair_close(ptr noundef %15)
  %26942 = icmp eq i32 %26941, -1
  br i1 %26942, label %26943, label %26996

26943:                                            ; preds = %26938
  br label %26944

26944:                                            ; preds = %26943
  br label %26945

26945:                                            ; preds = %26944
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #10
  %26946 = call ptr @__errno_location() #11
  %26947 = load i32, ptr %26946, align 4, !tbaa !5
  store i32 %26947, ptr %547, align 4, !tbaa !5
  %26948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26949 = call i32 @s2n_print_stacktrace(ptr noundef %26948)
  %26950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26951 = trunc i8 %26950 to i1
  br i1 %26951, label %26952, label %26974

26952:                                            ; preds = %26945
  %26953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26954 = call i32 @fileno(ptr noundef %26953) #10
  %26955 = call i32 @isatty(i32 noundef %26954) #10
  %26956 = icmp ne i32 %26955, 0
  br i1 %26956, label %26957, label %26974

26957:                                            ; preds = %26952
  %26958 = load i32, ptr %547, align 4, !tbaa !5
  %26959 = call ptr @__errno_location() #11
  store i32 %26958, ptr %26959, align 4, !tbaa !5
  %26960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26961 = load i32, ptr @test_count, align 4, !tbaa !5
  %26962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26963 = load i32, ptr %26962, align 4, !tbaa !5
  %26964 = call ptr @s2n_strerror(i32 noundef %26963, ptr noundef @.str.4)
  %26965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26966 = load i32, ptr %26965, align 4, !tbaa !5
  %26967 = call ptr @s2n_strerror_debug(i32 noundef %26966, ptr noundef @.str.4)
  %26968 = call ptr @__errno_location() #11
  %26969 = load i32, ptr %26968, align 4, !tbaa !5
  %26970 = call ptr @strerror(i32 noundef %26969) #10
  %26971 = call ptr @__errno_location() #11
  %26972 = load i32, ptr %26971, align 4, !tbaa !5
  %26973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26960, ptr noundef @.str.2, i32 noundef %26961, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 1324, ptr noundef %26964, ptr noundef %26967, ptr noundef %26970, i32 noundef %26972) #10
  br label %26991

26974:                                            ; preds = %26952, %26945
  %26975 = load i32, ptr %547, align 4, !tbaa !5
  %26976 = call ptr @__errno_location() #11
  store i32 %26975, ptr %26976, align 4, !tbaa !5
  %26977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26978 = load i32, ptr @test_count, align 4, !tbaa !5
  %26979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26980 = load i32, ptr %26979, align 4, !tbaa !5
  %26981 = call ptr @s2n_strerror(i32 noundef %26980, ptr noundef @.str.4)
  %26982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26983 = load i32, ptr %26982, align 4, !tbaa !5
  %26984 = call ptr @s2n_strerror_debug(i32 noundef %26983, ptr noundef @.str.4)
  %26985 = call ptr @__errno_location() #11
  %26986 = load i32, ptr %26985, align 4, !tbaa !5
  %26987 = call ptr @strerror(i32 noundef %26986) #10
  %26988 = call ptr @__errno_location() #11
  %26989 = load i32, ptr %26988, align 4, !tbaa !5
  %26990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26977, ptr noundef @.str.5, i32 noundef %26978, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 1324, ptr noundef %26981, ptr noundef %26984, ptr noundef %26987, i32 noundef %26989) #10
  br label %26991

26991:                                            ; preds = %26974, %26957
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #10
  br label %26992

26992:                                            ; preds = %26991
  br label %26993

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

26994:                                            ; No predecessors!
  br label %26995

26995:                                            ; preds = %26994
  br label %26996

26996:                                            ; preds = %26995, %26938
  br label %26997

26997:                                            ; preds = %26996
  br label %26998

26998:                                            ; preds = %26997
  %26999 = load ptr, ptr %6, align 8, !tbaa !9
  call void @free(ptr noundef %26999) #10
  %27000 = load ptr, ptr %7, align 8, !tbaa !9
  call void @free(ptr noundef %27000) #10
  br label %27001

27001:                                            ; preds = %26998
  br label %27002

27002:                                            ; preds = %27001
  %27003 = call i32 @s2n_cleanup()
  %27004 = icmp eq i32 %27003, -1
  br i1 %27004, label %27005, label %27058

27005:                                            ; preds = %27002
  br label %27006

27006:                                            ; preds = %27005
  br label %27007

27007:                                            ; preds = %27006
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #10
  %27008 = call ptr @__errno_location() #11
  %27009 = load i32, ptr %27008, align 4, !tbaa !5
  store i32 %27009, ptr %548, align 4, !tbaa !5
  %27010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27011 = call i32 @s2n_print_stacktrace(ptr noundef %27010)
  %27012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27013 = trunc i8 %27012 to i1
  br i1 %27013, label %27014, label %27036

27014:                                            ; preds = %27007
  %27015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27016 = call i32 @fileno(ptr noundef %27015) #10
  %27017 = call i32 @isatty(i32 noundef %27016) #10
  %27018 = icmp ne i32 %27017, 0
  br i1 %27018, label %27019, label %27036

27019:                                            ; preds = %27014
  %27020 = load i32, ptr %548, align 4, !tbaa !5
  %27021 = call ptr @__errno_location() #11
  store i32 %27020, ptr %27021, align 4, !tbaa !5
  %27022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27023 = load i32, ptr @test_count, align 4, !tbaa !5
  %27024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27025 = load i32, ptr %27024, align 4, !tbaa !5
  %27026 = call ptr @s2n_strerror(i32 noundef %27025, ptr noundef @.str.4)
  %27027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27028 = load i32, ptr %27027, align 4, !tbaa !5
  %27029 = call ptr @s2n_strerror_debug(i32 noundef %27028, ptr noundef @.str.4)
  %27030 = call ptr @__errno_location() #11
  %27031 = load i32, ptr %27030, align 4, !tbaa !5
  %27032 = call ptr @strerror(i32 noundef %27031) #10
  %27033 = call ptr @__errno_location() #11
  %27034 = load i32, ptr %27033, align 4, !tbaa !5
  %27035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27022, ptr noundef @.str.2, i32 noundef %27023, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 1327, ptr noundef %27026, ptr noundef %27029, ptr noundef %27032, i32 noundef %27034) #10
  br label %27053

27036:                                            ; preds = %27014, %27007
  %27037 = load i32, ptr %548, align 4, !tbaa !5
  %27038 = call ptr @__errno_location() #11
  store i32 %27037, ptr %27038, align 4, !tbaa !5
  %27039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27040 = load i32, ptr @test_count, align 4, !tbaa !5
  %27041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27042 = load i32, ptr %27041, align 4, !tbaa !5
  %27043 = call ptr @s2n_strerror(i32 noundef %27042, ptr noundef @.str.4)
  %27044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27045 = load i32, ptr %27044, align 4, !tbaa !5
  %27046 = call ptr @s2n_strerror_debug(i32 noundef %27045, ptr noundef @.str.4)
  %27047 = call ptr @__errno_location() #11
  %27048 = load i32, ptr %27047, align 4, !tbaa !5
  %27049 = call ptr @strerror(i32 noundef %27048) #10
  %27050 = call ptr @__errno_location() #11
  %27051 = load i32, ptr %27050, align 4, !tbaa !5
  %27052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27039, ptr noundef @.str.5, i32 noundef %27040, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 1327, ptr noundef %27043, ptr noundef %27046, ptr noundef %27049, i32 noundef %27051) #10
  br label %27053

27053:                                            ; preds = %27036, %27019
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #10
  br label %27054

27054:                                            ; preds = %27053
  br label %27055

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

27056:                                            ; No predecessors!
  br label %27057

27057:                                            ; preds = %27056
  br label %27058

27058:                                            ; preds = %27057, %27002
  br label %27059

27059:                                            ; preds = %27058
  br label %27060

27060:                                            ; preds = %27059
  br label %27061

27061:                                            ; preds = %27060
  br label %27062

27062:                                            ; preds = %27061
  %27063 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %27064 = icmp eq i32 %27063, -1
  br i1 %27064, label %27065, label %27118

27065:                                            ; preds = %27062
  br label %27066

27066:                                            ; preds = %27065
  br label %27067

27067:                                            ; preds = %27066
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #10
  %27068 = call ptr @__errno_location() #11
  %27069 = load i32, ptr %27068, align 4, !tbaa !5
  store i32 %27069, ptr %549, align 4, !tbaa !5
  %27070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27071 = call i32 @s2n_print_stacktrace(ptr noundef %27070)
  %27072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27073 = trunc i8 %27072 to i1
  br i1 %27073, label %27074, label %27096

27074:                                            ; preds = %27067
  %27075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27076 = call i32 @fileno(ptr noundef %27075) #10
  %27077 = call i32 @isatty(i32 noundef %27076) #10
  %27078 = icmp ne i32 %27077, 0
  br i1 %27078, label %27079, label %27096

27079:                                            ; preds = %27074
  %27080 = load i32, ptr %549, align 4, !tbaa !5
  %27081 = call ptr @__errno_location() #11
  store i32 %27080, ptr %27081, align 4, !tbaa !5
  %27082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27083 = load i32, ptr @test_count, align 4, !tbaa !5
  %27084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27085 = load i32, ptr %27084, align 4, !tbaa !5
  %27086 = call ptr @s2n_strerror(i32 noundef %27085, ptr noundef @.str.4)
  %27087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27088 = load i32, ptr %27087, align 4, !tbaa !5
  %27089 = call ptr @s2n_strerror_debug(i32 noundef %27088, ptr noundef @.str.4)
  %27090 = call ptr @__errno_location() #11
  %27091 = load i32, ptr %27090, align 4, !tbaa !5
  %27092 = call ptr @strerror(i32 noundef %27091) #10
  %27093 = call ptr @__errno_location() #11
  %27094 = load i32, ptr %27093, align 4, !tbaa !5
  %27095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27082, ptr noundef @.str.2, i32 noundef %27083, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 1327, ptr noundef %27086, ptr noundef %27089, ptr noundef %27092, i32 noundef %27094) #10
  br label %27113

27096:                                            ; preds = %27074, %27067
  %27097 = load i32, ptr %549, align 4, !tbaa !5
  %27098 = call ptr @__errno_location() #11
  store i32 %27097, ptr %27098, align 4, !tbaa !5
  %27099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27100 = load i32, ptr @test_count, align 4, !tbaa !5
  %27101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27102 = load i32, ptr %27101, align 4, !tbaa !5
  %27103 = call ptr @s2n_strerror(i32 noundef %27102, ptr noundef @.str.4)
  %27104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27105 = load i32, ptr %27104, align 4, !tbaa !5
  %27106 = call ptr @s2n_strerror_debug(i32 noundef %27105, ptr noundef @.str.4)
  %27107 = call ptr @__errno_location() #11
  %27108 = load i32, ptr %27107, align 4, !tbaa !5
  %27109 = call ptr @strerror(i32 noundef %27108) #10
  %27110 = call ptr @__errno_location() #11
  %27111 = load i32, ptr %27110, align 4, !tbaa !5
  %27112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27099, ptr noundef @.str.5, i32 noundef %27100, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 1327, ptr noundef %27103, ptr noundef %27106, ptr noundef %27109, i32 noundef %27111) #10
  br label %27113

27113:                                            ; preds = %27096, %27079
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #10
  br label %27114

27114:                                            ; preds = %27113
  br label %27115

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

27116:                                            ; No predecessors!
  br label %27117

27117:                                            ; preds = %27116
  br label %27118

27118:                                            ; preds = %27117, %27062
  br label %27119

27119:                                            ; preds = %27118
  br label %27120

27120:                                            ; preds = %27119
  %27121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27122 = trunc i8 %27121 to i1
  br i1 %27122, label %27123, label %27139

27123:                                            ; preds = %27120
  %27124 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27125 = call i32 @fileno(ptr noundef %27124) #10
  %27126 = call i32 @isatty(i32 noundef %27125) #10
  %27127 = icmp ne i32 %27126, 0
  br i1 %27127, label %27128, label %27139

27128:                                            ; preds = %27123
  %27129 = load i32, ptr @test_count, align 4, !tbaa !5
  %27130 = icmp ne i32 %27129, 0
  br i1 %27130, label %27131, label %27135

27131:                                            ; preds = %27128
  %27132 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27133 = load i32, ptr @test_count, align 4, !tbaa !5
  %27134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27132, ptr noundef @.str.112, i32 noundef %27133) #10
  br label %27138

27135:                                            ; preds = %27128
  %27136 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27136, ptr noundef @.str.113) #10
  br label %27138

27138:                                            ; preds = %27135, %27131
  br label %27150

27139:                                            ; preds = %27123, %27120
  %27140 = load i32, ptr @test_count, align 4, !tbaa !5
  %27141 = icmp ne i32 %27140, 0
  br i1 %27141, label %27142, label %27146

27142:                                            ; preds = %27139
  %27143 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27144 = load i32, ptr @test_count, align 4, !tbaa !5
  %27145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27143, ptr noundef @.str.114, i32 noundef %27144) #10
  br label %27149

27146:                                            ; preds = %27139
  %27147 = load ptr, ptr @stdout, align 8, !tbaa !9
  %27148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27147, ptr noundef @.str.115) #10
  br label %27149

27149:                                            ; preds = %27146, %27142
  br label %27150

27150:                                            ; preds = %27149, %27138
  store i32 0, ptr %3, align 4
  store i32 1, ptr %550, align 4
  br label %27155

27151:                                            ; No predecessors!
  br label %27152

27152:                                            ; preds = %27151
  br label %27153

27153:                                            ; preds = %27152
  br label %27154

27154:                                            ; preds = %27153
  store i32 0, ptr %550, align 4
  br label %27155

27155:                                            ; preds = %27154, %27150
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  %27156 = load i32, ptr %550, align 4
  switch i32 %27156, label %27159 [
    i32 0, label %27157
    i32 1, label %27157
  ]

27157:                                            ; preds = %27155, %27155
  %27158 = load i32, ptr %3, align 4
  ret i32 %27158

27159:                                            ; preds = %27155
  unreachable
}

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

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

declare i32 @fflush(ptr noundef) #3

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #3

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

declare i32 @s2n_print_stacktrace(ptr noundef) #3

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #3

declare i32 @s2n_init() #3

declare i32 @s2n_disable_tls13_in_test(...) #3

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

; Function Attrs: nounwind
declare i32 @setenv(ptr noundef, ptr noundef, i32 noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #3

declare ptr @s2n_config_new() #3

declare i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef, i8 noundef zeroext) #3

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #3

declare ptr @s2n_connection_new(i32 noundef) #3

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

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) #3

declare ptr @s2n_cert_chain_and_key_new() #3

declare i32 @s2n_cert_chain_and_key_load_pem(ptr noundef, ptr noundef, ptr noundef) #3

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

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

declare ptr @s2n_get_server_name(ptr noundef) #3

declare i32 @s2n_shutdown_test_server_and_client(ptr noundef, ptr noundef) #3

declare i32 @s2n_connection_free(ptr noundef) #3

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #3

declare i32 @s2n_config_free(ptr noundef) #3

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) #3

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

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

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

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

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

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

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

declare i64 @write(i32 noundef, ptr noundef, i64 noundef) #3

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) #3

declare i32 @s2n_conn_get_current_message_type(ptr noundef) #3

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) #3

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

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

declare i32 @s2n_config_add_cert_chain_and_key(ptr noundef, ptr noundef, ptr noundef) #3

declare i32 @s2n_config_set_extension_data(ptr noundef, i32 noundef, ptr noundef, i32 noundef) #3

declare i32 @s2n_connection_is_ocsp_stapled(ptr noundef) #3

declare ptr @s2n_connection_get_ocsp_response(ptr noundef, ptr noundef) #3

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() #3

declare void @s2n_debug_info_reset() #3

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) #3

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

declare i32 @s2n_enable_tls13_in_test(...) #3

declare ptr @s2n_connection_get_sct_list(ptr noundef, ptr noundef) #3

declare i32 @s2n_config_set_ct_support_level(ptr noundef, i32 noundef) #3

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 noundef) #3

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) #3

declare i32 @s2n_connection_prefer_throughput(ptr noundef) #3

declare i32 @s2n_io_pair_close(ptr noundef) #3

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

declare i32 @s2n_cleanup() #3

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

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

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


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

%struct.s2n_test_io_pair = type { i32, i32 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [85 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [128 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [4 x i8], align 1
@__const.main.client_extensions = external hidden unnamed_addr constant [16 x i8], align 16
@.str.49 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [165 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [165 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [163 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@__const.main.client_extensions.63 = external hidden unnamed_addr constant [32 x i8], align 16
@.str.64 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [58 x i8], align 1
@__const.main.client_extensions.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.client_extensions.69 = external hidden unnamed_addr constant [37 x i8], align 16
@.str.70 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [102 x i8], align 1
@server_ocsp_status_bytes = external hidden global [1609 x i8], align 16
@.str.73 = external hidden unnamed_addr constant [162 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [102 x i8], align 1
@sct_list = external hidden global [5 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [141 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [74 x i8], align 1
@mfl_code_to_length = external local_unnamed_addr global [5 x i16], align 2
@.str.103 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

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

48:                                               ; preds = %44, %37
  br label %49

49:                                               ; preds = %44, %48
  %.str.5.sink = phi ptr [ @.str.5, %48 ], [ @.str.2, %44 ]
  store i32 %39, ptr %38, align 4, !tbaa !5
  %50 = load ptr, ptr @stderr, align 8, !tbaa !9
  %51 = load i32, ptr @test_count, align 4, !tbaa !5
  %52 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %53 = load i32, ptr %52, align 4, !tbaa !5
  %54 = tail call ptr @s2n_strerror(i32 noundef %53, ptr noundef nonnull @.str.4) #13
  %55 = load i32, ptr %52, align 4, !tbaa !5
  %56 = tail call ptr @s2n_strerror_debug(i32 noundef %55, ptr noundef nonnull @.str.4) #13
  %57 = load i32, ptr %38, align 4, !tbaa !5
  %58 = tail call ptr @strerror(i32 noundef %57) #13
  %59 = load i32, ptr %38, align 4, !tbaa !5
  %60 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %50, ptr noundef nonnull %.str.5.sink, i32 noundef %51, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %54, ptr noundef %56, ptr noundef %58, i32 noundef %59) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

61:                                               ; preds = %2
  %62 = load i32, ptr @test_count, align 4, !tbaa !5
  %63 = add nsw i32 %62, 1
  store i32 %63, ptr @test_count, align 4, !tbaa !5
  %64 = tail call i32 @s2n_enable_atexit() #13
  %65 = icmp eq i32 %64, -1
  br i1 %65, label %66, label %90

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

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

77:                                               ; preds = %73, %66
  br label %78

78:                                               ; preds = %73, %77
  %.str.5.sink1929 = phi ptr [ @.str.5, %77 ], [ @.str.2, %73 ]
  store i32 %68, ptr %67, align 4, !tbaa !5
  %79 = load ptr, ptr @stderr, align 8, !tbaa !9
  %80 = load i32, ptr @test_count, align 4, !tbaa !5
  %81 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %82 = load i32, ptr %81, align 4, !tbaa !5
  %83 = tail call ptr @s2n_strerror(i32 noundef %82, ptr noundef nonnull @.str.4) #13
  %84 = load i32, ptr %81, align 4, !tbaa !5
  %85 = tail call ptr @s2n_strerror_debug(i32 noundef %84, ptr noundef nonnull @.str.4) #13
  %86 = load i32, ptr %67, align 4, !tbaa !5
  %87 = tail call ptr @strerror(i32 noundef %86) #13
  %88 = load i32, ptr %67, align 4, !tbaa !5
  %89 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %79, ptr noundef nonnull %.str.5.sink1929, i32 noundef %80, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %83, ptr noundef %85, ptr noundef %87, i32 noundef %88) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

90:                                               ; preds = %61
  %91 = tail call i32 @s2n_init() #13
  %92 = icmp eq i32 %91, -1
  br i1 %92, label %93, label %117

93:                                               ; preds = %90
  %94 = tail call ptr @__errno_location() #14
  %95 = load i32, ptr %94, align 4, !tbaa !5
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = tail call i32 @s2n_print_stacktrace(ptr noundef %96) #13
  %98 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %99 = trunc nuw i8 %98 to i1
  br i1 %99, label %100, label %104

100:                                              ; preds = %93
  %101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %102 = tail call i32 @fileno(ptr noundef %101) #13
  %103 = tail call i32 @isatty(i32 noundef %102) #13
  %.not1902 = icmp eq i32 %103, 0
  br i1 %.not1902, label %104, label %105

104:                                              ; preds = %100, %93
  br label %105

105:                                              ; preds = %100, %104
  %.str.5.sink1940 = phi ptr [ @.str.5, %104 ], [ @.str.2, %100 ]
  store i32 %95, ptr %94, align 4, !tbaa !5
  %106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %107 = load i32, ptr @test_count, align 4, !tbaa !5
  %108 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %109 = load i32, ptr %108, align 4, !tbaa !5
  %110 = tail call ptr @s2n_strerror(i32 noundef %109, ptr noundef nonnull @.str.4) #13
  %111 = load i32, ptr %108, align 4, !tbaa !5
  %112 = tail call ptr @s2n_strerror_debug(i32 noundef %111, ptr noundef nonnull @.str.4) #13
  %113 = load i32, ptr %94, align 4, !tbaa !5
  %114 = tail call ptr @strerror(i32 noundef %113) #13
  %115 = load i32, ptr %94, align 4, !tbaa !5
  %116 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %106, ptr noundef nonnull %.str.5.sink1940, i32 noundef %107, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %110, ptr noundef %112, ptr noundef %114, i32 noundef %115) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

117:                                              ; preds = %90
  %118 = load i32, ptr @test_count, align 4, !tbaa !5
  %119 = add nsw i32 %118, 1
  store i32 %119, ptr @test_count, align 4, !tbaa !5
  %120 = tail call i32 (...) @s2n_disable_tls13_in_test() #13
  %121 = icmp eq i32 %120, -1
  br i1 %121, label %122, label %146

122:                                              ; preds = %117
  %123 = tail call ptr @__errno_location() #14
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = tail call i32 @s2n_print_stacktrace(ptr noundef %125) #13
  %127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %133

129:                                              ; preds = %122
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = tail call i32 @fileno(ptr noundef %130) #13
  %132 = tail call i32 @isatty(i32 noundef %131) #13
  %.not1901 = icmp eq i32 %132, 0
  br i1 %.not1901, label %133, label %134

133:                                              ; preds = %129, %122
  br label %134

134:                                              ; preds = %129, %133
  %.str.5.sink1951 = phi ptr [ @.str.5, %133 ], [ @.str.2, %129 ]
  store i32 %124, ptr %123, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = tail call ptr @s2n_strerror(i32 noundef %138, ptr noundef nonnull @.str.4) #13
  %140 = load i32, ptr %137, align 4, !tbaa !5
  %141 = tail call ptr @s2n_strerror_debug(i32 noundef %140, ptr noundef nonnull @.str.4) #13
  %142 = load i32, ptr %123, align 4, !tbaa !5
  %143 = tail call ptr @strerror(i32 noundef %142) #13
  %144 = load i32, ptr %123, align 4, !tbaa !5
  %145 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef nonnull %.str.5.sink1951, i32 noundef %136, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %139, ptr noundef %141, ptr noundef %143, i32 noundef %144) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

146:                                              ; preds = %117
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = add nsw i32 %147, 1
  store i32 %148, ptr @test_count, align 4, !tbaa !5
  %149 = tail call noalias dereferenceable_or_null(12000) ptr @malloc(i64 noundef 12000) #17
  %150 = icmp eq ptr %149, null
  br i1 %150, label %151, label %175

151:                                              ; preds = %146
  %152 = tail call ptr @__errno_location() #14
  %153 = load i32, ptr %152, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = tail call i32 @s2n_print_stacktrace(ptr noundef %154) #13
  %156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %158, label %162

158:                                              ; preds = %151
  %159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %160 = tail call i32 @fileno(ptr noundef %159) #13
  %161 = tail call i32 @isatty(i32 noundef %160) #13
  %.not1900 = icmp eq i32 %161, 0
  br i1 %.not1900, label %162, label %163

162:                                              ; preds = %158, %151
  br label %163

163:                                              ; preds = %158, %162
  %.str.5.sink1962 = phi ptr [ @.str.5, %162 ], [ @.str.2, %158 ]
  store i32 %153, ptr %152, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = tail call ptr @s2n_strerror(i32 noundef %167, ptr noundef nonnull @.str.4) #13
  %169 = load i32, ptr %166, align 4, !tbaa !5
  %170 = tail call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef nonnull @.str.4) #13
  %171 = load i32, ptr %152, align 4, !tbaa !5
  %172 = tail call ptr @strerror(i32 noundef %171) #13
  %173 = load i32, ptr %152, align 4, !tbaa !5
  %174 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %164, ptr noundef nonnull %.str.5.sink1962, i32 noundef %165, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %168, ptr noundef %170, ptr noundef %172, i32 noundef %173) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

175:                                              ; preds = %146
  %176 = add nsw i32 %147, 2
  store i32 %176, ptr @test_count, align 4, !tbaa !5
  %177 = tail call noalias dereferenceable_or_null(12000) ptr @malloc(i64 noundef 12000) #17
  %178 = icmp eq ptr %177, null
  br i1 %178, label %179, label %203

179:                                              ; preds = %175
  %180 = tail call ptr @__errno_location() #14
  %181 = load i32, ptr %180, align 4, !tbaa !5
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = tail call i32 @s2n_print_stacktrace(ptr noundef %182) #13
  %184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %185 = trunc nuw i8 %184 to i1
  br i1 %185, label %186, label %190

186:                                              ; preds = %179
  %187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %188 = tail call i32 @fileno(ptr noundef %187) #13
  %189 = tail call i32 @isatty(i32 noundef %188) #13
  %.not1899 = icmp eq i32 %189, 0
  br i1 %.not1899, label %190, label %191

190:                                              ; preds = %186, %179
  br label %191

191:                                              ; preds = %186, %190
  %.str.5.sink1973 = phi ptr [ @.str.5, %190 ], [ @.str.2, %186 ]
  store i32 %181, ptr %180, align 4, !tbaa !5
  %192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = tail call ptr @s2n_strerror(i32 noundef %195, ptr noundef nonnull @.str.4) #13
  %197 = load i32, ptr %194, align 4, !tbaa !5
  %198 = tail call ptr @s2n_strerror_debug(i32 noundef %197, ptr noundef nonnull @.str.4) #13
  %199 = load i32, ptr %180, align 4, !tbaa !5
  %200 = tail call ptr @strerror(i32 noundef %199) #13
  %201 = load i32, ptr %180, align 4, !tbaa !5
  %202 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %192, ptr noundef nonnull %.str.5.sink1973, i32 noundef %193, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %196, ptr noundef %198, ptr noundef %200, i32 noundef %201) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

203:                                              ; preds = %175
  %204 = add nsw i32 %147, 3
  store i32 %204, ptr @test_count, align 4, !tbaa !5
  %205 = tail call i32 @setenv(ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.12, i32 noundef 0) #13
  %206 = icmp eq i32 %205, -1
  br i1 %206, label %207, label %231

207:                                              ; preds = %203
  %208 = tail call ptr @__errno_location() #14
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = tail call i32 @s2n_print_stacktrace(ptr noundef %210) #13
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc nuw i8 %212 to i1
  br i1 %213, label %214, label %218

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = tail call i32 @fileno(ptr noundef %215) #13
  %217 = tail call i32 @isatty(i32 noundef %216) #13
  %.not1898 = icmp eq i32 %217, 0
  br i1 %.not1898, label %218, label %219

218:                                              ; preds = %214, %207
  br label %219

219:                                              ; preds = %214, %218
  %.str.5.sink1984 = phi ptr [ @.str.5, %218 ], [ @.str.2, %214 ]
  store i32 %209, ptr %208, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = load i32, ptr @test_count, align 4, !tbaa !5
  %222 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = tail call ptr @s2n_strerror(i32 noundef %223, ptr noundef nonnull @.str.4) #13
  %225 = load i32, ptr %222, align 4, !tbaa !5
  %226 = tail call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.4) #13
  %227 = load i32, ptr %208, align 4, !tbaa !5
  %228 = tail call ptr @strerror(i32 noundef %227) #13
  %229 = load i32, ptr %208, align 4, !tbaa !5
  %230 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull %.str.5.sink1984, i32 noundef %221, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %224, ptr noundef %226, ptr noundef %228, i32 noundef %229) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

231:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #13
  %232 = load i32, ptr @test_count, align 4, !tbaa !5
  %233 = add nsw i32 %232, 1
  store i32 %233, ptr @test_count, align 4, !tbaa !5
  %234 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %3) #13
  %235 = icmp eq i32 %234, -1
  br i1 %235, label %236, label %260

236:                                              ; preds = %231
  %237 = tail call ptr @__errno_location() #14
  %238 = load i32, ptr %237, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = call i32 @s2n_print_stacktrace(ptr noundef %239) #13
  %241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %243, label %247

243:                                              ; preds = %236
  %244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %245 = call i32 @fileno(ptr noundef %244) #13
  %246 = call i32 @isatty(i32 noundef %245) #13
  %.not1897 = icmp eq i32 %246, 0
  br i1 %.not1897, label %247, label %248

247:                                              ; preds = %243, %236
  br label %248

248:                                              ; preds = %243, %247
  %.str.5.sink1995 = phi ptr [ @.str.5, %247 ], [ @.str.2, %243 ]
  store i32 %238, ptr %237, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %252 = load i32, ptr %251, align 4, !tbaa !5
  %253 = call ptr @s2n_strerror(i32 noundef %252, ptr noundef nonnull @.str.4) #13
  %254 = load i32, ptr %251, align 4, !tbaa !5
  %255 = call ptr @s2n_strerror_debug(i32 noundef %254, ptr noundef nonnull @.str.4) #13
  %256 = load i32, ptr %237, align 4, !tbaa !5
  %257 = call ptr @strerror(i32 noundef %256) #13
  %258 = load i32, ptr %237, align 4, !tbaa !5
  %259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %249, ptr noundef nonnull %.str.5.sink1995, i32 noundef %250, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %253, ptr noundef %255, ptr noundef %257, i32 noundef %258) #15
  call void @exit(i32 noundef 1) #16
  unreachable

260:                                              ; preds = %231
  %261 = load i32, ptr @test_count, align 4, !tbaa !5
  %262 = add nsw i32 %261, 1
  store i32 %262, ptr @test_count, align 4, !tbaa !5
  %263 = call ptr @s2n_config_new() #13
  %264 = icmp eq ptr %263, null
  br i1 %264, label %265, label %289

265:                                              ; preds = %260
  %266 = tail call ptr @__errno_location() #14
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %269 = call i32 @s2n_print_stacktrace(ptr noundef %268) #13
  %270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %271 = trunc nuw i8 %270 to i1
  br i1 %271, label %272, label %276

272:                                              ; preds = %265
  %273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %274 = call i32 @fileno(ptr noundef %273) #13
  %275 = call i32 @isatty(i32 noundef %274) #13
  %.not1896 = icmp eq i32 %275, 0
  br i1 %.not1896, label %276, label %277

276:                                              ; preds = %272, %265
  br label %277

277:                                              ; preds = %272, %276
  %.str.5.sink2006 = phi ptr [ @.str.5, %276 ], [ @.str.2, %272 ]
  store i32 %267, ptr %266, align 4, !tbaa !5
  %278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %279 = load i32, ptr @test_count, align 4, !tbaa !5
  %280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = call ptr @s2n_strerror(i32 noundef %281, ptr noundef nonnull @.str.4) #13
  %283 = load i32, ptr %280, align 4, !tbaa !5
  %284 = call ptr @s2n_strerror_debug(i32 noundef %283, ptr noundef nonnull @.str.4) #13
  %285 = load i32, ptr %266, align 4, !tbaa !5
  %286 = call ptr @strerror(i32 noundef %285) #13
  %287 = load i32, ptr %266, align 4, !tbaa !5
  %288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %278, ptr noundef nonnull %.str.5.sink2006, i32 noundef %279, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %282, ptr noundef %284, ptr noundef %286, i32 noundef %287) #15
  call void @exit(i32 noundef 1) #16
  unreachable

289:                                              ; preds = %260
  %290 = load i32, ptr @test_count, align 4, !tbaa !5
  %291 = add nsw i32 %290, 1
  store i32 %291, ptr @test_count, align 4, !tbaa !5
  %292 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %263, i8 noundef zeroext 0) #13
  %293 = icmp eq i32 %292, -1
  br i1 %293, label %294, label %318

294:                                              ; preds = %289
  %295 = tail call ptr @__errno_location() #14
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = call i32 @s2n_print_stacktrace(ptr noundef %297) #13
  %299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %300 = trunc nuw i8 %299 to i1
  br i1 %300, label %301, label %305

301:                                              ; preds = %294
  %302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %303 = call i32 @fileno(ptr noundef %302) #13
  %304 = call i32 @isatty(i32 noundef %303) #13
  %.not1895 = icmp eq i32 %304, 0
  br i1 %.not1895, label %305, label %306

305:                                              ; preds = %301, %294
  br label %306

306:                                              ; preds = %301, %305
  %.str.5.sink2017 = phi ptr [ @.str.5, %305 ], [ @.str.2, %301 ]
  store i32 %296, ptr %295, align 4, !tbaa !5
  %307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %308 = load i32, ptr @test_count, align 4, !tbaa !5
  %309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror(i32 noundef %310, ptr noundef nonnull @.str.4) #13
  %312 = load i32, ptr %309, align 4, !tbaa !5
  %313 = call ptr @s2n_strerror_debug(i32 noundef %312, ptr noundef nonnull @.str.4) #13
  %314 = load i32, ptr %295, align 4, !tbaa !5
  %315 = call ptr @strerror(i32 noundef %314) #13
  %316 = load i32, ptr %295, align 4, !tbaa !5
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %307, ptr noundef nonnull %.str.5.sink2017, i32 noundef %308, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %311, ptr noundef %313, ptr noundef %315, i32 noundef %316) #15
  call void @exit(i32 noundef 1) #16
  unreachable

318:                                              ; preds = %289
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr @test_count, align 4, !tbaa !5
  %321 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %263) #13
  %322 = icmp eq i32 %321, -1
  br i1 %322, label %323, label %347

323:                                              ; preds = %318
  %324 = tail call ptr @__errno_location() #14
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = call i32 @s2n_print_stacktrace(ptr noundef %326) #13
  %328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %329 = trunc nuw i8 %328 to i1
  br i1 %329, label %330, label %334

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

334:                                              ; preds = %330, %323
  br label %335

335:                                              ; preds = %330, %334
  %.str.5.sink2028 = phi ptr [ @.str.5, %334 ], [ @.str.2, %330 ]
  store i32 %325, ptr %324, align 4, !tbaa !5
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = call ptr @s2n_strerror(i32 noundef %339, ptr noundef nonnull @.str.4) #13
  %341 = load i32, ptr %338, align 4, !tbaa !5
  %342 = call ptr @s2n_strerror_debug(i32 noundef %341, ptr noundef nonnull @.str.4) #13
  %343 = load i32, ptr %324, align 4, !tbaa !5
  %344 = call ptr @strerror(i32 noundef %343) #13
  %345 = load i32, ptr %324, align 4, !tbaa !5
  %346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %336, ptr noundef nonnull %.str.5.sink2028, i32 noundef %337, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %340, ptr noundef %342, ptr noundef %344, i32 noundef %345) #15
  call void @exit(i32 noundef 1) #16
  unreachable

347:                                              ; preds = %318
  %348 = load i32, ptr @test_count, align 4, !tbaa !5
  %349 = add nsw i32 %348, 1
  store i32 %349, ptr @test_count, align 4, !tbaa !5
  %350 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %351 = icmp eq ptr %350, null
  br i1 %351, label %352, label %376

352:                                              ; preds = %347
  %353 = tail call ptr @__errno_location() #14
  %354 = load i32, ptr %353, align 4, !tbaa !5
  %355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %356 = call i32 @s2n_print_stacktrace(ptr noundef %355) #13
  %357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %358 = trunc nuw i8 %357 to i1
  br i1 %358, label %359, label %363

359:                                              ; preds = %352
  %360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %361 = call i32 @fileno(ptr noundef %360) #13
  %362 = call i32 @isatty(i32 noundef %361) #13
  %.not1893 = icmp eq i32 %362, 0
  br i1 %.not1893, label %363, label %364

363:                                              ; preds = %359, %352
  br label %364

364:                                              ; preds = %359, %363
  %.str.5.sink2039 = phi ptr [ @.str.5, %363 ], [ @.str.2, %359 ]
  store i32 %354, ptr %353, align 4, !tbaa !5
  %365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %366 = load i32, ptr @test_count, align 4, !tbaa !5
  %367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = call ptr @s2n_strerror(i32 noundef %368, ptr noundef nonnull @.str.4) #13
  %370 = load i32, ptr %367, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror_debug(i32 noundef %370, ptr noundef nonnull @.str.4) #13
  %372 = load i32, ptr %353, align 4, !tbaa !5
  %373 = call ptr @strerror(i32 noundef %372) #13
  %374 = load i32, ptr %353, align 4, !tbaa !5
  %375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %365, ptr noundef nonnull %.str.5.sink2039, i32 noundef %366, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %369, ptr noundef %371, ptr noundef %373, i32 noundef %374) #15
  call void @exit(i32 noundef 1) #16
  unreachable

376:                                              ; preds = %347
  %377 = load i32, ptr @test_count, align 4, !tbaa !5
  %378 = add nsw i32 %377, 1
  store i32 %378, ptr @test_count, align 4, !tbaa !5
  %379 = call i32 @s2n_connection_set_config(ptr noundef nonnull %350, ptr noundef nonnull %263) #13
  %380 = icmp eq i32 %379, -1
  br i1 %380, label %381, label %405

381:                                              ; preds = %376
  %382 = tail call ptr @__errno_location() #14
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %385 = call i32 @s2n_print_stacktrace(ptr noundef %384) #13
  %386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %387 = trunc nuw i8 %386 to i1
  br i1 %387, label %388, label %392

388:                                              ; preds = %381
  %389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %390 = call i32 @fileno(ptr noundef %389) #13
  %391 = call i32 @isatty(i32 noundef %390) #13
  %.not1892 = icmp eq i32 %391, 0
  br i1 %.not1892, label %392, label %393

392:                                              ; preds = %388, %381
  br label %393

393:                                              ; preds = %388, %392
  %.str.5.sink2050 = phi ptr [ @.str.5, %392 ], [ @.str.2, %388 ]
  store i32 %383, ptr %382, align 4, !tbaa !5
  %394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %395 = load i32, ptr @test_count, align 4, !tbaa !5
  %396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call ptr @s2n_strerror(i32 noundef %397, ptr noundef nonnull @.str.4) #13
  %399 = load i32, ptr %396, align 4, !tbaa !5
  %400 = call ptr @s2n_strerror_debug(i32 noundef %399, ptr noundef nonnull @.str.4) #13
  %401 = load i32, ptr %382, align 4, !tbaa !5
  %402 = call ptr @strerror(i32 noundef %401) #13
  %403 = load i32, ptr %382, align 4, !tbaa !5
  %404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %394, ptr noundef nonnull %.str.5.sink2050, i32 noundef %395, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %398, ptr noundef %400, ptr noundef %402, i32 noundef %403) #15
  call void @exit(i32 noundef 1) #16
  unreachable

405:                                              ; preds = %376
  %406 = getelementptr inbounds i8, ptr %350, i64 220
  store i8 33, ptr %406, align 4, !tbaa !15
  %407 = getelementptr inbounds i8, ptr %350, i64 219
  store i8 33, ptr %407, align 1, !tbaa !42
  %408 = getelementptr inbounds i8, ptr %350, i64 218
  store i8 33, ptr %408, align 2, !tbaa !43
  %409 = load i32, ptr @test_count, align 4, !tbaa !5
  %410 = add nsw i32 %409, 1
  store i32 %410, ptr @test_count, align 4, !tbaa !5
  %411 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %412 = icmp eq ptr %411, null
  br i1 %412, label %413, label %437

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

420:                                              ; preds = %413
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = call i32 @fileno(ptr noundef %421) #13
  %423 = call i32 @isatty(i32 noundef %422) #13
  %.not1891 = icmp eq i32 %423, 0
  br i1 %.not1891, label %424, label %425

424:                                              ; preds = %420, %413
  br label %425

425:                                              ; preds = %420, %424
  %.str.5.sink2061 = phi ptr [ @.str.5, %424 ], [ @.str.2, %420 ]
  store i32 %415, ptr %414, align 4, !tbaa !5
  %426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %427 = load i32, ptr @test_count, align 4, !tbaa !5
  %428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = call ptr @s2n_strerror(i32 noundef %429, ptr noundef nonnull @.str.4) #13
  %431 = load i32, ptr %428, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror_debug(i32 noundef %431, ptr noundef nonnull @.str.4) #13
  %433 = load i32, ptr %414, align 4, !tbaa !5
  %434 = call ptr @strerror(i32 noundef %433) #13
  %435 = load i32, ptr %414, align 4, !tbaa !5
  %436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %426, ptr noundef nonnull %.str.5.sink2061, i32 noundef %427, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %430, ptr noundef %432, ptr noundef %434, i32 noundef %435) #15
  call void @exit(i32 noundef 1) #16
  unreachable

437:                                              ; preds = %405
  %438 = getelementptr inbounds i8, ptr %411, i64 220
  store i8 33, ptr %438, align 4, !tbaa !15
  %439 = getelementptr inbounds i8, ptr %411, i64 219
  store i8 33, ptr %439, align 1, !tbaa !42
  %440 = getelementptr inbounds i8, ptr %411, i64 218
  store i8 33, ptr %440, align 2, !tbaa !43
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = add nsw i32 %441, 1
  store i32 %442, ptr @test_count, align 4, !tbaa !5
  %443 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %350, ptr noundef nonnull %411, ptr noundef nonnull %3) #13
  %444 = icmp eq i32 %443, -1
  br i1 %444, label %445, label %469

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

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

456:                                              ; preds = %452, %445
  br label %457

457:                                              ; preds = %452, %456
  %.str.5.sink2072 = phi ptr [ @.str.5, %456 ], [ @.str.2, %452 ]
  store i32 %447, ptr %446, align 4, !tbaa !5
  %458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = call ptr @s2n_strerror(i32 noundef %461, ptr noundef nonnull @.str.4) #13
  %463 = load i32, ptr %460, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror_debug(i32 noundef %463, ptr noundef nonnull @.str.4) #13
  %465 = load i32, ptr %446, align 4, !tbaa !5
  %466 = call ptr @strerror(i32 noundef %465) #13
  %467 = load i32, ptr %446, align 4, !tbaa !5
  %468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %458, ptr noundef nonnull %.str.5.sink2072, i32 noundef %459, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %462, ptr noundef %464, ptr noundef %466, i32 noundef %467) #15
  call void @exit(i32 noundef 1) #16
  unreachable

469:                                              ; preds = %437
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = call ptr @s2n_config_new() #13
  %473 = icmp eq ptr %472, null
  br i1 %473, label %474, label %498

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

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

485:                                              ; preds = %481, %474
  br label %486

486:                                              ; preds = %481, %485
  %.str.5.sink2083 = phi ptr [ @.str.5, %485 ], [ @.str.2, %481 ]
  store i32 %476, ptr %475, align 4, !tbaa !5
  %487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %488 = load i32, ptr @test_count, align 4, !tbaa !5
  %489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %490 = load i32, ptr %489, align 4, !tbaa !5
  %491 = call ptr @s2n_strerror(i32 noundef %490, ptr noundef nonnull @.str.4) #13
  %492 = load i32, ptr %489, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror_debug(i32 noundef %492, ptr noundef nonnull @.str.4) #13
  %494 = load i32, ptr %475, align 4, !tbaa !5
  %495 = call ptr @strerror(i32 noundef %494) #13
  %496 = load i32, ptr %475, align 4, !tbaa !5
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef nonnull %.str.5.sink2083, i32 noundef %488, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %491, ptr noundef %493, ptr noundef %495, i32 noundef %496) #15
  call void @exit(i32 noundef 1) #16
  unreachable

498:                                              ; preds = %469
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  store i32 %500, ptr @test_count, align 4, !tbaa !5
  %501 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %502 = icmp eq i32 %501, -1
  br i1 %502, label %503, label %527

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

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

514:                                              ; preds = %510, %503
  br label %515

515:                                              ; preds = %510, %514
  %.str.5.sink2094 = phi ptr [ @.str.5, %514 ], [ @.str.2, %510 ]
  store i32 %505, ptr %504, align 4, !tbaa !5
  %516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %517 = load i32, ptr @test_count, align 4, !tbaa !5
  %518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %519 = load i32, ptr %518, align 4, !tbaa !5
  %520 = call ptr @s2n_strerror(i32 noundef %519, ptr noundef nonnull @.str.4) #13
  %521 = load i32, ptr %518, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror_debug(i32 noundef %521, ptr noundef nonnull @.str.4) #13
  %523 = load i32, ptr %504, align 4, !tbaa !5
  %524 = call ptr @strerror(i32 noundef %523) #13
  %525 = load i32, ptr %504, align 4, !tbaa !5
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %516, ptr noundef nonnull %.str.5.sink2094, i32 noundef %517, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %520, ptr noundef %522, ptr noundef %524, i32 noundef %525) #15
  call void @exit(i32 noundef 1) #16
  unreachable

527:                                              ; preds = %498
  %528 = load i32, ptr @test_count, align 4, !tbaa !5
  %529 = add nsw i32 %528, 1
  store i32 %529, ptr @test_count, align 4, !tbaa !5
  %530 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %531 = icmp eq i32 %530, -1
  br i1 %531, label %532, label %556

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

539:                                              ; preds = %532
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 @fileno(ptr noundef %540) #13
  %542 = call i32 @isatty(i32 noundef %541) #13
  %.not1887 = icmp eq i32 %542, 0
  br i1 %.not1887, label %543, label %544

543:                                              ; preds = %539, %532
  br label %544

544:                                              ; preds = %539, %543
  %.str.5.sink2105 = phi ptr [ @.str.5, %543 ], [ @.str.2, %539 ]
  store i32 %534, ptr %533, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = call ptr @s2n_strerror(i32 noundef %548, ptr noundef nonnull @.str.4) #13
  %550 = load i32, ptr %547, align 4, !tbaa !5
  %551 = call ptr @s2n_strerror_debug(i32 noundef %550, ptr noundef nonnull @.str.4) #13
  %552 = load i32, ptr %533, align 4, !tbaa !5
  %553 = call ptr @strerror(i32 noundef %552) #13
  %554 = load i32, ptr %533, align 4, !tbaa !5
  %555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef nonnull %.str.5.sink2105, i32 noundef %546, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %549, ptr noundef %551, ptr noundef %553, i32 noundef %554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

556:                                              ; preds = %527
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = add nsw i32 %557, 1
  store i32 %558, ptr @test_count, align 4, !tbaa !5
  %559 = call ptr @s2n_cert_chain_and_key_new() #13
  %560 = icmp eq ptr %559, null
  br i1 %560, label %561, label %585

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

568:                                              ; preds = %561
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = call i32 @fileno(ptr noundef %569) #13
  %571 = call i32 @isatty(i32 noundef %570) #13
  %.not1886 = icmp eq i32 %571, 0
  br i1 %.not1886, label %572, label %573

572:                                              ; preds = %568, %561
  br label %573

573:                                              ; preds = %568, %572
  %.str.5.sink2116 = phi ptr [ @.str.5, %572 ], [ @.str.2, %568 ]
  store i32 %563, ptr %562, align 4, !tbaa !5
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = load i32, ptr @test_count, align 4, !tbaa !5
  %576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %577 = load i32, ptr %576, align 4, !tbaa !5
  %578 = call ptr @s2n_strerror(i32 noundef %577, ptr noundef nonnull @.str.4) #13
  %579 = load i32, ptr %576, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror_debug(i32 noundef %579, ptr noundef nonnull @.str.4) #13
  %581 = load i32, ptr %562, align 4, !tbaa !5
  %582 = call ptr @strerror(i32 noundef %581) #13
  %583 = load i32, ptr %562, align 4, !tbaa !5
  %584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %574, ptr noundef nonnull %.str.5.sink2116, i32 noundef %575, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %578, ptr noundef %580, ptr noundef %582, i32 noundef %583) #15
  call void @exit(i32 noundef 1) #16
  unreachable

585:                                              ; preds = %556
  %586 = load i32, ptr @test_count, align 4, !tbaa !5
  %587 = add nsw i32 %586, 1
  store i32 %587, ptr @test_count, align 4, !tbaa !5
  %588 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %559, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %589 = icmp eq i32 %588, -1
  br i1 %589, label %590, label %614

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

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

601:                                              ; preds = %597, %590
  br label %602

602:                                              ; preds = %597, %601
  %.str.5.sink2127 = phi ptr [ @.str.5, %601 ], [ @.str.2, %597 ]
  store i32 %592, ptr %591, align 4, !tbaa !5
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = load i32, ptr @test_count, align 4, !tbaa !5
  %605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call ptr @s2n_strerror(i32 noundef %606, ptr noundef nonnull @.str.4) #13
  %608 = load i32, ptr %605, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror_debug(i32 noundef %608, ptr noundef nonnull @.str.4) #13
  %610 = load i32, ptr %591, align 4, !tbaa !5
  %611 = call ptr @strerror(i32 noundef %610) #13
  %612 = load i32, ptr %591, align 4, !tbaa !5
  %613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %603, ptr noundef nonnull %.str.5.sink2127, i32 noundef %604, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %607, ptr noundef %609, ptr noundef %611, i32 noundef %612) #15
  call void @exit(i32 noundef 1) #16
  unreachable

614:                                              ; preds = %585
  %615 = load i32, ptr @test_count, align 4, !tbaa !5
  %616 = add nsw i32 %615, 1
  store i32 %616, ptr @test_count, align 4, !tbaa !5
  %617 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %472, ptr noundef nonnull %559) #13
  %618 = icmp eq i32 %617, -1
  br i1 %618, label %619, label %643

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

626:                                              ; preds = %619
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @fileno(ptr noundef %627) #13
  %629 = call i32 @isatty(i32 noundef %628) #13
  %.not1884 = icmp eq i32 %629, 0
  br i1 %.not1884, label %630, label %631

630:                                              ; preds = %626, %619
  br label %631

631:                                              ; preds = %626, %630
  %.str.5.sink2138 = phi ptr [ @.str.5, %630 ], [ @.str.2, %626 ]
  store i32 %621, ptr %620, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = call ptr @s2n_strerror(i32 noundef %635, ptr noundef nonnull @.str.4) #13
  %637 = load i32, ptr %634, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror_debug(i32 noundef %637, ptr noundef nonnull @.str.4) #13
  %639 = load i32, ptr %620, align 4, !tbaa !5
  %640 = call ptr @strerror(i32 noundef %639) #13
  %641 = load i32, ptr %620, align 4, !tbaa !5
  %642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %632, ptr noundef nonnull %.str.5.sink2138, i32 noundef %633, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %636, ptr noundef %638, ptr noundef %640, i32 noundef %641) #15
  call void @exit(i32 noundef 1) #16
  unreachable

643:                                              ; preds = %614
  %644 = load i32, ptr @test_count, align 4, !tbaa !5
  %645 = add nsw i32 %644, 1
  store i32 %645, ptr @test_count, align 4, !tbaa !5
  %646 = call i32 @s2n_connection_set_config(ptr noundef nonnull %411, ptr noundef nonnull %472) #13
  %647 = icmp eq i32 %646, -1
  br i1 %647, label %648, label %672

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

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

659:                                              ; preds = %655, %648
  br label %660

660:                                              ; preds = %655, %659
  %.str.5.sink2149 = phi ptr [ @.str.5, %659 ], [ @.str.2, %655 ]
  store i32 %650, ptr %649, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %664 = load i32, ptr %663, align 4, !tbaa !5
  %665 = call ptr @s2n_strerror(i32 noundef %664, ptr noundef nonnull @.str.4) #13
  %666 = load i32, ptr %663, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror_debug(i32 noundef %666, ptr noundef nonnull @.str.4) #13
  %668 = load i32, ptr %649, align 4, !tbaa !5
  %669 = call ptr @strerror(i32 noundef %668) #13
  %670 = load i32, ptr %649, align 4, !tbaa !5
  %671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %661, ptr noundef nonnull %.str.5.sink2149, i32 noundef %662, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 197, ptr noundef %665, ptr noundef %667, ptr noundef %669, i32 noundef %670) #15
  call void @exit(i32 noundef 1) #16
  unreachable

672:                                              ; preds = %643
  %673 = load i32, ptr @test_count, align 4, !tbaa !5
  %674 = add nsw i32 %673, 1
  store i32 %674, ptr @test_count, align 4, !tbaa !5
  %675 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %411, ptr noundef nonnull %350) #13
  %676 = icmp eq i32 %675, -1
  br i1 %676, label %677, label %701

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

684:                                              ; preds = %677
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = call i32 @fileno(ptr noundef %685) #13
  %687 = call i32 @isatty(i32 noundef %686) #13
  %.not1882 = icmp eq i32 %687, 0
  br i1 %.not1882, label %688, label %689

688:                                              ; preds = %684, %677
  br label %689

689:                                              ; preds = %684, %688
  %.str.5.sink2160 = phi ptr [ @.str.5, %688 ], [ @.str.2, %684 ]
  store i32 %679, ptr %678, align 4, !tbaa !5
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = load i32, ptr @test_count, align 4, !tbaa !5
  %692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror(i32 noundef %693, ptr noundef nonnull @.str.4) #13
  %695 = load i32, ptr %692, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef nonnull @.str.4) #13
  %697 = load i32, ptr %678, align 4, !tbaa !5
  %698 = call ptr @strerror(i32 noundef %697) #13
  %699 = load i32, ptr %678, align 4, !tbaa !5
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef nonnull %.str.5.sink2160, i32 noundef %691, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %694, ptr noundef %696, ptr noundef %698, i32 noundef %699) #15
  call void @exit(i32 noundef 1) #16
  unreachable

701:                                              ; preds = %672
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = add nsw i32 %702, 1
  store i32 %703, ptr @test_count, align 4, !tbaa !5
  %704 = call ptr @s2n_get_server_name(ptr noundef nonnull %411) #13
  %705 = icmp eq ptr %704, null
  br i1 %705, label %730, label %706

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

713:                                              ; preds = %706
  %714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %715 = call i32 @fileno(ptr noundef %714) #13
  %716 = call i32 @isatty(i32 noundef %715) #13
  %.not = icmp eq i32 %716, 0
  br i1 %.not, label %717, label %718

717:                                              ; preds = %713, %706
  br label %718

718:                                              ; preds = %713, %717
  %.str.5.sink2171 = phi ptr [ @.str.5, %717 ], [ @.str.2, %713 ]
  store i32 %708, ptr %707, align 4, !tbaa !5
  %719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %720 = load i32, ptr @test_count, align 4, !tbaa !5
  %721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %722 = load i32, ptr %721, align 4, !tbaa !5
  %723 = call ptr @s2n_strerror(i32 noundef %722, ptr noundef nonnull @.str.4) #13
  %724 = load i32, ptr %721, align 4, !tbaa !5
  %725 = call ptr @s2n_strerror_debug(i32 noundef %724, ptr noundef nonnull @.str.4) #13
  %726 = load i32, ptr %707, align 4, !tbaa !5
  %727 = call ptr @strerror(i32 noundef %726) #13
  %728 = load i32, ptr %707, align 4, !tbaa !5
  %729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %719, ptr noundef nonnull %.str.5.sink2171, i32 noundef %720, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %723, ptr noundef %725, ptr noundef %727, i32 noundef %728) #15
  call void @exit(i32 noundef 1) #16
  unreachable

730:                                              ; preds = %701
  %731 = load i32, ptr @test_count, align 4, !tbaa !5
  %732 = add nsw i32 %731, 1
  store i32 %732, ptr @test_count, align 4, !tbaa !5
  %733 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %411, ptr noundef nonnull %350) #13
  %734 = icmp eq i32 %733, -1
  br i1 %734, label %735, label %759

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

742:                                              ; preds = %735
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @fileno(ptr noundef %743) #13
  %745 = call i32 @isatty(i32 noundef %744) #13
  %.not1881 = icmp eq i32 %745, 0
  br i1 %.not1881, label %746, label %747

746:                                              ; preds = %742, %735
  br label %747

747:                                              ; preds = %742, %746
  %.str.5.sink2182 = phi ptr [ @.str.5, %746 ], [ @.str.2, %742 ]
  store i32 %737, ptr %736, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = load i32, ptr @test_count, align 4, !tbaa !5
  %750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %751 = load i32, ptr %750, align 4, !tbaa !5
  %752 = call ptr @s2n_strerror(i32 noundef %751, ptr noundef nonnull @.str.4) #13
  %753 = load i32, ptr %750, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror_debug(i32 noundef %753, ptr noundef nonnull @.str.4) #13
  %755 = load i32, ptr %736, align 4, !tbaa !5
  %756 = call ptr @strerror(i32 noundef %755) #13
  %757 = load i32, ptr %736, align 4, !tbaa !5
  %758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %748, ptr noundef nonnull %.str.5.sink2182, i32 noundef %749, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %752, ptr noundef %754, ptr noundef %756, i32 noundef %757) #15
  call void @exit(i32 noundef 1) #16
  unreachable

759:                                              ; preds = %730
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %761 = add nsw i32 %760, 1
  store i32 %761, ptr @test_count, align 4, !tbaa !5
  %762 = call i32 @s2n_connection_free(ptr noundef nonnull %411) #13
  %763 = icmp eq i32 %762, -1
  br i1 %763, label %764, label %788

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

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

775:                                              ; preds = %771, %764
  br label %776

776:                                              ; preds = %771, %775
  %.str.5.sink2193 = phi ptr [ @.str.5, %775 ], [ @.str.2, %771 ]
  store i32 %766, ptr %765, align 4, !tbaa !5
  %777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %778 = load i32, ptr @test_count, align 4, !tbaa !5
  %779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %780 = load i32, ptr %779, align 4, !tbaa !5
  %781 = call ptr @s2n_strerror(i32 noundef %780, ptr noundef nonnull @.str.4) #13
  %782 = load i32, ptr %779, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef nonnull @.str.4) #13
  %784 = load i32, ptr %765, align 4, !tbaa !5
  %785 = call ptr @strerror(i32 noundef %784) #13
  %786 = load i32, ptr %765, align 4, !tbaa !5
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %777, ptr noundef nonnull %.str.5.sink2193, i32 noundef %778, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %781, ptr noundef %783, ptr noundef %785, i32 noundef %786) #15
  call void @exit(i32 noundef 1) #16
  unreachable

788:                                              ; preds = %759
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = add nsw i32 %789, 1
  store i32 %790, ptr @test_count, align 4, !tbaa !5
  %791 = call i32 @s2n_connection_free(ptr noundef nonnull %350) #13
  %792 = icmp eq i32 %791, -1
  br i1 %792, label %793, label %817

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

800:                                              ; preds = %793
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = call i32 @fileno(ptr noundef %801) #13
  %803 = call i32 @isatty(i32 noundef %802) #13
  %.not1879 = icmp eq i32 %803, 0
  br i1 %.not1879, label %804, label %805

804:                                              ; preds = %800, %793
  br label %805

805:                                              ; preds = %800, %804
  %.str.5.sink2204 = phi ptr [ @.str.5, %804 ], [ @.str.2, %800 ]
  store i32 %795, ptr %794, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = load i32, ptr @test_count, align 4, !tbaa !5
  %808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %809 = load i32, ptr %808, align 4, !tbaa !5
  %810 = call ptr @s2n_strerror(i32 noundef %809, ptr noundef nonnull @.str.4) #13
  %811 = load i32, ptr %808, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror_debug(i32 noundef %811, ptr noundef nonnull @.str.4) #13
  %813 = load i32, ptr %794, align 4, !tbaa !5
  %814 = call ptr @strerror(i32 noundef %813) #13
  %815 = load i32, ptr %794, align 4, !tbaa !5
  %816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %806, ptr noundef nonnull %.str.5.sink2204, i32 noundef %807, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %810, ptr noundef %812, ptr noundef %814, i32 noundef %815) #15
  call void @exit(i32 noundef 1) #16
  unreachable

817:                                              ; preds = %788
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = add nsw i32 %818, 1
  store i32 %819, ptr @test_count, align 4, !tbaa !5
  %820 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %559) #13
  %821 = icmp eq i32 %820, -1
  br i1 %821, label %822, label %846

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

829:                                              ; preds = %822
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @fileno(ptr noundef %830) #13
  %832 = call i32 @isatty(i32 noundef %831) #13
  %.not1878 = icmp eq i32 %832, 0
  br i1 %.not1878, label %833, label %834

833:                                              ; preds = %829, %822
  br label %834

834:                                              ; preds = %829, %833
  %.str.5.sink2215 = phi ptr [ @.str.5, %833 ], [ @.str.2, %829 ]
  store i32 %824, ptr %823, align 4, !tbaa !5
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = load i32, ptr @test_count, align 4, !tbaa !5
  %837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror(i32 noundef %838, ptr noundef nonnull @.str.4) #13
  %840 = load i32, ptr %837, align 4, !tbaa !5
  %841 = call ptr @s2n_strerror_debug(i32 noundef %840, ptr noundef nonnull @.str.4) #13
  %842 = load i32, ptr %823, align 4, !tbaa !5
  %843 = call ptr @strerror(i32 noundef %842) #13
  %844 = load i32, ptr %823, align 4, !tbaa !5
  %845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %835, ptr noundef nonnull %.str.5.sink2215, i32 noundef %836, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %839, ptr noundef %841, ptr noundef %843, i32 noundef %844) #15
  call void @exit(i32 noundef 1) #16
  unreachable

846:                                              ; preds = %817
  %847 = load i32, ptr @test_count, align 4, !tbaa !5
  %848 = add nsw i32 %847, 1
  store i32 %848, ptr @test_count, align 4, !tbaa !5
  %849 = call i32 @s2n_config_free(ptr noundef nonnull %472) #13
  %850 = icmp eq i32 %849, -1
  br i1 %850, label %851, label %875

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

858:                                              ; preds = %851
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @fileno(ptr noundef %859) #13
  %861 = call i32 @isatty(i32 noundef %860) #13
  %.not1877 = icmp eq i32 %861, 0
  br i1 %.not1877, label %862, label %863

862:                                              ; preds = %858, %851
  br label %863

863:                                              ; preds = %858, %862
  %.str.5.sink2226 = phi ptr [ @.str.5, %862 ], [ @.str.2, %858 ]
  store i32 %853, ptr %852, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror(i32 noundef %867, ptr noundef nonnull @.str.4) #13
  %869 = load i32, ptr %866, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror_debug(i32 noundef %869, ptr noundef nonnull @.str.4) #13
  %871 = load i32, ptr %852, align 4, !tbaa !5
  %872 = call ptr @strerror(i32 noundef %871) #13
  %873 = load i32, ptr %852, align 4, !tbaa !5
  %874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %864, ptr noundef nonnull %.str.5.sink2226, i32 noundef %865, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %868, ptr noundef %870, ptr noundef %872, i32 noundef %873) #15
  call void @exit(i32 noundef 1) #16
  unreachable

875:                                              ; preds = %846
  %876 = load i32, ptr @test_count, align 4, !tbaa !5
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr @test_count, align 4, !tbaa !5
  %878 = call i32 @s2n_config_free(ptr noundef nonnull %263) #13
  %879 = icmp eq i32 %878, -1
  br i1 %879, label %880, label %904

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

887:                                              ; preds = %880
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = call i32 @fileno(ptr noundef %888) #13
  %890 = call i32 @isatty(i32 noundef %889) #13
  %.not1876 = icmp eq i32 %890, 0
  br i1 %.not1876, label %891, label %892

891:                                              ; preds = %887, %880
  br label %892

892:                                              ; preds = %887, %891
  %.str.5.sink2237 = phi ptr [ @.str.5, %891 ], [ @.str.2, %887 ]
  store i32 %882, ptr %881, align 4, !tbaa !5
  %893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %894 = load i32, ptr @test_count, align 4, !tbaa !5
  %895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror(i32 noundef %896, ptr noundef nonnull @.str.4) #13
  %898 = load i32, ptr %895, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror_debug(i32 noundef %898, ptr noundef nonnull @.str.4) #13
  %900 = load i32, ptr %881, align 4, !tbaa !5
  %901 = call ptr @strerror(i32 noundef %900) #13
  %902 = load i32, ptr %881, align 4, !tbaa !5
  %903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %893, ptr noundef nonnull %.str.5.sink2237, i32 noundef %894, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %897, ptr noundef %899, ptr noundef %901, i32 noundef %902) #15
  call void @exit(i32 noundef 1) #16
  unreachable

904:                                              ; preds = %875
  %905 = load i32, ptr @test_count, align 4, !tbaa !5
  %906 = add nsw i32 %905, 1
  store i32 %906, ptr @test_count, align 4, !tbaa !5
  %907 = call ptr @s2n_config_new() #13
  %908 = icmp eq ptr %907, null
  br i1 %908, label %909, label %933

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

916:                                              ; preds = %909
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @fileno(ptr noundef %917) #13
  %919 = call i32 @isatty(i32 noundef %918) #13
  %.not1875 = icmp eq i32 %919, 0
  br i1 %.not1875, label %920, label %921

920:                                              ; preds = %916, %909
  br label %921

921:                                              ; preds = %916, %920
  %.str.5.sink2248 = phi ptr [ @.str.5, %920 ], [ @.str.2, %916 ]
  store i32 %911, ptr %910, align 4, !tbaa !5
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = load i32, ptr @test_count, align 4, !tbaa !5
  %924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %925 = load i32, ptr %924, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror(i32 noundef %925, ptr noundef nonnull @.str.4) #13
  %927 = load i32, ptr %924, align 4, !tbaa !5
  %928 = call ptr @s2n_strerror_debug(i32 noundef %927, ptr noundef nonnull @.str.4) #13
  %929 = load i32, ptr %910, align 4, !tbaa !5
  %930 = call ptr @strerror(i32 noundef %929) #13
  %931 = load i32, ptr %910, align 4, !tbaa !5
  %932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %922, ptr noundef nonnull %.str.5.sink2248, i32 noundef %923, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %926, ptr noundef %928, ptr noundef %930, i32 noundef %931) #15
  call void @exit(i32 noundef 1) #16
  unreachable

933:                                              ; preds = %904
  %934 = load i32, ptr @test_count, align 4, !tbaa !5
  %935 = add nsw i32 %934, 1
  store i32 %935, ptr @test_count, align 4, !tbaa !5
  %936 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %907, i8 noundef zeroext 0) #13
  %937 = icmp eq i32 %936, -1
  br i1 %937, label %938, label %962

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

945:                                              ; preds = %938
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @fileno(ptr noundef %946) #13
  %948 = call i32 @isatty(i32 noundef %947) #13
  %.not1874 = icmp eq i32 %948, 0
  br i1 %.not1874, label %949, label %950

949:                                              ; preds = %945, %938
  br label %950

950:                                              ; preds = %945, %949
  %.str.5.sink2259 = phi ptr [ @.str.5, %949 ], [ @.str.2, %945 ]
  store i32 %940, ptr %939, align 4, !tbaa !5
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = load i32, ptr @test_count, align 4, !tbaa !5
  %953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = call ptr @s2n_strerror(i32 noundef %954, ptr noundef nonnull @.str.4) #13
  %956 = load i32, ptr %953, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef %956, ptr noundef nonnull @.str.4) #13
  %958 = load i32, ptr %939, align 4, !tbaa !5
  %959 = call ptr @strerror(i32 noundef %958) #13
  %960 = load i32, ptr %939, align 4, !tbaa !5
  %961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %951, ptr noundef nonnull %.str.5.sink2259, i32 noundef %952, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %955, ptr noundef %957, ptr noundef %959, i32 noundef %960) #15
  call void @exit(i32 noundef 1) #16
  unreachable

962:                                              ; preds = %933
  %963 = load i32, ptr @test_count, align 4, !tbaa !5
  %964 = add nsw i32 %963, 1
  store i32 %964, ptr @test_count, align 4, !tbaa !5
  %965 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %907) #13
  %966 = icmp eq i32 %965, -1
  br i1 %966, label %967, label %991

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

974:                                              ; preds = %967
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @fileno(ptr noundef %975) #13
  %977 = call i32 @isatty(i32 noundef %976) #13
  %.not1873 = icmp eq i32 %977, 0
  br i1 %.not1873, label %978, label %979

978:                                              ; preds = %974, %967
  br label %979

979:                                              ; preds = %974, %978
  %.str.5.sink2270 = phi ptr [ @.str.5, %978 ], [ @.str.2, %974 ]
  store i32 %969, ptr %968, align 4, !tbaa !5
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = load i32, ptr @test_count, align 4, !tbaa !5
  %982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call ptr @s2n_strerror(i32 noundef %983, ptr noundef nonnull @.str.4) #13
  %985 = load i32, ptr %982, align 4, !tbaa !5
  %986 = call ptr @s2n_strerror_debug(i32 noundef %985, ptr noundef nonnull @.str.4) #13
  %987 = load i32, ptr %968, align 4, !tbaa !5
  %988 = call ptr @strerror(i32 noundef %987) #13
  %989 = load i32, ptr %968, align 4, !tbaa !5
  %990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %980, ptr noundef nonnull %.str.5.sink2270, i32 noundef %981, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %984, ptr noundef %986, ptr noundef %988, i32 noundef %989) #15
  call void @exit(i32 noundef 1) #16
  unreachable

991:                                              ; preds = %962
  %992 = load i32, ptr @test_count, align 4, !tbaa !5
  %993 = add nsw i32 %992, 1
  store i32 %993, ptr @test_count, align 4, !tbaa !5
  %994 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %995 = icmp eq ptr %994, null
  br i1 %995, label %996, label %1020

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

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

1007:                                             ; preds = %1003, %996
  br label %1008

1008:                                             ; preds = %1003, %1007
  %.str.5.sink2281 = phi ptr [ @.str.5, %1007 ], [ @.str.2, %1003 ]
  store i32 %998, ptr %997, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = load i32, ptr @test_count, align 4, !tbaa !5
  %1011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1012 = load i32, ptr %1011, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror(i32 noundef %1012, ptr noundef nonnull @.str.4) #13
  %1014 = load i32, ptr %1011, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror_debug(i32 noundef %1014, ptr noundef nonnull @.str.4) #13
  %1016 = load i32, ptr %997, align 4, !tbaa !5
  %1017 = call ptr @strerror(i32 noundef %1016) #13
  %1018 = load i32, ptr %997, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1009, ptr noundef nonnull %.str.5.sink2281, i32 noundef %1010, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %1013, ptr noundef %1015, ptr noundef %1017, i32 noundef %1018) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1020:                                             ; preds = %991
  %1021 = load i32, ptr @test_count, align 4, !tbaa !5
  %1022 = add nsw i32 %1021, 1
  store i32 %1022, ptr @test_count, align 4, !tbaa !5
  %1023 = call i32 @s2n_connection_set_config(ptr noundef nonnull %994, ptr noundef nonnull %907) #13
  %1024 = icmp eq i32 %1023, -1
  br i1 %1024, label %1025, label %1049

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

1032:                                             ; preds = %1025
  %1033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1034 = call i32 @fileno(ptr noundef %1033) #13
  %1035 = call i32 @isatty(i32 noundef %1034) #13
  %.not1871 = icmp eq i32 %1035, 0
  br i1 %.not1871, label %1036, label %1037

1036:                                             ; preds = %1032, %1025
  br label %1037

1037:                                             ; preds = %1032, %1036
  %.str.5.sink2292 = phi ptr [ @.str.5, %1036 ], [ @.str.2, %1032 ]
  store i32 %1027, ptr %1026, align 4, !tbaa !5
  %1038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror(i32 noundef %1041, ptr noundef nonnull @.str.4) #13
  %1043 = load i32, ptr %1040, align 4, !tbaa !5
  %1044 = call ptr @s2n_strerror_debug(i32 noundef %1043, ptr noundef nonnull @.str.4) #13
  %1045 = load i32, ptr %1026, align 4, !tbaa !5
  %1046 = call ptr @strerror(i32 noundef %1045) #13
  %1047 = load i32, ptr %1026, align 4, !tbaa !5
  %1048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1038, ptr noundef nonnull %.str.5.sink2292, i32 noundef %1039, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %1042, ptr noundef %1044, ptr noundef %1046, i32 noundef %1047) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1049:                                             ; preds = %1020
  %1050 = getelementptr inbounds i8, ptr %994, i64 220
  store i8 33, ptr %1050, align 4, !tbaa !15
  %1051 = getelementptr inbounds i8, ptr %994, i64 219
  store i8 33, ptr %1051, align 1, !tbaa !42
  %1052 = getelementptr inbounds i8, ptr %994, i64 218
  store i8 33, ptr %1052, align 2, !tbaa !43
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = add nsw i32 %1053, 1
  store i32 %1054, ptr @test_count, align 4, !tbaa !5
  %1055 = call i32 @s2n_set_server_name(ptr noundef nonnull %994, ptr noundef nonnull @.str.39) #13
  %1056 = icmp eq i32 %1055, -1
  br i1 %1056, label %1057, label %1081

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

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

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

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

1081:                                             ; preds = %1049
  %1082 = load i32, ptr @test_count, align 4, !tbaa !5
  %1083 = add nsw i32 %1082, 1
  store i32 %1083, ptr @test_count, align 4, !tbaa !5
  %1084 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %1085 = icmp eq ptr %1084, null
  br i1 %1085, label %1086, label %1110

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

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

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

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

1110:                                             ; preds = %1081
  %1111 = getelementptr inbounds i8, ptr %1084, i64 220
  store i8 33, ptr %1111, align 4, !tbaa !15
  %1112 = getelementptr inbounds i8, ptr %1084, i64 219
  store i8 33, ptr %1112, align 1, !tbaa !42
  %1113 = getelementptr inbounds i8, ptr %1084, i64 218
  store i8 33, ptr %1113, align 2, !tbaa !43
  %1114 = load i32, ptr @test_count, align 4, !tbaa !5
  %1115 = add nsw i32 %1114, 1
  store i32 %1115, ptr @test_count, align 4, !tbaa !5
  %1116 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %994, ptr noundef nonnull %1084, ptr noundef nonnull %3) #13
  %1117 = icmp eq i32 %1116, -1
  br i1 %1117, label %1118, label %1142

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

1125:                                             ; preds = %1118
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = call i32 @fileno(ptr noundef %1126) #13
  %1128 = call i32 @isatty(i32 noundef %1127) #13
  %.not1868 = icmp eq i32 %1128, 0
  br i1 %.not1868, label %1129, label %1130

1129:                                             ; preds = %1125, %1118
  br label %1130

1130:                                             ; preds = %1125, %1129
  %.str.5.sink2325 = phi ptr [ @.str.5, %1129 ], [ @.str.2, %1125 ]
  store i32 %1120, ptr %1119, align 4, !tbaa !5
  %1131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1132 = load i32, ptr @test_count, align 4, !tbaa !5
  %1133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror(i32 noundef %1134, ptr noundef nonnull @.str.4) #13
  %1136 = load i32, ptr %1133, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror_debug(i32 noundef %1136, ptr noundef nonnull @.str.4) #13
  %1138 = load i32, ptr %1119, align 4, !tbaa !5
  %1139 = call ptr @strerror(i32 noundef %1138) #13
  %1140 = load i32, ptr %1119, align 4, !tbaa !5
  %1141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1131, ptr noundef nonnull %.str.5.sink2325, i32 noundef %1132, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %1135, ptr noundef %1137, ptr noundef %1139, i32 noundef %1140) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1142:                                             ; preds = %1110
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = add nsw i32 %1143, 1
  store i32 %1144, ptr @test_count, align 4, !tbaa !5
  %1145 = call ptr @s2n_config_new() #13
  %1146 = icmp eq ptr %1145, null
  br i1 %1146, label %1147, label %1171

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

1154:                                             ; preds = %1147
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = call i32 @fileno(ptr noundef %1155) #13
  %1157 = call i32 @isatty(i32 noundef %1156) #13
  %.not1867 = icmp eq i32 %1157, 0
  br i1 %.not1867, label %1158, label %1159

1158:                                             ; preds = %1154, %1147
  br label %1159

1159:                                             ; preds = %1154, %1158
  %.str.5.sink2336 = phi ptr [ @.str.5, %1158 ], [ @.str.2, %1154 ]
  store i32 %1149, ptr %1148, align 4, !tbaa !5
  %1160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1161 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1163, ptr noundef nonnull @.str.4) #13
  %1165 = load i32, ptr %1162, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror_debug(i32 noundef %1165, ptr noundef nonnull @.str.4) #13
  %1167 = load i32, ptr %1148, align 4, !tbaa !5
  %1168 = call ptr @strerror(i32 noundef %1167) #13
  %1169 = load i32, ptr %1148, align 4, !tbaa !5
  %1170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1160, ptr noundef nonnull %.str.5.sink2336, i32 noundef %1161, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %1164, ptr noundef %1166, ptr noundef %1168, i32 noundef %1169) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1171:                                             ; preds = %1142
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = add nsw i32 %1172, 1
  store i32 %1173, ptr @test_count, align 4, !tbaa !5
  %1174 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.41, ptr noundef nonnull %149, i64 noundef 12000) #13
  %1175 = icmp eq i32 %1174, -1
  br i1 %1175, label %1176, label %1200

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

1183:                                             ; preds = %1176
  %1184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1185 = call i32 @fileno(ptr noundef %1184) #13
  %1186 = call i32 @isatty(i32 noundef %1185) #13
  %.not1866 = icmp eq i32 %1186, 0
  br i1 %.not1866, label %1187, label %1188

1187:                                             ; preds = %1183, %1176
  br label %1188

1188:                                             ; preds = %1183, %1187
  %.str.5.sink2347 = phi ptr [ @.str.5, %1187 ], [ @.str.2, %1183 ]
  store i32 %1178, ptr %1177, align 4, !tbaa !5
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror(i32 noundef %1192, ptr noundef nonnull @.str.4) #13
  %1194 = load i32, ptr %1191, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror_debug(i32 noundef %1194, ptr noundef nonnull @.str.4) #13
  %1196 = load i32, ptr %1177, align 4, !tbaa !5
  %1197 = call ptr @strerror(i32 noundef %1196) #13
  %1198 = load i32, ptr %1177, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1189, ptr noundef nonnull %.str.5.sink2347, i32 noundef %1190, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %1193, ptr noundef %1195, ptr noundef %1197, i32 noundef %1198) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1200:                                             ; preds = %1171
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = add nsw i32 %1201, 1
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %1203 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.43, ptr noundef nonnull %177, i64 noundef 12000) #13
  %1204 = icmp eq i32 %1203, -1
  br i1 %1204, label %1205, label %1229

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

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

1216:                                             ; preds = %1212, %1205
  br label %1217

1217:                                             ; preds = %1212, %1216
  %.str.5.sink2358 = phi ptr [ @.str.5, %1216 ], [ @.str.2, %1212 ]
  store i32 %1207, ptr %1206, align 4, !tbaa !5
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = load i32, ptr @test_count, align 4, !tbaa !5
  %1220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror(i32 noundef %1221, ptr noundef nonnull @.str.4) #13
  %1223 = load i32, ptr %1220, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror_debug(i32 noundef %1223, ptr noundef nonnull @.str.4) #13
  %1225 = load i32, ptr %1206, align 4, !tbaa !5
  %1226 = call ptr @strerror(i32 noundef %1225) #13
  %1227 = load i32, ptr %1206, align 4, !tbaa !5
  %1228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1218, ptr noundef nonnull %.str.5.sink2358, i32 noundef %1219, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %1222, ptr noundef %1224, ptr noundef %1226, i32 noundef %1227) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1229:                                             ; preds = %1200
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = call ptr @s2n_cert_chain_and_key_new() #13
  %1233 = icmp eq ptr %1232, null
  br i1 %1233, label %1234, label %1258

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

1241:                                             ; preds = %1234
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = call i32 @fileno(ptr noundef %1242) #13
  %1244 = call i32 @isatty(i32 noundef %1243) #13
  %.not1864 = icmp eq i32 %1244, 0
  br i1 %.not1864, label %1245, label %1246

1245:                                             ; preds = %1241, %1234
  br label %1246

1246:                                             ; preds = %1241, %1245
  %.str.5.sink2369 = phi ptr [ @.str.5, %1245 ], [ @.str.2, %1241 ]
  store i32 %1236, ptr %1235, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = call ptr @s2n_strerror(i32 noundef %1250, ptr noundef nonnull @.str.4) #13
  %1252 = load i32, ptr %1249, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror_debug(i32 noundef %1252, ptr noundef nonnull @.str.4) #13
  %1254 = load i32, ptr %1235, align 4, !tbaa !5
  %1255 = call ptr @strerror(i32 noundef %1254) #13
  %1256 = load i32, ptr %1235, align 4, !tbaa !5
  %1257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1247, ptr noundef nonnull %.str.5.sink2369, i32 noundef %1248, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %1251, ptr noundef %1253, ptr noundef %1255, i32 noundef %1256) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1258:                                             ; preds = %1229
  %1259 = load i32, ptr @test_count, align 4, !tbaa !5
  %1260 = add nsw i32 %1259, 1
  store i32 %1260, ptr @test_count, align 4, !tbaa !5
  %1261 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %1232, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %1262 = icmp eq i32 %1261, -1
  br i1 %1262, label %1263, label %1287

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

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

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

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

1287:                                             ; preds = %1258
  %1288 = load i32, ptr @test_count, align 4, !tbaa !5
  %1289 = add nsw i32 %1288, 1
  store i32 %1289, ptr @test_count, align 4, !tbaa !5
  %1290 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1145, ptr noundef nonnull %1232) #13
  %1291 = icmp eq i32 %1290, -1
  br i1 %1291, label %1292, label %1316

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

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

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

1304:                                             ; preds = %1299, %1303
  %.str.5.sink2391 = phi ptr [ @.str.5, %1303 ], [ @.str.2, %1299 ]
  store i32 %1294, ptr %1293, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror(i32 noundef %1308, ptr noundef nonnull @.str.4) #13
  %1310 = load i32, ptr %1307, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror_debug(i32 noundef %1310, ptr noundef nonnull @.str.4) #13
  %1312 = load i32, ptr %1293, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #13
  %1314 = load i32, ptr %1293, align 4, !tbaa !5
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef nonnull %.str.5.sink2391, i32 noundef %1306, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %1309, ptr noundef %1311, ptr noundef %1313, i32 noundef %1314) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1316:                                             ; preds = %1287
  %1317 = load i32, ptr @test_count, align 4, !tbaa !5
  %1318 = add nsw i32 %1317, 1
  store i32 %1318, ptr @test_count, align 4, !tbaa !5
  %1319 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1084, ptr noundef nonnull %1145) #13
  %1320 = icmp eq i32 %1319, -1
  br i1 %1320, label %1321, label %1345

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

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

1332:                                             ; preds = %1328, %1321
  br label %1333

1333:                                             ; preds = %1328, %1332
  %.str.5.sink2402 = phi ptr [ @.str.5, %1332 ], [ @.str.2, %1328 ]
  store i32 %1323, ptr %1322, 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 nonnull @.str.4) #13
  %1339 = load i32, ptr %1336, align 4, !tbaa !5
  %1340 = call ptr @s2n_strerror_debug(i32 noundef %1339, ptr noundef nonnull @.str.4) #13
  %1341 = load i32, ptr %1322, align 4, !tbaa !5
  %1342 = call ptr @strerror(i32 noundef %1341) #13
  %1343 = load i32, ptr %1322, align 4, !tbaa !5
  %1344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1334, ptr noundef nonnull %.str.5.sink2402, i32 noundef %1335, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %1338, ptr noundef %1340, ptr noundef %1342, i32 noundef %1343) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1345:                                             ; preds = %1316
  %1346 = load i32, ptr @test_count, align 4, !tbaa !5
  %1347 = add nsw i32 %1346, 1
  store i32 %1347, ptr @test_count, align 4, !tbaa !5
  %1348 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1084, ptr noundef nonnull %994) #13
  %1349 = icmp eq i32 %1348, -1
  br i1 %1349, label %1350, label %1374

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

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

1361:                                             ; preds = %1357, %1350
  br label %1362

1362:                                             ; preds = %1357, %1361
  %.str.5.sink2413 = phi ptr [ @.str.5, %1361 ], [ @.str.2, %1357 ]
  store i32 %1352, ptr %1351, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1366 = load i32, ptr %1365, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror(i32 noundef %1366, ptr noundef nonnull @.str.4) #13
  %1368 = load i32, ptr %1365, align 4, !tbaa !5
  %1369 = call ptr @s2n_strerror_debug(i32 noundef %1368, ptr noundef nonnull @.str.4) #13
  %1370 = load i32, ptr %1351, align 4, !tbaa !5
  %1371 = call ptr @strerror(i32 noundef %1370) #13
  %1372 = load i32, ptr %1351, align 4, !tbaa !5
  %1373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef nonnull %.str.5.sink2413, i32 noundef %1364, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1367, ptr noundef %1369, ptr noundef %1371, i32 noundef %1372) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1374:                                             ; preds = %1345
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr @test_count, align 4, !tbaa !5
  %1377 = call ptr @s2n_get_server_name(ptr noundef nonnull %1084) #13
  %1378 = icmp eq ptr %1377, null
  br i1 %1378, label %1379, label %1403

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

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

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

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

1403:                                             ; preds = %1374
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = add nsw i32 %1404, 1
  store i32 %1405, ptr @test_count, align 4, !tbaa !5
  %1406 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1377) #18
  %1407 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) @.str.39) #18
  %1408 = icmp eq i64 %1406, %1407
  br i1 %1408, label %1433, label %1409

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

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

1420:                                             ; preds = %1416, %1409
  br label %1421

1421:                                             ; preds = %1416, %1420
  %.str.5.sink2435 = phi ptr [ @.str.5, %1420 ], [ @.str.2, %1416 ]
  store i32 %1411, ptr %1410, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = load i32, ptr @test_count, align 4, !tbaa !5
  %1424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call ptr @s2n_strerror(i32 noundef %1425, ptr noundef nonnull @.str.4) #13
  %1427 = load i32, ptr %1424, align 4, !tbaa !5
  %1428 = call ptr @s2n_strerror_debug(i32 noundef %1427, ptr noundef nonnull @.str.4) #13
  %1429 = load i32, ptr %1410, align 4, !tbaa !5
  %1430 = call ptr @strerror(i32 noundef %1429) #13
  %1431 = load i32, ptr %1410, align 4, !tbaa !5
  %1432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1422, ptr noundef nonnull %.str.5.sink2435, i32 noundef %1423, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %1426, ptr noundef %1428, ptr noundef %1430, i32 noundef %1431) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1433:                                             ; preds = %1403
  %.not1477 = icmp eq i64 %1406, 0
  br i1 %.not1477, label %1462, label %1434

1434:                                             ; preds = %1433
  %1435 = add nsw i32 %1404, 2
  store i32 %1435, ptr @test_count, align 4, !tbaa !5
  %1436 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %1377) #18
  %bcmp = call i32 @bcmp(ptr nonnull %1377, ptr nonnull @.str.39, i64 %1436)
  %1437 = icmp eq i32 %bcmp, 0
  br i1 %1437, label %1462, label %1438

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

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

1449:                                             ; preds = %1445, %1438
  br label %1450

1450:                                             ; preds = %1445, %1449
  %.str.5.sink2446 = phi ptr [ @.str.5, %1449 ], [ @.str.2, %1445 ]
  store i32 %1440, ptr %1439, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = load i32, ptr @test_count, align 4, !tbaa !5
  %1453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror(i32 noundef %1454, ptr noundef nonnull @.str.4) #13
  %1456 = load i32, ptr %1453, align 4, !tbaa !5
  %1457 = call ptr @s2n_strerror_debug(i32 noundef %1456, ptr noundef nonnull @.str.4) #13
  %1458 = load i32, ptr %1439, align 4, !tbaa !5
  %1459 = call ptr @strerror(i32 noundef %1458) #13
  %1460 = load i32, ptr %1439, align 4, !tbaa !5
  %1461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1451, ptr noundef nonnull %.str.5.sink2446, i32 noundef %1452, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %1455, ptr noundef %1457, ptr noundef %1459, i32 noundef %1460) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1462:                                             ; preds = %1433, %1434
  %1463 = phi i32 [ %1405, %1433 ], [ %1435, %1434 ]
  %1464 = add nsw i32 %1463, 1
  store i32 %1464, ptr @test_count, align 4, !tbaa !5
  %1465 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %1084, ptr noundef nonnull %994) #13
  %1466 = icmp eq i32 %1465, -1
  br i1 %1466, label %1467, label %1491

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

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

1478:                                             ; preds = %1474, %1467
  br label %1479

1479:                                             ; preds = %1474, %1478
  %.str.5.sink2457 = phi ptr [ @.str.5, %1478 ], [ @.str.2, %1474 ]
  store i32 %1469, ptr %1468, align 4, !tbaa !5
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = load i32, ptr @test_count, align 4, !tbaa !5
  %1482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror(i32 noundef %1483, ptr noundef nonnull @.str.4) #13
  %1485 = load i32, ptr %1482, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef nonnull @.str.4) #13
  %1487 = load i32, ptr %1468, align 4, !tbaa !5
  %1488 = call ptr @strerror(i32 noundef %1487) #13
  %1489 = load i32, ptr %1468, align 4, !tbaa !5
  %1490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1480, ptr noundef nonnull %.str.5.sink2457, i32 noundef %1481, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %1484, ptr noundef %1486, ptr noundef %1488, i32 noundef %1489) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1491:                                             ; preds = %1462
  %1492 = load i32, ptr @test_count, align 4, !tbaa !5
  %1493 = add nsw i32 %1492, 1
  store i32 %1493, ptr @test_count, align 4, !tbaa !5
  %1494 = call i32 @s2n_connection_free(ptr noundef nonnull %1084) #13
  %1495 = icmp eq i32 %1494, -1
  br i1 %1495, label %1496, label %1520

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

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

1507:                                             ; preds = %1503, %1496
  br label %1508

1508:                                             ; preds = %1503, %1507
  %.str.5.sink2468 = phi ptr [ @.str.5, %1507 ], [ @.str.2, %1503 ]
  store i32 %1498, ptr %1497, align 4, !tbaa !5
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1512 = load i32, ptr %1511, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror(i32 noundef %1512, ptr noundef nonnull @.str.4) #13
  %1514 = load i32, ptr %1511, align 4, !tbaa !5
  %1515 = call ptr @s2n_strerror_debug(i32 noundef %1514, ptr noundef nonnull @.str.4) #13
  %1516 = load i32, ptr %1497, align 4, !tbaa !5
  %1517 = call ptr @strerror(i32 noundef %1516) #13
  %1518 = load i32, ptr %1497, align 4, !tbaa !5
  %1519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1509, ptr noundef nonnull %.str.5.sink2468, i32 noundef %1510, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %1513, ptr noundef %1515, ptr noundef %1517, i32 noundef %1518) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1520:                                             ; preds = %1491
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = add nsw i32 %1521, 1
  store i32 %1522, ptr @test_count, align 4, !tbaa !5
  %1523 = call i32 @s2n_connection_free(ptr noundef nonnull %994) #13
  %1524 = icmp eq i32 %1523, -1
  br i1 %1524, label %1525, label %1549

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

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

1536:                                             ; preds = %1532, %1525
  br label %1537

1537:                                             ; preds = %1532, %1536
  %.str.5.sink2479 = phi ptr [ @.str.5, %1536 ], [ @.str.2, %1532 ]
  store i32 %1527, ptr %1526, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror(i32 noundef %1541, ptr noundef nonnull @.str.4) #13
  %1543 = load i32, ptr %1540, align 4, !tbaa !5
  %1544 = call ptr @s2n_strerror_debug(i32 noundef %1543, ptr noundef nonnull @.str.4) #13
  %1545 = load i32, ptr %1526, align 4, !tbaa !5
  %1546 = call ptr @strerror(i32 noundef %1545) #13
  %1547 = load i32, ptr %1526, align 4, !tbaa !5
  %1548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1538, ptr noundef nonnull %.str.5.sink2479, i32 noundef %1539, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %1542, ptr noundef %1544, ptr noundef %1546, i32 noundef %1547) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1549:                                             ; preds = %1520
  %1550 = load i32, ptr @test_count, align 4, !tbaa !5
  %1551 = add nsw i32 %1550, 1
  store i32 %1551, ptr @test_count, align 4, !tbaa !5
  %1552 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %1232) #13
  %1553 = icmp eq i32 %1552, -1
  br i1 %1553, label %1554, label %1578

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

1561:                                             ; preds = %1554
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = call i32 @fileno(ptr noundef %1562) #13
  %1564 = call i32 @isatty(i32 noundef %1563) #13
  %.not1855 = icmp eq i32 %1564, 0
  br i1 %.not1855, label %1565, label %1566

1565:                                             ; preds = %1561, %1554
  br label %1566

1566:                                             ; preds = %1561, %1565
  %.str.5.sink2490 = phi ptr [ @.str.5, %1565 ], [ @.str.2, %1561 ]
  store i32 %1556, ptr %1555, align 4, !tbaa !5
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = load i32, ptr @test_count, align 4, !tbaa !5
  %1569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  %1571 = call ptr @s2n_strerror(i32 noundef %1570, ptr noundef nonnull @.str.4) #13
  %1572 = load i32, ptr %1569, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef nonnull @.str.4) #13
  %1574 = load i32, ptr %1555, align 4, !tbaa !5
  %1575 = call ptr @strerror(i32 noundef %1574) #13
  %1576 = load i32, ptr %1555, align 4, !tbaa !5
  %1577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1567, ptr noundef nonnull %.str.5.sink2490, i32 noundef %1568, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %1571, ptr noundef %1573, ptr noundef %1575, i32 noundef %1576) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1578:                                             ; preds = %1549
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = add nsw i32 %1579, 1
  store i32 %1580, ptr @test_count, align 4, !tbaa !5
  %1581 = call i32 @s2n_config_free(ptr noundef nonnull %1145) #13
  %1582 = icmp eq i32 %1581, -1
  br i1 %1582, label %1583, label %1607

1583:                                             ; preds = %1578
  %1584 = tail call ptr @__errno_location() #14
  %1585 = load i32, ptr %1584, align 4, !tbaa !5
  %1586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1587 = call i32 @s2n_print_stacktrace(ptr noundef %1586) #13
  %1588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1589 = trunc nuw i8 %1588 to i1
  br i1 %1589, label %1590, label %1594

1590:                                             ; preds = %1583
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = call i32 @fileno(ptr noundef %1591) #13
  %1593 = call i32 @isatty(i32 noundef %1592) #13
  %.not1854 = icmp eq i32 %1593, 0
  br i1 %.not1854, label %1594, label %1595

1594:                                             ; preds = %1590, %1583
  br label %1595

1595:                                             ; preds = %1590, %1594
  %.str.5.sink2501 = phi ptr [ @.str.5, %1594 ], [ @.str.2, %1590 ]
  store i32 %1585, ptr %1584, align 4, !tbaa !5
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = load i32, ptr @test_count, align 4, !tbaa !5
  %1598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror(i32 noundef %1599, ptr noundef nonnull @.str.4) #13
  %1601 = load i32, ptr %1598, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror_debug(i32 noundef %1601, ptr noundef nonnull @.str.4) #13
  %1603 = load i32, ptr %1584, align 4, !tbaa !5
  %1604 = call ptr @strerror(i32 noundef %1603) #13
  %1605 = load i32, ptr %1584, align 4, !tbaa !5
  %1606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1596, ptr noundef nonnull %.str.5.sink2501, i32 noundef %1597, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %1600, ptr noundef %1602, ptr noundef %1604, i32 noundef %1605) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1607:                                             ; preds = %1578
  %1608 = load i32, ptr @test_count, align 4, !tbaa !5
  %1609 = add nsw i32 %1608, 1
  store i32 %1609, ptr @test_count, align 4, !tbaa !5
  %1610 = call i32 @s2n_config_free(ptr noundef nonnull %907) #13
  %1611 = icmp eq i32 %1610, -1
  br i1 %1611, label %1612, label %1636

1612:                                             ; preds = %1607
  %1613 = tail call ptr @__errno_location() #14
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = call i32 @s2n_print_stacktrace(ptr noundef %1615) #13
  %1617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1618 = trunc nuw i8 %1617 to i1
  br i1 %1618, label %1619, label %1623

1619:                                             ; preds = %1612
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = call i32 @fileno(ptr noundef %1620) #13
  %1622 = call i32 @isatty(i32 noundef %1621) #13
  %.not1853 = icmp eq i32 %1622, 0
  br i1 %.not1853, label %1623, label %1624

1623:                                             ; preds = %1619, %1612
  br label %1624

1624:                                             ; preds = %1619, %1623
  %.str.5.sink2512 = phi ptr [ @.str.5, %1623 ], [ @.str.2, %1619 ]
  store i32 %1614, ptr %1613, align 4, !tbaa !5
  %1625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1626 = load i32, ptr @test_count, align 4, !tbaa !5
  %1627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1628 = load i32, ptr %1627, align 4, !tbaa !5
  %1629 = call ptr @s2n_strerror(i32 noundef %1628, ptr noundef nonnull @.str.4) #13
  %1630 = load i32, ptr %1627, align 4, !tbaa !5
  %1631 = call ptr @s2n_strerror_debug(i32 noundef %1630, ptr noundef nonnull @.str.4) #13
  %1632 = load i32, ptr %1613, align 4, !tbaa !5
  %1633 = call ptr @strerror(i32 noundef %1632) #13
  %1634 = load i32, ptr %1613, align 4, !tbaa !5
  %1635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1625, ptr noundef nonnull %.str.5.sink2512, i32 noundef %1626, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %1629, ptr noundef %1631, ptr noundef %1633, i32 noundef %1634) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1636:                                             ; preds = %1607
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #13
  store i32 0, ptr %5, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #13
  store i32 0, ptr %6, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 75, ptr nonnull %7) #13
  store <16 x i8> <i8 3, i8 3, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13>, ptr %7, align 16, !tbaa !44
  %1637 = getelementptr inbounds i8, ptr %7, i64 16
  store <16 x i8> <i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29>, ptr %1637, align 16, !tbaa !44
  %1638 = getelementptr inbounds i8, ptr %7, i64 32
  store <16 x i8> <i8 30, i8 31, i8 32, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12>, ptr %1638, align 16, !tbaa !44
  %1639 = getelementptr inbounds i8, ptr %7, i64 48
  store <16 x i8> <i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28>, ptr %1639, align 16, !tbaa !44
  %1640 = getelementptr inbounds i8, ptr %7, i64 64
  store <8 x i8> <i8 29, i8 30, i8 31, i8 0, i8 2, i8 0, i8 60, i8 1>, ptr %1640, align 16, !tbaa !44
  %1641 = getelementptr inbounds i8, ptr %7, i64 72
  store i8 0, ptr %1641, align 8, !tbaa !44
  %1642 = getelementptr inbounds i8, ptr %7, i64 73
  store i8 0, ptr %1642, align 1, !tbaa !44
  %1643 = getelementptr inbounds i8, ptr %7, i64 74
  store i8 16, ptr %1643, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #13
  store <4 x i8> <i8 1, i8 0, i8 0, i8 91>, ptr %8, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %9) #13
  store <4 x i8> <i8 22, i8 1, i8 1, i8 0>, ptr %9, align 4, !tbaa !44
  %1644 = getelementptr inbounds i8, ptr %9, i64 4
  store i8 95, ptr %1644, align 4, !tbaa !44
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = add nsw i32 %1645, 1
  store i32 %1646, ptr @test_count, align 4, !tbaa !5
  %1647 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %1648 = icmp eq ptr %1647, null
  br i1 %1648, label %1649, label %1673

1649:                                             ; preds = %1636
  %1650 = tail call ptr @__errno_location() #14
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = call i32 @s2n_print_stacktrace(ptr noundef %1652) #13
  %1654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1655 = trunc nuw i8 %1654 to i1
  br i1 %1655, label %1656, label %1660

1656:                                             ; preds = %1649
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = call i32 @fileno(ptr noundef %1657) #13
  %1659 = call i32 @isatty(i32 noundef %1658) #13
  %.not1852 = icmp eq i32 %1659, 0
  br i1 %.not1852, label %1660, label %1661

1660:                                             ; preds = %1656, %1649
  br label %1661

1661:                                             ; preds = %1656, %1660
  %.str.5.sink2523 = phi ptr [ @.str.5, %1660 ], [ @.str.2, %1656 ]
  store i32 %1651, ptr %1650, align 4, !tbaa !5
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = load i32, ptr @test_count, align 4, !tbaa !5
  %1664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1665 = load i32, ptr %1664, align 4, !tbaa !5
  %1666 = call ptr @s2n_strerror(i32 noundef %1665, ptr noundef nonnull @.str.4) #13
  %1667 = load i32, ptr %1664, align 4, !tbaa !5
  %1668 = call ptr @s2n_strerror_debug(i32 noundef %1667, ptr noundef nonnull @.str.4) #13
  %1669 = load i32, ptr %1650, align 4, !tbaa !5
  %1670 = call ptr @strerror(i32 noundef %1669) #13
  %1671 = load i32, ptr %1650, align 4, !tbaa !5
  %1672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1662, ptr noundef nonnull %.str.5.sink2523, i32 noundef %1663, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 354, ptr noundef %1666, ptr noundef %1668, ptr noundef %1670, i32 noundef %1671) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1673:                                             ; preds = %1636
  %1674 = getelementptr inbounds i8, ptr %1647, i64 220
  store i8 33, ptr %1674, align 4, !tbaa !15
  %1675 = getelementptr inbounds i8, ptr %1647, i64 219
  store i8 33, ptr %1675, align 1, !tbaa !42
  %1676 = getelementptr inbounds i8, ptr %1647, i64 218
  store i8 33, ptr %1676, align 2, !tbaa !43
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = add nsw i32 %1677, 1
  store i32 %1678, ptr @test_count, align 4, !tbaa !5
  %1679 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %1647, ptr noundef nonnull %3) #13
  %1680 = icmp eq i32 %1679, -1
  br i1 %1680, label %1681, label %1705

1681:                                             ; preds = %1673
  %1682 = tail call ptr @__errno_location() #14
  %1683 = load i32, ptr %1682, align 4, !tbaa !5
  %1684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1685 = call i32 @s2n_print_stacktrace(ptr noundef %1684) #13
  %1686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1687 = trunc nuw i8 %1686 to i1
  br i1 %1687, label %1688, label %1692

1688:                                             ; preds = %1681
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = call i32 @fileno(ptr noundef %1689) #13
  %1691 = call i32 @isatty(i32 noundef %1690) #13
  %.not1851 = icmp eq i32 %1691, 0
  br i1 %.not1851, label %1692, label %1693

1692:                                             ; preds = %1688, %1681
  br label %1693

1693:                                             ; preds = %1688, %1692
  %.str.5.sink2534 = phi ptr [ @.str.5, %1692 ], [ @.str.2, %1688 ]
  store i32 %1683, ptr %1682, align 4, !tbaa !5
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = load i32, ptr @test_count, align 4, !tbaa !5
  %1696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1697 = load i32, ptr %1696, align 4, !tbaa !5
  %1698 = call ptr @s2n_strerror(i32 noundef %1697, ptr noundef nonnull @.str.4) #13
  %1699 = load i32, ptr %1696, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef %1699, ptr noundef nonnull @.str.4) #13
  %1701 = load i32, ptr %1682, align 4, !tbaa !5
  %1702 = call ptr @strerror(i32 noundef %1701) #13
  %1703 = load i32, ptr %1682, align 4, !tbaa !5
  %1704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1694, ptr noundef nonnull %.str.5.sink2534, i32 noundef %1695, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %1698, ptr noundef %1700, ptr noundef %1702, i32 noundef %1703) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1705:                                             ; preds = %1673
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = add nsw i32 %1706, 1
  store i32 %1707, ptr @test_count, align 4, !tbaa !5
  %1708 = call ptr @s2n_config_new() #13
  %1709 = icmp eq ptr %1708, null
  br i1 %1709, label %1710, label %1734

1710:                                             ; preds = %1705
  %1711 = tail call ptr @__errno_location() #14
  %1712 = load i32, ptr %1711, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = call i32 @s2n_print_stacktrace(ptr noundef %1713) #13
  %1715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1716 = trunc nuw i8 %1715 to i1
  br i1 %1716, label %1717, label %1721

1717:                                             ; preds = %1710
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = call i32 @fileno(ptr noundef %1718) #13
  %1720 = call i32 @isatty(i32 noundef %1719) #13
  %.not1850 = icmp eq i32 %1720, 0
  br i1 %.not1850, label %1721, label %1722

1721:                                             ; preds = %1717, %1710
  br label %1722

1722:                                             ; preds = %1717, %1721
  %.str.5.sink2545 = phi ptr [ @.str.5, %1721 ], [ @.str.2, %1717 ]
  store i32 %1712, ptr %1711, align 4, !tbaa !5
  %1723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1724 = load i32, ptr @test_count, align 4, !tbaa !5
  %1725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call ptr @s2n_strerror(i32 noundef %1726, ptr noundef nonnull @.str.4) #13
  %1728 = load i32, ptr %1725, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror_debug(i32 noundef %1728, ptr noundef nonnull @.str.4) #13
  %1730 = load i32, ptr %1711, align 4, !tbaa !5
  %1731 = call ptr @strerror(i32 noundef %1730) #13
  %1732 = load i32, ptr %1711, align 4, !tbaa !5
  %1733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1723, ptr noundef nonnull %.str.5.sink2545, i32 noundef %1724, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %1727, ptr noundef %1729, ptr noundef %1731, i32 noundef %1732) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1734:                                             ; preds = %1705
  %1735 = load i32, ptr @test_count, align 4, !tbaa !5
  %1736 = add nsw i32 %1735, 1
  store i32 %1736, ptr @test_count, align 4, !tbaa !5
  %1737 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %1708, ptr noundef nonnull @.str.50) #13
  %1738 = icmp eq i32 %1737, -1
  br i1 %1738, label %1739, label %1763

1739:                                             ; preds = %1734
  %1740 = tail call ptr @__errno_location() #14
  %1741 = load i32, ptr %1740, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = call i32 @s2n_print_stacktrace(ptr noundef %1742) #13
  %1744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1745 = trunc nuw i8 %1744 to i1
  br i1 %1745, label %1746, label %1750

1746:                                             ; preds = %1739
  %1747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1748 = call i32 @fileno(ptr noundef %1747) #13
  %1749 = call i32 @isatty(i32 noundef %1748) #13
  %.not1849 = icmp eq i32 %1749, 0
  br i1 %.not1849, label %1750, label %1751

1750:                                             ; preds = %1746, %1739
  br label %1751

1751:                                             ; preds = %1746, %1750
  %.str.5.sink2556 = phi ptr [ @.str.5, %1750 ], [ @.str.2, %1746 ]
  store i32 %1741, ptr %1740, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1755 = load i32, ptr %1754, align 4, !tbaa !5
  %1756 = call ptr @s2n_strerror(i32 noundef %1755, ptr noundef nonnull @.str.4) #13
  %1757 = load i32, ptr %1754, align 4, !tbaa !5
  %1758 = call ptr @s2n_strerror_debug(i32 noundef %1757, ptr noundef nonnull @.str.4) #13
  %1759 = load i32, ptr %1740, align 4, !tbaa !5
  %1760 = call ptr @strerror(i32 noundef %1759) #13
  %1761 = load i32, ptr %1740, align 4, !tbaa !5
  %1762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1752, ptr noundef nonnull %.str.5.sink2556, i32 noundef %1753, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %1756, ptr noundef %1758, ptr noundef %1760, i32 noundef %1761) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1763:                                             ; preds = %1734
  %1764 = load i32, ptr @test_count, align 4, !tbaa !5
  %1765 = add nsw i32 %1764, 1
  store i32 %1765, ptr @test_count, align 4, !tbaa !5
  %1766 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, ptr noundef nonnull %5, i64 noundef 12000) #13
  %1767 = icmp eq i32 %1766, -1
  br i1 %1767, label %1768, label %1792

1768:                                             ; preds = %1763
  %1769 = tail call ptr @__errno_location() #14
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1772 = call i32 @s2n_print_stacktrace(ptr noundef %1771) #13
  %1773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1774 = trunc nuw i8 %1773 to i1
  br i1 %1774, label %1775, label %1779

1775:                                             ; preds = %1768
  %1776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1777 = call i32 @fileno(ptr noundef %1776) #13
  %1778 = call i32 @isatty(i32 noundef %1777) #13
  %.not1848 = icmp eq i32 %1778, 0
  br i1 %.not1848, label %1779, label %1780

1779:                                             ; preds = %1775, %1768
  br label %1780

1780:                                             ; preds = %1775, %1779
  %.str.5.sink2567 = phi ptr [ @.str.5, %1779 ], [ @.str.2, %1775 ]
  store i32 %1770, ptr %1769, align 4, !tbaa !5
  %1781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1782 = load i32, ptr @test_count, align 4, !tbaa !5
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef nonnull @.str.4) #13
  %1786 = load i32, ptr %1783, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror_debug(i32 noundef %1786, ptr noundef nonnull @.str.4) #13
  %1788 = load i32, ptr %1769, align 4, !tbaa !5
  %1789 = call ptr @strerror(i32 noundef %1788) #13
  %1790 = load i32, ptr %1769, align 4, !tbaa !5
  %1791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1781, ptr noundef nonnull %.str.5.sink2567, i32 noundef %1782, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %1785, ptr noundef %1787, ptr noundef %1789, i32 noundef %1790) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1792:                                             ; preds = %1763
  %1793 = load i32, ptr @test_count, align 4, !tbaa !5
  %1794 = add nsw i32 %1793, 1
  store i32 %1794, ptr @test_count, align 4, !tbaa !5
  %1795 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, ptr noundef nonnull %6, i64 noundef 12000) #13
  %1796 = icmp eq i32 %1795, -1
  br i1 %1796, label %1797, label %1821

1797:                                             ; preds = %1792
  %1798 = tail call ptr @__errno_location() #14
  %1799 = load i32, ptr %1798, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = call i32 @s2n_print_stacktrace(ptr noundef %1800) #13
  %1802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1803 = trunc nuw i8 %1802 to i1
  br i1 %1803, label %1804, label %1808

1804:                                             ; preds = %1797
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = call i32 @fileno(ptr noundef %1805) #13
  %1807 = call i32 @isatty(i32 noundef %1806) #13
  %.not1847 = icmp eq i32 %1807, 0
  br i1 %.not1847, label %1808, label %1809

1808:                                             ; preds = %1804, %1797
  br label %1809

1809:                                             ; preds = %1804, %1808
  %.str.5.sink2578 = phi ptr [ @.str.5, %1808 ], [ @.str.2, %1804 ]
  store i32 %1799, ptr %1798, align 4, !tbaa !5
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = load i32, ptr @test_count, align 4, !tbaa !5
  %1812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1813 = load i32, ptr %1812, align 4, !tbaa !5
  %1814 = call ptr @s2n_strerror(i32 noundef %1813, ptr noundef nonnull @.str.4) #13
  %1815 = load i32, ptr %1812, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror_debug(i32 noundef %1815, ptr noundef nonnull @.str.4) #13
  %1817 = load i32, ptr %1798, align 4, !tbaa !5
  %1818 = call ptr @strerror(i32 noundef %1817) #13
  %1819 = load i32, ptr %1798, align 4, !tbaa !5
  %1820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1810, ptr noundef nonnull %.str.5.sink2578, i32 noundef %1811, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %1814, ptr noundef %1816, ptr noundef %1818, i32 noundef %1819) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1821:                                             ; preds = %1792
  %1822 = load i32, ptr @test_count, align 4, !tbaa !5
  %1823 = add nsw i32 %1822, 1
  store i32 %1823, ptr @test_count, align 4, !tbaa !5
  %1824 = call ptr @s2n_cert_chain_and_key_new() #13
  %1825 = icmp eq ptr %1824, null
  br i1 %1825, label %1826, label %1850

1826:                                             ; preds = %1821
  %1827 = tail call ptr @__errno_location() #14
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = call i32 @s2n_print_stacktrace(ptr noundef %1829) #13
  %1831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1832 = trunc nuw i8 %1831 to i1
  br i1 %1832, label %1833, label %1837

1833:                                             ; preds = %1826
  %1834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1835 = call i32 @fileno(ptr noundef %1834) #13
  %1836 = call i32 @isatty(i32 noundef %1835) #13
  %.not1846 = icmp eq i32 %1836, 0
  br i1 %.not1846, label %1837, label %1838

1837:                                             ; preds = %1833, %1826
  br label %1838

1838:                                             ; preds = %1833, %1837
  %.str.5.sink2589 = phi ptr [ @.str.5, %1837 ], [ @.str.2, %1833 ]
  store i32 %1828, ptr %1827, align 4, !tbaa !5
  %1839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1840 = load i32, ptr @test_count, align 4, !tbaa !5
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror(i32 noundef %1842, ptr noundef nonnull @.str.4) #13
  %1844 = load i32, ptr %1841, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror_debug(i32 noundef %1844, ptr noundef nonnull @.str.4) #13
  %1846 = load i32, ptr %1827, align 4, !tbaa !5
  %1847 = call ptr @strerror(i32 noundef %1846) #13
  %1848 = load i32, ptr %1827, align 4, !tbaa !5
  %1849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1839, ptr noundef nonnull %.str.5.sink2589, i32 noundef %1840, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %1843, ptr noundef %1845, ptr noundef %1847, i32 noundef %1848) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1850:                                             ; preds = %1821
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = add nsw i32 %1851, 1
  store i32 %1852, ptr @test_count, align 4, !tbaa !5
  %1853 = load i32, ptr %5, align 4, !tbaa !5
  %1854 = load i32, ptr %6, align 4, !tbaa !5
  %1855 = call i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef nonnull %1824, ptr noundef nonnull %149, i32 noundef %1853, ptr noundef nonnull %177, i32 noundef %1854) #13
  %1856 = icmp eq i32 %1855, -1
  br i1 %1856, label %1857, label %1881

1857:                                             ; preds = %1850
  %1858 = tail call ptr @__errno_location() #14
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @s2n_print_stacktrace(ptr noundef %1860) #13
  %1862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1863 = trunc nuw i8 %1862 to i1
  br i1 %1863, label %1864, label %1868

1864:                                             ; preds = %1857
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = call i32 @fileno(ptr noundef %1865) #13
  %1867 = call i32 @isatty(i32 noundef %1866) #13
  %.not1845 = icmp eq i32 %1867, 0
  br i1 %.not1845, label %1868, label %1869

1868:                                             ; preds = %1864, %1857
  br label %1869

1869:                                             ; preds = %1864, %1868
  %.str.5.sink2600 = phi ptr [ @.str.5, %1868 ], [ @.str.2, %1864 ]
  store i32 %1859, ptr %1858, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror(i32 noundef %1873, ptr noundef nonnull @.str.4) #13
  %1875 = load i32, ptr %1872, align 4, !tbaa !5
  %1876 = call ptr @s2n_strerror_debug(i32 noundef %1875, ptr noundef nonnull @.str.4) #13
  %1877 = load i32, ptr %1858, align 4, !tbaa !5
  %1878 = call ptr @strerror(i32 noundef %1877) #13
  %1879 = load i32, ptr %1858, align 4, !tbaa !5
  %1880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef nonnull %.str.5.sink2600, i32 noundef %1871, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %1874, ptr noundef %1876, ptr noundef %1878, i32 noundef %1879) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1881:                                             ; preds = %1850
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = add nsw i32 %1882, 1
  store i32 %1883, ptr @test_count, align 4, !tbaa !5
  %1884 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1708, ptr noundef nonnull %1824) #13
  %1885 = icmp eq i32 %1884, -1
  br i1 %1885, label %1886, label %1910

1886:                                             ; preds = %1881
  %1887 = tail call ptr @__errno_location() #14
  %1888 = load i32, ptr %1887, align 4, !tbaa !5
  %1889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1890 = call i32 @s2n_print_stacktrace(ptr noundef %1889) #13
  %1891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1892 = trunc nuw i8 %1891 to i1
  br i1 %1892, label %1893, label %1897

1893:                                             ; preds = %1886
  %1894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1895 = call i32 @fileno(ptr noundef %1894) #13
  %1896 = call i32 @isatty(i32 noundef %1895) #13
  %.not1844 = icmp eq i32 %1896, 0
  br i1 %.not1844, label %1897, label %1898

1897:                                             ; preds = %1893, %1886
  br label %1898

1898:                                             ; preds = %1893, %1897
  %.str.5.sink2611 = phi ptr [ @.str.5, %1897 ], [ @.str.2, %1893 ]
  store i32 %1888, ptr %1887, align 4, !tbaa !5
  %1899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1900 = load i32, ptr @test_count, align 4, !tbaa !5
  %1901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = call ptr @s2n_strerror(i32 noundef %1902, ptr noundef nonnull @.str.4) #13
  %1904 = load i32, ptr %1901, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror_debug(i32 noundef %1904, ptr noundef nonnull @.str.4) #13
  %1906 = load i32, ptr %1887, align 4, !tbaa !5
  %1907 = call ptr @strerror(i32 noundef %1906) #13
  %1908 = load i32, ptr %1887, align 4, !tbaa !5
  %1909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1899, ptr noundef nonnull %.str.5.sink2611, i32 noundef %1900, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %1903, ptr noundef %1905, ptr noundef %1907, i32 noundef %1908) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1910:                                             ; preds = %1881
  %1911 = load i32, ptr @test_count, align 4, !tbaa !5
  %1912 = add nsw i32 %1911, 1
  store i32 %1912, ptr @test_count, align 4, !tbaa !5
  %1913 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1647, ptr noundef nonnull %1708) #13
  %1914 = icmp eq i32 %1913, -1
  br i1 %1914, label %1915, label %1939

1915:                                             ; preds = %1910
  %1916 = tail call ptr @__errno_location() #14
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918) #13
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc nuw i8 %1920 to i1
  br i1 %1921, label %1922, label %1926

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

1926:                                             ; preds = %1922, %1915
  br label %1927

1927:                                             ; preds = %1922, %1926
  %.str.5.sink2622 = phi ptr [ @.str.5, %1926 ], [ @.str.2, %1922 ]
  store i32 %1917, ptr %1916, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = load i32, ptr @test_count, align 4, !tbaa !5
  %1930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1931 = load i32, ptr %1930, align 4, !tbaa !5
  %1932 = call ptr @s2n_strerror(i32 noundef %1931, ptr noundef nonnull @.str.4) #13
  %1933 = load i32, ptr %1930, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror_debug(i32 noundef %1933, ptr noundef nonnull @.str.4) #13
  %1935 = load i32, ptr %1916, align 4, !tbaa !5
  %1936 = call ptr @strerror(i32 noundef %1935) #13
  %1937 = load i32, ptr %1916, align 4, !tbaa !5
  %1938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1928, ptr noundef nonnull %.str.5.sink2622, i32 noundef %1929, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %1932, ptr noundef %1934, ptr noundef %1936, i32 noundef %1937) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1939:                                             ; preds = %1910
  %1940 = load i32, ptr @test_count, align 4, !tbaa !5
  %1941 = add nsw i32 %1940, 1
  store i32 %1941, ptr @test_count, align 4, !tbaa !5
  %1942 = load i32, ptr %3, align 4, !tbaa !45
  %1943 = call i64 @write(i32 noundef %1942, ptr noundef nonnull %9, i64 noundef 5) #13
  %1944 = icmp eq i64 %1943, 5
  br i1 %1944, label %1969, label %1945

1945:                                             ; preds = %1939
  %1946 = tail call ptr @__errno_location() #14
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = call i32 @s2n_print_stacktrace(ptr noundef %1948) #13
  %1950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1951 = trunc nuw i8 %1950 to i1
  br i1 %1951, label %1952, label %1956

1952:                                             ; preds = %1945
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @fileno(ptr noundef %1953) #13
  %1955 = call i32 @isatty(i32 noundef %1954) #13
  %.not1479 = icmp eq i32 %1955, 0
  br i1 %.not1479, label %1956, label %1957

1956:                                             ; preds = %1952, %1945
  br label %1957

1957:                                             ; preds = %1952, %1956
  %.str.5.sink2633 = phi ptr [ @.str.5, %1956 ], [ @.str.2, %1952 ]
  store i32 %1947, ptr %1946, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1961 = load i32, ptr %1960, align 4, !tbaa !5
  %1962 = call ptr @s2n_strerror(i32 noundef %1961, ptr noundef nonnull @.str.4) #13
  %1963 = load i32, ptr %1960, align 4, !tbaa !5
  %1964 = call ptr @s2n_strerror_debug(i32 noundef %1963, ptr noundef nonnull @.str.4) #13
  %1965 = load i32, ptr %1946, align 4, !tbaa !5
  %1966 = call ptr @strerror(i32 noundef %1965) #13
  %1967 = load i32, ptr %1946, align 4, !tbaa !5
  %1968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1958, ptr noundef nonnull %.str.5.sink2633, i32 noundef %1959, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %1962, ptr noundef %1964, ptr noundef %1966, i32 noundef %1967) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1969:                                             ; preds = %1939
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = load i32, ptr %3, align 4, !tbaa !45
  %1973 = call i64 @write(i32 noundef %1972, ptr noundef nonnull %8, i64 noundef 4) #13
  %1974 = icmp eq i64 %1973, 4
  br i1 %1974, label %1999, label %1975

1975:                                             ; preds = %1969
  %1976 = tail call ptr @__errno_location() #14
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = call i32 @s2n_print_stacktrace(ptr noundef %1978) #13
  %1980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1981 = trunc nuw i8 %1980 to i1
  br i1 %1981, label %1982, label %1986

1982:                                             ; preds = %1975
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = call i32 @fileno(ptr noundef %1983) #13
  %1985 = call i32 @isatty(i32 noundef %1984) #13
  %.not1480 = icmp eq i32 %1985, 0
  br i1 %.not1480, label %1986, label %1987

1986:                                             ; preds = %1982, %1975
  br label %1987

1987:                                             ; preds = %1982, %1986
  %.str.5.sink2644 = phi ptr [ @.str.5, %1986 ], [ @.str.2, %1982 ]
  store i32 %1977, ptr %1976, align 4, !tbaa !5
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = load i32, ptr @test_count, align 4, !tbaa !5
  %1990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror(i32 noundef %1991, ptr noundef nonnull @.str.4) #13
  %1993 = load i32, ptr %1990, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef nonnull @.str.4) #13
  %1995 = load i32, ptr %1976, align 4, !tbaa !5
  %1996 = call ptr @strerror(i32 noundef %1995) #13
  %1997 = load i32, ptr %1976, align 4, !tbaa !5
  %1998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1988, ptr noundef nonnull %.str.5.sink2644, i32 noundef %1989, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %1992, ptr noundef %1994, ptr noundef %1996, i32 noundef %1997) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1999:                                             ; preds = %1969
  %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 = load i32, ptr %3, align 4, !tbaa !45
  %2003 = call i64 @write(i32 noundef %2002, ptr noundef nonnull %7, i64 noundef 75) #13
  %2004 = icmp eq i64 %2003, 75
  br i1 %2004, label %2029, label %2005

2005:                                             ; preds = %1999
  %2006 = tail call ptr @__errno_location() #14
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = call i32 @s2n_print_stacktrace(ptr noundef %2008) #13
  %2010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2011 = trunc nuw i8 %2010 to i1
  br i1 %2011, label %2012, label %2016

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

2016:                                             ; preds = %2012, %2005
  br label %2017

2017:                                             ; preds = %2012, %2016
  %.str.5.sink2655 = phi ptr [ @.str.5, %2016 ], [ @.str.2, %2012 ]
  store i32 %2007, ptr %2006, 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 nonnull @.str.4) #13
  %2023 = load i32, ptr %2020, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror_debug(i32 noundef %2023, ptr noundef nonnull @.str.4) #13
  %2025 = load i32, ptr %2006, align 4, !tbaa !5
  %2026 = call ptr @strerror(i32 noundef %2025) #13
  %2027 = load i32, ptr %2006, align 4, !tbaa !5
  %2028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2018, ptr noundef nonnull %.str.5.sink2655, i32 noundef %2019, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %2022, ptr noundef %2024, ptr noundef %2026, i32 noundef %2027) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2029:                                             ; preds = %1999
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = add nsw i32 %2030, 1
  store i32 %2031, ptr @test_count, align 4, !tbaa !5
  %2032 = load i32, ptr %3, align 4, !tbaa !45
  %2033 = call i64 @write(i32 noundef %2032, ptr noundef nonnull @__const.main.client_extensions, i64 noundef 16) #13
  %2034 = icmp eq i64 %2033, 16
  br i1 %2034, label %2059, label %2035

2035:                                             ; preds = %2029
  %2036 = tail call ptr @__errno_location() #14
  %2037 = load i32, ptr %2036, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @s2n_print_stacktrace(ptr noundef %2038) #13
  %2040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc nuw i8 %2040 to i1
  br i1 %2041, label %2042, label %2046

2042:                                             ; preds = %2035
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = call i32 @fileno(ptr noundef %2043) #13
  %2045 = call i32 @isatty(i32 noundef %2044) #13
  %.not1482 = icmp eq i32 %2045, 0
  br i1 %.not1482, label %2046, label %2047

2046:                                             ; preds = %2042, %2035
  br label %2047

2047:                                             ; preds = %2042, %2046
  %.str.5.sink2666 = phi ptr [ @.str.5, %2046 ], [ @.str.2, %2042 ]
  store i32 %2037, ptr %2036, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = load i32, ptr @test_count, align 4, !tbaa !5
  %2050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2051 = load i32, ptr %2050, align 4, !tbaa !5
  %2052 = call ptr @s2n_strerror(i32 noundef %2051, ptr noundef nonnull @.str.4) #13
  %2053 = load i32, ptr %2050, align 4, !tbaa !5
  %2054 = call ptr @s2n_strerror_debug(i32 noundef %2053, ptr noundef nonnull @.str.4) #13
  %2055 = load i32, ptr %2036, align 4, !tbaa !5
  %2056 = call ptr @strerror(i32 noundef %2055) #13
  %2057 = load i32, ptr %2036, align 4, !tbaa !5
  %2058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2048, ptr noundef nonnull %.str.5.sink2666, i32 noundef %2049, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 374, ptr noundef %2052, ptr noundef %2054, ptr noundef %2056, i32 noundef %2057) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2059:                                             ; preds = %2029
  %2060 = call i32 @s2n_negotiate(ptr noundef nonnull %1647, ptr noundef nonnull %4) #13
  %2061 = load i32, ptr @test_count, align 4, !tbaa !5
  %2062 = add nsw i32 %2061, 1
  store i32 %2062, ptr @test_count, align 4, !tbaa !5
  %2063 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %1647) #13
  %.not1483 = icmp eq i32 %2063, 0
  br i1 %.not1483, label %2064, label %2088

2064:                                             ; preds = %2059
  %2065 = tail call ptr @__errno_location() #14
  %2066 = load i32, ptr %2065, align 4, !tbaa !5
  %2067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2068 = call i32 @s2n_print_stacktrace(ptr noundef %2067) #13
  %2069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2070 = trunc nuw i8 %2069 to i1
  br i1 %2070, label %2071, label %2075

2071:                                             ; preds = %2064
  %2072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2073 = call i32 @fileno(ptr noundef %2072) #13
  %2074 = call i32 @isatty(i32 noundef %2073) #13
  %.not1484 = icmp eq i32 %2074, 0
  br i1 %.not1484, label %2075, label %2076

2075:                                             ; preds = %2071, %2064
  br label %2076

2076:                                             ; preds = %2071, %2075
  %.str.5.sink2677 = phi ptr [ @.str.5, %2075 ], [ @.str.2, %2071 ]
  store i32 %2066, ptr %2065, align 4, !tbaa !5
  %2077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2078 = load i32, ptr @test_count, align 4, !tbaa !5
  %2079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror(i32 noundef %2080, ptr noundef nonnull @.str.4) #13
  %2082 = load i32, ptr %2079, align 4, !tbaa !5
  %2083 = call ptr @s2n_strerror_debug(i32 noundef %2082, ptr noundef nonnull @.str.4) #13
  %2084 = load i32, ptr %2065, align 4, !tbaa !5
  %2085 = call ptr @strerror(i32 noundef %2084) #13
  %2086 = load i32, ptr %2065, align 4, !tbaa !5
  %2087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2077, ptr noundef nonnull %.str.5.sink2677, i32 noundef %2078, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %2081, ptr noundef %2083, ptr noundef %2085, i32 noundef %2086) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2088:                                             ; preds = %2059
  %2089 = load i32, ptr @test_count, align 4, !tbaa !5
  %2090 = add nsw i32 %2089, 1
  store i32 %2090, ptr @test_count, align 4, !tbaa !5
  %2091 = getelementptr inbounds i8, ptr %1647, i64 2172
  %2092 = load i32, ptr %2091, align 4, !tbaa !47
  %2093 = icmp eq i32 %2092, 3
  br i1 %2093, label %2118, label %2094

2094:                                             ; preds = %2088
  %2095 = tail call ptr @__errno_location() #14
  %2096 = load i32, ptr %2095, align 4, !tbaa !5
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @s2n_print_stacktrace(ptr noundef %2097) #13
  %2099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2100 = trunc nuw i8 %2099 to i1
  br i1 %2100, label %2101, label %2105

2101:                                             ; preds = %2094
  %2102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2103 = call i32 @fileno(ptr noundef %2102) #13
  %2104 = call i32 @isatty(i32 noundef %2103) #13
  %.not1485 = icmp eq i32 %2104, 0
  br i1 %.not1485, label %2105, label %2106

2105:                                             ; preds = %2101, %2094
  br label %2106

2106:                                             ; preds = %2101, %2105
  %.str.5.sink2688 = phi ptr [ @.str.5, %2105 ], [ @.str.2, %2101 ]
  store i32 %2096, ptr %2095, align 4, !tbaa !5
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = load i32, ptr @test_count, align 4, !tbaa !5
  %2109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror(i32 noundef %2110, ptr noundef nonnull @.str.4) #13
  %2112 = load i32, ptr %2109, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror_debug(i32 noundef %2112, ptr noundef nonnull @.str.4) #13
  %2114 = load i32, ptr %2095, align 4, !tbaa !5
  %2115 = call ptr @strerror(i32 noundef %2114) #13
  %2116 = load i32, ptr %2095, align 4, !tbaa !5
  %2117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2107, ptr noundef nonnull %.str.5.sink2688, i32 noundef %2108, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 379, ptr noundef %2111, ptr noundef %2113, ptr noundef %2115, i32 noundef %2116) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2118:                                             ; preds = %2088
  %2119 = add nsw i32 %2089, 2
  store i32 %2119, ptr @test_count, align 4, !tbaa !5
  %2120 = call ptr @s2n_get_server_name(ptr noundef nonnull %1647) #13
  %2121 = icmp eq ptr %2120, null
  br i1 %2121, label %2122, label %2146

2122:                                             ; preds = %2118
  %2123 = tail call ptr @__errno_location() #14
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = call i32 @s2n_print_stacktrace(ptr noundef %2125) #13
  %2127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2128 = trunc nuw i8 %2127 to i1
  br i1 %2128, label %2129, label %2133

2129:                                             ; preds = %2122
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @fileno(ptr noundef %2130) #13
  %2132 = call i32 @isatty(i32 noundef %2131) #13
  %.not1842 = icmp eq i32 %2132, 0
  br i1 %.not1842, label %2133, label %2134

2133:                                             ; preds = %2129, %2122
  br label %2134

2134:                                             ; preds = %2129, %2133
  %.str.5.sink2699 = phi ptr [ @.str.5, %2133 ], [ @.str.2, %2129 ]
  store i32 %2124, ptr %2123, align 4, !tbaa !5
  %2135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2136 = load i32, ptr @test_count, align 4, !tbaa !5
  %2137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2138 = load i32, ptr %2137, align 4, !tbaa !5
  %2139 = call ptr @s2n_strerror(i32 noundef %2138, ptr noundef nonnull @.str.4) #13
  %2140 = load i32, ptr %2137, align 4, !tbaa !5
  %2141 = call ptr @s2n_strerror_debug(i32 noundef %2140, ptr noundef nonnull @.str.4) #13
  %2142 = load i32, ptr %2123, align 4, !tbaa !5
  %2143 = call ptr @strerror(i32 noundef %2142) #13
  %2144 = load i32, ptr %2123, align 4, !tbaa !5
  %2145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2135, ptr noundef nonnull %.str.5.sink2699, i32 noundef %2136, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %2139, ptr noundef %2141, ptr noundef %2143, i32 noundef %2144) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2146:                                             ; preds = %2118
  %2147 = load i32, ptr @test_count, align 4, !tbaa !5
  %2148 = add nsw i32 %2147, 1
  store i32 %2148, ptr @test_count, align 4, !tbaa !5
  %2149 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %2120) #18
  %2150 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) @.str.48) #18
  %2151 = icmp eq i64 %2149, %2150
  br i1 %2151, label %2176, label %2152

2152:                                             ; preds = %2146
  %2153 = tail call ptr @__errno_location() #14
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @s2n_print_stacktrace(ptr noundef %2155) #13
  %2157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2158 = trunc nuw i8 %2157 to i1
  br i1 %2158, label %2159, label %2163

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

2163:                                             ; preds = %2159, %2152
  br label %2164

2164:                                             ; preds = %2159, %2163
  %.str.5.sink2710 = phi ptr [ @.str.5, %2163 ], [ @.str.2, %2159 ]
  store i32 %2154, ptr %2153, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = load i32, ptr @test_count, align 4, !tbaa !5
  %2167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror(i32 noundef %2168, ptr noundef nonnull @.str.4) #13
  %2170 = load i32, ptr %2167, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror_debug(i32 noundef %2170, ptr noundef nonnull @.str.4) #13
  %2172 = load i32, ptr %2153, align 4, !tbaa !5
  %2173 = call ptr @strerror(i32 noundef %2172) #13
  %2174 = load i32, ptr %2153, align 4, !tbaa !5
  %2175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2165, ptr noundef nonnull %.str.5.sink2710, i32 noundef %2166, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %2169, ptr noundef %2171, ptr noundef %2173, i32 noundef %2174) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2176:                                             ; preds = %2146
  %.not1487 = icmp eq i64 %2149, 0
  br i1 %.not1487, label %2205, label %2177

2177:                                             ; preds = %2176
  %2178 = add nsw i32 %2147, 2
  store i32 %2178, ptr @test_count, align 4, !tbaa !5
  %2179 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %2120) #18
  %bcmp1488 = call i32 @bcmp(ptr nonnull %2120, ptr nonnull @.str.48, i64 %2179)
  %2180 = icmp eq i32 %bcmp1488, 0
  br i1 %2180, label %2205, label %2181

2181:                                             ; preds = %2177
  %2182 = tail call ptr @__errno_location() #14
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = call i32 @s2n_print_stacktrace(ptr noundef %2184) #13
  %2186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2187 = trunc nuw i8 %2186 to i1
  br i1 %2187, label %2188, label %2192

2188:                                             ; preds = %2181
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @fileno(ptr noundef %2189) #13
  %2191 = call i32 @isatty(i32 noundef %2190) #13
  %.not1489 = icmp eq i32 %2191, 0
  br i1 %.not1489, label %2192, label %2193

2192:                                             ; preds = %2188, %2181
  br label %2193

2193:                                             ; preds = %2188, %2192
  %.str.5.sink2721 = phi ptr [ @.str.5, %2192 ], [ @.str.2, %2188 ]
  store i32 %2183, ptr %2182, align 4, !tbaa !5
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = load i32, ptr @test_count, align 4, !tbaa !5
  %2196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2197 = load i32, ptr %2196, align 4, !tbaa !5
  %2198 = call ptr @s2n_strerror(i32 noundef %2197, ptr noundef nonnull @.str.4) #13
  %2199 = load i32, ptr %2196, align 4, !tbaa !5
  %2200 = call ptr @s2n_strerror_debug(i32 noundef %2199, ptr noundef nonnull @.str.4) #13
  %2201 = load i32, ptr %2182, align 4, !tbaa !5
  %2202 = call ptr @strerror(i32 noundef %2201) #13
  %2203 = load i32, ptr %2182, align 4, !tbaa !5
  %2204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2194, ptr noundef nonnull %.str.5.sink2721, i32 noundef %2195, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 384, ptr noundef %2198, ptr noundef %2200, ptr noundef %2202, i32 noundef %2203) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2205:                                             ; preds = %2176, %2177
  %2206 = phi i32 [ %2148, %2176 ], [ %2178, %2177 ]
  %2207 = add nsw i32 %2206, 1
  store i32 %2207, ptr @test_count, align 4, !tbaa !5
  %2208 = call i32 @s2n_shutdown(ptr noundef nonnull %1647, ptr noundef nonnull %4) #13
  %2209 = icmp eq i32 %2208, -1
  br i1 %2209, label %2210, label %2234

2210:                                             ; preds = %2205
  %2211 = tail call ptr @__errno_location() #14
  %2212 = load i32, ptr %2211, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = call i32 @s2n_print_stacktrace(ptr noundef %2213) #13
  %2215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2216 = trunc nuw i8 %2215 to i1
  br i1 %2216, label %2217, label %2221

2217:                                             ; preds = %2210
  %2218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2219 = call i32 @fileno(ptr noundef %2218) #13
  %2220 = call i32 @isatty(i32 noundef %2219) #13
  %.not1841 = icmp eq i32 %2220, 0
  br i1 %.not1841, label %2221, label %2222

2221:                                             ; preds = %2217, %2210
  br label %2222

2222:                                             ; preds = %2217, %2221
  %.str.5.sink2732 = phi ptr [ @.str.5, %2221 ], [ @.str.2, %2217 ]
  store i32 %2212, ptr %2211, align 4, !tbaa !5
  %2223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror(i32 noundef %2226, ptr noundef nonnull @.str.4) #13
  %2228 = load i32, ptr %2225, align 4, !tbaa !5
  %2229 = call ptr @s2n_strerror_debug(i32 noundef %2228, ptr noundef nonnull @.str.4) #13
  %2230 = load i32, ptr %2211, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #13
  %2232 = load i32, ptr %2211, align 4, !tbaa !5
  %2233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2223, ptr noundef nonnull %.str.5.sink2732, i32 noundef %2224, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %2227, ptr noundef %2229, ptr noundef %2231, i32 noundef %2232) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2234:                                             ; preds = %2205
  %2235 = load i32, ptr @test_count, align 4, !tbaa !5
  %2236 = add nsw i32 %2235, 1
  store i32 %2236, ptr @test_count, align 4, !tbaa !5
  %2237 = getelementptr inbounds i8, ptr %1647, i64 2003
  %2238 = load i8, ptr %2237, align 1, !tbaa !48, !range !13, !noundef !14
  %2239 = trunc nuw i8 %2238 to i1
  br i1 %2239, label %2264, label %2240

2240:                                             ; preds = %2234
  %2241 = tail call ptr @__errno_location() #14
  %2242 = load i32, ptr %2241, align 4, !tbaa !5
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = call i32 @s2n_print_stacktrace(ptr noundef %2243) #13
  %2245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2246 = trunc nuw i8 %2245 to i1
  br i1 %2246, label %2247, label %2251

2247:                                             ; preds = %2240
  %2248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2249 = call i32 @fileno(ptr noundef %2248) #13
  %2250 = call i32 @isatty(i32 noundef %2249) #13
  %.not1490 = icmp eq i32 %2250, 0
  br i1 %.not1490, label %2251, label %2252

2251:                                             ; preds = %2247, %2240
  br label %2252

2252:                                             ; preds = %2247, %2251
  %.str.5.sink2743 = phi ptr [ @.str.5, %2251 ], [ @.str.2, %2247 ]
  store i32 %2242, ptr %2241, align 4, !tbaa !5
  %2253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2254 = load i32, ptr @test_count, align 4, !tbaa !5
  %2255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2256 = load i32, ptr %2255, align 4, !tbaa !5
  %2257 = call ptr @s2n_strerror(i32 noundef %2256, ptr noundef nonnull @.str.4) #13
  %2258 = load i32, ptr %2255, align 4, !tbaa !5
  %2259 = call ptr @s2n_strerror_debug(i32 noundef %2258, ptr noundef nonnull @.str.4) #13
  %2260 = load i32, ptr %2241, align 4, !tbaa !5
  %2261 = call ptr @strerror(i32 noundef %2260) #13
  %2262 = load i32, ptr %2241, align 4, !tbaa !5
  %2263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2253, ptr noundef nonnull %.str.5.sink2743, i32 noundef %2254, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %2257, ptr noundef %2259, ptr noundef %2261, i32 noundef %2262) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2264:                                             ; preds = %2234
  %2265 = add nsw i32 %2235, 2
  store i32 %2265, ptr @test_count, align 4, !tbaa !5
  %2266 = call i32 @s2n_connection_free(ptr noundef nonnull %1647) #13
  %2267 = icmp eq i32 %2266, -1
  br i1 %2267, label %2268, label %2292

2268:                                             ; preds = %2264
  %2269 = tail call ptr @__errno_location() #14
  %2270 = load i32, ptr %2269, align 4, !tbaa !5
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = call i32 @s2n_print_stacktrace(ptr noundef %2271) #13
  %2273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2274 = trunc nuw i8 %2273 to i1
  br i1 %2274, label %2275, label %2279

2275:                                             ; preds = %2268
  %2276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2277 = call i32 @fileno(ptr noundef %2276) #13
  %2278 = call i32 @isatty(i32 noundef %2277) #13
  %.not1840 = icmp eq i32 %2278, 0
  br i1 %.not1840, label %2279, label %2280

2279:                                             ; preds = %2275, %2268
  br label %2280

2280:                                             ; preds = %2275, %2279
  %.str.5.sink2754 = phi ptr [ @.str.5, %2279 ], [ @.str.2, %2275 ]
  store i32 %2270, ptr %2269, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2284, ptr noundef nonnull @.str.4) #13
  %2286 = load i32, ptr %2283, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror_debug(i32 noundef %2286, ptr noundef nonnull @.str.4) #13
  %2288 = load i32, ptr %2269, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #13
  %2290 = load i32, ptr %2269, align 4, !tbaa !5
  %2291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2281, ptr noundef nonnull %.str.5.sink2754, i32 noundef %2282, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %2285, ptr noundef %2287, ptr noundef %2289, i32 noundef %2290) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2292:                                             ; preds = %2264
  %2293 = load i32, ptr @test_count, align 4, !tbaa !5
  %2294 = add nsw i32 %2293, 1
  store i32 %2294, ptr @test_count, align 4, !tbaa !5
  %2295 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %1824) #13
  %2296 = icmp eq i32 %2295, -1
  br i1 %2296, label %2297, label %2321

2297:                                             ; preds = %2292
  %2298 = tail call ptr @__errno_location() #14
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  %2300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2301 = call i32 @s2n_print_stacktrace(ptr noundef %2300) #13
  %2302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2303 = trunc nuw i8 %2302 to i1
  br i1 %2303, label %2304, label %2308

2304:                                             ; preds = %2297
  %2305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2306 = call i32 @fileno(ptr noundef %2305) #13
  %2307 = call i32 @isatty(i32 noundef %2306) #13
  %.not1839 = icmp eq i32 %2307, 0
  br i1 %.not1839, label %2308, label %2309

2308:                                             ; preds = %2304, %2297
  br label %2309

2309:                                             ; preds = %2304, %2308
  %.str.5.sink2765 = phi ptr [ @.str.5, %2308 ], [ @.str.2, %2304 ]
  store i32 %2299, ptr %2298, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = load i32, ptr @test_count, align 4, !tbaa !5
  %2312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror(i32 noundef %2313, ptr noundef nonnull @.str.4) #13
  %2315 = load i32, ptr %2312, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror_debug(i32 noundef %2315, ptr noundef nonnull @.str.4) #13
  %2317 = load i32, ptr %2298, align 4, !tbaa !5
  %2318 = call ptr @strerror(i32 noundef %2317) #13
  %2319 = load i32, ptr %2298, align 4, !tbaa !5
  %2320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2310, ptr noundef nonnull %.str.5.sink2765, i32 noundef %2311, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %2314, ptr noundef %2316, ptr noundef %2318, i32 noundef %2319) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2321:                                             ; preds = %2292
  %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 = call i32 @s2n_config_free(ptr noundef nonnull %1708) #13
  %2325 = icmp eq i32 %2324, -1
  br i1 %2325, label %2326, label %2350

2326:                                             ; preds = %2321
  %2327 = tail call ptr @__errno_location() #14
  %2328 = load i32, ptr %2327, align 4, !tbaa !5
  %2329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2330 = call i32 @s2n_print_stacktrace(ptr noundef %2329) #13
  %2331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2332 = trunc nuw i8 %2331 to i1
  br i1 %2332, label %2333, label %2337

2333:                                             ; preds = %2326
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2335 = call i32 @fileno(ptr noundef %2334) #13
  %2336 = call i32 @isatty(i32 noundef %2335) #13
  %.not1838 = icmp eq i32 %2336, 0
  br i1 %.not1838, label %2337, label %2338

2337:                                             ; preds = %2333, %2326
  br label %2338

2338:                                             ; preds = %2333, %2337
  %.str.5.sink2776 = phi ptr [ @.str.5, %2337 ], [ @.str.2, %2333 ]
  store i32 %2328, ptr %2327, 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 nonnull @.str.4) #13
  %2344 = load i32, ptr %2341, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror_debug(i32 noundef %2344, ptr noundef nonnull @.str.4) #13
  %2346 = load i32, ptr %2327, align 4, !tbaa !5
  %2347 = call ptr @strerror(i32 noundef %2346) #13
  %2348 = load i32, ptr %2327, align 4, !tbaa !5
  %2349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2339, ptr noundef nonnull %.str.5.sink2776, i32 noundef %2340, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %2343, ptr noundef %2345, ptr noundef %2347, i32 noundef %2348) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2350:                                             ; preds = %2321
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 75, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 75, ptr nonnull %11) #13
  store <16 x i8> <i8 3, i8 3, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13>, ptr %11, align 16, !tbaa !44
  %2351 = getelementptr inbounds i8, ptr %11, i64 16
  store <16 x i8> <i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29>, ptr %2351, align 16, !tbaa !44
  %2352 = getelementptr inbounds i8, ptr %11, i64 32
  store <16 x i8> <i8 30, i8 31, i8 32, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12>, ptr %2352, align 16, !tbaa !44
  %2353 = getelementptr inbounds i8, ptr %11, i64 48
  store <16 x i8> <i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28>, ptr %2353, align 16, !tbaa !44
  %2354 = getelementptr inbounds i8, ptr %11, i64 64
  store <8 x i8> <i8 29, i8 30, i8 31, i8 0, i8 2, i8 0, i8 60, i8 1>, ptr %2354, align 16, !tbaa !44
  %2355 = getelementptr inbounds i8, ptr %11, i64 72
  store i8 0, ptr %2355, align 8, !tbaa !44
  %2356 = getelementptr inbounds i8, ptr %11, i64 73
  store i8 0, ptr %2356, align 1, !tbaa !44
  %2357 = getelementptr inbounds i8, ptr %11, i64 74
  store i8 32, ptr %2357, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #13
  store <4 x i8> <i8 1, i8 0, i8 0, i8 107>, ptr %12, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %13) #13
  store <4 x i8> <i8 22, i8 3, i8 3, i8 0>, ptr %13, align 4, !tbaa !44
  %2358 = getelementptr inbounds i8, ptr %13, i64 4
  store i8 111, ptr %2358, align 4, !tbaa !44
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = add nsw i32 %2359, 1
  store i32 %2360, ptr @test_count, align 4, !tbaa !5
  %2361 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %2362 = icmp eq ptr %2361, null
  br i1 %2362, label %2363, label %2387

2363:                                             ; preds = %2350
  %2364 = tail call ptr @__errno_location() #14
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = call i32 @s2n_print_stacktrace(ptr noundef %2366) #13
  %2368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2369 = trunc nuw i8 %2368 to i1
  br i1 %2369, label %2370, label %2374

2370:                                             ; preds = %2363
  %2371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2372 = call i32 @fileno(ptr noundef %2371) #13
  %2373 = call i32 @isatty(i32 noundef %2372) #13
  %.not1837 = icmp eq i32 %2373, 0
  br i1 %.not1837, label %2374, label %2375

2374:                                             ; preds = %2370, %2363
  br label %2375

2375:                                             ; preds = %2370, %2374
  %.str.5.sink2787 = phi ptr [ @.str.5, %2374 ], [ @.str.2, %2370 ]
  store i32 %2365, ptr %2364, align 4, !tbaa !5
  %2376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2377 = load i32, ptr @test_count, align 4, !tbaa !5
  %2378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror(i32 noundef %2379, ptr noundef nonnull @.str.4) #13
  %2381 = load i32, ptr %2378, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror_debug(i32 noundef %2381, ptr noundef nonnull @.str.4) #13
  %2383 = load i32, ptr %2364, align 4, !tbaa !5
  %2384 = call ptr @strerror(i32 noundef %2383) #13
  %2385 = load i32, ptr %2364, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2376, ptr noundef nonnull %.str.5.sink2787, i32 noundef %2377, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %2380, ptr noundef %2382, ptr noundef %2384, i32 noundef %2385) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2387:                                             ; preds = %2350
  %2388 = load i32, ptr @test_count, align 4, !tbaa !5
  %2389 = add nsw i32 %2388, 1
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %2361, ptr noundef nonnull %3) #13
  %2391 = icmp eq i32 %2390, -1
  br i1 %2391, label %2392, label %2416

2392:                                             ; preds = %2387
  %2393 = tail call ptr @__errno_location() #14
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = call i32 @s2n_print_stacktrace(ptr noundef %2395) #13
  %2397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2398 = trunc nuw i8 %2397 to i1
  br i1 %2398, label %2399, label %2403

2399:                                             ; preds = %2392
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = call i32 @fileno(ptr noundef %2400) #13
  %2402 = call i32 @isatty(i32 noundef %2401) #13
  %.not1836 = icmp eq i32 %2402, 0
  br i1 %.not1836, label %2403, label %2404

2403:                                             ; preds = %2399, %2392
  br label %2404

2404:                                             ; preds = %2399, %2403
  %.str.5.sink2798 = phi ptr [ @.str.5, %2403 ], [ @.str.2, %2399 ]
  store i32 %2394, ptr %2393, align 4, !tbaa !5
  %2405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2406 = load i32, ptr @test_count, align 4, !tbaa !5
  %2407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror(i32 noundef %2408, ptr noundef nonnull @.str.4) #13
  %2410 = load i32, ptr %2407, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror_debug(i32 noundef %2410, ptr noundef nonnull @.str.4) #13
  %2412 = load i32, ptr %2393, align 4, !tbaa !5
  %2413 = call ptr @strerror(i32 noundef %2412) #13
  %2414 = load i32, ptr %2393, align 4, !tbaa !5
  %2415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2405, ptr noundef nonnull %.str.5.sink2798, i32 noundef %2406, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 503, ptr noundef %2409, ptr noundef %2411, ptr noundef %2413, i32 noundef %2414) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2416:                                             ; preds = %2387
  %2417 = load i32, ptr @test_count, align 4, !tbaa !5
  %2418 = add nsw i32 %2417, 1
  store i32 %2418, ptr @test_count, align 4, !tbaa !5
  %2419 = call ptr @s2n_config_new() #13
  %2420 = icmp eq ptr %2419, null
  br i1 %2420, label %2421, label %2445

2421:                                             ; preds = %2416
  %2422 = tail call ptr @__errno_location() #14
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = call i32 @s2n_print_stacktrace(ptr noundef %2424) #13
  %2426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2427 = trunc nuw i8 %2426 to i1
  br i1 %2427, label %2428, label %2432

2428:                                             ; preds = %2421
  %2429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2430 = call i32 @fileno(ptr noundef %2429) #13
  %2431 = call i32 @isatty(i32 noundef %2430) #13
  %.not1835 = icmp eq i32 %2431, 0
  br i1 %.not1835, label %2432, label %2433

2432:                                             ; preds = %2428, %2421
  br label %2433

2433:                                             ; preds = %2428, %2432
  %.str.5.sink2809 = phi ptr [ @.str.5, %2432 ], [ @.str.2, %2428 ]
  store i32 %2423, ptr %2422, align 4, !tbaa !5
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = load i32, ptr @test_count, align 4, !tbaa !5
  %2436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef nonnull @.str.4) #13
  %2439 = load i32, ptr %2436, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef nonnull @.str.4) #13
  %2441 = load i32, ptr %2422, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #13
  %2443 = load i32, ptr %2422, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2434, ptr noundef nonnull %.str.5.sink2809, i32 noundef %2435, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 505, ptr noundef %2438, ptr noundef %2440, ptr noundef %2442, i32 noundef %2443) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2445:                                             ; preds = %2416
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = add nsw i32 %2446, 1
  store i32 %2447, ptr @test_count, align 4, !tbaa !5
  %2448 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %2449 = icmp eq i32 %2448, -1
  br i1 %2449, label %2450, label %2474

2450:                                             ; preds = %2445
  %2451 = tail call ptr @__errno_location() #14
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = call i32 @s2n_print_stacktrace(ptr noundef %2453) #13
  %2455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2456 = trunc nuw i8 %2455 to i1
  br i1 %2456, label %2457, label %2461

2457:                                             ; preds = %2450
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = call i32 @fileno(ptr noundef %2458) #13
  %2460 = call i32 @isatty(i32 noundef %2459) #13
  %.not1834 = icmp eq i32 %2460, 0
  br i1 %.not1834, label %2461, label %2462

2461:                                             ; preds = %2457, %2450
  br label %2462

2462:                                             ; preds = %2457, %2461
  %.str.5.sink2820 = phi ptr [ @.str.5, %2461 ], [ @.str.2, %2457 ]
  store i32 %2452, ptr %2451, align 4, !tbaa !5
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = load i32, ptr @test_count, align 4, !tbaa !5
  %2465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror(i32 noundef %2466, ptr noundef nonnull @.str.4) #13
  %2468 = load i32, ptr %2465, align 4, !tbaa !5
  %2469 = call ptr @s2n_strerror_debug(i32 noundef %2468, ptr noundef nonnull @.str.4) #13
  %2470 = load i32, ptr %2451, align 4, !tbaa !5
  %2471 = call ptr @strerror(i32 noundef %2470) #13
  %2472 = load i32, ptr %2451, align 4, !tbaa !5
  %2473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2463, ptr noundef nonnull %.str.5.sink2820, i32 noundef %2464, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %2467, ptr noundef %2469, ptr noundef %2471, i32 noundef %2472) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2474:                                             ; preds = %2445
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = add nsw i32 %2475, 1
  store i32 %2476, ptr @test_count, align 4, !tbaa !5
  %2477 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %2478 = icmp eq i32 %2477, -1
  br i1 %2478, label %2479, label %2503

2479:                                             ; preds = %2474
  %2480 = tail call ptr @__errno_location() #14
  %2481 = load i32, ptr %2480, align 4, !tbaa !5
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = call i32 @s2n_print_stacktrace(ptr noundef %2482) #13
  %2484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2485 = trunc nuw i8 %2484 to i1
  br i1 %2485, label %2486, label %2490

2486:                                             ; preds = %2479
  %2487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2488 = call i32 @fileno(ptr noundef %2487) #13
  %2489 = call i32 @isatty(i32 noundef %2488) #13
  %.not1833 = icmp eq i32 %2489, 0
  br i1 %.not1833, label %2490, label %2491

2490:                                             ; preds = %2486, %2479
  br label %2491

2491:                                             ; preds = %2486, %2490
  %.str.5.sink2831 = phi ptr [ @.str.5, %2490 ], [ @.str.2, %2486 ]
  store i32 %2481, ptr %2480, align 4, !tbaa !5
  %2492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror(i32 noundef %2495, ptr noundef nonnull @.str.4) #13
  %2497 = load i32, ptr %2494, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror_debug(i32 noundef %2497, ptr noundef nonnull @.str.4) #13
  %2499 = load i32, ptr %2480, align 4, !tbaa !5
  %2500 = call ptr @strerror(i32 noundef %2499) #13
  %2501 = load i32, ptr %2480, align 4, !tbaa !5
  %2502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2492, ptr noundef nonnull %.str.5.sink2831, i32 noundef %2493, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %2496, ptr noundef %2498, ptr noundef %2500, i32 noundef %2501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2503:                                             ; preds = %2474
  %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_cert_chain_and_key_new() #13
  %2507 = icmp eq ptr %2506, null
  br i1 %2507, label %2508, label %2532

2508:                                             ; preds = %2503
  %2509 = tail call ptr @__errno_location() #14
  %2510 = load i32, ptr %2509, align 4, !tbaa !5
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @s2n_print_stacktrace(ptr noundef %2511) #13
  %2513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2514 = trunc nuw i8 %2513 to i1
  br i1 %2514, label %2515, label %2519

2515:                                             ; preds = %2508
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = call i32 @fileno(ptr noundef %2516) #13
  %2518 = call i32 @isatty(i32 noundef %2517) #13
  %.not1832 = icmp eq i32 %2518, 0
  br i1 %.not1832, label %2519, label %2520

2519:                                             ; preds = %2515, %2508
  br label %2520

2520:                                             ; preds = %2515, %2519
  %.str.5.sink2842 = phi ptr [ @.str.5, %2519 ], [ @.str.2, %2515 ]
  store i32 %2510, ptr %2509, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2524 = load i32, ptr %2523, align 4, !tbaa !5
  %2525 = call ptr @s2n_strerror(i32 noundef %2524, ptr noundef nonnull @.str.4) #13
  %2526 = load i32, ptr %2523, align 4, !tbaa !5
  %2527 = call ptr @s2n_strerror_debug(i32 noundef %2526, ptr noundef nonnull @.str.4) #13
  %2528 = load i32, ptr %2509, align 4, !tbaa !5
  %2529 = call ptr @strerror(i32 noundef %2528) #13
  %2530 = load i32, ptr %2509, align 4, !tbaa !5
  %2531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2521, ptr noundef nonnull %.str.5.sink2842, i32 noundef %2522, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %2525, ptr noundef %2527, ptr noundef %2529, i32 noundef %2530) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2532:                                             ; preds = %2503
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = add nsw i32 %2533, 1
  store i32 %2534, ptr @test_count, align 4, !tbaa !5
  %2535 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %2506, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %2536 = icmp eq i32 %2535, -1
  br i1 %2536, label %2537, label %2561

2537:                                             ; preds = %2532
  %2538 = tail call ptr @__errno_location() #14
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = call i32 @s2n_print_stacktrace(ptr noundef %2540) #13
  %2542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2543 = trunc nuw i8 %2542 to i1
  br i1 %2543, label %2544, label %2548

2544:                                             ; preds = %2537
  %2545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2546 = call i32 @fileno(ptr noundef %2545) #13
  %2547 = call i32 @isatty(i32 noundef %2546) #13
  %.not1831 = icmp eq i32 %2547, 0
  br i1 %.not1831, label %2548, label %2549

2548:                                             ; preds = %2544, %2537
  br label %2549

2549:                                             ; preds = %2544, %2548
  %.str.5.sink2853 = phi ptr [ @.str.5, %2548 ], [ @.str.2, %2544 ]
  store i32 %2539, ptr %2538, align 4, !tbaa !5
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = load i32, ptr @test_count, align 4, !tbaa !5
  %2552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror(i32 noundef %2553, ptr noundef nonnull @.str.4) #13
  %2555 = load i32, ptr %2552, align 4, !tbaa !5
  %2556 = call ptr @s2n_strerror_debug(i32 noundef %2555, ptr noundef nonnull @.str.4) #13
  %2557 = load i32, ptr %2538, align 4, !tbaa !5
  %2558 = call ptr @strerror(i32 noundef %2557) #13
  %2559 = load i32, ptr %2538, align 4, !tbaa !5
  %2560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2550, ptr noundef nonnull %.str.5.sink2853, i32 noundef %2551, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 509, ptr noundef %2554, ptr noundef %2556, ptr noundef %2558, i32 noundef %2559) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2561:                                             ; preds = %2532
  %2562 = load i32, ptr @test_count, align 4, !tbaa !5
  %2563 = add nsw i32 %2562, 1
  store i32 %2563, ptr @test_count, align 4, !tbaa !5
  %2564 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2419, ptr noundef nonnull %2506) #13
  %2565 = icmp eq i32 %2564, -1
  br i1 %2565, label %2566, label %2590

2566:                                             ; preds = %2561
  %2567 = tail call ptr @__errno_location() #14
  %2568 = load i32, ptr %2567, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @s2n_print_stacktrace(ptr noundef %2569) #13
  %2571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2572 = trunc nuw i8 %2571 to i1
  br i1 %2572, label %2573, label %2577

2573:                                             ; preds = %2566
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @fileno(ptr noundef %2574) #13
  %2576 = call i32 @isatty(i32 noundef %2575) #13
  %.not1830 = icmp eq i32 %2576, 0
  br i1 %.not1830, label %2577, label %2578

2577:                                             ; preds = %2573, %2566
  br label %2578

2578:                                             ; preds = %2573, %2577
  %.str.5.sink2864 = phi ptr [ @.str.5, %2577 ], [ @.str.2, %2573 ]
  store i32 %2568, ptr %2567, align 4, !tbaa !5
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @s2n_strerror(i32 noundef %2582, ptr noundef nonnull @.str.4) #13
  %2584 = load i32, ptr %2581, align 4, !tbaa !5
  %2585 = call ptr @s2n_strerror_debug(i32 noundef %2584, ptr noundef nonnull @.str.4) #13
  %2586 = load i32, ptr %2567, align 4, !tbaa !5
  %2587 = call ptr @strerror(i32 noundef %2586) #13
  %2588 = load i32, ptr %2567, align 4, !tbaa !5
  %2589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2579, ptr noundef nonnull %.str.5.sink2864, i32 noundef %2580, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 510, ptr noundef %2583, ptr noundef %2585, ptr noundef %2587, i32 noundef %2588) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2590:                                             ; preds = %2561
  %2591 = load i32, ptr @test_count, align 4, !tbaa !5
  %2592 = add nsw i32 %2591, 1
  store i32 %2592, ptr @test_count, align 4, !tbaa !5
  %2593 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2361, ptr noundef nonnull %2419) #13
  %2594 = icmp eq i32 %2593, -1
  br i1 %2594, label %2595, label %2619

2595:                                             ; preds = %2590
  %2596 = tail call ptr @__errno_location() #14
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = call i32 @s2n_print_stacktrace(ptr noundef %2598) #13
  %2600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2601 = trunc nuw i8 %2600 to i1
  br i1 %2601, label %2602, label %2606

2602:                                             ; preds = %2595
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = call i32 @fileno(ptr noundef %2603) #13
  %2605 = call i32 @isatty(i32 noundef %2604) #13
  %.not1829 = icmp eq i32 %2605, 0
  br i1 %.not1829, label %2606, label %2607

2606:                                             ; preds = %2602, %2595
  br label %2607

2607:                                             ; preds = %2602, %2606
  %.str.5.sink2875 = phi ptr [ @.str.5, %2606 ], [ @.str.2, %2602 ]
  store i32 %2597, ptr %2596, align 4, !tbaa !5
  %2608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2609 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2611, ptr noundef nonnull @.str.4) #13
  %2613 = load i32, ptr %2610, align 4, !tbaa !5
  %2614 = call ptr @s2n_strerror_debug(i32 noundef %2613, ptr noundef nonnull @.str.4) #13
  %2615 = load i32, ptr %2596, align 4, !tbaa !5
  %2616 = call ptr @strerror(i32 noundef %2615) #13
  %2617 = load i32, ptr %2596, align 4, !tbaa !5
  %2618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2608, ptr noundef nonnull %.str.5.sink2875, i32 noundef %2609, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 511, ptr noundef %2612, ptr noundef %2614, ptr noundef %2616, i32 noundef %2617) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2619:                                             ; preds = %2590
  %2620 = load i32, ptr @test_count, align 4, !tbaa !5
  %2621 = add nsw i32 %2620, 1
  store i32 %2621, ptr @test_count, align 4, !tbaa !5
  %2622 = load i32, ptr %3, align 4, !tbaa !45
  %2623 = call i64 @write(i32 noundef %2622, ptr noundef nonnull %13, i64 noundef 5) #13
  %2624 = icmp eq i64 %2623, 5
  br i1 %2624, label %2649, label %2625

2625:                                             ; preds = %2619
  %2626 = tail call ptr @__errno_location() #14
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2629 = call i32 @s2n_print_stacktrace(ptr noundef %2628) #13
  %2630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2631 = trunc nuw i8 %2630 to i1
  br i1 %2631, label %2632, label %2636

2632:                                             ; preds = %2625
  %2633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2634 = call i32 @fileno(ptr noundef %2633) #13
  %2635 = call i32 @isatty(i32 noundef %2634) #13
  %.not1491 = icmp eq i32 %2635, 0
  br i1 %.not1491, label %2636, label %2637

2636:                                             ; preds = %2632, %2625
  br label %2637

2637:                                             ; preds = %2632, %2636
  %.str.5.sink2886 = phi ptr [ @.str.5, %2636 ], [ @.str.2, %2632 ]
  store i32 %2627, ptr %2626, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror(i32 noundef %2641, ptr noundef nonnull @.str.4) #13
  %2643 = load i32, ptr %2640, align 4, !tbaa !5
  %2644 = call ptr @s2n_strerror_debug(i32 noundef %2643, ptr noundef nonnull @.str.4) #13
  %2645 = load i32, ptr %2626, align 4, !tbaa !5
  %2646 = call ptr @strerror(i32 noundef %2645) #13
  %2647 = load i32, ptr %2626, align 4, !tbaa !5
  %2648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2638, ptr noundef nonnull %.str.5.sink2886, i32 noundef %2639, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %2642, ptr noundef %2644, ptr noundef %2646, i32 noundef %2647) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2649:                                             ; preds = %2619
  %2650 = load i32, ptr @test_count, align 4, !tbaa !5
  %2651 = add nsw i32 %2650, 1
  store i32 %2651, ptr @test_count, align 4, !tbaa !5
  %2652 = load i32, ptr %3, align 4, !tbaa !45
  %2653 = call i64 @write(i32 noundef %2652, ptr noundef nonnull %12, i64 noundef 4) #13
  %2654 = icmp eq i64 %2653, 4
  br i1 %2654, label %2679, label %2655

2655:                                             ; preds = %2649
  %2656 = tail call ptr @__errno_location() #14
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = call i32 @s2n_print_stacktrace(ptr noundef %2658) #13
  %2660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2661 = trunc nuw i8 %2660 to i1
  br i1 %2661, label %2662, label %2666

2662:                                             ; preds = %2655
  %2663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2664 = call i32 @fileno(ptr noundef %2663) #13
  %2665 = call i32 @isatty(i32 noundef %2664) #13
  %.not1492 = icmp eq i32 %2665, 0
  br i1 %.not1492, label %2666, label %2667

2666:                                             ; preds = %2662, %2655
  br label %2667

2667:                                             ; preds = %2662, %2666
  %.str.5.sink2897 = phi ptr [ @.str.5, %2666 ], [ @.str.2, %2662 ]
  store i32 %2657, ptr %2656, 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 nonnull @.str.4) #13
  %2673 = load i32, ptr %2670, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror_debug(i32 noundef %2673, ptr noundef nonnull @.str.4) #13
  %2675 = load i32, ptr %2656, align 4, !tbaa !5
  %2676 = call ptr @strerror(i32 noundef %2675) #13
  %2677 = load i32, ptr %2656, align 4, !tbaa !5
  %2678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2668, ptr noundef nonnull %.str.5.sink2897, i32 noundef %2669, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %2672, ptr noundef %2674, ptr noundef %2676, i32 noundef %2677) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2679:                                             ; preds = %2649
  %2680 = load i32, ptr @test_count, align 4, !tbaa !5
  %2681 = add nsw i32 %2680, 1
  store i32 %2681, ptr @test_count, align 4, !tbaa !5
  %2682 = load i32, ptr %3, align 4, !tbaa !45
  %2683 = call i64 @write(i32 noundef %2682, ptr noundef nonnull %11, i64 noundef 75) #13
  %2684 = icmp eq i64 %2683, 75
  br i1 %2684, label %2709, label %2685

2685:                                             ; preds = %2679
  %2686 = tail call ptr @__errno_location() #14
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  %2688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2689 = call i32 @s2n_print_stacktrace(ptr noundef %2688) #13
  %2690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2691 = trunc nuw i8 %2690 to i1
  br i1 %2691, label %2692, label %2696

2692:                                             ; preds = %2685
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = call i32 @fileno(ptr noundef %2693) #13
  %2695 = call i32 @isatty(i32 noundef %2694) #13
  %.not1493 = icmp eq i32 %2695, 0
  br i1 %.not1493, label %2696, label %2697

2696:                                             ; preds = %2692, %2685
  br label %2697

2697:                                             ; preds = %2692, %2696
  %.str.5.sink2908 = phi ptr [ @.str.5, %2696 ], [ @.str.2, %2692 ]
  store i32 %2687, ptr %2686, align 4, !tbaa !5
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = load i32, ptr @test_count, align 4, !tbaa !5
  %2700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2701 = load i32, ptr %2700, align 4, !tbaa !5
  %2702 = call ptr @s2n_strerror(i32 noundef %2701, ptr noundef nonnull @.str.4) #13
  %2703 = load i32, ptr %2700, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror_debug(i32 noundef %2703, ptr noundef nonnull @.str.4) #13
  %2705 = load i32, ptr %2686, align 4, !tbaa !5
  %2706 = call ptr @strerror(i32 noundef %2705) #13
  %2707 = load i32, ptr %2686, align 4, !tbaa !5
  %2708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2698, ptr noundef nonnull %.str.5.sink2908, i32 noundef %2699, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 516, ptr noundef %2702, ptr noundef %2704, ptr noundef %2706, i32 noundef %2707) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2709:                                             ; preds = %2679
  %2710 = load i32, ptr @test_count, align 4, !tbaa !5
  %2711 = add nsw i32 %2710, 1
  store i32 %2711, ptr @test_count, align 4, !tbaa !5
  %2712 = load i32, ptr %3, align 4, !tbaa !45
  %2713 = call i64 @write(i32 noundef %2712, ptr noundef nonnull @__const.main.client_extensions.63, i64 noundef 32) #13
  %2714 = icmp eq i64 %2713, 32
  br i1 %2714, label %2739, label %2715

2715:                                             ; preds = %2709
  %2716 = tail call ptr @__errno_location() #14
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = call i32 @s2n_print_stacktrace(ptr noundef %2718) #13
  %2720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2721 = trunc nuw i8 %2720 to i1
  br i1 %2721, label %2722, label %2726

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

2726:                                             ; preds = %2722, %2715
  br label %2727

2727:                                             ; preds = %2722, %2726
  %.str.5.sink2919 = phi ptr [ @.str.5, %2726 ], [ @.str.2, %2722 ]
  store i32 %2717, ptr %2716, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror(i32 noundef %2731, ptr noundef nonnull @.str.4) #13
  %2733 = load i32, ptr %2730, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror_debug(i32 noundef %2733, ptr noundef nonnull @.str.4) #13
  %2735 = load i32, ptr %2716, align 4, !tbaa !5
  %2736 = call ptr @strerror(i32 noundef %2735) #13
  %2737 = load i32, ptr %2716, align 4, !tbaa !5
  %2738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2728, ptr noundef nonnull %.str.5.sink2919, i32 noundef %2729, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 517, ptr noundef %2732, ptr noundef %2734, ptr noundef %2736, i32 noundef %2737) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2739:                                             ; preds = %2709
  %2740 = load i32, ptr @test_count, align 4, !tbaa !5
  %2741 = add nsw i32 %2740, 1
  store i32 %2741, ptr @test_count, align 4, !tbaa !5
  %2742 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %2361, i32 noundef 1) #13
  %2743 = icmp eq i32 %2742, -1
  br i1 %2743, label %2744, label %2768

2744:                                             ; preds = %2739
  %2745 = tail call ptr @__errno_location() #14
  %2746 = load i32, ptr %2745, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = call i32 @s2n_print_stacktrace(ptr noundef %2747) #13
  %2749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2750 = trunc nuw i8 %2749 to i1
  br i1 %2750, label %2751, label %2755

2751:                                             ; preds = %2744
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = call i32 @fileno(ptr noundef %2752) #13
  %2754 = call i32 @isatty(i32 noundef %2753) #13
  %.not1828 = icmp eq i32 %2754, 0
  br i1 %.not1828, label %2755, label %2756

2755:                                             ; preds = %2751, %2744
  br label %2756

2756:                                             ; preds = %2751, %2755
  %.str.5.sink2930 = phi ptr [ @.str.5, %2755 ], [ @.str.2, %2751 ]
  store i32 %2746, ptr %2745, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = load i32, ptr @test_count, align 4, !tbaa !5
  %2759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call ptr @s2n_strerror(i32 noundef %2760, ptr noundef nonnull @.str.4) #13
  %2762 = load i32, ptr %2759, align 4, !tbaa !5
  %2763 = call ptr @s2n_strerror_debug(i32 noundef %2762, ptr noundef nonnull @.str.4) #13
  %2764 = load i32, ptr %2745, align 4, !tbaa !5
  %2765 = call ptr @strerror(i32 noundef %2764) #13
  %2766 = load i32, ptr %2745, align 4, !tbaa !5
  %2767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2757, ptr noundef nonnull %.str.5.sink2930, i32 noundef %2758, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %2761, ptr noundef %2763, ptr noundef %2765, i32 noundef %2766) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2768:                                             ; preds = %2739
  %2769 = call i32 @s2n_negotiate(ptr noundef nonnull %2361, ptr noundef nonnull %10) #13
  %2770 = load i32, ptr @test_count, align 4, !tbaa !5
  %2771 = add nsw i32 %2770, 1
  store i32 %2771, ptr @test_count, align 4, !tbaa !5
  %2772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = icmp eq i32 %2773, 335544395
  br i1 %2774, label %2798, label %2775

2775:                                             ; preds = %2768
  %2776 = tail call ptr @__errno_location() #14
  %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) #13
  %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) #13
  %2785 = call i32 @isatty(i32 noundef %2784) #13
  %.not1495 = icmp eq i32 %2785, 0
  br i1 %.not1495, label %2786, label %2787

2786:                                             ; preds = %2782, %2775
  br label %2787

2787:                                             ; preds = %2782, %2786
  %.str.5.sink2941 = phi ptr [ @.str.5, %2786 ], [ @.str.2, %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 = load i32, ptr %2772, align 4, !tbaa !5
  %2791 = call ptr @s2n_strerror(i32 noundef %2790, ptr noundef nonnull @.str.4) #13
  %2792 = load i32, ptr %2772, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror_debug(i32 noundef %2792, ptr noundef nonnull @.str.4) #13
  %2794 = load i32, ptr %2776, align 4, !tbaa !5
  %2795 = call ptr @strerror(i32 noundef %2794) #13
  %2796 = load i32, ptr %2776, align 4, !tbaa !5
  %2797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2788, ptr noundef nonnull %.str.5.sink2941, i32 noundef %2789, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %2791, ptr noundef %2793, ptr noundef %2795, i32 noundef %2796) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2798:                                             ; preds = %2768
  %2799 = add nsw i32 %2770, 2
  store i32 %2799, ptr @test_count, align 4, !tbaa !5
  %2800 = call i32 @s2n_connection_free(ptr noundef nonnull %2361) #13
  %2801 = icmp eq i32 %2800, -1
  br i1 %2801, label %2802, label %2825

2802:                                             ; preds = %2798
  %2803 = tail call ptr @__errno_location() #14
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2806 = call i32 @s2n_print_stacktrace(ptr noundef %2805) #13
  %2807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2808 = trunc nuw i8 %2807 to i1
  br i1 %2808, label %2809, label %2813

2809:                                             ; preds = %2802
  %2810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2811 = call i32 @fileno(ptr noundef %2810) #13
  %2812 = call i32 @isatty(i32 noundef %2811) #13
  %.not1827 = icmp eq i32 %2812, 0
  br i1 %.not1827, label %2813, label %2814

2813:                                             ; preds = %2809, %2802
  br label %2814

2814:                                             ; preds = %2809, %2813
  %.str.5.sink2950 = phi ptr [ @.str.5, %2813 ], [ @.str.2, %2809 ]
  store i32 %2804, ptr %2803, align 4, !tbaa !5
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = load i32, ptr @test_count, align 4, !tbaa !5
  %2817 = load i32, ptr %2772, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror(i32 noundef %2817, ptr noundef nonnull @.str.4) #13
  %2819 = load i32, ptr %2772, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror_debug(i32 noundef %2819, ptr noundef nonnull @.str.4) #13
  %2821 = load i32, ptr %2803, align 4, !tbaa !5
  %2822 = call ptr @strerror(i32 noundef %2821) #13
  %2823 = load i32, ptr %2803, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2815, ptr noundef nonnull %.str.5.sink2950, i32 noundef %2816, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %2818, ptr noundef %2820, ptr noundef %2822, i32 noundef %2823) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2825:                                             ; preds = %2798
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = add nsw i32 %2826, 1
  store i32 %2827, ptr @test_count, align 4, !tbaa !5
  %2828 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %2506) #13
  %2829 = icmp eq i32 %2828, -1
  br i1 %2829, label %2830, label %2853

2830:                                             ; preds = %2825
  %2831 = tail call ptr @__errno_location() #14
  %2832 = load i32, ptr %2831, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833) #13
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc nuw i8 %2835 to i1
  br i1 %2836, label %2837, label %2841

2837:                                             ; preds = %2830
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #13
  %2840 = call i32 @isatty(i32 noundef %2839) #13
  %.not1826 = icmp eq i32 %2840, 0
  br i1 %.not1826, label %2841, label %2842

2841:                                             ; preds = %2837, %2830
  br label %2842

2842:                                             ; preds = %2837, %2841
  %.str.5.sink2959 = phi ptr [ @.str.5, %2841 ], [ @.str.2, %2837 ]
  store i32 %2832, ptr %2831, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = load i32, ptr %2772, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef nonnull @.str.4) #13
  %2847 = load i32, ptr %2772, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.4) #13
  %2849 = load i32, ptr %2831, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #13
  %2851 = load i32, ptr %2831, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2843, ptr noundef nonnull %.str.5.sink2959, i32 noundef %2844, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %2846, ptr noundef %2848, ptr noundef %2850, i32 noundef %2851) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2853:                                             ; preds = %2825
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = call i32 @s2n_config_free(ptr noundef nonnull %2419) #13
  %2857 = icmp eq i32 %2856, -1
  br i1 %2857, label %2858, label %2881

2858:                                             ; preds = %2853
  %2859 = tail call ptr @__errno_location() #14
  %2860 = load i32, ptr %2859, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @s2n_print_stacktrace(ptr noundef %2861) #13
  %2863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2864 = trunc nuw i8 %2863 to i1
  br i1 %2864, label %2865, label %2869

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

2869:                                             ; preds = %2865, %2858
  br label %2870

2870:                                             ; preds = %2865, %2869
  %.str.5.sink2968 = phi ptr [ @.str.5, %2869 ], [ @.str.2, %2865 ]
  store i32 %2860, ptr %2859, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = load i32, ptr @test_count, align 4, !tbaa !5
  %2873 = load i32, ptr %2772, align 4, !tbaa !5
  %2874 = call ptr @s2n_strerror(i32 noundef %2873, ptr noundef nonnull @.str.4) #13
  %2875 = load i32, ptr %2772, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror_debug(i32 noundef %2875, ptr noundef nonnull @.str.4) #13
  %2877 = load i32, ptr %2859, align 4, !tbaa !5
  %2878 = call ptr @strerror(i32 noundef %2877) #13
  %2879 = load i32, ptr %2859, align 4, !tbaa !5
  %2880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2871, ptr noundef nonnull %.str.5.sink2968, i32 noundef %2872, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 528, ptr noundef %2874, ptr noundef %2876, ptr noundef %2878, i32 noundef %2879) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2881:                                             ; preds = %2853
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 75, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #13
  call void @llvm.lifetime.start.p0(i64 75, ptr nonnull %15) #13
  store <16 x i8> <i8 3, i8 3, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13>, ptr %15, align 16, !tbaa !44
  %2882 = getelementptr inbounds i8, ptr %15, i64 16
  store <16 x i8> <i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29>, ptr %2882, align 16, !tbaa !44
  %2883 = getelementptr inbounds i8, ptr %15, i64 32
  store <16 x i8> <i8 30, i8 31, i8 32, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12>, ptr %2883, align 16, !tbaa !44
  %2884 = getelementptr inbounds i8, ptr %15, i64 48
  store <16 x i8> <i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28>, ptr %2884, align 16, !tbaa !44
  %2885 = getelementptr inbounds i8, ptr %15, i64 64
  store <8 x i8> <i8 29, i8 30, i8 31, i8 0, i8 2, i8 0, i8 60, i8 1>, ptr %2885, align 16, !tbaa !44
  %2886 = getelementptr inbounds i8, ptr %15, i64 72
  store i8 0, ptr %2886, align 8, !tbaa !44
  %2887 = getelementptr inbounds i8, ptr %15, i64 73
  store i8 0, ptr %2887, align 1, !tbaa !44
  %2888 = getelementptr inbounds i8, ptr %15, i64 74
  store i8 5, ptr %2888, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #13
  store <4 x i8> <i8 1, i8 0, i8 0, i8 80>, ptr %16, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %17) #13
  store <4 x i8> <i8 22, i8 3, i8 3, i8 0>, ptr %17, align 4, !tbaa !44
  %2889 = getelementptr inbounds i8, ptr %17, i64 4
  store i8 84, ptr %2889, align 4, !tbaa !44
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = add nsw i32 %2890, 1
  store i32 %2891, ptr @test_count, align 4, !tbaa !5
  %2892 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %2893 = icmp eq ptr %2892, null
  br i1 %2893, label %2894, label %2917

2894:                                             ; preds = %2881
  %2895 = tail call ptr @__errno_location() #14
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = call i32 @s2n_print_stacktrace(ptr noundef %2897) #13
  %2899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2900 = trunc nuw i8 %2899 to i1
  br i1 %2900, label %2901, label %2905

2901:                                             ; preds = %2894
  %2902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2903 = call i32 @fileno(ptr noundef %2902) #13
  %2904 = call i32 @isatty(i32 noundef %2903) #13
  %.not1824 = icmp eq i32 %2904, 0
  br i1 %.not1824, label %2905, label %2906

2905:                                             ; preds = %2901, %2894
  br label %2906

2906:                                             ; preds = %2901, %2905
  %.str.5.sink2977 = phi ptr [ @.str.5, %2905 ], [ @.str.2, %2901 ]
  store i32 %2896, ptr %2895, align 4, !tbaa !5
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = load i32, ptr @test_count, align 4, !tbaa !5
  %2909 = load i32, ptr %2772, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror(i32 noundef %2909, ptr noundef nonnull @.str.4) #13
  %2911 = load i32, ptr %2772, align 4, !tbaa !5
  %2912 = call ptr @s2n_strerror_debug(i32 noundef %2911, ptr noundef nonnull @.str.4) #13
  %2913 = load i32, ptr %2895, align 4, !tbaa !5
  %2914 = call ptr @strerror(i32 noundef %2913) #13
  %2915 = load i32, ptr %2895, align 4, !tbaa !5
  %2916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2907, ptr noundef nonnull %.str.5.sink2977, i32 noundef %2908, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 594, ptr noundef %2910, ptr noundef %2912, ptr noundef %2914, i32 noundef %2915) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2917:                                             ; preds = %2881
  %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 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %2892, ptr noundef nonnull %3) #13
  %2921 = icmp eq i32 %2920, -1
  br i1 %2921, label %2922, label %2945

2922:                                             ; preds = %2917
  %2923 = tail call ptr @__errno_location() #14
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = call i32 @s2n_print_stacktrace(ptr noundef %2925) #13
  %2927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2928 = trunc nuw i8 %2927 to i1
  br i1 %2928, label %2929, label %2933

2929:                                             ; preds = %2922
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = call i32 @fileno(ptr noundef %2930) #13
  %2932 = call i32 @isatty(i32 noundef %2931) #13
  %.not1823 = icmp eq i32 %2932, 0
  br i1 %.not1823, label %2933, label %2934

2933:                                             ; preds = %2929, %2922
  br label %2934

2934:                                             ; preds = %2929, %2933
  %.str.5.sink2986 = phi ptr [ @.str.5, %2933 ], [ @.str.2, %2929 ]
  store i32 %2924, ptr %2923, align 4, !tbaa !5
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = load i32, ptr @test_count, align 4, !tbaa !5
  %2937 = load i32, ptr %2772, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror(i32 noundef %2937, ptr noundef nonnull @.str.4) #13
  %2939 = load i32, ptr %2772, align 4, !tbaa !5
  %2940 = call ptr @s2n_strerror_debug(i32 noundef %2939, ptr noundef nonnull @.str.4) #13
  %2941 = load i32, ptr %2923, align 4, !tbaa !5
  %2942 = call ptr @strerror(i32 noundef %2941) #13
  %2943 = load i32, ptr %2923, align 4, !tbaa !5
  %2944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2935, ptr noundef nonnull %.str.5.sink2986, i32 noundef %2936, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 595, ptr noundef %2938, ptr noundef %2940, ptr noundef %2942, i32 noundef %2943) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2945:                                             ; preds = %2917
  %2946 = load i32, ptr @test_count, align 4, !tbaa !5
  %2947 = add nsw i32 %2946, 1
  store i32 %2947, ptr @test_count, align 4, !tbaa !5
  %2948 = call ptr @s2n_config_new() #13
  %2949 = icmp eq ptr %2948, null
  br i1 %2949, label %2950, label %2973

2950:                                             ; preds = %2945
  %2951 = tail call ptr @__errno_location() #14
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2954 = call i32 @s2n_print_stacktrace(ptr noundef %2953) #13
  %2955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2956 = trunc nuw i8 %2955 to i1
  br i1 %2956, label %2957, label %2961

2957:                                             ; preds = %2950
  %2958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2959 = call i32 @fileno(ptr noundef %2958) #13
  %2960 = call i32 @isatty(i32 noundef %2959) #13
  %.not1822 = icmp eq i32 %2960, 0
  br i1 %.not1822, label %2961, label %2962

2961:                                             ; preds = %2957, %2950
  br label %2962

2962:                                             ; preds = %2957, %2961
  %.str.5.sink2995 = phi ptr [ @.str.5, %2961 ], [ @.str.2, %2957 ]
  store i32 %2952, ptr %2951, align 4, !tbaa !5
  %2963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2964 = load i32, ptr @test_count, align 4, !tbaa !5
  %2965 = load i32, ptr %2772, align 4, !tbaa !5
  %2966 = call ptr @s2n_strerror(i32 noundef %2965, ptr noundef nonnull @.str.4) #13
  %2967 = load i32, ptr %2772, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef nonnull @.str.4) #13
  %2969 = load i32, ptr %2951, align 4, !tbaa !5
  %2970 = call ptr @strerror(i32 noundef %2969) #13
  %2971 = load i32, ptr %2951, align 4, !tbaa !5
  %2972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2963, ptr noundef nonnull %.str.5.sink2995, i32 noundef %2964, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %2966, ptr noundef %2968, ptr noundef %2970, i32 noundef %2971) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2973:                                             ; preds = %2945
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = add nsw i32 %2974, 1
  store i32 %2975, ptr @test_count, align 4, !tbaa !5
  %2976 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %2948, ptr noundef nonnull @.str.50) #13
  %2977 = icmp eq i32 %2976, -1
  br i1 %2977, label %2978, label %3001

2978:                                             ; preds = %2973
  %2979 = tail call ptr @__errno_location() #14
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2982 = call i32 @s2n_print_stacktrace(ptr noundef %2981) #13
  %2983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2984 = trunc nuw i8 %2983 to i1
  br i1 %2984, label %2985, label %2989

2985:                                             ; preds = %2978
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = call i32 @fileno(ptr noundef %2986) #13
  %2988 = call i32 @isatty(i32 noundef %2987) #13
  %.not1821 = icmp eq i32 %2988, 0
  br i1 %.not1821, label %2989, label %2990

2989:                                             ; preds = %2985, %2978
  br label %2990

2990:                                             ; preds = %2985, %2989
  %.str.5.sink3004 = phi ptr [ @.str.5, %2989 ], [ @.str.2, %2985 ]
  store i32 %2980, ptr %2979, align 4, !tbaa !5
  %2991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2992 = load i32, ptr @test_count, align 4, !tbaa !5
  %2993 = load i32, ptr %2772, align 4, !tbaa !5
  %2994 = call ptr @s2n_strerror(i32 noundef %2993, ptr noundef nonnull @.str.4) #13
  %2995 = load i32, ptr %2772, align 4, !tbaa !5
  %2996 = call ptr @s2n_strerror_debug(i32 noundef %2995, ptr noundef nonnull @.str.4) #13
  %2997 = load i32, ptr %2979, align 4, !tbaa !5
  %2998 = call ptr @strerror(i32 noundef %2997) #13
  %2999 = load i32, ptr %2979, align 4, !tbaa !5
  %3000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2991, ptr noundef nonnull %.str.5.sink3004, i32 noundef %2992, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %2994, ptr noundef %2996, ptr noundef %2998, i32 noundef %2999) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3001:                                             ; preds = %2973
  %3002 = load i32, ptr @test_count, align 4, !tbaa !5
  %3003 = add nsw i32 %3002, 1
  store i32 %3003, ptr @test_count, align 4, !tbaa !5
  %3004 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %3005 = icmp eq i32 %3004, -1
  br i1 %3005, label %3006, label %3029

3006:                                             ; preds = %3001
  %3007 = tail call ptr @__errno_location() #14
  %3008 = load i32, ptr %3007, align 4, !tbaa !5
  %3009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3010 = call i32 @s2n_print_stacktrace(ptr noundef %3009) #13
  %3011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3012 = trunc nuw i8 %3011 to i1
  br i1 %3012, label %3013, label %3017

3013:                                             ; preds = %3006
  %3014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3015 = call i32 @fileno(ptr noundef %3014) #13
  %3016 = call i32 @isatty(i32 noundef %3015) #13
  %.not1820 = icmp eq i32 %3016, 0
  br i1 %.not1820, label %3017, label %3018

3017:                                             ; preds = %3013, %3006
  br label %3018

3018:                                             ; preds = %3013, %3017
  %.str.5.sink3013 = phi ptr [ @.str.5, %3017 ], [ @.str.2, %3013 ]
  store i32 %3008, ptr %3007, align 4, !tbaa !5
  %3019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3020 = load i32, ptr @test_count, align 4, !tbaa !5
  %3021 = load i32, ptr %2772, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror(i32 noundef %3021, ptr noundef nonnull @.str.4) #13
  %3023 = load i32, ptr %2772, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror_debug(i32 noundef %3023, ptr noundef nonnull @.str.4) #13
  %3025 = load i32, ptr %3007, align 4, !tbaa !5
  %3026 = call ptr @strerror(i32 noundef %3025) #13
  %3027 = load i32, ptr %3007, align 4, !tbaa !5
  %3028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3019, ptr noundef nonnull %.str.5.sink3013, i32 noundef %3020, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 600, ptr noundef %3022, ptr noundef %3024, ptr noundef %3026, i32 noundef %3027) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3029:                                             ; preds = %3001
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = add nsw i32 %3030, 1
  store i32 %3031, ptr @test_count, align 4, !tbaa !5
  %3032 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %3033 = icmp eq i32 %3032, -1
  br i1 %3033, label %3034, label %3057

3034:                                             ; preds = %3029
  %3035 = tail call ptr @__errno_location() #14
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = call i32 @s2n_print_stacktrace(ptr noundef %3037) #13
  %3039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3040 = trunc nuw i8 %3039 to i1
  br i1 %3040, label %3041, label %3045

3041:                                             ; preds = %3034
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = call i32 @fileno(ptr noundef %3042) #13
  %3044 = call i32 @isatty(i32 noundef %3043) #13
  %.not1819 = icmp eq i32 %3044, 0
  br i1 %.not1819, label %3045, label %3046

3045:                                             ; preds = %3041, %3034
  br label %3046

3046:                                             ; preds = %3041, %3045
  %.str.5.sink3022 = phi ptr [ @.str.5, %3045 ], [ @.str.2, %3041 ]
  store i32 %3036, ptr %3035, align 4, !tbaa !5
  %3047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3048 = load i32, ptr @test_count, align 4, !tbaa !5
  %3049 = load i32, ptr %2772, align 4, !tbaa !5
  %3050 = call ptr @s2n_strerror(i32 noundef %3049, ptr noundef nonnull @.str.4) #13
  %3051 = load i32, ptr %2772, align 4, !tbaa !5
  %3052 = call ptr @s2n_strerror_debug(i32 noundef %3051, ptr noundef nonnull @.str.4) #13
  %3053 = load i32, ptr %3035, align 4, !tbaa !5
  %3054 = call ptr @strerror(i32 noundef %3053) #13
  %3055 = load i32, ptr %3035, align 4, !tbaa !5
  %3056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3047, ptr noundef nonnull %.str.5.sink3022, i32 noundef %3048, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 601, ptr noundef %3050, ptr noundef %3052, ptr noundef %3054, i32 noundef %3055) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3057:                                             ; preds = %3029
  %3058 = load i32, ptr @test_count, align 4, !tbaa !5
  %3059 = add nsw i32 %3058, 1
  store i32 %3059, ptr @test_count, align 4, !tbaa !5
  %3060 = call ptr @s2n_cert_chain_and_key_new() #13
  %3061 = icmp eq ptr %3060, null
  br i1 %3061, label %3062, label %3085

3062:                                             ; preds = %3057
  %3063 = tail call ptr @__errno_location() #14
  %3064 = load i32, ptr %3063, align 4, !tbaa !5
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @s2n_print_stacktrace(ptr noundef %3065) #13
  %3067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3068 = trunc nuw i8 %3067 to i1
  br i1 %3068, label %3069, label %3073

3069:                                             ; preds = %3062
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @fileno(ptr noundef %3070) #13
  %3072 = call i32 @isatty(i32 noundef %3071) #13
  %.not1818 = icmp eq i32 %3072, 0
  br i1 %.not1818, label %3073, label %3074

3073:                                             ; preds = %3069, %3062
  br label %3074

3074:                                             ; preds = %3069, %3073
  %.str.5.sink3031 = phi ptr [ @.str.5, %3073 ], [ @.str.2, %3069 ]
  store i32 %3064, ptr %3063, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = load i32, ptr %2772, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror(i32 noundef %3077, ptr noundef nonnull @.str.4) #13
  %3079 = load i32, ptr %2772, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror_debug(i32 noundef %3079, ptr noundef nonnull @.str.4) #13
  %3081 = load i32, ptr %3063, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #13
  %3083 = load i32, ptr %3063, align 4, !tbaa !5
  %3084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef nonnull %.str.5.sink3031, i32 noundef %3076, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %3078, ptr noundef %3080, ptr noundef %3082, i32 noundef %3083) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3085:                                             ; preds = %3057
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = add nsw i32 %3086, 1
  store i32 %3087, ptr @test_count, align 4, !tbaa !5
  %3088 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %3060, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %3089 = icmp eq i32 %3088, -1
  br i1 %3089, label %3090, label %3113

3090:                                             ; preds = %3085
  %3091 = tail call ptr @__errno_location() #14
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = call i32 @s2n_print_stacktrace(ptr noundef %3093) #13
  %3095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3096 = trunc nuw i8 %3095 to i1
  br i1 %3096, label %3097, label %3101

3097:                                             ; preds = %3090
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = call i32 @fileno(ptr noundef %3098) #13
  %3100 = call i32 @isatty(i32 noundef %3099) #13
  %.not1817 = icmp eq i32 %3100, 0
  br i1 %.not1817, label %3101, label %3102

3101:                                             ; preds = %3097, %3090
  br label %3102

3102:                                             ; preds = %3097, %3101
  %.str.5.sink3040 = phi ptr [ @.str.5, %3101 ], [ @.str.2, %3097 ]
  store i32 %3092, ptr %3091, align 4, !tbaa !5
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = load i32, ptr %2772, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror(i32 noundef %3105, ptr noundef nonnull @.str.4) #13
  %3107 = load i32, ptr %2772, align 4, !tbaa !5
  %3108 = call ptr @s2n_strerror_debug(i32 noundef %3107, ptr noundef nonnull @.str.4) #13
  %3109 = load i32, ptr %3091, align 4, !tbaa !5
  %3110 = call ptr @strerror(i32 noundef %3109) #13
  %3111 = load i32, ptr %3091, align 4, !tbaa !5
  %3112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3103, ptr noundef nonnull %.str.5.sink3040, i32 noundef %3104, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %3106, ptr noundef %3108, ptr noundef %3110, i32 noundef %3111) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3113:                                             ; preds = %3085
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = add nsw i32 %3114, 1
  store i32 %3115, ptr @test_count, align 4, !tbaa !5
  %3116 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2948, ptr noundef nonnull %3060) #13
  %3117 = icmp eq i32 %3116, -1
  br i1 %3117, label %3118, label %3141

3118:                                             ; preds = %3113
  %3119 = tail call ptr @__errno_location() #14
  %3120 = load i32, ptr %3119, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = call i32 @s2n_print_stacktrace(ptr noundef %3121) #13
  %3123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3124 = trunc nuw i8 %3123 to i1
  br i1 %3124, label %3125, label %3129

3125:                                             ; preds = %3118
  %3126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3127 = call i32 @fileno(ptr noundef %3126) #13
  %3128 = call i32 @isatty(i32 noundef %3127) #13
  %.not1816 = icmp eq i32 %3128, 0
  br i1 %.not1816, label %3129, label %3130

3129:                                             ; preds = %3125, %3118
  br label %3130

3130:                                             ; preds = %3125, %3129
  %.str.5.sink3049 = phi ptr [ @.str.5, %3129 ], [ @.str.2, %3125 ]
  store i32 %3120, ptr %3119, align 4, !tbaa !5
  %3131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3132 = load i32, ptr @test_count, align 4, !tbaa !5
  %3133 = load i32, ptr %2772, align 4, !tbaa !5
  %3134 = call ptr @s2n_strerror(i32 noundef %3133, ptr noundef nonnull @.str.4) #13
  %3135 = load i32, ptr %2772, align 4, !tbaa !5
  %3136 = call ptr @s2n_strerror_debug(i32 noundef %3135, ptr noundef nonnull @.str.4) #13
  %3137 = load i32, ptr %3119, align 4, !tbaa !5
  %3138 = call ptr @strerror(i32 noundef %3137) #13
  %3139 = load i32, ptr %3119, align 4, !tbaa !5
  %3140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3131, ptr noundef nonnull %.str.5.sink3049, i32 noundef %3132, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %3134, ptr noundef %3136, ptr noundef %3138, i32 noundef %3139) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3141:                                             ; preds = %3113
  %3142 = load i32, ptr @test_count, align 4, !tbaa !5
  %3143 = add nsw i32 %3142, 1
  store i32 %3143, ptr @test_count, align 4, !tbaa !5
  %3144 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2892, ptr noundef nonnull %2948) #13
  %3145 = icmp eq i32 %3144, -1
  br i1 %3145, label %3146, label %3169

3146:                                             ; preds = %3141
  %3147 = tail call ptr @__errno_location() #14
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = call i32 @s2n_print_stacktrace(ptr noundef %3149) #13
  %3151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3152 = trunc nuw i8 %3151 to i1
  br i1 %3152, label %3153, label %3157

3153:                                             ; preds = %3146
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = call i32 @fileno(ptr noundef %3154) #13
  %3156 = call i32 @isatty(i32 noundef %3155) #13
  %.not1815 = icmp eq i32 %3156, 0
  br i1 %.not1815, label %3157, label %3158

3157:                                             ; preds = %3153, %3146
  br label %3158

3158:                                             ; preds = %3153, %3157
  %.str.5.sink3058 = phi ptr [ @.str.5, %3157 ], [ @.str.2, %3153 ]
  store i32 %3148, ptr %3147, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = load i32, ptr %2772, align 4, !tbaa !5
  %3162 = call ptr @s2n_strerror(i32 noundef %3161, ptr noundef nonnull @.str.4) #13
  %3163 = load i32, ptr %2772, align 4, !tbaa !5
  %3164 = call ptr @s2n_strerror_debug(i32 noundef %3163, ptr noundef nonnull @.str.4) #13
  %3165 = load i32, ptr %3147, align 4, !tbaa !5
  %3166 = call ptr @strerror(i32 noundef %3165) #13
  %3167 = load i32, ptr %3147, align 4, !tbaa !5
  %3168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3159, ptr noundef nonnull %.str.5.sink3058, i32 noundef %3160, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %3162, ptr noundef %3164, ptr noundef %3166, i32 noundef %3167) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3169:                                             ; preds = %3141
  %3170 = load i32, ptr @test_count, align 4, !tbaa !5
  %3171 = add nsw i32 %3170, 1
  store i32 %3171, ptr @test_count, align 4, !tbaa !5
  %3172 = load i32, ptr %3, align 4, !tbaa !45
  %3173 = call i64 @write(i32 noundef %3172, ptr noundef nonnull %17, i64 noundef 5) #13
  %3174 = icmp eq i64 %3173, 5
  br i1 %3174, label %3198, label %3175

3175:                                             ; preds = %3169
  %3176 = tail call ptr @__errno_location() #14
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = call i32 @s2n_print_stacktrace(ptr noundef %3178) #13
  %3180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3181 = trunc nuw i8 %3180 to i1
  br i1 %3181, label %3182, label %3186

3182:                                             ; preds = %3175
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = call i32 @fileno(ptr noundef %3183) #13
  %3185 = call i32 @isatty(i32 noundef %3184) #13
  %.not1496 = icmp eq i32 %3185, 0
  br i1 %.not1496, label %3186, label %3187

3186:                                             ; preds = %3182, %3175
  br label %3187

3187:                                             ; preds = %3182, %3186
  %.str.5.sink3067 = phi ptr [ @.str.5, %3186 ], [ @.str.2, %3182 ]
  store i32 %3177, ptr %3176, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = load i32, ptr @test_count, align 4, !tbaa !5
  %3190 = load i32, ptr %2772, align 4, !tbaa !5
  %3191 = call ptr @s2n_strerror(i32 noundef %3190, ptr noundef nonnull @.str.4) #13
  %3192 = load i32, ptr %2772, align 4, !tbaa !5
  %3193 = call ptr @s2n_strerror_debug(i32 noundef %3192, ptr noundef nonnull @.str.4) #13
  %3194 = load i32, ptr %3176, align 4, !tbaa !5
  %3195 = call ptr @strerror(i32 noundef %3194) #13
  %3196 = load i32, ptr %3176, align 4, !tbaa !5
  %3197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3188, ptr noundef nonnull %.str.5.sink3067, i32 noundef %3189, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %3191, ptr noundef %3193, ptr noundef %3195, i32 noundef %3196) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3198:                                             ; preds = %3169
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %3200 = add nsw i32 %3199, 1
  store i32 %3200, ptr @test_count, align 4, !tbaa !5
  %3201 = load i32, ptr %3, align 4, !tbaa !45
  %3202 = call i64 @write(i32 noundef %3201, ptr noundef nonnull %16, i64 noundef 4) #13
  %3203 = icmp eq i64 %3202, 4
  br i1 %3203, label %3227, label %3204

3204:                                             ; preds = %3198
  %3205 = tail call ptr @__errno_location() #14
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3208 = call i32 @s2n_print_stacktrace(ptr noundef %3207) #13
  %3209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3210 = trunc nuw i8 %3209 to i1
  br i1 %3210, label %3211, label %3215

3211:                                             ; preds = %3204
  %3212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3213 = call i32 @fileno(ptr noundef %3212) #13
  %3214 = call i32 @isatty(i32 noundef %3213) #13
  %.not1497 = icmp eq i32 %3214, 0
  br i1 %.not1497, label %3215, label %3216

3215:                                             ; preds = %3211, %3204
  br label %3216

3216:                                             ; preds = %3211, %3215
  %.str.5.sink3076 = phi ptr [ @.str.5, %3215 ], [ @.str.2, %3211 ]
  store i32 %3206, ptr %3205, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = load i32, ptr %2772, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror(i32 noundef %3219, ptr noundef nonnull @.str.4) #13
  %3221 = load i32, ptr %2772, align 4, !tbaa !5
  %3222 = call ptr @s2n_strerror_debug(i32 noundef %3221, ptr noundef nonnull @.str.4) #13
  %3223 = load i32, ptr %3205, align 4, !tbaa !5
  %3224 = call ptr @strerror(i32 noundef %3223) #13
  %3225 = load i32, ptr %3205, align 4, !tbaa !5
  %3226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3217, ptr noundef nonnull %.str.5.sink3076, i32 noundef %3218, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %3220, ptr noundef %3222, ptr noundef %3224, i32 noundef %3225) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3227:                                             ; preds = %3198
  %3228 = load i32, ptr @test_count, align 4, !tbaa !5
  %3229 = add nsw i32 %3228, 1
  store i32 %3229, ptr @test_count, align 4, !tbaa !5
  %3230 = load i32, ptr %3, align 4, !tbaa !45
  %3231 = call i64 @write(i32 noundef %3230, ptr noundef nonnull %15, i64 noundef 75) #13
  %3232 = icmp eq i64 %3231, 75
  br i1 %3232, label %3256, label %3233

3233:                                             ; preds = %3227
  %3234 = tail call ptr @__errno_location() #14
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = call i32 @s2n_print_stacktrace(ptr noundef %3236) #13
  %3238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3239 = trunc nuw i8 %3238 to i1
  br i1 %3239, label %3240, label %3244

3240:                                             ; preds = %3233
  %3241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3242 = call i32 @fileno(ptr noundef %3241) #13
  %3243 = call i32 @isatty(i32 noundef %3242) #13
  %.not1498 = icmp eq i32 %3243, 0
  br i1 %.not1498, label %3244, label %3245

3244:                                             ; preds = %3240, %3233
  br label %3245

3245:                                             ; preds = %3240, %3244
  %.str.5.sink3085 = phi ptr [ @.str.5, %3244 ], [ @.str.2, %3240 ]
  store i32 %3235, ptr %3234, align 4, !tbaa !5
  %3246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = load i32, ptr %2772, align 4, !tbaa !5
  %3249 = call ptr @s2n_strerror(i32 noundef %3248, ptr noundef nonnull @.str.4) #13
  %3250 = load i32, ptr %2772, align 4, !tbaa !5
  %3251 = call ptr @s2n_strerror_debug(i32 noundef %3250, ptr noundef nonnull @.str.4) #13
  %3252 = load i32, ptr %3234, align 4, !tbaa !5
  %3253 = call ptr @strerror(i32 noundef %3252) #13
  %3254 = load i32, ptr %3234, align 4, !tbaa !5
  %3255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3246, ptr noundef nonnull %.str.5.sink3085, i32 noundef %3247, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %3249, ptr noundef %3251, ptr noundef %3253, i32 noundef %3254) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3256:                                             ; preds = %3227
  %3257 = load i32, ptr @test_count, align 4, !tbaa !5
  %3258 = add nsw i32 %3257, 1
  store i32 %3258, ptr @test_count, align 4, !tbaa !5
  %3259 = load i32, ptr %3, align 4, !tbaa !45
  %3260 = call i64 @write(i32 noundef %3259, ptr noundef nonnull @__const.main.client_extensions.66, i64 noundef 5) #13
  %3261 = icmp eq i64 %3260, 5
  br i1 %3261, label %3285, label %3262

3262:                                             ; preds = %3256
  %3263 = tail call ptr @__errno_location() #14
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3266 = call i32 @s2n_print_stacktrace(ptr noundef %3265) #13
  %3267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3268 = trunc nuw i8 %3267 to i1
  br i1 %3268, label %3269, label %3273

3269:                                             ; preds = %3262
  %3270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3271 = call i32 @fileno(ptr noundef %3270) #13
  %3272 = call i32 @isatty(i32 noundef %3271) #13
  %.not1499 = icmp eq i32 %3272, 0
  br i1 %.not1499, label %3273, label %3274

3273:                                             ; preds = %3269, %3262
  br label %3274

3274:                                             ; preds = %3269, %3273
  %.str.5.sink3094 = phi ptr [ @.str.5, %3273 ], [ @.str.2, %3269 ]
  store i32 %3264, ptr %3263, align 4, !tbaa !5
  %3275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3276 = load i32, ptr @test_count, align 4, !tbaa !5
  %3277 = load i32, ptr %2772, align 4, !tbaa !5
  %3278 = call ptr @s2n_strerror(i32 noundef %3277, ptr noundef nonnull @.str.4) #13
  %3279 = load i32, ptr %2772, align 4, !tbaa !5
  %3280 = call ptr @s2n_strerror_debug(i32 noundef %3279, ptr noundef nonnull @.str.4) #13
  %3281 = load i32, ptr %3263, align 4, !tbaa !5
  %3282 = call ptr @strerror(i32 noundef %3281) #13
  %3283 = load i32, ptr %3263, align 4, !tbaa !5
  %3284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3275, ptr noundef nonnull %.str.5.sink3094, i32 noundef %3276, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %3278, ptr noundef %3280, ptr noundef %3282, i32 noundef %3283) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3285:                                             ; preds = %3256
  %3286 = call i32 @s2n_negotiate(ptr noundef nonnull %2892, ptr noundef nonnull %14) #13
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = add nsw i32 %3287, 1
  store i32 %3288, ptr @test_count, align 4, !tbaa !5
  %3289 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %2892) #13
  %.not1500 = icmp eq i32 %3289, 0
  br i1 %.not1500, label %3290, label %3313

3290:                                             ; preds = %3285
  %3291 = tail call ptr @__errno_location() #14
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3294 = call i32 @s2n_print_stacktrace(ptr noundef %3293) #13
  %3295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3296 = trunc nuw i8 %3295 to i1
  br i1 %3296, label %3297, label %3301

3297:                                             ; preds = %3290
  %3298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3299 = call i32 @fileno(ptr noundef %3298) #13
  %3300 = call i32 @isatty(i32 noundef %3299) #13
  %.not1501 = icmp eq i32 %3300, 0
  br i1 %.not1501, label %3301, label %3302

3301:                                             ; preds = %3297, %3290
  br label %3302

3302:                                             ; preds = %3297, %3301
  %.str.5.sink3103 = phi ptr [ @.str.5, %3301 ], [ @.str.2, %3297 ]
  store i32 %3292, ptr %3291, align 4, !tbaa !5
  %3303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3304 = load i32, ptr @test_count, align 4, !tbaa !5
  %3305 = load i32, ptr %2772, align 4, !tbaa !5
  %3306 = call ptr @s2n_strerror(i32 noundef %3305, ptr noundef nonnull @.str.4) #13
  %3307 = load i32, ptr %2772, align 4, !tbaa !5
  %3308 = call ptr @s2n_strerror_debug(i32 noundef %3307, ptr noundef nonnull @.str.4) #13
  %3309 = load i32, ptr %3291, align 4, !tbaa !5
  %3310 = call ptr @strerror(i32 noundef %3309) #13
  %3311 = load i32, ptr %3291, align 4, !tbaa !5
  %3312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3303, ptr noundef nonnull %.str.5.sink3103, i32 noundef %3304, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %3306, ptr noundef %3308, ptr noundef %3310, i32 noundef %3311) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3313:                                             ; preds = %3285
  %3314 = load i32, ptr @test_count, align 4, !tbaa !5
  %3315 = add nsw i32 %3314, 1
  store i32 %3315, ptr @test_count, align 4, !tbaa !5
  %3316 = getelementptr inbounds i8, ptr %2892, i64 2172
  %3317 = load i32, ptr %3316, align 4, !tbaa !47
  %3318 = and i32 %3317, 1
  %.not1502 = icmp eq i32 %3318, 0
  br i1 %.not1502, label %3319, label %3342

3319:                                             ; preds = %3313
  %3320 = tail call ptr @__errno_location() #14
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3323 = call i32 @s2n_print_stacktrace(ptr noundef %3322) #13
  %3324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3325 = trunc nuw i8 %3324 to i1
  br i1 %3325, label %3326, label %3330

3326:                                             ; preds = %3319
  %3327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3328 = call i32 @fileno(ptr noundef %3327) #13
  %3329 = call i32 @isatty(i32 noundef %3328) #13
  %.not1503 = icmp eq i32 %3329, 0
  br i1 %.not1503, label %3330, label %3331

3330:                                             ; preds = %3326, %3319
  br label %3331

3331:                                             ; preds = %3326, %3330
  %.str.5.sink3112 = phi ptr [ @.str.5, %3330 ], [ @.str.2, %3326 ]
  store i32 %3321, ptr %3320, align 4, !tbaa !5
  %3332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3333 = load i32, ptr @test_count, align 4, !tbaa !5
  %3334 = load i32, ptr %2772, align 4, !tbaa !5
  %3335 = call ptr @s2n_strerror(i32 noundef %3334, ptr noundef nonnull @.str.4) #13
  %3336 = load i32, ptr %2772, align 4, !tbaa !5
  %3337 = call ptr @s2n_strerror_debug(i32 noundef %3336, ptr noundef nonnull @.str.4) #13
  %3338 = load i32, ptr %3320, align 4, !tbaa !5
  %3339 = call ptr @strerror(i32 noundef %3338) #13
  %3340 = load i32, ptr %3320, align 4, !tbaa !5
  %3341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3332, ptr noundef nonnull %.str.5.sink3112, i32 noundef %3333, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %3335, ptr noundef %3337, ptr noundef %3339, i32 noundef %3340) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3342:                                             ; preds = %3313
  %3343 = add nsw i32 %3314, 2
  store i32 %3343, ptr @test_count, align 4, !tbaa !5
  %3344 = load i32, ptr %2892, align 8
  %3345 = and i32 %3344, 8
  %.not1504 = icmp eq i32 %3345, 0
  br i1 %.not1504, label %3346, label %3369

3346:                                             ; preds = %3342
  %3347 = tail call ptr @__errno_location() #14
  %3348 = load i32, ptr %3347, align 4, !tbaa !5
  %3349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3350 = call i32 @s2n_print_stacktrace(ptr noundef %3349) #13
  %3351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3352 = trunc nuw i8 %3351 to i1
  br i1 %3352, label %3353, label %3357

3353:                                             ; preds = %3346
  %3354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3355 = call i32 @fileno(ptr noundef %3354) #13
  %3356 = call i32 @isatty(i32 noundef %3355) #13
  %.not1505 = icmp eq i32 %3356, 0
  br i1 %.not1505, label %3357, label %3358

3357:                                             ; preds = %3353, %3346
  br label %3358

3358:                                             ; preds = %3353, %3357
  %.str.5.sink3121 = phi ptr [ @.str.5, %3357 ], [ @.str.2, %3353 ]
  store i32 %3348, ptr %3347, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = load i32, ptr %2772, align 4, !tbaa !5
  %3362 = call ptr @s2n_strerror(i32 noundef %3361, ptr noundef nonnull @.str.4) #13
  %3363 = load i32, ptr %2772, align 4, !tbaa !5
  %3364 = call ptr @s2n_strerror_debug(i32 noundef %3363, ptr noundef nonnull @.str.4) #13
  %3365 = load i32, ptr %3347, align 4, !tbaa !5
  %3366 = call ptr @strerror(i32 noundef %3365) #13
  %3367 = load i32, ptr %3347, align 4, !tbaa !5
  %3368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3359, ptr noundef nonnull %.str.5.sink3121, i32 noundef %3360, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %3362, ptr noundef %3364, ptr noundef %3366, i32 noundef %3367) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3369:                                             ; preds = %3342
  %3370 = add nsw i32 %3314, 3
  store i32 %3370, ptr @test_count, align 4, !tbaa !5
  %3371 = call i32 @s2n_shutdown(ptr noundef nonnull %2892, ptr noundef nonnull %14) #13
  %3372 = icmp eq i32 %3371, -1
  br i1 %3372, label %3373, label %3396

3373:                                             ; preds = %3369
  %3374 = tail call ptr @__errno_location() #14
  %3375 = load i32, ptr %3374, align 4, !tbaa !5
  %3376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3377 = call i32 @s2n_print_stacktrace(ptr noundef %3376) #13
  %3378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3379 = trunc nuw i8 %3378 to i1
  br i1 %3379, label %3380, label %3384

3380:                                             ; preds = %3373
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = call i32 @fileno(ptr noundef %3381) #13
  %3383 = call i32 @isatty(i32 noundef %3382) #13
  %.not1814 = icmp eq i32 %3383, 0
  br i1 %.not1814, label %3384, label %3385

3384:                                             ; preds = %3380, %3373
  br label %3385

3385:                                             ; preds = %3380, %3384
  %.str.5.sink3130 = phi ptr [ @.str.5, %3384 ], [ @.str.2, %3380 ]
  store i32 %3375, ptr %3374, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = load i32, ptr @test_count, align 4, !tbaa !5
  %3388 = load i32, ptr %2772, align 4, !tbaa !5
  %3389 = call ptr @s2n_strerror(i32 noundef %3388, ptr noundef nonnull @.str.4) #13
  %3390 = load i32, ptr %2772, align 4, !tbaa !5
  %3391 = call ptr @s2n_strerror_debug(i32 noundef %3390, ptr noundef nonnull @.str.4) #13
  %3392 = load i32, ptr %3374, align 4, !tbaa !5
  %3393 = call ptr @strerror(i32 noundef %3392) #13
  %3394 = load i32, ptr %3374, align 4, !tbaa !5
  %3395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3386, ptr noundef nonnull %.str.5.sink3130, i32 noundef %3387, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 621, ptr noundef %3389, ptr noundef %3391, ptr noundef %3393, i32 noundef %3394) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3396:                                             ; preds = %3369
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = add nsw i32 %3397, 1
  store i32 %3398, ptr @test_count, align 4, !tbaa !5
  %3399 = getelementptr inbounds i8, ptr %2892, i64 2003
  %3400 = load i8, ptr %3399, align 1, !tbaa !48, !range !13, !noundef !14
  %3401 = trunc nuw i8 %3400 to i1
  br i1 %3401, label %3425, label %3402

3402:                                             ; preds = %3396
  %3403 = tail call ptr @__errno_location() #14
  %3404 = load i32, ptr %3403, align 4, !tbaa !5
  %3405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3406 = call i32 @s2n_print_stacktrace(ptr noundef %3405) #13
  %3407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3408 = trunc nuw i8 %3407 to i1
  br i1 %3408, label %3409, label %3413

3409:                                             ; preds = %3402
  %3410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3411 = call i32 @fileno(ptr noundef %3410) #13
  %3412 = call i32 @isatty(i32 noundef %3411) #13
  %.not1506 = icmp eq i32 %3412, 0
  br i1 %.not1506, label %3413, label %3414

3413:                                             ; preds = %3409, %3402
  br label %3414

3414:                                             ; preds = %3409, %3413
  %.str.5.sink3139 = phi ptr [ @.str.5, %3413 ], [ @.str.2, %3409 ]
  store i32 %3404, ptr %3403, align 4, !tbaa !5
  %3415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3416 = load i32, ptr @test_count, align 4, !tbaa !5
  %3417 = load i32, ptr %2772, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror(i32 noundef %3417, ptr noundef nonnull @.str.4) #13
  %3419 = load i32, ptr %2772, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror_debug(i32 noundef %3419, ptr noundef nonnull @.str.4) #13
  %3421 = load i32, ptr %3403, align 4, !tbaa !5
  %3422 = call ptr @strerror(i32 noundef %3421) #13
  %3423 = load i32, ptr %3403, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3415, ptr noundef nonnull %.str.5.sink3139, i32 noundef %3416, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 622, ptr noundef %3418, ptr noundef %3420, ptr noundef %3422, i32 noundef %3423) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3425:                                             ; preds = %3396
  %3426 = add nsw i32 %3397, 2
  store i32 %3426, ptr @test_count, align 4, !tbaa !5
  %3427 = call i32 @s2n_connection_free(ptr noundef nonnull %2892) #13
  %3428 = icmp eq i32 %3427, -1
  br i1 %3428, label %3429, label %3452

3429:                                             ; preds = %3425
  %3430 = tail call ptr @__errno_location() #14
  %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) #13
  %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) #13
  %3439 = call i32 @isatty(i32 noundef %3438) #13
  %.not1813 = icmp eq i32 %3439, 0
  br i1 %.not1813, label %3440, label %3441

3440:                                             ; preds = %3436, %3429
  br label %3441

3441:                                             ; preds = %3436, %3440
  %.str.5.sink3148 = phi ptr [ @.str.5, %3440 ], [ @.str.2, %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 = load i32, ptr %2772, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror(i32 noundef %3444, ptr noundef nonnull @.str.4) #13
  %3446 = load i32, ptr %2772, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror_debug(i32 noundef %3446, ptr noundef nonnull @.str.4) #13
  %3448 = load i32, ptr %3430, align 4, !tbaa !5
  %3449 = call ptr @strerror(i32 noundef %3448) #13
  %3450 = load i32, ptr %3430, align 4, !tbaa !5
  %3451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3442, ptr noundef nonnull %.str.5.sink3148, i32 noundef %3443, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %3445, ptr noundef %3447, ptr noundef %3449, i32 noundef %3450) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3452:                                             ; preds = %3425
  %3453 = load i32, ptr @test_count, align 4, !tbaa !5
  %3454 = add nsw i32 %3453, 1
  store i32 %3454, ptr @test_count, align 4, !tbaa !5
  %3455 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %3060) #13
  %3456 = icmp eq i32 %3455, -1
  br i1 %3456, label %3457, label %3480

3457:                                             ; preds = %3452
  %3458 = tail call ptr @__errno_location() #14
  %3459 = load i32, ptr %3458, align 4, !tbaa !5
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = call i32 @s2n_print_stacktrace(ptr noundef %3460) #13
  %3462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3463 = trunc nuw i8 %3462 to i1
  br i1 %3463, label %3464, label %3468

3464:                                             ; preds = %3457
  %3465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3466 = call i32 @fileno(ptr noundef %3465) #13
  %3467 = call i32 @isatty(i32 noundef %3466) #13
  %.not1812 = icmp eq i32 %3467, 0
  br i1 %.not1812, label %3468, label %3469

3468:                                             ; preds = %3464, %3457
  br label %3469

3469:                                             ; preds = %3464, %3468
  %.str.5.sink3157 = phi ptr [ @.str.5, %3468 ], [ @.str.2, %3464 ]
  store i32 %3459, ptr %3458, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = load i32, ptr @test_count, align 4, !tbaa !5
  %3472 = load i32, ptr %2772, align 4, !tbaa !5
  %3473 = call ptr @s2n_strerror(i32 noundef %3472, ptr noundef nonnull @.str.4) #13
  %3474 = load i32, ptr %2772, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror_debug(i32 noundef %3474, ptr noundef nonnull @.str.4) #13
  %3476 = load i32, ptr %3458, align 4, !tbaa !5
  %3477 = call ptr @strerror(i32 noundef %3476) #13
  %3478 = load i32, ptr %3458, align 4, !tbaa !5
  %3479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3470, ptr noundef nonnull %.str.5.sink3157, i32 noundef %3471, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 626, ptr noundef %3473, ptr noundef %3475, ptr noundef %3477, i32 noundef %3478) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3480:                                             ; preds = %3452
  %3481 = load i32, ptr @test_count, align 4, !tbaa !5
  %3482 = add nsw i32 %3481, 1
  store i32 %3482, ptr @test_count, align 4, !tbaa !5
  %3483 = call i32 @s2n_config_free(ptr noundef nonnull %2948) #13
  %3484 = icmp eq i32 %3483, -1
  br i1 %3484, label %3485, label %3508

3485:                                             ; preds = %3480
  %3486 = tail call ptr @__errno_location() #14
  %3487 = load i32, ptr %3486, align 4, !tbaa !5
  %3488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3489 = call i32 @s2n_print_stacktrace(ptr noundef %3488) #13
  %3490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3491 = trunc nuw i8 %3490 to i1
  br i1 %3491, label %3492, label %3496

3492:                                             ; preds = %3485
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @fileno(ptr noundef %3493) #13
  %3495 = call i32 @isatty(i32 noundef %3494) #13
  %.not1811 = icmp eq i32 %3495, 0
  br i1 %.not1811, label %3496, label %3497

3496:                                             ; preds = %3492, %3485
  br label %3497

3497:                                             ; preds = %3492, %3496
  %.str.5.sink3166 = phi ptr [ @.str.5, %3496 ], [ @.str.2, %3492 ]
  store i32 %3487, ptr %3486, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = load i32, ptr @test_count, align 4, !tbaa !5
  %3500 = load i32, ptr %2772, align 4, !tbaa !5
  %3501 = call ptr @s2n_strerror(i32 noundef %3500, ptr noundef nonnull @.str.4) #13
  %3502 = load i32, ptr %2772, align 4, !tbaa !5
  %3503 = call ptr @s2n_strerror_debug(i32 noundef %3502, ptr noundef nonnull @.str.4) #13
  %3504 = load i32, ptr %3486, align 4, !tbaa !5
  %3505 = call ptr @strerror(i32 noundef %3504) #13
  %3506 = load i32, ptr %3486, align 4, !tbaa !5
  %3507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3498, ptr noundef nonnull %.str.5.sink3166, i32 noundef %3499, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %3501, ptr noundef %3503, ptr noundef %3505, i32 noundef %3506) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3508:                                             ; preds = %3480
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %17) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #13
  call void @llvm.lifetime.end.p0(i64 75, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #13
  call void @llvm.lifetime.start.p0(i64 5120, ptr nonnull %19) #13
  call void @llvm.lifetime.start.p0(i64 75, ptr nonnull %20) #13
  store <16 x i8> <i8 3, i8 3, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13>, ptr %20, align 16, !tbaa !44
  %3509 = getelementptr inbounds i8, ptr %20, i64 16
  store <16 x i8> <i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28, i8 29>, ptr %3509, align 16, !tbaa !44
  %3510 = getelementptr inbounds i8, ptr %20, i64 32
  store <16 x i8> <i8 30, i8 31, i8 32, i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12>, ptr %3510, align 16, !tbaa !44
  %3511 = getelementptr inbounds i8, ptr %20, i64 48
  store <16 x i8> <i8 13, i8 14, i8 15, i8 16, i8 17, i8 18, i8 19, i8 20, i8 21, i8 22, i8 23, i8 24, i8 25, i8 26, i8 27, i8 28>, ptr %3511, align 16, !tbaa !44
  %3512 = getelementptr inbounds i8, ptr %20, i64 64
  store <8 x i8> <i8 29, i8 30, i8 31, i8 0, i8 2, i8 0, i8 60, i8 1>, ptr %3512, align 16, !tbaa !44
  %3513 = getelementptr inbounds i8, ptr %20, i64 72
  store i8 0, ptr %3513, align 8, !tbaa !44
  %3514 = getelementptr inbounds i8, ptr %20, i64 73
  store i8 0, ptr %3514, align 1, !tbaa !44
  %3515 = getelementptr inbounds i8, ptr %20, i64 74
  store i8 37, ptr %3515, align 2, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #13
  store <4 x i8> <i8 1, i8 0, i8 0, i8 112>, ptr %21, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %22) #13
  store <4 x i8> <i8 22, i8 3, i8 3, i8 0>, ptr %22, align 4, !tbaa !44
  %3516 = getelementptr inbounds i8, ptr %22, i64 4
  store i8 116, ptr %3516, align 4, !tbaa !44
  %3517 = load i32, ptr @test_count, align 4, !tbaa !5
  %3518 = add nsw i32 %3517, 1
  store i32 %3518, ptr @test_count, align 4, !tbaa !5
  %3519 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %3520 = icmp eq ptr %3519, null
  br i1 %3520, label %3521, label %3544

3521:                                             ; preds = %3508
  %3522 = tail call ptr @__errno_location() #14
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3525 = call i32 @s2n_print_stacktrace(ptr noundef %3524) #13
  %3526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3527 = trunc nuw i8 %3526 to i1
  br i1 %3527, label %3528, label %3532

3528:                                             ; preds = %3521
  %3529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3530 = call i32 @fileno(ptr noundef %3529) #13
  %3531 = call i32 @isatty(i32 noundef %3530) #13
  %.not1810 = icmp eq i32 %3531, 0
  br i1 %.not1810, label %3532, label %3533

3532:                                             ; preds = %3528, %3521
  br label %3533

3533:                                             ; preds = %3528, %3532
  %.str.5.sink3175 = phi ptr [ @.str.5, %3532 ], [ @.str.2, %3528 ]
  store i32 %3523, ptr %3522, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = load i32, ptr %2772, align 4, !tbaa !5
  %3537 = call ptr @s2n_strerror(i32 noundef %3536, ptr noundef nonnull @.str.4) #13
  %3538 = load i32, ptr %2772, align 4, !tbaa !5
  %3539 = call ptr @s2n_strerror_debug(i32 noundef %3538, ptr noundef nonnull @.str.4) #13
  %3540 = load i32, ptr %3522, align 4, !tbaa !5
  %3541 = call ptr @strerror(i32 noundef %3540) #13
  %3542 = load i32, ptr %3522, align 4, !tbaa !5
  %3543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3534, ptr noundef nonnull %.str.5.sink3175, i32 noundef %3535, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %3537, ptr noundef %3539, ptr noundef %3541, i32 noundef %3542) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3544:                                             ; preds = %3508
  %3545 = load i32, ptr @test_count, align 4, !tbaa !5
  %3546 = add nsw i32 %3545, 1
  store i32 %3546, ptr @test_count, align 4, !tbaa !5
  %3547 = call i32 @s2n_connection_set_io_pair(ptr noundef nonnull %3519, ptr noundef nonnull %3) #13
  %3548 = icmp eq i32 %3547, -1
  br i1 %3548, label %3549, label %3572

3549:                                             ; preds = %3544
  %3550 = tail call ptr @__errno_location() #14
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3553 = call i32 @s2n_print_stacktrace(ptr noundef %3552) #13
  %3554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3555 = trunc nuw i8 %3554 to i1
  br i1 %3555, label %3556, label %3560

3556:                                             ; preds = %3549
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @fileno(ptr noundef %3557) #13
  %3559 = call i32 @isatty(i32 noundef %3558) #13
  %.not1809 = icmp eq i32 %3559, 0
  br i1 %.not1809, label %3560, label %3561

3560:                                             ; preds = %3556, %3549
  br label %3561

3561:                                             ; preds = %3556, %3560
  %.str.5.sink3184 = phi ptr [ @.str.5, %3560 ], [ @.str.2, %3556 ]
  store i32 %3551, ptr %3550, align 4, !tbaa !5
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = load i32, ptr %2772, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror(i32 noundef %3564, ptr noundef nonnull @.str.4) #13
  %3566 = load i32, ptr %2772, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror_debug(i32 noundef %3566, ptr noundef nonnull @.str.4) #13
  %3568 = load i32, ptr %3550, align 4, !tbaa !5
  %3569 = call ptr @strerror(i32 noundef %3568) #13
  %3570 = load i32, ptr %3550, align 4, !tbaa !5
  %3571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3562, ptr noundef nonnull %.str.5.sink3184, i32 noundef %3563, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 698, ptr noundef %3565, ptr noundef %3567, ptr noundef %3569, i32 noundef %3570) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3572:                                             ; preds = %3544
  %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 = call ptr @s2n_config_new() #13
  %3576 = icmp eq ptr %3575, null
  br i1 %3576, label %3577, label %3600

3577:                                             ; preds = %3572
  %3578 = tail call ptr @__errno_location() #14
  %3579 = load i32, ptr %3578, align 4, !tbaa !5
  %3580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3581 = call i32 @s2n_print_stacktrace(ptr noundef %3580) #13
  %3582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3583 = trunc nuw i8 %3582 to i1
  br i1 %3583, label %3584, label %3588

3584:                                             ; preds = %3577
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @fileno(ptr noundef %3585) #13
  %3587 = call i32 @isatty(i32 noundef %3586) #13
  %.not1808 = icmp eq i32 %3587, 0
  br i1 %.not1808, label %3588, label %3589

3588:                                             ; preds = %3584, %3577
  br label %3589

3589:                                             ; preds = %3584, %3588
  %.str.5.sink3193 = phi ptr [ @.str.5, %3588 ], [ @.str.2, %3584 ]
  store i32 %3579, ptr %3578, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = load i32, ptr @test_count, align 4, !tbaa !5
  %3592 = load i32, ptr %2772, align 4, !tbaa !5
  %3593 = call ptr @s2n_strerror(i32 noundef %3592, ptr noundef nonnull @.str.4) #13
  %3594 = load i32, ptr %2772, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror_debug(i32 noundef %3594, ptr noundef nonnull @.str.4) #13
  %3596 = load i32, ptr %3578, align 4, !tbaa !5
  %3597 = call ptr @strerror(i32 noundef %3596) #13
  %3598 = load i32, ptr %3578, align 4, !tbaa !5
  %3599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3590, ptr noundef nonnull %.str.5.sink3193, i32 noundef %3591, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 700, ptr noundef %3593, ptr noundef %3595, ptr noundef %3597, i32 noundef %3598) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3600:                                             ; preds = %3572
  %3601 = load i32, ptr @test_count, align 4, !tbaa !5
  %3602 = add nsw i32 %3601, 1
  store i32 %3602, ptr @test_count, align 4, !tbaa !5
  %3603 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %3604 = icmp eq i32 %3603, -1
  br i1 %3604, label %3605, label %3628

3605:                                             ; preds = %3600
  %3606 = tail call ptr @__errno_location() #14
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3609 = call i32 @s2n_print_stacktrace(ptr noundef %3608) #13
  %3610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3611 = trunc nuw i8 %3610 to i1
  br i1 %3611, label %3612, label %3616

3612:                                             ; preds = %3605
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @fileno(ptr noundef %3613) #13
  %3615 = call i32 @isatty(i32 noundef %3614) #13
  %.not1807 = icmp eq i32 %3615, 0
  br i1 %.not1807, label %3616, label %3617

3616:                                             ; preds = %3612, %3605
  br label %3617

3617:                                             ; preds = %3612, %3616
  %.str.5.sink3202 = phi ptr [ @.str.5, %3616 ], [ @.str.2, %3612 ]
  store i32 %3607, ptr %3606, align 4, !tbaa !5
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = load i32, ptr @test_count, align 4, !tbaa !5
  %3620 = load i32, ptr %2772, align 4, !tbaa !5
  %3621 = call ptr @s2n_strerror(i32 noundef %3620, ptr noundef nonnull @.str.4) #13
  %3622 = load i32, ptr %2772, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror_debug(i32 noundef %3622, ptr noundef nonnull @.str.4) #13
  %3624 = load i32, ptr %3606, align 4, !tbaa !5
  %3625 = call ptr @strerror(i32 noundef %3624) #13
  %3626 = load i32, ptr %3606, align 4, !tbaa !5
  %3627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3618, ptr noundef nonnull %.str.5.sink3202, i32 noundef %3619, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 701, ptr noundef %3621, ptr noundef %3623, ptr noundef %3625, i32 noundef %3626) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3628:                                             ; preds = %3600
  %3629 = load i32, ptr @test_count, align 4, !tbaa !5
  %3630 = add nsw i32 %3629, 1
  store i32 %3630, ptr @test_count, align 4, !tbaa !5
  %3631 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %3632 = icmp eq i32 %3631, -1
  br i1 %3632, label %3633, label %3656

3633:                                             ; preds = %3628
  %3634 = tail call ptr @__errno_location() #14
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3637 = call i32 @s2n_print_stacktrace(ptr noundef %3636) #13
  %3638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3639 = trunc nuw i8 %3638 to i1
  br i1 %3639, label %3640, label %3644

3640:                                             ; preds = %3633
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = call i32 @fileno(ptr noundef %3641) #13
  %3643 = call i32 @isatty(i32 noundef %3642) #13
  %.not1806 = icmp eq i32 %3643, 0
  br i1 %.not1806, label %3644, label %3645

3644:                                             ; preds = %3640, %3633
  br label %3645

3645:                                             ; preds = %3640, %3644
  %.str.5.sink3211 = phi ptr [ @.str.5, %3644 ], [ @.str.2, %3640 ]
  store i32 %3635, ptr %3634, align 4, !tbaa !5
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = load i32, ptr @test_count, align 4, !tbaa !5
  %3648 = load i32, ptr %2772, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror(i32 noundef %3648, ptr noundef nonnull @.str.4) #13
  %3650 = load i32, ptr %2772, align 4, !tbaa !5
  %3651 = call ptr @s2n_strerror_debug(i32 noundef %3650, ptr noundef nonnull @.str.4) #13
  %3652 = load i32, ptr %3634, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #13
  %3654 = load i32, ptr %3634, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3646, ptr noundef nonnull %.str.5.sink3211, i32 noundef %3647, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 702, ptr noundef %3649, ptr noundef %3651, ptr noundef %3653, i32 noundef %3654) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3656:                                             ; preds = %3628
  %3657 = load i32, ptr @test_count, align 4, !tbaa !5
  %3658 = add nsw i32 %3657, 1
  store i32 %3658, ptr @test_count, align 4, !tbaa !5
  %3659 = call ptr @s2n_cert_chain_and_key_new() #13
  %3660 = icmp eq ptr %3659, null
  br i1 %3660, label %3661, label %3684

3661:                                             ; preds = %3656
  %3662 = tail call ptr @__errno_location() #14
  %3663 = load i32, ptr %3662, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = call i32 @s2n_print_stacktrace(ptr noundef %3664) #13
  %3666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3667 = trunc nuw i8 %3666 to i1
  br i1 %3667, label %3668, label %3672

3668:                                             ; preds = %3661
  %3669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3670 = call i32 @fileno(ptr noundef %3669) #13
  %3671 = call i32 @isatty(i32 noundef %3670) #13
  %.not1805 = icmp eq i32 %3671, 0
  br i1 %.not1805, label %3672, label %3673

3672:                                             ; preds = %3668, %3661
  br label %3673

3673:                                             ; preds = %3668, %3672
  %.str.5.sink3220 = phi ptr [ @.str.5, %3672 ], [ @.str.2, %3668 ]
  store i32 %3663, ptr %3662, align 4, !tbaa !5
  %3674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3675 = load i32, ptr @test_count, align 4, !tbaa !5
  %3676 = load i32, ptr %2772, align 4, !tbaa !5
  %3677 = call ptr @s2n_strerror(i32 noundef %3676, ptr noundef nonnull @.str.4) #13
  %3678 = load i32, ptr %2772, align 4, !tbaa !5
  %3679 = call ptr @s2n_strerror_debug(i32 noundef %3678, ptr noundef nonnull @.str.4) #13
  %3680 = load i32, ptr %3662, align 4, !tbaa !5
  %3681 = call ptr @strerror(i32 noundef %3680) #13
  %3682 = load i32, ptr %3662, align 4, !tbaa !5
  %3683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3674, ptr noundef nonnull %.str.5.sink3220, i32 noundef %3675, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %3677, ptr noundef %3679, ptr noundef %3681, i32 noundef %3682) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3684:                                             ; preds = %3656
  %3685 = load i32, ptr @test_count, align 4, !tbaa !5
  %3686 = add nsw i32 %3685, 1
  store i32 %3686, ptr @test_count, align 4, !tbaa !5
  %3687 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %3659, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %3688 = icmp eq i32 %3687, -1
  br i1 %3688, label %3689, label %3712

3689:                                             ; preds = %3684
  %3690 = tail call ptr @__errno_location() #14
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3693 = call i32 @s2n_print_stacktrace(ptr noundef %3692) #13
  %3694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3695 = trunc nuw i8 %3694 to i1
  br i1 %3695, label %3696, label %3700

3696:                                             ; preds = %3689
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @fileno(ptr noundef %3697) #13
  %3699 = call i32 @isatty(i32 noundef %3698) #13
  %.not1804 = icmp eq i32 %3699, 0
  br i1 %.not1804, label %3700, label %3701

3700:                                             ; preds = %3696, %3689
  br label %3701

3701:                                             ; preds = %3696, %3700
  %.str.5.sink3229 = phi ptr [ @.str.5, %3700 ], [ @.str.2, %3696 ]
  store i32 %3691, ptr %3690, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = load i32, ptr @test_count, align 4, !tbaa !5
  %3704 = load i32, ptr %2772, align 4, !tbaa !5
  %3705 = call ptr @s2n_strerror(i32 noundef %3704, ptr noundef nonnull @.str.4) #13
  %3706 = load i32, ptr %2772, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror_debug(i32 noundef %3706, ptr noundef nonnull @.str.4) #13
  %3708 = load i32, ptr %3690, align 4, !tbaa !5
  %3709 = call ptr @strerror(i32 noundef %3708) #13
  %3710 = load i32, ptr %3690, align 4, !tbaa !5
  %3711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3702, ptr noundef nonnull %.str.5.sink3229, i32 noundef %3703, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 704, ptr noundef %3705, ptr noundef %3707, ptr noundef %3709, i32 noundef %3710) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3712:                                             ; preds = %3684
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = add nsw i32 %3713, 1
  store i32 %3714, ptr @test_count, align 4, !tbaa !5
  %3715 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %3575, ptr noundef nonnull %3659) #13
  %3716 = icmp eq i32 %3715, -1
  br i1 %3716, label %3717, label %3740

3717:                                             ; preds = %3712
  %3718 = tail call ptr @__errno_location() #14
  %3719 = load i32, ptr %3718, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = call i32 @s2n_print_stacktrace(ptr noundef %3720) #13
  %3722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3723 = trunc nuw i8 %3722 to i1
  br i1 %3723, label %3724, label %3728

3724:                                             ; preds = %3717
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = call i32 @fileno(ptr noundef %3725) #13
  %3727 = call i32 @isatty(i32 noundef %3726) #13
  %.not1803 = icmp eq i32 %3727, 0
  br i1 %.not1803, label %3728, label %3729

3728:                                             ; preds = %3724, %3717
  br label %3729

3729:                                             ; preds = %3724, %3728
  %.str.5.sink3238 = phi ptr [ @.str.5, %3728 ], [ @.str.2, %3724 ]
  store i32 %3719, ptr %3718, align 4, !tbaa !5
  %3730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3731 = load i32, ptr @test_count, align 4, !tbaa !5
  %3732 = load i32, ptr %2772, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror(i32 noundef %3732, ptr noundef nonnull @.str.4) #13
  %3734 = load i32, ptr %2772, align 4, !tbaa !5
  %3735 = call ptr @s2n_strerror_debug(i32 noundef %3734, ptr noundef nonnull @.str.4) #13
  %3736 = load i32, ptr %3718, align 4, !tbaa !5
  %3737 = call ptr @strerror(i32 noundef %3736) #13
  %3738 = load i32, ptr %3718, align 4, !tbaa !5
  %3739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3730, ptr noundef nonnull %.str.5.sink3238, i32 noundef %3731, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 705, ptr noundef %3733, ptr noundef %3735, ptr noundef %3737, i32 noundef %3738) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3740:                                             ; preds = %3712
  %3741 = load i32, ptr @test_count, align 4, !tbaa !5
  %3742 = add nsw i32 %3741, 1
  store i32 %3742, ptr @test_count, align 4, !tbaa !5
  %3743 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3519, ptr noundef nonnull %3575) #13
  %3744 = icmp eq i32 %3743, -1
  br i1 %3744, label %3745, label %3768

3745:                                             ; preds = %3740
  %3746 = tail call ptr @__errno_location() #14
  %3747 = load i32, ptr %3746, align 4, !tbaa !5
  %3748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3749 = call i32 @s2n_print_stacktrace(ptr noundef %3748) #13
  %3750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3751 = trunc nuw i8 %3750 to i1
  br i1 %3751, label %3752, label %3756

3752:                                             ; preds = %3745
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = call i32 @fileno(ptr noundef %3753) #13
  %3755 = call i32 @isatty(i32 noundef %3754) #13
  %.not1802 = icmp eq i32 %3755, 0
  br i1 %.not1802, label %3756, label %3757

3756:                                             ; preds = %3752, %3745
  br label %3757

3757:                                             ; preds = %3752, %3756
  %.str.5.sink3247 = phi ptr [ @.str.5, %3756 ], [ @.str.2, %3752 ]
  store i32 %3747, ptr %3746, align 4, !tbaa !5
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = load i32, ptr @test_count, align 4, !tbaa !5
  %3760 = load i32, ptr %2772, align 4, !tbaa !5
  %3761 = call ptr @s2n_strerror(i32 noundef %3760, ptr noundef nonnull @.str.4) #13
  %3762 = load i32, ptr %2772, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror_debug(i32 noundef %3762, ptr noundef nonnull @.str.4) #13
  %3764 = load i32, ptr %3746, align 4, !tbaa !5
  %3765 = call ptr @strerror(i32 noundef %3764) #13
  %3766 = load i32, ptr %3746, align 4, !tbaa !5
  %3767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3758, ptr noundef nonnull %.str.5.sink3247, i32 noundef %3759, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %3761, ptr noundef %3763, ptr noundef %3765, i32 noundef %3766) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3768:                                             ; preds = %3740
  %3769 = load i32, ptr @test_count, align 4, !tbaa !5
  %3770 = add nsw i32 %3769, 1
  store i32 %3770, ptr @test_count, align 4, !tbaa !5
  %3771 = load i32, ptr %3, align 4, !tbaa !45
  %3772 = call i64 @write(i32 noundef %3771, ptr noundef nonnull %22, i64 noundef 5) #13
  %3773 = icmp eq i64 %3772, 5
  br i1 %3773, label %3797, label %3774

3774:                                             ; preds = %3768
  %3775 = tail call ptr @__errno_location() #14
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3778 = call i32 @s2n_print_stacktrace(ptr noundef %3777) #13
  %3779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3780 = trunc nuw i8 %3779 to i1
  br i1 %3780, label %3781, label %3785

3781:                                             ; preds = %3774
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = call i32 @fileno(ptr noundef %3782) #13
  %3784 = call i32 @isatty(i32 noundef %3783) #13
  %.not1507 = icmp eq i32 %3784, 0
  br i1 %.not1507, label %3785, label %3786

3785:                                             ; preds = %3781, %3774
  br label %3786

3786:                                             ; preds = %3781, %3785
  %.str.5.sink3256 = phi ptr [ @.str.5, %3785 ], [ @.str.2, %3781 ]
  store i32 %3776, ptr %3775, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = load i32, ptr @test_count, align 4, !tbaa !5
  %3789 = load i32, ptr %2772, align 4, !tbaa !5
  %3790 = call ptr @s2n_strerror(i32 noundef %3789, ptr noundef nonnull @.str.4) #13
  %3791 = load i32, ptr %2772, align 4, !tbaa !5
  %3792 = call ptr @s2n_strerror_debug(i32 noundef %3791, ptr noundef nonnull @.str.4) #13
  %3793 = load i32, ptr %3775, align 4, !tbaa !5
  %3794 = call ptr @strerror(i32 noundef %3793) #13
  %3795 = load i32, ptr %3775, align 4, !tbaa !5
  %3796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3787, ptr noundef nonnull %.str.5.sink3256, i32 noundef %3788, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 709, ptr noundef %3790, ptr noundef %3792, ptr noundef %3794, i32 noundef %3795) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3797:                                             ; preds = %3768
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = add nsw i32 %3798, 1
  store i32 %3799, ptr @test_count, align 4, !tbaa !5
  %3800 = load i32, ptr %3, align 4, !tbaa !45
  %3801 = call i64 @write(i32 noundef %3800, ptr noundef nonnull %21, i64 noundef 4) #13
  %3802 = icmp eq i64 %3801, 4
  br i1 %3802, label %3826, label %3803

3803:                                             ; preds = %3797
  %3804 = tail call ptr @__errno_location() #14
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3807 = call i32 @s2n_print_stacktrace(ptr noundef %3806) #13
  %3808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3809 = trunc nuw i8 %3808 to i1
  br i1 %3809, label %3810, label %3814

3810:                                             ; preds = %3803
  %3811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3812 = call i32 @fileno(ptr noundef %3811) #13
  %3813 = call i32 @isatty(i32 noundef %3812) #13
  %.not1508 = icmp eq i32 %3813, 0
  br i1 %.not1508, label %3814, label %3815

3814:                                             ; preds = %3810, %3803
  br label %3815

3815:                                             ; preds = %3810, %3814
  %.str.5.sink3265 = phi ptr [ @.str.5, %3814 ], [ @.str.2, %3810 ]
  store i32 %3805, ptr %3804, align 4, !tbaa !5
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = load i32, ptr @test_count, align 4, !tbaa !5
  %3818 = load i32, ptr %2772, align 4, !tbaa !5
  %3819 = call ptr @s2n_strerror(i32 noundef %3818, ptr noundef nonnull @.str.4) #13
  %3820 = load i32, ptr %2772, align 4, !tbaa !5
  %3821 = call ptr @s2n_strerror_debug(i32 noundef %3820, ptr noundef nonnull @.str.4) #13
  %3822 = load i32, ptr %3804, align 4, !tbaa !5
  %3823 = call ptr @strerror(i32 noundef %3822) #13
  %3824 = load i32, ptr %3804, align 4, !tbaa !5
  %3825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3816, ptr noundef nonnull %.str.5.sink3265, i32 noundef %3817, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 710, ptr noundef %3819, ptr noundef %3821, ptr noundef %3823, i32 noundef %3824) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3826:                                             ; preds = %3797
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = add nsw i32 %3827, 1
  store i32 %3828, ptr @test_count, align 4, !tbaa !5
  %3829 = load i32, ptr %3, align 4, !tbaa !45
  %3830 = call i64 @write(i32 noundef %3829, ptr noundef nonnull %20, i64 noundef 75) #13
  %3831 = icmp eq i64 %3830, 75
  br i1 %3831, label %3855, label %3832

3832:                                             ; preds = %3826
  %3833 = tail call ptr @__errno_location() #14
  %3834 = load i32, ptr %3833, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = call i32 @s2n_print_stacktrace(ptr noundef %3835) #13
  %3837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3838 = trunc nuw i8 %3837 to i1
  br i1 %3838, label %3839, label %3843

3839:                                             ; preds = %3832
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = call i32 @fileno(ptr noundef %3840) #13
  %3842 = call i32 @isatty(i32 noundef %3841) #13
  %.not1509 = icmp eq i32 %3842, 0
  br i1 %.not1509, label %3843, label %3844

3843:                                             ; preds = %3839, %3832
  br label %3844

3844:                                             ; preds = %3839, %3843
  %.str.5.sink3274 = phi ptr [ @.str.5, %3843 ], [ @.str.2, %3839 ]
  store i32 %3834, ptr %3833, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = load i32, ptr %2772, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror(i32 noundef %3847, ptr noundef nonnull @.str.4) #13
  %3849 = load i32, ptr %2772, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror_debug(i32 noundef %3849, ptr noundef nonnull @.str.4) #13
  %3851 = load i32, ptr %3833, align 4, !tbaa !5
  %3852 = call ptr @strerror(i32 noundef %3851) #13
  %3853 = load i32, ptr %3833, align 4, !tbaa !5
  %3854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3845, ptr noundef nonnull %.str.5.sink3274, i32 noundef %3846, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 711, ptr noundef %3848, ptr noundef %3850, ptr noundef %3852, i32 noundef %3853) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3855:                                             ; preds = %3826
  %3856 = load i32, ptr @test_count, align 4, !tbaa !5
  %3857 = add nsw i32 %3856, 1
  store i32 %3857, ptr @test_count, align 4, !tbaa !5
  %3858 = load i32, ptr %3, align 4, !tbaa !45
  %3859 = call i64 @write(i32 noundef %3858, ptr noundef nonnull @__const.main.client_extensions.69, i64 noundef 37) #13
  %3860 = icmp eq i64 %3859, 37
  br i1 %3860, label %3884, label %3861

3861:                                             ; preds = %3855
  %3862 = tail call ptr @__errno_location() #14
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @s2n_print_stacktrace(ptr noundef %3864) #13
  %3866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3867 = trunc nuw i8 %3866 to i1
  br i1 %3867, label %3868, label %3872

3868:                                             ; preds = %3861
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = call i32 @fileno(ptr noundef %3869) #13
  %3871 = call i32 @isatty(i32 noundef %3870) #13
  %.not1510 = icmp eq i32 %3871, 0
  br i1 %.not1510, label %3872, label %3873

3872:                                             ; preds = %3868, %3861
  br label %3873

3873:                                             ; preds = %3868, %3872
  %.str.5.sink3283 = phi ptr [ @.str.5, %3872 ], [ @.str.2, %3868 ]
  store i32 %3863, ptr %3862, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = load i32, ptr @test_count, align 4, !tbaa !5
  %3876 = load i32, ptr %2772, align 4, !tbaa !5
  %3877 = call ptr @s2n_strerror(i32 noundef %3876, ptr noundef nonnull @.str.4) #13
  %3878 = load i32, ptr %2772, align 4, !tbaa !5
  %3879 = call ptr @s2n_strerror_debug(i32 noundef %3878, ptr noundef nonnull @.str.4) #13
  %3880 = load i32, ptr %3862, align 4, !tbaa !5
  %3881 = call ptr @strerror(i32 noundef %3880) #13
  %3882 = load i32, ptr %3862, align 4, !tbaa !5
  %3883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3874, ptr noundef nonnull %.str.5.sink3283, i32 noundef %3875, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %3877, ptr noundef %3879, ptr noundef %3881, i32 noundef %3882) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3884:                                             ; preds = %3855
  %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_connection_set_blinding(ptr noundef nonnull %3519, i32 noundef 1) #13
  %3888 = icmp eq i32 %3887, -1
  br i1 %3888, label %3889, label %3912

3889:                                             ; preds = %3884
  %3890 = tail call ptr @__errno_location() #14
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @s2n_print_stacktrace(ptr noundef %3892) #13
  %3894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3895 = trunc nuw i8 %3894 to i1
  br i1 %3895, label %3896, label %3900

3896:                                             ; preds = %3889
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = call i32 @fileno(ptr noundef %3897) #13
  %3899 = call i32 @isatty(i32 noundef %3898) #13
  %.not1801 = icmp eq i32 %3899, 0
  br i1 %.not1801, label %3900, label %3901

3900:                                             ; preds = %3896, %3889
  br label %3901

3901:                                             ; preds = %3896, %3900
  %.str.5.sink3292 = phi ptr [ @.str.5, %3900 ], [ @.str.2, %3896 ]
  store i32 %3891, ptr %3890, align 4, !tbaa !5
  %3902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3903 = load i32, ptr @test_count, align 4, !tbaa !5
  %3904 = load i32, ptr %2772, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef nonnull @.str.4) #13
  %3906 = load i32, ptr %2772, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror_debug(i32 noundef %3906, ptr noundef nonnull @.str.4) #13
  %3908 = load i32, ptr %3890, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #13
  %3910 = load i32, ptr %3890, align 4, !tbaa !5
  %3911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3902, ptr noundef nonnull %.str.5.sink3292, i32 noundef %3903, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 715, ptr noundef %3905, ptr noundef %3907, ptr noundef %3909, i32 noundef %3910) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3912:                                             ; preds = %3884
  %3913 = call i32 @s2n_negotiate(ptr noundef nonnull %3519, ptr noundef nonnull %18) #13
  %3914 = load i32, ptr @test_count, align 4, !tbaa !5
  %3915 = add nsw i32 %3914, 1
  store i32 %3915, ptr @test_count, align 4, !tbaa !5
  %3916 = load i32, ptr %2772, align 4, !tbaa !5
  %3917 = icmp eq i32 %3916, 335544364
  br i1 %3917, label %3941, label %3918

3918:                                             ; preds = %3912
  %3919 = tail call ptr @__errno_location() #14
  %3920 = load i32, ptr %3919, align 4, !tbaa !5
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @s2n_print_stacktrace(ptr noundef %3921) #13
  %3923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3924 = trunc nuw i8 %3923 to i1
  br i1 %3924, label %3925, label %3929

3925:                                             ; preds = %3918
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = call i32 @fileno(ptr noundef %3926) #13
  %3928 = call i32 @isatty(i32 noundef %3927) #13
  %.not1511 = icmp eq i32 %3928, 0
  br i1 %.not1511, label %3929, label %3930

3929:                                             ; preds = %3925, %3918
  br label %3930

3930:                                             ; preds = %3925, %3929
  %.str.5.sink3301 = phi ptr [ @.str.5, %3929 ], [ @.str.2, %3925 ]
  store i32 %3920, ptr %3919, align 4, !tbaa !5
  %3931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3932 = load i32, ptr @test_count, align 4, !tbaa !5
  %3933 = load i32, ptr %2772, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror(i32 noundef %3933, ptr noundef nonnull @.str.4) #13
  %3935 = load i32, ptr %2772, align 4, !tbaa !5
  %3936 = call ptr @s2n_strerror_debug(i32 noundef %3935, ptr noundef nonnull @.str.4) #13
  %3937 = load i32, ptr %3919, align 4, !tbaa !5
  %3938 = call ptr @strerror(i32 noundef %3937) #13
  %3939 = load i32, ptr %3919, align 4, !tbaa !5
  %3940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3931, ptr noundef nonnull %.str.5.sink3301, i32 noundef %3932, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %3934, ptr noundef %3936, ptr noundef %3938, i32 noundef %3939) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3941:                                             ; preds = %3912
  %3942 = add nsw i32 %3914, 2
  store i32 %3942, ptr @test_count, align 4, !tbaa !5
  %3943 = call i32 @s2n_connection_free(ptr noundef nonnull %3519) #13
  %3944 = icmp eq i32 %3943, -1
  br i1 %3944, label %3945, label %3968

3945:                                             ; preds = %3941
  %3946 = tail call ptr @__errno_location() #14
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3949 = call i32 @s2n_print_stacktrace(ptr noundef %3948) #13
  %3950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3951 = trunc nuw i8 %3950 to i1
  br i1 %3951, label %3952, label %3956

3952:                                             ; preds = %3945
  %3953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3954 = call i32 @fileno(ptr noundef %3953) #13
  %3955 = call i32 @isatty(i32 noundef %3954) #13
  %.not1800 = icmp eq i32 %3955, 0
  br i1 %.not1800, label %3956, label %3957

3956:                                             ; preds = %3952, %3945
  br label %3957

3957:                                             ; preds = %3952, %3956
  %.str.5.sink3310 = phi ptr [ @.str.5, %3956 ], [ @.str.2, %3952 ]
  store i32 %3947, ptr %3946, align 4, !tbaa !5
  %3958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3959 = load i32, ptr @test_count, align 4, !tbaa !5
  %3960 = load i32, ptr %2772, align 4, !tbaa !5
  %3961 = call ptr @s2n_strerror(i32 noundef %3960, ptr noundef nonnull @.str.4) #13
  %3962 = load i32, ptr %2772, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror_debug(i32 noundef %3962, ptr noundef nonnull @.str.4) #13
  %3964 = load i32, ptr %3946, align 4, !tbaa !5
  %3965 = call ptr @strerror(i32 noundef %3964) #13
  %3966 = load i32, ptr %3946, align 4, !tbaa !5
  %3967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3958, ptr noundef nonnull %.str.5.sink3310, i32 noundef %3959, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 719, ptr noundef %3961, ptr noundef %3963, ptr noundef %3965, i32 noundef %3966) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3968:                                             ; preds = %3941
  %3969 = load i32, ptr @test_count, align 4, !tbaa !5
  %3970 = add nsw i32 %3969, 1
  store i32 %3970, ptr @test_count, align 4, !tbaa !5
  %3971 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %3659) #13
  %3972 = icmp eq i32 %3971, -1
  br i1 %3972, label %3973, label %3996

3973:                                             ; preds = %3968
  %3974 = tail call ptr @__errno_location() #14
  %3975 = load i32, ptr %3974, align 4, !tbaa !5
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = call i32 @s2n_print_stacktrace(ptr noundef %3976) #13
  %3978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3979 = trunc nuw i8 %3978 to i1
  br i1 %3979, label %3980, label %3984

3980:                                             ; preds = %3973
  %3981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3982 = call i32 @fileno(ptr noundef %3981) #13
  %3983 = call i32 @isatty(i32 noundef %3982) #13
  %.not1799 = icmp eq i32 %3983, 0
  br i1 %.not1799, label %3984, label %3985

3984:                                             ; preds = %3980, %3973
  br label %3985

3985:                                             ; preds = %3980, %3984
  %.str.5.sink3319 = phi ptr [ @.str.5, %3984 ], [ @.str.2, %3980 ]
  store i32 %3975, ptr %3974, align 4, !tbaa !5
  %3986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3987 = load i32, ptr @test_count, align 4, !tbaa !5
  %3988 = load i32, ptr %2772, align 4, !tbaa !5
  %3989 = call ptr @s2n_strerror(i32 noundef %3988, ptr noundef nonnull @.str.4) #13
  %3990 = load i32, ptr %2772, align 4, !tbaa !5
  %3991 = call ptr @s2n_strerror_debug(i32 noundef %3990, ptr noundef nonnull @.str.4) #13
  %3992 = load i32, ptr %3974, align 4, !tbaa !5
  %3993 = call ptr @strerror(i32 noundef %3992) #13
  %3994 = load i32, ptr %3974, align 4, !tbaa !5
  %3995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3986, ptr noundef nonnull %.str.5.sink3319, i32 noundef %3987, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 720, ptr noundef %3989, ptr noundef %3991, ptr noundef %3993, i32 noundef %3994) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3996:                                             ; preds = %3968
  %3997 = load i32, ptr @test_count, align 4, !tbaa !5
  %3998 = add nsw i32 %3997, 1
  store i32 %3998, ptr @test_count, align 4, !tbaa !5
  %3999 = call i32 @s2n_config_free(ptr noundef nonnull %3575) #13
  %4000 = icmp eq i32 %3999, -1
  br i1 %4000, label %4001, label %4024

4001:                                             ; preds = %3996
  %4002 = tail call ptr @__errno_location() #14
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4005 = call i32 @s2n_print_stacktrace(ptr noundef %4004) #13
  %4006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4007 = trunc nuw i8 %4006 to i1
  br i1 %4007, label %4008, label %4012

4008:                                             ; preds = %4001
  %4009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4010 = call i32 @fileno(ptr noundef %4009) #13
  %4011 = call i32 @isatty(i32 noundef %4010) #13
  %.not1798 = icmp eq i32 %4011, 0
  br i1 %.not1798, label %4012, label %4013

4012:                                             ; preds = %4008, %4001
  br label %4013

4013:                                             ; preds = %4008, %4012
  %.str.5.sink3328 = phi ptr [ @.str.5, %4012 ], [ @.str.2, %4008 ]
  store i32 %4003, ptr %4002, align 4, !tbaa !5
  %4014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4015 = load i32, ptr @test_count, align 4, !tbaa !5
  %4016 = load i32, ptr %2772, align 4, !tbaa !5
  %4017 = call ptr @s2n_strerror(i32 noundef %4016, ptr noundef nonnull @.str.4) #13
  %4018 = load i32, ptr %2772, align 4, !tbaa !5
  %4019 = call ptr @s2n_strerror_debug(i32 noundef %4018, ptr noundef nonnull @.str.4) #13
  %4020 = load i32, ptr %4002, align 4, !tbaa !5
  %4021 = call ptr @strerror(i32 noundef %4020) #13
  %4022 = load i32, ptr %4002, align 4, !tbaa !5
  %4023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4014, ptr noundef nonnull %.str.5.sink3328, i32 noundef %4015, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 721, ptr noundef %4017, ptr noundef %4019, ptr noundef %4021, i32 noundef %4022) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4024:                                             ; preds = %3996
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = add nsw i32 %4025, 1
  store i32 %4026, ptr @test_count, align 4, !tbaa !5
  %4027 = load i32, ptr %3, align 4, !tbaa !45
  %4028 = call i64 @read(i32 noundef %4027, ptr noundef nonnull %19, i64 noundef 5120) #13
  %4029 = icmp eq i64 %4028, -1
  br i1 %4029, label %4030, label %4053

4030:                                             ; preds = %4024
  %4031 = tail call ptr @__errno_location() #14
  %4032 = load i32, ptr %4031, align 4, !tbaa !5
  %4033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4034 = call i32 @s2n_print_stacktrace(ptr noundef %4033) #13
  %4035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4036 = trunc nuw i8 %4035 to i1
  br i1 %4036, label %4037, label %4041

4037:                                             ; preds = %4030
  %4038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4039 = call i32 @fileno(ptr noundef %4038) #13
  %4040 = call i32 @isatty(i32 noundef %4039) #13
  %.not1797 = icmp eq i32 %4040, 0
  br i1 %.not1797, label %4041, label %4042

4041:                                             ; preds = %4037, %4030
  br label %4042

4042:                                             ; preds = %4037, %4041
  %.str.5.sink3337 = phi ptr [ @.str.5, %4041 ], [ @.str.2, %4037 ]
  store i32 %4032, ptr %4031, align 4, !tbaa !5
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = load i32, ptr @test_count, align 4, !tbaa !5
  %4045 = load i32, ptr %2772, align 4, !tbaa !5
  %4046 = call ptr @s2n_strerror(i32 noundef %4045, ptr noundef nonnull @.str.4) #13
  %4047 = load i32, ptr %2772, align 4, !tbaa !5
  %4048 = call ptr @s2n_strerror_debug(i32 noundef %4047, ptr noundef nonnull @.str.4) #13
  %4049 = load i32, ptr %4031, align 4, !tbaa !5
  %4050 = call ptr @strerror(i32 noundef %4049) #13
  %4051 = load i32, ptr %4031, align 4, !tbaa !5
  %4052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4043, ptr noundef nonnull %.str.5.sink3337, i32 noundef %4044, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %4046, ptr noundef %4048, ptr noundef %4050, i32 noundef %4051) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4053:                                             ; preds = %4024
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %22) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #13
  call void @llvm.lifetime.end.p0(i64 75, ptr nonnull %20) #13
  call void @llvm.lifetime.end.p0(i64 5120, ptr nonnull %19) #13
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #13
  store i32 0, ptr %23, align 4, !tbaa !5
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = add nsw i32 %4054, 1
  store i32 %4055, ptr @test_count, align 4, !tbaa !5
  %4056 = call ptr @s2n_config_new() #13
  %4057 = icmp eq ptr %4056, null
  br i1 %4057, label %4058, label %4081

4058:                                             ; preds = %4053
  %4059 = tail call ptr @__errno_location() #14
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4062 = call i32 @s2n_print_stacktrace(ptr noundef %4061) #13
  %4063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4064 = trunc nuw i8 %4063 to i1
  br i1 %4064, label %4065, label %4069

4065:                                             ; preds = %4058
  %4066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4067 = call i32 @fileno(ptr noundef %4066) #13
  %4068 = call i32 @isatty(i32 noundef %4067) #13
  %.not1796 = icmp eq i32 %4068, 0
  br i1 %.not1796, label %4069, label %4070

4069:                                             ; preds = %4065, %4058
  br label %4070

4070:                                             ; preds = %4065, %4069
  %.str.5.sink3346 = phi ptr [ @.str.5, %4069 ], [ @.str.2, %4065 ]
  store i32 %4060, ptr %4059, align 4, !tbaa !5
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = load i32, ptr @test_count, align 4, !tbaa !5
  %4073 = load i32, ptr %2772, align 4, !tbaa !5
  %4074 = call ptr @s2n_strerror(i32 noundef %4073, ptr noundef nonnull @.str.4) #13
  %4075 = load i32, ptr %2772, align 4, !tbaa !5
  %4076 = call ptr @s2n_strerror_debug(i32 noundef %4075, ptr noundef nonnull @.str.4) #13
  %4077 = load i32, ptr %4059, align 4, !tbaa !5
  %4078 = call ptr @strerror(i32 noundef %4077) #13
  %4079 = load i32, ptr %4059, align 4, !tbaa !5
  %4080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4071, ptr noundef nonnull %.str.5.sink3346, i32 noundef %4072, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 735, ptr noundef %4074, ptr noundef %4076, ptr noundef %4078, i32 noundef %4079) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4081:                                             ; preds = %4053
  %4082 = load i32, ptr @test_count, align 4, !tbaa !5
  %4083 = add nsw i32 %4082, 1
  store i32 %4083, ptr @test_count, align 4, !tbaa !5
  %4084 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %4056, i8 noundef zeroext 0) #13
  %4085 = icmp eq i32 %4084, -1
  br i1 %4085, label %4086, label %4109

4086:                                             ; preds = %4081
  %4087 = tail call ptr @__errno_location() #14
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = call i32 @s2n_print_stacktrace(ptr noundef %4089) #13
  %4091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4092 = trunc nuw i8 %4091 to i1
  br i1 %4092, label %4093, label %4097

4093:                                             ; preds = %4086
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = call i32 @fileno(ptr noundef %4094) #13
  %4096 = call i32 @isatty(i32 noundef %4095) #13
  %.not1795 = icmp eq i32 %4096, 0
  br i1 %.not1795, label %4097, label %4098

4097:                                             ; preds = %4093, %4086
  br label %4098

4098:                                             ; preds = %4093, %4097
  %.str.5.sink3355 = phi ptr [ @.str.5, %4097 ], [ @.str.2, %4093 ]
  store i32 %4088, ptr %4087, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = load i32, ptr @test_count, align 4, !tbaa !5
  %4101 = load i32, ptr %2772, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror(i32 noundef %4101, ptr noundef nonnull @.str.4) #13
  %4103 = load i32, ptr %2772, align 4, !tbaa !5
  %4104 = call ptr @s2n_strerror_debug(i32 noundef %4103, ptr noundef nonnull @.str.4) #13
  %4105 = load i32, ptr %4087, align 4, !tbaa !5
  %4106 = call ptr @strerror(i32 noundef %4105) #13
  %4107 = load i32, ptr %4087, align 4, !tbaa !5
  %4108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4099, ptr noundef nonnull %.str.5.sink3355, i32 noundef %4100, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 736, ptr noundef %4102, ptr noundef %4104, ptr noundef %4106, i32 noundef %4107) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4109:                                             ; preds = %4081
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = add nsw i32 %4110, 1
  store i32 %4111, ptr @test_count, align 4, !tbaa !5
  %4112 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %4056) #13
  %4113 = icmp eq i32 %4112, -1
  br i1 %4113, label %4114, label %4137

4114:                                             ; preds = %4109
  %4115 = tail call ptr @__errno_location() #14
  %4116 = load i32, ptr %4115, align 4, !tbaa !5
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = call i32 @s2n_print_stacktrace(ptr noundef %4117) #13
  %4119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4120 = trunc nuw i8 %4119 to i1
  br i1 %4120, label %4121, label %4125

4121:                                             ; preds = %4114
  %4122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4123 = call i32 @fileno(ptr noundef %4122) #13
  %4124 = call i32 @isatty(i32 noundef %4123) #13
  %.not1794 = icmp eq i32 %4124, 0
  br i1 %.not1794, label %4125, label %4126

4125:                                             ; preds = %4121, %4114
  br label %4126

4126:                                             ; preds = %4121, %4125
  %.str.5.sink3364 = phi ptr [ @.str.5, %4125 ], [ @.str.2, %4121 ]
  store i32 %4116, ptr %4115, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = load i32, ptr @test_count, align 4, !tbaa !5
  %4129 = load i32, ptr %2772, align 4, !tbaa !5
  %4130 = call ptr @s2n_strerror(i32 noundef %4129, ptr noundef nonnull @.str.4) #13
  %4131 = load i32, ptr %2772, align 4, !tbaa !5
  %4132 = call ptr @s2n_strerror_debug(i32 noundef %4131, ptr noundef nonnull @.str.4) #13
  %4133 = load i32, ptr %4115, align 4, !tbaa !5
  %4134 = call ptr @strerror(i32 noundef %4133) #13
  %4135 = load i32, ptr %4115, align 4, !tbaa !5
  %4136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4127, ptr noundef nonnull %.str.5.sink3364, i32 noundef %4128, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %4130, ptr noundef %4132, ptr noundef %4134, i32 noundef %4135) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4137:                                             ; preds = %4109
  %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 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %4141 = icmp eq ptr %4140, null
  br i1 %4141, label %4142, label %4165

4142:                                             ; preds = %4137
  %4143 = tail call ptr @__errno_location() #14
  %4144 = load i32, ptr %4143, align 4, !tbaa !5
  %4145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4146 = call i32 @s2n_print_stacktrace(ptr noundef %4145) #13
  %4147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4148 = trunc nuw i8 %4147 to i1
  br i1 %4148, label %4149, label %4153

4149:                                             ; preds = %4142
  %4150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4151 = call i32 @fileno(ptr noundef %4150) #13
  %4152 = call i32 @isatty(i32 noundef %4151) #13
  %.not1793 = icmp eq i32 %4152, 0
  br i1 %.not1793, label %4153, label %4154

4153:                                             ; preds = %4149, %4142
  br label %4154

4154:                                             ; preds = %4149, %4153
  %.str.5.sink3373 = phi ptr [ @.str.5, %4153 ], [ @.str.2, %4149 ]
  store i32 %4144, ptr %4143, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = load i32, ptr @test_count, align 4, !tbaa !5
  %4157 = load i32, ptr %2772, align 4, !tbaa !5
  %4158 = call ptr @s2n_strerror(i32 noundef %4157, ptr noundef nonnull @.str.4) #13
  %4159 = load i32, ptr %2772, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef nonnull @.str.4) #13
  %4161 = load i32, ptr %4143, align 4, !tbaa !5
  %4162 = call ptr @strerror(i32 noundef %4161) #13
  %4163 = load i32, ptr %4143, align 4, !tbaa !5
  %4164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4155, ptr noundef nonnull %.str.5.sink3373, i32 noundef %4156, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 738, ptr noundef %4158, ptr noundef %4160, ptr noundef %4162, i32 noundef %4163) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4165:                                             ; preds = %4137
  %4166 = load i32, ptr @test_count, align 4, !tbaa !5
  %4167 = add nsw i32 %4166, 1
  store i32 %4167, ptr @test_count, align 4, !tbaa !5
  %4168 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4140, ptr noundef nonnull %4056) #13
  %4169 = icmp eq i32 %4168, -1
  br i1 %4169, label %4170, label %4193

4170:                                             ; preds = %4165
  %4171 = tail call ptr @__errno_location() #14
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  %4173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4174 = call i32 @s2n_print_stacktrace(ptr noundef %4173) #13
  %4175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4176 = trunc nuw i8 %4175 to i1
  br i1 %4176, label %4177, label %4181

4177:                                             ; preds = %4170
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = call i32 @fileno(ptr noundef %4178) #13
  %4180 = call i32 @isatty(i32 noundef %4179) #13
  %.not1792 = icmp eq i32 %4180, 0
  br i1 %.not1792, label %4181, label %4182

4181:                                             ; preds = %4177, %4170
  br label %4182

4182:                                             ; preds = %4177, %4181
  %.str.5.sink3382 = phi ptr [ @.str.5, %4181 ], [ @.str.2, %4177 ]
  store i32 %4172, ptr %4171, align 4, !tbaa !5
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = load i32, ptr @test_count, align 4, !tbaa !5
  %4185 = load i32, ptr %2772, align 4, !tbaa !5
  %4186 = call ptr @s2n_strerror(i32 noundef %4185, ptr noundef nonnull @.str.4) #13
  %4187 = load i32, ptr %2772, align 4, !tbaa !5
  %4188 = call ptr @s2n_strerror_debug(i32 noundef %4187, ptr noundef nonnull @.str.4) #13
  %4189 = load i32, ptr %4171, align 4, !tbaa !5
  %4190 = call ptr @strerror(i32 noundef %4189) #13
  %4191 = load i32, ptr %4171, align 4, !tbaa !5
  %4192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4183, ptr noundef nonnull %.str.5.sink3382, i32 noundef %4184, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 739, ptr noundef %4186, ptr noundef %4188, ptr noundef %4190, i32 noundef %4191) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4193:                                             ; preds = %4165
  %4194 = getelementptr inbounds i8, ptr %4140, i64 220
  store i8 33, ptr %4194, align 4, !tbaa !15
  %4195 = getelementptr inbounds i8, ptr %4140, i64 219
  store i8 33, ptr %4195, align 1, !tbaa !42
  %4196 = getelementptr inbounds i8, ptr %4140, i64 218
  store i8 33, ptr %4196, align 2, !tbaa !43
  %4197 = load i32, ptr @test_count, align 4, !tbaa !5
  %4198 = add nsw i32 %4197, 1
  store i32 %4198, ptr @test_count, align 4, !tbaa !5
  %4199 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %4200 = icmp eq ptr %4199, null
  br i1 %4200, label %4201, label %4224

4201:                                             ; preds = %4193
  %4202 = tail call ptr @__errno_location() #14
  %4203 = load i32, ptr %4202, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = call i32 @s2n_print_stacktrace(ptr noundef %4204) #13
  %4206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4207 = trunc nuw i8 %4206 to i1
  br i1 %4207, label %4208, label %4212

4208:                                             ; preds = %4201
  %4209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4210 = call i32 @fileno(ptr noundef %4209) #13
  %4211 = call i32 @isatty(i32 noundef %4210) #13
  %.not1791 = icmp eq i32 %4211, 0
  br i1 %.not1791, label %4212, label %4213

4212:                                             ; preds = %4208, %4201
  br label %4213

4213:                                             ; preds = %4208, %4212
  %.str.5.sink3391 = phi ptr [ @.str.5, %4212 ], [ @.str.2, %4208 ]
  store i32 %4203, ptr %4202, align 4, !tbaa !5
  %4214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4215 = load i32, ptr @test_count, align 4, !tbaa !5
  %4216 = load i32, ptr %2772, align 4, !tbaa !5
  %4217 = call ptr @s2n_strerror(i32 noundef %4216, ptr noundef nonnull @.str.4) #13
  %4218 = load i32, ptr %2772, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror_debug(i32 noundef %4218, ptr noundef nonnull @.str.4) #13
  %4220 = load i32, ptr %4202, align 4, !tbaa !5
  %4221 = call ptr @strerror(i32 noundef %4220) #13
  %4222 = load i32, ptr %4202, align 4, !tbaa !5
  %4223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4214, ptr noundef nonnull %.str.5.sink3391, i32 noundef %4215, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 744, ptr noundef %4217, ptr noundef %4219, ptr noundef %4221, i32 noundef %4222) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4224:                                             ; preds = %4193
  %4225 = getelementptr inbounds i8, ptr %4199, i64 220
  store i8 33, ptr %4225, align 4, !tbaa !15
  %4226 = getelementptr inbounds i8, ptr %4199, i64 219
  store i8 33, ptr %4226, align 1, !tbaa !42
  %4227 = getelementptr inbounds i8, ptr %4199, i64 218
  store i8 33, ptr %4227, align 2, !tbaa !43
  %4228 = load i32, ptr @test_count, align 4, !tbaa !5
  %4229 = add nsw i32 %4228, 1
  store i32 %4229, ptr @test_count, align 4, !tbaa !5
  %4230 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4140, ptr noundef nonnull %4199, ptr noundef nonnull %3) #13
  %4231 = icmp eq i32 %4230, -1
  br i1 %4231, label %4232, label %4255

4232:                                             ; preds = %4224
  %4233 = tail call ptr @__errno_location() #14
  %4234 = load i32, ptr %4233, align 4, !tbaa !5
  %4235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4236 = call i32 @s2n_print_stacktrace(ptr noundef %4235) #13
  %4237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4238 = trunc nuw i8 %4237 to i1
  br i1 %4238, label %4239, label %4243

4239:                                             ; preds = %4232
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = call i32 @fileno(ptr noundef %4240) #13
  %4242 = call i32 @isatty(i32 noundef %4241) #13
  %.not1790 = icmp eq i32 %4242, 0
  br i1 %.not1790, label %4243, label %4244

4243:                                             ; preds = %4239, %4232
  br label %4244

4244:                                             ; preds = %4239, %4243
  %.str.5.sink3400 = phi ptr [ @.str.5, %4243 ], [ @.str.2, %4239 ]
  store i32 %4234, ptr %4233, align 4, !tbaa !5
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = load i32, ptr @test_count, align 4, !tbaa !5
  %4247 = load i32, ptr %2772, align 4, !tbaa !5
  %4248 = call ptr @s2n_strerror(i32 noundef %4247, ptr noundef nonnull @.str.4) #13
  %4249 = load i32, ptr %2772, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror_debug(i32 noundef %4249, ptr noundef nonnull @.str.4) #13
  %4251 = load i32, ptr %4233, align 4, !tbaa !5
  %4252 = call ptr @strerror(i32 noundef %4251) #13
  %4253 = load i32, ptr %4233, align 4, !tbaa !5
  %4254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4245, ptr noundef nonnull %.str.5.sink3400, i32 noundef %4246, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 749, ptr noundef %4248, ptr noundef %4250, ptr noundef %4252, i32 noundef %4253) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4255:                                             ; preds = %4224
  %4256 = load i32, ptr @test_count, align 4, !tbaa !5
  %4257 = add nsw i32 %4256, 1
  store i32 %4257, ptr @test_count, align 4, !tbaa !5
  %4258 = call ptr @s2n_config_new() #13
  %4259 = icmp eq ptr %4258, null
  br i1 %4259, label %4260, label %4283

4260:                                             ; preds = %4255
  %4261 = tail call ptr @__errno_location() #14
  %4262 = load i32, ptr %4261, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = call i32 @s2n_print_stacktrace(ptr noundef %4263) #13
  %4265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4266 = trunc nuw i8 %4265 to i1
  br i1 %4266, label %4267, label %4271

4267:                                             ; preds = %4260
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @fileno(ptr noundef %4268) #13
  %4270 = call i32 @isatty(i32 noundef %4269) #13
  %.not1789 = icmp eq i32 %4270, 0
  br i1 %.not1789, label %4271, label %4272

4271:                                             ; preds = %4267, %4260
  br label %4272

4272:                                             ; preds = %4267, %4271
  %.str.5.sink3409 = phi ptr [ @.str.5, %4271 ], [ @.str.2, %4267 ]
  store i32 %4262, ptr %4261, align 4, !tbaa !5
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = load i32, ptr @test_count, align 4, !tbaa !5
  %4275 = load i32, ptr %2772, align 4, !tbaa !5
  %4276 = call ptr @s2n_strerror(i32 noundef %4275, ptr noundef nonnull @.str.4) #13
  %4277 = load i32, ptr %2772, align 4, !tbaa !5
  %4278 = call ptr @s2n_strerror_debug(i32 noundef %4277, ptr noundef nonnull @.str.4) #13
  %4279 = load i32, ptr %4261, align 4, !tbaa !5
  %4280 = call ptr @strerror(i32 noundef %4279) #13
  %4281 = load i32, ptr %4261, align 4, !tbaa !5
  %4282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4273, ptr noundef nonnull %.str.5.sink3409, i32 noundef %4274, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 751, ptr noundef %4276, ptr noundef %4278, ptr noundef %4280, i32 noundef %4281) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4283:                                             ; preds = %4255
  %4284 = load i32, ptr @test_count, align 4, !tbaa !5
  %4285 = add nsw i32 %4284, 1
  store i32 %4285, ptr @test_count, align 4, !tbaa !5
  %4286 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %4287 = icmp eq i32 %4286, -1
  br i1 %4287, label %4288, label %4311

4288:                                             ; preds = %4283
  %4289 = tail call ptr @__errno_location() #14
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4292 = call i32 @s2n_print_stacktrace(ptr noundef %4291) #13
  %4293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4294 = trunc nuw i8 %4293 to i1
  br i1 %4294, label %4295, label %4299

4295:                                             ; preds = %4288
  %4296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4297 = call i32 @fileno(ptr noundef %4296) #13
  %4298 = call i32 @isatty(i32 noundef %4297) #13
  %.not1788 = icmp eq i32 %4298, 0
  br i1 %.not1788, label %4299, label %4300

4299:                                             ; preds = %4295, %4288
  br label %4300

4300:                                             ; preds = %4295, %4299
  %.str.5.sink3418 = phi ptr [ @.str.5, %4299 ], [ @.str.2, %4295 ]
  store i32 %4290, ptr %4289, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = load i32, ptr %2772, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror(i32 noundef %4303, ptr noundef nonnull @.str.4) #13
  %4305 = load i32, ptr %2772, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror_debug(i32 noundef %4305, ptr noundef nonnull @.str.4) #13
  %4307 = load i32, ptr %4289, align 4, !tbaa !5
  %4308 = call ptr @strerror(i32 noundef %4307) #13
  %4309 = load i32, ptr %4289, align 4, !tbaa !5
  %4310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4301, ptr noundef nonnull %.str.5.sink3418, i32 noundef %4302, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 752, ptr noundef %4304, ptr noundef %4306, ptr noundef %4308, i32 noundef %4309) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4311:                                             ; preds = %4283
  %4312 = load i32, ptr @test_count, align 4, !tbaa !5
  %4313 = add nsw i32 %4312, 1
  store i32 %4313, ptr @test_count, align 4, !tbaa !5
  %4314 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %4315 = icmp eq i32 %4314, -1
  br i1 %4315, label %4316, label %4339

4316:                                             ; preds = %4311
  %4317 = tail call ptr @__errno_location() #14
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4320 = call i32 @s2n_print_stacktrace(ptr noundef %4319) #13
  %4321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4322 = trunc nuw i8 %4321 to i1
  br i1 %4322, label %4323, label %4327

4323:                                             ; preds = %4316
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4325 = call i32 @fileno(ptr noundef %4324) #13
  %4326 = call i32 @isatty(i32 noundef %4325) #13
  %.not1787 = icmp eq i32 %4326, 0
  br i1 %.not1787, label %4327, label %4328

4327:                                             ; preds = %4323, %4316
  br label %4328

4328:                                             ; preds = %4323, %4327
  %.str.5.sink3427 = phi ptr [ @.str.5, %4327 ], [ @.str.2, %4323 ]
  store i32 %4318, ptr %4317, align 4, !tbaa !5
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4330 = load i32, ptr @test_count, align 4, !tbaa !5
  %4331 = load i32, ptr %2772, align 4, !tbaa !5
  %4332 = call ptr @s2n_strerror(i32 noundef %4331, ptr noundef nonnull @.str.4) #13
  %4333 = load i32, ptr %2772, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror_debug(i32 noundef %4333, ptr noundef nonnull @.str.4) #13
  %4335 = load i32, ptr %4317, align 4, !tbaa !5
  %4336 = call ptr @strerror(i32 noundef %4335) #13
  %4337 = load i32, ptr %4317, align 4, !tbaa !5
  %4338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4329, ptr noundef nonnull %.str.5.sink3427, i32 noundef %4330, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 753, ptr noundef %4332, ptr noundef %4334, ptr noundef %4336, i32 noundef %4337) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4339:                                             ; preds = %4311
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = add nsw i32 %4340, 1
  store i32 %4341, ptr @test_count, align 4, !tbaa !5
  %4342 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %4258, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %4343 = icmp eq i32 %4342, -1
  br i1 %4343, label %4344, label %4367

4344:                                             ; preds = %4339
  %4345 = tail call ptr @__errno_location() #14
  %4346 = load i32, ptr %4345, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = call i32 @s2n_print_stacktrace(ptr noundef %4347) #13
  %4349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4350 = trunc nuw i8 %4349 to i1
  br i1 %4350, label %4351, label %4355

4351:                                             ; preds = %4344
  %4352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4353 = call i32 @fileno(ptr noundef %4352) #13
  %4354 = call i32 @isatty(i32 noundef %4353) #13
  %.not1786 = icmp eq i32 %4354, 0
  br i1 %.not1786, label %4355, label %4356

4355:                                             ; preds = %4351, %4344
  br label %4356

4356:                                             ; preds = %4351, %4355
  %.str.5.sink3436 = phi ptr [ @.str.5, %4355 ], [ @.str.2, %4351 ]
  store i32 %4346, ptr %4345, align 4, !tbaa !5
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = load i32, ptr @test_count, align 4, !tbaa !5
  %4359 = load i32, ptr %2772, align 4, !tbaa !5
  %4360 = call ptr @s2n_strerror(i32 noundef %4359, ptr noundef nonnull @.str.4) #13
  %4361 = load i32, ptr %2772, align 4, !tbaa !5
  %4362 = call ptr @s2n_strerror_debug(i32 noundef %4361, ptr noundef nonnull @.str.4) #13
  %4363 = load i32, ptr %4345, align 4, !tbaa !5
  %4364 = call ptr @strerror(i32 noundef %4363) #13
  %4365 = load i32, ptr %4345, align 4, !tbaa !5
  %4366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4357, ptr noundef nonnull %.str.5.sink3436, i32 noundef %4358, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 754, ptr noundef %4360, ptr noundef %4362, ptr noundef %4364, i32 noundef %4365) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4367:                                             ; preds = %4339
  %4368 = load i32, ptr @test_count, align 4, !tbaa !5
  %4369 = add nsw i32 %4368, 1
  store i32 %4369, ptr @test_count, align 4, !tbaa !5
  %4370 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %4258, i32 noundef 5, ptr noundef nonnull @server_ocsp_status_bytes, i32 noundef 1609) #13
  %4371 = icmp eq i32 %4370, -1
  br i1 %4371, label %4372, label %4395

4372:                                             ; preds = %4367
  %4373 = tail call ptr @__errno_location() #14
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = call i32 @s2n_print_stacktrace(ptr noundef %4375) #13
  %4377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4378 = trunc nuw i8 %4377 to i1
  br i1 %4378, label %4379, label %4383

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

4383:                                             ; preds = %4379, %4372
  br label %4384

4384:                                             ; preds = %4379, %4383
  %.str.5.sink3445 = phi ptr [ @.str.5, %4383 ], [ @.str.2, %4379 ]
  store i32 %4374, ptr %4373, align 4, !tbaa !5
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = load i32, ptr %2772, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror(i32 noundef %4387, ptr noundef nonnull @.str.4) #13
  %4389 = load i32, ptr %2772, align 4, !tbaa !5
  %4390 = call ptr @s2n_strerror_debug(i32 noundef %4389, ptr noundef nonnull @.str.4) #13
  %4391 = load i32, ptr %4373, align 4, !tbaa !5
  %4392 = call ptr @strerror(i32 noundef %4391) #13
  %4393 = load i32, ptr %4373, align 4, !tbaa !5
  %4394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4385, ptr noundef nonnull %.str.5.sink3445, i32 noundef %4386, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %4388, ptr noundef %4390, ptr noundef %4392, i32 noundef %4393) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4395:                                             ; preds = %4367
  %4396 = load i32, ptr @test_count, align 4, !tbaa !5
  %4397 = add nsw i32 %4396, 1
  store i32 %4397, ptr @test_count, align 4, !tbaa !5
  %4398 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4199, ptr noundef nonnull %4258) #13
  %4399 = icmp eq i32 %4398, -1
  br i1 %4399, label %4400, label %4423

4400:                                             ; preds = %4395
  %4401 = tail call ptr @__errno_location() #14
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  %4403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4404 = call i32 @s2n_print_stacktrace(ptr noundef %4403) #13
  %4405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4406 = trunc nuw i8 %4405 to i1
  br i1 %4406, label %4407, label %4411

4407:                                             ; preds = %4400
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = call i32 @fileno(ptr noundef %4408) #13
  %4410 = call i32 @isatty(i32 noundef %4409) #13
  %.not1784 = icmp eq i32 %4410, 0
  br i1 %.not1784, label %4411, label %4412

4411:                                             ; preds = %4407, %4400
  br label %4412

4412:                                             ; preds = %4407, %4411
  %.str.5.sink3454 = phi ptr [ @.str.5, %4411 ], [ @.str.2, %4407 ]
  store i32 %4402, ptr %4401, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = load i32, ptr @test_count, align 4, !tbaa !5
  %4415 = load i32, ptr %2772, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror(i32 noundef %4415, ptr noundef nonnull @.str.4) #13
  %4417 = load i32, ptr %2772, align 4, !tbaa !5
  %4418 = call ptr @s2n_strerror_debug(i32 noundef %4417, ptr noundef nonnull @.str.4) #13
  %4419 = load i32, ptr %4401, align 4, !tbaa !5
  %4420 = call ptr @strerror(i32 noundef %4419) #13
  %4421 = load i32, ptr %4401, align 4, !tbaa !5
  %4422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4413, ptr noundef nonnull %.str.5.sink3454, i32 noundef %4414, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 757, ptr noundef %4416, ptr noundef %4418, ptr noundef %4420, i32 noundef %4421) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4423:                                             ; preds = %4395
  %4424 = load i32, ptr @test_count, align 4, !tbaa !5
  %4425 = add nsw i32 %4424, 1
  store i32 %4425, ptr @test_count, align 4, !tbaa !5
  %4426 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %4199, ptr noundef nonnull %4140) #13
  %4427 = icmp eq i32 %4426, -1
  br i1 %4427, label %4428, label %4451

4428:                                             ; preds = %4423
  %4429 = tail call ptr @__errno_location() #14
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4432 = call i32 @s2n_print_stacktrace(ptr noundef %4431) #13
  %4433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4434 = trunc nuw i8 %4433 to i1
  br i1 %4434, label %4435, label %4439

4435:                                             ; preds = %4428
  %4436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4437 = call i32 @fileno(ptr noundef %4436) #13
  %4438 = call i32 @isatty(i32 noundef %4437) #13
  %.not1783 = icmp eq i32 %4438, 0
  br i1 %.not1783, label %4439, label %4440

4439:                                             ; preds = %4435, %4428
  br label %4440

4440:                                             ; preds = %4435, %4439
  %.str.5.sink3463 = phi ptr [ @.str.5, %4439 ], [ @.str.2, %4435 ]
  store i32 %4430, ptr %4429, align 4, !tbaa !5
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = load i32, ptr %2772, align 4, !tbaa !5
  %4444 = call ptr @s2n_strerror(i32 noundef %4443, ptr noundef nonnull @.str.4) #13
  %4445 = load i32, ptr %2772, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror_debug(i32 noundef %4445, ptr noundef nonnull @.str.4) #13
  %4447 = load i32, ptr %4429, align 4, !tbaa !5
  %4448 = call ptr @strerror(i32 noundef %4447) #13
  %4449 = load i32, ptr %4429, align 4, !tbaa !5
  %4450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4441, ptr noundef nonnull %.str.5.sink3463, i32 noundef %4442, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 759, ptr noundef %4444, ptr noundef %4446, ptr noundef %4448, i32 noundef %4449) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4451:                                             ; preds = %4423
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = add nsw i32 %4452, 1
  store i32 %4453, ptr @test_count, align 4, !tbaa !5
  %4454 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %4199) #13
  %4455 = icmp eq i32 %4454, 0
  br i1 %4455, label %4479, label %4456

4456:                                             ; preds = %4451
  %4457 = tail call ptr @__errno_location() #14
  %4458 = load i32, ptr %4457, align 4, !tbaa !5
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @s2n_print_stacktrace(ptr noundef %4459) #13
  %4461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4462 = trunc nuw i8 %4461 to i1
  br i1 %4462, label %4463, label %4467

4463:                                             ; preds = %4456
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = call i32 @fileno(ptr noundef %4464) #13
  %4466 = call i32 @isatty(i32 noundef %4465) #13
  %.not1512 = icmp eq i32 %4466, 0
  br i1 %.not1512, label %4467, label %4468

4467:                                             ; preds = %4463, %4456
  br label %4468

4468:                                             ; preds = %4463, %4467
  %.str.5.sink3472 = phi ptr [ @.str.5, %4467 ], [ @.str.2, %4463 ]
  store i32 %4458, ptr %4457, align 4, !tbaa !5
  %4469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4470 = load i32, ptr @test_count, align 4, !tbaa !5
  %4471 = load i32, ptr %2772, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror(i32 noundef %4471, ptr noundef nonnull @.str.4) #13
  %4473 = load i32, ptr %2772, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror_debug(i32 noundef %4473, ptr noundef nonnull @.str.4) #13
  %4475 = load i32, ptr %4457, align 4, !tbaa !5
  %4476 = call ptr @strerror(i32 noundef %4475) #13
  %4477 = load i32, ptr %4457, align 4, !tbaa !5
  %4478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4469, ptr noundef nonnull %.str.5.sink3472, i32 noundef %4470, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 762, ptr noundef %4472, ptr noundef %4474, ptr noundef %4476, i32 noundef %4477) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4479:                                             ; preds = %4451
  %4480 = load i32, ptr @test_count, align 4, !tbaa !5
  %4481 = add nsw i32 %4480, 1
  store i32 %4481, ptr @test_count, align 4, !tbaa !5
  %4482 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %4140) #13
  %4483 = icmp eq i32 %4482, 0
  br i1 %4483, label %4507, label %4484

4484:                                             ; preds = %4479
  %4485 = tail call ptr @__errno_location() #14
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4488 = call i32 @s2n_print_stacktrace(ptr noundef %4487) #13
  %4489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4490 = trunc nuw i8 %4489 to i1
  br i1 %4490, label %4491, label %4495

4491:                                             ; preds = %4484
  %4492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4493 = call i32 @fileno(ptr noundef %4492) #13
  %4494 = call i32 @isatty(i32 noundef %4493) #13
  %.not1513 = icmp eq i32 %4494, 0
  br i1 %.not1513, label %4495, label %4496

4495:                                             ; preds = %4491, %4484
  br label %4496

4496:                                             ; preds = %4491, %4495
  %.str.5.sink3481 = phi ptr [ @.str.5, %4495 ], [ @.str.2, %4491 ]
  store i32 %4486, ptr %4485, align 4, !tbaa !5
  %4497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4498 = load i32, ptr @test_count, align 4, !tbaa !5
  %4499 = load i32, ptr %2772, align 4, !tbaa !5
  %4500 = call ptr @s2n_strerror(i32 noundef %4499, ptr noundef nonnull @.str.4) #13
  %4501 = load i32, ptr %2772, align 4, !tbaa !5
  %4502 = call ptr @s2n_strerror_debug(i32 noundef %4501, ptr noundef nonnull @.str.4) #13
  %4503 = load i32, ptr %4485, align 4, !tbaa !5
  %4504 = call ptr @strerror(i32 noundef %4503) #13
  %4505 = load i32, ptr %4485, align 4, !tbaa !5
  %4506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4497, ptr noundef nonnull %.str.5.sink3481, i32 noundef %4498, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %4500, ptr noundef %4502, ptr noundef %4504, i32 noundef %4505) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4507:                                             ; preds = %4479
  %4508 = load i32, ptr @test_count, align 4, !tbaa !5
  %4509 = add nsw i32 %4508, 1
  store i32 %4509, ptr @test_count, align 4, !tbaa !5
  %4510 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %4140, ptr noundef nonnull %23) #13
  %4511 = icmp eq ptr %4510, null
  br i1 %4511, label %4535, label %4512

4512:                                             ; preds = %4507
  %4513 = tail call ptr @__errno_location() #14
  %4514 = load i32, ptr %4513, align 4, !tbaa !5
  %4515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4516 = call i32 @s2n_print_stacktrace(ptr noundef %4515) #13
  %4517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4518 = trunc nuw i8 %4517 to i1
  br i1 %4518, label %4519, label %4523

4519:                                             ; preds = %4512
  %4520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4521 = call i32 @fileno(ptr noundef %4520) #13
  %4522 = call i32 @isatty(i32 noundef %4521) #13
  %.not1514 = icmp eq i32 %4522, 0
  br i1 %.not1514, label %4523, label %4524

4523:                                             ; preds = %4519, %4512
  br label %4524

4524:                                             ; preds = %4519, %4523
  %.str.5.sink3490 = phi ptr [ @.str.5, %4523 ], [ @.str.2, %4519 ]
  store i32 %4514, ptr %4513, align 4, !tbaa !5
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = load i32, ptr @test_count, align 4, !tbaa !5
  %4527 = load i32, ptr %2772, align 4, !tbaa !5
  %4528 = call ptr @s2n_strerror(i32 noundef %4527, ptr noundef nonnull @.str.4) #13
  %4529 = load i32, ptr %2772, align 4, !tbaa !5
  %4530 = call ptr @s2n_strerror_debug(i32 noundef %4529, ptr noundef nonnull @.str.4) #13
  %4531 = load i32, ptr %4513, align 4, !tbaa !5
  %4532 = call ptr @strerror(i32 noundef %4531) #13
  %4533 = load i32, ptr %4513, align 4, !tbaa !5
  %4534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4525, ptr noundef nonnull %.str.5.sink3490, i32 noundef %4526, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %4528, ptr noundef %4530, ptr noundef %4532, i32 noundef %4533) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4535:                                             ; preds = %4507
  %4536 = load i32, ptr @test_count, align 4, !tbaa !5
  %4537 = add nsw i32 %4536, 1
  store i32 %4537, ptr @test_count, align 4, !tbaa !5
  %4538 = load i32, ptr %23, align 4, !tbaa !5
  %4539 = icmp eq i32 %4538, 0
  br i1 %4539, label %4563, label %4540

4540:                                             ; preds = %4535
  %4541 = tail call ptr @__errno_location() #14
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = call i32 @s2n_print_stacktrace(ptr noundef %4543) #13
  %4545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4546 = trunc nuw i8 %4545 to i1
  br i1 %4546, label %4547, label %4551

4547:                                             ; preds = %4540
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = call i32 @fileno(ptr noundef %4548) #13
  %4550 = call i32 @isatty(i32 noundef %4549) #13
  %.not1515 = icmp eq i32 %4550, 0
  br i1 %.not1515, label %4551, label %4552

4551:                                             ; preds = %4547, %4540
  br label %4552

4552:                                             ; preds = %4547, %4551
  %.str.5.sink3499 = phi ptr [ @.str.5, %4551 ], [ @.str.2, %4547 ]
  store i32 %4542, ptr %4541, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = load i32, ptr %2772, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror(i32 noundef %4555, ptr noundef nonnull @.str.4) #13
  %4557 = load i32, ptr %2772, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror_debug(i32 noundef %4557, ptr noundef nonnull @.str.4) #13
  %4559 = load i32, ptr %4541, align 4, !tbaa !5
  %4560 = call ptr @strerror(i32 noundef %4559) #13
  %4561 = load i32, ptr %4541, align 4, !tbaa !5
  %4562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4553, ptr noundef nonnull %.str.5.sink3499, i32 noundef %4554, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 767, ptr noundef %4556, ptr noundef %4558, ptr noundef %4560, i32 noundef %4561) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4563:                                             ; preds = %4535
  %4564 = add nsw i32 %4536, 2
  store i32 %4564, ptr @test_count, align 4, !tbaa !5
  %4565 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %4199, ptr noundef nonnull %4140) #13
  %4566 = icmp eq i32 %4565, -1
  br i1 %4566, label %4567, label %4590

4567:                                             ; preds = %4563
  %4568 = tail call ptr @__errno_location() #14
  %4569 = load i32, ptr %4568, align 4, !tbaa !5
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = call i32 @s2n_print_stacktrace(ptr noundef %4570) #13
  %4572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4573 = trunc nuw i8 %4572 to i1
  br i1 %4573, label %4574, label %4578

4574:                                             ; preds = %4567
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = call i32 @fileno(ptr noundef %4575) #13
  %4577 = call i32 @isatty(i32 noundef %4576) #13
  %.not1782 = icmp eq i32 %4577, 0
  br i1 %.not1782, label %4578, label %4579

4578:                                             ; preds = %4574, %4567
  br label %4579

4579:                                             ; preds = %4574, %4578
  %.str.5.sink3508 = phi ptr [ @.str.5, %4578 ], [ @.str.2, %4574 ]
  store i32 %4569, ptr %4568, align 4, !tbaa !5
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = load i32, ptr @test_count, align 4, !tbaa !5
  %4582 = load i32, ptr %2772, align 4, !tbaa !5
  %4583 = call ptr @s2n_strerror(i32 noundef %4582, ptr noundef nonnull @.str.4) #13
  %4584 = load i32, ptr %2772, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror_debug(i32 noundef %4584, ptr noundef nonnull @.str.4) #13
  %4586 = load i32, ptr %4568, align 4, !tbaa !5
  %4587 = call ptr @strerror(i32 noundef %4586) #13
  %4588 = load i32, ptr %4568, align 4, !tbaa !5
  %4589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4580, ptr noundef nonnull %.str.5.sink3508, i32 noundef %4581, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 769, ptr noundef %4583, ptr noundef %4585, ptr noundef %4587, i32 noundef %4588) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4590:                                             ; preds = %4563
  %4591 = load i32, ptr @test_count, align 4, !tbaa !5
  %4592 = add nsw i32 %4591, 1
  store i32 %4592, ptr @test_count, align 4, !tbaa !5
  %4593 = call i32 @s2n_connection_free(ptr noundef nonnull %4199) #13
  %4594 = icmp eq i32 %4593, -1
  br i1 %4594, label %4595, label %4618

4595:                                             ; preds = %4590
  %4596 = tail call ptr @__errno_location() #14
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @s2n_print_stacktrace(ptr noundef %4598) #13
  %4600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4601 = trunc nuw i8 %4600 to i1
  br i1 %4601, label %4602, label %4606

4602:                                             ; preds = %4595
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = call i32 @fileno(ptr noundef %4603) #13
  %4605 = call i32 @isatty(i32 noundef %4604) #13
  %.not1781 = icmp eq i32 %4605, 0
  br i1 %.not1781, label %4606, label %4607

4606:                                             ; preds = %4602, %4595
  br label %4607

4607:                                             ; preds = %4602, %4606
  %.str.5.sink3517 = phi ptr [ @.str.5, %4606 ], [ @.str.2, %4602 ]
  store i32 %4597, ptr %4596, align 4, !tbaa !5
  %4608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4609 = load i32, ptr @test_count, align 4, !tbaa !5
  %4610 = load i32, ptr %2772, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror(i32 noundef %4610, ptr noundef nonnull @.str.4) #13
  %4612 = load i32, ptr %2772, align 4, !tbaa !5
  %4613 = call ptr @s2n_strerror_debug(i32 noundef %4612, ptr noundef nonnull @.str.4) #13
  %4614 = load i32, ptr %4596, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #13
  %4616 = load i32, ptr %4596, align 4, !tbaa !5
  %4617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4608, ptr noundef nonnull %.str.5.sink3517, i32 noundef %4609, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 771, ptr noundef %4611, ptr noundef %4613, ptr noundef %4615, i32 noundef %4616) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4618:                                             ; preds = %4590
  %4619 = load i32, ptr @test_count, align 4, !tbaa !5
  %4620 = add nsw i32 %4619, 1
  store i32 %4620, ptr @test_count, align 4, !tbaa !5
  %4621 = call i32 @s2n_connection_free(ptr noundef nonnull %4140) #13
  %4622 = icmp eq i32 %4621, -1
  br i1 %4622, label %4623, label %4646

4623:                                             ; preds = %4618
  %4624 = tail call ptr @__errno_location() #14
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = call i32 @s2n_print_stacktrace(ptr noundef %4626) #13
  %4628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4629 = trunc nuw i8 %4628 to i1
  br i1 %4629, label %4630, label %4634

4630:                                             ; preds = %4623
  %4631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4632 = call i32 @fileno(ptr noundef %4631) #13
  %4633 = call i32 @isatty(i32 noundef %4632) #13
  %.not1780 = icmp eq i32 %4633, 0
  br i1 %.not1780, label %4634, label %4635

4634:                                             ; preds = %4630, %4623
  br label %4635

4635:                                             ; preds = %4630, %4634
  %.str.5.sink3526 = phi ptr [ @.str.5, %4634 ], [ @.str.2, %4630 ]
  store i32 %4625, ptr %4624, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = load i32, ptr @test_count, align 4, !tbaa !5
  %4638 = load i32, ptr %2772, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror(i32 noundef %4638, ptr noundef nonnull @.str.4) #13
  %4640 = load i32, ptr %2772, align 4, !tbaa !5
  %4641 = call ptr @s2n_strerror_debug(i32 noundef %4640, ptr noundef nonnull @.str.4) #13
  %4642 = load i32, ptr %4624, align 4, !tbaa !5
  %4643 = call ptr @strerror(i32 noundef %4642) #13
  %4644 = load i32, ptr %4624, align 4, !tbaa !5
  %4645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4636, ptr noundef nonnull %.str.5.sink3526, i32 noundef %4637, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 772, ptr noundef %4639, ptr noundef %4641, ptr noundef %4643, i32 noundef %4644) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4646:                                             ; preds = %4618
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = add nsw i32 %4647, 1
  store i32 %4648, ptr @test_count, align 4, !tbaa !5
  %4649 = call i32 @s2n_config_free(ptr noundef nonnull %4258) #13
  %4650 = icmp eq i32 %4649, -1
  br i1 %4650, label %4651, label %4674

4651:                                             ; preds = %4646
  %4652 = tail call ptr @__errno_location() #14
  %4653 = load i32, ptr %4652, align 4, !tbaa !5
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = call i32 @s2n_print_stacktrace(ptr noundef %4654) #13
  %4656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4657 = trunc nuw i8 %4656 to i1
  br i1 %4657, label %4658, label %4662

4658:                                             ; preds = %4651
  %4659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4660 = call i32 @fileno(ptr noundef %4659) #13
  %4661 = call i32 @isatty(i32 noundef %4660) #13
  %.not1779 = icmp eq i32 %4661, 0
  br i1 %.not1779, label %4662, label %4663

4662:                                             ; preds = %4658, %4651
  br label %4663

4663:                                             ; preds = %4658, %4662
  %.str.5.sink3535 = phi ptr [ @.str.5, %4662 ], [ @.str.2, %4658 ]
  store i32 %4653, ptr %4652, align 4, !tbaa !5
  %4664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4665 = load i32, ptr @test_count, align 4, !tbaa !5
  %4666 = load i32, ptr %2772, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror(i32 noundef %4666, ptr noundef nonnull @.str.4) #13
  %4668 = load i32, ptr %2772, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror_debug(i32 noundef %4668, ptr noundef nonnull @.str.4) #13
  %4670 = load i32, ptr %4652, align 4, !tbaa !5
  %4671 = call ptr @strerror(i32 noundef %4670) #13
  %4672 = load i32, ptr %4652, align 4, !tbaa !5
  %4673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4664, ptr noundef nonnull %.str.5.sink3535, i32 noundef %4665, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %4667, ptr noundef %4669, ptr noundef %4671, i32 noundef %4672) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4674:                                             ; preds = %4646
  %4675 = load i32, ptr @test_count, align 4, !tbaa !5
  %4676 = add nsw i32 %4675, 1
  store i32 %4676, ptr @test_count, align 4, !tbaa !5
  %4677 = call i32 @s2n_config_free(ptr noundef nonnull %4056) #13
  %4678 = icmp eq i32 %4677, -1
  br i1 %4678, label %4679, label %4702

4679:                                             ; preds = %4674
  %4680 = tail call ptr @__errno_location() #14
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = call i32 @s2n_print_stacktrace(ptr noundef %4682) #13
  %4684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4685 = trunc nuw i8 %4684 to i1
  br i1 %4685, label %4686, label %4690

4686:                                             ; preds = %4679
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = call i32 @fileno(ptr noundef %4687) #13
  %4689 = call i32 @isatty(i32 noundef %4688) #13
  %.not1778 = icmp eq i32 %4689, 0
  br i1 %.not1778, label %4690, label %4691

4690:                                             ; preds = %4686, %4679
  br label %4691

4691:                                             ; preds = %4686, %4690
  %.str.5.sink3544 = phi ptr [ @.str.5, %4690 ], [ @.str.2, %4686 ]
  store i32 %4681, ptr %4680, align 4, !tbaa !5
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = load i32, ptr @test_count, align 4, !tbaa !5
  %4694 = load i32, ptr %2772, align 4, !tbaa !5
  %4695 = call ptr @s2n_strerror(i32 noundef %4694, ptr noundef nonnull @.str.4) #13
  %4696 = load i32, ptr %2772, align 4, !tbaa !5
  %4697 = call ptr @s2n_strerror_debug(i32 noundef %4696, ptr noundef nonnull @.str.4) #13
  %4698 = load i32, ptr %4680, align 4, !tbaa !5
  %4699 = call ptr @strerror(i32 noundef %4698) #13
  %4700 = load i32, ptr %4680, align 4, !tbaa !5
  %4701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4692, ptr noundef nonnull %.str.5.sink3544, i32 noundef %4693, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 775, ptr noundef %4695, ptr noundef %4697, ptr noundef %4699, i32 noundef %4700) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4702:                                             ; preds = %4674
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #13
  %4703 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1516 = icmp eq i8 %4703, 0
  br i1 %.not1516, label %4704, label %4843

4704:                                             ; preds = %4702
  %4705 = load i32, ptr @test_count, align 4, !tbaa !5
  %4706 = add nsw i32 %4705, 1
  store i32 %4706, ptr @test_count, align 4, !tbaa !5
  %4707 = call ptr @s2n_config_new() #13
  %4708 = icmp eq ptr %4707, null
  br i1 %4708, label %4709, label %4732

4709:                                             ; preds = %4704
  %4710 = tail call ptr @__errno_location() #14
  %4711 = load i32, ptr %4710, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = call i32 @s2n_print_stacktrace(ptr noundef %4712) #13
  %4714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4715 = trunc nuw i8 %4714 to i1
  br i1 %4715, label %4716, label %4720

4716:                                             ; preds = %4709
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = call i32 @fileno(ptr noundef %4717) #13
  %4719 = call i32 @isatty(i32 noundef %4718) #13
  %.not1521 = icmp eq i32 %4719, 0
  br i1 %.not1521, label %4720, label %4721

4720:                                             ; preds = %4716, %4709
  br label %4721

4721:                                             ; preds = %4716, %4720
  %.str.5.sink3553 = phi ptr [ @.str.5, %4720 ], [ @.str.2, %4716 ]
  store i32 %4711, ptr %4710, align 4, !tbaa !5
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4723 = load i32, ptr @test_count, align 4, !tbaa !5
  %4724 = load i32, ptr %2772, align 4, !tbaa !5
  %4725 = call ptr @s2n_strerror(i32 noundef %4724, ptr noundef nonnull @.str.4) #13
  %4726 = load i32, ptr %2772, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror_debug(i32 noundef %4726, ptr noundef nonnull @.str.4) #13
  %4728 = load i32, ptr %4710, align 4, !tbaa !5
  %4729 = call ptr @strerror(i32 noundef %4728) #13
  %4730 = load i32, ptr %4710, align 4, !tbaa !5
  %4731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4722, ptr noundef nonnull %.str.5.sink3553, i32 noundef %4723, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 781, ptr noundef %4725, ptr noundef %4727, ptr noundef %4729, i32 noundef %4730) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4732:                                             ; preds = %4704
  %4733 = load i32, ptr @test_count, align 4, !tbaa !5
  %4734 = add nsw i32 %4733, 1
  store i32 %4734, ptr @test_count, align 4, !tbaa !5
  %4735 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %4707, i8 noundef zeroext 1) #13
  %4736 = icmp eq i32 %4735, -1
  br i1 %4736, label %4760, label %4737

4737:                                             ; preds = %4732
  %4738 = tail call ptr @__errno_location() #14
  %4739 = load i32, ptr %4738, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @s2n_print_stacktrace(ptr noundef %4740) #13
  %4742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4743 = trunc nuw i8 %4742 to i1
  br i1 %4743, label %4744, label %4748

4744:                                             ; preds = %4737
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = call i32 @fileno(ptr noundef %4745) #13
  %4747 = call i32 @isatty(i32 noundef %4746) #13
  %.not1517 = icmp eq i32 %4747, 0
  br i1 %.not1517, label %4748, label %4749

4748:                                             ; preds = %4744, %4737
  br label %4749

4749:                                             ; preds = %4744, %4748
  %.str.5.sink3562 = phi ptr [ @.str.5, %4748 ], [ @.str.2, %4744 ]
  store i32 %4739, ptr %4738, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr %2772, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror(i32 noundef %4752, ptr noundef nonnull @.str.4) #13
  %4754 = load i32, ptr %2772, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef nonnull @.str.4) #13
  %4756 = load i32, ptr %4738, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #13
  %4758 = load i32, ptr %4738, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef nonnull %.str.5.sink3562, i32 noundef %4751, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %4753, ptr noundef %4755, ptr noundef %4757, i32 noundef %4758) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4760:                                             ; preds = %4732
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = add nsw i32 %4761, 1
  store i32 %4762, ptr @test_count, align 4, !tbaa !5
  %4763 = load i32, ptr %2772, align 4, !tbaa !5
  %4764 = icmp eq i32 %4763, 0
  br i1 %4764, label %4765, label %4788

4765:                                             ; preds = %4760
  %4766 = tail call ptr @__errno_location() #14
  %4767 = load i32, ptr %4766, align 4, !tbaa !5
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = call i32 @s2n_print_stacktrace(ptr noundef %4768) #13
  %4770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4771 = trunc nuw i8 %4770 to i1
  br i1 %4771, label %4772, label %4776

4772:                                             ; preds = %4765
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = call i32 @fileno(ptr noundef %4773) #13
  %4775 = call i32 @isatty(i32 noundef %4774) #13
  %.not1520 = icmp eq i32 %4775, 0
  br i1 %.not1520, label %4776, label %4777

4776:                                             ; preds = %4772, %4765
  br label %4777

4777:                                             ; preds = %4772, %4776
  %.str.5.sink3571 = phi ptr [ @.str.5, %4776 ], [ @.str.2, %4772 ]
  store i32 %4767, ptr %4766, align 4, !tbaa !5
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = load i32, ptr @test_count, align 4, !tbaa !5
  %4780 = load i32, ptr %2772, align 4, !tbaa !5
  %4781 = call ptr @s2n_strerror(i32 noundef %4780, ptr noundef nonnull @.str.4) #13
  %4782 = load i32, ptr %2772, align 4, !tbaa !5
  %4783 = call ptr @s2n_strerror_debug(i32 noundef %4782, ptr noundef nonnull @.str.4) #13
  %4784 = load i32, ptr %4766, align 4, !tbaa !5
  %4785 = call ptr @strerror(i32 noundef %4784) #13
  %4786 = load i32, ptr %4766, align 4, !tbaa !5
  %4787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4778, ptr noundef nonnull %.str.5.sink3571, i32 noundef %4779, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %4781, ptr noundef %4783, ptr noundef %4785, i32 noundef %4786) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4788:                                             ; preds = %4760
  %4789 = add nsw i32 %4761, 2
  store i32 %4789, ptr @test_count, align 4, !tbaa !5
  %4790 = call ptr @s2n_strerror_debug(i32 noundef %4763, ptr noundef nonnull @.str.4) #13
  %4791 = icmp eq ptr %4790, null
  br i1 %4791, label %4792, label %4815

4792:                                             ; preds = %4788
  %4793 = tail call ptr @__errno_location() #14
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = call i32 @s2n_print_stacktrace(ptr noundef %4795) #13
  %4797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4798 = trunc nuw i8 %4797 to i1
  br i1 %4798, label %4799, label %4803

4799:                                             ; preds = %4792
  %4800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4801 = call i32 @fileno(ptr noundef %4800) #13
  %4802 = call i32 @isatty(i32 noundef %4801) #13
  %.not1519 = icmp eq i32 %4802, 0
  br i1 %.not1519, label %4803, label %4804

4803:                                             ; preds = %4799, %4792
  br label %4804

4804:                                             ; preds = %4799, %4803
  %.str.5.sink3580 = phi ptr [ @.str.5, %4803 ], [ @.str.2, %4799 ]
  store i32 %4794, ptr %4793, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = load i32, ptr @test_count, align 4, !tbaa !5
  %4807 = load i32, ptr %2772, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror(i32 noundef %4807, ptr noundef nonnull @.str.4) #13
  %4809 = load i32, ptr %2772, align 4, !tbaa !5
  %4810 = call ptr @s2n_strerror_debug(i32 noundef %4809, ptr noundef nonnull @.str.4) #13
  %4811 = load i32, ptr %4793, align 4, !tbaa !5
  %4812 = call ptr @strerror(i32 noundef %4811) #13
  %4813 = load i32, ptr %4793, align 4, !tbaa !5
  %4814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4805, ptr noundef nonnull %.str.5.sink3580, i32 noundef %4806, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %4808, ptr noundef %4810, ptr noundef %4812, i32 noundef %4813) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4815:                                             ; preds = %4788
  store i32 0, ptr %2772, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  %4816 = tail call ptr @__errno_location() #14
  store i32 0, ptr %4816, align 4, !tbaa !5
  %4817 = load i32, ptr @test_count, align 4, !tbaa !5
  %4818 = add nsw i32 %4817, 1
  store i32 %4818, ptr @test_count, align 4, !tbaa !5
  %4819 = call i32 @s2n_config_free(ptr noundef nonnull %4707) #13
  %4820 = icmp eq i32 %4819, -1
  br i1 %4820, label %4821, label %4843

4821:                                             ; preds = %4815
  %4822 = load i32, ptr %4816, align 4, !tbaa !5
  %4823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4824 = call i32 @s2n_print_stacktrace(ptr noundef %4823) #13
  %4825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4826 = trunc nuw i8 %4825 to i1
  br i1 %4826, label %4827, label %4831

4827:                                             ; preds = %4821
  %4828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4829 = call i32 @fileno(ptr noundef %4828) #13
  %4830 = call i32 @isatty(i32 noundef %4829) #13
  %.not1518 = icmp eq i32 %4830, 0
  br i1 %.not1518, label %4831, label %4832

4831:                                             ; preds = %4827, %4821
  br label %4832

4832:                                             ; preds = %4827, %4831
  %.str.5.sink3589 = phi ptr [ @.str.5, %4831 ], [ @.str.2, %4827 ]
  store i32 %4822, ptr %4816, align 4, !tbaa !5
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = load i32, ptr @test_count, align 4, !tbaa !5
  %4835 = load i32, ptr %2772, align 4, !tbaa !5
  %4836 = call ptr @s2n_strerror(i32 noundef %4835, ptr noundef nonnull @.str.4) #13
  %4837 = load i32, ptr %2772, align 4, !tbaa !5
  %4838 = call ptr @s2n_strerror_debug(i32 noundef %4837, ptr noundef nonnull @.str.4) #13
  %4839 = load i32, ptr %4816, align 4, !tbaa !5
  %4840 = call ptr @strerror(i32 noundef %4839) #13
  %4841 = load i32, ptr %4816, align 4, !tbaa !5
  %4842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4833, ptr noundef nonnull %.str.5.sink3589, i32 noundef %4834, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 783, ptr noundef %4836, ptr noundef %4838, ptr noundef %4840, i32 noundef %4841) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4843:                                             ; preds = %4815, %4702
  %4844 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1522 = icmp eq i8 %4844, 0
  br i1 %.not1522, label %5607, label %4845

4845:                                             ; preds = %4843
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #13
  store i32 0, ptr %24, align 4, !tbaa !5
  %4846 = load i32, ptr @test_count, align 4, !tbaa !5
  %4847 = add nsw i32 %4846, 1
  store i32 %4847, ptr @test_count, align 4, !tbaa !5
  %4848 = call ptr @s2n_config_new() #13
  %4849 = icmp eq ptr %4848, null
  br i1 %4849, label %4850, label %4873

4850:                                             ; preds = %4845
  %4851 = tail call ptr @__errno_location() #14
  %4852 = load i32, ptr %4851, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @s2n_print_stacktrace(ptr noundef %4853) #13
  %4855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4856 = trunc nuw i8 %4855 to i1
  br i1 %4856, label %4857, label %4861

4857:                                             ; preds = %4850
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = call i32 @fileno(ptr noundef %4858) #13
  %4860 = call i32 @isatty(i32 noundef %4859) #13
  %.not1777 = icmp eq i32 %4860, 0
  br i1 %.not1777, label %4861, label %4862

4861:                                             ; preds = %4857, %4850
  br label %4862

4862:                                             ; preds = %4857, %4861
  %.str.5.sink3598 = phi ptr [ @.str.5, %4861 ], [ @.str.2, %4857 ]
  store i32 %4852, ptr %4851, align 4, !tbaa !5
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = load i32, ptr %2772, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef nonnull @.str.4) #13
  %4867 = load i32, ptr %2772, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef nonnull @.str.4) #13
  %4869 = load i32, ptr %4851, align 4, !tbaa !5
  %4870 = call ptr @strerror(i32 noundef %4869) #13
  %4871 = load i32, ptr %4851, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4863, ptr noundef nonnull %.str.5.sink3598, i32 noundef %4864, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 795, ptr noundef %4866, ptr noundef %4868, ptr noundef %4870, i32 noundef %4871) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4873:                                             ; preds = %4845
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %4875 = add nsw i32 %4874, 1
  store i32 %4875, ptr @test_count, align 4, !tbaa !5
  %4876 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %4848, i8 noundef zeroext 0) #13
  %4877 = icmp eq i32 %4876, -1
  br i1 %4877, label %4878, label %4901

4878:                                             ; preds = %4873
  %4879 = tail call ptr @__errno_location() #14
  %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) #13
  %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) #13
  %4888 = call i32 @isatty(i32 noundef %4887) #13
  %.not1776 = icmp eq i32 %4888, 0
  br i1 %.not1776, label %4889, label %4890

4889:                                             ; preds = %4885, %4878
  br label %4890

4890:                                             ; preds = %4885, %4889
  %.str.5.sink3607 = phi ptr [ @.str.5, %4889 ], [ @.str.2, %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 = load i32, ptr %2772, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror(i32 noundef %4893, ptr noundef nonnull @.str.4) #13
  %4895 = load i32, ptr %2772, align 4, !tbaa !5
  %4896 = call ptr @s2n_strerror_debug(i32 noundef %4895, ptr noundef nonnull @.str.4) #13
  %4897 = load i32, ptr %4879, align 4, !tbaa !5
  %4898 = call ptr @strerror(i32 noundef %4897) #13
  %4899 = load i32, ptr %4879, align 4, !tbaa !5
  %4900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4891, ptr noundef nonnull %.str.5.sink3607, i32 noundef %4892, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 796, ptr noundef %4894, ptr noundef %4896, ptr noundef %4898, i32 noundef %4899) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4901:                                             ; preds = %4873
  %4902 = load i32, ptr @test_count, align 4, !tbaa !5
  %4903 = add nsw i32 %4902, 1
  store i32 %4903, ptr @test_count, align 4, !tbaa !5
  %4904 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %4848) #13
  %4905 = icmp eq i32 %4904, -1
  br i1 %4905, label %4906, label %4929

4906:                                             ; preds = %4901
  %4907 = tail call ptr @__errno_location() #14
  %4908 = load i32, ptr %4907, align 4, !tbaa !5
  %4909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4910 = call i32 @s2n_print_stacktrace(ptr noundef %4909) #13
  %4911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4912 = trunc nuw i8 %4911 to i1
  br i1 %4912, label %4913, label %4917

4913:                                             ; preds = %4906
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = call i32 @fileno(ptr noundef %4914) #13
  %4916 = call i32 @isatty(i32 noundef %4915) #13
  %.not1775 = icmp eq i32 %4916, 0
  br i1 %.not1775, label %4917, label %4918

4917:                                             ; preds = %4913, %4906
  br label %4918

4918:                                             ; preds = %4913, %4917
  %.str.5.sink3616 = phi ptr [ @.str.5, %4917 ], [ @.str.2, %4913 ]
  store i32 %4908, ptr %4907, align 4, !tbaa !5
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = load i32, ptr @test_count, align 4, !tbaa !5
  %4921 = load i32, ptr %2772, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror(i32 noundef %4921, ptr noundef nonnull @.str.4) #13
  %4923 = load i32, ptr %2772, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror_debug(i32 noundef %4923, ptr noundef nonnull @.str.4) #13
  %4925 = load i32, ptr %4907, align 4, !tbaa !5
  %4926 = call ptr @strerror(i32 noundef %4925) #13
  %4927 = load i32, ptr %4907, align 4, !tbaa !5
  %4928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4919, ptr noundef nonnull %.str.5.sink3616, i32 noundef %4920, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 797, ptr noundef %4922, ptr noundef %4924, ptr noundef %4926, i32 noundef %4927) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4929:                                             ; preds = %4901
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = add nsw i32 %4930, 1
  store i32 %4931, ptr @test_count, align 4, !tbaa !5
  %4932 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %4933 = icmp eq ptr %4932, null
  br i1 %4933, label %4934, label %4957

4934:                                             ; preds = %4929
  %4935 = tail call ptr @__errno_location() #14
  %4936 = load i32, ptr %4935, align 4, !tbaa !5
  %4937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4938 = call i32 @s2n_print_stacktrace(ptr noundef %4937) #13
  %4939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4940 = trunc nuw i8 %4939 to i1
  br i1 %4940, label %4941, label %4945

4941:                                             ; preds = %4934
  %4942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4943 = call i32 @fileno(ptr noundef %4942) #13
  %4944 = call i32 @isatty(i32 noundef %4943) #13
  %.not1774 = icmp eq i32 %4944, 0
  br i1 %.not1774, label %4945, label %4946

4945:                                             ; preds = %4941, %4934
  br label %4946

4946:                                             ; preds = %4941, %4945
  %.str.5.sink3625 = phi ptr [ @.str.5, %4945 ], [ @.str.2, %4941 ]
  store i32 %4936, ptr %4935, align 4, !tbaa !5
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4948 = load i32, ptr @test_count, align 4, !tbaa !5
  %4949 = load i32, ptr %2772, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror(i32 noundef %4949, ptr noundef nonnull @.str.4) #13
  %4951 = load i32, ptr %2772, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror_debug(i32 noundef %4951, ptr noundef nonnull @.str.4) #13
  %4953 = load i32, ptr %4935, align 4, !tbaa !5
  %4954 = call ptr @strerror(i32 noundef %4953) #13
  %4955 = load i32, ptr %4935, align 4, !tbaa !5
  %4956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4947, ptr noundef nonnull %.str.5.sink3625, i32 noundef %4948, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 798, ptr noundef %4950, ptr noundef %4952, ptr noundef %4954, i32 noundef %4955) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4957:                                             ; preds = %4929
  %4958 = load i32, ptr @test_count, align 4, !tbaa !5
  %4959 = add nsw i32 %4958, 1
  store i32 %4959, ptr @test_count, align 4, !tbaa !5
  %4960 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4932, ptr noundef nonnull %4848) #13
  %4961 = icmp eq i32 %4960, -1
  br i1 %4961, label %4962, label %4985

4962:                                             ; preds = %4957
  %4963 = tail call ptr @__errno_location() #14
  %4964 = load i32, ptr %4963, align 4, !tbaa !5
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = call i32 @s2n_print_stacktrace(ptr noundef %4965) #13
  %4967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4968 = trunc nuw i8 %4967 to i1
  br i1 %4968, label %4969, label %4973

4969:                                             ; preds = %4962
  %4970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4971 = call i32 @fileno(ptr noundef %4970) #13
  %4972 = call i32 @isatty(i32 noundef %4971) #13
  %.not1773 = icmp eq i32 %4972, 0
  br i1 %.not1773, label %4973, label %4974

4973:                                             ; preds = %4969, %4962
  br label %4974

4974:                                             ; preds = %4969, %4973
  %.str.5.sink3634 = phi ptr [ @.str.5, %4973 ], [ @.str.2, %4969 ]
  store i32 %4964, ptr %4963, align 4, !tbaa !5
  %4975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4976 = load i32, ptr @test_count, align 4, !tbaa !5
  %4977 = load i32, ptr %2772, align 4, !tbaa !5
  %4978 = call ptr @s2n_strerror(i32 noundef %4977, ptr noundef nonnull @.str.4) #13
  %4979 = load i32, ptr %2772, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror_debug(i32 noundef %4979, ptr noundef nonnull @.str.4) #13
  %4981 = load i32, ptr %4963, align 4, !tbaa !5
  %4982 = call ptr @strerror(i32 noundef %4981) #13
  %4983 = load i32, ptr %4963, align 4, !tbaa !5
  %4984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4975, ptr noundef nonnull %.str.5.sink3634, i32 noundef %4976, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %4978, ptr noundef %4980, ptr noundef %4982, i32 noundef %4983) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4985:                                             ; preds = %4957
  %4986 = getelementptr inbounds i8, ptr %4932, i64 220
  store i8 33, ptr %4986, align 4, !tbaa !15
  %4987 = getelementptr inbounds i8, ptr %4932, i64 219
  store i8 33, ptr %4987, align 1, !tbaa !42
  %4988 = getelementptr inbounds i8, ptr %4932, i64 218
  store i8 33, ptr %4988, align 2, !tbaa !43
  %4989 = load i32, ptr @test_count, align 4, !tbaa !5
  %4990 = add nsw i32 %4989, 1
  store i32 %4990, ptr @test_count, align 4, !tbaa !5
  %4991 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %4848, i32 noundef 1) #13
  %4992 = icmp eq i32 %4991, -1
  br i1 %4992, label %4993, label %5016

4993:                                             ; preds = %4985
  %4994 = tail call ptr @__errno_location() #14
  %4995 = load i32, ptr %4994, align 4, !tbaa !5
  %4996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4997 = call i32 @s2n_print_stacktrace(ptr noundef %4996) #13
  %4998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4999 = trunc nuw i8 %4998 to i1
  br i1 %4999, label %5000, label %5004

5000:                                             ; preds = %4993
  %5001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5002 = call i32 @fileno(ptr noundef %5001) #13
  %5003 = call i32 @isatty(i32 noundef %5002) #13
  %.not1772 = icmp eq i32 %5003, 0
  br i1 %.not1772, label %5004, label %5005

5004:                                             ; preds = %5000, %4993
  br label %5005

5005:                                             ; preds = %5000, %5004
  %.str.5.sink3643 = phi ptr [ @.str.5, %5004 ], [ @.str.2, %5000 ]
  store i32 %4995, ptr %4994, align 4, !tbaa !5
  %5006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5007 = load i32, ptr @test_count, align 4, !tbaa !5
  %5008 = load i32, ptr %2772, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror(i32 noundef %5008, ptr noundef nonnull @.str.4) #13
  %5010 = load i32, ptr %2772, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror_debug(i32 noundef %5010, ptr noundef nonnull @.str.4) #13
  %5012 = load i32, ptr %4994, align 4, !tbaa !5
  %5013 = call ptr @strerror(i32 noundef %5012) #13
  %5014 = load i32, ptr %4994, align 4, !tbaa !5
  %5015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5006, ptr noundef nonnull %.str.5.sink3643, i32 noundef %5007, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 804, ptr noundef %5009, ptr noundef %5011, ptr noundef %5013, i32 noundef %5014) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5016:                                             ; preds = %4985
  %5017 = load i32, ptr @test_count, align 4, !tbaa !5
  %5018 = add nsw i32 %5017, 1
  store i32 %5018, ptr @test_count, align 4, !tbaa !5
  %5019 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4932, ptr noundef nonnull %4848) #13
  %5020 = icmp eq i32 %5019, -1
  br i1 %5020, label %5021, label %5044

5021:                                             ; preds = %5016
  %5022 = tail call ptr @__errno_location() #14
  %5023 = load i32, ptr %5022, align 4, !tbaa !5
  %5024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5025 = call i32 @s2n_print_stacktrace(ptr noundef %5024) #13
  %5026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5027 = trunc nuw i8 %5026 to i1
  br i1 %5027, label %5028, label %5032

5028:                                             ; preds = %5021
  %5029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5030 = call i32 @fileno(ptr noundef %5029) #13
  %5031 = call i32 @isatty(i32 noundef %5030) #13
  %.not1771 = icmp eq i32 %5031, 0
  br i1 %.not1771, label %5032, label %5033

5032:                                             ; preds = %5028, %5021
  br label %5033

5033:                                             ; preds = %5028, %5032
  %.str.5.sink3652 = phi ptr [ @.str.5, %5032 ], [ @.str.2, %5028 ]
  store i32 %5023, ptr %5022, align 4, !tbaa !5
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5035 = load i32, ptr @test_count, align 4, !tbaa !5
  %5036 = load i32, ptr %2772, align 4, !tbaa !5
  %5037 = call ptr @s2n_strerror(i32 noundef %5036, ptr noundef nonnull @.str.4) #13
  %5038 = load i32, ptr %2772, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror_debug(i32 noundef %5038, ptr noundef nonnull @.str.4) #13
  %5040 = load i32, ptr %5022, align 4, !tbaa !5
  %5041 = call ptr @strerror(i32 noundef %5040) #13
  %5042 = load i32, ptr %5022, align 4, !tbaa !5
  %5043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5034, ptr noundef nonnull %.str.5.sink3652, i32 noundef %5035, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %5037, ptr noundef %5039, ptr noundef %5041, i32 noundef %5042) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5044:                                             ; preds = %5016
  %5045 = load i32, ptr @test_count, align 4, !tbaa !5
  %5046 = add nsw i32 %5045, 1
  store i32 %5046, ptr @test_count, align 4, !tbaa !5
  %5047 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %5048 = icmp eq ptr %5047, null
  br i1 %5048, label %5049, label %5072

5049:                                             ; preds = %5044
  %5050 = tail call ptr @__errno_location() #14
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = call i32 @s2n_print_stacktrace(ptr noundef %5052) #13
  %5054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5055 = trunc nuw i8 %5054 to i1
  br i1 %5055, label %5056, label %5060

5056:                                             ; preds = %5049
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = call i32 @fileno(ptr noundef %5057) #13
  %5059 = call i32 @isatty(i32 noundef %5058) #13
  %.not1770 = icmp eq i32 %5059, 0
  br i1 %.not1770, label %5060, label %5061

5060:                                             ; preds = %5056, %5049
  br label %5061

5061:                                             ; preds = %5056, %5060
  %.str.5.sink3661 = phi ptr [ @.str.5, %5060 ], [ @.str.2, %5056 ]
  store i32 %5051, ptr %5050, align 4, !tbaa !5
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = load i32, ptr @test_count, align 4, !tbaa !5
  %5064 = load i32, ptr %2772, align 4, !tbaa !5
  %5065 = call ptr @s2n_strerror(i32 noundef %5064, ptr noundef nonnull @.str.4) #13
  %5066 = load i32, ptr %2772, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror_debug(i32 noundef %5066, ptr noundef nonnull @.str.4) #13
  %5068 = load i32, ptr %5050, align 4, !tbaa !5
  %5069 = call ptr @strerror(i32 noundef %5068) #13
  %5070 = load i32, ptr %5050, align 4, !tbaa !5
  %5071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5062, ptr noundef nonnull %.str.5.sink3661, i32 noundef %5063, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 807, ptr noundef %5065, ptr noundef %5067, ptr noundef %5069, i32 noundef %5070) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5072:                                             ; preds = %5044
  %5073 = getelementptr inbounds i8, ptr %5047, i64 220
  store i8 33, ptr %5073, align 4, !tbaa !15
  %5074 = getelementptr inbounds i8, ptr %5047, i64 219
  store i8 33, ptr %5074, align 1, !tbaa !42
  %5075 = getelementptr inbounds i8, ptr %5047, i64 218
  store i8 33, ptr %5075, align 2, !tbaa !43
  %5076 = load i32, ptr @test_count, align 4, !tbaa !5
  %5077 = add nsw i32 %5076, 1
  store i32 %5077, ptr @test_count, align 4, !tbaa !5
  %5078 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %4932, ptr noundef nonnull %5047, ptr noundef nonnull %3) #13
  %5079 = icmp eq i32 %5078, -1
  br i1 %5079, label %5080, label %5103

5080:                                             ; preds = %5072
  %5081 = tail call ptr @__errno_location() #14
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = call i32 @s2n_print_stacktrace(ptr noundef %5083) #13
  %5085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5086 = trunc nuw i8 %5085 to i1
  br i1 %5086, label %5087, label %5091

5087:                                             ; preds = %5080
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = call i32 @fileno(ptr noundef %5088) #13
  %5090 = call i32 @isatty(i32 noundef %5089) #13
  %.not1769 = icmp eq i32 %5090, 0
  br i1 %.not1769, label %5091, label %5092

5091:                                             ; preds = %5087, %5080
  br label %5092

5092:                                             ; preds = %5087, %5091
  %.str.5.sink3670 = phi ptr [ @.str.5, %5091 ], [ @.str.2, %5087 ]
  store i32 %5082, ptr %5081, align 4, !tbaa !5
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = load i32, ptr @test_count, align 4, !tbaa !5
  %5095 = load i32, ptr %2772, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror(i32 noundef %5095, ptr noundef nonnull @.str.4) #13
  %5097 = load i32, ptr %2772, align 4, !tbaa !5
  %5098 = call ptr @s2n_strerror_debug(i32 noundef %5097, ptr noundef nonnull @.str.4) #13
  %5099 = load i32, ptr %5081, align 4, !tbaa !5
  %5100 = call ptr @strerror(i32 noundef %5099) #13
  %5101 = load i32, ptr %5081, align 4, !tbaa !5
  %5102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5093, ptr noundef nonnull %.str.5.sink3670, i32 noundef %5094, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 812, ptr noundef %5096, ptr noundef %5098, ptr noundef %5100, i32 noundef %5101) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5103:                                             ; preds = %5072
  %5104 = load i32, ptr @test_count, align 4, !tbaa !5
  %5105 = add nsw i32 %5104, 1
  store i32 %5105, ptr @test_count, align 4, !tbaa !5
  %5106 = call ptr @s2n_config_new() #13
  %5107 = icmp eq ptr %5106, null
  br i1 %5107, label %5108, label %5131

5108:                                             ; preds = %5103
  %5109 = tail call ptr @__errno_location() #14
  %5110 = load i32, ptr %5109, align 4, !tbaa !5
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = call i32 @s2n_print_stacktrace(ptr noundef %5111) #13
  %5113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5114 = trunc nuw i8 %5113 to i1
  br i1 %5114, label %5115, label %5119

5115:                                             ; preds = %5108
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = call i32 @fileno(ptr noundef %5116) #13
  %5118 = call i32 @isatty(i32 noundef %5117) #13
  %.not1768 = icmp eq i32 %5118, 0
  br i1 %.not1768, label %5119, label %5120

5119:                                             ; preds = %5115, %5108
  br label %5120

5120:                                             ; preds = %5115, %5119
  %.str.5.sink3679 = phi ptr [ @.str.5, %5119 ], [ @.str.2, %5115 ]
  store i32 %5110, ptr %5109, align 4, !tbaa !5
  %5121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5122 = load i32, ptr @test_count, align 4, !tbaa !5
  %5123 = load i32, ptr %2772, align 4, !tbaa !5
  %5124 = call ptr @s2n_strerror(i32 noundef %5123, ptr noundef nonnull @.str.4) #13
  %5125 = load i32, ptr %2772, align 4, !tbaa !5
  %5126 = call ptr @s2n_strerror_debug(i32 noundef %5125, ptr noundef nonnull @.str.4) #13
  %5127 = load i32, ptr %5109, align 4, !tbaa !5
  %5128 = call ptr @strerror(i32 noundef %5127) #13
  %5129 = load i32, ptr %5109, align 4, !tbaa !5
  %5130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5121, ptr noundef nonnull %.str.5.sink3679, i32 noundef %5122, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 814, ptr noundef %5124, ptr noundef %5126, ptr noundef %5128, i32 noundef %5129) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5131:                                             ; preds = %5103
  %5132 = load i32, ptr @test_count, align 4, !tbaa !5
  %5133 = add nsw i32 %5132, 1
  store i32 %5133, ptr @test_count, align 4, !tbaa !5
  %5134 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %5135 = icmp eq i32 %5134, -1
  br i1 %5135, label %5136, label %5159

5136:                                             ; preds = %5131
  %5137 = tail call ptr @__errno_location() #14
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = call i32 @s2n_print_stacktrace(ptr noundef %5139) #13
  %5141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5142 = trunc nuw i8 %5141 to i1
  br i1 %5142, label %5143, label %5147

5143:                                             ; preds = %5136
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = call i32 @fileno(ptr noundef %5144) #13
  %5146 = call i32 @isatty(i32 noundef %5145) #13
  %.not1767 = icmp eq i32 %5146, 0
  br i1 %.not1767, label %5147, label %5148

5147:                                             ; preds = %5143, %5136
  br label %5148

5148:                                             ; preds = %5143, %5147
  %.str.5.sink3688 = phi ptr [ @.str.5, %5147 ], [ @.str.2, %5143 ]
  store i32 %5138, ptr %5137, align 4, !tbaa !5
  %5149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5150 = load i32, ptr @test_count, align 4, !tbaa !5
  %5151 = load i32, ptr %2772, align 4, !tbaa !5
  %5152 = call ptr @s2n_strerror(i32 noundef %5151, ptr noundef nonnull @.str.4) #13
  %5153 = load i32, ptr %2772, align 4, !tbaa !5
  %5154 = call ptr @s2n_strerror_debug(i32 noundef %5153, ptr noundef nonnull @.str.4) #13
  %5155 = load i32, ptr %5137, align 4, !tbaa !5
  %5156 = call ptr @strerror(i32 noundef %5155) #13
  %5157 = load i32, ptr %5137, align 4, !tbaa !5
  %5158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5149, ptr noundef nonnull %.str.5.sink3688, i32 noundef %5150, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 815, ptr noundef %5152, ptr noundef %5154, ptr noundef %5156, i32 noundef %5157) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5159:                                             ; preds = %5131
  %5160 = load i32, ptr @test_count, align 4, !tbaa !5
  %5161 = add nsw i32 %5160, 1
  store i32 %5161, ptr @test_count, align 4, !tbaa !5
  %5162 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %5163 = icmp eq i32 %5162, -1
  br i1 %5163, label %5164, label %5187

5164:                                             ; preds = %5159
  %5165 = tail call ptr @__errno_location() #14
  %5166 = load i32, ptr %5165, align 4, !tbaa !5
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = call i32 @s2n_print_stacktrace(ptr noundef %5167) #13
  %5169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5170 = trunc nuw i8 %5169 to i1
  br i1 %5170, label %5171, label %5175

5171:                                             ; preds = %5164
  %5172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5173 = call i32 @fileno(ptr noundef %5172) #13
  %5174 = call i32 @isatty(i32 noundef %5173) #13
  %.not1766 = icmp eq i32 %5174, 0
  br i1 %.not1766, label %5175, label %5176

5175:                                             ; preds = %5171, %5164
  br label %5176

5176:                                             ; preds = %5171, %5175
  %.str.5.sink3697 = phi ptr [ @.str.5, %5175 ], [ @.str.2, %5171 ]
  store i32 %5166, ptr %5165, align 4, !tbaa !5
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = load i32, ptr @test_count, align 4, !tbaa !5
  %5179 = load i32, ptr %2772, align 4, !tbaa !5
  %5180 = call ptr @s2n_strerror(i32 noundef %5179, ptr noundef nonnull @.str.4) #13
  %5181 = load i32, ptr %2772, align 4, !tbaa !5
  %5182 = call ptr @s2n_strerror_debug(i32 noundef %5181, ptr noundef nonnull @.str.4) #13
  %5183 = load i32, ptr %5165, align 4, !tbaa !5
  %5184 = call ptr @strerror(i32 noundef %5183) #13
  %5185 = load i32, ptr %5165, align 4, !tbaa !5
  %5186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5177, ptr noundef nonnull %.str.5.sink3697, i32 noundef %5178, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 816, ptr noundef %5180, ptr noundef %5182, ptr noundef %5184, i32 noundef %5185) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5187:                                             ; preds = %5159
  %5188 = load i32, ptr @test_count, align 4, !tbaa !5
  %5189 = add nsw i32 %5188, 1
  store i32 %5189, ptr @test_count, align 4, !tbaa !5
  %5190 = call ptr @s2n_cert_chain_and_key_new() #13
  %5191 = icmp eq ptr %5190, null
  br i1 %5191, label %5192, label %5215

5192:                                             ; preds = %5187
  %5193 = tail call ptr @__errno_location() #14
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5196 = call i32 @s2n_print_stacktrace(ptr noundef %5195) #13
  %5197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5198 = trunc nuw i8 %5197 to i1
  br i1 %5198, label %5199, label %5203

5199:                                             ; preds = %5192
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = call i32 @fileno(ptr noundef %5200) #13
  %5202 = call i32 @isatty(i32 noundef %5201) #13
  %.not1765 = icmp eq i32 %5202, 0
  br i1 %.not1765, label %5203, label %5204

5203:                                             ; preds = %5199, %5192
  br label %5204

5204:                                             ; preds = %5199, %5203
  %.str.5.sink3706 = phi ptr [ @.str.5, %5203 ], [ @.str.2, %5199 ]
  store i32 %5194, ptr %5193, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = load i32, ptr @test_count, align 4, !tbaa !5
  %5207 = load i32, ptr %2772, align 4, !tbaa !5
  %5208 = call ptr @s2n_strerror(i32 noundef %5207, ptr noundef nonnull @.str.4) #13
  %5209 = load i32, ptr %2772, align 4, !tbaa !5
  %5210 = call ptr @s2n_strerror_debug(i32 noundef %5209, ptr noundef nonnull @.str.4) #13
  %5211 = load i32, ptr %5193, align 4, !tbaa !5
  %5212 = call ptr @strerror(i32 noundef %5211) #13
  %5213 = load i32, ptr %5193, align 4, !tbaa !5
  %5214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5205, ptr noundef nonnull %.str.5.sink3706, i32 noundef %5206, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 817, ptr noundef %5208, ptr noundef %5210, ptr noundef %5212, i32 noundef %5213) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5215:                                             ; preds = %5187
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = add nsw i32 %5216, 1
  store i32 %5217, ptr @test_count, align 4, !tbaa !5
  %5218 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %5190, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %5219 = icmp eq i32 %5218, -1
  br i1 %5219, label %5220, label %5243

5220:                                             ; preds = %5215
  %5221 = tail call ptr @__errno_location() #14
  %5222 = load i32, ptr %5221, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = call i32 @s2n_print_stacktrace(ptr noundef %5223) #13
  %5225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5226 = trunc nuw i8 %5225 to i1
  br i1 %5226, label %5227, label %5231

5227:                                             ; preds = %5220
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 @fileno(ptr noundef %5228) #13
  %5230 = call i32 @isatty(i32 noundef %5229) #13
  %.not1764 = icmp eq i32 %5230, 0
  br i1 %.not1764, label %5231, label %5232

5231:                                             ; preds = %5227, %5220
  br label %5232

5232:                                             ; preds = %5227, %5231
  %.str.5.sink3715 = phi ptr [ @.str.5, %5231 ], [ @.str.2, %5227 ]
  store i32 %5222, ptr %5221, align 4, !tbaa !5
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = load i32, ptr %2772, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror(i32 noundef %5235, ptr noundef nonnull @.str.4) #13
  %5237 = load i32, ptr %2772, align 4, !tbaa !5
  %5238 = call ptr @s2n_strerror_debug(i32 noundef %5237, ptr noundef nonnull @.str.4) #13
  %5239 = load i32, ptr %5221, align 4, !tbaa !5
  %5240 = call ptr @strerror(i32 noundef %5239) #13
  %5241 = load i32, ptr %5221, align 4, !tbaa !5
  %5242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5233, ptr noundef nonnull %.str.5.sink3715, i32 noundef %5234, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 818, ptr noundef %5236, ptr noundef %5238, ptr noundef %5240, i32 noundef %5241) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5243:                                             ; preds = %5215
  %5244 = load i32, ptr @test_count, align 4, !tbaa !5
  %5245 = add nsw i32 %5244, 1
  store i32 %5245, ptr @test_count, align 4, !tbaa !5
  %5246 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %5106, ptr noundef nonnull %5190) #13
  %5247 = icmp eq i32 %5246, -1
  br i1 %5247, label %5248, label %5271

5248:                                             ; preds = %5243
  %5249 = tail call ptr @__errno_location() #14
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5252 = call i32 @s2n_print_stacktrace(ptr noundef %5251) #13
  %5253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5254 = trunc nuw i8 %5253 to i1
  br i1 %5254, label %5255, label %5259

5255:                                             ; preds = %5248
  %5256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5257 = call i32 @fileno(ptr noundef %5256) #13
  %5258 = call i32 @isatty(i32 noundef %5257) #13
  %.not1763 = icmp eq i32 %5258, 0
  br i1 %.not1763, label %5259, label %5260

5259:                                             ; preds = %5255, %5248
  br label %5260

5260:                                             ; preds = %5255, %5259
  %.str.5.sink3724 = phi ptr [ @.str.5, %5259 ], [ @.str.2, %5255 ]
  store i32 %5250, ptr %5249, align 4, !tbaa !5
  %5261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5262 = load i32, ptr @test_count, align 4, !tbaa !5
  %5263 = load i32, ptr %2772, align 4, !tbaa !5
  %5264 = call ptr @s2n_strerror(i32 noundef %5263, ptr noundef nonnull @.str.4) #13
  %5265 = load i32, ptr %2772, align 4, !tbaa !5
  %5266 = call ptr @s2n_strerror_debug(i32 noundef %5265, ptr noundef nonnull @.str.4) #13
  %5267 = load i32, ptr %5249, align 4, !tbaa !5
  %5268 = call ptr @strerror(i32 noundef %5267) #13
  %5269 = load i32, ptr %5249, align 4, !tbaa !5
  %5270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5261, ptr noundef nonnull %.str.5.sink3724, i32 noundef %5262, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 819, ptr noundef %5264, ptr noundef %5266, ptr noundef %5268, i32 noundef %5269) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5271:                                             ; preds = %5243
  %5272 = load i32, ptr @test_count, align 4, !tbaa !5
  %5273 = add nsw i32 %5272, 1
  store i32 %5273, ptr @test_count, align 4, !tbaa !5
  %5274 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5047, ptr noundef nonnull %5106) #13
  %5275 = icmp eq i32 %5274, -1
  br i1 %5275, label %5276, label %5299

5276:                                             ; preds = %5271
  %5277 = tail call ptr @__errno_location() #14
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @s2n_print_stacktrace(ptr noundef %5279) #13
  %5281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5282 = trunc nuw i8 %5281 to i1
  br i1 %5282, label %5283, label %5287

5283:                                             ; preds = %5276
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = call i32 @fileno(ptr noundef %5284) #13
  %5286 = call i32 @isatty(i32 noundef %5285) #13
  %.not1762 = icmp eq i32 %5286, 0
  br i1 %.not1762, label %5287, label %5288

5287:                                             ; preds = %5283, %5276
  br label %5288

5288:                                             ; preds = %5283, %5287
  %.str.5.sink3733 = phi ptr [ @.str.5, %5287 ], [ @.str.2, %5283 ]
  store i32 %5278, ptr %5277, align 4, !tbaa !5
  %5289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5290 = load i32, ptr @test_count, align 4, !tbaa !5
  %5291 = load i32, ptr %2772, align 4, !tbaa !5
  %5292 = call ptr @s2n_strerror(i32 noundef %5291, ptr noundef nonnull @.str.4) #13
  %5293 = load i32, ptr %2772, align 4, !tbaa !5
  %5294 = call ptr @s2n_strerror_debug(i32 noundef %5293, ptr noundef nonnull @.str.4) #13
  %5295 = load i32, ptr %5277, align 4, !tbaa !5
  %5296 = call ptr @strerror(i32 noundef %5295) #13
  %5297 = load i32, ptr %5277, align 4, !tbaa !5
  %5298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5289, ptr noundef nonnull %.str.5.sink3733, i32 noundef %5290, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 820, ptr noundef %5292, ptr noundef %5294, ptr noundef %5296, i32 noundef %5297) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5299:                                             ; preds = %5271
  %5300 = load i32, ptr @test_count, align 4, !tbaa !5
  %5301 = add nsw i32 %5300, 1
  store i32 %5301, ptr @test_count, align 4, !tbaa !5
  %5302 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %5047, ptr noundef nonnull %4932) #13
  %5303 = icmp eq i32 %5302, -1
  br i1 %5303, label %5304, label %5327

5304:                                             ; preds = %5299
  %5305 = tail call ptr @__errno_location() #14
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = call i32 @s2n_print_stacktrace(ptr noundef %5307) #13
  %5309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5310 = trunc nuw i8 %5309 to i1
  br i1 %5310, label %5311, label %5315

5311:                                             ; preds = %5304
  %5312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5313 = call i32 @fileno(ptr noundef %5312) #13
  %5314 = call i32 @isatty(i32 noundef %5313) #13
  %.not1761 = icmp eq i32 %5314, 0
  br i1 %.not1761, label %5315, label %5316

5315:                                             ; preds = %5311, %5304
  br label %5316

5316:                                             ; preds = %5311, %5315
  %.str.5.sink3742 = phi ptr [ @.str.5, %5315 ], [ @.str.2, %5311 ]
  store i32 %5306, ptr %5305, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = load i32, ptr @test_count, align 4, !tbaa !5
  %5319 = load i32, ptr %2772, align 4, !tbaa !5
  %5320 = call ptr @s2n_strerror(i32 noundef %5319, ptr noundef nonnull @.str.4) #13
  %5321 = load i32, ptr %2772, align 4, !tbaa !5
  %5322 = call ptr @s2n_strerror_debug(i32 noundef %5321, ptr noundef nonnull @.str.4) #13
  %5323 = load i32, ptr %5305, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #13
  %5325 = load i32, ptr %5305, align 4, !tbaa !5
  %5326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5317, ptr noundef nonnull %.str.5.sink3742, i32 noundef %5318, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 822, ptr noundef %5320, ptr noundef %5322, ptr noundef %5324, i32 noundef %5325) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5327:                                             ; preds = %5299
  %5328 = load i32, ptr @test_count, align 4, !tbaa !5
  %5329 = add nsw i32 %5328, 1
  store i32 %5329, ptr @test_count, align 4, !tbaa !5
  %5330 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %5047) #13
  %5331 = icmp eq i32 %5330, 0
  br i1 %5331, label %5355, label %5332

5332:                                             ; preds = %5327
  %5333 = tail call ptr @__errno_location() #14
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = call i32 @s2n_print_stacktrace(ptr noundef %5335) #13
  %5337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5338 = trunc nuw i8 %5337 to i1
  br i1 %5338, label %5339, label %5343

5339:                                             ; preds = %5332
  %5340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5341 = call i32 @fileno(ptr noundef %5340) #13
  %5342 = call i32 @isatty(i32 noundef %5341) #13
  %.not1523 = icmp eq i32 %5342, 0
  br i1 %.not1523, label %5343, label %5344

5343:                                             ; preds = %5339, %5332
  br label %5344

5344:                                             ; preds = %5339, %5343
  %.str.5.sink3751 = phi ptr [ @.str.5, %5343 ], [ @.str.2, %5339 ]
  store i32 %5334, ptr %5333, align 4, !tbaa !5
  %5345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = load i32, ptr %2772, align 4, !tbaa !5
  %5348 = call ptr @s2n_strerror(i32 noundef %5347, ptr noundef nonnull @.str.4) #13
  %5349 = load i32, ptr %2772, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror_debug(i32 noundef %5349, ptr noundef nonnull @.str.4) #13
  %5351 = load i32, ptr %5333, align 4, !tbaa !5
  %5352 = call ptr @strerror(i32 noundef %5351) #13
  %5353 = load i32, ptr %5333, align 4, !tbaa !5
  %5354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5345, ptr noundef nonnull %.str.5.sink3751, i32 noundef %5346, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 825, ptr noundef %5348, ptr noundef %5350, ptr noundef %5352, i32 noundef %5353) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5355:                                             ; preds = %5327
  %5356 = load i32, ptr @test_count, align 4, !tbaa !5
  %5357 = add nsw i32 %5356, 1
  store i32 %5357, ptr @test_count, align 4, !tbaa !5
  %5358 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %4932) #13
  %5359 = icmp eq i32 %5358, 0
  br i1 %5359, label %5383, label %5360

5360:                                             ; preds = %5355
  %5361 = tail call ptr @__errno_location() #14
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = call i32 @s2n_print_stacktrace(ptr noundef %5363) #13
  %5365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5366 = trunc nuw i8 %5365 to i1
  br i1 %5366, label %5367, label %5371

5367:                                             ; preds = %5360
  %5368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5369 = call i32 @fileno(ptr noundef %5368) #13
  %5370 = call i32 @isatty(i32 noundef %5369) #13
  %.not1524 = icmp eq i32 %5370, 0
  br i1 %.not1524, label %5371, label %5372

5371:                                             ; preds = %5367, %5360
  br label %5372

5372:                                             ; preds = %5367, %5371
  %.str.5.sink3760 = phi ptr [ @.str.5, %5371 ], [ @.str.2, %5367 ]
  store i32 %5362, ptr %5361, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = load i32, ptr %2772, align 4, !tbaa !5
  %5376 = call ptr @s2n_strerror(i32 noundef %5375, ptr noundef nonnull @.str.4) #13
  %5377 = load i32, ptr %2772, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror_debug(i32 noundef %5377, ptr noundef nonnull @.str.4) #13
  %5379 = load i32, ptr %5361, align 4, !tbaa !5
  %5380 = call ptr @strerror(i32 noundef %5379) #13
  %5381 = load i32, ptr %5361, align 4, !tbaa !5
  %5382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef nonnull %.str.5.sink3760, i32 noundef %5374, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %5376, ptr noundef %5378, ptr noundef %5380, i32 noundef %5381) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5383:                                             ; preds = %5355
  %5384 = load i32, ptr @test_count, align 4, !tbaa !5
  %5385 = add nsw i32 %5384, 1
  store i32 %5385, ptr @test_count, align 4, !tbaa !5
  %5386 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %4932, ptr noundef nonnull %24) #13
  %5387 = icmp eq ptr %5386, null
  br i1 %5387, label %5411, label %5388

5388:                                             ; preds = %5383
  %5389 = tail call ptr @__errno_location() #14
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = call i32 @s2n_print_stacktrace(ptr noundef %5391) #13
  %5393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5394 = trunc nuw i8 %5393 to i1
  br i1 %5394, label %5395, label %5399

5395:                                             ; preds = %5388
  %5396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5397 = call i32 @fileno(ptr noundef %5396) #13
  %5398 = call i32 @isatty(i32 noundef %5397) #13
  %.not1525 = icmp eq i32 %5398, 0
  br i1 %.not1525, label %5399, label %5400

5399:                                             ; preds = %5395, %5388
  br label %5400

5400:                                             ; preds = %5395, %5399
  %.str.5.sink3769 = phi ptr [ @.str.5, %5399 ], [ @.str.2, %5395 ]
  store i32 %5390, ptr %5389, align 4, !tbaa !5
  %5401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5402 = load i32, ptr @test_count, align 4, !tbaa !5
  %5403 = load i32, ptr %2772, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror(i32 noundef %5403, ptr noundef nonnull @.str.4) #13
  %5405 = load i32, ptr %2772, align 4, !tbaa !5
  %5406 = call ptr @s2n_strerror_debug(i32 noundef %5405, ptr noundef nonnull @.str.4) #13
  %5407 = load i32, ptr %5389, align 4, !tbaa !5
  %5408 = call ptr @strerror(i32 noundef %5407) #13
  %5409 = load i32, ptr %5389, align 4, !tbaa !5
  %5410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5401, ptr noundef nonnull %.str.5.sink3769, i32 noundef %5402, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 829, ptr noundef %5404, ptr noundef %5406, ptr noundef %5408, i32 noundef %5409) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5411:                                             ; preds = %5383
  %5412 = load i32, ptr @test_count, align 4, !tbaa !5
  %5413 = add nsw i32 %5412, 1
  store i32 %5413, ptr @test_count, align 4, !tbaa !5
  %5414 = load i32, ptr %24, align 4, !tbaa !5
  %5415 = icmp eq i32 %5414, 0
  br i1 %5415, label %5439, label %5416

5416:                                             ; preds = %5411
  %5417 = tail call ptr @__errno_location() #14
  %5418 = load i32, ptr %5417, align 4, !tbaa !5
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = call i32 @s2n_print_stacktrace(ptr noundef %5419) #13
  %5421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5422 = trunc nuw i8 %5421 to i1
  br i1 %5422, label %5423, label %5427

5423:                                             ; preds = %5416
  %5424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5425 = call i32 @fileno(ptr noundef %5424) #13
  %5426 = call i32 @isatty(i32 noundef %5425) #13
  %.not1526 = icmp eq i32 %5426, 0
  br i1 %.not1526, label %5427, label %5428

5427:                                             ; preds = %5423, %5416
  br label %5428

5428:                                             ; preds = %5423, %5427
  %.str.5.sink3778 = phi ptr [ @.str.5, %5427 ], [ @.str.2, %5423 ]
  store i32 %5418, ptr %5417, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = load i32, ptr %2772, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror(i32 noundef %5431, ptr noundef nonnull @.str.4) #13
  %5433 = load i32, ptr %2772, align 4, !tbaa !5
  %5434 = call ptr @s2n_strerror_debug(i32 noundef %5433, ptr noundef nonnull @.str.4) #13
  %5435 = load i32, ptr %5417, align 4, !tbaa !5
  %5436 = call ptr @strerror(i32 noundef %5435) #13
  %5437 = load i32, ptr %5417, align 4, !tbaa !5
  %5438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef nonnull %.str.5.sink3778, i32 noundef %5430, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 830, ptr noundef %5432, ptr noundef %5434, ptr noundef %5436, i32 noundef %5437) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5439:                                             ; preds = %5411
  %5440 = add nsw i32 %5412, 2
  store i32 %5440, ptr @test_count, align 4, !tbaa !5
  %5441 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %5047, ptr noundef nonnull %4932) #13
  %5442 = icmp eq i32 %5441, -1
  br i1 %5442, label %5443, label %5466

5443:                                             ; preds = %5439
  %5444 = tail call ptr @__errno_location() #14
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5447 = call i32 @s2n_print_stacktrace(ptr noundef %5446) #13
  %5448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5449 = trunc nuw i8 %5448 to i1
  br i1 %5449, label %5450, label %5454

5450:                                             ; preds = %5443
  %5451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5452 = call i32 @fileno(ptr noundef %5451) #13
  %5453 = call i32 @isatty(i32 noundef %5452) #13
  %.not1760 = icmp eq i32 %5453, 0
  br i1 %.not1760, label %5454, label %5455

5454:                                             ; preds = %5450, %5443
  br label %5455

5455:                                             ; preds = %5450, %5454
  %.str.5.sink3787 = phi ptr [ @.str.5, %5454 ], [ @.str.2, %5450 ]
  store i32 %5445, ptr %5444, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = load i32, ptr @test_count, align 4, !tbaa !5
  %5458 = load i32, ptr %2772, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef nonnull @.str.4) #13
  %5460 = load i32, ptr %2772, align 4, !tbaa !5
  %5461 = call ptr @s2n_strerror_debug(i32 noundef %5460, ptr noundef nonnull @.str.4) #13
  %5462 = load i32, ptr %5444, align 4, !tbaa !5
  %5463 = call ptr @strerror(i32 noundef %5462) #13
  %5464 = load i32, ptr %5444, align 4, !tbaa !5
  %5465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5456, ptr noundef nonnull %.str.5.sink3787, i32 noundef %5457, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 832, ptr noundef %5459, ptr noundef %5461, ptr noundef %5463, i32 noundef %5464) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5466:                                             ; preds = %5439
  %5467 = load i32, ptr @test_count, align 4, !tbaa !5
  %5468 = add nsw i32 %5467, 1
  store i32 %5468, ptr @test_count, align 4, !tbaa !5
  %5469 = call i32 @s2n_connection_free(ptr noundef nonnull %5047) #13
  %5470 = icmp eq i32 %5469, -1
  br i1 %5470, label %5471, label %5494

5471:                                             ; preds = %5466
  %5472 = tail call ptr @__errno_location() #14
  %5473 = load i32, ptr %5472, align 4, !tbaa !5
  %5474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5475 = call i32 @s2n_print_stacktrace(ptr noundef %5474) #13
  %5476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5477 = trunc nuw i8 %5476 to i1
  br i1 %5477, label %5478, label %5482

5478:                                             ; preds = %5471
  %5479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5480 = call i32 @fileno(ptr noundef %5479) #13
  %5481 = call i32 @isatty(i32 noundef %5480) #13
  %.not1759 = icmp eq i32 %5481, 0
  br i1 %.not1759, label %5482, label %5483

5482:                                             ; preds = %5478, %5471
  br label %5483

5483:                                             ; preds = %5478, %5482
  %.str.5.sink3796 = phi ptr [ @.str.5, %5482 ], [ @.str.2, %5478 ]
  store i32 %5473, ptr %5472, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = load i32, ptr @test_count, align 4, !tbaa !5
  %5486 = load i32, ptr %2772, align 4, !tbaa !5
  %5487 = call ptr @s2n_strerror(i32 noundef %5486, ptr noundef nonnull @.str.4) #13
  %5488 = load i32, ptr %2772, align 4, !tbaa !5
  %5489 = call ptr @s2n_strerror_debug(i32 noundef %5488, ptr noundef nonnull @.str.4) #13
  %5490 = load i32, ptr %5472, align 4, !tbaa !5
  %5491 = call ptr @strerror(i32 noundef %5490) #13
  %5492 = load i32, ptr %5472, align 4, !tbaa !5
  %5493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5484, ptr noundef nonnull %.str.5.sink3796, i32 noundef %5485, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 834, ptr noundef %5487, ptr noundef %5489, ptr noundef %5491, i32 noundef %5492) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5494:                                             ; preds = %5466
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = add nsw i32 %5495, 1
  store i32 %5496, ptr @test_count, align 4, !tbaa !5
  %5497 = call i32 @s2n_connection_free(ptr noundef nonnull %4932) #13
  %5498 = icmp eq i32 %5497, -1
  br i1 %5498, label %5499, label %5522

5499:                                             ; preds = %5494
  %5500 = tail call ptr @__errno_location() #14
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5503 = call i32 @s2n_print_stacktrace(ptr noundef %5502) #13
  %5504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5505 = trunc nuw i8 %5504 to i1
  br i1 %5505, label %5506, label %5510

5506:                                             ; preds = %5499
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = call i32 @fileno(ptr noundef %5507) #13
  %5509 = call i32 @isatty(i32 noundef %5508) #13
  %.not1758 = icmp eq i32 %5509, 0
  br i1 %.not1758, label %5510, label %5511

5510:                                             ; preds = %5506, %5499
  br label %5511

5511:                                             ; preds = %5506, %5510
  %.str.5.sink3805 = phi ptr [ @.str.5, %5510 ], [ @.str.2, %5506 ]
  store i32 %5501, ptr %5500, align 4, !tbaa !5
  %5512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5513 = load i32, ptr @test_count, align 4, !tbaa !5
  %5514 = load i32, ptr %2772, align 4, !tbaa !5
  %5515 = call ptr @s2n_strerror(i32 noundef %5514, ptr noundef nonnull @.str.4) #13
  %5516 = load i32, ptr %2772, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror_debug(i32 noundef %5516, ptr noundef nonnull @.str.4) #13
  %5518 = load i32, ptr %5500, align 4, !tbaa !5
  %5519 = call ptr @strerror(i32 noundef %5518) #13
  %5520 = load i32, ptr %5500, align 4, !tbaa !5
  %5521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5512, ptr noundef nonnull %.str.5.sink3805, i32 noundef %5513, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 835, ptr noundef %5515, ptr noundef %5517, ptr noundef %5519, i32 noundef %5520) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5522:                                             ; preds = %5494
  %5523 = load i32, ptr @test_count, align 4, !tbaa !5
  %5524 = add nsw i32 %5523, 1
  store i32 %5524, ptr @test_count, align 4, !tbaa !5
  %5525 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %5190) #13
  %5526 = icmp eq i32 %5525, -1
  br i1 %5526, label %5527, label %5550

5527:                                             ; preds = %5522
  %5528 = tail call ptr @__errno_location() #14
  %5529 = load i32, ptr %5528, align 4, !tbaa !5
  %5530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5531 = call i32 @s2n_print_stacktrace(ptr noundef %5530) #13
  %5532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5533 = trunc nuw i8 %5532 to i1
  br i1 %5533, label %5534, label %5538

5534:                                             ; preds = %5527
  %5535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5536 = call i32 @fileno(ptr noundef %5535) #13
  %5537 = call i32 @isatty(i32 noundef %5536) #13
  %.not1757 = icmp eq i32 %5537, 0
  br i1 %.not1757, label %5538, label %5539

5538:                                             ; preds = %5534, %5527
  br label %5539

5539:                                             ; preds = %5534, %5538
  %.str.5.sink3814 = phi ptr [ @.str.5, %5538 ], [ @.str.2, %5534 ]
  store i32 %5529, ptr %5528, align 4, !tbaa !5
  %5540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5541 = load i32, ptr @test_count, align 4, !tbaa !5
  %5542 = load i32, ptr %2772, align 4, !tbaa !5
  %5543 = call ptr @s2n_strerror(i32 noundef %5542, ptr noundef nonnull @.str.4) #13
  %5544 = load i32, ptr %2772, align 4, !tbaa !5
  %5545 = call ptr @s2n_strerror_debug(i32 noundef %5544, ptr noundef nonnull @.str.4) #13
  %5546 = load i32, ptr %5528, align 4, !tbaa !5
  %5547 = call ptr @strerror(i32 noundef %5546) #13
  %5548 = load i32, ptr %5528, align 4, !tbaa !5
  %5549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5540, ptr noundef nonnull %.str.5.sink3814, i32 noundef %5541, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 837, ptr noundef %5543, ptr noundef %5545, ptr noundef %5547, i32 noundef %5548) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5550:                                             ; preds = %5522
  %5551 = load i32, ptr @test_count, align 4, !tbaa !5
  %5552 = add nsw i32 %5551, 1
  store i32 %5552, ptr @test_count, align 4, !tbaa !5
  %5553 = call i32 @s2n_config_free(ptr noundef nonnull %5106) #13
  %5554 = icmp eq i32 %5553, -1
  br i1 %5554, label %5555, label %5578

5555:                                             ; preds = %5550
  %5556 = tail call ptr @__errno_location() #14
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5559 = call i32 @s2n_print_stacktrace(ptr noundef %5558) #13
  %5560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5561 = trunc nuw i8 %5560 to i1
  br i1 %5561, label %5562, label %5566

5562:                                             ; preds = %5555
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = call i32 @fileno(ptr noundef %5563) #13
  %5565 = call i32 @isatty(i32 noundef %5564) #13
  %.not1756 = icmp eq i32 %5565, 0
  br i1 %.not1756, label %5566, label %5567

5566:                                             ; preds = %5562, %5555
  br label %5567

5567:                                             ; preds = %5562, %5566
  %.str.5.sink3823 = phi ptr [ @.str.5, %5566 ], [ @.str.2, %5562 ]
  store i32 %5557, ptr %5556, align 4, !tbaa !5
  %5568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5569 = load i32, ptr @test_count, align 4, !tbaa !5
  %5570 = load i32, ptr %2772, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror(i32 noundef %5570, ptr noundef nonnull @.str.4) #13
  %5572 = load i32, ptr %2772, align 4, !tbaa !5
  %5573 = call ptr @s2n_strerror_debug(i32 noundef %5572, ptr noundef nonnull @.str.4) #13
  %5574 = load i32, ptr %5556, align 4, !tbaa !5
  %5575 = call ptr @strerror(i32 noundef %5574) #13
  %5576 = load i32, ptr %5556, align 4, !tbaa !5
  %5577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5568, ptr noundef nonnull %.str.5.sink3823, i32 noundef %5569, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 839, ptr noundef %5571, ptr noundef %5573, ptr noundef %5575, i32 noundef %5576) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5578:                                             ; preds = %5550
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = add nsw i32 %5579, 1
  store i32 %5580, ptr @test_count, align 4, !tbaa !5
  %5581 = call i32 @s2n_config_free(ptr noundef nonnull %4848) #13
  %5582 = icmp eq i32 %5581, -1
  br i1 %5582, label %5583, label %5606

5583:                                             ; preds = %5578
  %5584 = tail call ptr @__errno_location() #14
  %5585 = load i32, ptr %5584, align 4, !tbaa !5
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = call i32 @s2n_print_stacktrace(ptr noundef %5586) #13
  %5588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5589 = trunc nuw i8 %5588 to i1
  br i1 %5589, label %5590, label %5594

5590:                                             ; preds = %5583
  %5591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5592 = call i32 @fileno(ptr noundef %5591) #13
  %5593 = call i32 @isatty(i32 noundef %5592) #13
  %.not1755 = icmp eq i32 %5593, 0
  br i1 %.not1755, label %5594, label %5595

5594:                                             ; preds = %5590, %5583
  br label %5595

5595:                                             ; preds = %5590, %5594
  %.str.5.sink3832 = phi ptr [ @.str.5, %5594 ], [ @.str.2, %5590 ]
  store i32 %5585, ptr %5584, align 4, !tbaa !5
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = load i32, ptr @test_count, align 4, !tbaa !5
  %5598 = load i32, ptr %2772, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror(i32 noundef %5598, ptr noundef nonnull @.str.4) #13
  %5600 = load i32, ptr %2772, align 4, !tbaa !5
  %5601 = call ptr @s2n_strerror_debug(i32 noundef %5600, ptr noundef nonnull @.str.4) #13
  %5602 = load i32, ptr %5584, align 4, !tbaa !5
  %5603 = call ptr @strerror(i32 noundef %5602) #13
  %5604 = load i32, ptr %5584, align 4, !tbaa !5
  %5605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5596, ptr noundef nonnull %.str.5.sink3832, i32 noundef %5597, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 840, ptr noundef %5599, ptr noundef %5601, ptr noundef %5603, i32 noundef %5604) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5606:                                             ; preds = %5578
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #13
  br label %5607

5607:                                             ; preds = %5606, %4843
  %5608 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1527 = icmp eq i8 %5608, 0
  br i1 %.not1527, label %6321, label %5609

5609:                                             ; preds = %5607
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #13
  store i32 0, ptr %25, align 4, !tbaa !5
  %5610 = load i32, ptr @test_count, align 4, !tbaa !5
  %5611 = add nsw i32 %5610, 1
  store i32 %5611, ptr @test_count, align 4, !tbaa !5
  %5612 = call ptr @s2n_config_new() #13
  %5613 = icmp eq ptr %5612, null
  br i1 %5613, label %5614, label %5637

5614:                                             ; preds = %5609
  %5615 = tail call ptr @__errno_location() #14
  %5616 = load i32, ptr %5615, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = call i32 @s2n_print_stacktrace(ptr noundef %5617) #13
  %5619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5620 = trunc nuw i8 %5619 to i1
  br i1 %5620, label %5621, label %5625

5621:                                             ; preds = %5614
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @fileno(ptr noundef %5622) #13
  %5624 = call i32 @isatty(i32 noundef %5623) #13
  %.not1754 = icmp eq i32 %5624, 0
  br i1 %.not1754, label %5625, label %5626

5625:                                             ; preds = %5621, %5614
  br label %5626

5626:                                             ; preds = %5621, %5625
  %.str.5.sink3841 = phi ptr [ @.str.5, %5625 ], [ @.str.2, %5621 ]
  store i32 %5616, ptr %5615, align 4, !tbaa !5
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = load i32, ptr @test_count, align 4, !tbaa !5
  %5629 = load i32, ptr %2772, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror(i32 noundef %5629, ptr noundef nonnull @.str.4) #13
  %5631 = load i32, ptr %2772, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef nonnull @.str.4) #13
  %5633 = load i32, ptr %5615, align 4, !tbaa !5
  %5634 = call ptr @strerror(i32 noundef %5633) #13
  %5635 = load i32, ptr %5615, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5627, ptr noundef nonnull %.str.5.sink3841, i32 noundef %5628, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 852, ptr noundef %5630, ptr noundef %5632, ptr noundef %5634, i32 noundef %5635) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5637:                                             ; preds = %5609
  %5638 = load i32, ptr @test_count, align 4, !tbaa !5
  %5639 = add nsw i32 %5638, 1
  store i32 %5639, ptr @test_count, align 4, !tbaa !5
  %5640 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %5612, i8 noundef zeroext 0) #13
  %5641 = icmp eq i32 %5640, -1
  br i1 %5641, label %5642, label %5665

5642:                                             ; preds = %5637
  %5643 = tail call ptr @__errno_location() #14
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5646 = call i32 @s2n_print_stacktrace(ptr noundef %5645) #13
  %5647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5648 = trunc nuw i8 %5647 to i1
  br i1 %5648, label %5649, label %5653

5649:                                             ; preds = %5642
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5651 = call i32 @fileno(ptr noundef %5650) #13
  %5652 = call i32 @isatty(i32 noundef %5651) #13
  %.not1753 = icmp eq i32 %5652, 0
  br i1 %.not1753, label %5653, label %5654

5653:                                             ; preds = %5649, %5642
  br label %5654

5654:                                             ; preds = %5649, %5653
  %.str.5.sink3850 = phi ptr [ @.str.5, %5653 ], [ @.str.2, %5649 ]
  store i32 %5644, ptr %5643, align 4, !tbaa !5
  %5655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5656 = load i32, ptr @test_count, align 4, !tbaa !5
  %5657 = load i32, ptr %2772, align 4, !tbaa !5
  %5658 = call ptr @s2n_strerror(i32 noundef %5657, ptr noundef nonnull @.str.4) #13
  %5659 = load i32, ptr %2772, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror_debug(i32 noundef %5659, ptr noundef nonnull @.str.4) #13
  %5661 = load i32, ptr %5643, align 4, !tbaa !5
  %5662 = call ptr @strerror(i32 noundef %5661) #13
  %5663 = load i32, ptr %5643, align 4, !tbaa !5
  %5664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5655, ptr noundef nonnull %.str.5.sink3850, i32 noundef %5656, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 853, ptr noundef %5658, ptr noundef %5660, ptr noundef %5662, i32 noundef %5663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5665:                                             ; preds = %5637
  %5666 = load i32, ptr @test_count, align 4, !tbaa !5
  %5667 = add nsw i32 %5666, 1
  store i32 %5667, ptr @test_count, align 4, !tbaa !5
  %5668 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %5612) #13
  %5669 = icmp eq i32 %5668, -1
  br i1 %5669, label %5670, label %5693

5670:                                             ; preds = %5665
  %5671 = tail call ptr @__errno_location() #14
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  %5673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5674 = call i32 @s2n_print_stacktrace(ptr noundef %5673) #13
  %5675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5676 = trunc nuw i8 %5675 to i1
  br i1 %5676, label %5677, label %5681

5677:                                             ; preds = %5670
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = call i32 @fileno(ptr noundef %5678) #13
  %5680 = call i32 @isatty(i32 noundef %5679) #13
  %.not1752 = icmp eq i32 %5680, 0
  br i1 %.not1752, label %5681, label %5682

5681:                                             ; preds = %5677, %5670
  br label %5682

5682:                                             ; preds = %5677, %5681
  %.str.5.sink3859 = phi ptr [ @.str.5, %5681 ], [ @.str.2, %5677 ]
  store i32 %5672, ptr %5671, align 4, !tbaa !5
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = load i32, ptr @test_count, align 4, !tbaa !5
  %5685 = load i32, ptr %2772, align 4, !tbaa !5
  %5686 = call ptr @s2n_strerror(i32 noundef %5685, ptr noundef nonnull @.str.4) #13
  %5687 = load i32, ptr %2772, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror_debug(i32 noundef %5687, ptr noundef nonnull @.str.4) #13
  %5689 = load i32, ptr %5671, align 4, !tbaa !5
  %5690 = call ptr @strerror(i32 noundef %5689) #13
  %5691 = load i32, ptr %5671, align 4, !tbaa !5
  %5692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5683, ptr noundef nonnull %.str.5.sink3859, i32 noundef %5684, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 854, ptr noundef %5686, ptr noundef %5688, ptr noundef %5690, i32 noundef %5691) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5693:                                             ; preds = %5665
  %5694 = load i32, ptr @test_count, align 4, !tbaa !5
  %5695 = add nsw i32 %5694, 1
  store i32 %5695, ptr @test_count, align 4, !tbaa !5
  %5696 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %5612, i32 noundef 1) #13
  %5697 = icmp eq i32 %5696, -1
  br i1 %5697, label %5698, label %5721

5698:                                             ; preds = %5693
  %5699 = tail call ptr @__errno_location() #14
  %5700 = load i32, ptr %5699, align 4, !tbaa !5
  %5701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5702 = call i32 @s2n_print_stacktrace(ptr noundef %5701) #13
  %5703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5704 = trunc nuw i8 %5703 to i1
  br i1 %5704, label %5705, label %5709

5705:                                             ; preds = %5698
  %5706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5707 = call i32 @fileno(ptr noundef %5706) #13
  %5708 = call i32 @isatty(i32 noundef %5707) #13
  %.not1751 = icmp eq i32 %5708, 0
  br i1 %.not1751, label %5709, label %5710

5709:                                             ; preds = %5705, %5698
  br label %5710

5710:                                             ; preds = %5705, %5709
  %.str.5.sink3868 = phi ptr [ @.str.5, %5709 ], [ @.str.2, %5705 ]
  store i32 %5700, ptr %5699, align 4, !tbaa !5
  %5711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5712 = load i32, ptr @test_count, align 4, !tbaa !5
  %5713 = load i32, ptr %2772, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror(i32 noundef %5713, ptr noundef nonnull @.str.4) #13
  %5715 = load i32, ptr %2772, align 4, !tbaa !5
  %5716 = call ptr @s2n_strerror_debug(i32 noundef %5715, ptr noundef nonnull @.str.4) #13
  %5717 = load i32, ptr %5699, align 4, !tbaa !5
  %5718 = call ptr @strerror(i32 noundef %5717) #13
  %5719 = load i32, ptr %5699, align 4, !tbaa !5
  %5720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5711, ptr noundef nonnull %.str.5.sink3868, i32 noundef %5712, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 855, ptr noundef %5714, ptr noundef %5716, ptr noundef %5718, i32 noundef %5719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5721:                                             ; preds = %5693
  %5722 = load i32, ptr @test_count, align 4, !tbaa !5
  %5723 = add nsw i32 %5722, 1
  store i32 %5723, ptr @test_count, align 4, !tbaa !5
  %5724 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %5725 = icmp eq ptr %5724, null
  br i1 %5725, label %5726, label %5749

5726:                                             ; preds = %5721
  %5727 = tail call ptr @__errno_location() #14
  %5728 = load i32, ptr %5727, align 4, !tbaa !5
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = call i32 @s2n_print_stacktrace(ptr noundef %5729) #13
  %5731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5732 = trunc nuw i8 %5731 to i1
  br i1 %5732, label %5733, label %5737

5733:                                             ; preds = %5726
  %5734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5735 = call i32 @fileno(ptr noundef %5734) #13
  %5736 = call i32 @isatty(i32 noundef %5735) #13
  %.not1750 = icmp eq i32 %5736, 0
  br i1 %.not1750, label %5737, label %5738

5737:                                             ; preds = %5733, %5726
  br label %5738

5738:                                             ; preds = %5733, %5737
  %.str.5.sink3877 = phi ptr [ @.str.5, %5737 ], [ @.str.2, %5733 ]
  store i32 %5728, ptr %5727, align 4, !tbaa !5
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = load i32, ptr %2772, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror(i32 noundef %5741, ptr noundef nonnull @.str.4) #13
  %5743 = load i32, ptr %2772, align 4, !tbaa !5
  %5744 = call ptr @s2n_strerror_debug(i32 noundef %5743, ptr noundef nonnull @.str.4) #13
  %5745 = load i32, ptr %5727, align 4, !tbaa !5
  %5746 = call ptr @strerror(i32 noundef %5745) #13
  %5747 = load i32, ptr %5727, align 4, !tbaa !5
  %5748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5739, ptr noundef nonnull %.str.5.sink3877, i32 noundef %5740, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 857, ptr noundef %5742, ptr noundef %5744, ptr noundef %5746, i32 noundef %5747) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5749:                                             ; preds = %5721
  %5750 = load i32, ptr @test_count, align 4, !tbaa !5
  %5751 = add nsw i32 %5750, 1
  store i32 %5751, ptr @test_count, align 4, !tbaa !5
  %5752 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5724, ptr noundef nonnull %5612) #13
  %5753 = icmp eq i32 %5752, -1
  br i1 %5753, label %5754, label %5777

5754:                                             ; preds = %5749
  %5755 = tail call ptr @__errno_location() #14
  %5756 = load i32, ptr %5755, align 4, !tbaa !5
  %5757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5758 = call i32 @s2n_print_stacktrace(ptr noundef %5757) #13
  %5759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5760 = trunc nuw i8 %5759 to i1
  br i1 %5760, label %5761, label %5765

5761:                                             ; preds = %5754
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = call i32 @fileno(ptr noundef %5762) #13
  %5764 = call i32 @isatty(i32 noundef %5763) #13
  %.not1749 = icmp eq i32 %5764, 0
  br i1 %.not1749, label %5765, label %5766

5765:                                             ; preds = %5761, %5754
  br label %5766

5766:                                             ; preds = %5761, %5765
  %.str.5.sink3886 = phi ptr [ @.str.5, %5765 ], [ @.str.2, %5761 ]
  store i32 %5756, ptr %5755, align 4, !tbaa !5
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = load i32, ptr %2772, align 4, !tbaa !5
  %5770 = call ptr @s2n_strerror(i32 noundef %5769, ptr noundef nonnull @.str.4) #13
  %5771 = load i32, ptr %2772, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror_debug(i32 noundef %5771, ptr noundef nonnull @.str.4) #13
  %5773 = load i32, ptr %5755, align 4, !tbaa !5
  %5774 = call ptr @strerror(i32 noundef %5773) #13
  %5775 = load i32, ptr %5755, align 4, !tbaa !5
  %5776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5767, ptr noundef nonnull %.str.5.sink3886, i32 noundef %5768, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 858, ptr noundef %5770, ptr noundef %5772, ptr noundef %5774, i32 noundef %5775) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5777:                                             ; preds = %5749
  %5778 = load i32, ptr @test_count, align 4, !tbaa !5
  %5779 = add nsw i32 %5778, 1
  store i32 %5779, ptr @test_count, align 4, !tbaa !5
  %5780 = call ptr @s2n_config_new() #13
  %5781 = icmp eq ptr %5780, null
  br i1 %5781, label %5782, label %5805

5782:                                             ; preds = %5777
  %5783 = tail call ptr @__errno_location() #14
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5786 = call i32 @s2n_print_stacktrace(ptr noundef %5785) #13
  %5787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5788 = trunc nuw i8 %5787 to i1
  br i1 %5788, label %5789, label %5793

5789:                                             ; preds = %5782
  %5790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5791 = call i32 @fileno(ptr noundef %5790) #13
  %5792 = call i32 @isatty(i32 noundef %5791) #13
  %.not1748 = icmp eq i32 %5792, 0
  br i1 %.not1748, label %5793, label %5794

5793:                                             ; preds = %5789, %5782
  br label %5794

5794:                                             ; preds = %5789, %5793
  %.str.5.sink3895 = phi ptr [ @.str.5, %5793 ], [ @.str.2, %5789 ]
  store i32 %5784, ptr %5783, align 4, !tbaa !5
  %5795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5796 = load i32, ptr @test_count, align 4, !tbaa !5
  %5797 = load i32, ptr %2772, align 4, !tbaa !5
  %5798 = call ptr @s2n_strerror(i32 noundef %5797, ptr noundef nonnull @.str.4) #13
  %5799 = load i32, ptr %2772, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef nonnull @.str.4) #13
  %5801 = load i32, ptr %5783, align 4, !tbaa !5
  %5802 = call ptr @strerror(i32 noundef %5801) #13
  %5803 = load i32, ptr %5783, align 4, !tbaa !5
  %5804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5795, ptr noundef nonnull %.str.5.sink3895, i32 noundef %5796, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 860, ptr noundef %5798, ptr noundef %5800, ptr noundef %5802, i32 noundef %5803) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5805:                                             ; preds = %5777
  %5806 = load i32, ptr @test_count, align 4, !tbaa !5
  %5807 = add nsw i32 %5806, 1
  store i32 %5807, ptr @test_count, align 4, !tbaa !5
  %5808 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef nonnull %149, i64 noundef 12000) #13
  %5809 = icmp eq i32 %5808, -1
  br i1 %5809, label %5810, label %5833

5810:                                             ; preds = %5805
  %5811 = tail call ptr @__errno_location() #14
  %5812 = load i32, ptr %5811, align 4, !tbaa !5
  %5813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5814 = call i32 @s2n_print_stacktrace(ptr noundef %5813) #13
  %5815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5816 = trunc nuw i8 %5815 to i1
  br i1 %5816, label %5817, label %5821

5817:                                             ; preds = %5810
  %5818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5819 = call i32 @fileno(ptr noundef %5818) #13
  %5820 = call i32 @isatty(i32 noundef %5819) #13
  %.not1747 = icmp eq i32 %5820, 0
  br i1 %.not1747, label %5821, label %5822

5821:                                             ; preds = %5817, %5810
  br label %5822

5822:                                             ; preds = %5817, %5821
  %.str.5.sink3904 = phi ptr [ @.str.5, %5821 ], [ @.str.2, %5817 ]
  store i32 %5812, ptr %5811, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = load i32, ptr @test_count, align 4, !tbaa !5
  %5825 = load i32, ptr %2772, align 4, !tbaa !5
  %5826 = call ptr @s2n_strerror(i32 noundef %5825, ptr noundef nonnull @.str.4) #13
  %5827 = load i32, ptr %2772, align 4, !tbaa !5
  %5828 = call ptr @s2n_strerror_debug(i32 noundef %5827, ptr noundef nonnull @.str.4) #13
  %5829 = load i32, ptr %5811, align 4, !tbaa !5
  %5830 = call ptr @strerror(i32 noundef %5829) #13
  %5831 = load i32, ptr %5811, align 4, !tbaa !5
  %5832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5823, ptr noundef nonnull %.str.5.sink3904, i32 noundef %5824, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 861, ptr noundef %5826, ptr noundef %5828, ptr noundef %5830, i32 noundef %5831) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5833:                                             ; preds = %5805
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = add nsw i32 %5834, 1
  store i32 %5835, ptr @test_count, align 4, !tbaa !5
  %5836 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef nonnull %177, i64 noundef 12000) #13
  %5837 = icmp eq i32 %5836, -1
  br i1 %5837, label %5838, label %5861

5838:                                             ; preds = %5833
  %5839 = tail call ptr @__errno_location() #14
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = call i32 @s2n_print_stacktrace(ptr noundef %5841) #13
  %5843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5844 = trunc nuw i8 %5843 to i1
  br i1 %5844, label %5845, label %5849

5845:                                             ; preds = %5838
  %5846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5847 = call i32 @fileno(ptr noundef %5846) #13
  %5848 = call i32 @isatty(i32 noundef %5847) #13
  %.not1746 = icmp eq i32 %5848, 0
  br i1 %.not1746, label %5849, label %5850

5849:                                             ; preds = %5845, %5838
  br label %5850

5850:                                             ; preds = %5845, %5849
  %.str.5.sink3913 = phi ptr [ @.str.5, %5849 ], [ @.str.2, %5845 ]
  store i32 %5840, ptr %5839, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = load i32, ptr %2772, align 4, !tbaa !5
  %5854 = call ptr @s2n_strerror(i32 noundef %5853, ptr noundef nonnull @.str.4) #13
  %5855 = load i32, ptr %2772, align 4, !tbaa !5
  %5856 = call ptr @s2n_strerror_debug(i32 noundef %5855, ptr noundef nonnull @.str.4) #13
  %5857 = load i32, ptr %5839, align 4, !tbaa !5
  %5858 = call ptr @strerror(i32 noundef %5857) #13
  %5859 = load i32, ptr %5839, align 4, !tbaa !5
  %5860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5851, ptr noundef nonnull %.str.5.sink3913, i32 noundef %5852, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 862, ptr noundef %5854, ptr noundef %5856, ptr noundef %5858, i32 noundef %5859) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5861:                                             ; preds = %5833
  %5862 = load i32, ptr @test_count, align 4, !tbaa !5
  %5863 = add nsw i32 %5862, 1
  store i32 %5863, ptr @test_count, align 4, !tbaa !5
  %5864 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %5780, ptr noundef nonnull %149, ptr noundef nonnull %177) #13
  %5865 = icmp eq i32 %5864, -1
  br i1 %5865, label %5866, label %5889

5866:                                             ; preds = %5861
  %5867 = tail call ptr @__errno_location() #14
  %5868 = load i32, ptr %5867, align 4, !tbaa !5
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = call i32 @s2n_print_stacktrace(ptr noundef %5869) #13
  %5871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5872 = trunc nuw i8 %5871 to i1
  br i1 %5872, label %5873, label %5877

5873:                                             ; preds = %5866
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = call i32 @fileno(ptr noundef %5874) #13
  %5876 = call i32 @isatty(i32 noundef %5875) #13
  %.not1745 = icmp eq i32 %5876, 0
  br i1 %.not1745, label %5877, label %5878

5877:                                             ; preds = %5873, %5866
  br label %5878

5878:                                             ; preds = %5873, %5877
  %.str.5.sink3922 = phi ptr [ @.str.5, %5877 ], [ @.str.2, %5873 ]
  store i32 %5868, ptr %5867, align 4, !tbaa !5
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = load i32, ptr @test_count, align 4, !tbaa !5
  %5881 = load i32, ptr %2772, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror(i32 noundef %5881, ptr noundef nonnull @.str.4) #13
  %5883 = load i32, ptr %2772, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror_debug(i32 noundef %5883, ptr noundef nonnull @.str.4) #13
  %5885 = load i32, ptr %5867, align 4, !tbaa !5
  %5886 = call ptr @strerror(i32 noundef %5885) #13
  %5887 = load i32, ptr %5867, align 4, !tbaa !5
  %5888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5879, ptr noundef nonnull %.str.5.sink3922, i32 noundef %5880, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 863, ptr noundef %5882, ptr noundef %5884, ptr noundef %5886, i32 noundef %5887) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5889:                                             ; preds = %5861
  %5890 = load i32, ptr @test_count, align 4, !tbaa !5
  %5891 = add nsw i32 %5890, 1
  store i32 %5891, ptr @test_count, align 4, !tbaa !5
  %5892 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %5780, i32 noundef 5, ptr noundef nonnull @server_ocsp_status_bytes, i32 noundef 1609) #13
  %5893 = icmp eq i32 %5892, -1
  br i1 %5893, label %5894, label %5917

5894:                                             ; preds = %5889
  %5895 = tail call ptr @__errno_location() #14
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5898 = call i32 @s2n_print_stacktrace(ptr noundef %5897) #13
  %5899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5900 = trunc nuw i8 %5899 to i1
  br i1 %5900, label %5901, label %5905

5901:                                             ; preds = %5894
  %5902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5903 = call i32 @fileno(ptr noundef %5902) #13
  %5904 = call i32 @isatty(i32 noundef %5903) #13
  %.not1744 = icmp eq i32 %5904, 0
  br i1 %.not1744, label %5905, label %5906

5905:                                             ; preds = %5901, %5894
  br label %5906

5906:                                             ; preds = %5901, %5905
  %.str.5.sink3931 = phi ptr [ @.str.5, %5905 ], [ @.str.2, %5901 ]
  store i32 %5896, ptr %5895, align 4, !tbaa !5
  %5907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5908 = load i32, ptr @test_count, align 4, !tbaa !5
  %5909 = load i32, ptr %2772, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror(i32 noundef %5909, ptr noundef nonnull @.str.4) #13
  %5911 = load i32, ptr %2772, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror_debug(i32 noundef %5911, ptr noundef nonnull @.str.4) #13
  %5913 = load i32, ptr %5895, align 4, !tbaa !5
  %5914 = call ptr @strerror(i32 noundef %5913) #13
  %5915 = load i32, ptr %5895, align 4, !tbaa !5
  %5916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5907, ptr noundef nonnull %.str.5.sink3931, i32 noundef %5908, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 865, ptr noundef %5910, ptr noundef %5912, ptr noundef %5914, i32 noundef %5915) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5917:                                             ; preds = %5889
  %5918 = load i32, ptr @test_count, align 4, !tbaa !5
  %5919 = add nsw i32 %5918, 1
  store i32 %5919, ptr @test_count, align 4, !tbaa !5
  %5920 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %5921 = icmp eq ptr %5920, null
  br i1 %5921, label %5922, label %5945

5922:                                             ; preds = %5917
  %5923 = tail call ptr @__errno_location() #14
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = call i32 @s2n_print_stacktrace(ptr noundef %5925) #13
  %5927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5928 = trunc nuw i8 %5927 to i1
  br i1 %5928, label %5929, label %5933

5929:                                             ; preds = %5922
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = call i32 @fileno(ptr noundef %5930) #13
  %5932 = call i32 @isatty(i32 noundef %5931) #13
  %.not1743 = icmp eq i32 %5932, 0
  br i1 %.not1743, label %5933, label %5934

5933:                                             ; preds = %5929, %5922
  br label %5934

5934:                                             ; preds = %5929, %5933
  %.str.5.sink3940 = phi ptr [ @.str.5, %5933 ], [ @.str.2, %5929 ]
  store i32 %5924, ptr %5923, align 4, !tbaa !5
  %5935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5936 = load i32, ptr @test_count, align 4, !tbaa !5
  %5937 = load i32, ptr %2772, align 4, !tbaa !5
  %5938 = call ptr @s2n_strerror(i32 noundef %5937, ptr noundef nonnull @.str.4) #13
  %5939 = load i32, ptr %2772, align 4, !tbaa !5
  %5940 = call ptr @s2n_strerror_debug(i32 noundef %5939, ptr noundef nonnull @.str.4) #13
  %5941 = load i32, ptr %5923, align 4, !tbaa !5
  %5942 = call ptr @strerror(i32 noundef %5941) #13
  %5943 = load i32, ptr %5923, align 4, !tbaa !5
  %5944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5935, ptr noundef nonnull %.str.5.sink3940, i32 noundef %5936, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 867, ptr noundef %5938, ptr noundef %5940, ptr noundef %5942, i32 noundef %5943) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5945:                                             ; preds = %5917
  %5946 = load i32, ptr @test_count, align 4, !tbaa !5
  %5947 = add nsw i32 %5946, 1
  store i32 %5947, ptr @test_count, align 4, !tbaa !5
  %5948 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5920, ptr noundef nonnull %5780) #13
  %5949 = icmp eq i32 %5948, -1
  br i1 %5949, label %5950, label %5973

5950:                                             ; preds = %5945
  %5951 = tail call ptr @__errno_location() #14
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5954 = call i32 @s2n_print_stacktrace(ptr noundef %5953) #13
  %5955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5956 = trunc nuw i8 %5955 to i1
  br i1 %5956, label %5957, label %5961

5957:                                             ; preds = %5950
  %5958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5959 = call i32 @fileno(ptr noundef %5958) #13
  %5960 = call i32 @isatty(i32 noundef %5959) #13
  %.not1742 = icmp eq i32 %5960, 0
  br i1 %.not1742, label %5961, label %5962

5961:                                             ; preds = %5957, %5950
  br label %5962

5962:                                             ; preds = %5957, %5961
  %.str.5.sink3949 = phi ptr [ @.str.5, %5961 ], [ @.str.2, %5957 ]
  store i32 %5952, ptr %5951, align 4, !tbaa !5
  %5963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5964 = load i32, ptr @test_count, align 4, !tbaa !5
  %5965 = load i32, ptr %2772, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror(i32 noundef %5965, ptr noundef nonnull @.str.4) #13
  %5967 = load i32, ptr %2772, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror_debug(i32 noundef %5967, ptr noundef nonnull @.str.4) #13
  %5969 = load i32, ptr %5951, align 4, !tbaa !5
  %5970 = call ptr @strerror(i32 noundef %5969) #13
  %5971 = load i32, ptr %5951, align 4, !tbaa !5
  %5972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5963, ptr noundef nonnull %.str.5.sink3949, i32 noundef %5964, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 868, ptr noundef %5966, ptr noundef %5968, ptr noundef %5970, i32 noundef %5971) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5973:                                             ; preds = %5945
  %5974 = load i32, ptr @test_count, align 4, !tbaa !5
  %5975 = add nsw i32 %5974, 1
  store i32 %5975, ptr @test_count, align 4, !tbaa !5
  %5976 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %5724, ptr noundef nonnull %5920, ptr noundef nonnull %3) #13
  %5977 = icmp eq i32 %5976, -1
  br i1 %5977, label %5978, label %6001

5978:                                             ; preds = %5973
  %5979 = tail call ptr @__errno_location() #14
  %5980 = load i32, ptr %5979, align 4, !tbaa !5
  %5981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5982 = call i32 @s2n_print_stacktrace(ptr noundef %5981) #13
  %5983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5984 = trunc nuw i8 %5983 to i1
  br i1 %5984, label %5985, label %5989

5985:                                             ; preds = %5978
  %5986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5987 = call i32 @fileno(ptr noundef %5986) #13
  %5988 = call i32 @isatty(i32 noundef %5987) #13
  %.not1741 = icmp eq i32 %5988, 0
  br i1 %.not1741, label %5989, label %5990

5989:                                             ; preds = %5985, %5978
  br label %5990

5990:                                             ; preds = %5985, %5989
  %.str.5.sink3958 = phi ptr [ @.str.5, %5989 ], [ @.str.2, %5985 ]
  store i32 %5980, ptr %5979, align 4, !tbaa !5
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = load i32, ptr %2772, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror(i32 noundef %5993, ptr noundef nonnull @.str.4) #13
  %5995 = load i32, ptr %2772, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef nonnull @.str.4) #13
  %5997 = load i32, ptr %5979, align 4, !tbaa !5
  %5998 = call ptr @strerror(i32 noundef %5997) #13
  %5999 = load i32, ptr %5979, align 4, !tbaa !5
  %6000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5991, ptr noundef nonnull %.str.5.sink3958, i32 noundef %5992, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 870, ptr noundef %5994, ptr noundef %5996, ptr noundef %5998, i32 noundef %5999) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6001:                                             ; preds = %5973
  %6002 = load i32, ptr @test_count, align 4, !tbaa !5
  %6003 = add nsw i32 %6002, 1
  store i32 %6003, ptr @test_count, align 4, !tbaa !5
  %6004 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %5920, ptr noundef nonnull %5724) #13
  %6005 = icmp eq i32 %6004, -1
  br i1 %6005, label %6006, label %6029

6006:                                             ; preds = %6001
  %6007 = tail call ptr @__errno_location() #14
  %6008 = load i32, ptr %6007, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = call i32 @s2n_print_stacktrace(ptr noundef %6009) #13
  %6011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6012 = trunc nuw i8 %6011 to i1
  br i1 %6012, label %6013, label %6017

6013:                                             ; preds = %6006
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @fileno(ptr noundef %6014) #13
  %6016 = call i32 @isatty(i32 noundef %6015) #13
  %.not1740 = icmp eq i32 %6016, 0
  br i1 %.not1740, label %6017, label %6018

6017:                                             ; preds = %6013, %6006
  br label %6018

6018:                                             ; preds = %6013, %6017
  %.str.5.sink3967 = phi ptr [ @.str.5, %6017 ], [ @.str.2, %6013 ]
  store i32 %6008, ptr %6007, align 4, !tbaa !5
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = load i32, ptr @test_count, align 4, !tbaa !5
  %6021 = load i32, ptr %2772, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef nonnull @.str.4) #13
  %6023 = load i32, ptr %2772, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef nonnull @.str.4) #13
  %6025 = load i32, ptr %6007, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #13
  %6027 = load i32, ptr %6007, align 4, !tbaa !5
  %6028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6019, ptr noundef nonnull %.str.5.sink3967, i32 noundef %6020, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 872, ptr noundef %6022, ptr noundef %6024, ptr noundef %6026, i32 noundef %6027) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6029:                                             ; preds = %6001
  %6030 = load i32, ptr @test_count, align 4, !tbaa !5
  %6031 = add nsw i32 %6030, 1
  store i32 %6031, ptr @test_count, align 4, !tbaa !5
  %6032 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %5920) #13
  %6033 = icmp eq i32 %6032, 1
  br i1 %6033, label %6057, label %6034

6034:                                             ; preds = %6029
  %6035 = tail call ptr @__errno_location() #14
  %6036 = load i32, ptr %6035, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = call i32 @s2n_print_stacktrace(ptr noundef %6037) #13
  %6039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6040 = trunc nuw i8 %6039 to i1
  br i1 %6040, label %6041, label %6045

6041:                                             ; preds = %6034
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = call i32 @fileno(ptr noundef %6042) #13
  %6044 = call i32 @isatty(i32 noundef %6043) #13
  %.not1528 = icmp eq i32 %6044, 0
  br i1 %.not1528, label %6045, label %6046

6045:                                             ; preds = %6041, %6034
  br label %6046

6046:                                             ; preds = %6041, %6045
  %.str.5.sink3976 = phi ptr [ @.str.5, %6045 ], [ @.str.2, %6041 ]
  store i32 %6036, ptr %6035, align 4, !tbaa !5
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = load i32, ptr %2772, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror(i32 noundef %6049, ptr noundef nonnull @.str.4) #13
  %6051 = load i32, ptr %2772, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror_debug(i32 noundef %6051, ptr noundef nonnull @.str.4) #13
  %6053 = load i32, ptr %6035, align 4, !tbaa !5
  %6054 = call ptr @strerror(i32 noundef %6053) #13
  %6055 = load i32, ptr %6035, align 4, !tbaa !5
  %6056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6047, ptr noundef nonnull %.str.5.sink3976, i32 noundef %6048, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 875, ptr noundef %6050, ptr noundef %6052, ptr noundef %6054, i32 noundef %6055) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6057:                                             ; preds = %6029
  %6058 = load i32, ptr @test_count, align 4, !tbaa !5
  %6059 = add nsw i32 %6058, 1
  store i32 %6059, ptr @test_count, align 4, !tbaa !5
  %6060 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %5724) #13
  %6061 = icmp eq i32 %6060, 1
  br i1 %6061, label %6085, label %6062

6062:                                             ; preds = %6057
  %6063 = tail call ptr @__errno_location() #14
  %6064 = load i32, ptr %6063, align 4, !tbaa !5
  %6065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6066 = call i32 @s2n_print_stacktrace(ptr noundef %6065) #13
  %6067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6068 = trunc nuw i8 %6067 to i1
  br i1 %6068, label %6069, label %6073

6069:                                             ; preds = %6062
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = call i32 @fileno(ptr noundef %6070) #13
  %6072 = call i32 @isatty(i32 noundef %6071) #13
  %.not1529 = icmp eq i32 %6072, 0
  br i1 %.not1529, label %6073, label %6074

6073:                                             ; preds = %6069, %6062
  br label %6074

6074:                                             ; preds = %6069, %6073
  %.str.5.sink3985 = phi ptr [ @.str.5, %6073 ], [ @.str.2, %6069 ]
  store i32 %6064, ptr %6063, align 4, !tbaa !5
  %6075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = load i32, ptr %2772, align 4, !tbaa !5
  %6078 = call ptr @s2n_strerror(i32 noundef %6077, ptr noundef nonnull @.str.4) #13
  %6079 = load i32, ptr %2772, align 4, !tbaa !5
  %6080 = call ptr @s2n_strerror_debug(i32 noundef %6079, ptr noundef nonnull @.str.4) #13
  %6081 = load i32, ptr %6063, align 4, !tbaa !5
  %6082 = call ptr @strerror(i32 noundef %6081) #13
  %6083 = load i32, ptr %6063, align 4, !tbaa !5
  %6084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6075, ptr noundef nonnull %.str.5.sink3985, i32 noundef %6076, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 878, ptr noundef %6078, ptr noundef %6080, ptr noundef %6082, i32 noundef %6083) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6085:                                             ; preds = %6057
  %6086 = load i32, ptr @test_count, align 4, !tbaa !5
  %6087 = add nsw i32 %6086, 1
  store i32 %6087, ptr @test_count, align 4, !tbaa !5
  %6088 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %5724, ptr noundef nonnull %25) #13
  %6089 = icmp eq ptr %6088, null
  br i1 %6089, label %6090, label %6113

6090:                                             ; preds = %6085
  %6091 = tail call ptr @__errno_location() #14
  %6092 = load i32, ptr %6091, align 4, !tbaa !5
  %6093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6094 = call i32 @s2n_print_stacktrace(ptr noundef %6093) #13
  %6095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6096 = trunc nuw i8 %6095 to i1
  br i1 %6096, label %6097, label %6101

6097:                                             ; preds = %6090
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @fileno(ptr noundef %6098) #13
  %6100 = call i32 @isatty(i32 noundef %6099) #13
  %.not1739 = icmp eq i32 %6100, 0
  br i1 %.not1739, label %6101, label %6102

6101:                                             ; preds = %6097, %6090
  br label %6102

6102:                                             ; preds = %6097, %6101
  %.str.5.sink3994 = phi ptr [ @.str.5, %6101 ], [ @.str.2, %6097 ]
  store i32 %6092, ptr %6091, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = load i32, ptr %2772, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror(i32 noundef %6105, ptr noundef nonnull @.str.4) #13
  %6107 = load i32, ptr %2772, align 4, !tbaa !5
  %6108 = call ptr @s2n_strerror_debug(i32 noundef %6107, ptr noundef nonnull @.str.4) #13
  %6109 = load i32, ptr %6091, align 4, !tbaa !5
  %6110 = call ptr @strerror(i32 noundef %6109) #13
  %6111 = load i32, ptr %6091, align 4, !tbaa !5
  %6112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6103, ptr noundef nonnull %.str.5.sink3994, i32 noundef %6104, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 879, ptr noundef %6106, ptr noundef %6108, ptr noundef %6110, i32 noundef %6111) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6113:                                             ; preds = %6085
  %6114 = load i32, ptr @test_count, align 4, !tbaa !5
  %6115 = add nsw i32 %6114, 1
  store i32 %6115, ptr @test_count, align 4, !tbaa !5
  %6116 = load i32, ptr %25, align 4, !tbaa !5
  %6117 = icmp eq i32 %6116, 1609
  br i1 %6117, label %.preheader1906, label %6118

6118:                                             ; preds = %6113
  %6119 = tail call ptr @__errno_location() #14
  %6120 = load i32, ptr %6119, align 4, !tbaa !5
  %6121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6122 = call i32 @s2n_print_stacktrace(ptr noundef %6121) #13
  %6123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6124 = trunc nuw i8 %6123 to i1
  br i1 %6124, label %6125, label %6129

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

6129:                                             ; preds = %6125, %6118
  br label %6130

6130:                                             ; preds = %6125, %6129
  %.str.5.sink4003 = phi ptr [ @.str.5, %6129 ], [ @.str.2, %6125 ]
  store i32 %6120, ptr %6119, align 4, !tbaa !5
  %6131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6132 = load i32, ptr @test_count, align 4, !tbaa !5
  %6133 = load i32, ptr %2772, align 4, !tbaa !5
  %6134 = call ptr @s2n_strerror(i32 noundef %6133, ptr noundef nonnull @.str.4) #13
  %6135 = load i32, ptr %2772, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror_debug(i32 noundef %6135, ptr noundef nonnull @.str.4) #13
  %6137 = load i32, ptr %6119, align 4, !tbaa !5
  %6138 = call ptr @strerror(i32 noundef %6137) #13
  %6139 = load i32, ptr %6119, align 4, !tbaa !5
  %6140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6131, ptr noundef nonnull %.str.5.sink4003, i32 noundef %6132, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 880, ptr noundef %6134, ptr noundef %6136, ptr noundef %6138, i32 noundef %6139) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6141:                                             ; preds = %.preheader1906
  %exitcond.not = icmp eq i64 %.01907, 1608
  br i1 %exitcond.not, label %6151, label %.preheader1906.1, !llvm.loop !49

.preheader1906.1:                                 ; preds = %6141
  %6142 = or disjoint i64 %.01907, 1
  %6143 = add nsw i32 %6155, 2
  store i32 %6143, ptr @test_count, align 4, !tbaa !5
  %6144 = getelementptr inbounds i8, ptr %6088, i64 %6142
  %6145 = load i8, ptr %6144, align 1, !tbaa !44
  %6146 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %6142
  %6147 = load i8, ptr %6146, align 1, !tbaa !44
  %6148 = icmp eq i8 %6145, %6147
  br i1 %6148, label %6149, label %6162

6149:                                             ; preds = %.preheader1906.1
  %6150 = add nuw nsw i64 %.01907, 2
  br label %.preheader1906

6151:                                             ; preds = %6141
  %6152 = add nsw i32 %6155, 2
  store i32 %6152, ptr @test_count, align 4, !tbaa !5
  %6153 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %5920, ptr noundef nonnull %5724) #13
  %6154 = icmp eq i32 %6153, -1
  br i1 %6154, label %6185, label %6208

.preheader1906:                                   ; preds = %6113, %6149
  %.01907 = phi i64 [ %6150, %6149 ], [ 0, %6113 ]
  %6155 = phi i32 [ %6143, %6149 ], [ %6115, %6113 ]
  %6156 = add nsw i32 %6155, 1
  store i32 %6156, ptr @test_count, align 4, !tbaa !5
  %6157 = getelementptr inbounds i8, ptr %6088, i64 %.01907
  %6158 = load i8, ptr %6157, align 1, !tbaa !44
  %6159 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %.01907
  %6160 = load i8, ptr %6159, align 2, !tbaa !44
  %6161 = icmp eq i8 %6158, %6160
  br i1 %6161, label %6141, label %6162

6162:                                             ; preds = %.preheader1906.1, %.preheader1906
  %6163 = tail call ptr @__errno_location() #14
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = call i32 @s2n_print_stacktrace(ptr noundef %6165) #13
  %6167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6168 = trunc nuw i8 %6167 to i1
  br i1 %6168, label %6169, label %6173

6169:                                             ; preds = %6162
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = call i32 @fileno(ptr noundef %6170) #13
  %6172 = call i32 @isatty(i32 noundef %6171) #13
  %.not1738 = icmp eq i32 %6172, 0
  br i1 %.not1738, label %6173, label %6174

6173:                                             ; preds = %6169, %6162
  br label %6174

6174:                                             ; preds = %6169, %6173
  %.str.5.sink4012 = phi ptr [ @.str.5, %6173 ], [ @.str.2, %6169 ]
  store i32 %6164, ptr %6163, align 4, !tbaa !5
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = load i32, ptr @test_count, align 4, !tbaa !5
  %6177 = load i32, ptr %2772, align 4, !tbaa !5
  %6178 = call ptr @s2n_strerror(i32 noundef %6177, ptr noundef nonnull @.str.4) #13
  %6179 = load i32, ptr %2772, align 4, !tbaa !5
  %6180 = call ptr @s2n_strerror_debug(i32 noundef %6179, ptr noundef nonnull @.str.4) #13
  %6181 = load i32, ptr %6163, align 4, !tbaa !5
  %6182 = call ptr @strerror(i32 noundef %6181) #13
  %6183 = load i32, ptr %6163, align 4, !tbaa !5
  %6184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6175, ptr noundef nonnull %.str.5.sink4012, i32 noundef %6176, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 883, ptr noundef %6178, ptr noundef %6180, ptr noundef %6182, i32 noundef %6183) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6185:                                             ; preds = %6151
  %6186 = tail call ptr @__errno_location() #14
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = call i32 @s2n_print_stacktrace(ptr noundef %6188) #13
  %6190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6191 = trunc nuw i8 %6190 to i1
  br i1 %6191, label %6192, label %6196

6192:                                             ; preds = %6185
  %6193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6194 = call i32 @fileno(ptr noundef %6193) #13
  %6195 = call i32 @isatty(i32 noundef %6194) #13
  %.not1737 = icmp eq i32 %6195, 0
  br i1 %.not1737, label %6196, label %6197

6196:                                             ; preds = %6192, %6185
  br label %6197

6197:                                             ; preds = %6192, %6196
  %.str.5.sink4021 = phi ptr [ @.str.5, %6196 ], [ @.str.2, %6192 ]
  store i32 %6187, ptr %6186, align 4, !tbaa !5
  %6198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6199 = load i32, ptr @test_count, align 4, !tbaa !5
  %6200 = load i32, ptr %2772, align 4, !tbaa !5
  %6201 = call ptr @s2n_strerror(i32 noundef %6200, ptr noundef nonnull @.str.4) #13
  %6202 = load i32, ptr %2772, align 4, !tbaa !5
  %6203 = call ptr @s2n_strerror_debug(i32 noundef %6202, ptr noundef nonnull @.str.4) #13
  %6204 = load i32, ptr %6186, align 4, !tbaa !5
  %6205 = call ptr @strerror(i32 noundef %6204) #13
  %6206 = load i32, ptr %6186, align 4, !tbaa !5
  %6207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6198, ptr noundef nonnull %.str.5.sink4021, i32 noundef %6199, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 886, ptr noundef %6201, ptr noundef %6203, ptr noundef %6205, i32 noundef %6206) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6208:                                             ; preds = %6151
  %6209 = load i32, ptr @test_count, align 4, !tbaa !5
  %6210 = add nsw i32 %6209, 1
  store i32 %6210, ptr @test_count, align 4, !tbaa !5
  %6211 = call i32 @s2n_connection_free(ptr noundef nonnull %5920) #13
  %6212 = icmp eq i32 %6211, -1
  br i1 %6212, label %6213, label %6236

6213:                                             ; preds = %6208
  %6214 = tail call ptr @__errno_location() #14
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = call i32 @s2n_print_stacktrace(ptr noundef %6216) #13
  %6218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6219 = trunc nuw i8 %6218 to i1
  br i1 %6219, label %6220, label %6224

6220:                                             ; preds = %6213
  %6221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6222 = call i32 @fileno(ptr noundef %6221) #13
  %6223 = call i32 @isatty(i32 noundef %6222) #13
  %.not1736 = icmp eq i32 %6223, 0
  br i1 %.not1736, label %6224, label %6225

6224:                                             ; preds = %6220, %6213
  br label %6225

6225:                                             ; preds = %6220, %6224
  %.str.5.sink4030 = phi ptr [ @.str.5, %6224 ], [ @.str.2, %6220 ]
  store i32 %6215, ptr %6214, align 4, !tbaa !5
  %6226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6227 = load i32, ptr @test_count, align 4, !tbaa !5
  %6228 = load i32, ptr %2772, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror(i32 noundef %6228, ptr noundef nonnull @.str.4) #13
  %6230 = load i32, ptr %2772, align 4, !tbaa !5
  %6231 = call ptr @s2n_strerror_debug(i32 noundef %6230, ptr noundef nonnull @.str.4) #13
  %6232 = load i32, ptr %6214, align 4, !tbaa !5
  %6233 = call ptr @strerror(i32 noundef %6232) #13
  %6234 = load i32, ptr %6214, align 4, !tbaa !5
  %6235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6226, ptr noundef nonnull %.str.5.sink4030, i32 noundef %6227, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 888, ptr noundef %6229, ptr noundef %6231, ptr noundef %6233, i32 noundef %6234) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6236:                                             ; preds = %6208
  %6237 = load i32, ptr @test_count, align 4, !tbaa !5
  %6238 = add nsw i32 %6237, 1
  store i32 %6238, ptr @test_count, align 4, !tbaa !5
  %6239 = call i32 @s2n_connection_free(ptr noundef nonnull %5724) #13
  %6240 = icmp eq i32 %6239, -1
  br i1 %6240, label %6241, label %6264

6241:                                             ; preds = %6236
  %6242 = tail call ptr @__errno_location() #14
  %6243 = load i32, ptr %6242, align 4, !tbaa !5
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = call i32 @s2n_print_stacktrace(ptr noundef %6244) #13
  %6246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6247 = trunc nuw i8 %6246 to i1
  br i1 %6247, label %6248, label %6252

6248:                                             ; preds = %6241
  %6249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6250 = call i32 @fileno(ptr noundef %6249) #13
  %6251 = call i32 @isatty(i32 noundef %6250) #13
  %.not1735 = icmp eq i32 %6251, 0
  br i1 %.not1735, label %6252, label %6253

6252:                                             ; preds = %6248, %6241
  br label %6253

6253:                                             ; preds = %6248, %6252
  %.str.5.sink4039 = phi ptr [ @.str.5, %6252 ], [ @.str.2, %6248 ]
  store i32 %6243, ptr %6242, align 4, !tbaa !5
  %6254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6255 = load i32, ptr @test_count, align 4, !tbaa !5
  %6256 = load i32, ptr %2772, align 4, !tbaa !5
  %6257 = call ptr @s2n_strerror(i32 noundef %6256, ptr noundef nonnull @.str.4) #13
  %6258 = load i32, ptr %2772, align 4, !tbaa !5
  %6259 = call ptr @s2n_strerror_debug(i32 noundef %6258, ptr noundef nonnull @.str.4) #13
  %6260 = load i32, ptr %6242, align 4, !tbaa !5
  %6261 = call ptr @strerror(i32 noundef %6260) #13
  %6262 = load i32, ptr %6242, align 4, !tbaa !5
  %6263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6254, ptr noundef nonnull %.str.5.sink4039, i32 noundef %6255, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 889, ptr noundef %6257, ptr noundef %6259, ptr noundef %6261, i32 noundef %6262) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6264:                                             ; preds = %6236
  %6265 = load i32, ptr @test_count, align 4, !tbaa !5
  %6266 = add nsw i32 %6265, 1
  store i32 %6266, ptr @test_count, align 4, !tbaa !5
  %6267 = call i32 @s2n_config_free(ptr noundef nonnull %5780) #13
  %6268 = icmp eq i32 %6267, -1
  br i1 %6268, label %6269, label %6292

6269:                                             ; preds = %6264
  %6270 = tail call ptr @__errno_location() #14
  %6271 = load i32, ptr %6270, align 4, !tbaa !5
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = call i32 @s2n_print_stacktrace(ptr noundef %6272) #13
  %6274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6275 = trunc nuw i8 %6274 to i1
  br i1 %6275, label %6276, label %6280

6276:                                             ; preds = %6269
  %6277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6278 = call i32 @fileno(ptr noundef %6277) #13
  %6279 = call i32 @isatty(i32 noundef %6278) #13
  %.not1734 = icmp eq i32 %6279, 0
  br i1 %.not1734, label %6280, label %6281

6280:                                             ; preds = %6276, %6269
  br label %6281

6281:                                             ; preds = %6276, %6280
  %.str.5.sink4048 = phi ptr [ @.str.5, %6280 ], [ @.str.2, %6276 ]
  store i32 %6271, ptr %6270, align 4, !tbaa !5
  %6282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6283 = load i32, ptr @test_count, align 4, !tbaa !5
  %6284 = load i32, ptr %2772, align 4, !tbaa !5
  %6285 = call ptr @s2n_strerror(i32 noundef %6284, ptr noundef nonnull @.str.4) #13
  %6286 = load i32, ptr %2772, align 4, !tbaa !5
  %6287 = call ptr @s2n_strerror_debug(i32 noundef %6286, ptr noundef nonnull @.str.4) #13
  %6288 = load i32, ptr %6270, align 4, !tbaa !5
  %6289 = call ptr @strerror(i32 noundef %6288) #13
  %6290 = load i32, ptr %6270, align 4, !tbaa !5
  %6291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6282, ptr noundef nonnull %.str.5.sink4048, i32 noundef %6283, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 890, ptr noundef %6285, ptr noundef %6287, ptr noundef %6289, i32 noundef %6290) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6292:                                             ; preds = %6264
  %6293 = load i32, ptr @test_count, align 4, !tbaa !5
  %6294 = add nsw i32 %6293, 1
  store i32 %6294, ptr @test_count, align 4, !tbaa !5
  %6295 = call i32 @s2n_config_free(ptr noundef nonnull %5612) #13
  %6296 = icmp eq i32 %6295, -1
  br i1 %6296, label %6297, label %6320

6297:                                             ; preds = %6292
  %6298 = tail call ptr @__errno_location() #14
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6301 = call i32 @s2n_print_stacktrace(ptr noundef %6300) #13
  %6302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6303 = trunc nuw i8 %6302 to i1
  br i1 %6303, label %6304, label %6308

6304:                                             ; preds = %6297
  %6305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6306 = call i32 @fileno(ptr noundef %6305) #13
  %6307 = call i32 @isatty(i32 noundef %6306) #13
  %.not1733 = icmp eq i32 %6307, 0
  br i1 %.not1733, label %6308, label %6309

6308:                                             ; preds = %6304, %6297
  br label %6309

6309:                                             ; preds = %6304, %6308
  %.str.5.sink4057 = phi ptr [ @.str.5, %6308 ], [ @.str.2, %6304 ]
  store i32 %6299, ptr %6298, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = load i32, ptr @test_count, align 4, !tbaa !5
  %6312 = load i32, ptr %2772, align 4, !tbaa !5
  %6313 = call ptr @s2n_strerror(i32 noundef %6312, ptr noundef nonnull @.str.4) #13
  %6314 = load i32, ptr %2772, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror_debug(i32 noundef %6314, ptr noundef nonnull @.str.4) #13
  %6316 = load i32, ptr %6298, align 4, !tbaa !5
  %6317 = call ptr @strerror(i32 noundef %6316) #13
  %6318 = load i32, ptr %6298, align 4, !tbaa !5
  %6319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6310, ptr noundef nonnull %.str.5.sink4057, i32 noundef %6311, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 891, ptr noundef %6313, ptr noundef %6315, ptr noundef %6317, i32 noundef %6318) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6320:                                             ; preds = %6292
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #13
  br label %6321

6321:                                             ; preds = %6320, %5607
  %6322 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1531 = icmp eq i8 %6322, 0
  br i1 %.not1531, label %7041, label %6323

6323:                                             ; preds = %6321
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #13
  store i32 0, ptr %26, align 4, !tbaa !5
  %6324 = load i32, ptr @test_count, align 4, !tbaa !5
  %6325 = add nsw i32 %6324, 1
  store i32 %6325, ptr @test_count, align 4, !tbaa !5
  %6326 = call ptr @s2n_config_new() #13
  %6327 = icmp eq ptr %6326, null
  br i1 %6327, label %6328, label %6351

6328:                                             ; preds = %6323
  %6329 = tail call ptr @__errno_location() #14
  %6330 = load i32, ptr %6329, align 4, !tbaa !5
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @s2n_print_stacktrace(ptr noundef %6331) #13
  %6333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6334 = trunc nuw i8 %6333 to i1
  br i1 %6334, label %6335, label %6339

6335:                                             ; preds = %6328
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = call i32 @fileno(ptr noundef %6336) #13
  %6338 = call i32 @isatty(i32 noundef %6337) #13
  %.not1732 = icmp eq i32 %6338, 0
  br i1 %.not1732, label %6339, label %6340

6339:                                             ; preds = %6335, %6328
  br label %6340

6340:                                             ; preds = %6335, %6339
  %.str.5.sink4066 = phi ptr [ @.str.5, %6339 ], [ @.str.2, %6335 ]
  store i32 %6330, ptr %6329, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = load i32, ptr @test_count, align 4, !tbaa !5
  %6343 = load i32, ptr %2772, align 4, !tbaa !5
  %6344 = call ptr @s2n_strerror(i32 noundef %6343, ptr noundef nonnull @.str.4) #13
  %6345 = load i32, ptr %2772, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror_debug(i32 noundef %6345, ptr noundef nonnull @.str.4) #13
  %6347 = load i32, ptr %6329, align 4, !tbaa !5
  %6348 = call ptr @strerror(i32 noundef %6347) #13
  %6349 = load i32, ptr %6329, align 4, !tbaa !5
  %6350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6341, ptr noundef nonnull %.str.5.sink4066, i32 noundef %6342, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 903, ptr noundef %6344, ptr noundef %6346, ptr noundef %6348, i32 noundef %6349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6351:                                             ; preds = %6323
  %6352 = load i32, ptr @test_count, align 4, !tbaa !5
  %6353 = add nsw i32 %6352, 1
  store i32 %6353, ptr @test_count, align 4, !tbaa !5
  %6354 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %6326, i8 noundef zeroext 0) #13
  %6355 = icmp eq i32 %6354, -1
  br i1 %6355, label %6356, label %6379

6356:                                             ; preds = %6351
  %6357 = tail call ptr @__errno_location() #14
  %6358 = load i32, ptr %6357, align 4, !tbaa !5
  %6359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6360 = call i32 @s2n_print_stacktrace(ptr noundef %6359) #13
  %6361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6362 = trunc nuw i8 %6361 to i1
  br i1 %6362, label %6363, label %6367

6363:                                             ; preds = %6356
  %6364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6365 = call i32 @fileno(ptr noundef %6364) #13
  %6366 = call i32 @isatty(i32 noundef %6365) #13
  %.not1731 = icmp eq i32 %6366, 0
  br i1 %.not1731, label %6367, label %6368

6367:                                             ; preds = %6363, %6356
  br label %6368

6368:                                             ; preds = %6363, %6367
  %.str.5.sink4075 = phi ptr [ @.str.5, %6367 ], [ @.str.2, %6363 ]
  store i32 %6358, ptr %6357, align 4, !tbaa !5
  %6369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6370 = load i32, ptr @test_count, align 4, !tbaa !5
  %6371 = load i32, ptr %2772, align 4, !tbaa !5
  %6372 = call ptr @s2n_strerror(i32 noundef %6371, ptr noundef nonnull @.str.4) #13
  %6373 = load i32, ptr %2772, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror_debug(i32 noundef %6373, ptr noundef nonnull @.str.4) #13
  %6375 = load i32, ptr %6357, align 4, !tbaa !5
  %6376 = call ptr @strerror(i32 noundef %6375) #13
  %6377 = load i32, ptr %6357, align 4, !tbaa !5
  %6378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6369, ptr noundef nonnull %.str.5.sink4075, i32 noundef %6370, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 904, ptr noundef %6372, ptr noundef %6374, ptr noundef %6376, i32 noundef %6377) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6379:                                             ; preds = %6351
  %6380 = load i32, ptr @test_count, align 4, !tbaa !5
  %6381 = add nsw i32 %6380, 1
  store i32 %6381, ptr @test_count, align 4, !tbaa !5
  %6382 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %6326) #13
  %6383 = icmp eq i32 %6382, -1
  br i1 %6383, label %6384, label %6407

6384:                                             ; preds = %6379
  %6385 = tail call ptr @__errno_location() #14
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  %6387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6388 = call i32 @s2n_print_stacktrace(ptr noundef %6387) #13
  %6389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6390 = trunc nuw i8 %6389 to i1
  br i1 %6390, label %6391, label %6395

6391:                                             ; preds = %6384
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @fileno(ptr noundef %6392) #13
  %6394 = call i32 @isatty(i32 noundef %6393) #13
  %.not1730 = icmp eq i32 %6394, 0
  br i1 %.not1730, label %6395, label %6396

6395:                                             ; preds = %6391, %6384
  br label %6396

6396:                                             ; preds = %6391, %6395
  %.str.5.sink4084 = phi ptr [ @.str.5, %6395 ], [ @.str.2, %6391 ]
  store i32 %6386, ptr %6385, align 4, !tbaa !5
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = load i32, ptr @test_count, align 4, !tbaa !5
  %6399 = load i32, ptr %2772, align 4, !tbaa !5
  %6400 = call ptr @s2n_strerror(i32 noundef %6399, ptr noundef nonnull @.str.4) #13
  %6401 = load i32, ptr %2772, align 4, !tbaa !5
  %6402 = call ptr @s2n_strerror_debug(i32 noundef %6401, ptr noundef nonnull @.str.4) #13
  %6403 = load i32, ptr %6385, align 4, !tbaa !5
  %6404 = call ptr @strerror(i32 noundef %6403) #13
  %6405 = load i32, ptr %6385, align 4, !tbaa !5
  %6406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6397, ptr noundef nonnull %.str.5.sink4084, i32 noundef %6398, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 905, ptr noundef %6400, ptr noundef %6402, ptr noundef %6404, i32 noundef %6405) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6407:                                             ; preds = %6379
  %6408 = load i32, ptr @test_count, align 4, !tbaa !5
  %6409 = add nsw i32 %6408, 1
  store i32 %6409, ptr @test_count, align 4, !tbaa !5
  %6410 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %6326, i32 noundef 1) #13
  %6411 = icmp eq i32 %6410, -1
  br i1 %6411, label %6412, label %6435

6412:                                             ; preds = %6407
  %6413 = tail call ptr @__errno_location() #14
  %6414 = load i32, ptr %6413, align 4, !tbaa !5
  %6415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6416 = call i32 @s2n_print_stacktrace(ptr noundef %6415) #13
  %6417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6418 = trunc nuw i8 %6417 to i1
  br i1 %6418, label %6419, label %6423

6419:                                             ; preds = %6412
  %6420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6421 = call i32 @fileno(ptr noundef %6420) #13
  %6422 = call i32 @isatty(i32 noundef %6421) #13
  %.not1729 = icmp eq i32 %6422, 0
  br i1 %.not1729, label %6423, label %6424

6423:                                             ; preds = %6419, %6412
  br label %6424

6424:                                             ; preds = %6419, %6423
  %.str.5.sink4093 = phi ptr [ @.str.5, %6423 ], [ @.str.2, %6419 ]
  store i32 %6414, ptr %6413, align 4, !tbaa !5
  %6425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6426 = load i32, ptr @test_count, align 4, !tbaa !5
  %6427 = load i32, ptr %2772, align 4, !tbaa !5
  %6428 = call ptr @s2n_strerror(i32 noundef %6427, ptr noundef nonnull @.str.4) #13
  %6429 = load i32, ptr %2772, align 4, !tbaa !5
  %6430 = call ptr @s2n_strerror_debug(i32 noundef %6429, ptr noundef nonnull @.str.4) #13
  %6431 = load i32, ptr %6413, align 4, !tbaa !5
  %6432 = call ptr @strerror(i32 noundef %6431) #13
  %6433 = load i32, ptr %6413, align 4, !tbaa !5
  %6434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6425, ptr noundef nonnull %.str.5.sink4093, i32 noundef %6426, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 906, ptr noundef %6428, ptr noundef %6430, ptr noundef %6432, i32 noundef %6433) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6435:                                             ; preds = %6407
  %6436 = load i32, ptr @test_count, align 4, !tbaa !5
  %6437 = add nsw i32 %6436, 1
  store i32 %6437, ptr @test_count, align 4, !tbaa !5
  %6438 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %6439 = icmp eq ptr %6438, null
  br i1 %6439, label %6440, label %6463

6440:                                             ; preds = %6435
  %6441 = tail call ptr @__errno_location() #14
  %6442 = load i32, ptr %6441, align 4, !tbaa !5
  %6443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6444 = call i32 @s2n_print_stacktrace(ptr noundef %6443) #13
  %6445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6446 = trunc nuw i8 %6445 to i1
  br i1 %6446, label %6447, label %6451

6447:                                             ; preds = %6440
  %6448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6449 = call i32 @fileno(ptr noundef %6448) #13
  %6450 = call i32 @isatty(i32 noundef %6449) #13
  %.not1728 = icmp eq i32 %6450, 0
  br i1 %.not1728, label %6451, label %6452

6451:                                             ; preds = %6447, %6440
  br label %6452

6452:                                             ; preds = %6447, %6451
  %.str.5.sink4102 = phi ptr [ @.str.5, %6451 ], [ @.str.2, %6447 ]
  store i32 %6442, ptr %6441, align 4, !tbaa !5
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = load i32, ptr @test_count, align 4, !tbaa !5
  %6455 = load i32, ptr %2772, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror(i32 noundef %6455, ptr noundef nonnull @.str.4) #13
  %6457 = load i32, ptr %2772, align 4, !tbaa !5
  %6458 = call ptr @s2n_strerror_debug(i32 noundef %6457, ptr noundef nonnull @.str.4) #13
  %6459 = load i32, ptr %6441, align 4, !tbaa !5
  %6460 = call ptr @strerror(i32 noundef %6459) #13
  %6461 = load i32, ptr %6441, align 4, !tbaa !5
  %6462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6453, ptr noundef nonnull %.str.5.sink4102, i32 noundef %6454, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %6456, ptr noundef %6458, ptr noundef %6460, i32 noundef %6461) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6463:                                             ; preds = %6435
  %6464 = load i32, ptr @test_count, align 4, !tbaa !5
  %6465 = add nsw i32 %6464, 1
  store i32 %6465, ptr @test_count, align 4, !tbaa !5
  %6466 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6438, ptr noundef nonnull %6326) #13
  %6467 = icmp eq i32 %6466, -1
  br i1 %6467, label %6468, label %6491

6468:                                             ; preds = %6463
  %6469 = tail call ptr @__errno_location() #14
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6472 = call i32 @s2n_print_stacktrace(ptr noundef %6471) #13
  %6473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6474 = trunc nuw i8 %6473 to i1
  br i1 %6474, label %6475, label %6479

6475:                                             ; preds = %6468
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = call i32 @fileno(ptr noundef %6476) #13
  %6478 = call i32 @isatty(i32 noundef %6477) #13
  %.not1727 = icmp eq i32 %6478, 0
  br i1 %.not1727, label %6479, label %6480

6479:                                             ; preds = %6475, %6468
  br label %6480

6480:                                             ; preds = %6475, %6479
  %.str.5.sink4111 = phi ptr [ @.str.5, %6479 ], [ @.str.2, %6475 ]
  store i32 %6470, ptr %6469, align 4, !tbaa !5
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = load i32, ptr @test_count, align 4, !tbaa !5
  %6483 = load i32, ptr %2772, align 4, !tbaa !5
  %6484 = call ptr @s2n_strerror(i32 noundef %6483, ptr noundef nonnull @.str.4) #13
  %6485 = load i32, ptr %2772, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror_debug(i32 noundef %6485, ptr noundef nonnull @.str.4) #13
  %6487 = load i32, ptr %6469, align 4, !tbaa !5
  %6488 = call ptr @strerror(i32 noundef %6487) #13
  %6489 = load i32, ptr %6469, align 4, !tbaa !5
  %6490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6481, ptr noundef nonnull %.str.5.sink4111, i32 noundef %6482, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %6484, ptr noundef %6486, ptr noundef %6488, i32 noundef %6489) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6491:                                             ; preds = %6463
  %6492 = getelementptr inbounds i8, ptr %6438, i64 220
  store i8 33, ptr %6492, align 4, !tbaa !15
  %6493 = getelementptr inbounds i8, ptr %6438, i64 219
  store i8 33, ptr %6493, align 1, !tbaa !42
  %6494 = getelementptr inbounds i8, ptr %6438, i64 218
  store i8 33, ptr %6494, align 2, !tbaa !43
  %6495 = load i32, ptr @test_count, align 4, !tbaa !5
  %6496 = add nsw i32 %6495, 1
  store i32 %6496, ptr @test_count, align 4, !tbaa !5
  %6497 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %6498 = icmp eq ptr %6497, null
  br i1 %6498, label %6499, label %6522

6499:                                             ; preds = %6491
  %6500 = tail call ptr @__errno_location() #14
  %6501 = load i32, ptr %6500, align 4, !tbaa !5
  %6502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6503 = call i32 @s2n_print_stacktrace(ptr noundef %6502) #13
  %6504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6505 = trunc nuw i8 %6504 to i1
  br i1 %6505, label %6506, label %6510

6506:                                             ; preds = %6499
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @fileno(ptr noundef %6507) #13
  %6509 = call i32 @isatty(i32 noundef %6508) #13
  %.not1726 = icmp eq i32 %6509, 0
  br i1 %.not1726, label %6510, label %6511

6510:                                             ; preds = %6506, %6499
  br label %6511

6511:                                             ; preds = %6506, %6510
  %.str.5.sink4120 = phi ptr [ @.str.5, %6510 ], [ @.str.2, %6506 ]
  store i32 %6501, ptr %6500, align 4, !tbaa !5
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = load i32, ptr @test_count, align 4, !tbaa !5
  %6514 = load i32, ptr %2772, align 4, !tbaa !5
  %6515 = call ptr @s2n_strerror(i32 noundef %6514, ptr noundef nonnull @.str.4) #13
  %6516 = load i32, ptr %2772, align 4, !tbaa !5
  %6517 = call ptr @s2n_strerror_debug(i32 noundef %6516, ptr noundef nonnull @.str.4) #13
  %6518 = load i32, ptr %6500, align 4, !tbaa !5
  %6519 = call ptr @strerror(i32 noundef %6518) #13
  %6520 = load i32, ptr %6500, align 4, !tbaa !5
  %6521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6512, ptr noundef nonnull %.str.5.sink4120, i32 noundef %6513, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %6515, ptr noundef %6517, ptr noundef %6519, i32 noundef %6520) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6522:                                             ; preds = %6491
  %6523 = getelementptr inbounds i8, ptr %6497, i64 220
  store i8 33, ptr %6523, align 4, !tbaa !15
  %6524 = getelementptr inbounds i8, ptr %6497, i64 219
  store i8 33, ptr %6524, align 1, !tbaa !42
  %6525 = getelementptr inbounds i8, ptr %6497, i64 218
  store i8 33, ptr %6525, align 2, !tbaa !43
  %6526 = load i32, ptr @test_count, align 4, !tbaa !5
  %6527 = add nsw i32 %6526, 1
  store i32 %6527, ptr @test_count, align 4, !tbaa !5
  %6528 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %6438, ptr noundef nonnull %6497, ptr noundef nonnull %3) #13
  %6529 = icmp eq i32 %6528, -1
  br i1 %6529, label %6530, label %6553

6530:                                             ; preds = %6522
  %6531 = tail call ptr @__errno_location() #14
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6534 = call i32 @s2n_print_stacktrace(ptr noundef %6533) #13
  %6535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6536 = trunc nuw i8 %6535 to i1
  br i1 %6536, label %6537, label %6541

6537:                                             ; preds = %6530
  %6538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6539 = call i32 @fileno(ptr noundef %6538) #13
  %6540 = call i32 @isatty(i32 noundef %6539) #13
  %.not1725 = icmp eq i32 %6540, 0
  br i1 %.not1725, label %6541, label %6542

6541:                                             ; preds = %6537, %6530
  br label %6542

6542:                                             ; preds = %6537, %6541
  %.str.5.sink4129 = phi ptr [ @.str.5, %6541 ], [ @.str.2, %6537 ]
  store i32 %6532, ptr %6531, align 4, !tbaa !5
  %6543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6544 = load i32, ptr @test_count, align 4, !tbaa !5
  %6545 = load i32, ptr %2772, align 4, !tbaa !5
  %6546 = call ptr @s2n_strerror(i32 noundef %6545, ptr noundef nonnull @.str.4) #13
  %6547 = load i32, ptr %2772, align 4, !tbaa !5
  %6548 = call ptr @s2n_strerror_debug(i32 noundef %6547, ptr noundef nonnull @.str.4) #13
  %6549 = load i32, ptr %6531, align 4, !tbaa !5
  %6550 = call ptr @strerror(i32 noundef %6549) #13
  %6551 = load i32, ptr %6531, align 4, !tbaa !5
  %6552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6543, ptr noundef nonnull %.str.5.sink4129, i32 noundef %6544, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 919, ptr noundef %6546, ptr noundef %6548, ptr noundef %6550, i32 noundef %6551) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6553:                                             ; preds = %6522
  %6554 = load i32, ptr @test_count, align 4, !tbaa !5
  %6555 = add nsw i32 %6554, 1
  store i32 %6555, ptr @test_count, align 4, !tbaa !5
  %6556 = call ptr @s2n_config_new() #13
  %6557 = icmp eq ptr %6556, null
  br i1 %6557, label %6558, label %6581

6558:                                             ; preds = %6553
  %6559 = tail call ptr @__errno_location() #14
  %6560 = load i32, ptr %6559, align 4, !tbaa !5
  %6561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6562 = call i32 @s2n_print_stacktrace(ptr noundef %6561) #13
  %6563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6564 = trunc nuw i8 %6563 to i1
  br i1 %6564, label %6565, label %6569

6565:                                             ; preds = %6558
  %6566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6567 = call i32 @fileno(ptr noundef %6566) #13
  %6568 = call i32 @isatty(i32 noundef %6567) #13
  %.not1724 = icmp eq i32 %6568, 0
  br i1 %.not1724, label %6569, label %6570

6569:                                             ; preds = %6565, %6558
  br label %6570

6570:                                             ; preds = %6565, %6569
  %.str.5.sink4138 = phi ptr [ @.str.5, %6569 ], [ @.str.2, %6565 ]
  store i32 %6560, ptr %6559, align 4, !tbaa !5
  %6571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6572 = load i32, ptr @test_count, align 4, !tbaa !5
  %6573 = load i32, ptr %2772, align 4, !tbaa !5
  %6574 = call ptr @s2n_strerror(i32 noundef %6573, ptr noundef nonnull @.str.4) #13
  %6575 = load i32, ptr %2772, align 4, !tbaa !5
  %6576 = call ptr @s2n_strerror_debug(i32 noundef %6575, ptr noundef nonnull @.str.4) #13
  %6577 = load i32, ptr %6559, align 4, !tbaa !5
  %6578 = call ptr @strerror(i32 noundef %6577) #13
  %6579 = load i32, ptr %6559, align 4, !tbaa !5
  %6580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6571, ptr noundef nonnull %.str.5.sink4138, i32 noundef %6572, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 921, ptr noundef %6574, ptr noundef %6576, ptr noundef %6578, i32 noundef %6579) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6581:                                             ; preds = %6553
  %6582 = load i32, ptr @test_count, align 4, !tbaa !5
  %6583 = add nsw i32 %6582, 1
  store i32 %6583, ptr @test_count, align 4, !tbaa !5
  %6584 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef %149, i64 noundef 12000) #13
  %6585 = icmp eq i32 %6584, -1
  br i1 %6585, label %6586, label %6609

6586:                                             ; preds = %6581
  %6587 = tail call ptr @__errno_location() #14
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6590 = call i32 @s2n_print_stacktrace(ptr noundef %6589) #13
  %6591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6592 = trunc nuw i8 %6591 to i1
  br i1 %6592, label %6593, label %6597

6593:                                             ; preds = %6586
  %6594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6595 = call i32 @fileno(ptr noundef %6594) #13
  %6596 = call i32 @isatty(i32 noundef %6595) #13
  %.not1723 = icmp eq i32 %6596, 0
  br i1 %.not1723, label %6597, label %6598

6597:                                             ; preds = %6593, %6586
  br label %6598

6598:                                             ; preds = %6593, %6597
  %.str.5.sink4147 = phi ptr [ @.str.5, %6597 ], [ @.str.2, %6593 ]
  store i32 %6588, ptr %6587, align 4, !tbaa !5
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = load i32, ptr @test_count, align 4, !tbaa !5
  %6601 = load i32, ptr %2772, align 4, !tbaa !5
  %6602 = call ptr @s2n_strerror(i32 noundef %6601, ptr noundef nonnull @.str.4) #13
  %6603 = load i32, ptr %2772, align 4, !tbaa !5
  %6604 = call ptr @s2n_strerror_debug(i32 noundef %6603, ptr noundef nonnull @.str.4) #13
  %6605 = load i32, ptr %6587, align 4, !tbaa !5
  %6606 = call ptr @strerror(i32 noundef %6605) #13
  %6607 = load i32, ptr %6587, align 4, !tbaa !5
  %6608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6599, ptr noundef nonnull %.str.5.sink4147, i32 noundef %6600, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %6602, ptr noundef %6604, ptr noundef %6606, i32 noundef %6607) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6609:                                             ; preds = %6581
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = add nsw i32 %6610, 1
  store i32 %6611, ptr @test_count, align 4, !tbaa !5
  %6612 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef %177, i64 noundef 12000) #13
  %6613 = icmp eq i32 %6612, -1
  br i1 %6613, label %6614, label %6637

6614:                                             ; preds = %6609
  %6615 = tail call ptr @__errno_location() #14
  %6616 = load i32, ptr %6615, align 4, !tbaa !5
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = call i32 @s2n_print_stacktrace(ptr noundef %6617) #13
  %6619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6620 = trunc nuw i8 %6619 to i1
  br i1 %6620, label %6621, label %6625

6621:                                             ; preds = %6614
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = call i32 @fileno(ptr noundef %6622) #13
  %6624 = call i32 @isatty(i32 noundef %6623) #13
  %.not1722 = icmp eq i32 %6624, 0
  br i1 %.not1722, label %6625, label %6626

6625:                                             ; preds = %6621, %6614
  br label %6626

6626:                                             ; preds = %6621, %6625
  %.str.5.sink4156 = phi ptr [ @.str.5, %6625 ], [ @.str.2, %6621 ]
  store i32 %6616, ptr %6615, align 4, !tbaa !5
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %6629 = load i32, ptr %2772, align 4, !tbaa !5
  %6630 = call ptr @s2n_strerror(i32 noundef %6629, ptr noundef nonnull @.str.4) #13
  %6631 = load i32, ptr %2772, align 4, !tbaa !5
  %6632 = call ptr @s2n_strerror_debug(i32 noundef %6631, ptr noundef nonnull @.str.4) #13
  %6633 = load i32, ptr %6615, align 4, !tbaa !5
  %6634 = call ptr @strerror(i32 noundef %6633) #13
  %6635 = load i32, ptr %6615, align 4, !tbaa !5
  %6636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6627, ptr noundef nonnull %.str.5.sink4156, i32 noundef %6628, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 923, ptr noundef %6630, ptr noundef %6632, ptr noundef %6634, i32 noundef %6635) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6637:                                             ; preds = %6609
  %6638 = load i32, ptr @test_count, align 4, !tbaa !5
  %6639 = add nsw i32 %6638, 1
  store i32 %6639, ptr @test_count, align 4, !tbaa !5
  %6640 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %6556, ptr noundef %149, ptr noundef %177) #13
  %6641 = icmp eq i32 %6640, -1
  br i1 %6641, label %6642, label %6665

6642:                                             ; preds = %6637
  %6643 = tail call ptr @__errno_location() #14
  %6644 = load i32, ptr %6643, align 4, !tbaa !5
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = call i32 @s2n_print_stacktrace(ptr noundef %6645) #13
  %6647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6648 = trunc nuw i8 %6647 to i1
  br i1 %6648, label %6649, label %6653

6649:                                             ; preds = %6642
  %6650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6651 = call i32 @fileno(ptr noundef %6650) #13
  %6652 = call i32 @isatty(i32 noundef %6651) #13
  %.not1721 = icmp eq i32 %6652, 0
  br i1 %.not1721, label %6653, label %6654

6653:                                             ; preds = %6649, %6642
  br label %6654

6654:                                             ; preds = %6649, %6653
  %.str.5.sink4165 = phi ptr [ @.str.5, %6653 ], [ @.str.2, %6649 ]
  store i32 %6644, ptr %6643, align 4, !tbaa !5
  %6655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6656 = load i32, ptr @test_count, align 4, !tbaa !5
  %6657 = load i32, ptr %2772, align 4, !tbaa !5
  %6658 = call ptr @s2n_strerror(i32 noundef %6657, ptr noundef nonnull @.str.4) #13
  %6659 = load i32, ptr %2772, align 4, !tbaa !5
  %6660 = call ptr @s2n_strerror_debug(i32 noundef %6659, ptr noundef nonnull @.str.4) #13
  %6661 = load i32, ptr %6643, align 4, !tbaa !5
  %6662 = call ptr @strerror(i32 noundef %6661) #13
  %6663 = load i32, ptr %6643, align 4, !tbaa !5
  %6664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6655, ptr noundef nonnull %.str.5.sink4165, i32 noundef %6656, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 924, ptr noundef %6658, ptr noundef %6660, ptr noundef %6662, i32 noundef %6663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6665:                                             ; preds = %6637
  %6666 = load i32, ptr @test_count, align 4, !tbaa !5
  %6667 = add nsw i32 %6666, 1
  store i32 %6667, ptr @test_count, align 4, !tbaa !5
  %6668 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %6556, i32 noundef 5, ptr noundef nonnull @server_ocsp_status_bytes, i32 noundef 1609) #13
  %6669 = icmp eq i32 %6668, -1
  br i1 %6669, label %6670, label %6693

6670:                                             ; preds = %6665
  %6671 = tail call ptr @__errno_location() #14
  %6672 = load i32, ptr %6671, align 4, !tbaa !5
  %6673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6674 = call i32 @s2n_print_stacktrace(ptr noundef %6673) #13
  %6675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6676 = trunc nuw i8 %6675 to i1
  br i1 %6676, label %6677, label %6681

6677:                                             ; preds = %6670
  %6678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6679 = call i32 @fileno(ptr noundef %6678) #13
  %6680 = call i32 @isatty(i32 noundef %6679) #13
  %.not1720 = icmp eq i32 %6680, 0
  br i1 %.not1720, label %6681, label %6682

6681:                                             ; preds = %6677, %6670
  br label %6682

6682:                                             ; preds = %6677, %6681
  %.str.5.sink4174 = phi ptr [ @.str.5, %6681 ], [ @.str.2, %6677 ]
  store i32 %6672, ptr %6671, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = load i32, ptr @test_count, align 4, !tbaa !5
  %6685 = load i32, ptr %2772, align 4, !tbaa !5
  %6686 = call ptr @s2n_strerror(i32 noundef %6685, ptr noundef nonnull @.str.4) #13
  %6687 = load i32, ptr %2772, align 4, !tbaa !5
  %6688 = call ptr @s2n_strerror_debug(i32 noundef %6687, ptr noundef nonnull @.str.4) #13
  %6689 = load i32, ptr %6671, align 4, !tbaa !5
  %6690 = call ptr @strerror(i32 noundef %6689) #13
  %6691 = load i32, ptr %6671, align 4, !tbaa !5
  %6692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6683, ptr noundef nonnull %.str.5.sink4174, i32 noundef %6684, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 926, ptr noundef %6686, ptr noundef %6688, ptr noundef %6690, i32 noundef %6691) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6693:                                             ; preds = %6665
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = add nsw i32 %6694, 1
  store i32 %6695, ptr @test_count, align 4, !tbaa !5
  %6696 = call i32 @s2n_connection_set_config(ptr noundef nonnull %6497, ptr noundef nonnull %6556) #13
  %6697 = icmp eq i32 %6696, -1
  br i1 %6697, label %6698, label %6721

6698:                                             ; preds = %6693
  %6699 = tail call ptr @__errno_location() #14
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6702 = call i32 @s2n_print_stacktrace(ptr noundef %6701) #13
  %6703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6704 = trunc nuw i8 %6703 to i1
  br i1 %6704, label %6705, label %6709

6705:                                             ; preds = %6698
  %6706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6707 = call i32 @fileno(ptr noundef %6706) #13
  %6708 = call i32 @isatty(i32 noundef %6707) #13
  %.not1719 = icmp eq i32 %6708, 0
  br i1 %.not1719, label %6709, label %6710

6709:                                             ; preds = %6705, %6698
  br label %6710

6710:                                             ; preds = %6705, %6709
  %.str.5.sink4183 = phi ptr [ @.str.5, %6709 ], [ @.str.2, %6705 ]
  store i32 %6700, ptr %6699, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = load i32, ptr @test_count, align 4, !tbaa !5
  %6713 = load i32, ptr %2772, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef nonnull @.str.4) #13
  %6715 = load i32, ptr %2772, align 4, !tbaa !5
  %6716 = call ptr @s2n_strerror_debug(i32 noundef %6715, ptr noundef nonnull @.str.4) #13
  %6717 = load i32, ptr %6699, align 4, !tbaa !5
  %6718 = call ptr @strerror(i32 noundef %6717) #13
  %6719 = load i32, ptr %6699, align 4, !tbaa !5
  %6720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6711, ptr noundef nonnull %.str.5.sink4183, i32 noundef %6712, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %6714, ptr noundef %6716, ptr noundef %6718, i32 noundef %6719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6721:                                             ; preds = %6693
  %6722 = load i32, ptr @test_count, align 4, !tbaa !5
  %6723 = add nsw i32 %6722, 1
  store i32 %6723, ptr @test_count, align 4, !tbaa !5
  %6724 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %6497, ptr noundef nonnull %6438) #13
  %6725 = icmp eq i32 %6724, -1
  br i1 %6725, label %6726, label %6749

6726:                                             ; preds = %6721
  %6727 = tail call ptr @__errno_location() #14
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6730 = call i32 @s2n_print_stacktrace(ptr noundef %6729) #13
  %6731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6732 = trunc nuw i8 %6731 to i1
  br i1 %6732, label %6733, label %6737

6733:                                             ; preds = %6726
  %6734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6735 = call i32 @fileno(ptr noundef %6734) #13
  %6736 = call i32 @isatty(i32 noundef %6735) #13
  %.not1718 = icmp eq i32 %6736, 0
  br i1 %.not1718, label %6737, label %6738

6737:                                             ; preds = %6733, %6726
  br label %6738

6738:                                             ; preds = %6733, %6737
  %.str.5.sink4192 = phi ptr [ @.str.5, %6737 ], [ @.str.2, %6733 ]
  store i32 %6728, ptr %6727, align 4, !tbaa !5
  %6739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6740 = load i32, ptr @test_count, align 4, !tbaa !5
  %6741 = load i32, ptr %2772, align 4, !tbaa !5
  %6742 = call ptr @s2n_strerror(i32 noundef %6741, ptr noundef nonnull @.str.4) #13
  %6743 = load i32, ptr %2772, align 4, !tbaa !5
  %6744 = call ptr @s2n_strerror_debug(i32 noundef %6743, ptr noundef nonnull @.str.4) #13
  %6745 = load i32, ptr %6727, align 4, !tbaa !5
  %6746 = call ptr @strerror(i32 noundef %6745) #13
  %6747 = load i32, ptr %6727, align 4, !tbaa !5
  %6748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6739, ptr noundef nonnull %.str.5.sink4192, i32 noundef %6740, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %6742, ptr noundef %6744, ptr noundef %6746, i32 noundef %6747) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6749:                                             ; preds = %6721
  %6750 = load i32, ptr @test_count, align 4, !tbaa !5
  %6751 = add nsw i32 %6750, 1
  store i32 %6751, ptr @test_count, align 4, !tbaa !5
  %6752 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %6497) #13
  %6753 = icmp eq i32 %6752, 1
  br i1 %6753, label %6777, label %6754

6754:                                             ; preds = %6749
  %6755 = tail call ptr @__errno_location() #14
  %6756 = load i32, ptr %6755, align 4, !tbaa !5
  %6757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6758 = call i32 @s2n_print_stacktrace(ptr noundef %6757) #13
  %6759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6760 = trunc nuw i8 %6759 to i1
  br i1 %6760, label %6761, label %6765

6761:                                             ; preds = %6754
  %6762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6763 = call i32 @fileno(ptr noundef %6762) #13
  %6764 = call i32 @isatty(i32 noundef %6763) #13
  %.not1532 = icmp eq i32 %6764, 0
  br i1 %.not1532, label %6765, label %6766

6765:                                             ; preds = %6761, %6754
  br label %6766

6766:                                             ; preds = %6761, %6765
  %.str.5.sink4201 = phi ptr [ @.str.5, %6765 ], [ @.str.2, %6761 ]
  store i32 %6756, ptr %6755, align 4, !tbaa !5
  %6767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6768 = load i32, ptr @test_count, align 4, !tbaa !5
  %6769 = load i32, ptr %2772, align 4, !tbaa !5
  %6770 = call ptr @s2n_strerror(i32 noundef %6769, ptr noundef nonnull @.str.4) #13
  %6771 = load i32, ptr %2772, align 4, !tbaa !5
  %6772 = call ptr @s2n_strerror_debug(i32 noundef %6771, ptr noundef nonnull @.str.4) #13
  %6773 = load i32, ptr %6755, align 4, !tbaa !5
  %6774 = call ptr @strerror(i32 noundef %6773) #13
  %6775 = load i32, ptr %6755, align 4, !tbaa !5
  %6776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6767, ptr noundef nonnull %.str.5.sink4201, i32 noundef %6768, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 932, ptr noundef %6770, ptr noundef %6772, ptr noundef %6774, i32 noundef %6775) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6777:                                             ; preds = %6749
  %6778 = load i32, ptr @test_count, align 4, !tbaa !5
  %6779 = add nsw i32 %6778, 1
  store i32 %6779, ptr @test_count, align 4, !tbaa !5
  %6780 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %6438) #13
  %6781 = icmp eq i32 %6780, 1
  br i1 %6781, label %6805, label %6782

6782:                                             ; preds = %6777
  %6783 = tail call ptr @__errno_location() #14
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6786 = call i32 @s2n_print_stacktrace(ptr noundef %6785) #13
  %6787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6788 = trunc nuw i8 %6787 to i1
  br i1 %6788, label %6789, label %6793

6789:                                             ; preds = %6782
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = call i32 @fileno(ptr noundef %6790) #13
  %6792 = call i32 @isatty(i32 noundef %6791) #13
  %.not1533 = icmp eq i32 %6792, 0
  br i1 %.not1533, label %6793, label %6794

6793:                                             ; preds = %6789, %6782
  br label %6794

6794:                                             ; preds = %6789, %6793
  %.str.5.sink4210 = phi ptr [ @.str.5, %6793 ], [ @.str.2, %6789 ]
  store i32 %6784, ptr %6783, align 4, !tbaa !5
  %6795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6796 = load i32, ptr @test_count, align 4, !tbaa !5
  %6797 = load i32, ptr %2772, align 4, !tbaa !5
  %6798 = call ptr @s2n_strerror(i32 noundef %6797, ptr noundef nonnull @.str.4) #13
  %6799 = load i32, ptr %2772, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror_debug(i32 noundef %6799, ptr noundef nonnull @.str.4) #13
  %6801 = load i32, ptr %6783, align 4, !tbaa !5
  %6802 = call ptr @strerror(i32 noundef %6801) #13
  %6803 = load i32, ptr %6783, align 4, !tbaa !5
  %6804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6795, ptr noundef nonnull %.str.5.sink4210, i32 noundef %6796, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 935, ptr noundef %6798, ptr noundef %6800, ptr noundef %6802, i32 noundef %6803) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6805:                                             ; preds = %6777
  %6806 = load i32, ptr @test_count, align 4, !tbaa !5
  %6807 = add nsw i32 %6806, 1
  store i32 %6807, ptr @test_count, align 4, !tbaa !5
  %6808 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %6438, ptr noundef nonnull %26) #13
  %6809 = icmp eq ptr %6808, null
  br i1 %6809, label %6810, label %6833

6810:                                             ; preds = %6805
  %6811 = tail call ptr @__errno_location() #14
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  %6813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6814 = call i32 @s2n_print_stacktrace(ptr noundef %6813) #13
  %6815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6816 = trunc nuw i8 %6815 to i1
  br i1 %6816, label %6817, label %6821

6817:                                             ; preds = %6810
  %6818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6819 = call i32 @fileno(ptr noundef %6818) #13
  %6820 = call i32 @isatty(i32 noundef %6819) #13
  %.not1717 = icmp eq i32 %6820, 0
  br i1 %.not1717, label %6821, label %6822

6821:                                             ; preds = %6817, %6810
  br label %6822

6822:                                             ; preds = %6817, %6821
  %.str.5.sink4219 = phi ptr [ @.str.5, %6821 ], [ @.str.2, %6817 ]
  store i32 %6812, ptr %6811, align 4, !tbaa !5
  %6823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6824 = load i32, ptr @test_count, align 4, !tbaa !5
  %6825 = load i32, ptr %2772, align 4, !tbaa !5
  %6826 = call ptr @s2n_strerror(i32 noundef %6825, ptr noundef nonnull @.str.4) #13
  %6827 = load i32, ptr %2772, align 4, !tbaa !5
  %6828 = call ptr @s2n_strerror_debug(i32 noundef %6827, ptr noundef nonnull @.str.4) #13
  %6829 = load i32, ptr %6811, align 4, !tbaa !5
  %6830 = call ptr @strerror(i32 noundef %6829) #13
  %6831 = load i32, ptr %6811, align 4, !tbaa !5
  %6832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6823, ptr noundef nonnull %.str.5.sink4219, i32 noundef %6824, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 936, ptr noundef %6826, ptr noundef %6828, ptr noundef %6830, i32 noundef %6831) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6833:                                             ; preds = %6805
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = add nsw i32 %6834, 1
  store i32 %6835, ptr @test_count, align 4, !tbaa !5
  %6836 = load i32, ptr %26, align 4, !tbaa !5
  %6837 = icmp eq i32 %6836, 1609
  br i1 %6837, label %.preheader1905, label %6838

6838:                                             ; preds = %6833
  %6839 = tail call ptr @__errno_location() #14
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @s2n_print_stacktrace(ptr noundef %6841) #13
  %6843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6844 = trunc nuw i8 %6843 to i1
  br i1 %6844, label %6845, label %6849

6845:                                             ; preds = %6838
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @fileno(ptr noundef %6846) #13
  %6848 = call i32 @isatty(i32 noundef %6847) #13
  %.not1534 = icmp eq i32 %6848, 0
  br i1 %.not1534, label %6849, label %6850

6849:                                             ; preds = %6845, %6838
  br label %6850

6850:                                             ; preds = %6845, %6849
  %.str.5.sink4228 = phi ptr [ @.str.5, %6849 ], [ @.str.2, %6845 ]
  store i32 %6840, ptr %6839, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = load i32, ptr @test_count, align 4, !tbaa !5
  %6853 = load i32, ptr %2772, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror(i32 noundef %6853, ptr noundef nonnull @.str.4) #13
  %6855 = load i32, ptr %2772, align 4, !tbaa !5
  %6856 = call ptr @s2n_strerror_debug(i32 noundef %6855, ptr noundef nonnull @.str.4) #13
  %6857 = load i32, ptr %6839, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #13
  %6859 = load i32, ptr %6839, align 4, !tbaa !5
  %6860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6851, ptr noundef nonnull %.str.5.sink4228, i32 noundef %6852, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 937, ptr noundef %6854, ptr noundef %6856, ptr noundef %6858, i32 noundef %6859) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6861:                                             ; preds = %.preheader1905
  %exitcond1913.not = icmp eq i64 %.013891909, 1608
  br i1 %exitcond1913.not, label %6871, label %.preheader1905.1, !llvm.loop !51

.preheader1905.1:                                 ; preds = %6861
  %6862 = or disjoint i64 %.013891909, 1
  %6863 = add nsw i32 %6875, 2
  store i32 %6863, ptr @test_count, align 4, !tbaa !5
  %6864 = getelementptr inbounds i8, ptr %6808, i64 %6862
  %6865 = load i8, ptr %6864, align 1, !tbaa !44
  %6866 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %6862
  %6867 = load i8, ptr %6866, align 1, !tbaa !44
  %6868 = icmp eq i8 %6865, %6867
  br i1 %6868, label %6869, label %6882

6869:                                             ; preds = %.preheader1905.1
  %6870 = add nuw nsw i64 %.013891909, 2
  br label %.preheader1905

6871:                                             ; preds = %6861
  %6872 = add nsw i32 %6875, 2
  store i32 %6872, ptr @test_count, align 4, !tbaa !5
  %6873 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %6497, ptr noundef nonnull %6438) #13
  %6874 = icmp eq i32 %6873, -1
  br i1 %6874, label %6905, label %6928

.preheader1905:                                   ; preds = %6833, %6869
  %.013891909 = phi i64 [ %6870, %6869 ], [ 0, %6833 ]
  %6875 = phi i32 [ %6863, %6869 ], [ %6835, %6833 ]
  %6876 = add nsw i32 %6875, 1
  store i32 %6876, ptr @test_count, align 4, !tbaa !5
  %6877 = getelementptr inbounds i8, ptr %6808, i64 %.013891909
  %6878 = load i8, ptr %6877, align 1, !tbaa !44
  %6879 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %.013891909
  %6880 = load i8, ptr %6879, align 2, !tbaa !44
  %6881 = icmp eq i8 %6878, %6880
  br i1 %6881, label %6861, label %6882

6882:                                             ; preds = %.preheader1905.1, %.preheader1905
  %6883 = tail call ptr @__errno_location() #14
  %6884 = load i32, ptr %6883, align 4, !tbaa !5
  %6885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6886 = call i32 @s2n_print_stacktrace(ptr noundef %6885) #13
  %6887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6888 = trunc nuw i8 %6887 to i1
  br i1 %6888, label %6889, label %6893

6889:                                             ; preds = %6882
  %6890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6891 = call i32 @fileno(ptr noundef %6890) #13
  %6892 = call i32 @isatty(i32 noundef %6891) #13
  %.not1716 = icmp eq i32 %6892, 0
  br i1 %.not1716, label %6893, label %6894

6893:                                             ; preds = %6889, %6882
  br label %6894

6894:                                             ; preds = %6889, %6893
  %.str.5.sink4237 = phi ptr [ @.str.5, %6893 ], [ @.str.2, %6889 ]
  store i32 %6884, ptr %6883, align 4, !tbaa !5
  %6895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6896 = load i32, ptr @test_count, align 4, !tbaa !5
  %6897 = load i32, ptr %2772, align 4, !tbaa !5
  %6898 = call ptr @s2n_strerror(i32 noundef %6897, ptr noundef nonnull @.str.4) #13
  %6899 = load i32, ptr %2772, align 4, !tbaa !5
  %6900 = call ptr @s2n_strerror_debug(i32 noundef %6899, ptr noundef nonnull @.str.4) #13
  %6901 = load i32, ptr %6883, align 4, !tbaa !5
  %6902 = call ptr @strerror(i32 noundef %6901) #13
  %6903 = load i32, ptr %6883, align 4, !tbaa !5
  %6904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6895, ptr noundef nonnull %.str.5.sink4237, i32 noundef %6896, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 940, ptr noundef %6898, ptr noundef %6900, ptr noundef %6902, i32 noundef %6903) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6905:                                             ; preds = %6871
  %6906 = tail call ptr @__errno_location() #14
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908) #13
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc nuw i8 %6910 to i1
  br i1 %6911, label %6912, label %6916

6912:                                             ; preds = %6905
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #13
  %6915 = call i32 @isatty(i32 noundef %6914) #13
  %.not1715 = icmp eq i32 %6915, 0
  br i1 %.not1715, label %6916, label %6917

6916:                                             ; preds = %6912, %6905
  br label %6917

6917:                                             ; preds = %6912, %6916
  %.str.5.sink4246 = phi ptr [ @.str.5, %6916 ], [ @.str.2, %6912 ]
  store i32 %6907, ptr %6906, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = load i32, ptr %2772, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef nonnull @.str.4) #13
  %6922 = load i32, ptr %2772, align 4, !tbaa !5
  %6923 = call ptr @s2n_strerror_debug(i32 noundef %6922, ptr noundef nonnull @.str.4) #13
  %6924 = load i32, ptr %6906, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #13
  %6926 = load i32, ptr %6906, align 4, !tbaa !5
  %6927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef nonnull %.str.5.sink4246, i32 noundef %6919, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %6921, ptr noundef %6923, ptr noundef %6925, i32 noundef %6926) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6928:                                             ; preds = %6871
  %6929 = load i32, ptr @test_count, align 4, !tbaa !5
  %6930 = add nsw i32 %6929, 1
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = call i32 @s2n_connection_free(ptr noundef nonnull %6497) #13
  %6932 = icmp eq i32 %6931, -1
  br i1 %6932, label %6933, label %6956

6933:                                             ; preds = %6928
  %6934 = tail call ptr @__errno_location() #14
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = call i32 @s2n_print_stacktrace(ptr noundef %6936) #13
  %6938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6939 = trunc nuw i8 %6938 to i1
  br i1 %6939, label %6940, label %6944

6940:                                             ; preds = %6933
  %6941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6942 = call i32 @fileno(ptr noundef %6941) #13
  %6943 = call i32 @isatty(i32 noundef %6942) #13
  %.not1714 = icmp eq i32 %6943, 0
  br i1 %.not1714, label %6944, label %6945

6944:                                             ; preds = %6940, %6933
  br label %6945

6945:                                             ; preds = %6940, %6944
  %.str.5.sink4255 = phi ptr [ @.str.5, %6944 ], [ @.str.2, %6940 ]
  store i32 %6935, ptr %6934, align 4, !tbaa !5
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = load i32, ptr %2772, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror(i32 noundef %6948, ptr noundef nonnull @.str.4) #13
  %6950 = load i32, ptr %2772, align 4, !tbaa !5
  %6951 = call ptr @s2n_strerror_debug(i32 noundef %6950, ptr noundef nonnull @.str.4) #13
  %6952 = load i32, ptr %6934, align 4, !tbaa !5
  %6953 = call ptr @strerror(i32 noundef %6952) #13
  %6954 = load i32, ptr %6934, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6946, ptr noundef nonnull %.str.5.sink4255, i32 noundef %6947, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 945, ptr noundef %6949, ptr noundef %6951, ptr noundef %6953, i32 noundef %6954) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6956:                                             ; preds = %6928
  %6957 = load i32, ptr @test_count, align 4, !tbaa !5
  %6958 = add nsw i32 %6957, 1
  store i32 %6958, ptr @test_count, align 4, !tbaa !5
  %6959 = call i32 @s2n_connection_free(ptr noundef nonnull %6438) #13
  %6960 = icmp eq i32 %6959, -1
  br i1 %6960, label %6961, label %6984

6961:                                             ; preds = %6956
  %6962 = tail call ptr @__errno_location() #14
  %6963 = load i32, ptr %6962, align 4, !tbaa !5
  %6964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6965 = call i32 @s2n_print_stacktrace(ptr noundef %6964) #13
  %6966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6967 = trunc nuw i8 %6966 to i1
  br i1 %6967, label %6968, label %6972

6968:                                             ; preds = %6961
  %6969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6970 = call i32 @fileno(ptr noundef %6969) #13
  %6971 = call i32 @isatty(i32 noundef %6970) #13
  %.not1713 = icmp eq i32 %6971, 0
  br i1 %.not1713, label %6972, label %6973

6972:                                             ; preds = %6968, %6961
  br label %6973

6973:                                             ; preds = %6968, %6972
  %.str.5.sink4264 = phi ptr [ @.str.5, %6972 ], [ @.str.2, %6968 ]
  store i32 %6963, ptr %6962, align 4, !tbaa !5
  %6974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6975 = load i32, ptr @test_count, align 4, !tbaa !5
  %6976 = load i32, ptr %2772, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror(i32 noundef %6976, ptr noundef nonnull @.str.4) #13
  %6978 = load i32, ptr %2772, align 4, !tbaa !5
  %6979 = call ptr @s2n_strerror_debug(i32 noundef %6978, ptr noundef nonnull @.str.4) #13
  %6980 = load i32, ptr %6962, align 4, !tbaa !5
  %6981 = call ptr @strerror(i32 noundef %6980) #13
  %6982 = load i32, ptr %6962, align 4, !tbaa !5
  %6983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6974, ptr noundef nonnull %.str.5.sink4264, i32 noundef %6975, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 946, ptr noundef %6977, ptr noundef %6979, ptr noundef %6981, i32 noundef %6982) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6984:                                             ; preds = %6956
  %6985 = load i32, ptr @test_count, align 4, !tbaa !5
  %6986 = add nsw i32 %6985, 1
  store i32 %6986, ptr @test_count, align 4, !tbaa !5
  %6987 = call i32 @s2n_config_free(ptr noundef nonnull %6556) #13
  %6988 = icmp eq i32 %6987, -1
  br i1 %6988, label %6989, label %7012

6989:                                             ; preds = %6984
  %6990 = tail call ptr @__errno_location() #14
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = call i32 @s2n_print_stacktrace(ptr noundef %6992) #13
  %6994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6995 = trunc nuw i8 %6994 to i1
  br i1 %6995, label %6996, label %7000

6996:                                             ; preds = %6989
  %6997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6998 = call i32 @fileno(ptr noundef %6997) #13
  %6999 = call i32 @isatty(i32 noundef %6998) #13
  %.not1712 = icmp eq i32 %6999, 0
  br i1 %.not1712, label %7000, label %7001

7000:                                             ; preds = %6996, %6989
  br label %7001

7001:                                             ; preds = %6996, %7000
  %.str.5.sink4273 = phi ptr [ @.str.5, %7000 ], [ @.str.2, %6996 ]
  store i32 %6991, ptr %6990, align 4, !tbaa !5
  %7002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7003 = load i32, ptr @test_count, align 4, !tbaa !5
  %7004 = load i32, ptr %2772, align 4, !tbaa !5
  %7005 = call ptr @s2n_strerror(i32 noundef %7004, ptr noundef nonnull @.str.4) #13
  %7006 = load i32, ptr %2772, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror_debug(i32 noundef %7006, ptr noundef nonnull @.str.4) #13
  %7008 = load i32, ptr %6990, align 4, !tbaa !5
  %7009 = call ptr @strerror(i32 noundef %7008) #13
  %7010 = load i32, ptr %6990, align 4, !tbaa !5
  %7011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7002, ptr noundef nonnull %.str.5.sink4273, i32 noundef %7003, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %7005, ptr noundef %7007, ptr noundef %7009, i32 noundef %7010) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7012:                                             ; preds = %6984
  %7013 = load i32, ptr @test_count, align 4, !tbaa !5
  %7014 = add nsw i32 %7013, 1
  store i32 %7014, ptr @test_count, align 4, !tbaa !5
  %7015 = call i32 @s2n_config_free(ptr noundef nonnull %6326) #13
  %7016 = icmp eq i32 %7015, -1
  br i1 %7016, label %7017, label %7040

7017:                                             ; preds = %7012
  %7018 = tail call ptr @__errno_location() #14
  %7019 = load i32, ptr %7018, align 4, !tbaa !5
  %7020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7021 = call i32 @s2n_print_stacktrace(ptr noundef %7020) #13
  %7022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7023 = trunc nuw i8 %7022 to i1
  br i1 %7023, label %7024, label %7028

7024:                                             ; preds = %7017
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = call i32 @fileno(ptr noundef %7025) #13
  %7027 = call i32 @isatty(i32 noundef %7026) #13
  %.not1711 = icmp eq i32 %7027, 0
  br i1 %.not1711, label %7028, label %7029

7028:                                             ; preds = %7024, %7017
  br label %7029

7029:                                             ; preds = %7024, %7028
  %.str.5.sink4282 = phi ptr [ @.str.5, %7028 ], [ @.str.2, %7024 ]
  store i32 %7019, ptr %7018, align 4, !tbaa !5
  %7030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7031 = load i32, ptr @test_count, align 4, !tbaa !5
  %7032 = load i32, ptr %2772, align 4, !tbaa !5
  %7033 = call ptr @s2n_strerror(i32 noundef %7032, ptr noundef nonnull @.str.4) #13
  %7034 = load i32, ptr %2772, align 4, !tbaa !5
  %7035 = call ptr @s2n_strerror_debug(i32 noundef %7034, ptr noundef nonnull @.str.4) #13
  %7036 = load i32, ptr %7018, align 4, !tbaa !5
  %7037 = call ptr @strerror(i32 noundef %7036) #13
  %7038 = load i32, ptr %7018, align 4, !tbaa !5
  %7039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7030, ptr noundef nonnull %.str.5.sink4282, i32 noundef %7031, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 949, ptr noundef %7033, ptr noundef %7035, ptr noundef %7037, i32 noundef %7038) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7040:                                             ; preds = %7012
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #13
  br label %7041

7041:                                             ; preds = %7040, %6321
  %7042 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #13
  %.not1535 = icmp eq i8 %7042, 0
  br i1 %.not1535, label %7875, label %7043

7043:                                             ; preds = %7041
  %7044 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #13
  br i1 %7044, label %7045, label %7875

7045:                                             ; preds = %7043
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #13
  store i32 0, ptr %27, align 4, !tbaa !5
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %7047 = add nsw i32 %7046, 1
  store i32 %7047, ptr @test_count, align 4, !tbaa !5
  %7048 = call i32 (...) @s2n_enable_tls13_in_test() #13
  %7049 = icmp eq i32 %7048, -1
  br i1 %7049, label %7050, label %7073

7050:                                             ; preds = %7045
  %7051 = tail call ptr @__errno_location() #14
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7054 = call i32 @s2n_print_stacktrace(ptr noundef %7053) #13
  %7055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7056 = trunc nuw i8 %7055 to i1
  br i1 %7056, label %7057, label %7061

7057:                                             ; preds = %7050
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = call i32 @fileno(ptr noundef %7058) #13
  %7060 = call i32 @isatty(i32 noundef %7059) #13
  %.not1710 = icmp eq i32 %7060, 0
  br i1 %.not1710, label %7061, label %7062

7061:                                             ; preds = %7057, %7050
  br label %7062

7062:                                             ; preds = %7057, %7061
  %.str.5.sink4291 = phi ptr [ @.str.5, %7061 ], [ @.str.2, %7057 ]
  store i32 %7052, ptr %7051, align 4, !tbaa !5
  %7063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7064 = load i32, ptr @test_count, align 4, !tbaa !5
  %7065 = load i32, ptr %2772, align 4, !tbaa !5
  %7066 = call ptr @s2n_strerror(i32 noundef %7065, ptr noundef nonnull @.str.4) #13
  %7067 = load i32, ptr %2772, align 4, !tbaa !5
  %7068 = call ptr @s2n_strerror_debug(i32 noundef %7067, ptr noundef nonnull @.str.4) #13
  %7069 = load i32, ptr %7051, align 4, !tbaa !5
  %7070 = call ptr @strerror(i32 noundef %7069) #13
  %7071 = load i32, ptr %7051, align 4, !tbaa !5
  %7072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7063, ptr noundef nonnull %.str.5.sink4291, i32 noundef %7064, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 961, ptr noundef %7066, ptr noundef %7068, ptr noundef %7070, i32 noundef %7071) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7073:                                             ; preds = %7045
  %7074 = load i32, ptr @test_count, align 4, !tbaa !5
  %7075 = add nsw i32 %7074, 1
  store i32 %7075, ptr @test_count, align 4, !tbaa !5
  %7076 = call ptr @s2n_config_new() #13
  %7077 = icmp eq ptr %7076, null
  br i1 %7077, label %7078, label %7101

7078:                                             ; preds = %7073
  %7079 = tail call ptr @__errno_location() #14
  %7080 = load i32, ptr %7079, align 4, !tbaa !5
  %7081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7082 = call i32 @s2n_print_stacktrace(ptr noundef %7081) #13
  %7083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7084 = trunc nuw i8 %7083 to i1
  br i1 %7084, label %7085, label %7089

7085:                                             ; preds = %7078
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = call i32 @fileno(ptr noundef %7086) #13
  %7088 = call i32 @isatty(i32 noundef %7087) #13
  %.not1709 = icmp eq i32 %7088, 0
  br i1 %.not1709, label %7089, label %7090

7089:                                             ; preds = %7085, %7078
  br label %7090

7090:                                             ; preds = %7085, %7089
  %.str.5.sink4300 = phi ptr [ @.str.5, %7089 ], [ @.str.2, %7085 ]
  store i32 %7080, ptr %7079, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = load i32, ptr @test_count, align 4, !tbaa !5
  %7093 = load i32, ptr %2772, align 4, !tbaa !5
  %7094 = call ptr @s2n_strerror(i32 noundef %7093, ptr noundef nonnull @.str.4) #13
  %7095 = load i32, ptr %2772, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror_debug(i32 noundef %7095, ptr noundef nonnull @.str.4) #13
  %7097 = load i32, ptr %7079, align 4, !tbaa !5
  %7098 = call ptr @strerror(i32 noundef %7097) #13
  %7099 = load i32, ptr %7079, align 4, !tbaa !5
  %7100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef nonnull %.str.5.sink4300, i32 noundef %7092, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 963, ptr noundef %7094, ptr noundef %7096, ptr noundef %7098, i32 noundef %7099) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7101:                                             ; preds = %7073
  %7102 = load i32, ptr @test_count, align 4, !tbaa !5
  %7103 = add nsw i32 %7102, 1
  store i32 %7103, ptr @test_count, align 4, !tbaa !5
  %7104 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %7076, ptr noundef nonnull @.str.88) #13
  %7105 = icmp eq i32 %7104, -1
  br i1 %7105, label %7106, label %7129

7106:                                             ; preds = %7101
  %7107 = tail call ptr @__errno_location() #14
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7110 = call i32 @s2n_print_stacktrace(ptr noundef %7109) #13
  %7111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7112 = trunc nuw i8 %7111 to i1
  br i1 %7112, label %7113, label %7117

7113:                                             ; preds = %7106
  %7114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7115 = call i32 @fileno(ptr noundef %7114) #13
  %7116 = call i32 @isatty(i32 noundef %7115) #13
  %.not1708 = icmp eq i32 %7116, 0
  br i1 %.not1708, label %7117, label %7118

7117:                                             ; preds = %7113, %7106
  br label %7118

7118:                                             ; preds = %7113, %7117
  %.str.5.sink4309 = phi ptr [ @.str.5, %7117 ], [ @.str.2, %7113 ]
  store i32 %7108, ptr %7107, align 4, !tbaa !5
  %7119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7120 = load i32, ptr @test_count, align 4, !tbaa !5
  %7121 = load i32, ptr %2772, align 4, !tbaa !5
  %7122 = call ptr @s2n_strerror(i32 noundef %7121, ptr noundef nonnull @.str.4) #13
  %7123 = load i32, ptr %2772, align 4, !tbaa !5
  %7124 = call ptr @s2n_strerror_debug(i32 noundef %7123, ptr noundef nonnull @.str.4) #13
  %7125 = load i32, ptr %7107, align 4, !tbaa !5
  %7126 = call ptr @strerror(i32 noundef %7125) #13
  %7127 = load i32, ptr %7107, align 4, !tbaa !5
  %7128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7119, ptr noundef nonnull %.str.5.sink4309, i32 noundef %7120, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %7122, ptr noundef %7124, ptr noundef %7126, i32 noundef %7127) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7129:                                             ; preds = %7101
  %7130 = load i32, ptr @test_count, align 4, !tbaa !5
  %7131 = add nsw i32 %7130, 1
  store i32 %7131, ptr @test_count, align 4, !tbaa !5
  %7132 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %7076, i8 noundef zeroext 0) #13
  %7133 = icmp eq i32 %7132, -1
  br i1 %7133, label %7134, label %7157

7134:                                             ; preds = %7129
  %7135 = tail call ptr @__errno_location() #14
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7138 = call i32 @s2n_print_stacktrace(ptr noundef %7137) #13
  %7139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7140 = trunc nuw i8 %7139 to i1
  br i1 %7140, label %7141, label %7145

7141:                                             ; preds = %7134
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = call i32 @fileno(ptr noundef %7142) #13
  %7144 = call i32 @isatty(i32 noundef %7143) #13
  %.not1707 = icmp eq i32 %7144, 0
  br i1 %.not1707, label %7145, label %7146

7145:                                             ; preds = %7141, %7134
  br label %7146

7146:                                             ; preds = %7141, %7145
  %.str.5.sink4318 = phi ptr [ @.str.5, %7145 ], [ @.str.2, %7141 ]
  store i32 %7136, ptr %7135, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = load i32, ptr @test_count, align 4, !tbaa !5
  %7149 = load i32, ptr %2772, align 4, !tbaa !5
  %7150 = call ptr @s2n_strerror(i32 noundef %7149, ptr noundef nonnull @.str.4) #13
  %7151 = load i32, ptr %2772, align 4, !tbaa !5
  %7152 = call ptr @s2n_strerror_debug(i32 noundef %7151, ptr noundef nonnull @.str.4) #13
  %7153 = load i32, ptr %7135, align 4, !tbaa !5
  %7154 = call ptr @strerror(i32 noundef %7153) #13
  %7155 = load i32, ptr %7135, align 4, !tbaa !5
  %7156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7147, ptr noundef nonnull %.str.5.sink4318, i32 noundef %7148, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 965, ptr noundef %7150, ptr noundef %7152, ptr noundef %7154, i32 noundef %7155) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7157:                                             ; preds = %7129
  %7158 = load i32, ptr @test_count, align 4, !tbaa !5
  %7159 = add nsw i32 %7158, 1
  store i32 %7159, ptr @test_count, align 4, !tbaa !5
  %7160 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %7076) #13
  %7161 = icmp eq i32 %7160, -1
  br i1 %7161, label %7162, label %7185

7162:                                             ; preds = %7157
  %7163 = tail call ptr @__errno_location() #14
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = call i32 @s2n_print_stacktrace(ptr noundef %7165) #13
  %7167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7168 = trunc nuw i8 %7167 to i1
  br i1 %7168, label %7169, label %7173

7169:                                             ; preds = %7162
  %7170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7171 = call i32 @fileno(ptr noundef %7170) #13
  %7172 = call i32 @isatty(i32 noundef %7171) #13
  %.not1706 = icmp eq i32 %7172, 0
  br i1 %.not1706, label %7173, label %7174

7173:                                             ; preds = %7169, %7162
  br label %7174

7174:                                             ; preds = %7169, %7173
  %.str.5.sink4327 = phi ptr [ @.str.5, %7173 ], [ @.str.2, %7169 ]
  store i32 %7164, ptr %7163, align 4, !tbaa !5
  %7175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7176 = load i32, ptr @test_count, align 4, !tbaa !5
  %7177 = load i32, ptr %2772, align 4, !tbaa !5
  %7178 = call ptr @s2n_strerror(i32 noundef %7177, ptr noundef nonnull @.str.4) #13
  %7179 = load i32, ptr %2772, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror_debug(i32 noundef %7179, ptr noundef nonnull @.str.4) #13
  %7181 = load i32, ptr %7163, align 4, !tbaa !5
  %7182 = call ptr @strerror(i32 noundef %7181) #13
  %7183 = load i32, ptr %7163, align 4, !tbaa !5
  %7184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7175, ptr noundef nonnull %.str.5.sink4327, i32 noundef %7176, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 966, ptr noundef %7178, ptr noundef %7180, ptr noundef %7182, i32 noundef %7183) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7185:                                             ; preds = %7157
  %7186 = load i32, ptr @test_count, align 4, !tbaa !5
  %7187 = add nsw i32 %7186, 1
  store i32 %7187, ptr @test_count, align 4, !tbaa !5
  %7188 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %7076, i32 noundef 1) #13
  %7189 = icmp eq i32 %7188, -1
  br i1 %7189, label %7190, label %7213

7190:                                             ; preds = %7185
  %7191 = tail call ptr @__errno_location() #14
  %7192 = load i32, ptr %7191, align 4, !tbaa !5
  %7193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7194 = call i32 @s2n_print_stacktrace(ptr noundef %7193) #13
  %7195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7196 = trunc nuw i8 %7195 to i1
  br i1 %7196, label %7197, label %7201

7197:                                             ; preds = %7190
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = call i32 @fileno(ptr noundef %7198) #13
  %7200 = call i32 @isatty(i32 noundef %7199) #13
  %.not1705 = icmp eq i32 %7200, 0
  br i1 %.not1705, label %7201, label %7202

7201:                                             ; preds = %7197, %7190
  br label %7202

7202:                                             ; preds = %7197, %7201
  %.str.5.sink4336 = phi ptr [ @.str.5, %7201 ], [ @.str.2, %7197 ]
  store i32 %7192, ptr %7191, align 4, !tbaa !5
  %7203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7204 = load i32, ptr @test_count, align 4, !tbaa !5
  %7205 = load i32, ptr %2772, align 4, !tbaa !5
  %7206 = call ptr @s2n_strerror(i32 noundef %7205, ptr noundef nonnull @.str.4) #13
  %7207 = load i32, ptr %2772, align 4, !tbaa !5
  %7208 = call ptr @s2n_strerror_debug(i32 noundef %7207, ptr noundef nonnull @.str.4) #13
  %7209 = load i32, ptr %7191, align 4, !tbaa !5
  %7210 = call ptr @strerror(i32 noundef %7209) #13
  %7211 = load i32, ptr %7191, align 4, !tbaa !5
  %7212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7203, ptr noundef nonnull %.str.5.sink4336, i32 noundef %7204, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 967, ptr noundef %7206, ptr noundef %7208, ptr noundef %7210, i32 noundef %7211) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7213:                                             ; preds = %7185
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = add nsw i32 %7214, 1
  store i32 %7215, ptr @test_count, align 4, !tbaa !5
  %7216 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %7217 = icmp eq ptr %7216, null
  br i1 %7217, label %7218, label %7241

7218:                                             ; preds = %7213
  %7219 = tail call ptr @__errno_location() #14
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7222 = call i32 @s2n_print_stacktrace(ptr noundef %7221) #13
  %7223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7224 = trunc nuw i8 %7223 to i1
  br i1 %7224, label %7225, label %7229

7225:                                             ; preds = %7218
  %7226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7227 = call i32 @fileno(ptr noundef %7226) #13
  %7228 = call i32 @isatty(i32 noundef %7227) #13
  %.not1704 = icmp eq i32 %7228, 0
  br i1 %.not1704, label %7229, label %7230

7229:                                             ; preds = %7225, %7218
  br label %7230

7230:                                             ; preds = %7225, %7229
  %.str.5.sink4345 = phi ptr [ @.str.5, %7229 ], [ @.str.2, %7225 ]
  store i32 %7220, ptr %7219, align 4, !tbaa !5
  %7231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7232 = load i32, ptr @test_count, align 4, !tbaa !5
  %7233 = load i32, ptr %2772, align 4, !tbaa !5
  %7234 = call ptr @s2n_strerror(i32 noundef %7233, ptr noundef nonnull @.str.4) #13
  %7235 = load i32, ptr %2772, align 4, !tbaa !5
  %7236 = call ptr @s2n_strerror_debug(i32 noundef %7235, ptr noundef nonnull @.str.4) #13
  %7237 = load i32, ptr %7219, align 4, !tbaa !5
  %7238 = call ptr @strerror(i32 noundef %7237) #13
  %7239 = load i32, ptr %7219, align 4, !tbaa !5
  %7240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7231, ptr noundef nonnull %.str.5.sink4345, i32 noundef %7232, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 969, ptr noundef %7234, ptr noundef %7236, ptr noundef %7238, i32 noundef %7239) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7241:                                             ; preds = %7213
  %7242 = load i32, ptr @test_count, align 4, !tbaa !5
  %7243 = add nsw i32 %7242, 1
  store i32 %7243, ptr @test_count, align 4, !tbaa !5
  %7244 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7216, ptr noundef nonnull %7076) #13
  %7245 = icmp eq i32 %7244, -1
  br i1 %7245, label %7246, label %7269

7246:                                             ; preds = %7241
  %7247 = tail call ptr @__errno_location() #14
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @s2n_print_stacktrace(ptr noundef %7249) #13
  %7251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7252 = trunc nuw i8 %7251 to i1
  br i1 %7252, label %7253, label %7257

7253:                                             ; preds = %7246
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = call i32 @fileno(ptr noundef %7254) #13
  %7256 = call i32 @isatty(i32 noundef %7255) #13
  %.not1703 = icmp eq i32 %7256, 0
  br i1 %.not1703, label %7257, label %7258

7257:                                             ; preds = %7253, %7246
  br label %7258

7258:                                             ; preds = %7253, %7257
  %.str.5.sink4354 = phi ptr [ @.str.5, %7257 ], [ @.str.2, %7253 ]
  store i32 %7248, ptr %7247, align 4, !tbaa !5
  %7259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7260 = load i32, ptr @test_count, align 4, !tbaa !5
  %7261 = load i32, ptr %2772, align 4, !tbaa !5
  %7262 = call ptr @s2n_strerror(i32 noundef %7261, ptr noundef nonnull @.str.4) #13
  %7263 = load i32, ptr %2772, align 4, !tbaa !5
  %7264 = call ptr @s2n_strerror_debug(i32 noundef %7263, ptr noundef nonnull @.str.4) #13
  %7265 = load i32, ptr %7247, align 4, !tbaa !5
  %7266 = call ptr @strerror(i32 noundef %7265) #13
  %7267 = load i32, ptr %7247, align 4, !tbaa !5
  %7268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7259, ptr noundef nonnull %.str.5.sink4354, i32 noundef %7260, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 970, ptr noundef %7262, ptr noundef %7264, ptr noundef %7266, i32 noundef %7267) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7269:                                             ; preds = %7241
  %7270 = getelementptr inbounds i8, ptr %7216, i64 220
  store i8 34, ptr %7270, align 4, !tbaa !15
  %7271 = getelementptr inbounds i8, ptr %7216, i64 219
  store i8 34, ptr %7271, align 1, !tbaa !42
  %7272 = getelementptr inbounds i8, ptr %7216, i64 218
  store i8 34, ptr %7272, align 2, !tbaa !43
  %7273 = load i32, ptr @test_count, align 4, !tbaa !5
  %7274 = add nsw i32 %7273, 1
  store i32 %7274, ptr @test_count, align 4, !tbaa !5
  %7275 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %7276 = icmp eq ptr %7275, null
  br i1 %7276, label %7277, label %7300

7277:                                             ; preds = %7269
  %7278 = tail call ptr @__errno_location() #14
  %7279 = load i32, ptr %7278, align 4, !tbaa !5
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = call i32 @s2n_print_stacktrace(ptr noundef %7280) #13
  %7282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7283 = trunc nuw i8 %7282 to i1
  br i1 %7283, label %7284, label %7288

7284:                                             ; preds = %7277
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = call i32 @fileno(ptr noundef %7285) #13
  %7287 = call i32 @isatty(i32 noundef %7286) #13
  %.not1702 = icmp eq i32 %7287, 0
  br i1 %.not1702, label %7288, label %7289

7288:                                             ; preds = %7284, %7277
  br label %7289

7289:                                             ; preds = %7284, %7288
  %.str.5.sink4363 = phi ptr [ @.str.5, %7288 ], [ @.str.2, %7284 ]
  store i32 %7279, ptr %7278, align 4, !tbaa !5
  %7290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7291 = load i32, ptr @test_count, align 4, !tbaa !5
  %7292 = load i32, ptr %2772, align 4, !tbaa !5
  %7293 = call ptr @s2n_strerror(i32 noundef %7292, ptr noundef nonnull @.str.4) #13
  %7294 = load i32, ptr %2772, align 4, !tbaa !5
  %7295 = call ptr @s2n_strerror_debug(i32 noundef %7294, ptr noundef nonnull @.str.4) #13
  %7296 = load i32, ptr %7278, align 4, !tbaa !5
  %7297 = call ptr @strerror(i32 noundef %7296) #13
  %7298 = load i32, ptr %7278, align 4, !tbaa !5
  %7299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7290, ptr noundef nonnull %.str.5.sink4363, i32 noundef %7291, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 975, ptr noundef %7293, ptr noundef %7295, ptr noundef %7297, i32 noundef %7298) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7300:                                             ; preds = %7269
  %7301 = getelementptr inbounds i8, ptr %7275, i64 220
  store i8 34, ptr %7301, align 4, !tbaa !15
  %7302 = getelementptr inbounds i8, ptr %7275, i64 219
  store i8 34, ptr %7302, align 1, !tbaa !42
  %7303 = getelementptr inbounds i8, ptr %7275, i64 218
  store i8 34, ptr %7303, align 2, !tbaa !43
  %7304 = load i32, ptr @test_count, align 4, !tbaa !5
  %7305 = add nsw i32 %7304, 1
  store i32 %7305, ptr @test_count, align 4, !tbaa !5
  %7306 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %7216, ptr noundef nonnull %7275, ptr noundef nonnull %3) #13
  %7307 = icmp eq i32 %7306, -1
  br i1 %7307, label %7308, label %7331

7308:                                             ; preds = %7300
  %7309 = tail call ptr @__errno_location() #14
  %7310 = load i32, ptr %7309, align 4, !tbaa !5
  %7311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7312 = call i32 @s2n_print_stacktrace(ptr noundef %7311) #13
  %7313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7314 = trunc nuw i8 %7313 to i1
  br i1 %7314, label %7315, label %7319

7315:                                             ; preds = %7308
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = call i32 @fileno(ptr noundef %7316) #13
  %7318 = call i32 @isatty(i32 noundef %7317) #13
  %.not1701 = icmp eq i32 %7318, 0
  br i1 %.not1701, label %7319, label %7320

7319:                                             ; preds = %7315, %7308
  br label %7320

7320:                                             ; preds = %7315, %7319
  %.str.5.sink4372 = phi ptr [ @.str.5, %7319 ], [ @.str.2, %7315 ]
  store i32 %7310, ptr %7309, align 4, !tbaa !5
  %7321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7322 = load i32, ptr @test_count, align 4, !tbaa !5
  %7323 = load i32, ptr %2772, align 4, !tbaa !5
  %7324 = call ptr @s2n_strerror(i32 noundef %7323, ptr noundef nonnull @.str.4) #13
  %7325 = load i32, ptr %2772, align 4, !tbaa !5
  %7326 = call ptr @s2n_strerror_debug(i32 noundef %7325, ptr noundef nonnull @.str.4) #13
  %7327 = load i32, ptr %7309, align 4, !tbaa !5
  %7328 = call ptr @strerror(i32 noundef %7327) #13
  %7329 = load i32, ptr %7309, align 4, !tbaa !5
  %7330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7321, ptr noundef nonnull %.str.5.sink4372, i32 noundef %7322, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 980, ptr noundef %7324, ptr noundef %7326, ptr noundef %7328, i32 noundef %7329) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7331:                                             ; preds = %7300
  %7332 = load i32, ptr @test_count, align 4, !tbaa !5
  %7333 = add nsw i32 %7332, 1
  store i32 %7333, ptr @test_count, align 4, !tbaa !5
  %7334 = call ptr @s2n_config_new() #13
  %7335 = icmp eq ptr %7334, null
  br i1 %7335, label %7336, label %7359

7336:                                             ; preds = %7331
  %7337 = tail call ptr @__errno_location() #14
  %7338 = load i32, ptr %7337, align 4, !tbaa !5
  %7339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7340 = call i32 @s2n_print_stacktrace(ptr noundef %7339) #13
  %7341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7342 = trunc nuw i8 %7341 to i1
  br i1 %7342, label %7343, label %7347

7343:                                             ; preds = %7336
  %7344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7345 = call i32 @fileno(ptr noundef %7344) #13
  %7346 = call i32 @isatty(i32 noundef %7345) #13
  %.not1700 = icmp eq i32 %7346, 0
  br i1 %.not1700, label %7347, label %7348

7347:                                             ; preds = %7343, %7336
  br label %7348

7348:                                             ; preds = %7343, %7347
  %.str.5.sink4381 = phi ptr [ @.str.5, %7347 ], [ @.str.2, %7343 ]
  store i32 %7338, ptr %7337, align 4, !tbaa !5
  %7349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7350 = load i32, ptr @test_count, align 4, !tbaa !5
  %7351 = load i32, ptr %2772, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror(i32 noundef %7351, ptr noundef nonnull @.str.4) #13
  %7353 = load i32, ptr %2772, align 4, !tbaa !5
  %7354 = call ptr @s2n_strerror_debug(i32 noundef %7353, ptr noundef nonnull @.str.4) #13
  %7355 = load i32, ptr %7337, align 4, !tbaa !5
  %7356 = call ptr @strerror(i32 noundef %7355) #13
  %7357 = load i32, ptr %7337, align 4, !tbaa !5
  %7358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7349, ptr noundef nonnull %.str.5.sink4381, i32 noundef %7350, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 982, ptr noundef %7352, ptr noundef %7354, ptr noundef %7356, i32 noundef %7357) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7359:                                             ; preds = %7331
  %7360 = load i32, ptr @test_count, align 4, !tbaa !5
  %7361 = add nsw i32 %7360, 1
  store i32 %7361, ptr @test_count, align 4, !tbaa !5
  %7362 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %7334, ptr noundef nonnull @.str.88) #13
  %7363 = icmp eq i32 %7362, -1
  br i1 %7363, label %7364, label %7387

7364:                                             ; preds = %7359
  %7365 = tail call ptr @__errno_location() #14
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7368 = call i32 @s2n_print_stacktrace(ptr noundef %7367) #13
  %7369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7370 = trunc nuw i8 %7369 to i1
  br i1 %7370, label %7371, label %7375

7371:                                             ; preds = %7364
  %7372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7373 = call i32 @fileno(ptr noundef %7372) #13
  %7374 = call i32 @isatty(i32 noundef %7373) #13
  %.not1699 = icmp eq i32 %7374, 0
  br i1 %.not1699, label %7375, label %7376

7375:                                             ; preds = %7371, %7364
  br label %7376

7376:                                             ; preds = %7371, %7375
  %.str.5.sink4390 = phi ptr [ @.str.5, %7375 ], [ @.str.2, %7371 ]
  store i32 %7366, ptr %7365, align 4, !tbaa !5
  %7377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7378 = load i32, ptr @test_count, align 4, !tbaa !5
  %7379 = load i32, ptr %2772, align 4, !tbaa !5
  %7380 = call ptr @s2n_strerror(i32 noundef %7379, ptr noundef nonnull @.str.4) #13
  %7381 = load i32, ptr %2772, align 4, !tbaa !5
  %7382 = call ptr @s2n_strerror_debug(i32 noundef %7381, ptr noundef nonnull @.str.4) #13
  %7383 = load i32, ptr %7365, align 4, !tbaa !5
  %7384 = call ptr @strerror(i32 noundef %7383) #13
  %7385 = load i32, ptr %7365, align 4, !tbaa !5
  %7386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7377, ptr noundef nonnull %.str.5.sink4390, i32 noundef %7378, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 983, ptr noundef %7380, ptr noundef %7382, ptr noundef %7384, i32 noundef %7385) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7387:                                             ; preds = %7359
  %7388 = load i32, ptr @test_count, align 4, !tbaa !5
  %7389 = add nsw i32 %7388, 1
  store i32 %7389, ptr @test_count, align 4, !tbaa !5
  %7390 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.91, ptr noundef %149, i64 noundef 12000) #13
  %7391 = icmp eq i32 %7390, -1
  br i1 %7391, label %7392, label %7415

7392:                                             ; preds = %7387
  %7393 = tail call ptr @__errno_location() #14
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7396 = call i32 @s2n_print_stacktrace(ptr noundef %7395) #13
  %7397 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7398 = trunc nuw i8 %7397 to i1
  br i1 %7398, label %7399, label %7403

7399:                                             ; preds = %7392
  %7400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7401 = call i32 @fileno(ptr noundef %7400) #13
  %7402 = call i32 @isatty(i32 noundef %7401) #13
  %.not1698 = icmp eq i32 %7402, 0
  br i1 %.not1698, label %7403, label %7404

7403:                                             ; preds = %7399, %7392
  br label %7404

7404:                                             ; preds = %7399, %7403
  %.str.5.sink4399 = phi ptr [ @.str.5, %7403 ], [ @.str.2, %7399 ]
  store i32 %7394, ptr %7393, align 4, !tbaa !5
  %7405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7406 = load i32, ptr @test_count, align 4, !tbaa !5
  %7407 = load i32, ptr %2772, align 4, !tbaa !5
  %7408 = call ptr @s2n_strerror(i32 noundef %7407, ptr noundef nonnull @.str.4) #13
  %7409 = load i32, ptr %2772, align 4, !tbaa !5
  %7410 = call ptr @s2n_strerror_debug(i32 noundef %7409, ptr noundef nonnull @.str.4) #13
  %7411 = load i32, ptr %7393, align 4, !tbaa !5
  %7412 = call ptr @strerror(i32 noundef %7411) #13
  %7413 = load i32, ptr %7393, align 4, !tbaa !5
  %7414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7405, ptr noundef nonnull %.str.5.sink4399, i32 noundef %7406, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %7408, ptr noundef %7410, ptr noundef %7412, i32 noundef %7413) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7415:                                             ; preds = %7387
  %7416 = load i32, ptr @test_count, align 4, !tbaa !5
  %7417 = add nsw i32 %7416, 1
  store i32 %7417, ptr @test_count, align 4, !tbaa !5
  %7418 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.93, ptr noundef %177, i64 noundef 12000) #13
  %7419 = icmp eq i32 %7418, -1
  br i1 %7419, label %7420, label %7443

7420:                                             ; preds = %7415
  %7421 = tail call ptr @__errno_location() #14
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = call i32 @s2n_print_stacktrace(ptr noundef %7423) #13
  %7425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7426 = trunc nuw i8 %7425 to i1
  br i1 %7426, label %7427, label %7431

7427:                                             ; preds = %7420
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = call i32 @fileno(ptr noundef %7428) #13
  %7430 = call i32 @isatty(i32 noundef %7429) #13
  %.not1697 = icmp eq i32 %7430, 0
  br i1 %.not1697, label %7431, label %7432

7431:                                             ; preds = %7427, %7420
  br label %7432

7432:                                             ; preds = %7427, %7431
  %.str.5.sink4408 = phi ptr [ @.str.5, %7431 ], [ @.str.2, %7427 ]
  store i32 %7422, ptr %7421, align 4, !tbaa !5
  %7433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7434 = load i32, ptr @test_count, align 4, !tbaa !5
  %7435 = load i32, ptr %2772, align 4, !tbaa !5
  %7436 = call ptr @s2n_strerror(i32 noundef %7435, ptr noundef nonnull @.str.4) #13
  %7437 = load i32, ptr %2772, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror_debug(i32 noundef %7437, ptr noundef nonnull @.str.4) #13
  %7439 = load i32, ptr %7421, align 4, !tbaa !5
  %7440 = call ptr @strerror(i32 noundef %7439) #13
  %7441 = load i32, ptr %7421, align 4, !tbaa !5
  %7442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7433, ptr noundef nonnull %.str.5.sink4408, i32 noundef %7434, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 985, ptr noundef %7436, ptr noundef %7438, ptr noundef %7440, i32 noundef %7441) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7443:                                             ; preds = %7415
  %7444 = load i32, ptr @test_count, align 4, !tbaa !5
  %7445 = add nsw i32 %7444, 1
  store i32 %7445, ptr @test_count, align 4, !tbaa !5
  %7446 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %7334, ptr noundef %149, ptr noundef %177) #13
  %7447 = icmp eq i32 %7446, -1
  br i1 %7447, label %7448, label %7471

7448:                                             ; preds = %7443
  %7449 = tail call ptr @__errno_location() #14
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7452 = call i32 @s2n_print_stacktrace(ptr noundef %7451) #13
  %7453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7454 = trunc nuw i8 %7453 to i1
  br i1 %7454, label %7455, label %7459

7455:                                             ; preds = %7448
  %7456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7457 = call i32 @fileno(ptr noundef %7456) #13
  %7458 = call i32 @isatty(i32 noundef %7457) #13
  %.not1696 = icmp eq i32 %7458, 0
  br i1 %.not1696, label %7459, label %7460

7459:                                             ; preds = %7455, %7448
  br label %7460

7460:                                             ; preds = %7455, %7459
  %.str.5.sink4417 = phi ptr [ @.str.5, %7459 ], [ @.str.2, %7455 ]
  store i32 %7450, ptr %7449, align 4, !tbaa !5
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = load i32, ptr @test_count, align 4, !tbaa !5
  %7463 = load i32, ptr %2772, align 4, !tbaa !5
  %7464 = call ptr @s2n_strerror(i32 noundef %7463, ptr noundef nonnull @.str.4) #13
  %7465 = load i32, ptr %2772, align 4, !tbaa !5
  %7466 = call ptr @s2n_strerror_debug(i32 noundef %7465, ptr noundef nonnull @.str.4) #13
  %7467 = load i32, ptr %7449, align 4, !tbaa !5
  %7468 = call ptr @strerror(i32 noundef %7467) #13
  %7469 = load i32, ptr %7449, align 4, !tbaa !5
  %7470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7461, ptr noundef nonnull %.str.5.sink4417, i32 noundef %7462, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 986, ptr noundef %7464, ptr noundef %7466, ptr noundef %7468, i32 noundef %7469) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7471:                                             ; preds = %7443
  %7472 = load i32, ptr @test_count, align 4, !tbaa !5
  %7473 = add nsw i32 %7472, 1
  store i32 %7473, ptr @test_count, align 4, !tbaa !5
  %7474 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %7334, i32 noundef 5, ptr noundef nonnull @server_ocsp_status_bytes, i32 noundef 1609) #13
  %7475 = icmp eq i32 %7474, -1
  br i1 %7475, label %7476, label %7499

7476:                                             ; preds = %7471
  %7477 = tail call ptr @__errno_location() #14
  %7478 = load i32, ptr %7477, align 4, !tbaa !5
  %7479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7480 = call i32 @s2n_print_stacktrace(ptr noundef %7479) #13
  %7481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7482 = trunc nuw i8 %7481 to i1
  br i1 %7482, label %7483, label %7487

7483:                                             ; preds = %7476
  %7484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7485 = call i32 @fileno(ptr noundef %7484) #13
  %7486 = call i32 @isatty(i32 noundef %7485) #13
  %.not1695 = icmp eq i32 %7486, 0
  br i1 %.not1695, label %7487, label %7488

7487:                                             ; preds = %7483, %7476
  br label %7488

7488:                                             ; preds = %7483, %7487
  %.str.5.sink4426 = phi ptr [ @.str.5, %7487 ], [ @.str.2, %7483 ]
  store i32 %7478, ptr %7477, align 4, !tbaa !5
  %7489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7490 = load i32, ptr @test_count, align 4, !tbaa !5
  %7491 = load i32, ptr %2772, align 4, !tbaa !5
  %7492 = call ptr @s2n_strerror(i32 noundef %7491, ptr noundef nonnull @.str.4) #13
  %7493 = load i32, ptr %2772, align 4, !tbaa !5
  %7494 = call ptr @s2n_strerror_debug(i32 noundef %7493, ptr noundef nonnull @.str.4) #13
  %7495 = load i32, ptr %7477, align 4, !tbaa !5
  %7496 = call ptr @strerror(i32 noundef %7495) #13
  %7497 = load i32, ptr %7477, align 4, !tbaa !5
  %7498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7489, ptr noundef nonnull %.str.5.sink4426, i32 noundef %7490, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 988, ptr noundef %7492, ptr noundef %7494, ptr noundef %7496, i32 noundef %7497) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7499:                                             ; preds = %7471
  %7500 = load i32, ptr @test_count, align 4, !tbaa !5
  %7501 = add nsw i32 %7500, 1
  store i32 %7501, ptr @test_count, align 4, !tbaa !5
  %7502 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7275, ptr noundef nonnull %7334) #13
  %7503 = icmp eq i32 %7502, -1
  br i1 %7503, label %7504, label %7527

7504:                                             ; preds = %7499
  %7505 = tail call ptr @__errno_location() #14
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = call i32 @s2n_print_stacktrace(ptr noundef %7507) #13
  %7509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7510 = trunc nuw i8 %7509 to i1
  br i1 %7510, label %7511, label %7515

7511:                                             ; preds = %7504
  %7512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7513 = call i32 @fileno(ptr noundef %7512) #13
  %7514 = call i32 @isatty(i32 noundef %7513) #13
  %.not1694 = icmp eq i32 %7514, 0
  br i1 %.not1694, label %7515, label %7516

7515:                                             ; preds = %7511, %7504
  br label %7516

7516:                                             ; preds = %7511, %7515
  %.str.5.sink4435 = phi ptr [ @.str.5, %7515 ], [ @.str.2, %7511 ]
  store i32 %7506, ptr %7505, align 4, !tbaa !5
  %7517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7518 = load i32, ptr @test_count, align 4, !tbaa !5
  %7519 = load i32, ptr %2772, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror(i32 noundef %7519, ptr noundef nonnull @.str.4) #13
  %7521 = load i32, ptr %2772, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef nonnull @.str.4) #13
  %7523 = load i32, ptr %7505, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #13
  %7525 = load i32, ptr %7505, align 4, !tbaa !5
  %7526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7517, ptr noundef nonnull %.str.5.sink4435, i32 noundef %7518, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 989, ptr noundef %7520, ptr noundef %7522, ptr noundef %7524, i32 noundef %7525) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7527:                                             ; preds = %7499
  %7528 = load i32, ptr @test_count, align 4, !tbaa !5
  %7529 = add nsw i32 %7528, 1
  store i32 %7529, ptr @test_count, align 4, !tbaa !5
  %7530 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %7275, ptr noundef nonnull %7216) #13
  %7531 = icmp eq i32 %7530, -1
  br i1 %7531, label %7532, label %7555

7532:                                             ; preds = %7527
  %7533 = tail call ptr @__errno_location() #14
  %7534 = load i32, ptr %7533, align 4, !tbaa !5
  %7535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7536 = call i32 @s2n_print_stacktrace(ptr noundef %7535) #13
  %7537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7538 = trunc nuw i8 %7537 to i1
  br i1 %7538, label %7539, label %7543

7539:                                             ; preds = %7532
  %7540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7541 = call i32 @fileno(ptr noundef %7540) #13
  %7542 = call i32 @isatty(i32 noundef %7541) #13
  %.not1693 = icmp eq i32 %7542, 0
  br i1 %.not1693, label %7543, label %7544

7543:                                             ; preds = %7539, %7532
  br label %7544

7544:                                             ; preds = %7539, %7543
  %.str.5.sink4444 = phi ptr [ @.str.5, %7543 ], [ @.str.2, %7539 ]
  store i32 %7534, ptr %7533, align 4, !tbaa !5
  %7545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7546 = load i32, ptr @test_count, align 4, !tbaa !5
  %7547 = load i32, ptr %2772, align 4, !tbaa !5
  %7548 = call ptr @s2n_strerror(i32 noundef %7547, ptr noundef nonnull @.str.4) #13
  %7549 = load i32, ptr %2772, align 4, !tbaa !5
  %7550 = call ptr @s2n_strerror_debug(i32 noundef %7549, ptr noundef nonnull @.str.4) #13
  %7551 = load i32, ptr %7533, align 4, !tbaa !5
  %7552 = call ptr @strerror(i32 noundef %7551) #13
  %7553 = load i32, ptr %7533, align 4, !tbaa !5
  %7554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7545, ptr noundef nonnull %.str.5.sink4444, i32 noundef %7546, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 991, ptr noundef %7548, ptr noundef %7550, ptr noundef %7552, i32 noundef %7553) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7555:                                             ; preds = %7527
  %7556 = load i32, ptr @test_count, align 4, !tbaa !5
  %7557 = add nsw i32 %7556, 1
  store i32 %7557, ptr @test_count, align 4, !tbaa !5
  %7558 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %7275) #13
  %7559 = icmp eq i32 %7558, 1
  br i1 %7559, label %7583, label %7560

7560:                                             ; preds = %7555
  %7561 = tail call ptr @__errno_location() #14
  %7562 = load i32, ptr %7561, align 4, !tbaa !5
  %7563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7564 = call i32 @s2n_print_stacktrace(ptr noundef %7563) #13
  %7565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7566 = trunc nuw i8 %7565 to i1
  br i1 %7566, label %7567, label %7571

7567:                                             ; preds = %7560
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = call i32 @fileno(ptr noundef %7568) #13
  %7570 = call i32 @isatty(i32 noundef %7569) #13
  %.not1536 = icmp eq i32 %7570, 0
  br i1 %.not1536, label %7571, label %7572

7571:                                             ; preds = %7567, %7560
  br label %7572

7572:                                             ; preds = %7567, %7571
  %.str.5.sink4453 = phi ptr [ @.str.5, %7571 ], [ @.str.2, %7567 ]
  store i32 %7562, ptr %7561, align 4, !tbaa !5
  %7573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7574 = load i32, ptr @test_count, align 4, !tbaa !5
  %7575 = load i32, ptr %2772, align 4, !tbaa !5
  %7576 = call ptr @s2n_strerror(i32 noundef %7575, ptr noundef nonnull @.str.4) #13
  %7577 = load i32, ptr %2772, align 4, !tbaa !5
  %7578 = call ptr @s2n_strerror_debug(i32 noundef %7577, ptr noundef nonnull @.str.4) #13
  %7579 = load i32, ptr %7561, align 4, !tbaa !5
  %7580 = call ptr @strerror(i32 noundef %7579) #13
  %7581 = load i32, ptr %7561, align 4, !tbaa !5
  %7582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7573, ptr noundef nonnull %.str.5.sink4453, i32 noundef %7574, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 994, ptr noundef %7576, ptr noundef %7578, ptr noundef %7580, i32 noundef %7581) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7583:                                             ; preds = %7555
  %7584 = load i32, ptr @test_count, align 4, !tbaa !5
  %7585 = add nsw i32 %7584, 1
  store i32 %7585, ptr @test_count, align 4, !tbaa !5
  %7586 = call i32 @s2n_connection_is_ocsp_stapled(ptr noundef nonnull %7216) #13
  %7587 = icmp eq i32 %7586, 1
  br i1 %7587, label %7611, label %7588

7588:                                             ; preds = %7583
  %7589 = tail call ptr @__errno_location() #14
  %7590 = load i32, ptr %7589, align 4, !tbaa !5
  %7591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7592 = call i32 @s2n_print_stacktrace(ptr noundef %7591) #13
  %7593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7594 = trunc nuw i8 %7593 to i1
  br i1 %7594, label %7595, label %7599

7595:                                             ; preds = %7588
  %7596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7597 = call i32 @fileno(ptr noundef %7596) #13
  %7598 = call i32 @isatty(i32 noundef %7597) #13
  %.not1537 = icmp eq i32 %7598, 0
  br i1 %.not1537, label %7599, label %7600

7599:                                             ; preds = %7595, %7588
  br label %7600

7600:                                             ; preds = %7595, %7599
  %.str.5.sink4462 = phi ptr [ @.str.5, %7599 ], [ @.str.2, %7595 ]
  store i32 %7590, ptr %7589, align 4, !tbaa !5
  %7601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7602 = load i32, ptr @test_count, align 4, !tbaa !5
  %7603 = load i32, ptr %2772, align 4, !tbaa !5
  %7604 = call ptr @s2n_strerror(i32 noundef %7603, ptr noundef nonnull @.str.4) #13
  %7605 = load i32, ptr %2772, align 4, !tbaa !5
  %7606 = call ptr @s2n_strerror_debug(i32 noundef %7605, ptr noundef nonnull @.str.4) #13
  %7607 = load i32, ptr %7589, align 4, !tbaa !5
  %7608 = call ptr @strerror(i32 noundef %7607) #13
  %7609 = load i32, ptr %7589, align 4, !tbaa !5
  %7610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7601, ptr noundef nonnull %.str.5.sink4462, i32 noundef %7602, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 997, ptr noundef %7604, ptr noundef %7606, ptr noundef %7608, i32 noundef %7609) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7611:                                             ; preds = %7583
  %7612 = load i32, ptr @test_count, align 4, !tbaa !5
  %7613 = add nsw i32 %7612, 1
  store i32 %7613, ptr @test_count, align 4, !tbaa !5
  %7614 = call ptr @s2n_connection_get_ocsp_response(ptr noundef nonnull %7216, ptr noundef nonnull %27) #13
  %7615 = icmp eq ptr %7614, null
  br i1 %7615, label %7616, label %7639

7616:                                             ; preds = %7611
  %7617 = tail call ptr @__errno_location() #14
  %7618 = load i32, ptr %7617, align 4, !tbaa !5
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = call i32 @s2n_print_stacktrace(ptr noundef %7619) #13
  %7621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7622 = trunc nuw i8 %7621 to i1
  br i1 %7622, label %7623, label %7627

7623:                                             ; preds = %7616
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = call i32 @fileno(ptr noundef %7624) #13
  %7626 = call i32 @isatty(i32 noundef %7625) #13
  %.not1692 = icmp eq i32 %7626, 0
  br i1 %.not1692, label %7627, label %7628

7627:                                             ; preds = %7623, %7616
  br label %7628

7628:                                             ; preds = %7623, %7627
  %.str.5.sink4471 = phi ptr [ @.str.5, %7627 ], [ @.str.2, %7623 ]
  store i32 %7618, ptr %7617, align 4, !tbaa !5
  %7629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7630 = load i32, ptr @test_count, align 4, !tbaa !5
  %7631 = load i32, ptr %2772, align 4, !tbaa !5
  %7632 = call ptr @s2n_strerror(i32 noundef %7631, ptr noundef nonnull @.str.4) #13
  %7633 = load i32, ptr %2772, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror_debug(i32 noundef %7633, ptr noundef nonnull @.str.4) #13
  %7635 = load i32, ptr %7617, align 4, !tbaa !5
  %7636 = call ptr @strerror(i32 noundef %7635) #13
  %7637 = load i32, ptr %7617, align 4, !tbaa !5
  %7638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7629, ptr noundef nonnull %.str.5.sink4471, i32 noundef %7630, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 999, ptr noundef %7632, ptr noundef %7634, ptr noundef %7636, i32 noundef %7637) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7639:                                             ; preds = %7611
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = add nsw i32 %7640, 1
  store i32 %7641, ptr @test_count, align 4, !tbaa !5
  %7642 = load i32, ptr %27, align 4, !tbaa !5
  %7643 = icmp eq i32 %7642, 1609
  br i1 %7643, label %.preheader, label %7644

7644:                                             ; preds = %7639
  %7645 = tail call ptr @__errno_location() #14
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7648 = call i32 @s2n_print_stacktrace(ptr noundef %7647) #13
  %7649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7650 = trunc nuw i8 %7649 to i1
  br i1 %7650, label %7651, label %7655

7651:                                             ; preds = %7644
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = call i32 @fileno(ptr noundef %7652) #13
  %7654 = call i32 @isatty(i32 noundef %7653) #13
  %.not1538 = icmp eq i32 %7654, 0
  br i1 %.not1538, label %7655, label %7656

7655:                                             ; preds = %7651, %7644
  br label %7656

7656:                                             ; preds = %7651, %7655
  %.str.5.sink4480 = phi ptr [ @.str.5, %7655 ], [ @.str.2, %7651 ]
  store i32 %7646, ptr %7645, align 4, !tbaa !5
  %7657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = load i32, ptr %2772, align 4, !tbaa !5
  %7660 = call ptr @s2n_strerror(i32 noundef %7659, ptr noundef nonnull @.str.4) #13
  %7661 = load i32, ptr %2772, align 4, !tbaa !5
  %7662 = call ptr @s2n_strerror_debug(i32 noundef %7661, ptr noundef nonnull @.str.4) #13
  %7663 = load i32, ptr %7645, align 4, !tbaa !5
  %7664 = call ptr @strerror(i32 noundef %7663) #13
  %7665 = load i32, ptr %7645, align 4, !tbaa !5
  %7666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7657, ptr noundef nonnull %.str.5.sink4480, i32 noundef %7658, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 1000, ptr noundef %7660, ptr noundef %7662, ptr noundef %7664, i32 noundef %7665) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7667:                                             ; preds = %.preheader
  %exitcond1914.not = icmp eq i64 %.013901911, 1608
  br i1 %exitcond1914.not, label %7677, label %.preheader.1, !llvm.loop !52

.preheader.1:                                     ; preds = %7667
  %7668 = or disjoint i64 %.013901911, 1
  %7669 = add nsw i32 %7681, 2
  store i32 %7669, ptr @test_count, align 4, !tbaa !5
  %7670 = getelementptr inbounds i8, ptr %7614, i64 %7668
  %7671 = load i8, ptr %7670, align 1, !tbaa !44
  %7672 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %7668
  %7673 = load i8, ptr %7672, align 1, !tbaa !44
  %7674 = icmp eq i8 %7671, %7673
  br i1 %7674, label %7675, label %7688

7675:                                             ; preds = %.preheader.1
  %7676 = add nuw nsw i64 %.013901911, 2
  br label %.preheader

7677:                                             ; preds = %7667
  %7678 = add nsw i32 %7681, 2
  store i32 %7678, ptr @test_count, align 4, !tbaa !5
  %7679 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %7275, ptr noundef nonnull %7216) #13
  %7680 = icmp eq i32 %7679, -1
  br i1 %7680, label %7711, label %7734

.preheader:                                       ; preds = %7639, %7675
  %.013901911 = phi i64 [ %7676, %7675 ], [ 0, %7639 ]
  %7681 = phi i32 [ %7669, %7675 ], [ %7641, %7639 ]
  %7682 = add nsw i32 %7681, 1
  store i32 %7682, ptr @test_count, align 4, !tbaa !5
  %7683 = getelementptr inbounds i8, ptr %7614, i64 %.013901911
  %7684 = load i8, ptr %7683, align 1, !tbaa !44
  %7685 = getelementptr inbounds [1609 x i8], ptr @server_ocsp_status_bytes, i64 0, i64 %.013901911
  %7686 = load i8, ptr %7685, align 2, !tbaa !44
  %7687 = icmp eq i8 %7684, %7686
  br i1 %7687, label %7667, label %7688

7688:                                             ; preds = %.preheader.1, %.preheader
  %7689 = tail call ptr @__errno_location() #14
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7692 = call i32 @s2n_print_stacktrace(ptr noundef %7691) #13
  %7693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7694 = trunc nuw i8 %7693 to i1
  br i1 %7694, label %7695, label %7699

7695:                                             ; preds = %7688
  %7696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7697 = call i32 @fileno(ptr noundef %7696) #13
  %7698 = call i32 @isatty(i32 noundef %7697) #13
  %.not1691 = icmp eq i32 %7698, 0
  br i1 %.not1691, label %7699, label %7700

7699:                                             ; preds = %7695, %7688
  br label %7700

7700:                                             ; preds = %7695, %7699
  %.str.5.sink4489 = phi ptr [ @.str.5, %7699 ], [ @.str.2, %7695 ]
  store i32 %7690, ptr %7689, align 4, !tbaa !5
  %7701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7702 = load i32, ptr @test_count, align 4, !tbaa !5
  %7703 = load i32, ptr %2772, align 4, !tbaa !5
  %7704 = call ptr @s2n_strerror(i32 noundef %7703, ptr noundef nonnull @.str.4) #13
  %7705 = load i32, ptr %2772, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror_debug(i32 noundef %7705, ptr noundef nonnull @.str.4) #13
  %7707 = load i32, ptr %7689, align 4, !tbaa !5
  %7708 = call ptr @strerror(i32 noundef %7707) #13
  %7709 = load i32, ptr %7689, align 4, !tbaa !5
  %7710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7701, ptr noundef nonnull %.str.5.sink4489, i32 noundef %7702, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 1003, ptr noundef %7704, ptr noundef %7706, ptr noundef %7708, i32 noundef %7709) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7711:                                             ; preds = %7677
  %7712 = tail call ptr @__errno_location() #14
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7715 = call i32 @s2n_print_stacktrace(ptr noundef %7714) #13
  %7716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7717 = trunc nuw i8 %7716 to i1
  br i1 %7717, label %7718, label %7722

7718:                                             ; preds = %7711
  %7719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7720 = call i32 @fileno(ptr noundef %7719) #13
  %7721 = call i32 @isatty(i32 noundef %7720) #13
  %.not1690 = icmp eq i32 %7721, 0
  br i1 %.not1690, label %7722, label %7723

7722:                                             ; preds = %7718, %7711
  br label %7723

7723:                                             ; preds = %7718, %7722
  %.str.5.sink4498 = phi ptr [ @.str.5, %7722 ], [ @.str.2, %7718 ]
  store i32 %7713, ptr %7712, align 4, !tbaa !5
  %7724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7725 = load i32, ptr @test_count, align 4, !tbaa !5
  %7726 = load i32, ptr %2772, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror(i32 noundef %7726, ptr noundef nonnull @.str.4) #13
  %7728 = load i32, ptr %2772, align 4, !tbaa !5
  %7729 = call ptr @s2n_strerror_debug(i32 noundef %7728, ptr noundef nonnull @.str.4) #13
  %7730 = load i32, ptr %7712, align 4, !tbaa !5
  %7731 = call ptr @strerror(i32 noundef %7730) #13
  %7732 = load i32, ptr %7712, align 4, !tbaa !5
  %7733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7724, ptr noundef nonnull %.str.5.sink4498, i32 noundef %7725, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %7727, ptr noundef %7729, ptr noundef %7731, i32 noundef %7732) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7734:                                             ; preds = %7677
  %7735 = load i32, ptr @test_count, align 4, !tbaa !5
  %7736 = add nsw i32 %7735, 1
  store i32 %7736, ptr @test_count, align 4, !tbaa !5
  %7737 = call i32 @s2n_connection_free(ptr noundef nonnull %7275) #13
  %7738 = icmp eq i32 %7737, -1
  br i1 %7738, label %7739, label %7762

7739:                                             ; preds = %7734
  %7740 = tail call ptr @__errno_location() #14
  %7741 = load i32, ptr %7740, align 4, !tbaa !5
  %7742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7743 = call i32 @s2n_print_stacktrace(ptr noundef %7742) #13
  %7744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7745 = trunc nuw i8 %7744 to i1
  br i1 %7745, label %7746, label %7750

7746:                                             ; preds = %7739
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = call i32 @fileno(ptr noundef %7747) #13
  %7749 = call i32 @isatty(i32 noundef %7748) #13
  %.not1689 = icmp eq i32 %7749, 0
  br i1 %.not1689, label %7750, label %7751

7750:                                             ; preds = %7746, %7739
  br label %7751

7751:                                             ; preds = %7746, %7750
  %.str.5.sink4507 = phi ptr [ @.str.5, %7750 ], [ @.str.2, %7746 ]
  store i32 %7741, ptr %7740, align 4, !tbaa !5
  %7752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7753 = load i32, ptr @test_count, align 4, !tbaa !5
  %7754 = load i32, ptr %2772, align 4, !tbaa !5
  %7755 = call ptr @s2n_strerror(i32 noundef %7754, ptr noundef nonnull @.str.4) #13
  %7756 = load i32, ptr %2772, align 4, !tbaa !5
  %7757 = call ptr @s2n_strerror_debug(i32 noundef %7756, ptr noundef nonnull @.str.4) #13
  %7758 = load i32, ptr %7740, align 4, !tbaa !5
  %7759 = call ptr @strerror(i32 noundef %7758) #13
  %7760 = load i32, ptr %7740, align 4, !tbaa !5
  %7761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7752, ptr noundef nonnull %.str.5.sink4507, i32 noundef %7753, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %7755, ptr noundef %7757, ptr noundef %7759, i32 noundef %7760) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7762:                                             ; preds = %7734
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = add nsw i32 %7763, 1
  store i32 %7764, ptr @test_count, align 4, !tbaa !5
  %7765 = call i32 @s2n_connection_free(ptr noundef nonnull %7216) #13
  %7766 = icmp eq i32 %7765, -1
  br i1 %7766, label %7767, label %7790

7767:                                             ; preds = %7762
  %7768 = tail call ptr @__errno_location() #14
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7771 = call i32 @s2n_print_stacktrace(ptr noundef %7770) #13
  %7772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7773 = trunc nuw i8 %7772 to i1
  br i1 %7773, label %7774, label %7778

7774:                                             ; preds = %7767
  %7775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7776 = call i32 @fileno(ptr noundef %7775) #13
  %7777 = call i32 @isatty(i32 noundef %7776) #13
  %.not1688 = icmp eq i32 %7777, 0
  br i1 %.not1688, label %7778, label %7779

7778:                                             ; preds = %7774, %7767
  br label %7779

7779:                                             ; preds = %7774, %7778
  %.str.5.sink4516 = phi ptr [ @.str.5, %7778 ], [ @.str.2, %7774 ]
  store i32 %7769, ptr %7768, align 4, !tbaa !5
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = load i32, ptr @test_count, align 4, !tbaa !5
  %7782 = load i32, ptr %2772, align 4, !tbaa !5
  %7783 = call ptr @s2n_strerror(i32 noundef %7782, ptr noundef nonnull @.str.4) #13
  %7784 = load i32, ptr %2772, align 4, !tbaa !5
  %7785 = call ptr @s2n_strerror_debug(i32 noundef %7784, ptr noundef nonnull @.str.4) #13
  %7786 = load i32, ptr %7768, align 4, !tbaa !5
  %7787 = call ptr @strerror(i32 noundef %7786) #13
  %7788 = load i32, ptr %7768, align 4, !tbaa !5
  %7789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7780, ptr noundef nonnull %.str.5.sink4516, i32 noundef %7781, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1009, ptr noundef %7783, ptr noundef %7785, ptr noundef %7787, i32 noundef %7788) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7790:                                             ; preds = %7762
  %7791 = load i32, ptr @test_count, align 4, !tbaa !5
  %7792 = add nsw i32 %7791, 1
  store i32 %7792, ptr @test_count, align 4, !tbaa !5
  %7793 = call i32 @s2n_config_free(ptr noundef nonnull %7334) #13
  %7794 = icmp eq i32 %7793, -1
  br i1 %7794, label %7795, label %7818

7795:                                             ; preds = %7790
  %7796 = tail call ptr @__errno_location() #14
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7799 = call i32 @s2n_print_stacktrace(ptr noundef %7798) #13
  %7800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7801 = trunc nuw i8 %7800 to i1
  br i1 %7801, label %7802, label %7806

7802:                                             ; preds = %7795
  %7803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7804 = call i32 @fileno(ptr noundef %7803) #13
  %7805 = call i32 @isatty(i32 noundef %7804) #13
  %.not1687 = icmp eq i32 %7805, 0
  br i1 %.not1687, label %7806, label %7807

7806:                                             ; preds = %7802, %7795
  br label %7807

7807:                                             ; preds = %7802, %7806
  %.str.5.sink4525 = phi ptr [ @.str.5, %7806 ], [ @.str.2, %7802 ]
  store i32 %7797, ptr %7796, align 4, !tbaa !5
  %7808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7809 = load i32, ptr @test_count, align 4, !tbaa !5
  %7810 = load i32, ptr %2772, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror(i32 noundef %7810, ptr noundef nonnull @.str.4) #13
  %7812 = load i32, ptr %2772, align 4, !tbaa !5
  %7813 = call ptr @s2n_strerror_debug(i32 noundef %7812, ptr noundef nonnull @.str.4) #13
  %7814 = load i32, ptr %7796, align 4, !tbaa !5
  %7815 = call ptr @strerror(i32 noundef %7814) #13
  %7816 = load i32, ptr %7796, align 4, !tbaa !5
  %7817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7808, ptr noundef nonnull %.str.5.sink4525, i32 noundef %7809, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1011, ptr noundef %7811, ptr noundef %7813, ptr noundef %7815, i32 noundef %7816) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7818:                                             ; preds = %7790
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = add nsw i32 %7819, 1
  store i32 %7820, ptr @test_count, align 4, !tbaa !5
  %7821 = call i32 @s2n_config_free(ptr noundef nonnull %7076) #13
  %7822 = icmp eq i32 %7821, -1
  br i1 %7822, label %7823, label %7846

7823:                                             ; preds = %7818
  %7824 = tail call ptr @__errno_location() #14
  %7825 = load i32, ptr %7824, align 4, !tbaa !5
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = call i32 @s2n_print_stacktrace(ptr noundef %7826) #13
  %7828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7829 = trunc nuw i8 %7828 to i1
  br i1 %7829, label %7830, label %7834

7830:                                             ; preds = %7823
  %7831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7832 = call i32 @fileno(ptr noundef %7831) #13
  %7833 = call i32 @isatty(i32 noundef %7832) #13
  %.not1686 = icmp eq i32 %7833, 0
  br i1 %.not1686, label %7834, label %7835

7834:                                             ; preds = %7830, %7823
  br label %7835

7835:                                             ; preds = %7830, %7834
  %.str.5.sink4534 = phi ptr [ @.str.5, %7834 ], [ @.str.2, %7830 ]
  store i32 %7825, ptr %7824, align 4, !tbaa !5
  %7836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7837 = load i32, ptr @test_count, align 4, !tbaa !5
  %7838 = load i32, ptr %2772, align 4, !tbaa !5
  %7839 = call ptr @s2n_strerror(i32 noundef %7838, ptr noundef nonnull @.str.4) #13
  %7840 = load i32, ptr %2772, align 4, !tbaa !5
  %7841 = call ptr @s2n_strerror_debug(i32 noundef %7840, ptr noundef nonnull @.str.4) #13
  %7842 = load i32, ptr %7824, align 4, !tbaa !5
  %7843 = call ptr @strerror(i32 noundef %7842) #13
  %7844 = load i32, ptr %7824, align 4, !tbaa !5
  %7845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7836, ptr noundef nonnull %.str.5.sink4534, i32 noundef %7837, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1012, ptr noundef %7839, ptr noundef %7841, ptr noundef %7843, i32 noundef %7844) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7846:                                             ; preds = %7818
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = add nsw i32 %7847, 1
  store i32 %7848, ptr @test_count, align 4, !tbaa !5
  %7849 = call i32 (...) @s2n_disable_tls13_in_test() #13
  %7850 = icmp eq i32 %7849, -1
  br i1 %7850, label %7851, label %7874

7851:                                             ; preds = %7846
  %7852 = tail call ptr @__errno_location() #14
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = call i32 @s2n_print_stacktrace(ptr noundef %7854) #13
  %7856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7857 = trunc nuw i8 %7856 to i1
  br i1 %7857, label %7858, label %7862

7858:                                             ; preds = %7851
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = call i32 @fileno(ptr noundef %7859) #13
  %7861 = call i32 @isatty(i32 noundef %7860) #13
  %.not1685 = icmp eq i32 %7861, 0
  br i1 %.not1685, label %7862, label %7863

7862:                                             ; preds = %7858, %7851
  br label %7863

7863:                                             ; preds = %7858, %7862
  %.str.5.sink4543 = phi ptr [ @.str.5, %7862 ], [ @.str.2, %7858 ]
  store i32 %7853, ptr %7852, align 4, !tbaa !5
  %7864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7865 = load i32, ptr @test_count, align 4, !tbaa !5
  %7866 = load i32, ptr %2772, align 4, !tbaa !5
  %7867 = call ptr @s2n_strerror(i32 noundef %7866, ptr noundef nonnull @.str.4) #13
  %7868 = load i32, ptr %2772, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror_debug(i32 noundef %7868, ptr noundef nonnull @.str.4) #13
  %7870 = load i32, ptr %7852, align 4, !tbaa !5
  %7871 = call ptr @strerror(i32 noundef %7870) #13
  %7872 = load i32, ptr %7852, align 4, !tbaa !5
  %7873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7864, ptr noundef nonnull %.str.5.sink4543, i32 noundef %7865, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1014, ptr noundef %7867, ptr noundef %7869, ptr noundef %7871, i32 noundef %7872) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7874:                                             ; preds = %7846
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #13
  br label %7875

7875:                                             ; preds = %7874, %7043, %7041
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #13
  store i32 0, ptr %28, align 4, !tbaa !5
  %7876 = load i32, ptr @test_count, align 4, !tbaa !5
  %7877 = add nsw i32 %7876, 1
  store i32 %7877, ptr @test_count, align 4, !tbaa !5
  %7878 = call ptr @s2n_config_new() #13
  %7879 = icmp eq ptr %7878, null
  br i1 %7879, label %7880, label %7903

7880:                                             ; preds = %7875
  %7881 = tail call ptr @__errno_location() #14
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = call i32 @s2n_print_stacktrace(ptr noundef %7883) #13
  %7885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7886 = trunc nuw i8 %7885 to i1
  br i1 %7886, label %7887, label %7891

7887:                                             ; preds = %7880
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = call i32 @fileno(ptr noundef %7888) #13
  %7890 = call i32 @isatty(i32 noundef %7889) #13
  %.not1684 = icmp eq i32 %7890, 0
  br i1 %.not1684, label %7891, label %7892

7891:                                             ; preds = %7887, %7880
  br label %7892

7892:                                             ; preds = %7887, %7891
  %.str.5.sink4552 = phi ptr [ @.str.5, %7891 ], [ @.str.2, %7887 ]
  store i32 %7882, ptr %7881, align 4, !tbaa !5
  %7893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7894 = load i32, ptr @test_count, align 4, !tbaa !5
  %7895 = load i32, ptr %2772, align 4, !tbaa !5
  %7896 = call ptr @s2n_strerror(i32 noundef %7895, ptr noundef nonnull @.str.4) #13
  %7897 = load i32, ptr %2772, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror_debug(i32 noundef %7897, ptr noundef nonnull @.str.4) #13
  %7899 = load i32, ptr %7881, align 4, !tbaa !5
  %7900 = call ptr @strerror(i32 noundef %7899) #13
  %7901 = load i32, ptr %7881, align 4, !tbaa !5
  %7902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7893, ptr noundef nonnull %.str.5.sink4552, i32 noundef %7894, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1026, ptr noundef %7896, ptr noundef %7898, ptr noundef %7900, i32 noundef %7901) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7903:                                             ; preds = %7875
  %7904 = load i32, ptr @test_count, align 4, !tbaa !5
  %7905 = add nsw i32 %7904, 1
  store i32 %7905, ptr @test_count, align 4, !tbaa !5
  %7906 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %7878, i8 noundef zeroext 0) #13
  %7907 = icmp eq i32 %7906, -1
  br i1 %7907, label %7908, label %7931

7908:                                             ; preds = %7903
  %7909 = tail call ptr @__errno_location() #14
  %7910 = load i32, ptr %7909, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = call i32 @s2n_print_stacktrace(ptr noundef %7911) #13
  %7913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7914 = trunc nuw i8 %7913 to i1
  br i1 %7914, label %7915, label %7919

7915:                                             ; preds = %7908
  %7916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7917 = call i32 @fileno(ptr noundef %7916) #13
  %7918 = call i32 @isatty(i32 noundef %7917) #13
  %.not1683 = icmp eq i32 %7918, 0
  br i1 %.not1683, label %7919, label %7920

7919:                                             ; preds = %7915, %7908
  br label %7920

7920:                                             ; preds = %7915, %7919
  %.str.5.sink4561 = phi ptr [ @.str.5, %7919 ], [ @.str.2, %7915 ]
  store i32 %7910, ptr %7909, align 4, !tbaa !5
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = load i32, ptr @test_count, align 4, !tbaa !5
  %7923 = load i32, ptr %2772, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror(i32 noundef %7923, ptr noundef nonnull @.str.4) #13
  %7925 = load i32, ptr %2772, align 4, !tbaa !5
  %7926 = call ptr @s2n_strerror_debug(i32 noundef %7925, ptr noundef nonnull @.str.4) #13
  %7927 = load i32, ptr %7909, align 4, !tbaa !5
  %7928 = call ptr @strerror(i32 noundef %7927) #13
  %7929 = load i32, ptr %7909, align 4, !tbaa !5
  %7930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7921, ptr noundef nonnull %.str.5.sink4561, i32 noundef %7922, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1027, ptr noundef %7924, ptr noundef %7926, ptr noundef %7928, i32 noundef %7929) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7931:                                             ; preds = %7903
  %7932 = load i32, ptr @test_count, align 4, !tbaa !5
  %7933 = add nsw i32 %7932, 1
  store i32 %7933, ptr @test_count, align 4, !tbaa !5
  %7934 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %7878) #13
  %7935 = icmp eq i32 %7934, -1
  br i1 %7935, label %7936, label %7959

7936:                                             ; preds = %7931
  %7937 = tail call ptr @__errno_location() #14
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7940 = call i32 @s2n_print_stacktrace(ptr noundef %7939) #13
  %7941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7942 = trunc nuw i8 %7941 to i1
  br i1 %7942, label %7943, label %7947

7943:                                             ; preds = %7936
  %7944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7945 = call i32 @fileno(ptr noundef %7944) #13
  %7946 = call i32 @isatty(i32 noundef %7945) #13
  %.not1682 = icmp eq i32 %7946, 0
  br i1 %.not1682, label %7947, label %7948

7947:                                             ; preds = %7943, %7936
  br label %7948

7948:                                             ; preds = %7943, %7947
  %.str.5.sink4570 = phi ptr [ @.str.5, %7947 ], [ @.str.2, %7943 ]
  store i32 %7938, ptr %7937, align 4, !tbaa !5
  %7949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7950 = load i32, ptr @test_count, align 4, !tbaa !5
  %7951 = load i32, ptr %2772, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror(i32 noundef %7951, ptr noundef nonnull @.str.4) #13
  %7953 = load i32, ptr %2772, align 4, !tbaa !5
  %7954 = call ptr @s2n_strerror_debug(i32 noundef %7953, ptr noundef nonnull @.str.4) #13
  %7955 = load i32, ptr %7937, align 4, !tbaa !5
  %7956 = call ptr @strerror(i32 noundef %7955) #13
  %7957 = load i32, ptr %7937, align 4, !tbaa !5
  %7958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7949, ptr noundef nonnull %.str.5.sink4570, i32 noundef %7950, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1028, ptr noundef %7952, ptr noundef %7954, ptr noundef %7956, i32 noundef %7957) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7959:                                             ; preds = %7931
  %7960 = load i32, ptr @test_count, align 4, !tbaa !5
  %7961 = add nsw i32 %7960, 1
  store i32 %7961, ptr @test_count, align 4, !tbaa !5
  %7962 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %7963 = icmp eq ptr %7962, null
  br i1 %7963, label %7964, label %7987

7964:                                             ; preds = %7959
  %7965 = tail call ptr @__errno_location() #14
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  %7967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7968 = call i32 @s2n_print_stacktrace(ptr noundef %7967) #13
  %7969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7970 = trunc nuw i8 %7969 to i1
  br i1 %7970, label %7971, label %7975

7971:                                             ; preds = %7964
  %7972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7973 = call i32 @fileno(ptr noundef %7972) #13
  %7974 = call i32 @isatty(i32 noundef %7973) #13
  %.not1681 = icmp eq i32 %7974, 0
  br i1 %.not1681, label %7975, label %7976

7975:                                             ; preds = %7971, %7964
  br label %7976

7976:                                             ; preds = %7971, %7975
  %.str.5.sink4579 = phi ptr [ @.str.5, %7975 ], [ @.str.2, %7971 ]
  store i32 %7966, ptr %7965, align 4, !tbaa !5
  %7977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7978 = load i32, ptr @test_count, align 4, !tbaa !5
  %7979 = load i32, ptr %2772, align 4, !tbaa !5
  %7980 = call ptr @s2n_strerror(i32 noundef %7979, ptr noundef nonnull @.str.4) #13
  %7981 = load i32, ptr %2772, align 4, !tbaa !5
  %7982 = call ptr @s2n_strerror_debug(i32 noundef %7981, ptr noundef nonnull @.str.4) #13
  %7983 = load i32, ptr %7965, align 4, !tbaa !5
  %7984 = call ptr @strerror(i32 noundef %7983) #13
  %7985 = load i32, ptr %7965, align 4, !tbaa !5
  %7986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7977, ptr noundef nonnull %.str.5.sink4579, i32 noundef %7978, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1029, ptr noundef %7980, ptr noundef %7982, ptr noundef %7984, i32 noundef %7985) #15
  call void @exit(i32 noundef 1) #16
  unreachable

7987:                                             ; preds = %7959
  %7988 = load i32, ptr @test_count, align 4, !tbaa !5
  %7989 = add nsw i32 %7988, 1
  store i32 %7989, ptr @test_count, align 4, !tbaa !5
  %7990 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7962, ptr noundef nonnull %7878) #13
  %7991 = icmp eq i32 %7990, -1
  br i1 %7991, label %7992, label %8015

7992:                                             ; preds = %7987
  %7993 = tail call ptr @__errno_location() #14
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7996 = call i32 @s2n_print_stacktrace(ptr noundef %7995) #13
  %7997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7998 = trunc nuw i8 %7997 to i1
  br i1 %7998, label %7999, label %8003

7999:                                             ; preds = %7992
  %8000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8001 = call i32 @fileno(ptr noundef %8000) #13
  %8002 = call i32 @isatty(i32 noundef %8001) #13
  %.not1680 = icmp eq i32 %8002, 0
  br i1 %.not1680, label %8003, label %8004

8003:                                             ; preds = %7999, %7992
  br label %8004

8004:                                             ; preds = %7999, %8003
  %.str.5.sink4588 = phi ptr [ @.str.5, %8003 ], [ @.str.2, %7999 ]
  store i32 %7994, ptr %7993, align 4, !tbaa !5
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = load i32, ptr @test_count, align 4, !tbaa !5
  %8007 = load i32, ptr %2772, align 4, !tbaa !5
  %8008 = call ptr @s2n_strerror(i32 noundef %8007, ptr noundef nonnull @.str.4) #13
  %8009 = load i32, ptr %2772, align 4, !tbaa !5
  %8010 = call ptr @s2n_strerror_debug(i32 noundef %8009, ptr noundef nonnull @.str.4) #13
  %8011 = load i32, ptr %7993, align 4, !tbaa !5
  %8012 = call ptr @strerror(i32 noundef %8011) #13
  %8013 = load i32, ptr %7993, align 4, !tbaa !5
  %8014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8005, ptr noundef nonnull %.str.5.sink4588, i32 noundef %8006, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1030, ptr noundef %8008, ptr noundef %8010, ptr noundef %8012, i32 noundef %8013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8015:                                             ; preds = %7987
  %8016 = getelementptr inbounds i8, ptr %7962, i64 220
  store i8 33, ptr %8016, align 4, !tbaa !15
  %8017 = getelementptr inbounds i8, ptr %7962, i64 219
  store i8 33, ptr %8017, align 1, !tbaa !42
  %8018 = getelementptr inbounds i8, ptr %7962, i64 218
  store i8 33, ptr %8018, align 2, !tbaa !43
  %8019 = load i32, ptr @test_count, align 4, !tbaa !5
  %8020 = add nsw i32 %8019, 1
  store i32 %8020, ptr @test_count, align 4, !tbaa !5
  %8021 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %8022 = icmp eq ptr %8021, null
  br i1 %8022, label %8023, label %8046

8023:                                             ; preds = %8015
  %8024 = tail call ptr @__errno_location() #14
  %8025 = load i32, ptr %8024, align 4, !tbaa !5
  %8026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8027 = call i32 @s2n_print_stacktrace(ptr noundef %8026) #13
  %8028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8029 = trunc nuw i8 %8028 to i1
  br i1 %8029, label %8030, label %8034

8030:                                             ; preds = %8023
  %8031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8032 = call i32 @fileno(ptr noundef %8031) #13
  %8033 = call i32 @isatty(i32 noundef %8032) #13
  %.not1679 = icmp eq i32 %8033, 0
  br i1 %.not1679, label %8034, label %8035

8034:                                             ; preds = %8030, %8023
  br label %8035

8035:                                             ; preds = %8030, %8034
  %.str.5.sink4597 = phi ptr [ @.str.5, %8034 ], [ @.str.2, %8030 ]
  store i32 %8025, ptr %8024, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = load i32, ptr %2772, align 4, !tbaa !5
  %8039 = call ptr @s2n_strerror(i32 noundef %8038, ptr noundef nonnull @.str.4) #13
  %8040 = load i32, ptr %2772, align 4, !tbaa !5
  %8041 = call ptr @s2n_strerror_debug(i32 noundef %8040, ptr noundef nonnull @.str.4) #13
  %8042 = load i32, ptr %8024, align 4, !tbaa !5
  %8043 = call ptr @strerror(i32 noundef %8042) #13
  %8044 = load i32, ptr %8024, align 4, !tbaa !5
  %8045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8036, ptr noundef nonnull %.str.5.sink4597, i32 noundef %8037, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1035, ptr noundef %8039, ptr noundef %8041, ptr noundef %8043, i32 noundef %8044) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8046:                                             ; preds = %8015
  %8047 = getelementptr inbounds i8, ptr %8021, i64 220
  store i8 33, ptr %8047, align 4, !tbaa !15
  %8048 = getelementptr inbounds i8, ptr %8021, i64 219
  store i8 33, ptr %8048, align 1, !tbaa !42
  %8049 = getelementptr inbounds i8, ptr %8021, i64 218
  store i8 33, ptr %8049, align 2, !tbaa !43
  %8050 = load i32, ptr @test_count, align 4, !tbaa !5
  %8051 = add nsw i32 %8050, 1
  store i32 %8051, ptr @test_count, align 4, !tbaa !5
  %8052 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %7962, ptr noundef nonnull %8021, ptr noundef nonnull %3) #13
  %8053 = icmp eq i32 %8052, -1
  br i1 %8053, label %8054, label %8077

8054:                                             ; preds = %8046
  %8055 = tail call ptr @__errno_location() #14
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8058 = call i32 @s2n_print_stacktrace(ptr noundef %8057) #13
  %8059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8060 = trunc nuw i8 %8059 to i1
  br i1 %8060, label %8061, label %8065

8061:                                             ; preds = %8054
  %8062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8063 = call i32 @fileno(ptr noundef %8062) #13
  %8064 = call i32 @isatty(i32 noundef %8063) #13
  %.not1678 = icmp eq i32 %8064, 0
  br i1 %.not1678, label %8065, label %8066

8065:                                             ; preds = %8061, %8054
  br label %8066

8066:                                             ; preds = %8061, %8065
  %.str.5.sink4606 = phi ptr [ @.str.5, %8065 ], [ @.str.2, %8061 ]
  store i32 %8056, ptr %8055, align 4, !tbaa !5
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = load i32, ptr @test_count, align 4, !tbaa !5
  %8069 = load i32, ptr %2772, align 4, !tbaa !5
  %8070 = call ptr @s2n_strerror(i32 noundef %8069, ptr noundef nonnull @.str.4) #13
  %8071 = load i32, ptr %2772, align 4, !tbaa !5
  %8072 = call ptr @s2n_strerror_debug(i32 noundef %8071, ptr noundef nonnull @.str.4) #13
  %8073 = load i32, ptr %8055, align 4, !tbaa !5
  %8074 = call ptr @strerror(i32 noundef %8073) #13
  %8075 = load i32, ptr %8055, align 4, !tbaa !5
  %8076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8067, ptr noundef nonnull %.str.5.sink4606, i32 noundef %8068, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %8070, ptr noundef %8072, ptr noundef %8074, i32 noundef %8075) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8077:                                             ; preds = %8046
  %8078 = load i32, ptr @test_count, align 4, !tbaa !5
  %8079 = add nsw i32 %8078, 1
  store i32 %8079, ptr @test_count, align 4, !tbaa !5
  %8080 = call ptr @s2n_config_new() #13
  %8081 = icmp eq ptr %8080, null
  br i1 %8081, label %8082, label %8105

8082:                                             ; preds = %8077
  %8083 = tail call ptr @__errno_location() #14
  %8084 = load i32, ptr %8083, align 4, !tbaa !5
  %8085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8086 = call i32 @s2n_print_stacktrace(ptr noundef %8085) #13
  %8087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8088 = trunc nuw i8 %8087 to i1
  br i1 %8088, label %8089, label %8093

8089:                                             ; preds = %8082
  %8090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8091 = call i32 @fileno(ptr noundef %8090) #13
  %8092 = call i32 @isatty(i32 noundef %8091) #13
  %.not1677 = icmp eq i32 %8092, 0
  br i1 %.not1677, label %8093, label %8094

8093:                                             ; preds = %8089, %8082
  br label %8094

8094:                                             ; preds = %8089, %8093
  %.str.5.sink4615 = phi ptr [ @.str.5, %8093 ], [ @.str.2, %8089 ]
  store i32 %8084, ptr %8083, align 4, !tbaa !5
  %8095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8096 = load i32, ptr @test_count, align 4, !tbaa !5
  %8097 = load i32, ptr %2772, align 4, !tbaa !5
  %8098 = call ptr @s2n_strerror(i32 noundef %8097, ptr noundef nonnull @.str.4) #13
  %8099 = load i32, ptr %2772, align 4, !tbaa !5
  %8100 = call ptr @s2n_strerror_debug(i32 noundef %8099, ptr noundef nonnull @.str.4) #13
  %8101 = load i32, ptr %8083, align 4, !tbaa !5
  %8102 = call ptr @strerror(i32 noundef %8101) #13
  %8103 = load i32, ptr %8083, align 4, !tbaa !5
  %8104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8095, ptr noundef nonnull %.str.5.sink4615, i32 noundef %8096, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1042, ptr noundef %8098, ptr noundef %8100, ptr noundef %8102, i32 noundef %8103) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8105:                                             ; preds = %8077
  %8106 = load i32, ptr @test_count, align 4, !tbaa !5
  %8107 = add nsw i32 %8106, 1
  store i32 %8107, ptr @test_count, align 4, !tbaa !5
  %8108 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef %149, i64 noundef 12000) #13
  %8109 = icmp eq i32 %8108, -1
  br i1 %8109, label %8110, label %8133

8110:                                             ; preds = %8105
  %8111 = tail call ptr @__errno_location() #14
  %8112 = load i32, ptr %8111, align 4, !tbaa !5
  %8113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8114 = call i32 @s2n_print_stacktrace(ptr noundef %8113) #13
  %8115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8116 = trunc nuw i8 %8115 to i1
  br i1 %8116, label %8117, label %8121

8117:                                             ; preds = %8110
  %8118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8119 = call i32 @fileno(ptr noundef %8118) #13
  %8120 = call i32 @isatty(i32 noundef %8119) #13
  %.not1676 = icmp eq i32 %8120, 0
  br i1 %.not1676, label %8121, label %8122

8121:                                             ; preds = %8117, %8110
  br label %8122

8122:                                             ; preds = %8117, %8121
  %.str.5.sink4624 = phi ptr [ @.str.5, %8121 ], [ @.str.2, %8117 ]
  store i32 %8112, ptr %8111, align 4, !tbaa !5
  %8123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8124 = load i32, ptr @test_count, align 4, !tbaa !5
  %8125 = load i32, ptr %2772, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef nonnull @.str.4) #13
  %8127 = load i32, ptr %2772, align 4, !tbaa !5
  %8128 = call ptr @s2n_strerror_debug(i32 noundef %8127, ptr noundef nonnull @.str.4) #13
  %8129 = load i32, ptr %8111, align 4, !tbaa !5
  %8130 = call ptr @strerror(i32 noundef %8129) #13
  %8131 = load i32, ptr %8111, align 4, !tbaa !5
  %8132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8123, ptr noundef nonnull %.str.5.sink4624, i32 noundef %8124, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 1043, ptr noundef %8126, ptr noundef %8128, ptr noundef %8130, i32 noundef %8131) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8133:                                             ; preds = %8105
  %8134 = load i32, ptr @test_count, align 4, !tbaa !5
  %8135 = add nsw i32 %8134, 1
  store i32 %8135, ptr @test_count, align 4, !tbaa !5
  %8136 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef %177, i64 noundef 12000) #13
  %8137 = icmp eq i32 %8136, -1
  br i1 %8137, label %8138, label %8161

8138:                                             ; preds = %8133
  %8139 = tail call ptr @__errno_location() #14
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8142 = call i32 @s2n_print_stacktrace(ptr noundef %8141) #13
  %8143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8144 = trunc nuw i8 %8143 to i1
  br i1 %8144, label %8145, label %8149

8145:                                             ; preds = %8138
  %8146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8147 = call i32 @fileno(ptr noundef %8146) #13
  %8148 = call i32 @isatty(i32 noundef %8147) #13
  %.not1675 = icmp eq i32 %8148, 0
  br i1 %.not1675, label %8149, label %8150

8149:                                             ; preds = %8145, %8138
  br label %8150

8150:                                             ; preds = %8145, %8149
  %.str.5.sink4633 = phi ptr [ @.str.5, %8149 ], [ @.str.2, %8145 ]
  store i32 %8140, ptr %8139, align 4, !tbaa !5
  %8151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8152 = load i32, ptr @test_count, align 4, !tbaa !5
  %8153 = load i32, ptr %2772, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror(i32 noundef %8153, ptr noundef nonnull @.str.4) #13
  %8155 = load i32, ptr %2772, align 4, !tbaa !5
  %8156 = call ptr @s2n_strerror_debug(i32 noundef %8155, ptr noundef nonnull @.str.4) #13
  %8157 = load i32, ptr %8139, align 4, !tbaa !5
  %8158 = call ptr @strerror(i32 noundef %8157) #13
  %8159 = load i32, ptr %8139, align 4, !tbaa !5
  %8160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8151, ptr noundef nonnull %.str.5.sink4633, i32 noundef %8152, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 1044, ptr noundef %8154, ptr noundef %8156, ptr noundef %8158, i32 noundef %8159) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8161:                                             ; preds = %8133
  %8162 = load i32, ptr @test_count, align 4, !tbaa !5
  %8163 = add nsw i32 %8162, 1
  store i32 %8163, ptr @test_count, align 4, !tbaa !5
  %8164 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %8080, ptr noundef %149, ptr noundef %177) #13
  %8165 = icmp eq i32 %8164, -1
  br i1 %8165, label %8166, label %8189

8166:                                             ; preds = %8161
  %8167 = tail call ptr @__errno_location() #14
  %8168 = load i32, ptr %8167, align 4, !tbaa !5
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = call i32 @s2n_print_stacktrace(ptr noundef %8169) #13
  %8171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8172 = trunc nuw i8 %8171 to i1
  br i1 %8172, label %8173, label %8177

8173:                                             ; preds = %8166
  %8174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8175 = call i32 @fileno(ptr noundef %8174) #13
  %8176 = call i32 @isatty(i32 noundef %8175) #13
  %.not1674 = icmp eq i32 %8176, 0
  br i1 %.not1674, label %8177, label %8178

8177:                                             ; preds = %8173, %8166
  br label %8178

8178:                                             ; preds = %8173, %8177
  %.str.5.sink4642 = phi ptr [ @.str.5, %8177 ], [ @.str.2, %8173 ]
  store i32 %8168, ptr %8167, align 4, !tbaa !5
  %8179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8180 = load i32, ptr @test_count, align 4, !tbaa !5
  %8181 = load i32, ptr %2772, align 4, !tbaa !5
  %8182 = call ptr @s2n_strerror(i32 noundef %8181, ptr noundef nonnull @.str.4) #13
  %8183 = load i32, ptr %2772, align 4, !tbaa !5
  %8184 = call ptr @s2n_strerror_debug(i32 noundef %8183, ptr noundef nonnull @.str.4) #13
  %8185 = load i32, ptr %8167, align 4, !tbaa !5
  %8186 = call ptr @strerror(i32 noundef %8185) #13
  %8187 = load i32, ptr %8167, align 4, !tbaa !5
  %8188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8179, ptr noundef nonnull %.str.5.sink4642, i32 noundef %8180, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 1045, ptr noundef %8182, ptr noundef %8184, ptr noundef %8186, i32 noundef %8187) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8189:                                             ; preds = %8161
  %8190 = load i32, ptr @test_count, align 4, !tbaa !5
  %8191 = add nsw i32 %8190, 1
  store i32 %8191, ptr @test_count, align 4, !tbaa !5
  %8192 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %8080, i32 noundef 18, ptr noundef nonnull @sct_list, i32 noundef 5) #13
  %8193 = icmp eq i32 %8192, -1
  br i1 %8193, label %8194, label %8217

8194:                                             ; preds = %8189
  %8195 = tail call ptr @__errno_location() #14
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8198 = call i32 @s2n_print_stacktrace(ptr noundef %8197) #13
  %8199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8200 = trunc nuw i8 %8199 to i1
  br i1 %8200, label %8201, label %8205

8201:                                             ; preds = %8194
  %8202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8203 = call i32 @fileno(ptr noundef %8202) #13
  %8204 = call i32 @isatty(i32 noundef %8203) #13
  %.not1673 = icmp eq i32 %8204, 0
  br i1 %.not1673, label %8205, label %8206

8205:                                             ; preds = %8201, %8194
  br label %8206

8206:                                             ; preds = %8201, %8205
  %.str.5.sink4651 = phi ptr [ @.str.5, %8205 ], [ @.str.2, %8201 ]
  store i32 %8196, ptr %8195, align 4, !tbaa !5
  %8207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8208 = load i32, ptr @test_count, align 4, !tbaa !5
  %8209 = load i32, ptr %2772, align 4, !tbaa !5
  %8210 = call ptr @s2n_strerror(i32 noundef %8209, ptr noundef nonnull @.str.4) #13
  %8211 = load i32, ptr %2772, align 4, !tbaa !5
  %8212 = call ptr @s2n_strerror_debug(i32 noundef %8211, ptr noundef nonnull @.str.4) #13
  %8213 = load i32, ptr %8195, align 4, !tbaa !5
  %8214 = call ptr @strerror(i32 noundef %8213) #13
  %8215 = load i32, ptr %8195, align 4, !tbaa !5
  %8216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8207, ptr noundef nonnull %.str.5.sink4651, i32 noundef %8208, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 1047, ptr noundef %8210, ptr noundef %8212, ptr noundef %8214, i32 noundef %8215) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8217:                                             ; preds = %8189
  %8218 = load i32, ptr @test_count, align 4, !tbaa !5
  %8219 = add nsw i32 %8218, 1
  store i32 %8219, ptr @test_count, align 4, !tbaa !5
  %8220 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8021, ptr noundef nonnull %8080) #13
  %8221 = icmp eq i32 %8220, -1
  br i1 %8221, label %8222, label %8245

8222:                                             ; preds = %8217
  %8223 = tail call ptr @__errno_location() #14
  %8224 = load i32, ptr %8223, align 4, !tbaa !5
  %8225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8226 = call i32 @s2n_print_stacktrace(ptr noundef %8225) #13
  %8227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8228 = trunc nuw i8 %8227 to i1
  br i1 %8228, label %8229, label %8233

8229:                                             ; preds = %8222
  %8230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8231 = call i32 @fileno(ptr noundef %8230) #13
  %8232 = call i32 @isatty(i32 noundef %8231) #13
  %.not1672 = icmp eq i32 %8232, 0
  br i1 %.not1672, label %8233, label %8234

8233:                                             ; preds = %8229, %8222
  br label %8234

8234:                                             ; preds = %8229, %8233
  %.str.5.sink4660 = phi ptr [ @.str.5, %8233 ], [ @.str.2, %8229 ]
  store i32 %8224, ptr %8223, align 4, !tbaa !5
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = load i32, ptr @test_count, align 4, !tbaa !5
  %8237 = load i32, ptr %2772, align 4, !tbaa !5
  %8238 = call ptr @s2n_strerror(i32 noundef %8237, ptr noundef nonnull @.str.4) #13
  %8239 = load i32, ptr %2772, align 4, !tbaa !5
  %8240 = call ptr @s2n_strerror_debug(i32 noundef %8239, ptr noundef nonnull @.str.4) #13
  %8241 = load i32, ptr %8223, align 4, !tbaa !5
  %8242 = call ptr @strerror(i32 noundef %8241) #13
  %8243 = load i32, ptr %8223, align 4, !tbaa !5
  %8244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8235, ptr noundef nonnull %.str.5.sink4660, i32 noundef %8236, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1048, ptr noundef %8238, ptr noundef %8240, ptr noundef %8242, i32 noundef %8243) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8245:                                             ; preds = %8217
  %8246 = load i32, ptr @test_count, align 4, !tbaa !5
  %8247 = add nsw i32 %8246, 1
  store i32 %8247, ptr @test_count, align 4, !tbaa !5
  %8248 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8021, ptr noundef nonnull %7962) #13
  %8249 = icmp eq i32 %8248, -1
  br i1 %8249, label %8250, label %8273

8250:                                             ; preds = %8245
  %8251 = tail call ptr @__errno_location() #14
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = call i32 @s2n_print_stacktrace(ptr noundef %8253) #13
  %8255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8256 = trunc nuw i8 %8255 to i1
  br i1 %8256, label %8257, label %8261

8257:                                             ; preds = %8250
  %8258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8259 = call i32 @fileno(ptr noundef %8258) #13
  %8260 = call i32 @isatty(i32 noundef %8259) #13
  %.not1671 = icmp eq i32 %8260, 0
  br i1 %.not1671, label %8261, label %8262

8261:                                             ; preds = %8257, %8250
  br label %8262

8262:                                             ; preds = %8257, %8261
  %.str.5.sink4669 = phi ptr [ @.str.5, %8261 ], [ @.str.2, %8257 ]
  store i32 %8252, ptr %8251, align 4, !tbaa !5
  %8263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8264 = load i32, ptr @test_count, align 4, !tbaa !5
  %8265 = load i32, ptr %2772, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror(i32 noundef %8265, ptr noundef nonnull @.str.4) #13
  %8267 = load i32, ptr %2772, align 4, !tbaa !5
  %8268 = call ptr @s2n_strerror_debug(i32 noundef %8267, ptr noundef nonnull @.str.4) #13
  %8269 = load i32, ptr %8251, align 4, !tbaa !5
  %8270 = call ptr @strerror(i32 noundef %8269) #13
  %8271 = load i32, ptr %8251, align 4, !tbaa !5
  %8272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8263, ptr noundef nonnull %.str.5.sink4669, i32 noundef %8264, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1050, ptr noundef %8266, ptr noundef %8268, ptr noundef %8270, i32 noundef %8271) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8273:                                             ; preds = %8245
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = add nsw i32 %8274, 1
  store i32 %8275, ptr @test_count, align 4, !tbaa !5
  %8276 = call ptr @s2n_connection_get_sct_list(ptr noundef nonnull %7962, ptr noundef nonnull %28) #13
  %8277 = icmp eq ptr %8276, null
  br i1 %8277, label %8301, label %8278

8278:                                             ; preds = %8273
  %8279 = tail call ptr @__errno_location() #14
  %8280 = load i32, ptr %8279, align 4, !tbaa !5
  %8281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8282 = call i32 @s2n_print_stacktrace(ptr noundef %8281) #13
  %8283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8284 = trunc nuw i8 %8283 to i1
  br i1 %8284, label %8285, label %8289

8285:                                             ; preds = %8278
  %8286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8287 = call i32 @fileno(ptr noundef %8286) #13
  %8288 = call i32 @isatty(i32 noundef %8287) #13
  %.not1539 = icmp eq i32 %8288, 0
  br i1 %.not1539, label %8289, label %8290

8289:                                             ; preds = %8285, %8278
  br label %8290

8290:                                             ; preds = %8285, %8289
  %.str.5.sink4678 = phi ptr [ @.str.5, %8289 ], [ @.str.2, %8285 ]
  store i32 %8280, ptr %8279, align 4, !tbaa !5
  %8291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = load i32, ptr %2772, align 4, !tbaa !5
  %8294 = call ptr @s2n_strerror(i32 noundef %8293, ptr noundef nonnull @.str.4) #13
  %8295 = load i32, ptr %2772, align 4, !tbaa !5
  %8296 = call ptr @s2n_strerror_debug(i32 noundef %8295, ptr noundef nonnull @.str.4) #13
  %8297 = load i32, ptr %8279, align 4, !tbaa !5
  %8298 = call ptr @strerror(i32 noundef %8297) #13
  %8299 = load i32, ptr %8279, align 4, !tbaa !5
  %8300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8291, ptr noundef nonnull %.str.5.sink4678, i32 noundef %8292, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 1053, ptr noundef %8294, ptr noundef %8296, ptr noundef %8298, i32 noundef %8299) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8301:                                             ; preds = %8273
  %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 i32, ptr %28, align 4, !tbaa !5
  %8305 = icmp eq i32 %8304, 0
  br i1 %8305, label %8329, label %8306

8306:                                             ; preds = %8301
  %8307 = tail call ptr @__errno_location() #14
  %8308 = load i32, ptr %8307, align 4, !tbaa !5
  %8309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8310 = call i32 @s2n_print_stacktrace(ptr noundef %8309) #13
  %8311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8312 = trunc nuw i8 %8311 to i1
  br i1 %8312, label %8313, label %8317

8313:                                             ; preds = %8306
  %8314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8315 = call i32 @fileno(ptr noundef %8314) #13
  %8316 = call i32 @isatty(i32 noundef %8315) #13
  %.not1540 = icmp eq i32 %8316, 0
  br i1 %.not1540, label %8317, label %8318

8317:                                             ; preds = %8313, %8306
  br label %8318

8318:                                             ; preds = %8313, %8317
  %.str.5.sink4687 = phi ptr [ @.str.5, %8317 ], [ @.str.2, %8313 ]
  store i32 %8308, ptr %8307, align 4, !tbaa !5
  %8319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8320 = load i32, ptr @test_count, align 4, !tbaa !5
  %8321 = load i32, ptr %2772, align 4, !tbaa !5
  %8322 = call ptr @s2n_strerror(i32 noundef %8321, ptr noundef nonnull @.str.4) #13
  %8323 = load i32, ptr %2772, align 4, !tbaa !5
  %8324 = call ptr @s2n_strerror_debug(i32 noundef %8323, ptr noundef nonnull @.str.4) #13
  %8325 = load i32, ptr %8307, align 4, !tbaa !5
  %8326 = call ptr @strerror(i32 noundef %8325) #13
  %8327 = load i32, ptr %8307, align 4, !tbaa !5
  %8328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8319, ptr noundef nonnull %.str.5.sink4687, i32 noundef %8320, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 1054, ptr noundef %8322, ptr noundef %8324, ptr noundef %8326, i32 noundef %8327) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8329:                                             ; preds = %8301
  %8330 = add nsw i32 %8302, 2
  store i32 %8330, ptr @test_count, align 4, !tbaa !5
  %8331 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %8021, ptr noundef nonnull %7962) #13
  %8332 = icmp eq i32 %8331, -1
  br i1 %8332, label %8333, label %8356

8333:                                             ; preds = %8329
  %8334 = tail call ptr @__errno_location() #14
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = call i32 @s2n_print_stacktrace(ptr noundef %8336) #13
  %8338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8339 = trunc nuw i8 %8338 to i1
  br i1 %8339, label %8340, label %8344

8340:                                             ; preds = %8333
  %8341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8342 = call i32 @fileno(ptr noundef %8341) #13
  %8343 = call i32 @isatty(i32 noundef %8342) #13
  %.not1670 = icmp eq i32 %8343, 0
  br i1 %.not1670, label %8344, label %8345

8344:                                             ; preds = %8340, %8333
  br label %8345

8345:                                             ; preds = %8340, %8344
  %.str.5.sink4696 = phi ptr [ @.str.5, %8344 ], [ @.str.2, %8340 ]
  store i32 %8335, ptr %8334, align 4, !tbaa !5
  %8346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8347 = load i32, ptr @test_count, align 4, !tbaa !5
  %8348 = load i32, ptr %2772, align 4, !tbaa !5
  %8349 = call ptr @s2n_strerror(i32 noundef %8348, ptr noundef nonnull @.str.4) #13
  %8350 = load i32, ptr %2772, align 4, !tbaa !5
  %8351 = call ptr @s2n_strerror_debug(i32 noundef %8350, ptr noundef nonnull @.str.4) #13
  %8352 = load i32, ptr %8334, align 4, !tbaa !5
  %8353 = call ptr @strerror(i32 noundef %8352) #13
  %8354 = load i32, ptr %8334, align 4, !tbaa !5
  %8355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8346, ptr noundef nonnull %.str.5.sink4696, i32 noundef %8347, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1056, ptr noundef %8349, ptr noundef %8351, ptr noundef %8353, i32 noundef %8354) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8356:                                             ; preds = %8329
  %8357 = load i32, ptr @test_count, align 4, !tbaa !5
  %8358 = add nsw i32 %8357, 1
  store i32 %8358, ptr @test_count, align 4, !tbaa !5
  %8359 = call i32 @s2n_connection_free(ptr noundef nonnull %8021) #13
  %8360 = icmp eq i32 %8359, -1
  br i1 %8360, label %8361, label %8384

8361:                                             ; preds = %8356
  %8362 = tail call ptr @__errno_location() #14
  %8363 = load i32, ptr %8362, align 4, !tbaa !5
  %8364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8365 = call i32 @s2n_print_stacktrace(ptr noundef %8364) #13
  %8366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8367 = trunc nuw i8 %8366 to i1
  br i1 %8367, label %8368, label %8372

8368:                                             ; preds = %8361
  %8369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8370 = call i32 @fileno(ptr noundef %8369) #13
  %8371 = call i32 @isatty(i32 noundef %8370) #13
  %.not1669 = icmp eq i32 %8371, 0
  br i1 %.not1669, label %8372, label %8373

8372:                                             ; preds = %8368, %8361
  br label %8373

8373:                                             ; preds = %8368, %8372
  %.str.5.sink4705 = phi ptr [ @.str.5, %8372 ], [ @.str.2, %8368 ]
  store i32 %8363, ptr %8362, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = load i32, ptr @test_count, align 4, !tbaa !5
  %8376 = load i32, ptr %2772, align 4, !tbaa !5
  %8377 = call ptr @s2n_strerror(i32 noundef %8376, ptr noundef nonnull @.str.4) #13
  %8378 = load i32, ptr %2772, align 4, !tbaa !5
  %8379 = call ptr @s2n_strerror_debug(i32 noundef %8378, ptr noundef nonnull @.str.4) #13
  %8380 = load i32, ptr %8362, align 4, !tbaa !5
  %8381 = call ptr @strerror(i32 noundef %8380) #13
  %8382 = load i32, ptr %8362, align 4, !tbaa !5
  %8383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8374, ptr noundef nonnull %.str.5.sink4705, i32 noundef %8375, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1058, ptr noundef %8377, ptr noundef %8379, ptr noundef %8381, i32 noundef %8382) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8384:                                             ; preds = %8356
  %8385 = load i32, ptr @test_count, align 4, !tbaa !5
  %8386 = add nsw i32 %8385, 1
  store i32 %8386, ptr @test_count, align 4, !tbaa !5
  %8387 = call i32 @s2n_connection_free(ptr noundef nonnull %7962) #13
  %8388 = icmp eq i32 %8387, -1
  br i1 %8388, label %8389, label %8412

8389:                                             ; preds = %8384
  %8390 = tail call ptr @__errno_location() #14
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  %8392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8393 = call i32 @s2n_print_stacktrace(ptr noundef %8392) #13
  %8394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8395 = trunc nuw i8 %8394 to i1
  br i1 %8395, label %8396, label %8400

8396:                                             ; preds = %8389
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = call i32 @fileno(ptr noundef %8397) #13
  %8399 = call i32 @isatty(i32 noundef %8398) #13
  %.not1668 = icmp eq i32 %8399, 0
  br i1 %.not1668, label %8400, label %8401

8400:                                             ; preds = %8396, %8389
  br label %8401

8401:                                             ; preds = %8396, %8400
  %.str.5.sink4714 = phi ptr [ @.str.5, %8400 ], [ @.str.2, %8396 ]
  store i32 %8391, ptr %8390, align 4, !tbaa !5
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = load i32, ptr @test_count, align 4, !tbaa !5
  %8404 = load i32, ptr %2772, align 4, !tbaa !5
  %8405 = call ptr @s2n_strerror(i32 noundef %8404, ptr noundef nonnull @.str.4) #13
  %8406 = load i32, ptr %2772, align 4, !tbaa !5
  %8407 = call ptr @s2n_strerror_debug(i32 noundef %8406, ptr noundef nonnull @.str.4) #13
  %8408 = load i32, ptr %8390, align 4, !tbaa !5
  %8409 = call ptr @strerror(i32 noundef %8408) #13
  %8410 = load i32, ptr %8390, align 4, !tbaa !5
  %8411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8402, ptr noundef nonnull %.str.5.sink4714, i32 noundef %8403, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1059, ptr noundef %8405, ptr noundef %8407, ptr noundef %8409, i32 noundef %8410) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8412:                                             ; preds = %8384
  %8413 = load i32, ptr @test_count, align 4, !tbaa !5
  %8414 = add nsw i32 %8413, 1
  store i32 %8414, ptr @test_count, align 4, !tbaa !5
  %8415 = call i32 @s2n_config_free(ptr noundef nonnull %7878) #13
  %8416 = icmp eq i32 %8415, -1
  br i1 %8416, label %8417, label %8440

8417:                                             ; preds = %8412
  %8418 = tail call ptr @__errno_location() #14
  %8419 = load i32, ptr %8418, align 4, !tbaa !5
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = call i32 @s2n_print_stacktrace(ptr noundef %8420) #13
  %8422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8423 = trunc nuw i8 %8422 to i1
  br i1 %8423, label %8424, label %8428

8424:                                             ; preds = %8417
  %8425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8426 = call i32 @fileno(ptr noundef %8425) #13
  %8427 = call i32 @isatty(i32 noundef %8426) #13
  %.not1667 = icmp eq i32 %8427, 0
  br i1 %.not1667, label %8428, label %8429

8428:                                             ; preds = %8424, %8417
  br label %8429

8429:                                             ; preds = %8424, %8428
  %.str.5.sink4723 = phi ptr [ @.str.5, %8428 ], [ @.str.2, %8424 ]
  store i32 %8419, ptr %8418, align 4, !tbaa !5
  %8430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = load i32, ptr %2772, align 4, !tbaa !5
  %8433 = call ptr @s2n_strerror(i32 noundef %8432, ptr noundef nonnull @.str.4) #13
  %8434 = load i32, ptr %2772, align 4, !tbaa !5
  %8435 = call ptr @s2n_strerror_debug(i32 noundef %8434, ptr noundef nonnull @.str.4) #13
  %8436 = load i32, ptr %8418, align 4, !tbaa !5
  %8437 = call ptr @strerror(i32 noundef %8436) #13
  %8438 = load i32, ptr %8418, align 4, !tbaa !5
  %8439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8430, ptr noundef nonnull %.str.5.sink4723, i32 noundef %8431, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1061, ptr noundef %8433, ptr noundef %8435, ptr noundef %8437, i32 noundef %8438) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8440:                                             ; preds = %8412
  %8441 = load i32, ptr @test_count, align 4, !tbaa !5
  %8442 = add nsw i32 %8441, 1
  store i32 %8442, ptr @test_count, align 4, !tbaa !5
  %8443 = call i32 @s2n_config_free(ptr noundef nonnull %8080) #13
  %8444 = icmp eq i32 %8443, -1
  br i1 %8444, label %8445, label %8468

8445:                                             ; preds = %8440
  %8446 = tail call ptr @__errno_location() #14
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = call i32 @s2n_print_stacktrace(ptr noundef %8448) #13
  %8450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8451 = trunc nuw i8 %8450 to i1
  br i1 %8451, label %8452, label %8456

8452:                                             ; preds = %8445
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = call i32 @fileno(ptr noundef %8453) #13
  %8455 = call i32 @isatty(i32 noundef %8454) #13
  %.not1666 = icmp eq i32 %8455, 0
  br i1 %.not1666, label %8456, label %8457

8456:                                             ; preds = %8452, %8445
  br label %8457

8457:                                             ; preds = %8452, %8456
  %.str.5.sink4732 = phi ptr [ @.str.5, %8456 ], [ @.str.2, %8452 ]
  store i32 %8447, ptr %8446, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = load i32, ptr @test_count, align 4, !tbaa !5
  %8460 = load i32, ptr %2772, align 4, !tbaa !5
  %8461 = call ptr @s2n_strerror(i32 noundef %8460, ptr noundef nonnull @.str.4) #13
  %8462 = load i32, ptr %2772, align 4, !tbaa !5
  %8463 = call ptr @s2n_strerror_debug(i32 noundef %8462, ptr noundef nonnull @.str.4) #13
  %8464 = load i32, ptr %8446, align 4, !tbaa !5
  %8465 = call ptr @strerror(i32 noundef %8464) #13
  %8466 = load i32, ptr %8446, align 4, !tbaa !5
  %8467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8458, ptr noundef nonnull %.str.5.sink4732, i32 noundef %8459, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1062, ptr noundef %8461, ptr noundef %8463, ptr noundef %8465, i32 noundef %8466) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8468:                                             ; preds = %8440
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #13
  store i32 0, ptr %29, align 4, !tbaa !5
  %8469 = load i32, ptr @test_count, align 4, !tbaa !5
  %8470 = add nsw i32 %8469, 1
  store i32 %8470, ptr @test_count, align 4, !tbaa !5
  %8471 = call ptr @s2n_config_new() #13
  %8472 = icmp eq ptr %8471, null
  br i1 %8472, label %8473, label %8496

8473:                                             ; preds = %8468
  %8474 = tail call ptr @__errno_location() #14
  %8475 = load i32, ptr %8474, align 4, !tbaa !5
  %8476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8477 = call i32 @s2n_print_stacktrace(ptr noundef %8476) #13
  %8478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8479 = trunc nuw i8 %8478 to i1
  br i1 %8479, label %8480, label %8484

8480:                                             ; preds = %8473
  %8481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8482 = call i32 @fileno(ptr noundef %8481) #13
  %8483 = call i32 @isatty(i32 noundef %8482) #13
  %.not1665 = icmp eq i32 %8483, 0
  br i1 %.not1665, label %8484, label %8485

8484:                                             ; preds = %8480, %8473
  br label %8485

8485:                                             ; preds = %8480, %8484
  %.str.5.sink4741 = phi ptr [ @.str.5, %8484 ], [ @.str.2, %8480 ]
  store i32 %8475, ptr %8474, align 4, !tbaa !5
  %8486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8487 = load i32, ptr @test_count, align 4, !tbaa !5
  %8488 = load i32, ptr %2772, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror(i32 noundef %8488, ptr noundef nonnull @.str.4) #13
  %8490 = load i32, ptr %2772, align 4, !tbaa !5
  %8491 = call ptr @s2n_strerror_debug(i32 noundef %8490, ptr noundef nonnull @.str.4) #13
  %8492 = load i32, ptr %8474, align 4, !tbaa !5
  %8493 = call ptr @strerror(i32 noundef %8492) #13
  %8494 = load i32, ptr %8474, align 4, !tbaa !5
  %8495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8486, ptr noundef nonnull %.str.5.sink4741, i32 noundef %8487, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1074, ptr noundef %8489, ptr noundef %8491, ptr noundef %8493, i32 noundef %8494) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8496:                                             ; preds = %8468
  %8497 = load i32, ptr @test_count, align 4, !tbaa !5
  %8498 = add nsw i32 %8497, 1
  store i32 %8498, ptr @test_count, align 4, !tbaa !5
  %8499 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %8471, i8 noundef zeroext 0) #13
  %8500 = icmp eq i32 %8499, -1
  br i1 %8500, label %8501, label %8524

8501:                                             ; preds = %8496
  %8502 = tail call ptr @__errno_location() #14
  %8503 = load i32, ptr %8502, align 4, !tbaa !5
  %8504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8505 = call i32 @s2n_print_stacktrace(ptr noundef %8504) #13
  %8506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8507 = trunc nuw i8 %8506 to i1
  br i1 %8507, label %8508, label %8512

8508:                                             ; preds = %8501
  %8509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8510 = call i32 @fileno(ptr noundef %8509) #13
  %8511 = call i32 @isatty(i32 noundef %8510) #13
  %.not1664 = icmp eq i32 %8511, 0
  br i1 %.not1664, label %8512, label %8513

8512:                                             ; preds = %8508, %8501
  br label %8513

8513:                                             ; preds = %8508, %8512
  %.str.5.sink4750 = phi ptr [ @.str.5, %8512 ], [ @.str.2, %8508 ]
  store i32 %8503, ptr %8502, align 4, !tbaa !5
  %8514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8515 = load i32, ptr @test_count, align 4, !tbaa !5
  %8516 = load i32, ptr %2772, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror(i32 noundef %8516, ptr noundef nonnull @.str.4) #13
  %8518 = load i32, ptr %2772, align 4, !tbaa !5
  %8519 = call ptr @s2n_strerror_debug(i32 noundef %8518, ptr noundef nonnull @.str.4) #13
  %8520 = load i32, ptr %8502, align 4, !tbaa !5
  %8521 = call ptr @strerror(i32 noundef %8520) #13
  %8522 = load i32, ptr %8502, align 4, !tbaa !5
  %8523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8514, ptr noundef nonnull %.str.5.sink4750, i32 noundef %8515, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1075, ptr noundef %8517, ptr noundef %8519, ptr noundef %8521, i32 noundef %8522) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8524:                                             ; preds = %8496
  %8525 = load i32, ptr @test_count, align 4, !tbaa !5
  %8526 = add nsw i32 %8525, 1
  store i32 %8526, ptr @test_count, align 4, !tbaa !5
  %8527 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %8471) #13
  %8528 = icmp eq i32 %8527, -1
  br i1 %8528, label %8529, label %8552

8529:                                             ; preds = %8524
  %8530 = tail call ptr @__errno_location() #14
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  %8532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8533 = call i32 @s2n_print_stacktrace(ptr noundef %8532) #13
  %8534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8535 = trunc nuw i8 %8534 to i1
  br i1 %8535, label %8536, label %8540

8536:                                             ; preds = %8529
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @fileno(ptr noundef %8537) #13
  %8539 = call i32 @isatty(i32 noundef %8538) #13
  %.not1663 = icmp eq i32 %8539, 0
  br i1 %.not1663, label %8540, label %8541

8540:                                             ; preds = %8536, %8529
  br label %8541

8541:                                             ; preds = %8536, %8540
  %.str.5.sink4759 = phi ptr [ @.str.5, %8540 ], [ @.str.2, %8536 ]
  store i32 %8531, ptr %8530, align 4, !tbaa !5
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = load i32, ptr @test_count, align 4, !tbaa !5
  %8544 = load i32, ptr %2772, align 4, !tbaa !5
  %8545 = call ptr @s2n_strerror(i32 noundef %8544, ptr noundef nonnull @.str.4) #13
  %8546 = load i32, ptr %2772, align 4, !tbaa !5
  %8547 = call ptr @s2n_strerror_debug(i32 noundef %8546, ptr noundef nonnull @.str.4) #13
  %8548 = load i32, ptr %8530, align 4, !tbaa !5
  %8549 = call ptr @strerror(i32 noundef %8548) #13
  %8550 = load i32, ptr %8530, align 4, !tbaa !5
  %8551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8542, ptr noundef nonnull %.str.5.sink4759, i32 noundef %8543, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1076, ptr noundef %8545, ptr noundef %8547, ptr noundef %8549, i32 noundef %8550) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8552:                                             ; preds = %8524
  %8553 = load i32, ptr @test_count, align 4, !tbaa !5
  %8554 = add nsw i32 %8553, 1
  store i32 %8554, ptr @test_count, align 4, !tbaa !5
  %8555 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %8556 = icmp eq ptr %8555, null
  br i1 %8556, label %8557, label %8580

8557:                                             ; preds = %8552
  %8558 = tail call ptr @__errno_location() #14
  %8559 = load i32, ptr %8558, align 4, !tbaa !5
  %8560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8561 = call i32 @s2n_print_stacktrace(ptr noundef %8560) #13
  %8562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8563 = trunc nuw i8 %8562 to i1
  br i1 %8563, label %8564, label %8568

8564:                                             ; preds = %8557
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @fileno(ptr noundef %8565) #13
  %8567 = call i32 @isatty(i32 noundef %8566) #13
  %.not1662 = icmp eq i32 %8567, 0
  br i1 %.not1662, label %8568, label %8569

8568:                                             ; preds = %8564, %8557
  br label %8569

8569:                                             ; preds = %8564, %8568
  %.str.5.sink4768 = phi ptr [ @.str.5, %8568 ], [ @.str.2, %8564 ]
  store i32 %8559, ptr %8558, align 4, !tbaa !5
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = load i32, ptr @test_count, align 4, !tbaa !5
  %8572 = load i32, ptr %2772, align 4, !tbaa !5
  %8573 = call ptr @s2n_strerror(i32 noundef %8572, ptr noundef nonnull @.str.4) #13
  %8574 = load i32, ptr %2772, align 4, !tbaa !5
  %8575 = call ptr @s2n_strerror_debug(i32 noundef %8574, ptr noundef nonnull @.str.4) #13
  %8576 = load i32, ptr %8558, align 4, !tbaa !5
  %8577 = call ptr @strerror(i32 noundef %8576) #13
  %8578 = load i32, ptr %8558, align 4, !tbaa !5
  %8579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8570, ptr noundef nonnull %.str.5.sink4768, i32 noundef %8571, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1077, ptr noundef %8573, ptr noundef %8575, ptr noundef %8577, i32 noundef %8578) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8580:                                             ; preds = %8552
  %8581 = load i32, ptr @test_count, align 4, !tbaa !5
  %8582 = add nsw i32 %8581, 1
  store i32 %8582, ptr @test_count, align 4, !tbaa !5
  %8583 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8555, ptr noundef nonnull %8471) #13
  %8584 = icmp eq i32 %8583, -1
  br i1 %8584, label %8585, label %8608

8585:                                             ; preds = %8580
  %8586 = tail call ptr @__errno_location() #14
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8589 = call i32 @s2n_print_stacktrace(ptr noundef %8588) #13
  %8590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8591 = trunc nuw i8 %8590 to i1
  br i1 %8591, label %8592, label %8596

8592:                                             ; preds = %8585
  %8593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8594 = call i32 @fileno(ptr noundef %8593) #13
  %8595 = call i32 @isatty(i32 noundef %8594) #13
  %.not1661 = icmp eq i32 %8595, 0
  br i1 %.not1661, label %8596, label %8597

8596:                                             ; preds = %8592, %8585
  br label %8597

8597:                                             ; preds = %8592, %8596
  %.str.5.sink4777 = phi ptr [ @.str.5, %8596 ], [ @.str.2, %8592 ]
  store i32 %8587, ptr %8586, align 4, !tbaa !5
  %8598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8599 = load i32, ptr @test_count, align 4, !tbaa !5
  %8600 = load i32, ptr %2772, align 4, !tbaa !5
  %8601 = call ptr @s2n_strerror(i32 noundef %8600, ptr noundef nonnull @.str.4) #13
  %8602 = load i32, ptr %2772, align 4, !tbaa !5
  %8603 = call ptr @s2n_strerror_debug(i32 noundef %8602, ptr noundef nonnull @.str.4) #13
  %8604 = load i32, ptr %8586, align 4, !tbaa !5
  %8605 = call ptr @strerror(i32 noundef %8604) #13
  %8606 = load i32, ptr %8586, align 4, !tbaa !5
  %8607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8598, ptr noundef nonnull %.str.5.sink4777, i32 noundef %8599, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1078, ptr noundef %8601, ptr noundef %8603, ptr noundef %8605, i32 noundef %8606) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8608:                                             ; preds = %8580
  %8609 = getelementptr inbounds i8, ptr %8555, i64 220
  store i8 33, ptr %8609, align 4, !tbaa !15
  %8610 = getelementptr inbounds i8, ptr %8555, i64 219
  store i8 33, ptr %8610, align 1, !tbaa !42
  %8611 = getelementptr inbounds i8, ptr %8555, i64 218
  store i8 33, ptr %8611, align 2, !tbaa !43
  %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 = call i32 @s2n_config_set_ct_support_level(ptr noundef nonnull %8471, i32 noundef 1) #13
  %8615 = icmp eq i32 %8614, -1
  br i1 %8615, label %8616, label %8639

8616:                                             ; preds = %8608
  %8617 = tail call ptr @__errno_location() #14
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @s2n_print_stacktrace(ptr noundef %8619) #13
  %8621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8622 = trunc nuw i8 %8621 to i1
  br i1 %8622, label %8623, label %8627

8623:                                             ; preds = %8616
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = call i32 @fileno(ptr noundef %8624) #13
  %8626 = call i32 @isatty(i32 noundef %8625) #13
  %.not1660 = icmp eq i32 %8626, 0
  br i1 %.not1660, label %8627, label %8628

8627:                                             ; preds = %8623, %8616
  br label %8628

8628:                                             ; preds = %8623, %8627
  %.str.5.sink4786 = phi ptr [ @.str.5, %8627 ], [ @.str.2, %8623 ]
  store i32 %8618, ptr %8617, align 4, !tbaa !5
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = load i32, ptr %2772, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror(i32 noundef %8631, ptr noundef nonnull @.str.4) #13
  %8633 = load i32, ptr %2772, align 4, !tbaa !5
  %8634 = call ptr @s2n_strerror_debug(i32 noundef %8633, ptr noundef nonnull @.str.4) #13
  %8635 = load i32, ptr %8617, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #13
  %8637 = load i32, ptr %8617, align 4, !tbaa !5
  %8638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8629, ptr noundef nonnull %.str.5.sink4786, i32 noundef %8630, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1084, ptr noundef %8632, ptr noundef %8634, ptr noundef %8636, i32 noundef %8637) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8639:                                             ; preds = %8608
  %8640 = load i32, ptr @test_count, align 4, !tbaa !5
  %8641 = add nsw i32 %8640, 1
  store i32 %8641, ptr @test_count, align 4, !tbaa !5
  %8642 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8555, ptr noundef nonnull %8471) #13
  %8643 = icmp eq i32 %8642, -1
  br i1 %8643, label %8644, label %8667

8644:                                             ; preds = %8639
  %8645 = tail call ptr @__errno_location() #14
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8648 = call i32 @s2n_print_stacktrace(ptr noundef %8647) #13
  %8649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8650 = trunc nuw i8 %8649 to i1
  br i1 %8650, label %8651, label %8655

8651:                                             ; preds = %8644
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = call i32 @fileno(ptr noundef %8652) #13
  %8654 = call i32 @isatty(i32 noundef %8653) #13
  %.not1659 = icmp eq i32 %8654, 0
  br i1 %.not1659, label %8655, label %8656

8655:                                             ; preds = %8651, %8644
  br label %8656

8656:                                             ; preds = %8651, %8655
  %.str.5.sink4795 = phi ptr [ @.str.5, %8655 ], [ @.str.2, %8651 ]
  store i32 %8646, ptr %8645, align 4, !tbaa !5
  %8657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8658 = load i32, ptr @test_count, align 4, !tbaa !5
  %8659 = load i32, ptr %2772, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror(i32 noundef %8659, ptr noundef nonnull @.str.4) #13
  %8661 = load i32, ptr %2772, align 4, !tbaa !5
  %8662 = call ptr @s2n_strerror_debug(i32 noundef %8661, ptr noundef nonnull @.str.4) #13
  %8663 = load i32, ptr %8645, align 4, !tbaa !5
  %8664 = call ptr @strerror(i32 noundef %8663) #13
  %8665 = load i32, ptr %8645, align 4, !tbaa !5
  %8666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8657, ptr noundef nonnull %.str.5.sink4795, i32 noundef %8658, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1085, ptr noundef %8660, ptr noundef %8662, ptr noundef %8664, i32 noundef %8665) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8667:                                             ; preds = %8639
  %8668 = load i32, ptr @test_count, align 4, !tbaa !5
  %8669 = add nsw i32 %8668, 1
  store i32 %8669, ptr @test_count, align 4, !tbaa !5
  %8670 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %8671 = icmp eq ptr %8670, null
  br i1 %8671, label %8672, label %8695

8672:                                             ; preds = %8667
  %8673 = tail call ptr @__errno_location() #14
  %8674 = load i32, ptr %8673, align 4, !tbaa !5
  %8675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8676 = call i32 @s2n_print_stacktrace(ptr noundef %8675) #13
  %8677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8678 = trunc nuw i8 %8677 to i1
  br i1 %8678, label %8679, label %8683

8679:                                             ; preds = %8672
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @fileno(ptr noundef %8680) #13
  %8682 = call i32 @isatty(i32 noundef %8681) #13
  %.not1658 = icmp eq i32 %8682, 0
  br i1 %.not1658, label %8683, label %8684

8683:                                             ; preds = %8679, %8672
  br label %8684

8684:                                             ; preds = %8679, %8683
  %.str.5.sink4804 = phi ptr [ @.str.5, %8683 ], [ @.str.2, %8679 ]
  store i32 %8674, ptr %8673, align 4, !tbaa !5
  %8685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8686 = load i32, ptr @test_count, align 4, !tbaa !5
  %8687 = load i32, ptr %2772, align 4, !tbaa !5
  %8688 = call ptr @s2n_strerror(i32 noundef %8687, ptr noundef nonnull @.str.4) #13
  %8689 = load i32, ptr %2772, align 4, !tbaa !5
  %8690 = call ptr @s2n_strerror_debug(i32 noundef %8689, ptr noundef nonnull @.str.4) #13
  %8691 = load i32, ptr %8673, align 4, !tbaa !5
  %8692 = call ptr @strerror(i32 noundef %8691) #13
  %8693 = load i32, ptr %8673, align 4, !tbaa !5
  %8694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8685, ptr noundef nonnull %.str.5.sink4804, i32 noundef %8686, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1087, ptr noundef %8688, ptr noundef %8690, ptr noundef %8692, i32 noundef %8693) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8695:                                             ; preds = %8667
  %8696 = getelementptr inbounds i8, ptr %8670, i64 220
  store i8 33, ptr %8696, align 4, !tbaa !15
  %8697 = getelementptr inbounds i8, ptr %8670, i64 219
  store i8 33, ptr %8697, align 1, !tbaa !42
  %8698 = getelementptr inbounds i8, ptr %8670, i64 218
  store i8 33, ptr %8698, align 2, !tbaa !43
  %8699 = load i32, ptr @test_count, align 4, !tbaa !5
  %8700 = add nsw i32 %8699, 1
  store i32 %8700, ptr @test_count, align 4, !tbaa !5
  %8701 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %8555, ptr noundef nonnull %8670, ptr noundef nonnull %3) #13
  %8702 = icmp eq i32 %8701, -1
  br i1 %8702, label %8703, label %8726

8703:                                             ; preds = %8695
  %8704 = tail call ptr @__errno_location() #14
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8707 = call i32 @s2n_print_stacktrace(ptr noundef %8706) #13
  %8708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8709 = trunc nuw i8 %8708 to i1
  br i1 %8709, label %8710, label %8714

8710:                                             ; preds = %8703
  %8711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8712 = call i32 @fileno(ptr noundef %8711) #13
  %8713 = call i32 @isatty(i32 noundef %8712) #13
  %.not1657 = icmp eq i32 %8713, 0
  br i1 %.not1657, label %8714, label %8715

8714:                                             ; preds = %8710, %8703
  br label %8715

8715:                                             ; preds = %8710, %8714
  %.str.5.sink4813 = phi ptr [ @.str.5, %8714 ], [ @.str.2, %8710 ]
  store i32 %8705, ptr %8704, align 4, !tbaa !5
  %8716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8717 = load i32, ptr @test_count, align 4, !tbaa !5
  %8718 = load i32, ptr %2772, align 4, !tbaa !5
  %8719 = call ptr @s2n_strerror(i32 noundef %8718, ptr noundef nonnull @.str.4) #13
  %8720 = load i32, ptr %2772, align 4, !tbaa !5
  %8721 = call ptr @s2n_strerror_debug(i32 noundef %8720, ptr noundef nonnull @.str.4) #13
  %8722 = load i32, ptr %8704, align 4, !tbaa !5
  %8723 = call ptr @strerror(i32 noundef %8722) #13
  %8724 = load i32, ptr %8704, align 4, !tbaa !5
  %8725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8716, ptr noundef nonnull %.str.5.sink4813, i32 noundef %8717, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1092, ptr noundef %8719, ptr noundef %8721, ptr noundef %8723, i32 noundef %8724) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8726:                                             ; preds = %8695
  %8727 = load i32, ptr @test_count, align 4, !tbaa !5
  %8728 = add nsw i32 %8727, 1
  store i32 %8728, ptr @test_count, align 4, !tbaa !5
  %8729 = call ptr @s2n_config_new() #13
  %8730 = icmp eq ptr %8729, null
  br i1 %8730, label %8731, label %8754

8731:                                             ; preds = %8726
  %8732 = tail call ptr @__errno_location() #14
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  %8734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8735 = call i32 @s2n_print_stacktrace(ptr noundef %8734) #13
  %8736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8737 = trunc nuw i8 %8736 to i1
  br i1 %8737, label %8738, label %8742

8738:                                             ; preds = %8731
  %8739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8740 = call i32 @fileno(ptr noundef %8739) #13
  %8741 = call i32 @isatty(i32 noundef %8740) #13
  %.not1656 = icmp eq i32 %8741, 0
  br i1 %.not1656, label %8742, label %8743

8742:                                             ; preds = %8738, %8731
  br label %8743

8743:                                             ; preds = %8738, %8742
  %.str.5.sink4822 = phi ptr [ @.str.5, %8742 ], [ @.str.2, %8738 ]
  store i32 %8733, ptr %8732, align 4, !tbaa !5
  %8744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8745 = load i32, ptr @test_count, align 4, !tbaa !5
  %8746 = load i32, ptr %2772, align 4, !tbaa !5
  %8747 = call ptr @s2n_strerror(i32 noundef %8746, ptr noundef nonnull @.str.4) #13
  %8748 = load i32, ptr %2772, align 4, !tbaa !5
  %8749 = call ptr @s2n_strerror_debug(i32 noundef %8748, ptr noundef nonnull @.str.4) #13
  %8750 = load i32, ptr %8732, align 4, !tbaa !5
  %8751 = call ptr @strerror(i32 noundef %8750) #13
  %8752 = load i32, ptr %8732, align 4, !tbaa !5
  %8753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8744, ptr noundef nonnull %.str.5.sink4822, i32 noundef %8745, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1094, ptr noundef %8747, ptr noundef %8749, ptr noundef %8751, i32 noundef %8752) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8754:                                             ; preds = %8726
  %8755 = load i32, ptr @test_count, align 4, !tbaa !5
  %8756 = add nsw i32 %8755, 1
  store i32 %8756, ptr @test_count, align 4, !tbaa !5
  %8757 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef %149, i64 noundef 12000) #13
  %8758 = icmp eq i32 %8757, -1
  br i1 %8758, label %8759, label %8782

8759:                                             ; preds = %8754
  %8760 = tail call ptr @__errno_location() #14
  %8761 = load i32, ptr %8760, align 4, !tbaa !5
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = call i32 @s2n_print_stacktrace(ptr noundef %8762) #13
  %8764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8765 = trunc nuw i8 %8764 to i1
  br i1 %8765, label %8766, label %8770

8766:                                             ; preds = %8759
  %8767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8768 = call i32 @fileno(ptr noundef %8767) #13
  %8769 = call i32 @isatty(i32 noundef %8768) #13
  %.not1655 = icmp eq i32 %8769, 0
  br i1 %.not1655, label %8770, label %8771

8770:                                             ; preds = %8766, %8759
  br label %8771

8771:                                             ; preds = %8766, %8770
  %.str.5.sink4831 = phi ptr [ @.str.5, %8770 ], [ @.str.2, %8766 ]
  store i32 %8761, ptr %8760, align 4, !tbaa !5
  %8772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8773 = load i32, ptr @test_count, align 4, !tbaa !5
  %8774 = load i32, ptr %2772, align 4, !tbaa !5
  %8775 = call ptr @s2n_strerror(i32 noundef %8774, ptr noundef nonnull @.str.4) #13
  %8776 = load i32, ptr %2772, align 4, !tbaa !5
  %8777 = call ptr @s2n_strerror_debug(i32 noundef %8776, ptr noundef nonnull @.str.4) #13
  %8778 = load i32, ptr %8760, align 4, !tbaa !5
  %8779 = call ptr @strerror(i32 noundef %8778) #13
  %8780 = load i32, ptr %8760, align 4, !tbaa !5
  %8781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8772, ptr noundef nonnull %.str.5.sink4831, i32 noundef %8773, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 1095, ptr noundef %8775, ptr noundef %8777, ptr noundef %8779, i32 noundef %8780) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8782:                                             ; preds = %8754
  %8783 = load i32, ptr @test_count, align 4, !tbaa !5
  %8784 = add nsw i32 %8783, 1
  store i32 %8784, ptr @test_count, align 4, !tbaa !5
  %8785 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef %177, i64 noundef 12000) #13
  %8786 = icmp eq i32 %8785, -1
  br i1 %8786, label %8787, label %8810

8787:                                             ; preds = %8782
  %8788 = tail call ptr @__errno_location() #14
  %8789 = load i32, ptr %8788, align 4, !tbaa !5
  %8790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8791 = call i32 @s2n_print_stacktrace(ptr noundef %8790) #13
  %8792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8793 = trunc nuw i8 %8792 to i1
  br i1 %8793, label %8794, label %8798

8794:                                             ; preds = %8787
  %8795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8796 = call i32 @fileno(ptr noundef %8795) #13
  %8797 = call i32 @isatty(i32 noundef %8796) #13
  %.not1654 = icmp eq i32 %8797, 0
  br i1 %.not1654, label %8798, label %8799

8798:                                             ; preds = %8794, %8787
  br label %8799

8799:                                             ; preds = %8794, %8798
  %.str.5.sink4840 = phi ptr [ @.str.5, %8798 ], [ @.str.2, %8794 ]
  store i32 %8789, ptr %8788, align 4, !tbaa !5
  %8800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8801 = load i32, ptr @test_count, align 4, !tbaa !5
  %8802 = load i32, ptr %2772, align 4, !tbaa !5
  %8803 = call ptr @s2n_strerror(i32 noundef %8802, ptr noundef nonnull @.str.4) #13
  %8804 = load i32, ptr %2772, align 4, !tbaa !5
  %8805 = call ptr @s2n_strerror_debug(i32 noundef %8804, ptr noundef nonnull @.str.4) #13
  %8806 = load i32, ptr %8788, align 4, !tbaa !5
  %8807 = call ptr @strerror(i32 noundef %8806) #13
  %8808 = load i32, ptr %8788, align 4, !tbaa !5
  %8809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8800, ptr noundef nonnull %.str.5.sink4840, i32 noundef %8801, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 1096, ptr noundef %8803, ptr noundef %8805, ptr noundef %8807, i32 noundef %8808) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8810:                                             ; preds = %8782
  %8811 = load i32, ptr @test_count, align 4, !tbaa !5
  %8812 = add nsw i32 %8811, 1
  store i32 %8812, ptr @test_count, align 4, !tbaa !5
  %8813 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %8729, ptr noundef %149, ptr noundef %177) #13
  %8814 = icmp eq i32 %8813, -1
  br i1 %8814, label %8815, label %8838

8815:                                             ; preds = %8810
  %8816 = tail call ptr @__errno_location() #14
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8819 = call i32 @s2n_print_stacktrace(ptr noundef %8818) #13
  %8820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8821 = trunc nuw i8 %8820 to i1
  br i1 %8821, label %8822, label %8826

8822:                                             ; preds = %8815
  %8823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8824 = call i32 @fileno(ptr noundef %8823) #13
  %8825 = call i32 @isatty(i32 noundef %8824) #13
  %.not1653 = icmp eq i32 %8825, 0
  br i1 %.not1653, label %8826, label %8827

8826:                                             ; preds = %8822, %8815
  br label %8827

8827:                                             ; preds = %8822, %8826
  %.str.5.sink4849 = phi ptr [ @.str.5, %8826 ], [ @.str.2, %8822 ]
  store i32 %8817, ptr %8816, align 4, !tbaa !5
  %8828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8829 = load i32, ptr @test_count, align 4, !tbaa !5
  %8830 = load i32, ptr %2772, align 4, !tbaa !5
  %8831 = call ptr @s2n_strerror(i32 noundef %8830, ptr noundef nonnull @.str.4) #13
  %8832 = load i32, ptr %2772, align 4, !tbaa !5
  %8833 = call ptr @s2n_strerror_debug(i32 noundef %8832, ptr noundef nonnull @.str.4) #13
  %8834 = load i32, ptr %8816, align 4, !tbaa !5
  %8835 = call ptr @strerror(i32 noundef %8834) #13
  %8836 = load i32, ptr %8816, align 4, !tbaa !5
  %8837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8828, ptr noundef nonnull %.str.5.sink4849, i32 noundef %8829, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 1097, ptr noundef %8831, ptr noundef %8833, ptr noundef %8835, i32 noundef %8836) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8838:                                             ; preds = %8810
  %8839 = load i32, ptr @test_count, align 4, !tbaa !5
  %8840 = add nsw i32 %8839, 1
  store i32 %8840, ptr @test_count, align 4, !tbaa !5
  %8841 = call i32 @s2n_config_set_extension_data(ptr noundef nonnull %8729, i32 noundef 18, ptr noundef nonnull @sct_list, i32 noundef 5) #13
  %8842 = icmp eq i32 %8841, -1
  br i1 %8842, label %8843, label %8866

8843:                                             ; preds = %8838
  %8844 = tail call ptr @__errno_location() #14
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8847 = call i32 @s2n_print_stacktrace(ptr noundef %8846) #13
  %8848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8849 = trunc nuw i8 %8848 to i1
  br i1 %8849, label %8850, label %8854

8850:                                             ; preds = %8843
  %8851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8852 = call i32 @fileno(ptr noundef %8851) #13
  %8853 = call i32 @isatty(i32 noundef %8852) #13
  %.not1652 = icmp eq i32 %8853, 0
  br i1 %.not1652, label %8854, label %8855

8854:                                             ; preds = %8850, %8843
  br label %8855

8855:                                             ; preds = %8850, %8854
  %.str.5.sink4858 = phi ptr [ @.str.5, %8854 ], [ @.str.2, %8850 ]
  store i32 %8845, ptr %8844, align 4, !tbaa !5
  %8856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8857 = load i32, ptr @test_count, align 4, !tbaa !5
  %8858 = load i32, ptr %2772, align 4, !tbaa !5
  %8859 = call ptr @s2n_strerror(i32 noundef %8858, ptr noundef nonnull @.str.4) #13
  %8860 = load i32, ptr %2772, align 4, !tbaa !5
  %8861 = call ptr @s2n_strerror_debug(i32 noundef %8860, ptr noundef nonnull @.str.4) #13
  %8862 = load i32, ptr %8844, align 4, !tbaa !5
  %8863 = call ptr @strerror(i32 noundef %8862) #13
  %8864 = load i32, ptr %8844, align 4, !tbaa !5
  %8865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8856, ptr noundef nonnull %.str.5.sink4858, i32 noundef %8857, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 1099, ptr noundef %8859, ptr noundef %8861, ptr noundef %8863, i32 noundef %8864) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8866:                                             ; preds = %8838
  %8867 = load i32, ptr @test_count, align 4, !tbaa !5
  %8868 = add nsw i32 %8867, 1
  store i32 %8868, ptr @test_count, align 4, !tbaa !5
  %8869 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8670, ptr noundef nonnull %8729) #13
  %8870 = icmp eq i32 %8869, -1
  br i1 %8870, label %8871, label %8894

8871:                                             ; preds = %8866
  %8872 = tail call ptr @__errno_location() #14
  %8873 = load i32, ptr %8872, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = call i32 @s2n_print_stacktrace(ptr noundef %8874) #13
  %8876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8877 = trunc nuw i8 %8876 to i1
  br i1 %8877, label %8878, label %8882

8878:                                             ; preds = %8871
  %8879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8880 = call i32 @fileno(ptr noundef %8879) #13
  %8881 = call i32 @isatty(i32 noundef %8880) #13
  %.not1651 = icmp eq i32 %8881, 0
  br i1 %.not1651, label %8882, label %8883

8882:                                             ; preds = %8878, %8871
  br label %8883

8883:                                             ; preds = %8878, %8882
  %.str.5.sink4867 = phi ptr [ @.str.5, %8882 ], [ @.str.2, %8878 ]
  store i32 %8873, ptr %8872, align 4, !tbaa !5
  %8884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = load i32, ptr %2772, align 4, !tbaa !5
  %8887 = call ptr @s2n_strerror(i32 noundef %8886, ptr noundef nonnull @.str.4) #13
  %8888 = load i32, ptr %2772, align 4, !tbaa !5
  %8889 = call ptr @s2n_strerror_debug(i32 noundef %8888, ptr noundef nonnull @.str.4) #13
  %8890 = load i32, ptr %8872, align 4, !tbaa !5
  %8891 = call ptr @strerror(i32 noundef %8890) #13
  %8892 = load i32, ptr %8872, align 4, !tbaa !5
  %8893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8884, ptr noundef nonnull %.str.5.sink4867, i32 noundef %8885, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1100, ptr noundef %8887, ptr noundef %8889, ptr noundef %8891, i32 noundef %8892) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8894:                                             ; preds = %8866
  %8895 = load i32, ptr @test_count, align 4, !tbaa !5
  %8896 = add nsw i32 %8895, 1
  store i32 %8896, ptr @test_count, align 4, !tbaa !5
  %8897 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %8670, ptr noundef nonnull %8555) #13
  %8898 = icmp eq i32 %8897, -1
  br i1 %8898, label %8899, label %8922

8899:                                             ; preds = %8894
  %8900 = tail call ptr @__errno_location() #14
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8903 = call i32 @s2n_print_stacktrace(ptr noundef %8902) #13
  %8904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8905 = trunc nuw i8 %8904 to i1
  br i1 %8905, label %8906, label %8910

8906:                                             ; preds = %8899
  %8907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8908 = call i32 @fileno(ptr noundef %8907) #13
  %8909 = call i32 @isatty(i32 noundef %8908) #13
  %.not1650 = icmp eq i32 %8909, 0
  br i1 %.not1650, label %8910, label %8911

8910:                                             ; preds = %8906, %8899
  br label %8911

8911:                                             ; preds = %8906, %8910
  %.str.5.sink4876 = phi ptr [ @.str.5, %8910 ], [ @.str.2, %8906 ]
  store i32 %8901, ptr %8900, align 4, !tbaa !5
  %8912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8913 = load i32, ptr @test_count, align 4, !tbaa !5
  %8914 = load i32, ptr %2772, align 4, !tbaa !5
  %8915 = call ptr @s2n_strerror(i32 noundef %8914, ptr noundef nonnull @.str.4) #13
  %8916 = load i32, ptr %2772, align 4, !tbaa !5
  %8917 = call ptr @s2n_strerror_debug(i32 noundef %8916, ptr noundef nonnull @.str.4) #13
  %8918 = load i32, ptr %8900, align 4, !tbaa !5
  %8919 = call ptr @strerror(i32 noundef %8918) #13
  %8920 = load i32, ptr %8900, align 4, !tbaa !5
  %8921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8912, ptr noundef nonnull %.str.5.sink4876, i32 noundef %8913, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1102, ptr noundef %8915, ptr noundef %8917, ptr noundef %8919, i32 noundef %8920) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8922:                                             ; preds = %8894
  %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 = call ptr @s2n_connection_get_sct_list(ptr noundef nonnull %8555, ptr noundef nonnull %29) #13
  %8926 = icmp eq ptr %8925, null
  br i1 %8926, label %8927, label %8950

8927:                                             ; preds = %8922
  %8928 = tail call ptr @__errno_location() #14
  %8929 = load i32, ptr %8928, align 4, !tbaa !5
  %8930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8931 = call i32 @s2n_print_stacktrace(ptr noundef %8930) #13
  %8932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8933 = trunc nuw i8 %8932 to i1
  br i1 %8933, label %8934, label %8938

8934:                                             ; preds = %8927
  %8935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8936 = call i32 @fileno(ptr noundef %8935) #13
  %8937 = call i32 @isatty(i32 noundef %8936) #13
  %.not1649 = icmp eq i32 %8937, 0
  br i1 %.not1649, label %8938, label %8939

8938:                                             ; preds = %8934, %8927
  br label %8939

8939:                                             ; preds = %8934, %8938
  %.str.5.sink4885 = phi ptr [ @.str.5, %8938 ], [ @.str.2, %8934 ]
  store i32 %8929, ptr %8928, align 4, !tbaa !5
  %8940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8941 = load i32, ptr @test_count, align 4, !tbaa !5
  %8942 = load i32, ptr %2772, align 4, !tbaa !5
  %8943 = call ptr @s2n_strerror(i32 noundef %8942, ptr noundef nonnull @.str.4) #13
  %8944 = load i32, ptr %2772, align 4, !tbaa !5
  %8945 = call ptr @s2n_strerror_debug(i32 noundef %8944, ptr noundef nonnull @.str.4) #13
  %8946 = load i32, ptr %8928, align 4, !tbaa !5
  %8947 = call ptr @strerror(i32 noundef %8946) #13
  %8948 = load i32, ptr %8928, align 4, !tbaa !5
  %8949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8940, ptr noundef nonnull %.str.5.sink4885, i32 noundef %8941, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 1105, ptr noundef %8943, ptr noundef %8945, ptr noundef %8947, i32 noundef %8948) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8950:                                             ; preds = %8922
  %8951 = load i32, ptr @test_count, align 4, !tbaa !5
  %8952 = add nsw i32 %8951, 1
  store i32 %8952, ptr @test_count, align 4, !tbaa !5
  %8953 = load i32, ptr %29, align 4, !tbaa !5
  %8954 = icmp eq i32 %8953, 5
  br i1 %8954, label %8978, label %8955

8955:                                             ; preds = %8950
  %8956 = tail call ptr @__errno_location() #14
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = call i32 @s2n_print_stacktrace(ptr noundef %8958) #13
  %8960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8961 = trunc nuw i8 %8960 to i1
  br i1 %8961, label %8962, label %8966

8962:                                             ; preds = %8955
  %8963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8964 = call i32 @fileno(ptr noundef %8963) #13
  %8965 = call i32 @isatty(i32 noundef %8964) #13
  %.not1541 = icmp eq i32 %8965, 0
  br i1 %.not1541, label %8966, label %8967

8966:                                             ; preds = %8962, %8955
  br label %8967

8967:                                             ; preds = %8962, %8966
  %.str.5.sink4894 = phi ptr [ @.str.5, %8966 ], [ @.str.2, %8962 ]
  store i32 %8957, ptr %8956, align 4, !tbaa !5
  %8968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8969 = load i32, ptr @test_count, align 4, !tbaa !5
  %8970 = load i32, ptr %2772, align 4, !tbaa !5
  %8971 = call ptr @s2n_strerror(i32 noundef %8970, ptr noundef nonnull @.str.4) #13
  %8972 = load i32, ptr %2772, align 4, !tbaa !5
  %8973 = call ptr @s2n_strerror_debug(i32 noundef %8972, ptr noundef nonnull @.str.4) #13
  %8974 = load i32, ptr %8956, align 4, !tbaa !5
  %8975 = call ptr @strerror(i32 noundef %8974) #13
  %8976 = load i32, ptr %8956, align 4, !tbaa !5
  %8977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8968, ptr noundef nonnull %.str.5.sink4894, i32 noundef %8969, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 1106, ptr noundef %8971, ptr noundef %8973, ptr noundef %8975, i32 noundef %8976) #15
  call void @exit(i32 noundef 1) #16
  unreachable

8978:                                             ; preds = %8950
  %8979 = add nsw i32 %8951, 2
  store i32 %8979, ptr @test_count, align 4, !tbaa !5
  %8980 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %8670, ptr noundef nonnull %8555) #13
  %8981 = icmp eq i32 %8980, -1
  br i1 %8981, label %8982, label %9005

8982:                                             ; preds = %8978
  %8983 = tail call ptr @__errno_location() #14
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  %8985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8986 = call i32 @s2n_print_stacktrace(ptr noundef %8985) #13
  %8987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8988 = trunc nuw i8 %8987 to i1
  br i1 %8988, label %8989, label %8993

8989:                                             ; preds = %8982
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = call i32 @fileno(ptr noundef %8990) #13
  %8992 = call i32 @isatty(i32 noundef %8991) #13
  %.not1648 = icmp eq i32 %8992, 0
  br i1 %.not1648, label %8993, label %8994

8993:                                             ; preds = %8989, %8982
  br label %8994

8994:                                             ; preds = %8989, %8993
  %.str.5.sink4903 = phi ptr [ @.str.5, %8993 ], [ @.str.2, %8989 ]
  store i32 %8984, ptr %8983, align 4, !tbaa !5
  %8995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8996 = load i32, ptr @test_count, align 4, !tbaa !5
  %8997 = load i32, ptr %2772, align 4, !tbaa !5
  %8998 = call ptr @s2n_strerror(i32 noundef %8997, ptr noundef nonnull @.str.4) #13
  %8999 = load i32, ptr %2772, align 4, !tbaa !5
  %9000 = call ptr @s2n_strerror_debug(i32 noundef %8999, ptr noundef nonnull @.str.4) #13
  %9001 = load i32, ptr %8983, align 4, !tbaa !5
  %9002 = call ptr @strerror(i32 noundef %9001) #13
  %9003 = load i32, ptr %8983, align 4, !tbaa !5
  %9004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8995, ptr noundef nonnull %.str.5.sink4903, i32 noundef %8996, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1108, ptr noundef %8998, ptr noundef %9000, ptr noundef %9002, i32 noundef %9003) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9005:                                             ; preds = %8978
  %9006 = load i32, ptr @test_count, align 4, !tbaa !5
  %9007 = add nsw i32 %9006, 1
  store i32 %9007, ptr @test_count, align 4, !tbaa !5
  %9008 = call i32 @s2n_connection_free(ptr noundef nonnull %8670) #13
  %9009 = icmp eq i32 %9008, -1
  br i1 %9009, label %9010, label %9033

9010:                                             ; preds = %9005
  %9011 = tail call ptr @__errno_location() #14
  %9012 = load i32, ptr %9011, align 4, !tbaa !5
  %9013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9014 = call i32 @s2n_print_stacktrace(ptr noundef %9013) #13
  %9015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9016 = trunc nuw i8 %9015 to i1
  br i1 %9016, label %9017, label %9021

9017:                                             ; preds = %9010
  %9018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9019 = call i32 @fileno(ptr noundef %9018) #13
  %9020 = call i32 @isatty(i32 noundef %9019) #13
  %.not1647 = icmp eq i32 %9020, 0
  br i1 %.not1647, label %9021, label %9022

9021:                                             ; preds = %9017, %9010
  br label %9022

9022:                                             ; preds = %9017, %9021
  %.str.5.sink4912 = phi ptr [ @.str.5, %9021 ], [ @.str.2, %9017 ]
  store i32 %9012, ptr %9011, align 4, !tbaa !5
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = load i32, ptr @test_count, align 4, !tbaa !5
  %9025 = load i32, ptr %2772, align 4, !tbaa !5
  %9026 = call ptr @s2n_strerror(i32 noundef %9025, ptr noundef nonnull @.str.4) #13
  %9027 = load i32, ptr %2772, align 4, !tbaa !5
  %9028 = call ptr @s2n_strerror_debug(i32 noundef %9027, ptr noundef nonnull @.str.4) #13
  %9029 = load i32, ptr %9011, align 4, !tbaa !5
  %9030 = call ptr @strerror(i32 noundef %9029) #13
  %9031 = load i32, ptr %9011, align 4, !tbaa !5
  %9032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9023, ptr noundef nonnull %.str.5.sink4912, i32 noundef %9024, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1110, ptr noundef %9026, ptr noundef %9028, ptr noundef %9030, i32 noundef %9031) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9033:                                             ; preds = %9005
  %9034 = load i32, ptr @test_count, align 4, !tbaa !5
  %9035 = add nsw i32 %9034, 1
  store i32 %9035, ptr @test_count, align 4, !tbaa !5
  %9036 = call i32 @s2n_connection_free(ptr noundef nonnull %8555) #13
  %9037 = icmp eq i32 %9036, -1
  br i1 %9037, label %9038, label %9061

9038:                                             ; preds = %9033
  %9039 = tail call ptr @__errno_location() #14
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9042 = call i32 @s2n_print_stacktrace(ptr noundef %9041) #13
  %9043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9044 = trunc nuw i8 %9043 to i1
  br i1 %9044, label %9045, label %9049

9045:                                             ; preds = %9038
  %9046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9047 = call i32 @fileno(ptr noundef %9046) #13
  %9048 = call i32 @isatty(i32 noundef %9047) #13
  %.not1646 = icmp eq i32 %9048, 0
  br i1 %.not1646, label %9049, label %9050

9049:                                             ; preds = %9045, %9038
  br label %9050

9050:                                             ; preds = %9045, %9049
  %.str.5.sink4921 = phi ptr [ @.str.5, %9049 ], [ @.str.2, %9045 ]
  store i32 %9040, ptr %9039, align 4, !tbaa !5
  %9051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9052 = load i32, ptr @test_count, align 4, !tbaa !5
  %9053 = load i32, ptr %2772, align 4, !tbaa !5
  %9054 = call ptr @s2n_strerror(i32 noundef %9053, ptr noundef nonnull @.str.4) #13
  %9055 = load i32, ptr %2772, align 4, !tbaa !5
  %9056 = call ptr @s2n_strerror_debug(i32 noundef %9055, ptr noundef nonnull @.str.4) #13
  %9057 = load i32, ptr %9039, align 4, !tbaa !5
  %9058 = call ptr @strerror(i32 noundef %9057) #13
  %9059 = load i32, ptr %9039, align 4, !tbaa !5
  %9060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9051, ptr noundef nonnull %.str.5.sink4921, i32 noundef %9052, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1111, ptr noundef %9054, ptr noundef %9056, ptr noundef %9058, i32 noundef %9059) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9061:                                             ; preds = %9033
  %9062 = load i32, ptr @test_count, align 4, !tbaa !5
  %9063 = add nsw i32 %9062, 1
  store i32 %9063, ptr @test_count, align 4, !tbaa !5
  %9064 = call i32 @s2n_config_free(ptr noundef nonnull %8729) #13
  %9065 = icmp eq i32 %9064, -1
  br i1 %9065, label %9066, label %9089

9066:                                             ; preds = %9061
  %9067 = tail call ptr @__errno_location() #14
  %9068 = load i32, ptr %9067, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = call i32 @s2n_print_stacktrace(ptr noundef %9069) #13
  %9071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9072 = trunc nuw i8 %9071 to i1
  br i1 %9072, label %9073, label %9077

9073:                                             ; preds = %9066
  %9074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9075 = call i32 @fileno(ptr noundef %9074) #13
  %9076 = call i32 @isatty(i32 noundef %9075) #13
  %.not1645 = icmp eq i32 %9076, 0
  br i1 %.not1645, label %9077, label %9078

9077:                                             ; preds = %9073, %9066
  br label %9078

9078:                                             ; preds = %9073, %9077
  %.str.5.sink4930 = phi ptr [ @.str.5, %9077 ], [ @.str.2, %9073 ]
  store i32 %9068, ptr %9067, align 4, !tbaa !5
  %9079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9080 = load i32, ptr @test_count, align 4, !tbaa !5
  %9081 = load i32, ptr %2772, align 4, !tbaa !5
  %9082 = call ptr @s2n_strerror(i32 noundef %9081, ptr noundef nonnull @.str.4) #13
  %9083 = load i32, ptr %2772, align 4, !tbaa !5
  %9084 = call ptr @s2n_strerror_debug(i32 noundef %9083, ptr noundef nonnull @.str.4) #13
  %9085 = load i32, ptr %9067, align 4, !tbaa !5
  %9086 = call ptr @strerror(i32 noundef %9085) #13
  %9087 = load i32, ptr %9067, align 4, !tbaa !5
  %9088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9079, ptr noundef nonnull %.str.5.sink4930, i32 noundef %9080, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1113, ptr noundef %9082, ptr noundef %9084, ptr noundef %9086, i32 noundef %9087) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9089:                                             ; preds = %9061
  %9090 = load i32, ptr @test_count, align 4, !tbaa !5
  %9091 = add nsw i32 %9090, 1
  store i32 %9091, ptr @test_count, align 4, !tbaa !5
  %9092 = call i32 @s2n_config_free(ptr noundef nonnull %8471) #13
  %9093 = icmp eq i32 %9092, -1
  br i1 %9093, label %9094, label %9117

9094:                                             ; preds = %9089
  %9095 = tail call ptr @__errno_location() #14
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9098 = call i32 @s2n_print_stacktrace(ptr noundef %9097) #13
  %9099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9100 = trunc nuw i8 %9099 to i1
  br i1 %9100, label %9101, label %9105

9101:                                             ; preds = %9094
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = call i32 @fileno(ptr noundef %9102) #13
  %9104 = call i32 @isatty(i32 noundef %9103) #13
  %.not1644 = icmp eq i32 %9104, 0
  br i1 %.not1644, label %9105, label %9106

9105:                                             ; preds = %9101, %9094
  br label %9106

9106:                                             ; preds = %9101, %9105
  %.str.5.sink4939 = phi ptr [ @.str.5, %9105 ], [ @.str.2, %9101 ]
  store i32 %9096, ptr %9095, align 4, !tbaa !5
  %9107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9108 = load i32, ptr @test_count, align 4, !tbaa !5
  %9109 = load i32, ptr %2772, align 4, !tbaa !5
  %9110 = call ptr @s2n_strerror(i32 noundef %9109, ptr noundef nonnull @.str.4) #13
  %9111 = load i32, ptr %2772, align 4, !tbaa !5
  %9112 = call ptr @s2n_strerror_debug(i32 noundef %9111, ptr noundef nonnull @.str.4) #13
  %9113 = load i32, ptr %9095, align 4, !tbaa !5
  %9114 = call ptr @strerror(i32 noundef %9113) #13
  %9115 = load i32, ptr %9095, align 4, !tbaa !5
  %9116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9107, ptr noundef nonnull %.str.5.sink4939, i32 noundef %9108, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1114, ptr noundef %9110, ptr noundef %9112, ptr noundef %9114, i32 noundef %9115) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9117:                                             ; preds = %9089
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #13
  store i32 0, ptr %30, align 4, !tbaa !5
  %9118 = load i32, ptr @test_count, align 4, !tbaa !5
  %9119 = add nsw i32 %9118, 1
  store i32 %9119, ptr @test_count, align 4, !tbaa !5
  %9120 = call ptr @s2n_config_new() #13
  %9121 = icmp eq ptr %9120, null
  br i1 %9121, label %9122, label %9145

9122:                                             ; preds = %9117
  %9123 = tail call ptr @__errno_location() #14
  %9124 = load i32, ptr %9123, align 4, !tbaa !5
  %9125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9126 = call i32 @s2n_print_stacktrace(ptr noundef %9125) #13
  %9127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9128 = trunc nuw i8 %9127 to i1
  br i1 %9128, label %9129, label %9133

9129:                                             ; preds = %9122
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = call i32 @fileno(ptr noundef %9130) #13
  %9132 = call i32 @isatty(i32 noundef %9131) #13
  %.not1643 = icmp eq i32 %9132, 0
  br i1 %.not1643, label %9133, label %9134

9133:                                             ; preds = %9129, %9122
  br label %9134

9134:                                             ; preds = %9129, %9133
  %.str.5.sink4948 = phi ptr [ @.str.5, %9133 ], [ @.str.2, %9129 ]
  store i32 %9124, ptr %9123, align 4, !tbaa !5
  %9135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9136 = load i32, ptr @test_count, align 4, !tbaa !5
  %9137 = load i32, ptr %2772, align 4, !tbaa !5
  %9138 = call ptr @s2n_strerror(i32 noundef %9137, ptr noundef nonnull @.str.4) #13
  %9139 = load i32, ptr %2772, align 4, !tbaa !5
  %9140 = call ptr @s2n_strerror_debug(i32 noundef %9139, ptr noundef nonnull @.str.4) #13
  %9141 = load i32, ptr %9123, align 4, !tbaa !5
  %9142 = call ptr @strerror(i32 noundef %9141) #13
  %9143 = load i32, ptr %9123, align 4, !tbaa !5
  %9144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9135, ptr noundef nonnull %.str.5.sink4948, i32 noundef %9136, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1127, ptr noundef %9138, ptr noundef %9140, ptr noundef %9142, i32 noundef %9143) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9145:                                             ; preds = %9117
  %9146 = load i32, ptr @test_count, align 4, !tbaa !5
  %9147 = add nsw i32 %9146, 1
  store i32 %9147, ptr @test_count, align 4, !tbaa !5
  %9148 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %9120, i8 noundef zeroext 0) #13
  %9149 = icmp eq i32 %9148, -1
  br i1 %9149, label %9150, label %9173

9150:                                             ; preds = %9145
  %9151 = tail call ptr @__errno_location() #14
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9154 = call i32 @s2n_print_stacktrace(ptr noundef %9153) #13
  %9155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9156 = trunc nuw i8 %9155 to i1
  br i1 %9156, label %9157, label %9161

9157:                                             ; preds = %9150
  %9158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9159 = call i32 @fileno(ptr noundef %9158) #13
  %9160 = call i32 @isatty(i32 noundef %9159) #13
  %.not1642 = icmp eq i32 %9160, 0
  br i1 %.not1642, label %9161, label %9162

9161:                                             ; preds = %9157, %9150
  br label %9162

9162:                                             ; preds = %9157, %9161
  %.str.5.sink4957 = phi ptr [ @.str.5, %9161 ], [ @.str.2, %9157 ]
  store i32 %9152, ptr %9151, align 4, !tbaa !5
  %9163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9164 = load i32, ptr @test_count, align 4, !tbaa !5
  %9165 = load i32, ptr %2772, align 4, !tbaa !5
  %9166 = call ptr @s2n_strerror(i32 noundef %9165, ptr noundef nonnull @.str.4) #13
  %9167 = load i32, ptr %2772, align 4, !tbaa !5
  %9168 = call ptr @s2n_strerror_debug(i32 noundef %9167, ptr noundef nonnull @.str.4) #13
  %9169 = load i32, ptr %9151, align 4, !tbaa !5
  %9170 = call ptr @strerror(i32 noundef %9169) #13
  %9171 = load i32, ptr %9151, align 4, !tbaa !5
  %9172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9163, ptr noundef nonnull %.str.5.sink4957, i32 noundef %9164, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1128, ptr noundef %9166, ptr noundef %9168, ptr noundef %9170, i32 noundef %9171) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9173:                                             ; preds = %9145
  %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 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %9120) #13
  %9177 = icmp eq i32 %9176, -1
  br i1 %9177, label %9178, label %9201

9178:                                             ; preds = %9173
  %9179 = tail call ptr @__errno_location() #14
  %9180 = load i32, ptr %9179, align 4, !tbaa !5
  %9181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9182 = call i32 @s2n_print_stacktrace(ptr noundef %9181) #13
  %9183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9184 = trunc nuw i8 %9183 to i1
  br i1 %9184, label %9185, label %9189

9185:                                             ; preds = %9178
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @fileno(ptr noundef %9186) #13
  %9188 = call i32 @isatty(i32 noundef %9187) #13
  %.not1641 = icmp eq i32 %9188, 0
  br i1 %.not1641, label %9189, label %9190

9189:                                             ; preds = %9185, %9178
  br label %9190

9190:                                             ; preds = %9185, %9189
  %.str.5.sink4966 = phi ptr [ @.str.5, %9189 ], [ @.str.2, %9185 ]
  store i32 %9180, ptr %9179, align 4, !tbaa !5
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = load i32, ptr @test_count, align 4, !tbaa !5
  %9193 = load i32, ptr %2772, align 4, !tbaa !5
  %9194 = call ptr @s2n_strerror(i32 noundef %9193, ptr noundef nonnull @.str.4) #13
  %9195 = load i32, ptr %2772, align 4, !tbaa !5
  %9196 = call ptr @s2n_strerror_debug(i32 noundef %9195, ptr noundef nonnull @.str.4) #13
  %9197 = load i32, ptr %9179, align 4, !tbaa !5
  %9198 = call ptr @strerror(i32 noundef %9197) #13
  %9199 = load i32, ptr %9179, align 4, !tbaa !5
  %9200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9191, ptr noundef nonnull %.str.5.sink4966, i32 noundef %9192, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1129, ptr noundef %9194, ptr noundef %9196, ptr noundef %9198, i32 noundef %9199) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9201:                                             ; preds = %9173
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = add nsw i32 %9202, 1
  store i32 %9203, ptr @test_count, align 4, !tbaa !5
  %9204 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %9205 = icmp eq ptr %9204, null
  br i1 %9205, label %9206, label %9229

9206:                                             ; preds = %9201
  %9207 = tail call ptr @__errno_location() #14
  %9208 = load i32, ptr %9207, align 4, !tbaa !5
  %9209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9210 = call i32 @s2n_print_stacktrace(ptr noundef %9209) #13
  %9211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9212 = trunc nuw i8 %9211 to i1
  br i1 %9212, label %9213, label %9217

9213:                                             ; preds = %9206
  %9214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9215 = call i32 @fileno(ptr noundef %9214) #13
  %9216 = call i32 @isatty(i32 noundef %9215) #13
  %.not1640 = icmp eq i32 %9216, 0
  br i1 %.not1640, label %9217, label %9218

9217:                                             ; preds = %9213, %9206
  br label %9218

9218:                                             ; preds = %9213, %9217
  %.str.5.sink4975 = phi ptr [ @.str.5, %9217 ], [ @.str.2, %9213 ]
  store i32 %9208, ptr %9207, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = load i32, ptr @test_count, align 4, !tbaa !5
  %9221 = load i32, ptr %2772, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror(i32 noundef %9221, ptr noundef nonnull @.str.4) #13
  %9223 = load i32, ptr %2772, align 4, !tbaa !5
  %9224 = call ptr @s2n_strerror_debug(i32 noundef %9223, ptr noundef nonnull @.str.4) #13
  %9225 = load i32, ptr %9207, align 4, !tbaa !5
  %9226 = call ptr @strerror(i32 noundef %9225) #13
  %9227 = load i32, ptr %9207, align 4, !tbaa !5
  %9228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9219, ptr noundef nonnull %.str.5.sink4975, i32 noundef %9220, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1130, ptr noundef %9222, ptr noundef %9224, ptr noundef %9226, i32 noundef %9227) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9229:                                             ; preds = %9201
  %9230 = load i32, ptr @test_count, align 4, !tbaa !5
  %9231 = add nsw i32 %9230, 1
  store i32 %9231, ptr @test_count, align 4, !tbaa !5
  %9232 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9204, ptr noundef nonnull %9120) #13
  %9233 = icmp eq i32 %9232, -1
  br i1 %9233, label %9234, label %9257

9234:                                             ; preds = %9229
  %9235 = tail call ptr @__errno_location() #14
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  %9237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9238 = call i32 @s2n_print_stacktrace(ptr noundef %9237) #13
  %9239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9240 = trunc nuw i8 %9239 to i1
  br i1 %9240, label %9241, label %9245

9241:                                             ; preds = %9234
  %9242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9243 = call i32 @fileno(ptr noundef %9242) #13
  %9244 = call i32 @isatty(i32 noundef %9243) #13
  %.not1639 = icmp eq i32 %9244, 0
  br i1 %.not1639, label %9245, label %9246

9245:                                             ; preds = %9241, %9234
  br label %9246

9246:                                             ; preds = %9241, %9245
  %.str.5.sink4984 = phi ptr [ @.str.5, %9245 ], [ @.str.2, %9241 ]
  store i32 %9236, ptr %9235, align 4, !tbaa !5
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = load i32, ptr @test_count, align 4, !tbaa !5
  %9249 = load i32, ptr %2772, align 4, !tbaa !5
  %9250 = call ptr @s2n_strerror(i32 noundef %9249, ptr noundef nonnull @.str.4) #13
  %9251 = load i32, ptr %2772, align 4, !tbaa !5
  %9252 = call ptr @s2n_strerror_debug(i32 noundef %9251, ptr noundef nonnull @.str.4) #13
  %9253 = load i32, ptr %9235, align 4, !tbaa !5
  %9254 = call ptr @strerror(i32 noundef %9253) #13
  %9255 = load i32, ptr %9235, align 4, !tbaa !5
  %9256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9247, ptr noundef nonnull %.str.5.sink4984, i32 noundef %9248, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1131, ptr noundef %9250, ptr noundef %9252, ptr noundef %9254, i32 noundef %9255) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9257:                                             ; preds = %9229
  %9258 = getelementptr inbounds i8, ptr %9204, i64 220
  store i8 33, ptr %9258, align 4, !tbaa !15
  %9259 = getelementptr inbounds i8, ptr %9204, i64 219
  store i8 33, ptr %9259, align 1, !tbaa !42
  %9260 = getelementptr inbounds i8, ptr %9204, i64 218
  store i8 33, ptr %9260, align 2, !tbaa !43
  %9261 = load i32, ptr @test_count, align 4, !tbaa !5
  %9262 = add nsw i32 %9261, 1
  store i32 %9262, ptr @test_count, align 4, !tbaa !5
  %9263 = call i32 @s2n_config_set_ct_support_level(ptr noundef nonnull %9120, i32 noundef 1) #13
  %9264 = icmp eq i32 %9263, -1
  br i1 %9264, label %9265, label %9288

9265:                                             ; preds = %9257
  %9266 = tail call ptr @__errno_location() #14
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9269 = call i32 @s2n_print_stacktrace(ptr noundef %9268) #13
  %9270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9271 = trunc nuw i8 %9270 to i1
  br i1 %9271, label %9272, label %9276

9272:                                             ; preds = %9265
  %9273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9274 = call i32 @fileno(ptr noundef %9273) #13
  %9275 = call i32 @isatty(i32 noundef %9274) #13
  %.not1638 = icmp eq i32 %9275, 0
  br i1 %.not1638, label %9276, label %9277

9276:                                             ; preds = %9272, %9265
  br label %9277

9277:                                             ; preds = %9272, %9276
  %.str.5.sink4993 = phi ptr [ @.str.5, %9276 ], [ @.str.2, %9272 ]
  store i32 %9267, ptr %9266, align 4, !tbaa !5
  %9278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9279 = load i32, ptr @test_count, align 4, !tbaa !5
  %9280 = load i32, ptr %2772, align 4, !tbaa !5
  %9281 = call ptr @s2n_strerror(i32 noundef %9280, ptr noundef nonnull @.str.4) #13
  %9282 = load i32, ptr %2772, align 4, !tbaa !5
  %9283 = call ptr @s2n_strerror_debug(i32 noundef %9282, ptr noundef nonnull @.str.4) #13
  %9284 = load i32, ptr %9266, align 4, !tbaa !5
  %9285 = call ptr @strerror(i32 noundef %9284) #13
  %9286 = load i32, ptr %9266, align 4, !tbaa !5
  %9287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9278, ptr noundef nonnull %.str.5.sink4993, i32 noundef %9279, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1137, ptr noundef %9281, ptr noundef %9283, ptr noundef %9285, i32 noundef %9286) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9288:                                             ; preds = %9257
  %9289 = load i32, ptr @test_count, align 4, !tbaa !5
  %9290 = add nsw i32 %9289, 1
  store i32 %9290, ptr @test_count, align 4, !tbaa !5
  %9291 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9204, ptr noundef nonnull %9120) #13
  %9292 = icmp eq i32 %9291, -1
  br i1 %9292, label %9293, label %9316

9293:                                             ; preds = %9288
  %9294 = tail call ptr @__errno_location() #14
  %9295 = load i32, ptr %9294, align 4, !tbaa !5
  %9296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9297 = call i32 @s2n_print_stacktrace(ptr noundef %9296) #13
  %9298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9299 = trunc nuw i8 %9298 to i1
  br i1 %9299, label %9300, label %9304

9300:                                             ; preds = %9293
  %9301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9302 = call i32 @fileno(ptr noundef %9301) #13
  %9303 = call i32 @isatty(i32 noundef %9302) #13
  %.not1637 = icmp eq i32 %9303, 0
  br i1 %.not1637, label %9304, label %9305

9304:                                             ; preds = %9300, %9293
  br label %9305

9305:                                             ; preds = %9300, %9304
  %.str.5.sink5002 = phi ptr [ @.str.5, %9304 ], [ @.str.2, %9300 ]
  store i32 %9295, ptr %9294, align 4, !tbaa !5
  %9306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9307 = load i32, ptr @test_count, align 4, !tbaa !5
  %9308 = load i32, ptr %2772, align 4, !tbaa !5
  %9309 = call ptr @s2n_strerror(i32 noundef %9308, ptr noundef nonnull @.str.4) #13
  %9310 = load i32, ptr %2772, align 4, !tbaa !5
  %9311 = call ptr @s2n_strerror_debug(i32 noundef %9310, ptr noundef nonnull @.str.4) #13
  %9312 = load i32, ptr %9294, align 4, !tbaa !5
  %9313 = call ptr @strerror(i32 noundef %9312) #13
  %9314 = load i32, ptr %9294, align 4, !tbaa !5
  %9315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9306, ptr noundef nonnull %.str.5.sink5002, i32 noundef %9307, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1138, ptr noundef %9309, ptr noundef %9311, ptr noundef %9313, i32 noundef %9314) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9316:                                             ; preds = %9288
  %9317 = load i32, ptr @test_count, align 4, !tbaa !5
  %9318 = add nsw i32 %9317, 1
  store i32 %9318, ptr @test_count, align 4, !tbaa !5
  %9319 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %9320 = icmp eq ptr %9319, null
  br i1 %9320, label %9321, label %9344

9321:                                             ; preds = %9316
  %9322 = tail call ptr @__errno_location() #14
  %9323 = load i32, ptr %9322, align 4, !tbaa !5
  %9324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9325 = call i32 @s2n_print_stacktrace(ptr noundef %9324) #13
  %9326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9327 = trunc nuw i8 %9326 to i1
  br i1 %9327, label %9328, label %9332

9328:                                             ; preds = %9321
  %9329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9330 = call i32 @fileno(ptr noundef %9329) #13
  %9331 = call i32 @isatty(i32 noundef %9330) #13
  %.not1636 = icmp eq i32 %9331, 0
  br i1 %.not1636, label %9332, label %9333

9332:                                             ; preds = %9328, %9321
  br label %9333

9333:                                             ; preds = %9328, %9332
  %.str.5.sink5011 = phi ptr [ @.str.5, %9332 ], [ @.str.2, %9328 ]
  store i32 %9323, ptr %9322, align 4, !tbaa !5
  %9334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9335 = load i32, ptr @test_count, align 4, !tbaa !5
  %9336 = load i32, ptr %2772, align 4, !tbaa !5
  %9337 = call ptr @s2n_strerror(i32 noundef %9336, ptr noundef nonnull @.str.4) #13
  %9338 = load i32, ptr %2772, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror_debug(i32 noundef %9338, ptr noundef nonnull @.str.4) #13
  %9340 = load i32, ptr %9322, align 4, !tbaa !5
  %9341 = call ptr @strerror(i32 noundef %9340) #13
  %9342 = load i32, ptr %9322, align 4, !tbaa !5
  %9343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9334, ptr noundef nonnull %.str.5.sink5011, i32 noundef %9335, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1140, ptr noundef %9337, ptr noundef %9339, ptr noundef %9341, i32 noundef %9342) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9344:                                             ; preds = %9316
  %9345 = getelementptr inbounds i8, ptr %9319, i64 220
  store i8 33, ptr %9345, align 4, !tbaa !15
  %9346 = getelementptr inbounds i8, ptr %9319, i64 219
  store i8 33, ptr %9346, align 1, !tbaa !42
  %9347 = getelementptr inbounds i8, ptr %9319, i64 218
  store i8 33, ptr %9347, align 2, !tbaa !43
  %9348 = load i32, ptr @test_count, align 4, !tbaa !5
  %9349 = add nsw i32 %9348, 1
  store i32 %9349, ptr @test_count, align 4, !tbaa !5
  %9350 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %9204, ptr noundef nonnull %9319, ptr noundef nonnull %3) #13
  %9351 = icmp eq i32 %9350, -1
  br i1 %9351, label %9352, label %9375

9352:                                             ; preds = %9344
  %9353 = tail call ptr @__errno_location() #14
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9356 = call i32 @s2n_print_stacktrace(ptr noundef %9355) #13
  %9357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9358 = trunc nuw i8 %9357 to i1
  br i1 %9358, label %9359, label %9363

9359:                                             ; preds = %9352
  %9360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9361 = call i32 @fileno(ptr noundef %9360) #13
  %9362 = call i32 @isatty(i32 noundef %9361) #13
  %.not1635 = icmp eq i32 %9362, 0
  br i1 %.not1635, label %9363, label %9364

9363:                                             ; preds = %9359, %9352
  br label %9364

9364:                                             ; preds = %9359, %9363
  %.str.5.sink5020 = phi ptr [ @.str.5, %9363 ], [ @.str.2, %9359 ]
  store i32 %9354, ptr %9353, align 4, !tbaa !5
  %9365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9366 = load i32, ptr @test_count, align 4, !tbaa !5
  %9367 = load i32, ptr %2772, align 4, !tbaa !5
  %9368 = call ptr @s2n_strerror(i32 noundef %9367, ptr noundef nonnull @.str.4) #13
  %9369 = load i32, ptr %2772, align 4, !tbaa !5
  %9370 = call ptr @s2n_strerror_debug(i32 noundef %9369, ptr noundef nonnull @.str.4) #13
  %9371 = load i32, ptr %9353, align 4, !tbaa !5
  %9372 = call ptr @strerror(i32 noundef %9371) #13
  %9373 = load i32, ptr %9353, align 4, !tbaa !5
  %9374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9365, ptr noundef nonnull %.str.5.sink5020, i32 noundef %9366, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1145, ptr noundef %9368, ptr noundef %9370, ptr noundef %9372, i32 noundef %9373) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9375:                                             ; preds = %9344
  %9376 = load i32, ptr @test_count, align 4, !tbaa !5
  %9377 = add nsw i32 %9376, 1
  store i32 %9377, ptr @test_count, align 4, !tbaa !5
  %9378 = call ptr @s2n_config_new() #13
  %9379 = icmp eq ptr %9378, null
  br i1 %9379, label %9380, label %9403

9380:                                             ; preds = %9375
  %9381 = tail call ptr @__errno_location() #14
  %9382 = load i32, ptr %9381, align 4, !tbaa !5
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = call i32 @s2n_print_stacktrace(ptr noundef %9383) #13
  %9385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9386 = trunc nuw i8 %9385 to i1
  br i1 %9386, label %9387, label %9391

9387:                                             ; preds = %9380
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = call i32 @fileno(ptr noundef %9388) #13
  %9390 = call i32 @isatty(i32 noundef %9389) #13
  %.not1634 = icmp eq i32 %9390, 0
  br i1 %.not1634, label %9391, label %9392

9391:                                             ; preds = %9387, %9380
  br label %9392

9392:                                             ; preds = %9387, %9391
  %.str.5.sink5029 = phi ptr [ @.str.5, %9391 ], [ @.str.2, %9387 ]
  store i32 %9382, ptr %9381, align 4, !tbaa !5
  %9393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9394 = load i32, ptr @test_count, align 4, !tbaa !5
  %9395 = load i32, ptr %2772, align 4, !tbaa !5
  %9396 = call ptr @s2n_strerror(i32 noundef %9395, ptr noundef nonnull @.str.4) #13
  %9397 = load i32, ptr %2772, align 4, !tbaa !5
  %9398 = call ptr @s2n_strerror_debug(i32 noundef %9397, ptr noundef nonnull @.str.4) #13
  %9399 = load i32, ptr %9381, align 4, !tbaa !5
  %9400 = call ptr @strerror(i32 noundef %9399) #13
  %9401 = load i32, ptr %9381, align 4, !tbaa !5
  %9402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9393, ptr noundef nonnull %.str.5.sink5029, i32 noundef %9394, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1147, ptr noundef %9396, ptr noundef %9398, ptr noundef %9400, i32 noundef %9401) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9403:                                             ; preds = %9375
  %9404 = load i32, ptr @test_count, align 4, !tbaa !5
  %9405 = add nsw i32 %9404, 1
  store i32 %9405, ptr @test_count, align 4, !tbaa !5
  %9406 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.23, ptr noundef %149, i64 noundef 12000) #13
  %9407 = icmp eq i32 %9406, -1
  br i1 %9407, label %9408, label %9431

9408:                                             ; preds = %9403
  %9409 = tail call ptr @__errno_location() #14
  %9410 = load i32, ptr %9409, align 4, !tbaa !5
  %9411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9412 = call i32 @s2n_print_stacktrace(ptr noundef %9411) #13
  %9413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9414 = trunc nuw i8 %9413 to i1
  br i1 %9414, label %9415, label %9419

9415:                                             ; preds = %9408
  %9416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9417 = call i32 @fileno(ptr noundef %9416) #13
  %9418 = call i32 @isatty(i32 noundef %9417) #13
  %.not1633 = icmp eq i32 %9418, 0
  br i1 %.not1633, label %9419, label %9420

9419:                                             ; preds = %9415, %9408
  br label %9420

9420:                                             ; preds = %9415, %9419
  %.str.5.sink5038 = phi ptr [ @.str.5, %9419 ], [ @.str.2, %9415 ]
  store i32 %9410, ptr %9409, align 4, !tbaa !5
  %9421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9422 = load i32, ptr @test_count, align 4, !tbaa !5
  %9423 = load i32, ptr %2772, align 4, !tbaa !5
  %9424 = call ptr @s2n_strerror(i32 noundef %9423, ptr noundef nonnull @.str.4) #13
  %9425 = load i32, ptr %2772, align 4, !tbaa !5
  %9426 = call ptr @s2n_strerror_debug(i32 noundef %9425, ptr noundef nonnull @.str.4) #13
  %9427 = load i32, ptr %9409, align 4, !tbaa !5
  %9428 = call ptr @strerror(i32 noundef %9427) #13
  %9429 = load i32, ptr %9409, align 4, !tbaa !5
  %9430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9421, ptr noundef nonnull %.str.5.sink5038, i32 noundef %9422, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 1148, ptr noundef %9424, ptr noundef %9426, ptr noundef %9428, i32 noundef %9429) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9431:                                             ; preds = %9403
  %9432 = load i32, ptr @test_count, align 4, !tbaa !5
  %9433 = add nsw i32 %9432, 1
  store i32 %9433, ptr @test_count, align 4, !tbaa !5
  %9434 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.25, ptr noundef %177, i64 noundef 12000) #13
  %9435 = icmp eq i32 %9434, -1
  br i1 %9435, label %9436, label %9459

9436:                                             ; preds = %9431
  %9437 = tail call ptr @__errno_location() #14
  %9438 = load i32, ptr %9437, align 4, !tbaa !5
  %9439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9440 = call i32 @s2n_print_stacktrace(ptr noundef %9439) #13
  %9441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9442 = trunc nuw i8 %9441 to i1
  br i1 %9442, label %9443, label %9447

9443:                                             ; preds = %9436
  %9444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9445 = call i32 @fileno(ptr noundef %9444) #13
  %9446 = call i32 @isatty(i32 noundef %9445) #13
  %.not1632 = icmp eq i32 %9446, 0
  br i1 %.not1632, label %9447, label %9448

9447:                                             ; preds = %9443, %9436
  br label %9448

9448:                                             ; preds = %9443, %9447
  %.str.5.sink5047 = phi ptr [ @.str.5, %9447 ], [ @.str.2, %9443 ]
  store i32 %9438, ptr %9437, align 4, !tbaa !5
  %9449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9450 = load i32, ptr @test_count, align 4, !tbaa !5
  %9451 = load i32, ptr %2772, align 4, !tbaa !5
  %9452 = call ptr @s2n_strerror(i32 noundef %9451, ptr noundef nonnull @.str.4) #13
  %9453 = load i32, ptr %2772, align 4, !tbaa !5
  %9454 = call ptr @s2n_strerror_debug(i32 noundef %9453, ptr noundef nonnull @.str.4) #13
  %9455 = load i32, ptr %9437, align 4, !tbaa !5
  %9456 = call ptr @strerror(i32 noundef %9455) #13
  %9457 = load i32, ptr %9437, align 4, !tbaa !5
  %9458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9449, ptr noundef nonnull %.str.5.sink5047, i32 noundef %9450, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 1149, ptr noundef %9452, ptr noundef %9454, ptr noundef %9456, i32 noundef %9457) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9459:                                             ; preds = %9431
  %9460 = load i32, ptr @test_count, align 4, !tbaa !5
  %9461 = add nsw i32 %9460, 1
  store i32 %9461, ptr @test_count, align 4, !tbaa !5
  %9462 = call ptr @s2n_cert_chain_and_key_new() #13
  %9463 = icmp eq ptr %9462, null
  br i1 %9463, label %9464, label %9487

9464:                                             ; preds = %9459
  %9465 = tail call ptr @__errno_location() #14
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = call i32 @s2n_print_stacktrace(ptr noundef %9467) #13
  %9469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9470 = trunc nuw i8 %9469 to i1
  br i1 %9470, label %9471, label %9475

9471:                                             ; preds = %9464
  %9472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9473 = call i32 @fileno(ptr noundef %9472) #13
  %9474 = call i32 @isatty(i32 noundef %9473) #13
  %.not1631 = icmp eq i32 %9474, 0
  br i1 %.not1631, label %9475, label %9476

9475:                                             ; preds = %9471, %9464
  br label %9476

9476:                                             ; preds = %9471, %9475
  %.str.5.sink5056 = phi ptr [ @.str.5, %9475 ], [ @.str.2, %9471 ]
  store i32 %9466, ptr %9465, align 4, !tbaa !5
  %9477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9478 = load i32, ptr @test_count, align 4, !tbaa !5
  %9479 = load i32, ptr %2772, align 4, !tbaa !5
  %9480 = call ptr @s2n_strerror(i32 noundef %9479, ptr noundef nonnull @.str.4) #13
  %9481 = load i32, ptr %2772, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror_debug(i32 noundef %9481, ptr noundef nonnull @.str.4) #13
  %9483 = load i32, ptr %9465, align 4, !tbaa !5
  %9484 = call ptr @strerror(i32 noundef %9483) #13
  %9485 = load i32, ptr %9465, align 4, !tbaa !5
  %9486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9477, ptr noundef nonnull %.str.5.sink5056, i32 noundef %9478, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 1150, ptr noundef %9480, ptr noundef %9482, ptr noundef %9484, i32 noundef %9485) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9487:                                             ; preds = %9459
  %9488 = load i32, ptr @test_count, align 4, !tbaa !5
  %9489 = add nsw i32 %9488, 1
  store i32 %9489, ptr @test_count, align 4, !tbaa !5
  %9490 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %9462, ptr noundef %149, ptr noundef %177) #13
  %9491 = icmp eq i32 %9490, -1
  br i1 %9491, label %9492, label %9515

9492:                                             ; preds = %9487
  %9493 = tail call ptr @__errno_location() #14
  %9494 = load i32, ptr %9493, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = call i32 @s2n_print_stacktrace(ptr noundef %9495) #13
  %9497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9498 = trunc nuw i8 %9497 to i1
  br i1 %9498, label %9499, label %9503

9499:                                             ; preds = %9492
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = call i32 @fileno(ptr noundef %9500) #13
  %9502 = call i32 @isatty(i32 noundef %9501) #13
  %.not1630 = icmp eq i32 %9502, 0
  br i1 %.not1630, label %9503, label %9504

9503:                                             ; preds = %9499, %9492
  br label %9504

9504:                                             ; preds = %9499, %9503
  %.str.5.sink5065 = phi ptr [ @.str.5, %9503 ], [ @.str.2, %9499 ]
  store i32 %9494, ptr %9493, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = load i32, ptr @test_count, align 4, !tbaa !5
  %9507 = load i32, ptr %2772, align 4, !tbaa !5
  %9508 = call ptr @s2n_strerror(i32 noundef %9507, ptr noundef nonnull @.str.4) #13
  %9509 = load i32, ptr %2772, align 4, !tbaa !5
  %9510 = call ptr @s2n_strerror_debug(i32 noundef %9509, ptr noundef nonnull @.str.4) #13
  %9511 = load i32, ptr %9493, align 4, !tbaa !5
  %9512 = call ptr @strerror(i32 noundef %9511) #13
  %9513 = load i32, ptr %9493, align 4, !tbaa !5
  %9514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9505, ptr noundef nonnull %.str.5.sink5065, i32 noundef %9506, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 1151, ptr noundef %9508, ptr noundef %9510, ptr noundef %9512, i32 noundef %9513) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9515:                                             ; preds = %9487
  %9516 = load i32, ptr @test_count, align 4, !tbaa !5
  %9517 = add nsw i32 %9516, 1
  store i32 %9517, ptr @test_count, align 4, !tbaa !5
  %9518 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %9378, ptr noundef nonnull %9462) #13
  %9519 = icmp eq i32 %9518, -1
  br i1 %9519, label %9520, label %9543

9520:                                             ; preds = %9515
  %9521 = tail call ptr @__errno_location() #14
  %9522 = load i32, ptr %9521, align 4, !tbaa !5
  %9523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9524 = call i32 @s2n_print_stacktrace(ptr noundef %9523) #13
  %9525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9526 = trunc nuw i8 %9525 to i1
  br i1 %9526, label %9527, label %9531

9527:                                             ; preds = %9520
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = call i32 @fileno(ptr noundef %9528) #13
  %9530 = call i32 @isatty(i32 noundef %9529) #13
  %.not1629 = icmp eq i32 %9530, 0
  br i1 %.not1629, label %9531, label %9532

9531:                                             ; preds = %9527, %9520
  br label %9532

9532:                                             ; preds = %9527, %9531
  %.str.5.sink5074 = phi ptr [ @.str.5, %9531 ], [ @.str.2, %9527 ]
  store i32 %9522, ptr %9521, align 4, !tbaa !5
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = load i32, ptr @test_count, align 4, !tbaa !5
  %9535 = load i32, ptr %2772, align 4, !tbaa !5
  %9536 = call ptr @s2n_strerror(i32 noundef %9535, ptr noundef nonnull @.str.4) #13
  %9537 = load i32, ptr %2772, align 4, !tbaa !5
  %9538 = call ptr @s2n_strerror_debug(i32 noundef %9537, ptr noundef nonnull @.str.4) #13
  %9539 = load i32, ptr %9521, align 4, !tbaa !5
  %9540 = call ptr @strerror(i32 noundef %9539) #13
  %9541 = load i32, ptr %9521, align 4, !tbaa !5
  %9542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9533, ptr noundef nonnull %.str.5.sink5074, i32 noundef %9534, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 1152, ptr noundef %9536, ptr noundef %9538, ptr noundef %9540, i32 noundef %9541) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9543:                                             ; preds = %9515
  %9544 = load i32, ptr @test_count, align 4, !tbaa !5
  %9545 = add nsw i32 %9544, 1
  store i32 %9545, ptr @test_count, align 4, !tbaa !5
  %9546 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9319, ptr noundef nonnull %9378) #13
  %9547 = icmp eq i32 %9546, -1
  br i1 %9547, label %9548, label %9571

9548:                                             ; preds = %9543
  %9549 = tail call ptr @__errno_location() #14
  %9550 = load i32, ptr %9549, align 4, !tbaa !5
  %9551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9552 = call i32 @s2n_print_stacktrace(ptr noundef %9551) #13
  %9553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9554 = trunc nuw i8 %9553 to i1
  br i1 %9554, label %9555, label %9559

9555:                                             ; preds = %9548
  %9556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9557 = call i32 @fileno(ptr noundef %9556) #13
  %9558 = call i32 @isatty(i32 noundef %9557) #13
  %.not1628 = icmp eq i32 %9558, 0
  br i1 %.not1628, label %9559, label %9560

9559:                                             ; preds = %9555, %9548
  br label %9560

9560:                                             ; preds = %9555, %9559
  %.str.5.sink5083 = phi ptr [ @.str.5, %9559 ], [ @.str.2, %9555 ]
  store i32 %9550, ptr %9549, align 4, !tbaa !5
  %9561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9562 = load i32, ptr @test_count, align 4, !tbaa !5
  %9563 = load i32, ptr %2772, align 4, !tbaa !5
  %9564 = call ptr @s2n_strerror(i32 noundef %9563, ptr noundef nonnull @.str.4) #13
  %9565 = load i32, ptr %2772, align 4, !tbaa !5
  %9566 = call ptr @s2n_strerror_debug(i32 noundef %9565, ptr noundef nonnull @.str.4) #13
  %9567 = load i32, ptr %9549, align 4, !tbaa !5
  %9568 = call ptr @strerror(i32 noundef %9567) #13
  %9569 = load i32, ptr %9549, align 4, !tbaa !5
  %9570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9561, ptr noundef nonnull %.str.5.sink5083, i32 noundef %9562, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1153, ptr noundef %9564, ptr noundef %9566, ptr noundef %9568, i32 noundef %9569) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9571:                                             ; preds = %9543
  %9572 = load i32, ptr @test_count, align 4, !tbaa !5
  %9573 = add nsw i32 %9572, 1
  store i32 %9573, ptr @test_count, align 4, !tbaa !5
  %9574 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %9319, ptr noundef nonnull %9204) #13
  %9575 = icmp eq i32 %9574, -1
  br i1 %9575, label %9576, label %9599

9576:                                             ; preds = %9571
  %9577 = tail call ptr @__errno_location() #14
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9580 = call i32 @s2n_print_stacktrace(ptr noundef %9579) #13
  %9581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9582 = trunc nuw i8 %9581 to i1
  br i1 %9582, label %9583, label %9587

9583:                                             ; preds = %9576
  %9584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9585 = call i32 @fileno(ptr noundef %9584) #13
  %9586 = call i32 @isatty(i32 noundef %9585) #13
  %.not1627 = icmp eq i32 %9586, 0
  br i1 %.not1627, label %9587, label %9588

9587:                                             ; preds = %9583, %9576
  br label %9588

9588:                                             ; preds = %9583, %9587
  %.str.5.sink5092 = phi ptr [ @.str.5, %9587 ], [ @.str.2, %9583 ]
  store i32 %9578, ptr %9577, align 4, !tbaa !5
  %9589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9590 = load i32, ptr @test_count, align 4, !tbaa !5
  %9591 = load i32, ptr %2772, align 4, !tbaa !5
  %9592 = call ptr @s2n_strerror(i32 noundef %9591, ptr noundef nonnull @.str.4) #13
  %9593 = load i32, ptr %2772, align 4, !tbaa !5
  %9594 = call ptr @s2n_strerror_debug(i32 noundef %9593, ptr noundef nonnull @.str.4) #13
  %9595 = load i32, ptr %9577, align 4, !tbaa !5
  %9596 = call ptr @strerror(i32 noundef %9595) #13
  %9597 = load i32, ptr %9577, align 4, !tbaa !5
  %9598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9589, ptr noundef nonnull %.str.5.sink5092, i32 noundef %9590, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1155, ptr noundef %9592, ptr noundef %9594, ptr noundef %9596, i32 noundef %9597) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9599:                                             ; preds = %9571
  %9600 = load i32, ptr @test_count, align 4, !tbaa !5
  %9601 = add nsw i32 %9600, 1
  store i32 %9601, ptr @test_count, align 4, !tbaa !5
  %9602 = call ptr @s2n_connection_get_sct_list(ptr noundef nonnull %9204, ptr noundef nonnull %30) #13
  %9603 = icmp eq ptr %9602, null
  br i1 %9603, label %9627, label %9604

9604:                                             ; preds = %9599
  %9605 = tail call ptr @__errno_location() #14
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  %9607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9608 = call i32 @s2n_print_stacktrace(ptr noundef %9607) #13
  %9609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9610 = trunc nuw i8 %9609 to i1
  br i1 %9610, label %9611, label %9615

9611:                                             ; preds = %9604
  %9612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9613 = call i32 @fileno(ptr noundef %9612) #13
  %9614 = call i32 @isatty(i32 noundef %9613) #13
  %.not1542 = icmp eq i32 %9614, 0
  br i1 %.not1542, label %9615, label %9616

9615:                                             ; preds = %9611, %9604
  br label %9616

9616:                                             ; preds = %9611, %9615
  %.str.5.sink5101 = phi ptr [ @.str.5, %9615 ], [ @.str.2, %9611 ]
  store i32 %9606, ptr %9605, align 4, !tbaa !5
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = load i32, ptr @test_count, align 4, !tbaa !5
  %9619 = load i32, ptr %2772, align 4, !tbaa !5
  %9620 = call ptr @s2n_strerror(i32 noundef %9619, ptr noundef nonnull @.str.4) #13
  %9621 = load i32, ptr %2772, align 4, !tbaa !5
  %9622 = call ptr @s2n_strerror_debug(i32 noundef %9621, ptr noundef nonnull @.str.4) #13
  %9623 = load i32, ptr %9605, align 4, !tbaa !5
  %9624 = call ptr @strerror(i32 noundef %9623) #13
  %9625 = load i32, ptr %9605, align 4, !tbaa !5
  %9626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9617, ptr noundef nonnull %.str.5.sink5101, i32 noundef %9618, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 1158, ptr noundef %9620, ptr noundef %9622, ptr noundef %9624, i32 noundef %9625) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9627:                                             ; preds = %9599
  %9628 = load i32, ptr @test_count, align 4, !tbaa !5
  %9629 = add nsw i32 %9628, 1
  store i32 %9629, ptr @test_count, align 4, !tbaa !5
  %9630 = load i32, ptr %30, align 4, !tbaa !5
  %9631 = icmp eq i32 %9630, 0
  br i1 %9631, label %9655, label %9632

9632:                                             ; preds = %9627
  %9633 = tail call ptr @__errno_location() #14
  %9634 = load i32, ptr %9633, align 4, !tbaa !5
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = call i32 @s2n_print_stacktrace(ptr noundef %9635) #13
  %9637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9638 = trunc nuw i8 %9637 to i1
  br i1 %9638, label %9639, label %9643

9639:                                             ; preds = %9632
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = call i32 @fileno(ptr noundef %9640) #13
  %9642 = call i32 @isatty(i32 noundef %9641) #13
  %.not1543 = icmp eq i32 %9642, 0
  br i1 %.not1543, label %9643, label %9644

9643:                                             ; preds = %9639, %9632
  br label %9644

9644:                                             ; preds = %9639, %9643
  %.str.5.sink5110 = phi ptr [ @.str.5, %9643 ], [ @.str.2, %9639 ]
  store i32 %9634, ptr %9633, align 4, !tbaa !5
  %9645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9646 = load i32, ptr @test_count, align 4, !tbaa !5
  %9647 = load i32, ptr %2772, align 4, !tbaa !5
  %9648 = call ptr @s2n_strerror(i32 noundef %9647, ptr noundef nonnull @.str.4) #13
  %9649 = load i32, ptr %2772, align 4, !tbaa !5
  %9650 = call ptr @s2n_strerror_debug(i32 noundef %9649, ptr noundef nonnull @.str.4) #13
  %9651 = load i32, ptr %9633, align 4, !tbaa !5
  %9652 = call ptr @strerror(i32 noundef %9651) #13
  %9653 = load i32, ptr %9633, align 4, !tbaa !5
  %9654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9645, ptr noundef nonnull %.str.5.sink5110, i32 noundef %9646, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 1159, ptr noundef %9648, ptr noundef %9650, ptr noundef %9652, i32 noundef %9653) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9655:                                             ; preds = %9627
  %9656 = add nsw i32 %9628, 2
  store i32 %9656, ptr @test_count, align 4, !tbaa !5
  %9657 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %9319, ptr noundef nonnull %9204) #13
  %9658 = icmp eq i32 %9657, -1
  br i1 %9658, label %9659, label %9682

9659:                                             ; preds = %9655
  %9660 = tail call ptr @__errno_location() #14
  %9661 = load i32, ptr %9660, align 4, !tbaa !5
  %9662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9663 = call i32 @s2n_print_stacktrace(ptr noundef %9662) #13
  %9664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9665 = trunc nuw i8 %9664 to i1
  br i1 %9665, label %9666, label %9670

9666:                                             ; preds = %9659
  %9667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9668 = call i32 @fileno(ptr noundef %9667) #13
  %9669 = call i32 @isatty(i32 noundef %9668) #13
  %.not1626 = icmp eq i32 %9669, 0
  br i1 %.not1626, label %9670, label %9671

9670:                                             ; preds = %9666, %9659
  br label %9671

9671:                                             ; preds = %9666, %9670
  %.str.5.sink5119 = phi ptr [ @.str.5, %9670 ], [ @.str.2, %9666 ]
  store i32 %9661, ptr %9660, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = load i32, ptr %2772, align 4, !tbaa !5
  %9675 = call ptr @s2n_strerror(i32 noundef %9674, ptr noundef nonnull @.str.4) #13
  %9676 = load i32, ptr %2772, align 4, !tbaa !5
  %9677 = call ptr @s2n_strerror_debug(i32 noundef %9676, ptr noundef nonnull @.str.4) #13
  %9678 = load i32, ptr %9660, align 4, !tbaa !5
  %9679 = call ptr @strerror(i32 noundef %9678) #13
  %9680 = load i32, ptr %9660, align 4, !tbaa !5
  %9681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9672, ptr noundef nonnull %.str.5.sink5119, i32 noundef %9673, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1161, ptr noundef %9675, ptr noundef %9677, ptr noundef %9679, i32 noundef %9680) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9682:                                             ; preds = %9655
  %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 = call i32 @s2n_connection_free(ptr noundef nonnull %9319) #13
  %9686 = icmp eq i32 %9685, -1
  br i1 %9686, label %9687, label %9710

9687:                                             ; preds = %9682
  %9688 = tail call ptr @__errno_location() #14
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = call i32 @s2n_print_stacktrace(ptr noundef %9690) #13
  %9692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9693 = trunc nuw i8 %9692 to i1
  br i1 %9693, label %9694, label %9698

9694:                                             ; preds = %9687
  %9695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9696 = call i32 @fileno(ptr noundef %9695) #13
  %9697 = call i32 @isatty(i32 noundef %9696) #13
  %.not1625 = icmp eq i32 %9697, 0
  br i1 %.not1625, label %9698, label %9699

9698:                                             ; preds = %9694, %9687
  br label %9699

9699:                                             ; preds = %9694, %9698
  %.str.5.sink5128 = phi ptr [ @.str.5, %9698 ], [ @.str.2, %9694 ]
  store i32 %9689, ptr %9688, align 4, !tbaa !5
  %9700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9701 = load i32, ptr @test_count, align 4, !tbaa !5
  %9702 = load i32, ptr %2772, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror(i32 noundef %9702, ptr noundef nonnull @.str.4) #13
  %9704 = load i32, ptr %2772, align 4, !tbaa !5
  %9705 = call ptr @s2n_strerror_debug(i32 noundef %9704, ptr noundef nonnull @.str.4) #13
  %9706 = load i32, ptr %9688, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #13
  %9708 = load i32, ptr %9688, align 4, !tbaa !5
  %9709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9700, ptr noundef nonnull %.str.5.sink5128, i32 noundef %9701, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1163, ptr noundef %9703, ptr noundef %9705, ptr noundef %9707, i32 noundef %9708) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9710:                                             ; preds = %9682
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = add nsw i32 %9711, 1
  store i32 %9712, ptr @test_count, align 4, !tbaa !5
  %9713 = call i32 @s2n_connection_free(ptr noundef nonnull %9204) #13
  %9714 = icmp eq i32 %9713, -1
  br i1 %9714, label %9715, label %9738

9715:                                             ; preds = %9710
  %9716 = tail call ptr @__errno_location() #14
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9719 = call i32 @s2n_print_stacktrace(ptr noundef %9718) #13
  %9720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9721 = trunc nuw i8 %9720 to i1
  br i1 %9721, label %9722, label %9726

9722:                                             ; preds = %9715
  %9723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9724 = call i32 @fileno(ptr noundef %9723) #13
  %9725 = call i32 @isatty(i32 noundef %9724) #13
  %.not1624 = icmp eq i32 %9725, 0
  br i1 %.not1624, label %9726, label %9727

9726:                                             ; preds = %9722, %9715
  br label %9727

9727:                                             ; preds = %9722, %9726
  %.str.5.sink5137 = phi ptr [ @.str.5, %9726 ], [ @.str.2, %9722 ]
  store i32 %9717, ptr %9716, align 4, !tbaa !5
  %9728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9729 = load i32, ptr @test_count, align 4, !tbaa !5
  %9730 = load i32, ptr %2772, align 4, !tbaa !5
  %9731 = call ptr @s2n_strerror(i32 noundef %9730, ptr noundef nonnull @.str.4) #13
  %9732 = load i32, ptr %2772, align 4, !tbaa !5
  %9733 = call ptr @s2n_strerror_debug(i32 noundef %9732, ptr noundef nonnull @.str.4) #13
  %9734 = load i32, ptr %9716, align 4, !tbaa !5
  %9735 = call ptr @strerror(i32 noundef %9734) #13
  %9736 = load i32, ptr %9716, align 4, !tbaa !5
  %9737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9728, ptr noundef nonnull %.str.5.sink5137, i32 noundef %9729, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1164, ptr noundef %9731, ptr noundef %9733, ptr noundef %9735, i32 noundef %9736) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9738:                                             ; preds = %9710
  %9739 = load i32, ptr @test_count, align 4, !tbaa !5
  %9740 = add nsw i32 %9739, 1
  store i32 %9740, ptr @test_count, align 4, !tbaa !5
  %9741 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %9462) #13
  %9742 = icmp eq i32 %9741, -1
  br i1 %9742, label %9743, label %9766

9743:                                             ; preds = %9738
  %9744 = tail call ptr @__errno_location() #14
  %9745 = load i32, ptr %9744, align 4, !tbaa !5
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @s2n_print_stacktrace(ptr noundef %9746) #13
  %9748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9749 = trunc nuw i8 %9748 to i1
  br i1 %9749, label %9750, label %9754

9750:                                             ; preds = %9743
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = call i32 @fileno(ptr noundef %9751) #13
  %9753 = call i32 @isatty(i32 noundef %9752) #13
  %.not1623 = icmp eq i32 %9753, 0
  br i1 %.not1623, label %9754, label %9755

9754:                                             ; preds = %9750, %9743
  br label %9755

9755:                                             ; preds = %9750, %9754
  %.str.5.sink5146 = phi ptr [ @.str.5, %9754 ], [ @.str.2, %9750 ]
  store i32 %9745, ptr %9744, align 4, !tbaa !5
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = load i32, ptr @test_count, align 4, !tbaa !5
  %9758 = load i32, ptr %2772, align 4, !tbaa !5
  %9759 = call ptr @s2n_strerror(i32 noundef %9758, ptr noundef nonnull @.str.4) #13
  %9760 = load i32, ptr %2772, align 4, !tbaa !5
  %9761 = call ptr @s2n_strerror_debug(i32 noundef %9760, ptr noundef nonnull @.str.4) #13
  %9762 = load i32, ptr %9744, align 4, !tbaa !5
  %9763 = call ptr @strerror(i32 noundef %9762) #13
  %9764 = load i32, ptr %9744, align 4, !tbaa !5
  %9765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef nonnull %.str.5.sink5146, i32 noundef %9757, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 1166, ptr noundef %9759, ptr noundef %9761, ptr noundef %9763, i32 noundef %9764) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9766:                                             ; preds = %9738
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = add nsw i32 %9767, 1
  store i32 %9768, ptr @test_count, align 4, !tbaa !5
  %9769 = call i32 @s2n_config_free(ptr noundef nonnull %9378) #13
  %9770 = icmp eq i32 %9769, -1
  br i1 %9770, label %9771, label %9794

9771:                                             ; preds = %9766
  %9772 = tail call ptr @__errno_location() #14
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9775 = call i32 @s2n_print_stacktrace(ptr noundef %9774) #13
  %9776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9777 = trunc nuw i8 %9776 to i1
  br i1 %9777, label %9778, label %9782

9778:                                             ; preds = %9771
  %9779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9780 = call i32 @fileno(ptr noundef %9779) #13
  %9781 = call i32 @isatty(i32 noundef %9780) #13
  %.not1622 = icmp eq i32 %9781, 0
  br i1 %.not1622, label %9782, label %9783

9782:                                             ; preds = %9778, %9771
  br label %9783

9783:                                             ; preds = %9778, %9782
  %.str.5.sink5155 = phi ptr [ @.str.5, %9782 ], [ @.str.2, %9778 ]
  store i32 %9773, ptr %9772, align 4, !tbaa !5
  %9784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9785 = load i32, ptr @test_count, align 4, !tbaa !5
  %9786 = load i32, ptr %2772, align 4, !tbaa !5
  %9787 = call ptr @s2n_strerror(i32 noundef %9786, ptr noundef nonnull @.str.4) #13
  %9788 = load i32, ptr %2772, align 4, !tbaa !5
  %9789 = call ptr @s2n_strerror_debug(i32 noundef %9788, ptr noundef nonnull @.str.4) #13
  %9790 = load i32, ptr %9772, align 4, !tbaa !5
  %9791 = call ptr @strerror(i32 noundef %9790) #13
  %9792 = load i32, ptr %9772, align 4, !tbaa !5
  %9793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9784, ptr noundef nonnull %.str.5.sink5155, i32 noundef %9785, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1168, ptr noundef %9787, ptr noundef %9789, ptr noundef %9791, i32 noundef %9792) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9794:                                             ; preds = %9766
  %9795 = load i32, ptr @test_count, align 4, !tbaa !5
  %9796 = add nsw i32 %9795, 1
  store i32 %9796, ptr @test_count, align 4, !tbaa !5
  %9797 = call i32 @s2n_config_free(ptr noundef nonnull %9120) #13
  %9798 = icmp eq i32 %9797, -1
  br i1 %9798, label %9799, label %9822

9799:                                             ; preds = %9794
  %9800 = tail call ptr @__errno_location() #14
  %9801 = load i32, ptr %9800, align 4, !tbaa !5
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = call i32 @s2n_print_stacktrace(ptr noundef %9802) #13
  %9804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9805 = trunc nuw i8 %9804 to i1
  br i1 %9805, label %9806, label %9810

9806:                                             ; preds = %9799
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = call i32 @fileno(ptr noundef %9807) #13
  %9809 = call i32 @isatty(i32 noundef %9808) #13
  %.not1621 = icmp eq i32 %9809, 0
  br i1 %.not1621, label %9810, label %9811

9810:                                             ; preds = %9806, %9799
  br label %9811

9811:                                             ; preds = %9806, %9810
  %.str.5.sink5164 = phi ptr [ @.str.5, %9810 ], [ @.str.2, %9806 ]
  store i32 %9801, ptr %9800, align 4, !tbaa !5
  %9812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9813 = load i32, ptr @test_count, align 4, !tbaa !5
  %9814 = load i32, ptr %2772, align 4, !tbaa !5
  %9815 = call ptr @s2n_strerror(i32 noundef %9814, ptr noundef nonnull @.str.4) #13
  %9816 = load i32, ptr %2772, align 4, !tbaa !5
  %9817 = call ptr @s2n_strerror_debug(i32 noundef %9816, ptr noundef nonnull @.str.4) #13
  %9818 = load i32, ptr %9800, align 4, !tbaa !5
  %9819 = call ptr @strerror(i32 noundef %9818) #13
  %9820 = load i32, ptr %9800, align 4, !tbaa !5
  %9821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9812, ptr noundef nonnull %.str.5.sink5164, i32 noundef %9813, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1169, ptr noundef %9815, ptr noundef %9817, ptr noundef %9819, i32 noundef %9820) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9822:                                             ; preds = %9794
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #13
  br label %9830

9823:                                             ; preds = %10484
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %9824 = trunc nuw nsw i64 %indvars.iv.next to i32
  %exitcond1915.not = icmp eq i64 %indvars.iv.next, 5
  br i1 %exitcond1915.not, label %9825, label %9830, !llvm.loop !53

9825:                                             ; preds = %9823
  %9826 = load i32, ptr @test_count, align 4, !tbaa !5
  %9827 = add nsw i32 %9826, 1
  store i32 %9827, ptr @test_count, align 4, !tbaa !5
  %9828 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %9829 = icmp eq ptr %9828, null
  br i1 %9829, label %10512, label %10535

9830:                                             ; preds = %9822, %9823
  %indvars.iv = phi i64 [ 1, %9822 ], [ %indvars.iv.next, %9823 ]
  %9831 = phi i32 [ 1, %9822 ], [ %9824, %9823 ]
  %9832 = load i32, ptr @test_count, align 4, !tbaa !5
  %9833 = add nsw i32 %9832, 1
  store i32 %9833, ptr @test_count, align 4, !tbaa !5
  %9834 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %9835 = icmp eq ptr %9834, null
  br i1 %9835, label %9836, label %9859

9836:                                             ; preds = %9830
  %9837 = tail call ptr @__errno_location() #14
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9840 = call i32 @s2n_print_stacktrace(ptr noundef %9839) #13
  %9841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9842 = trunc nuw i8 %9841 to i1
  br i1 %9842, label %9843, label %9847

9843:                                             ; preds = %9836
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = call i32 @fileno(ptr noundef %9844) #13
  %9846 = call i32 @isatty(i32 noundef %9845) #13
  %.not1620 = icmp eq i32 %9846, 0
  br i1 %.not1620, label %9847, label %9848

9847:                                             ; preds = %9843, %9836
  br label %9848

9848:                                             ; preds = %9843, %9847
  %.str.5.sink5173 = phi ptr [ @.str.5, %9847 ], [ @.str.2, %9843 ]
  store i32 %9838, ptr %9837, align 4, !tbaa !5
  %9849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9850 = load i32, ptr @test_count, align 4, !tbaa !5
  %9851 = load i32, ptr %2772, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror(i32 noundef %9851, ptr noundef nonnull @.str.4) #13
  %9853 = load i32, ptr %2772, align 4, !tbaa !5
  %9854 = call ptr @s2n_strerror_debug(i32 noundef %9853, ptr noundef nonnull @.str.4) #13
  %9855 = load i32, ptr %9837, align 4, !tbaa !5
  %9856 = call ptr @strerror(i32 noundef %9855) #13
  %9857 = load i32, ptr %9837, align 4, !tbaa !5
  %9858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9849, ptr noundef nonnull %.str.5.sink5173, i32 noundef %9850, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1180, ptr noundef %9852, ptr noundef %9854, ptr noundef %9856, i32 noundef %9857) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9859:                                             ; preds = %9830
  %9860 = getelementptr inbounds i8, ptr %9834, i64 220
  store i8 33, ptr %9860, align 4, !tbaa !15
  %9861 = getelementptr inbounds i8, ptr %9834, i64 219
  store i8 33, ptr %9861, align 1, !tbaa !42
  %9862 = getelementptr inbounds i8, ptr %9834, i64 218
  store i8 33, ptr %9862, align 2, !tbaa !43
  %9863 = load i32, ptr @test_count, align 4, !tbaa !5
  %9864 = add nsw i32 %9863, 1
  store i32 %9864, ptr @test_count, align 4, !tbaa !5
  %9865 = call ptr @s2n_config_new() #13
  %9866 = icmp eq ptr %9865, null
  br i1 %9866, label %9867, label %9890

9867:                                             ; preds = %9859
  %9868 = tail call ptr @__errno_location() #14
  %9869 = load i32, ptr %9868, align 4, !tbaa !5
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = call i32 @s2n_print_stacktrace(ptr noundef %9870) #13
  %9872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9873 = trunc nuw i8 %9872 to i1
  br i1 %9873, label %9874, label %9878

9874:                                             ; preds = %9867
  %9875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9876 = call i32 @fileno(ptr noundef %9875) #13
  %9877 = call i32 @isatty(i32 noundef %9876) #13
  %.not1619 = icmp eq i32 %9877, 0
  br i1 %.not1619, label %9878, label %9879

9878:                                             ; preds = %9874, %9867
  br label %9879

9879:                                             ; preds = %9874, %9878
  %.str.5.sink5182 = phi ptr [ @.str.5, %9878 ], [ @.str.2, %9874 ]
  store i32 %9869, ptr %9868, align 4, !tbaa !5
  %9880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9881 = load i32, ptr @test_count, align 4, !tbaa !5
  %9882 = load i32, ptr %2772, align 4, !tbaa !5
  %9883 = call ptr @s2n_strerror(i32 noundef %9882, ptr noundef nonnull @.str.4) #13
  %9884 = load i32, ptr %2772, align 4, !tbaa !5
  %9885 = call ptr @s2n_strerror_debug(i32 noundef %9884, ptr noundef nonnull @.str.4) #13
  %9886 = load i32, ptr %9868, align 4, !tbaa !5
  %9887 = call ptr @strerror(i32 noundef %9886) #13
  %9888 = load i32, ptr %9868, align 4, !tbaa !5
  %9889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9880, ptr noundef nonnull %.str.5.sink5182, i32 noundef %9881, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %9883, ptr noundef %9885, ptr noundef %9887, i32 noundef %9888) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9890:                                             ; preds = %9859
  %9891 = load i32, ptr @test_count, align 4, !tbaa !5
  %9892 = add nsw i32 %9891, 1
  store i32 %9892, ptr @test_count, align 4, !tbaa !5
  %9893 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %9865, i8 noundef zeroext 0) #13
  %9894 = icmp eq i32 %9893, -1
  br i1 %9894, label %9895, label %9918

9895:                                             ; preds = %9890
  %9896 = tail call ptr @__errno_location() #14
  %9897 = load i32, ptr %9896, align 4, !tbaa !5
  %9898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9899 = call i32 @s2n_print_stacktrace(ptr noundef %9898) #13
  %9900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9901 = trunc nuw i8 %9900 to i1
  br i1 %9901, label %9902, label %9906

9902:                                             ; preds = %9895
  %9903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9904 = call i32 @fileno(ptr noundef %9903) #13
  %9905 = call i32 @isatty(i32 noundef %9904) #13
  %.not1618 = icmp eq i32 %9905, 0
  br i1 %.not1618, label %9906, label %9907

9906:                                             ; preds = %9902, %9895
  br label %9907

9907:                                             ; preds = %9902, %9906
  %.str.5.sink5191 = phi ptr [ @.str.5, %9906 ], [ @.str.2, %9902 ]
  store i32 %9897, ptr %9896, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = load i32, ptr @test_count, align 4, !tbaa !5
  %9910 = load i32, ptr %2772, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror(i32 noundef %9910, ptr noundef nonnull @.str.4) #13
  %9912 = load i32, ptr %2772, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror_debug(i32 noundef %9912, ptr noundef nonnull @.str.4) #13
  %9914 = load i32, ptr %9896, align 4, !tbaa !5
  %9915 = call ptr @strerror(i32 noundef %9914) #13
  %9916 = load i32, ptr %9896, align 4, !tbaa !5
  %9917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9908, ptr noundef nonnull %.str.5.sink5191, i32 noundef %9909, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1186, ptr noundef %9911, ptr noundef %9913, ptr noundef %9915, i32 noundef %9916) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9918:                                             ; preds = %9890
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = add nsw i32 %9919, 1
  store i32 %9920, ptr @test_count, align 4, !tbaa !5
  %9921 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %9865) #13
  %9922 = icmp eq i32 %9921, -1
  br i1 %9922, label %9923, label %9946

9923:                                             ; preds = %9918
  %9924 = tail call ptr @__errno_location() #14
  %9925 = load i32, ptr %9924, align 4, !tbaa !5
  %9926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9927 = call i32 @s2n_print_stacktrace(ptr noundef %9926) #13
  %9928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9929 = trunc nuw i8 %9928 to i1
  br i1 %9929, label %9930, label %9934

9930:                                             ; preds = %9923
  %9931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9932 = call i32 @fileno(ptr noundef %9931) #13
  %9933 = call i32 @isatty(i32 noundef %9932) #13
  %.not1617 = icmp eq i32 %9933, 0
  br i1 %.not1617, label %9934, label %9935

9934:                                             ; preds = %9930, %9923
  br label %9935

9935:                                             ; preds = %9930, %9934
  %.str.5.sink5200 = phi ptr [ @.str.5, %9934 ], [ @.str.2, %9930 ]
  store i32 %9925, ptr %9924, align 4, !tbaa !5
  %9936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9937 = load i32, ptr @test_count, align 4, !tbaa !5
  %9938 = load i32, ptr %2772, align 4, !tbaa !5
  %9939 = call ptr @s2n_strerror(i32 noundef %9938, ptr noundef nonnull @.str.4) #13
  %9940 = load i32, ptr %2772, align 4, !tbaa !5
  %9941 = call ptr @s2n_strerror_debug(i32 noundef %9940, ptr noundef nonnull @.str.4) #13
  %9942 = load i32, ptr %9924, align 4, !tbaa !5
  %9943 = call ptr @strerror(i32 noundef %9942) #13
  %9944 = load i32, ptr %9924, align 4, !tbaa !5
  %9945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9936, ptr noundef nonnull %.str.5.sink5200, i32 noundef %9937, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1187, ptr noundef %9939, ptr noundef %9941, ptr noundef %9943, i32 noundef %9944) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9946:                                             ; preds = %9918
  %9947 = load i32, ptr @test_count, align 4, !tbaa !5
  %9948 = add nsw i32 %9947, 1
  store i32 %9948, ptr @test_count, align 4, !tbaa !5
  %9949 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %9865, i32 noundef %9831) #13
  %9950 = icmp eq i32 %9949, -1
  br i1 %9950, label %9951, label %9974

9951:                                             ; preds = %9946
  %9952 = tail call ptr @__errno_location() #14
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @s2n_print_stacktrace(ptr noundef %9954) #13
  %9956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9957 = trunc nuw i8 %9956 to i1
  br i1 %9957, label %9958, label %9962

9958:                                             ; preds = %9951
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @fileno(ptr noundef %9959) #13
  %9961 = call i32 @isatty(i32 noundef %9960) #13
  %.not1616 = icmp eq i32 %9961, 0
  br i1 %.not1616, label %9962, label %9963

9962:                                             ; preds = %9958, %9951
  br label %9963

9963:                                             ; preds = %9958, %9962
  %.str.5.sink5209 = phi ptr [ @.str.5, %9962 ], [ @.str.2, %9958 ]
  store i32 %9953, ptr %9952, align 4, !tbaa !5
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = load i32, ptr @test_count, align 4, !tbaa !5
  %9966 = load i32, ptr %2772, align 4, !tbaa !5
  %9967 = call ptr @s2n_strerror(i32 noundef %9966, ptr noundef nonnull @.str.4) #13
  %9968 = load i32, ptr %2772, align 4, !tbaa !5
  %9969 = call ptr @s2n_strerror_debug(i32 noundef %9968, ptr noundef nonnull @.str.4) #13
  %9970 = load i32, ptr %9952, align 4, !tbaa !5
  %9971 = call ptr @strerror(i32 noundef %9970) #13
  %9972 = load i32, ptr %9952, align 4, !tbaa !5
  %9973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9964, ptr noundef nonnull %.str.5.sink5209, i32 noundef %9965, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 1189, ptr noundef %9967, ptr noundef %9969, ptr noundef %9971, i32 noundef %9972) #15
  call void @exit(i32 noundef 1) #16
  unreachable

9974:                                             ; preds = %9946
  %9975 = load i32, ptr @test_count, align 4, !tbaa !5
  %9976 = add nsw i32 %9975, 1
  store i32 %9976, ptr @test_count, align 4, !tbaa !5
  %9977 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9834, ptr noundef nonnull %9865) #13
  %9978 = icmp eq i32 %9977, -1
  br i1 %9978, label %9979, label %10002

9979:                                             ; preds = %9974
  %9980 = tail call ptr @__errno_location() #14
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9983 = call i32 @s2n_print_stacktrace(ptr noundef %9982) #13
  %9984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9985 = trunc nuw i8 %9984 to i1
  br i1 %9985, label %9986, label %9990

9986:                                             ; preds = %9979
  %9987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9988 = call i32 @fileno(ptr noundef %9987) #13
  %9989 = call i32 @isatty(i32 noundef %9988) #13
  %.not1615 = icmp eq i32 %9989, 0
  br i1 %.not1615, label %9990, label %9991

9990:                                             ; preds = %9986, %9979
  br label %9991

9991:                                             ; preds = %9986, %9990
  %.str.5.sink5218 = phi ptr [ @.str.5, %9990 ], [ @.str.2, %9986 ]
  store i32 %9981, ptr %9980, align 4, !tbaa !5
  %9992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9993 = load i32, ptr @test_count, align 4, !tbaa !5
  %9994 = load i32, ptr %2772, align 4, !tbaa !5
  %9995 = call ptr @s2n_strerror(i32 noundef %9994, ptr noundef nonnull @.str.4) #13
  %9996 = load i32, ptr %2772, align 4, !tbaa !5
  %9997 = call ptr @s2n_strerror_debug(i32 noundef %9996, ptr noundef nonnull @.str.4) #13
  %9998 = load i32, ptr %9980, align 4, !tbaa !5
  %9999 = call ptr @strerror(i32 noundef %9998) #13
  %10000 = load i32, ptr %9980, align 4, !tbaa !5
  %10001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9992, ptr noundef nonnull %.str.5.sink5218, i32 noundef %9993, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1190, ptr noundef %9995, ptr noundef %9997, ptr noundef %9999, i32 noundef %10000) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10002:                                            ; preds = %9974
  %10003 = load i32, ptr @test_count, align 4, !tbaa !5
  %10004 = add nsw i32 %10003, 1
  store i32 %10004, ptr @test_count, align 4, !tbaa !5
  %10005 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %10006 = icmp eq ptr %10005, null
  br i1 %10006, label %10007, label %10030

10007:                                            ; preds = %10002
  %10008 = tail call ptr @__errno_location() #14
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  %10010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10011 = call i32 @s2n_print_stacktrace(ptr noundef %10010) #13
  %10012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10013 = trunc nuw i8 %10012 to i1
  br i1 %10013, label %10014, label %10018

10014:                                            ; preds = %10007
  %10015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10016 = call i32 @fileno(ptr noundef %10015) #13
  %10017 = call i32 @isatty(i32 noundef %10016) #13
  %.not1614 = icmp eq i32 %10017, 0
  br i1 %.not1614, label %10018, label %10019

10018:                                            ; preds = %10014, %10007
  br label %10019

10019:                                            ; preds = %10014, %10018
  %.str.5.sink5227 = phi ptr [ @.str.5, %10018 ], [ @.str.2, %10014 ]
  store i32 %10009, ptr %10008, align 4, !tbaa !5
  %10020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10021 = load i32, ptr @test_count, align 4, !tbaa !5
  %10022 = load i32, ptr %2772, align 4, !tbaa !5
  %10023 = call ptr @s2n_strerror(i32 noundef %10022, ptr noundef nonnull @.str.4) #13
  %10024 = load i32, ptr %2772, align 4, !tbaa !5
  %10025 = call ptr @s2n_strerror_debug(i32 noundef %10024, ptr noundef nonnull @.str.4) #13
  %10026 = load i32, ptr %10008, align 4, !tbaa !5
  %10027 = call ptr @strerror(i32 noundef %10026) #13
  %10028 = load i32, ptr %10008, align 4, !tbaa !5
  %10029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10020, ptr noundef nonnull %.str.5.sink5227, i32 noundef %10021, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1192, ptr noundef %10023, ptr noundef %10025, ptr noundef %10027, i32 noundef %10028) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10030:                                            ; preds = %10002
  %10031 = getelementptr inbounds i8, ptr %10005, i64 220
  store i8 33, ptr %10031, align 4, !tbaa !15
  %10032 = getelementptr inbounds i8, ptr %10005, i64 219
  store i8 33, ptr %10032, align 1, !tbaa !42
  %10033 = getelementptr inbounds i8, ptr %10005, i64 218
  store i8 33, ptr %10033, align 2, !tbaa !43
  %10034 = load i32, ptr @test_count, align 4, !tbaa !5
  %10035 = add nsw i32 %10034, 1
  store i32 %10035, ptr @test_count, align 4, !tbaa !5
  %10036 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %9834, ptr noundef nonnull %10005, ptr noundef nonnull %3) #13
  %10037 = icmp eq i32 %10036, -1
  br i1 %10037, label %10038, label %10061

10038:                                            ; preds = %10030
  %10039 = tail call ptr @__errno_location() #14
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10042 = call i32 @s2n_print_stacktrace(ptr noundef %10041) #13
  %10043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10044 = trunc nuw i8 %10043 to i1
  br i1 %10044, label %10045, label %10049

10045:                                            ; preds = %10038
  %10046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10047 = call i32 @fileno(ptr noundef %10046) #13
  %10048 = call i32 @isatty(i32 noundef %10047) #13
  %.not1613 = icmp eq i32 %10048, 0
  br i1 %.not1613, label %10049, label %10050

10049:                                            ; preds = %10045, %10038
  br label %10050

10050:                                            ; preds = %10045, %10049
  %.str.5.sink5236 = phi ptr [ @.str.5, %10049 ], [ @.str.2, %10045 ]
  store i32 %10040, ptr %10039, align 4, !tbaa !5
  %10051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10052 = load i32, ptr @test_count, align 4, !tbaa !5
  %10053 = load i32, ptr %2772, align 4, !tbaa !5
  %10054 = call ptr @s2n_strerror(i32 noundef %10053, ptr noundef nonnull @.str.4) #13
  %10055 = load i32, ptr %2772, align 4, !tbaa !5
  %10056 = call ptr @s2n_strerror_debug(i32 noundef %10055, ptr noundef nonnull @.str.4) #13
  %10057 = load i32, ptr %10039, align 4, !tbaa !5
  %10058 = call ptr @strerror(i32 noundef %10057) #13
  %10059 = load i32, ptr %10039, align 4, !tbaa !5
  %10060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10051, ptr noundef nonnull %.str.5.sink5236, i32 noundef %10052, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1197, ptr noundef %10054, ptr noundef %10056, ptr noundef %10058, i32 noundef %10059) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10061:                                            ; preds = %10030
  %10062 = load i32, ptr @test_count, align 4, !tbaa !5
  %10063 = add nsw i32 %10062, 1
  store i32 %10063, ptr @test_count, align 4, !tbaa !5
  %10064 = call ptr @s2n_config_new() #13
  %10065 = icmp eq ptr %10064, null
  br i1 %10065, label %10066, label %10089

10066:                                            ; preds = %10061
  %10067 = tail call ptr @__errno_location() #14
  %10068 = load i32, ptr %10067, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = call i32 @s2n_print_stacktrace(ptr noundef %10069) #13
  %10071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10072 = trunc nuw i8 %10071 to i1
  br i1 %10072, label %10073, label %10077

10073:                                            ; preds = %10066
  %10074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10075 = call i32 @fileno(ptr noundef %10074) #13
  %10076 = call i32 @isatty(i32 noundef %10075) #13
  %.not1612 = icmp eq i32 %10076, 0
  br i1 %.not1612, label %10077, label %10078

10077:                                            ; preds = %10073, %10066
  br label %10078

10078:                                            ; preds = %10073, %10077
  %.str.5.sink5245 = phi ptr [ @.str.5, %10077 ], [ @.str.2, %10073 ]
  store i32 %10068, ptr %10067, align 4, !tbaa !5
  %10079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %10081 = load i32, ptr %2772, align 4, !tbaa !5
  %10082 = call ptr @s2n_strerror(i32 noundef %10081, ptr noundef nonnull @.str.4) #13
  %10083 = load i32, ptr %2772, align 4, !tbaa !5
  %10084 = call ptr @s2n_strerror_debug(i32 noundef %10083, ptr noundef nonnull @.str.4) #13
  %10085 = load i32, ptr %10067, align 4, !tbaa !5
  %10086 = call ptr @strerror(i32 noundef %10085) #13
  %10087 = load i32, ptr %10067, align 4, !tbaa !5
  %10088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10079, ptr noundef nonnull %.str.5.sink5245, i32 noundef %10080, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1199, ptr noundef %10082, ptr noundef %10084, ptr noundef %10086, i32 noundef %10087) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10089:                                            ; preds = %10061
  %10090 = load i32, ptr @test_count, align 4, !tbaa !5
  %10091 = add nsw i32 %10090, 1
  store i32 %10091, ptr @test_count, align 4, !tbaa !5
  %10092 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %10064) #13
  %10093 = icmp eq i32 %10092, -1
  br i1 %10093, label %10094, label %10117

10094:                                            ; preds = %10089
  %10095 = tail call ptr @__errno_location() #14
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10098 = call i32 @s2n_print_stacktrace(ptr noundef %10097) #13
  %10099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10100 = trunc nuw i8 %10099 to i1
  br i1 %10100, label %10101, label %10105

10101:                                            ; preds = %10094
  %10102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10103 = call i32 @fileno(ptr noundef %10102) #13
  %10104 = call i32 @isatty(i32 noundef %10103) #13
  %.not1611 = icmp eq i32 %10104, 0
  br i1 %.not1611, label %10105, label %10106

10105:                                            ; preds = %10101, %10094
  br label %10106

10106:                                            ; preds = %10101, %10105
  %.str.5.sink5254 = phi ptr [ @.str.5, %10105 ], [ @.str.2, %10101 ]
  store i32 %10096, ptr %10095, align 4, !tbaa !5
  %10107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10108 = load i32, ptr @test_count, align 4, !tbaa !5
  %10109 = load i32, ptr %2772, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror(i32 noundef %10109, ptr noundef nonnull @.str.4) #13
  %10111 = load i32, ptr %2772, align 4, !tbaa !5
  %10112 = call ptr @s2n_strerror_debug(i32 noundef %10111, ptr noundef nonnull @.str.4) #13
  %10113 = load i32, ptr %10095, align 4, !tbaa !5
  %10114 = call ptr @strerror(i32 noundef %10113) #13
  %10115 = load i32, ptr %10095, align 4, !tbaa !5
  %10116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10107, ptr noundef nonnull %.str.5.sink5254, i32 noundef %10108, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 1200, ptr noundef %10110, ptr noundef %10112, ptr noundef %10114, i32 noundef %10115) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10117:                                            ; preds = %10089
  %10118 = load i32, ptr @test_count, align 4, !tbaa !5
  %10119 = add nsw i32 %10118, 1
  store i32 %10119, ptr @test_count, align 4, !tbaa !5
  %10120 = call ptr @s2n_cert_chain_and_key_new() #13
  %10121 = icmp eq ptr %10120, null
  br i1 %10121, label %10122, label %10145

10122:                                            ; preds = %10117
  %10123 = tail call ptr @__errno_location() #14
  %10124 = load i32, ptr %10123, align 4, !tbaa !5
  %10125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10126 = call i32 @s2n_print_stacktrace(ptr noundef %10125) #13
  %10127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10128 = trunc nuw i8 %10127 to i1
  br i1 %10128, label %10129, label %10133

10129:                                            ; preds = %10122
  %10130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10131 = call i32 @fileno(ptr noundef %10130) #13
  %10132 = call i32 @isatty(i32 noundef %10131) #13
  %.not1610 = icmp eq i32 %10132, 0
  br i1 %.not1610, label %10133, label %10134

10133:                                            ; preds = %10129, %10122
  br label %10134

10134:                                            ; preds = %10129, %10133
  %.str.5.sink5263 = phi ptr [ @.str.5, %10133 ], [ @.str.2, %10129 ]
  store i32 %10124, ptr %10123, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = load i32, ptr @test_count, align 4, !tbaa !5
  %10137 = load i32, ptr %2772, align 4, !tbaa !5
  %10138 = call ptr @s2n_strerror(i32 noundef %10137, ptr noundef nonnull @.str.4) #13
  %10139 = load i32, ptr %2772, align 4, !tbaa !5
  %10140 = call ptr @s2n_strerror_debug(i32 noundef %10139, ptr noundef nonnull @.str.4) #13
  %10141 = load i32, ptr %10123, align 4, !tbaa !5
  %10142 = call ptr @strerror(i32 noundef %10141) #13
  %10143 = load i32, ptr %10123, align 4, !tbaa !5
  %10144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10135, ptr noundef nonnull %.str.5.sink5263, i32 noundef %10136, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 1201, ptr noundef %10138, ptr noundef %10140, ptr noundef %10142, i32 noundef %10143) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10145:                                            ; preds = %10117
  %10146 = load i32, ptr @test_count, align 4, !tbaa !5
  %10147 = add nsw i32 %10146, 1
  store i32 %10147, ptr @test_count, align 4, !tbaa !5
  %10148 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %10120, ptr noundef %149, ptr noundef %177) #13
  %10149 = icmp eq i32 %10148, -1
  br i1 %10149, label %10150, label %10173

10150:                                            ; preds = %10145
  %10151 = tail call ptr @__errno_location() #14
  %10152 = load i32, ptr %10151, align 4, !tbaa !5
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = call i32 @s2n_print_stacktrace(ptr noundef %10153) #13
  %10155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10156 = trunc nuw i8 %10155 to i1
  br i1 %10156, label %10157, label %10161

10157:                                            ; preds = %10150
  %10158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10159 = call i32 @fileno(ptr noundef %10158) #13
  %10160 = call i32 @isatty(i32 noundef %10159) #13
  %.not1609 = icmp eq i32 %10160, 0
  br i1 %.not1609, label %10161, label %10162

10161:                                            ; preds = %10157, %10150
  br label %10162

10162:                                            ; preds = %10157, %10161
  %.str.5.sink5272 = phi ptr [ @.str.5, %10161 ], [ @.str.2, %10157 ]
  store i32 %10152, ptr %10151, align 4, !tbaa !5
  %10163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10164 = load i32, ptr @test_count, align 4, !tbaa !5
  %10165 = load i32, ptr %2772, align 4, !tbaa !5
  %10166 = call ptr @s2n_strerror(i32 noundef %10165, ptr noundef nonnull @.str.4) #13
  %10167 = load i32, ptr %2772, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror_debug(i32 noundef %10167, ptr noundef nonnull @.str.4) #13
  %10169 = load i32, ptr %10151, align 4, !tbaa !5
  %10170 = call ptr @strerror(i32 noundef %10169) #13
  %10171 = load i32, ptr %10151, align 4, !tbaa !5
  %10172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10163, ptr noundef nonnull %.str.5.sink5272, i32 noundef %10164, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 1202, ptr noundef %10166, ptr noundef %10168, ptr noundef %10170, i32 noundef %10171) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10173:                                            ; preds = %10145
  %10174 = load i32, ptr @test_count, align 4, !tbaa !5
  %10175 = add nsw i32 %10174, 1
  store i32 %10175, ptr @test_count, align 4, !tbaa !5
  %10176 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %10064, ptr noundef nonnull %10120) #13
  %10177 = icmp eq i32 %10176, -1
  br i1 %10177, label %10178, label %10201

10178:                                            ; preds = %10173
  %10179 = tail call ptr @__errno_location() #14
  %10180 = load i32, ptr %10179, align 4, !tbaa !5
  %10181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10182 = call i32 @s2n_print_stacktrace(ptr noundef %10181) #13
  %10183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10184 = trunc nuw i8 %10183 to i1
  br i1 %10184, label %10185, label %10189

10185:                                            ; preds = %10178
  %10186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10187 = call i32 @fileno(ptr noundef %10186) #13
  %10188 = call i32 @isatty(i32 noundef %10187) #13
  %.not1608 = icmp eq i32 %10188, 0
  br i1 %.not1608, label %10189, label %10190

10189:                                            ; preds = %10185, %10178
  br label %10190

10190:                                            ; preds = %10185, %10189
  %.str.5.sink5281 = phi ptr [ @.str.5, %10189 ], [ @.str.2, %10185 ]
  store i32 %10180, ptr %10179, align 4, !tbaa !5
  %10191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10192 = load i32, ptr @test_count, align 4, !tbaa !5
  %10193 = load i32, ptr %2772, align 4, !tbaa !5
  %10194 = call ptr @s2n_strerror(i32 noundef %10193, ptr noundef nonnull @.str.4) #13
  %10195 = load i32, ptr %2772, align 4, !tbaa !5
  %10196 = call ptr @s2n_strerror_debug(i32 noundef %10195, ptr noundef nonnull @.str.4) #13
  %10197 = load i32, ptr %10179, align 4, !tbaa !5
  %10198 = call ptr @strerror(i32 noundef %10197) #13
  %10199 = load i32, ptr %10179, align 4, !tbaa !5
  %10200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10191, ptr noundef nonnull %.str.5.sink5281, i32 noundef %10192, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 1203, ptr noundef %10194, ptr noundef %10196, ptr noundef %10198, i32 noundef %10199) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10201:                                            ; preds = %10173
  %10202 = load i32, ptr @test_count, align 4, !tbaa !5
  %10203 = add nsw i32 %10202, 1
  store i32 %10203, ptr @test_count, align 4, !tbaa !5
  %10204 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10005, ptr noundef nonnull %10064) #13
  %10205 = icmp eq i32 %10204, -1
  br i1 %10205, label %10206, label %10229

10206:                                            ; preds = %10201
  %10207 = tail call ptr @__errno_location() #14
  %10208 = load i32, ptr %10207, align 4, !tbaa !5
  %10209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10210 = call i32 @s2n_print_stacktrace(ptr noundef %10209) #13
  %10211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10212 = trunc nuw i8 %10211 to i1
  br i1 %10212, label %10213, label %10217

10213:                                            ; preds = %10206
  %10214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10215 = call i32 @fileno(ptr noundef %10214) #13
  %10216 = call i32 @isatty(i32 noundef %10215) #13
  %.not1607 = icmp eq i32 %10216, 0
  br i1 %.not1607, label %10217, label %10218

10217:                                            ; preds = %10213, %10206
  br label %10218

10218:                                            ; preds = %10213, %10217
  %.str.5.sink5290 = phi ptr [ @.str.5, %10217 ], [ @.str.2, %10213 ]
  store i32 %10208, ptr %10207, align 4, !tbaa !5
  %10219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10220 = load i32, ptr @test_count, align 4, !tbaa !5
  %10221 = load i32, ptr %2772, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror(i32 noundef %10221, ptr noundef nonnull @.str.4) #13
  %10223 = load i32, ptr %2772, align 4, !tbaa !5
  %10224 = call ptr @s2n_strerror_debug(i32 noundef %10223, ptr noundef nonnull @.str.4) #13
  %10225 = load i32, ptr %10207, align 4, !tbaa !5
  %10226 = call ptr @strerror(i32 noundef %10225) #13
  %10227 = load i32, ptr %10207, align 4, !tbaa !5
  %10228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10219, ptr noundef nonnull %.str.5.sink5290, i32 noundef %10220, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1204, ptr noundef %10222, ptr noundef %10224, ptr noundef %10226, i32 noundef %10227) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10229:                                            ; preds = %10201
  %10230 = load i32, ptr @test_count, align 4, !tbaa !5
  %10231 = add nsw i32 %10230, 1
  store i32 %10231, ptr @test_count, align 4, !tbaa !5
  %10232 = call i32 @s2n_connection_prefer_throughput(ptr noundef nonnull %10005) #13
  %10233 = icmp eq i32 %10232, -1
  br i1 %10233, label %10234, label %10257

10234:                                            ; preds = %10229
  %10235 = tail call ptr @__errno_location() #14
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10238 = call i32 @s2n_print_stacktrace(ptr noundef %10237) #13
  %10239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10240 = trunc nuw i8 %10239 to i1
  br i1 %10240, label %10241, label %10245

10241:                                            ; preds = %10234
  %10242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10243 = call i32 @fileno(ptr noundef %10242) #13
  %10244 = call i32 @isatty(i32 noundef %10243) #13
  %.not1606 = icmp eq i32 %10244, 0
  br i1 %.not1606, label %10245, label %10246

10245:                                            ; preds = %10241, %10234
  br label %10246

10246:                                            ; preds = %10241, %10245
  %.str.5.sink5299 = phi ptr [ @.str.5, %10245 ], [ @.str.2, %10241 ]
  store i32 %10236, ptr %10235, align 4, !tbaa !5
  %10247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10248 = load i32, ptr @test_count, align 4, !tbaa !5
  %10249 = load i32, ptr %2772, align 4, !tbaa !5
  %10250 = call ptr @s2n_strerror(i32 noundef %10249, ptr noundef nonnull @.str.4) #13
  %10251 = load i32, ptr %2772, align 4, !tbaa !5
  %10252 = call ptr @s2n_strerror_debug(i32 noundef %10251, ptr noundef nonnull @.str.4) #13
  %10253 = load i32, ptr %10235, align 4, !tbaa !5
  %10254 = call ptr @strerror(i32 noundef %10253) #13
  %10255 = load i32, ptr %10235, align 4, !tbaa !5
  %10256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10247, ptr noundef nonnull %.str.5.sink5299, i32 noundef %10248, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 1207, ptr noundef %10250, ptr noundef %10252, ptr noundef %10254, i32 noundef %10255) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10257:                                            ; preds = %10229
  %10258 = load i32, ptr @test_count, align 4, !tbaa !5
  %10259 = add nsw i32 %10258, 1
  store i32 %10259, ptr @test_count, align 4, !tbaa !5
  %10260 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %10005, ptr noundef nonnull %9834) #13
  %10261 = icmp eq i32 %10260, -1
  br i1 %10261, label %10262, label %10285

10262:                                            ; preds = %10257
  %10263 = tail call ptr @__errno_location() #14
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = call i32 @s2n_print_stacktrace(ptr noundef %10265) #13
  %10267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10268 = trunc nuw i8 %10267 to i1
  br i1 %10268, label %10269, label %10273

10269:                                            ; preds = %10262
  %10270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10271 = call i32 @fileno(ptr noundef %10270) #13
  %10272 = call i32 @isatty(i32 noundef %10271) #13
  %.not1605 = icmp eq i32 %10272, 0
  br i1 %.not1605, label %10273, label %10274

10273:                                            ; preds = %10269, %10262
  br label %10274

10274:                                            ; preds = %10269, %10273
  %.str.5.sink5308 = phi ptr [ @.str.5, %10273 ], [ @.str.2, %10269 ]
  store i32 %10264, ptr %10263, align 4, !tbaa !5
  %10275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10276 = load i32, ptr @test_count, align 4, !tbaa !5
  %10277 = load i32, ptr %2772, align 4, !tbaa !5
  %10278 = call ptr @s2n_strerror(i32 noundef %10277, ptr noundef nonnull @.str.4) #13
  %10279 = load i32, ptr %2772, align 4, !tbaa !5
  %10280 = call ptr @s2n_strerror_debug(i32 noundef %10279, ptr noundef nonnull @.str.4) #13
  %10281 = load i32, ptr %10263, align 4, !tbaa !5
  %10282 = call ptr @strerror(i32 noundef %10281) #13
  %10283 = load i32, ptr %10263, align 4, !tbaa !5
  %10284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10275, ptr noundef nonnull %.str.5.sink5308, i32 noundef %10276, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1209, ptr noundef %10278, ptr noundef %10280, ptr noundef %10282, i32 noundef %10283) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10285:                                            ; preds = %10257
  %10286 = load i32, ptr @test_count, align 4, !tbaa !5
  %10287 = add nsw i32 %10286, 1
  store i32 %10287, ptr @test_count, align 4, !tbaa !5
  %10288 = getelementptr inbounds i8, ptr %10005, i64 2208
  %10289 = load i16, ptr %10288, align 8, !tbaa !54
  %10290 = getelementptr inbounds [5 x i16], ptr @mfl_code_to_length, i64 0, i64 %indvars.iv
  %10291 = load i16, ptr %10290, align 2, !tbaa !55
  %10292 = icmp eq i16 %10289, %10291
  br i1 %10292, label %10316, label %10293

10293:                                            ; preds = %10285
  %10294 = tail call ptr @__errno_location() #14
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10297 = call i32 @s2n_print_stacktrace(ptr noundef %10296) #13
  %10298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10299 = trunc nuw i8 %10298 to i1
  br i1 %10299, label %10300, label %10304

10300:                                            ; preds = %10293
  %10301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10302 = call i32 @fileno(ptr noundef %10301) #13
  %10303 = call i32 @isatty(i32 noundef %10302) #13
  %.not1597 = icmp eq i32 %10303, 0
  br i1 %.not1597, label %10304, label %10305

10304:                                            ; preds = %10300, %10293
  br label %10305

10305:                                            ; preds = %10300, %10304
  %.str.5.sink5317 = phi ptr [ @.str.5, %10304 ], [ @.str.2, %10300 ]
  store i32 %10295, ptr %10294, align 4, !tbaa !5
  %10306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10307 = load i32, ptr @test_count, align 4, !tbaa !5
  %10308 = load i32, ptr %2772, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror(i32 noundef %10308, ptr noundef nonnull @.str.4) #13
  %10310 = load i32, ptr %2772, align 4, !tbaa !5
  %10311 = call ptr @s2n_strerror_debug(i32 noundef %10310, ptr noundef nonnull @.str.4) #13
  %10312 = load i32, ptr %10294, align 4, !tbaa !5
  %10313 = call ptr @strerror(i32 noundef %10312) #13
  %10314 = load i32, ptr %10294, align 4, !tbaa !5
  %10315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10306, ptr noundef nonnull %.str.5.sink5317, i32 noundef %10307, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 1211, ptr noundef %10309, ptr noundef %10311, ptr noundef %10313, i32 noundef %10314) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10316:                                            ; preds = %10285
  %10317 = add nsw i32 %10286, 2
  store i32 %10317, ptr @test_count, align 4, !tbaa !5
  %10318 = getelementptr inbounds i8, ptr %10005, i64 2232
  %10319 = load i8, ptr %10318, align 8, !tbaa !56
  %10320 = zext i8 %10319 to i64
  %10321 = icmp eq i64 %indvars.iv, %10320
  br i1 %10321, label %10345, label %10322

10322:                                            ; preds = %10316
  %10323 = tail call ptr @__errno_location() #14
  %10324 = load i32, ptr %10323, align 4, !tbaa !5
  %10325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10326 = call i32 @s2n_print_stacktrace(ptr noundef %10325) #13
  %10327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10328 = trunc nuw i8 %10327 to i1
  br i1 %10328, label %10329, label %10333

10329:                                            ; preds = %10322
  %10330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10331 = call i32 @fileno(ptr noundef %10330) #13
  %10332 = call i32 @isatty(i32 noundef %10331) #13
  %.not1598 = icmp eq i32 %10332, 0
  br i1 %.not1598, label %10333, label %10334

10333:                                            ; preds = %10329, %10322
  br label %10334

10334:                                            ; preds = %10329, %10333
  %.str.5.sink5326 = phi ptr [ @.str.5, %10333 ], [ @.str.2, %10329 ]
  store i32 %10324, ptr %10323, align 4, !tbaa !5
  %10335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10336 = load i32, ptr @test_count, align 4, !tbaa !5
  %10337 = load i32, ptr %2772, align 4, !tbaa !5
  %10338 = call ptr @s2n_strerror(i32 noundef %10337, ptr noundef nonnull @.str.4) #13
  %10339 = load i32, ptr %2772, align 4, !tbaa !5
  %10340 = call ptr @s2n_strerror_debug(i32 noundef %10339, ptr noundef nonnull @.str.4) #13
  %10341 = load i32, ptr %10323, align 4, !tbaa !5
  %10342 = call ptr @strerror(i32 noundef %10341) #13
  %10343 = load i32, ptr %10323, align 4, !tbaa !5
  %10344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10335, ptr noundef nonnull %.str.5.sink5326, i32 noundef %10336, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 1212, ptr noundef %10338, ptr noundef %10340, ptr noundef %10342, i32 noundef %10343) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10345:                                            ; preds = %10316
  %10346 = add nsw i32 %10286, 3
  store i32 %10346, ptr @test_count, align 4, !tbaa !5
  %10347 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %10005, ptr noundef nonnull %9834) #13
  %10348 = icmp eq i32 %10347, -1
  br i1 %10348, label %10349, label %10372

10349:                                            ; preds = %10345
  %10350 = tail call ptr @__errno_location() #14
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10353 = call i32 @s2n_print_stacktrace(ptr noundef %10352) #13
  %10354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10355 = trunc nuw i8 %10354 to i1
  br i1 %10355, label %10356, label %10360

10356:                                            ; preds = %10349
  %10357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10358 = call i32 @fileno(ptr noundef %10357) #13
  %10359 = call i32 @isatty(i32 noundef %10358) #13
  %.not1604 = icmp eq i32 %10359, 0
  br i1 %.not1604, label %10360, label %10361

10360:                                            ; preds = %10356, %10349
  br label %10361

10361:                                            ; preds = %10356, %10360
  %.str.5.sink5335 = phi ptr [ @.str.5, %10360 ], [ @.str.2, %10356 ]
  store i32 %10351, ptr %10350, align 4, !tbaa !5
  %10362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = load i32, ptr %2772, align 4, !tbaa !5
  %10365 = call ptr @s2n_strerror(i32 noundef %10364, ptr noundef nonnull @.str.4) #13
  %10366 = load i32, ptr %2772, align 4, !tbaa !5
  %10367 = call ptr @s2n_strerror_debug(i32 noundef %10366, ptr noundef nonnull @.str.4) #13
  %10368 = load i32, ptr %10350, align 4, !tbaa !5
  %10369 = call ptr @strerror(i32 noundef %10368) #13
  %10370 = load i32, ptr %10350, align 4, !tbaa !5
  %10371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10362, ptr noundef nonnull %.str.5.sink5335, i32 noundef %10363, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1214, ptr noundef %10365, ptr noundef %10367, ptr noundef %10369, i32 noundef %10370) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10372:                                            ; preds = %10345
  %10373 = load i32, ptr @test_count, align 4, !tbaa !5
  %10374 = add nsw i32 %10373, 1
  store i32 %10374, ptr @test_count, align 4, !tbaa !5
  %10375 = call i32 @s2n_connection_free(ptr noundef nonnull %10005) #13
  %10376 = icmp eq i32 %10375, -1
  br i1 %10376, label %10377, label %10400

10377:                                            ; preds = %10372
  %10378 = tail call ptr @__errno_location() #14
  %10379 = load i32, ptr %10378, align 4, !tbaa !5
  %10380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10381 = call i32 @s2n_print_stacktrace(ptr noundef %10380) #13
  %10382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10383 = trunc nuw i8 %10382 to i1
  br i1 %10383, label %10384, label %10388

10384:                                            ; preds = %10377
  %10385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10386 = call i32 @fileno(ptr noundef %10385) #13
  %10387 = call i32 @isatty(i32 noundef %10386) #13
  %.not1603 = icmp eq i32 %10387, 0
  br i1 %.not1603, label %10388, label %10389

10388:                                            ; preds = %10384, %10377
  br label %10389

10389:                                            ; preds = %10384, %10388
  %.str.5.sink5344 = phi ptr [ @.str.5, %10388 ], [ @.str.2, %10384 ]
  store i32 %10379, ptr %10378, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = load i32, ptr %2772, align 4, !tbaa !5
  %10393 = call ptr @s2n_strerror(i32 noundef %10392, ptr noundef nonnull @.str.4) #13
  %10394 = load i32, ptr %2772, align 4, !tbaa !5
  %10395 = call ptr @s2n_strerror_debug(i32 noundef %10394, ptr noundef nonnull @.str.4) #13
  %10396 = load i32, ptr %10378, align 4, !tbaa !5
  %10397 = call ptr @strerror(i32 noundef %10396) #13
  %10398 = load i32, ptr %10378, align 4, !tbaa !5
  %10399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10390, ptr noundef nonnull %.str.5.sink5344, i32 noundef %10391, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1216, ptr noundef %10393, ptr noundef %10395, ptr noundef %10397, i32 noundef %10398) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10400:                                            ; preds = %10372
  %10401 = load i32, ptr @test_count, align 4, !tbaa !5
  %10402 = add nsw i32 %10401, 1
  store i32 %10402, ptr @test_count, align 4, !tbaa !5
  %10403 = call i32 @s2n_connection_free(ptr noundef nonnull %9834) #13
  %10404 = icmp eq i32 %10403, -1
  br i1 %10404, label %10405, label %10428

10405:                                            ; preds = %10400
  %10406 = tail call ptr @__errno_location() #14
  %10407 = load i32, ptr %10406, align 4, !tbaa !5
  %10408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10409 = call i32 @s2n_print_stacktrace(ptr noundef %10408) #13
  %10410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10411 = trunc nuw i8 %10410 to i1
  br i1 %10411, label %10412, label %10416

10412:                                            ; preds = %10405
  %10413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10414 = call i32 @fileno(ptr noundef %10413) #13
  %10415 = call i32 @isatty(i32 noundef %10414) #13
  %.not1602 = icmp eq i32 %10415, 0
  br i1 %.not1602, label %10416, label %10417

10416:                                            ; preds = %10412, %10405
  br label %10417

10417:                                            ; preds = %10412, %10416
  %.str.5.sink5353 = phi ptr [ @.str.5, %10416 ], [ @.str.2, %10412 ]
  store i32 %10407, ptr %10406, align 4, !tbaa !5
  %10418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10419 = load i32, ptr @test_count, align 4, !tbaa !5
  %10420 = load i32, ptr %2772, align 4, !tbaa !5
  %10421 = call ptr @s2n_strerror(i32 noundef %10420, ptr noundef nonnull @.str.4) #13
  %10422 = load i32, ptr %2772, align 4, !tbaa !5
  %10423 = call ptr @s2n_strerror_debug(i32 noundef %10422, ptr noundef nonnull @.str.4) #13
  %10424 = load i32, ptr %10406, align 4, !tbaa !5
  %10425 = call ptr @strerror(i32 noundef %10424) #13
  %10426 = load i32, ptr %10406, align 4, !tbaa !5
  %10427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10418, ptr noundef nonnull %.str.5.sink5353, i32 noundef %10419, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1217, ptr noundef %10421, ptr noundef %10423, ptr noundef %10425, i32 noundef %10426) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10428:                                            ; preds = %10400
  %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 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %10120) #13
  %10432 = icmp eq i32 %10431, -1
  br i1 %10432, label %10433, label %10456

10433:                                            ; preds = %10428
  %10434 = tail call ptr @__errno_location() #14
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10437 = call i32 @s2n_print_stacktrace(ptr noundef %10436) #13
  %10438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10439 = trunc nuw i8 %10438 to i1
  br i1 %10439, label %10440, label %10444

10440:                                            ; preds = %10433
  %10441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10442 = call i32 @fileno(ptr noundef %10441) #13
  %10443 = call i32 @isatty(i32 noundef %10442) #13
  %.not1601 = icmp eq i32 %10443, 0
  br i1 %.not1601, label %10444, label %10445

10444:                                            ; preds = %10440, %10433
  br label %10445

10445:                                            ; preds = %10440, %10444
  %.str.5.sink5362 = phi ptr [ @.str.5, %10444 ], [ @.str.2, %10440 ]
  store i32 %10435, ptr %10434, align 4, !tbaa !5
  %10446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10447 = load i32, ptr @test_count, align 4, !tbaa !5
  %10448 = load i32, ptr %2772, align 4, !tbaa !5
  %10449 = call ptr @s2n_strerror(i32 noundef %10448, ptr noundef nonnull @.str.4) #13
  %10450 = load i32, ptr %2772, align 4, !tbaa !5
  %10451 = call ptr @s2n_strerror_debug(i32 noundef %10450, ptr noundef nonnull @.str.4) #13
  %10452 = load i32, ptr %10434, align 4, !tbaa !5
  %10453 = call ptr @strerror(i32 noundef %10452) #13
  %10454 = load i32, ptr %10434, align 4, !tbaa !5
  %10455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10446, ptr noundef nonnull %.str.5.sink5362, i32 noundef %10447, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 1219, ptr noundef %10449, ptr noundef %10451, ptr noundef %10453, i32 noundef %10454) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10456:                                            ; preds = %10428
  %10457 = load i32, ptr @test_count, align 4, !tbaa !5
  %10458 = add nsw i32 %10457, 1
  store i32 %10458, ptr @test_count, align 4, !tbaa !5
  %10459 = call i32 @s2n_config_free(ptr noundef nonnull %10064) #13
  %10460 = icmp eq i32 %10459, -1
  br i1 %10460, label %10461, label %10484

10461:                                            ; preds = %10456
  %10462 = tail call ptr @__errno_location() #14
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = call i32 @s2n_print_stacktrace(ptr noundef %10464) #13
  %10466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10467 = trunc nuw i8 %10466 to i1
  br i1 %10467, label %10468, label %10472

10468:                                            ; preds = %10461
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = call i32 @fileno(ptr noundef %10469) #13
  %10471 = call i32 @isatty(i32 noundef %10470) #13
  %.not1600 = icmp eq i32 %10471, 0
  br i1 %.not1600, label %10472, label %10473

10472:                                            ; preds = %10468, %10461
  br label %10473

10473:                                            ; preds = %10468, %10472
  %.str.5.sink5371 = phi ptr [ @.str.5, %10472 ], [ @.str.2, %10468 ]
  store i32 %10463, ptr %10462, align 4, !tbaa !5
  %10474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10475 = load i32, ptr @test_count, align 4, !tbaa !5
  %10476 = load i32, ptr %2772, align 4, !tbaa !5
  %10477 = call ptr @s2n_strerror(i32 noundef %10476, ptr noundef nonnull @.str.4) #13
  %10478 = load i32, ptr %2772, align 4, !tbaa !5
  %10479 = call ptr @s2n_strerror_debug(i32 noundef %10478, ptr noundef nonnull @.str.4) #13
  %10480 = load i32, ptr %10462, align 4, !tbaa !5
  %10481 = call ptr @strerror(i32 noundef %10480) #13
  %10482 = load i32, ptr %10462, align 4, !tbaa !5
  %10483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10474, ptr noundef nonnull %.str.5.sink5371, i32 noundef %10475, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1221, ptr noundef %10477, ptr noundef %10479, ptr noundef %10481, i32 noundef %10482) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10484:                                            ; preds = %10456
  %10485 = load i32, ptr @test_count, align 4, !tbaa !5
  %10486 = add nsw i32 %10485, 1
  store i32 %10486, ptr @test_count, align 4, !tbaa !5
  %10487 = call i32 @s2n_config_free(ptr noundef nonnull %9865) #13
  %10488 = icmp eq i32 %10487, -1
  br i1 %10488, label %10489, label %9823

10489:                                            ; preds = %10484
  %10490 = tail call ptr @__errno_location() #14
  %10491 = load i32, ptr %10490, align 4, !tbaa !5
  %10492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10493 = call i32 @s2n_print_stacktrace(ptr noundef %10492) #13
  %10494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10495 = trunc nuw i8 %10494 to i1
  br i1 %10495, label %10496, label %10500

10496:                                            ; preds = %10489
  %10497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10498 = call i32 @fileno(ptr noundef %10497) #13
  %10499 = call i32 @isatty(i32 noundef %10498) #13
  %.not1599 = icmp eq i32 %10499, 0
  br i1 %.not1599, label %10500, label %10501

10500:                                            ; preds = %10496, %10489
  br label %10501

10501:                                            ; preds = %10496, %10500
  %.str.5.sink5380 = phi ptr [ @.str.5, %10500 ], [ @.str.2, %10496 ]
  store i32 %10491, ptr %10490, align 4, !tbaa !5
  %10502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10503 = load i32, ptr @test_count, align 4, !tbaa !5
  %10504 = load i32, ptr %2772, align 4, !tbaa !5
  %10505 = call ptr @s2n_strerror(i32 noundef %10504, ptr noundef nonnull @.str.4) #13
  %10506 = load i32, ptr %2772, align 4, !tbaa !5
  %10507 = call ptr @s2n_strerror_debug(i32 noundef %10506, ptr noundef nonnull @.str.4) #13
  %10508 = load i32, ptr %10490, align 4, !tbaa !5
  %10509 = call ptr @strerror(i32 noundef %10508) #13
  %10510 = load i32, ptr %10490, align 4, !tbaa !5
  %10511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10502, ptr noundef nonnull %.str.5.sink5380, i32 noundef %10503, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1222, ptr noundef %10505, ptr noundef %10507, ptr noundef %10509, i32 noundef %10510) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10512:                                            ; preds = %9825
  %10513 = tail call ptr @__errno_location() #14
  %10514 = load i32, ptr %10513, align 4, !tbaa !5
  %10515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10516 = call i32 @s2n_print_stacktrace(ptr noundef %10515) #13
  %10517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10518 = trunc nuw i8 %10517 to i1
  br i1 %10518, label %10519, label %10523

10519:                                            ; preds = %10512
  %10520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10521 = call i32 @fileno(ptr noundef %10520) #13
  %10522 = call i32 @isatty(i32 noundef %10521) #13
  %.not1596 = icmp eq i32 %10522, 0
  br i1 %.not1596, label %10523, label %10524

10523:                                            ; preds = %10519, %10512
  br label %10524

10524:                                            ; preds = %10519, %10523
  %.str.5.sink5389 = phi ptr [ @.str.5, %10523 ], [ @.str.2, %10519 ]
  store i32 %10514, ptr %10513, align 4, !tbaa !5
  %10525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10526 = load i32, ptr @test_count, align 4, !tbaa !5
  %10527 = load i32, ptr %2772, align 4, !tbaa !5
  %10528 = call ptr @s2n_strerror(i32 noundef %10527, ptr noundef nonnull @.str.4) #13
  %10529 = load i32, ptr %2772, align 4, !tbaa !5
  %10530 = call ptr @s2n_strerror_debug(i32 noundef %10529, ptr noundef nonnull @.str.4) #13
  %10531 = load i32, ptr %10513, align 4, !tbaa !5
  %10532 = call ptr @strerror(i32 noundef %10531) #13
  %10533 = load i32, ptr %10513, align 4, !tbaa !5
  %10534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10525, ptr noundef nonnull %.str.5.sink5389, i32 noundef %10526, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1233, ptr noundef %10528, ptr noundef %10530, ptr noundef %10532, i32 noundef %10533) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10535:                                            ; preds = %9825
  %10536 = getelementptr inbounds i8, ptr %9828, i64 220
  store i8 33, ptr %10536, align 4, !tbaa !15
  %10537 = getelementptr inbounds i8, ptr %9828, i64 219
  store i8 33, ptr %10537, align 1, !tbaa !42
  %10538 = getelementptr inbounds i8, ptr %9828, i64 218
  store i8 33, ptr %10538, align 2, !tbaa !43
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = add nsw i32 %10539, 1
  store i32 %10540, ptr @test_count, align 4, !tbaa !5
  %10541 = call ptr @s2n_config_new() #13
  %10542 = icmp eq ptr %10541, null
  br i1 %10542, label %10543, label %10566

10543:                                            ; preds = %10535
  %10544 = tail call ptr @__errno_location() #14
  %10545 = load i32, ptr %10544, align 4, !tbaa !5
  %10546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10547 = call i32 @s2n_print_stacktrace(ptr noundef %10546) #13
  %10548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10549 = trunc nuw i8 %10548 to i1
  br i1 %10549, label %10550, label %10554

10550:                                            ; preds = %10543
  %10551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10552 = call i32 @fileno(ptr noundef %10551) #13
  %10553 = call i32 @isatty(i32 noundef %10552) #13
  %.not1595 = icmp eq i32 %10553, 0
  br i1 %.not1595, label %10554, label %10555

10554:                                            ; preds = %10550, %10543
  br label %10555

10555:                                            ; preds = %10550, %10554
  %.str.5.sink5398 = phi ptr [ @.str.5, %10554 ], [ @.str.2, %10550 ]
  store i32 %10545, ptr %10544, align 4, !tbaa !5
  %10556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10557 = load i32, ptr @test_count, align 4, !tbaa !5
  %10558 = load i32, ptr %2772, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef nonnull @.str.4) #13
  %10560 = load i32, ptr %2772, align 4, !tbaa !5
  %10561 = call ptr @s2n_strerror_debug(i32 noundef %10560, ptr noundef nonnull @.str.4) #13
  %10562 = load i32, ptr %10544, align 4, !tbaa !5
  %10563 = call ptr @strerror(i32 noundef %10562) #13
  %10564 = load i32, ptr %10544, align 4, !tbaa !5
  %10565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10556, ptr noundef nonnull %.str.5.sink5398, i32 noundef %10557, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1238, ptr noundef %10559, ptr noundef %10561, ptr noundef %10563, i32 noundef %10564) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10566:                                            ; preds = %10535
  %10567 = load i32, ptr @test_count, align 4, !tbaa !5
  %10568 = add nsw i32 %10567, 1
  store i32 %10568, ptr @test_count, align 4, !tbaa !5
  %10569 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %10541, i8 noundef zeroext 0) #13
  %10570 = icmp eq i32 %10569, -1
  br i1 %10570, label %10571, label %10594

10571:                                            ; preds = %10566
  %10572 = tail call ptr @__errno_location() #14
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @s2n_print_stacktrace(ptr noundef %10574) #13
  %10576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10577 = trunc nuw i8 %10576 to i1
  br i1 %10577, label %10578, label %10582

10578:                                            ; preds = %10571
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = call i32 @fileno(ptr noundef %10579) #13
  %10581 = call i32 @isatty(i32 noundef %10580) #13
  %.not1594 = icmp eq i32 %10581, 0
  br i1 %.not1594, label %10582, label %10583

10582:                                            ; preds = %10578, %10571
  br label %10583

10583:                                            ; preds = %10578, %10582
  %.str.5.sink5407 = phi ptr [ @.str.5, %10582 ], [ @.str.2, %10578 ]
  store i32 %10573, ptr %10572, align 4, !tbaa !5
  %10584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10585 = load i32, ptr @test_count, align 4, !tbaa !5
  %10586 = load i32, ptr %2772, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror(i32 noundef %10586, ptr noundef nonnull @.str.4) #13
  %10588 = load i32, ptr %2772, align 4, !tbaa !5
  %10589 = call ptr @s2n_strerror_debug(i32 noundef %10588, ptr noundef nonnull @.str.4) #13
  %10590 = load i32, ptr %10572, align 4, !tbaa !5
  %10591 = call ptr @strerror(i32 noundef %10590) #13
  %10592 = load i32, ptr %10572, align 4, !tbaa !5
  %10593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10584, ptr noundef nonnull %.str.5.sink5407, i32 noundef %10585, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1239, ptr noundef %10587, ptr noundef %10589, ptr noundef %10591, i32 noundef %10592) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10594:                                            ; preds = %10566
  %10595 = load i32, ptr @test_count, align 4, !tbaa !5
  %10596 = add nsw i32 %10595, 1
  store i32 %10596, ptr @test_count, align 4, !tbaa !5
  %10597 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %10541) #13
  %10598 = icmp eq i32 %10597, -1
  br i1 %10598, label %10599, label %10622

10599:                                            ; preds = %10594
  %10600 = tail call ptr @__errno_location() #14
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10603 = call i32 @s2n_print_stacktrace(ptr noundef %10602) #13
  %10604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10605 = trunc nuw i8 %10604 to i1
  br i1 %10605, label %10606, label %10610

10606:                                            ; preds = %10599
  %10607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10608 = call i32 @fileno(ptr noundef %10607) #13
  %10609 = call i32 @isatty(i32 noundef %10608) #13
  %.not1593 = icmp eq i32 %10609, 0
  br i1 %.not1593, label %10610, label %10611

10610:                                            ; preds = %10606, %10599
  br label %10611

10611:                                            ; preds = %10606, %10610
  %.str.5.sink5416 = phi ptr [ @.str.5, %10610 ], [ @.str.2, %10606 ]
  store i32 %10601, ptr %10600, align 4, !tbaa !5
  %10612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10613 = load i32, ptr @test_count, align 4, !tbaa !5
  %10614 = load i32, ptr %2772, align 4, !tbaa !5
  %10615 = call ptr @s2n_strerror(i32 noundef %10614, ptr noundef nonnull @.str.4) #13
  %10616 = load i32, ptr %2772, align 4, !tbaa !5
  %10617 = call ptr @s2n_strerror_debug(i32 noundef %10616, ptr noundef nonnull @.str.4) #13
  %10618 = load i32, ptr %10600, align 4, !tbaa !5
  %10619 = call ptr @strerror(i32 noundef %10618) #13
  %10620 = load i32, ptr %10600, align 4, !tbaa !5
  %10621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10612, ptr noundef nonnull %.str.5.sink5416, i32 noundef %10613, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1240, ptr noundef %10615, ptr noundef %10617, ptr noundef %10619, i32 noundef %10620) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10622:                                            ; preds = %10594
  %10623 = load i32, ptr @test_count, align 4, !tbaa !5
  %10624 = add nsw i32 %10623, 1
  store i32 %10624, ptr @test_count, align 4, !tbaa !5
  %10625 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %10541, i32 noundef 5) #13
  %10626 = icmp eq i32 %10625, -1
  br i1 %10626, label %10650, label %10627

10627:                                            ; preds = %10622
  %10628 = tail call ptr @__errno_location() #14
  %10629 = load i32, ptr %10628, align 4, !tbaa !5
  %10630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10631 = call i32 @s2n_print_stacktrace(ptr noundef %10630) #13
  %10632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10633 = trunc nuw i8 %10632 to i1
  br i1 %10633, label %10634, label %10638

10634:                                            ; preds = %10627
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = call i32 @fileno(ptr noundef %10635) #13
  %10637 = call i32 @isatty(i32 noundef %10636) #13
  %.not1544 = icmp eq i32 %10637, 0
  br i1 %.not1544, label %10638, label %10639

10638:                                            ; preds = %10634, %10627
  br label %10639

10639:                                            ; preds = %10634, %10638
  %.str.5.sink5425 = phi ptr [ @.str.5, %10638 ], [ @.str.2, %10634 ]
  store i32 %10629, ptr %10628, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = load i32, ptr @test_count, align 4, !tbaa !5
  %10642 = load i32, ptr %2772, align 4, !tbaa !5
  %10643 = call ptr @s2n_strerror(i32 noundef %10642, ptr noundef nonnull @.str.4) #13
  %10644 = load i32, ptr %2772, align 4, !tbaa !5
  %10645 = call ptr @s2n_strerror_debug(i32 noundef %10644, ptr noundef nonnull @.str.4) #13
  %10646 = load i32, ptr %10628, align 4, !tbaa !5
  %10647 = call ptr @strerror(i32 noundef %10646) #13
  %10648 = load i32, ptr %10628, align 4, !tbaa !5
  %10649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10640, ptr noundef nonnull %.str.5.sink5425, i32 noundef %10641, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1241, ptr noundef %10643, ptr noundef %10645, ptr noundef %10647, i32 noundef %10648) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10650:                                            ; preds = %10622
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = add nsw i32 %10651, 1
  store i32 %10652, ptr @test_count, align 4, !tbaa !5
  %10653 = load i32, ptr %2772, align 4, !tbaa !5
  %10654 = icmp eq i32 %10653, 0
  br i1 %10654, label %10655, label %10678

10655:                                            ; preds = %10650
  %10656 = tail call ptr @__errno_location() #14
  %10657 = load i32, ptr %10656, align 4, !tbaa !5
  %10658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10659 = call i32 @s2n_print_stacktrace(ptr noundef %10658) #13
  %10660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10661 = trunc nuw i8 %10660 to i1
  br i1 %10661, label %10662, label %10666

10662:                                            ; preds = %10655
  %10663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10664 = call i32 @fileno(ptr noundef %10663) #13
  %10665 = call i32 @isatty(i32 noundef %10664) #13
  %.not1592 = icmp eq i32 %10665, 0
  br i1 %.not1592, label %10666, label %10667

10666:                                            ; preds = %10662, %10655
  br label %10667

10667:                                            ; preds = %10662, %10666
  %.str.5.sink5434 = phi ptr [ @.str.5, %10666 ], [ @.str.2, %10662 ]
  store i32 %10657, ptr %10656, align 4, !tbaa !5
  %10668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10669 = load i32, ptr @test_count, align 4, !tbaa !5
  %10670 = load i32, ptr %2772, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror(i32 noundef %10670, ptr noundef nonnull @.str.4) #13
  %10672 = load i32, ptr %2772, align 4, !tbaa !5
  %10673 = call ptr @s2n_strerror_debug(i32 noundef %10672, ptr noundef nonnull @.str.4) #13
  %10674 = load i32, ptr %10656, align 4, !tbaa !5
  %10675 = call ptr @strerror(i32 noundef %10674) #13
  %10676 = load i32, ptr %10656, align 4, !tbaa !5
  %10677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10668, ptr noundef nonnull %.str.5.sink5434, i32 noundef %10669, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 1241, ptr noundef %10671, ptr noundef %10673, ptr noundef %10675, i32 noundef %10676) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10678:                                            ; preds = %10650
  %10679 = add nsw i32 %10651, 2
  store i32 %10679, ptr @test_count, align 4, !tbaa !5
  %10680 = call ptr @s2n_strerror_debug(i32 noundef %10653, ptr noundef nonnull @.str.4) #13
  %10681 = icmp eq ptr %10680, null
  br i1 %10681, label %10682, label %10705

10682:                                            ; preds = %10678
  %10683 = tail call ptr @__errno_location() #14
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = call i32 @s2n_print_stacktrace(ptr noundef %10685) #13
  %10687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10688 = trunc nuw i8 %10687 to i1
  br i1 %10688, label %10689, label %10693

10689:                                            ; preds = %10682
  %10690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10691 = call i32 @fileno(ptr noundef %10690) #13
  %10692 = call i32 @isatty(i32 noundef %10691) #13
  %.not1591 = icmp eq i32 %10692, 0
  br i1 %.not1591, label %10693, label %10694

10693:                                            ; preds = %10689, %10682
  br label %10694

10694:                                            ; preds = %10689, %10693
  %.str.5.sink5443 = phi ptr [ @.str.5, %10693 ], [ @.str.2, %10689 ]
  store i32 %10684, ptr %10683, align 4, !tbaa !5
  %10695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10696 = load i32, ptr @test_count, align 4, !tbaa !5
  %10697 = load i32, ptr %2772, align 4, !tbaa !5
  %10698 = call ptr @s2n_strerror(i32 noundef %10697, ptr noundef nonnull @.str.4) #13
  %10699 = load i32, ptr %2772, align 4, !tbaa !5
  %10700 = call ptr @s2n_strerror_debug(i32 noundef %10699, ptr noundef nonnull @.str.4) #13
  %10701 = load i32, ptr %10683, align 4, !tbaa !5
  %10702 = call ptr @strerror(i32 noundef %10701) #13
  %10703 = load i32, ptr %10683, align 4, !tbaa !5
  %10704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10695, ptr noundef nonnull %.str.5.sink5443, i32 noundef %10696, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 1241, ptr noundef %10698, ptr noundef %10700, ptr noundef %10702, i32 noundef %10703) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10705:                                            ; preds = %10678
  store i32 0, ptr %2772, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  %10706 = tail call ptr @__errno_location() #14
  store i32 0, ptr %10706, align 4, !tbaa !5
  %10707 = load i32, ptr @test_count, align 4, !tbaa !5
  %10708 = add nsw i32 %10707, 1
  store i32 %10708, ptr @test_count, align 4, !tbaa !5
  %10709 = call i32 @s2n_connection_set_config(ptr noundef nonnull %9828, ptr noundef nonnull %10541) #13
  %10710 = icmp eq i32 %10709, -1
  br i1 %10710, label %10711, label %10733

10711:                                            ; preds = %10705
  %10712 = load i32, ptr %10706, align 4, !tbaa !5
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = call i32 @s2n_print_stacktrace(ptr noundef %10713) #13
  %10715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10716 = trunc nuw i8 %10715 to i1
  br i1 %10716, label %10717, label %10721

10717:                                            ; preds = %10711
  %10718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10719 = call i32 @fileno(ptr noundef %10718) #13
  %10720 = call i32 @isatty(i32 noundef %10719) #13
  %.not1590 = icmp eq i32 %10720, 0
  br i1 %.not1590, label %10721, label %10722

10721:                                            ; preds = %10717, %10711
  br label %10722

10722:                                            ; preds = %10717, %10721
  %.str.5.sink5452 = phi ptr [ @.str.5, %10721 ], [ @.str.2, %10717 ]
  store i32 %10712, ptr %10706, align 4, !tbaa !5
  %10723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10724 = load i32, ptr @test_count, align 4, !tbaa !5
  %10725 = load i32, ptr %2772, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror(i32 noundef %10725, ptr noundef nonnull @.str.4) #13
  %10727 = load i32, ptr %2772, align 4, !tbaa !5
  %10728 = call ptr @s2n_strerror_debug(i32 noundef %10727, ptr noundef nonnull @.str.4) #13
  %10729 = load i32, ptr %10706, align 4, !tbaa !5
  %10730 = call ptr @strerror(i32 noundef %10729) #13
  %10731 = load i32, ptr %10706, align 4, !tbaa !5
  %10732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10723, ptr noundef nonnull %.str.5.sink5452, i32 noundef %10724, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1242, ptr noundef %10726, ptr noundef %10728, ptr noundef %10730, i32 noundef %10731) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10733:                                            ; preds = %10705
  %10734 = load i32, ptr @test_count, align 4, !tbaa !5
  %10735 = add nsw i32 %10734, 1
  store i32 %10735, ptr @test_count, align 4, !tbaa !5
  %10736 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %10737 = icmp eq ptr %10736, null
  br i1 %10737, label %10738, label %10760

10738:                                            ; preds = %10733
  %10739 = load i32, ptr %10706, align 4, !tbaa !5
  %10740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10741 = call i32 @s2n_print_stacktrace(ptr noundef %10740) #13
  %10742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10743 = trunc nuw i8 %10742 to i1
  br i1 %10743, label %10744, label %10748

10744:                                            ; preds = %10738
  %10745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10746 = call i32 @fileno(ptr noundef %10745) #13
  %10747 = call i32 @isatty(i32 noundef %10746) #13
  %.not1589 = icmp eq i32 %10747, 0
  br i1 %.not1589, label %10748, label %10749

10748:                                            ; preds = %10744, %10738
  br label %10749

10749:                                            ; preds = %10744, %10748
  %.str.5.sink5461 = phi ptr [ @.str.5, %10748 ], [ @.str.2, %10744 ]
  store i32 %10739, ptr %10706, align 4, !tbaa !5
  %10750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10751 = load i32, ptr @test_count, align 4, !tbaa !5
  %10752 = load i32, ptr %2772, align 4, !tbaa !5
  %10753 = call ptr @s2n_strerror(i32 noundef %10752, ptr noundef nonnull @.str.4) #13
  %10754 = load i32, ptr %2772, align 4, !tbaa !5
  %10755 = call ptr @s2n_strerror_debug(i32 noundef %10754, ptr noundef nonnull @.str.4) #13
  %10756 = load i32, ptr %10706, align 4, !tbaa !5
  %10757 = call ptr @strerror(i32 noundef %10756) #13
  %10758 = load i32, ptr %10706, align 4, !tbaa !5
  %10759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10750, ptr noundef nonnull %.str.5.sink5461, i32 noundef %10751, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1244, ptr noundef %10753, ptr noundef %10755, ptr noundef %10757, i32 noundef %10758) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10760:                                            ; preds = %10733
  %10761 = getelementptr inbounds i8, ptr %10736, i64 220
  store i8 33, ptr %10761, align 4, !tbaa !15
  %10762 = getelementptr inbounds i8, ptr %10736, i64 219
  store i8 33, ptr %10762, align 1, !tbaa !42
  %10763 = getelementptr inbounds i8, ptr %10736, i64 218
  store i8 33, ptr %10763, align 2, !tbaa !43
  %10764 = load i32, ptr @test_count, align 4, !tbaa !5
  %10765 = add nsw i32 %10764, 1
  store i32 %10765, ptr @test_count, align 4, !tbaa !5
  %10766 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %9828, ptr noundef nonnull %10736, ptr noundef nonnull %3) #13
  %10767 = icmp eq i32 %10766, -1
  br i1 %10767, label %10768, label %10790

10768:                                            ; preds = %10760
  %10769 = load i32, ptr %10706, align 4, !tbaa !5
  %10770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10771 = call i32 @s2n_print_stacktrace(ptr noundef %10770) #13
  %10772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10773 = trunc nuw i8 %10772 to i1
  br i1 %10773, label %10774, label %10778

10774:                                            ; preds = %10768
  %10775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10776 = call i32 @fileno(ptr noundef %10775) #13
  %10777 = call i32 @isatty(i32 noundef %10776) #13
  %.not1588 = icmp eq i32 %10777, 0
  br i1 %.not1588, label %10778, label %10779

10778:                                            ; preds = %10774, %10768
  br label %10779

10779:                                            ; preds = %10774, %10778
  %.str.5.sink5470 = phi ptr [ @.str.5, %10778 ], [ @.str.2, %10774 ]
  store i32 %10769, ptr %10706, align 4, !tbaa !5
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = load i32, ptr @test_count, align 4, !tbaa !5
  %10782 = load i32, ptr %2772, align 4, !tbaa !5
  %10783 = call ptr @s2n_strerror(i32 noundef %10782, ptr noundef nonnull @.str.4) #13
  %10784 = load i32, ptr %2772, align 4, !tbaa !5
  %10785 = call ptr @s2n_strerror_debug(i32 noundef %10784, ptr noundef nonnull @.str.4) #13
  %10786 = load i32, ptr %10706, align 4, !tbaa !5
  %10787 = call ptr @strerror(i32 noundef %10786) #13
  %10788 = load i32, ptr %10706, align 4, !tbaa !5
  %10789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10780, ptr noundef nonnull %.str.5.sink5470, i32 noundef %10781, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1249, ptr noundef %10783, ptr noundef %10785, ptr noundef %10787, i32 noundef %10788) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10790:                                            ; preds = %10760
  %10791 = load i32, ptr @test_count, align 4, !tbaa !5
  %10792 = add nsw i32 %10791, 1
  store i32 %10792, ptr @test_count, align 4, !tbaa !5
  %10793 = call ptr @s2n_config_new() #13
  %10794 = icmp eq ptr %10793, null
  br i1 %10794, label %10795, label %10817

10795:                                            ; preds = %10790
  %10796 = load i32, ptr %10706, align 4, !tbaa !5
  %10797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10798 = call i32 @s2n_print_stacktrace(ptr noundef %10797) #13
  %10799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10800 = trunc nuw i8 %10799 to i1
  br i1 %10800, label %10801, label %10805

10801:                                            ; preds = %10795
  %10802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10803 = call i32 @fileno(ptr noundef %10802) #13
  %10804 = call i32 @isatty(i32 noundef %10803) #13
  %.not1587 = icmp eq i32 %10804, 0
  br i1 %.not1587, label %10805, label %10806

10805:                                            ; preds = %10801, %10795
  br label %10806

10806:                                            ; preds = %10801, %10805
  %.str.5.sink5479 = phi ptr [ @.str.5, %10805 ], [ @.str.2, %10801 ]
  store i32 %10796, ptr %10706, align 4, !tbaa !5
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = load i32, ptr @test_count, align 4, !tbaa !5
  %10809 = load i32, ptr %2772, align 4, !tbaa !5
  %10810 = call ptr @s2n_strerror(i32 noundef %10809, ptr noundef nonnull @.str.4) #13
  %10811 = load i32, ptr %2772, align 4, !tbaa !5
  %10812 = call ptr @s2n_strerror_debug(i32 noundef %10811, ptr noundef nonnull @.str.4) #13
  %10813 = load i32, ptr %10706, align 4, !tbaa !5
  %10814 = call ptr @strerror(i32 noundef %10813) #13
  %10815 = load i32, ptr %10706, align 4, !tbaa !5
  %10816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10807, ptr noundef nonnull %.str.5.sink5479, i32 noundef %10808, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1251, ptr noundef %10810, ptr noundef %10812, ptr noundef %10814, i32 noundef %10815) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10817:                                            ; preds = %10790
  %10818 = load i32, ptr @test_count, align 4, !tbaa !5
  %10819 = add nsw i32 %10818, 1
  store i32 %10819, ptr @test_count, align 4, !tbaa !5
  %10820 = call i32 @s2n_config_accept_max_fragment_length(ptr noundef nonnull %10793) #13
  %10821 = icmp eq i32 %10820, -1
  br i1 %10821, label %10822, label %10844

10822:                                            ; preds = %10817
  %10823 = load i32, ptr %10706, align 4, !tbaa !5
  %10824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10825 = call i32 @s2n_print_stacktrace(ptr noundef %10824) #13
  %10826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10827 = trunc nuw i8 %10826 to i1
  br i1 %10827, label %10828, label %10832

10828:                                            ; preds = %10822
  %10829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10830 = call i32 @fileno(ptr noundef %10829) #13
  %10831 = call i32 @isatty(i32 noundef %10830) #13
  %.not1586 = icmp eq i32 %10831, 0
  br i1 %.not1586, label %10832, label %10833

10832:                                            ; preds = %10828, %10822
  br label %10833

10833:                                            ; preds = %10828, %10832
  %.str.5.sink5488 = phi ptr [ @.str.5, %10832 ], [ @.str.2, %10828 ]
  store i32 %10823, ptr %10706, align 4, !tbaa !5
  %10834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10835 = load i32, ptr @test_count, align 4, !tbaa !5
  %10836 = load i32, ptr %2772, align 4, !tbaa !5
  %10837 = call ptr @s2n_strerror(i32 noundef %10836, ptr noundef nonnull @.str.4) #13
  %10838 = load i32, ptr %2772, align 4, !tbaa !5
  %10839 = call ptr @s2n_strerror_debug(i32 noundef %10838, ptr noundef nonnull @.str.4) #13
  %10840 = load i32, ptr %10706, align 4, !tbaa !5
  %10841 = call ptr @strerror(i32 noundef %10840) #13
  %10842 = load i32, ptr %10706, align 4, !tbaa !5
  %10843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10834, ptr noundef nonnull %.str.5.sink5488, i32 noundef %10835, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 1252, ptr noundef %10837, ptr noundef %10839, ptr noundef %10841, i32 noundef %10842) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10844:                                            ; preds = %10817
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = add nsw i32 %10845, 1
  store i32 %10846, ptr @test_count, align 4, !tbaa !5
  %10847 = call ptr @s2n_cert_chain_and_key_new() #13
  %10848 = icmp eq ptr %10847, null
  br i1 %10848, label %10849, label %10871

10849:                                            ; preds = %10844
  %10850 = load i32, ptr %10706, align 4, !tbaa !5
  %10851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10852 = call i32 @s2n_print_stacktrace(ptr noundef %10851) #13
  %10853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10854 = trunc nuw i8 %10853 to i1
  br i1 %10854, label %10855, label %10859

10855:                                            ; preds = %10849
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = call i32 @fileno(ptr noundef %10856) #13
  %10858 = call i32 @isatty(i32 noundef %10857) #13
  %.not1585 = icmp eq i32 %10858, 0
  br i1 %.not1585, label %10859, label %10860

10859:                                            ; preds = %10855, %10849
  br label %10860

10860:                                            ; preds = %10855, %10859
  %.str.5.sink5497 = phi ptr [ @.str.5, %10859 ], [ @.str.2, %10855 ]
  store i32 %10850, ptr %10706, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = load i32, ptr @test_count, align 4, !tbaa !5
  %10863 = load i32, ptr %2772, align 4, !tbaa !5
  %10864 = call ptr @s2n_strerror(i32 noundef %10863, ptr noundef nonnull @.str.4) #13
  %10865 = load i32, ptr %2772, align 4, !tbaa !5
  %10866 = call ptr @s2n_strerror_debug(i32 noundef %10865, ptr noundef nonnull @.str.4) #13
  %10867 = load i32, ptr %10706, align 4, !tbaa !5
  %10868 = call ptr @strerror(i32 noundef %10867) #13
  %10869 = load i32, ptr %10706, align 4, !tbaa !5
  %10870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10861, ptr noundef nonnull %.str.5.sink5497, i32 noundef %10862, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 1253, ptr noundef %10864, ptr noundef %10866, ptr noundef %10868, i32 noundef %10869) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10871:                                            ; preds = %10844
  %10872 = load i32, ptr @test_count, align 4, !tbaa !5
  %10873 = add nsw i32 %10872, 1
  store i32 %10873, ptr @test_count, align 4, !tbaa !5
  %10874 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %10847, ptr noundef %149, ptr noundef %177) #13
  %10875 = icmp eq i32 %10874, -1
  br i1 %10875, label %10876, label %10898

10876:                                            ; preds = %10871
  %10877 = load i32, ptr %10706, align 4, !tbaa !5
  %10878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10879 = call i32 @s2n_print_stacktrace(ptr noundef %10878) #13
  %10880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10881 = trunc nuw i8 %10880 to i1
  br i1 %10881, label %10882, label %10886

10882:                                            ; preds = %10876
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = call i32 @fileno(ptr noundef %10883) #13
  %10885 = call i32 @isatty(i32 noundef %10884) #13
  %.not1584 = icmp eq i32 %10885, 0
  br i1 %.not1584, label %10886, label %10887

10886:                                            ; preds = %10882, %10876
  br label %10887

10887:                                            ; preds = %10882, %10886
  %.str.5.sink5506 = phi ptr [ @.str.5, %10886 ], [ @.str.2, %10882 ]
  store i32 %10877, ptr %10706, align 4, !tbaa !5
  %10888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10889 = load i32, ptr @test_count, align 4, !tbaa !5
  %10890 = load i32, ptr %2772, align 4, !tbaa !5
  %10891 = call ptr @s2n_strerror(i32 noundef %10890, ptr noundef nonnull @.str.4) #13
  %10892 = load i32, ptr %2772, align 4, !tbaa !5
  %10893 = call ptr @s2n_strerror_debug(i32 noundef %10892, ptr noundef nonnull @.str.4) #13
  %10894 = load i32, ptr %10706, align 4, !tbaa !5
  %10895 = call ptr @strerror(i32 noundef %10894) #13
  %10896 = load i32, ptr %10706, align 4, !tbaa !5
  %10897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10888, ptr noundef nonnull %.str.5.sink5506, i32 noundef %10889, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 1254, ptr noundef %10891, ptr noundef %10893, ptr noundef %10895, i32 noundef %10896) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10898:                                            ; preds = %10871
  %10899 = load i32, ptr @test_count, align 4, !tbaa !5
  %10900 = add nsw i32 %10899, 1
  store i32 %10900, ptr @test_count, align 4, !tbaa !5
  %10901 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %10793, ptr noundef nonnull %10847) #13
  %10902 = icmp eq i32 %10901, -1
  br i1 %10902, label %10903, label %10925

10903:                                            ; preds = %10898
  %10904 = load i32, ptr %10706, align 4, !tbaa !5
  %10905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10906 = call i32 @s2n_print_stacktrace(ptr noundef %10905) #13
  %10907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10908 = trunc nuw i8 %10907 to i1
  br i1 %10908, label %10909, label %10913

10909:                                            ; preds = %10903
  %10910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10911 = call i32 @fileno(ptr noundef %10910) #13
  %10912 = call i32 @isatty(i32 noundef %10911) #13
  %.not1583 = icmp eq i32 %10912, 0
  br i1 %.not1583, label %10913, label %10914

10913:                                            ; preds = %10909, %10903
  br label %10914

10914:                                            ; preds = %10909, %10913
  %.str.5.sink5515 = phi ptr [ @.str.5, %10913 ], [ @.str.2, %10909 ]
  store i32 %10904, ptr %10706, align 4, !tbaa !5
  %10915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10916 = load i32, ptr @test_count, align 4, !tbaa !5
  %10917 = load i32, ptr %2772, align 4, !tbaa !5
  %10918 = call ptr @s2n_strerror(i32 noundef %10917, ptr noundef nonnull @.str.4) #13
  %10919 = load i32, ptr %2772, align 4, !tbaa !5
  %10920 = call ptr @s2n_strerror_debug(i32 noundef %10919, ptr noundef nonnull @.str.4) #13
  %10921 = load i32, ptr %10706, align 4, !tbaa !5
  %10922 = call ptr @strerror(i32 noundef %10921) #13
  %10923 = load i32, ptr %10706, align 4, !tbaa !5
  %10924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10915, ptr noundef nonnull %.str.5.sink5515, i32 noundef %10916, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 1255, ptr noundef %10918, ptr noundef %10920, ptr noundef %10922, i32 noundef %10923) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10925:                                            ; preds = %10898
  %10926 = load i32, ptr @test_count, align 4, !tbaa !5
  %10927 = add nsw i32 %10926, 1
  store i32 %10927, ptr @test_count, align 4, !tbaa !5
  %10928 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10736, ptr noundef nonnull %10793) #13
  %10929 = icmp eq i32 %10928, -1
  br i1 %10929, label %10930, label %10952

10930:                                            ; preds = %10925
  %10931 = load i32, ptr %10706, align 4, !tbaa !5
  %10932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10933 = call i32 @s2n_print_stacktrace(ptr noundef %10932) #13
  %10934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10935 = trunc nuw i8 %10934 to i1
  br i1 %10935, label %10936, label %10940

10936:                                            ; preds = %10930
  %10937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10938 = call i32 @fileno(ptr noundef %10937) #13
  %10939 = call i32 @isatty(i32 noundef %10938) #13
  %.not1582 = icmp eq i32 %10939, 0
  br i1 %.not1582, label %10940, label %10941

10940:                                            ; preds = %10936, %10930
  br label %10941

10941:                                            ; preds = %10936, %10940
  %.str.5.sink5524 = phi ptr [ @.str.5, %10940 ], [ @.str.2, %10936 ]
  store i32 %10931, ptr %10706, align 4, !tbaa !5
  %10942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10943 = load i32, ptr @test_count, align 4, !tbaa !5
  %10944 = load i32, ptr %2772, align 4, !tbaa !5
  %10945 = call ptr @s2n_strerror(i32 noundef %10944, ptr noundef nonnull @.str.4) #13
  %10946 = load i32, ptr %2772, align 4, !tbaa !5
  %10947 = call ptr @s2n_strerror_debug(i32 noundef %10946, ptr noundef nonnull @.str.4) #13
  %10948 = load i32, ptr %10706, align 4, !tbaa !5
  %10949 = call ptr @strerror(i32 noundef %10948) #13
  %10950 = load i32, ptr %10706, align 4, !tbaa !5
  %10951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10942, ptr noundef nonnull %.str.5.sink5524, i32 noundef %10943, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1256, ptr noundef %10945, ptr noundef %10947, ptr noundef %10949, i32 noundef %10950) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10952:                                            ; preds = %10925
  %10953 = load i32, ptr @test_count, align 4, !tbaa !5
  %10954 = add nsw i32 %10953, 1
  store i32 %10954, ptr @test_count, align 4, !tbaa !5
  %10955 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %10736, ptr noundef nonnull %9828) #13
  %10956 = icmp eq i32 %10955, -1
  br i1 %10956, label %10957, label %10979

10957:                                            ; preds = %10952
  %10958 = load i32, ptr %10706, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = call i32 @s2n_print_stacktrace(ptr noundef %10959) #13
  %10961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10962 = trunc nuw i8 %10961 to i1
  br i1 %10962, label %10963, label %10967

10963:                                            ; preds = %10957
  %10964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10965 = call i32 @fileno(ptr noundef %10964) #13
  %10966 = call i32 @isatty(i32 noundef %10965) #13
  %.not1581 = icmp eq i32 %10966, 0
  br i1 %.not1581, label %10967, label %10968

10967:                                            ; preds = %10963, %10957
  br label %10968

10968:                                            ; preds = %10963, %10967
  %.str.5.sink5533 = phi ptr [ @.str.5, %10967 ], [ @.str.2, %10963 ]
  store i32 %10958, ptr %10706, align 4, !tbaa !5
  %10969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10970 = load i32, ptr @test_count, align 4, !tbaa !5
  %10971 = load i32, ptr %2772, align 4, !tbaa !5
  %10972 = call ptr @s2n_strerror(i32 noundef %10971, ptr noundef nonnull @.str.4) #13
  %10973 = load i32, ptr %2772, align 4, !tbaa !5
  %10974 = call ptr @s2n_strerror_debug(i32 noundef %10973, ptr noundef nonnull @.str.4) #13
  %10975 = load i32, ptr %10706, align 4, !tbaa !5
  %10976 = call ptr @strerror(i32 noundef %10975) #13
  %10977 = load i32, ptr %10706, align 4, !tbaa !5
  %10978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10969, ptr noundef nonnull %.str.5.sink5533, i32 noundef %10970, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1258, ptr noundef %10972, ptr noundef %10974, ptr noundef %10976, i32 noundef %10977) #15
  call void @exit(i32 noundef 1) #16
  unreachable

10979:                                            ; preds = %10952
  %10980 = load i32, ptr @test_count, align 4, !tbaa !5
  %10981 = add nsw i32 %10980, 1
  store i32 %10981, ptr @test_count, align 4, !tbaa !5
  %10982 = getelementptr inbounds i8, ptr %10736, i64 2208
  %10983 = load i16, ptr %10982, align 8, !tbaa !54
  %10984 = icmp eq i16 %10983, 8087
  br i1 %10984, label %11007, label %10985

10985:                                            ; preds = %10979
  %10986 = load i32, ptr %10706, align 4, !tbaa !5
  %10987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10988 = call i32 @s2n_print_stacktrace(ptr noundef %10987) #13
  %10989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10990 = trunc nuw i8 %10989 to i1
  br i1 %10990, label %10991, label %10995

10991:                                            ; preds = %10985
  %10992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10993 = call i32 @fileno(ptr noundef %10992) #13
  %10994 = call i32 @isatty(i32 noundef %10993) #13
  %.not1545 = icmp eq i32 %10994, 0
  br i1 %.not1545, label %10995, label %10996

10995:                                            ; preds = %10991, %10985
  br label %10996

10996:                                            ; preds = %10991, %10995
  %.str.5.sink5542 = phi ptr [ @.str.5, %10995 ], [ @.str.2, %10991 ]
  store i32 %10986, ptr %10706, align 4, !tbaa !5
  %10997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10998 = load i32, ptr @test_count, align 4, !tbaa !5
  %10999 = load i32, ptr %2772, align 4, !tbaa !5
  %11000 = call ptr @s2n_strerror(i32 noundef %10999, ptr noundef nonnull @.str.4) #13
  %11001 = load i32, ptr %2772, align 4, !tbaa !5
  %11002 = call ptr @s2n_strerror_debug(i32 noundef %11001, ptr noundef nonnull @.str.4) #13
  %11003 = load i32, ptr %10706, align 4, !tbaa !5
  %11004 = call ptr @strerror(i32 noundef %11003) #13
  %11005 = load i32, ptr %10706, align 4, !tbaa !5
  %11006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10997, ptr noundef nonnull %.str.5.sink5542, i32 noundef %10998, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 1261, ptr noundef %11000, ptr noundef %11002, ptr noundef %11004, i32 noundef %11005) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11007:                                            ; preds = %10979
  %11008 = add nsw i32 %10980, 2
  store i32 %11008, ptr @test_count, align 4, !tbaa !5
  %11009 = getelementptr inbounds i8, ptr %10736, i64 2232
  %11010 = load i8, ptr %11009, align 8, !tbaa !56
  %11011 = icmp eq i8 %11010, 0
  br i1 %11011, label %11034, label %11012

11012:                                            ; preds = %11007
  %11013 = load i32, ptr %10706, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = call i32 @s2n_print_stacktrace(ptr noundef %11014) #13
  %11016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11017 = trunc nuw i8 %11016 to i1
  br i1 %11017, label %11018, label %11022

11018:                                            ; preds = %11012
  %11019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11020 = call i32 @fileno(ptr noundef %11019) #13
  %11021 = call i32 @isatty(i32 noundef %11020) #13
  %.not1546 = icmp eq i32 %11021, 0
  br i1 %.not1546, label %11022, label %11023

11022:                                            ; preds = %11018, %11012
  br label %11023

11023:                                            ; preds = %11018, %11022
  %.str.5.sink5551 = phi ptr [ @.str.5, %11022 ], [ @.str.2, %11018 ]
  store i32 %11013, ptr %10706, align 4, !tbaa !5
  %11024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11025 = load i32, ptr @test_count, align 4, !tbaa !5
  %11026 = load i32, ptr %2772, align 4, !tbaa !5
  %11027 = call ptr @s2n_strerror(i32 noundef %11026, ptr noundef nonnull @.str.4) #13
  %11028 = load i32, ptr %2772, align 4, !tbaa !5
  %11029 = call ptr @s2n_strerror_debug(i32 noundef %11028, ptr noundef nonnull @.str.4) #13
  %11030 = load i32, ptr %10706, align 4, !tbaa !5
  %11031 = call ptr @strerror(i32 noundef %11030) #13
  %11032 = load i32, ptr %10706, align 4, !tbaa !5
  %11033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11024, ptr noundef nonnull %.str.5.sink5551, i32 noundef %11025, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 1262, ptr noundef %11027, ptr noundef %11029, ptr noundef %11031, i32 noundef %11032) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11034:                                            ; preds = %11007
  %11035 = add nsw i32 %10980, 3
  store i32 %11035, ptr @test_count, align 4, !tbaa !5
  %11036 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %10736, ptr noundef nonnull %9828) #13
  %11037 = icmp eq i32 %11036, -1
  br i1 %11037, label %11038, label %11060

11038:                                            ; preds = %11034
  %11039 = load i32, ptr %10706, align 4, !tbaa !5
  %11040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11041 = call i32 @s2n_print_stacktrace(ptr noundef %11040) #13
  %11042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11043 = trunc nuw i8 %11042 to i1
  br i1 %11043, label %11044, label %11048

11044:                                            ; preds = %11038
  %11045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11046 = call i32 @fileno(ptr noundef %11045) #13
  %11047 = call i32 @isatty(i32 noundef %11046) #13
  %.not1580 = icmp eq i32 %11047, 0
  br i1 %.not1580, label %11048, label %11049

11048:                                            ; preds = %11044, %11038
  br label %11049

11049:                                            ; preds = %11044, %11048
  %.str.5.sink5560 = phi ptr [ @.str.5, %11048 ], [ @.str.2, %11044 ]
  store i32 %11039, ptr %10706, align 4, !tbaa !5
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = load i32, ptr @test_count, align 4, !tbaa !5
  %11052 = load i32, ptr %2772, align 4, !tbaa !5
  %11053 = call ptr @s2n_strerror(i32 noundef %11052, ptr noundef nonnull @.str.4) #13
  %11054 = load i32, ptr %2772, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror_debug(i32 noundef %11054, ptr noundef nonnull @.str.4) #13
  %11056 = load i32, ptr %10706, align 4, !tbaa !5
  %11057 = call ptr @strerror(i32 noundef %11056) #13
  %11058 = load i32, ptr %10706, align 4, !tbaa !5
  %11059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11050, ptr noundef nonnull %.str.5.sink5560, i32 noundef %11051, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1264, ptr noundef %11053, ptr noundef %11055, ptr noundef %11057, i32 noundef %11058) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11060:                                            ; preds = %11034
  %11061 = load i32, ptr @test_count, align 4, !tbaa !5
  %11062 = add nsw i32 %11061, 1
  store i32 %11062, ptr @test_count, align 4, !tbaa !5
  %11063 = call i32 @s2n_connection_free(ptr noundef nonnull %10736) #13
  %11064 = icmp eq i32 %11063, -1
  br i1 %11064, label %11065, label %11087

11065:                                            ; preds = %11060
  %11066 = load i32, ptr %10706, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = call i32 @s2n_print_stacktrace(ptr noundef %11067) #13
  %11069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11070 = trunc nuw i8 %11069 to i1
  br i1 %11070, label %11071, label %11075

11071:                                            ; preds = %11065
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = call i32 @fileno(ptr noundef %11072) #13
  %11074 = call i32 @isatty(i32 noundef %11073) #13
  %.not1579 = icmp eq i32 %11074, 0
  br i1 %.not1579, label %11075, label %11076

11075:                                            ; preds = %11071, %11065
  br label %11076

11076:                                            ; preds = %11071, %11075
  %.str.5.sink5569 = phi ptr [ @.str.5, %11075 ], [ @.str.2, %11071 ]
  store i32 %11066, ptr %10706, align 4, !tbaa !5
  %11077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11078 = load i32, ptr @test_count, align 4, !tbaa !5
  %11079 = load i32, ptr %2772, align 4, !tbaa !5
  %11080 = call ptr @s2n_strerror(i32 noundef %11079, ptr noundef nonnull @.str.4) #13
  %11081 = load i32, ptr %2772, align 4, !tbaa !5
  %11082 = call ptr @s2n_strerror_debug(i32 noundef %11081, ptr noundef nonnull @.str.4) #13
  %11083 = load i32, ptr %10706, align 4, !tbaa !5
  %11084 = call ptr @strerror(i32 noundef %11083) #13
  %11085 = load i32, ptr %10706, align 4, !tbaa !5
  %11086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11077, ptr noundef nonnull %.str.5.sink5569, i32 noundef %11078, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1266, ptr noundef %11080, ptr noundef %11082, ptr noundef %11084, i32 noundef %11085) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11087:                                            ; preds = %11060
  %11088 = load i32, ptr @test_count, align 4, !tbaa !5
  %11089 = add nsw i32 %11088, 1
  store i32 %11089, ptr @test_count, align 4, !tbaa !5
  %11090 = call i32 @s2n_connection_free(ptr noundef nonnull %9828) #13
  %11091 = icmp eq i32 %11090, -1
  br i1 %11091, label %11092, label %11114

11092:                                            ; preds = %11087
  %11093 = load i32, ptr %10706, align 4, !tbaa !5
  %11094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11095 = call i32 @s2n_print_stacktrace(ptr noundef %11094) #13
  %11096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11097 = trunc nuw i8 %11096 to i1
  br i1 %11097, label %11098, label %11102

11098:                                            ; preds = %11092
  %11099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11100 = call i32 @fileno(ptr noundef %11099) #13
  %11101 = call i32 @isatty(i32 noundef %11100) #13
  %.not1578 = icmp eq i32 %11101, 0
  br i1 %.not1578, label %11102, label %11103

11102:                                            ; preds = %11098, %11092
  br label %11103

11103:                                            ; preds = %11098, %11102
  %.str.5.sink5578 = phi ptr [ @.str.5, %11102 ], [ @.str.2, %11098 ]
  store i32 %11093, ptr %10706, align 4, !tbaa !5
  %11104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11105 = load i32, ptr @test_count, align 4, !tbaa !5
  %11106 = load i32, ptr %2772, align 4, !tbaa !5
  %11107 = call ptr @s2n_strerror(i32 noundef %11106, ptr noundef nonnull @.str.4) #13
  %11108 = load i32, ptr %2772, align 4, !tbaa !5
  %11109 = call ptr @s2n_strerror_debug(i32 noundef %11108, ptr noundef nonnull @.str.4) #13
  %11110 = load i32, ptr %10706, align 4, !tbaa !5
  %11111 = call ptr @strerror(i32 noundef %11110) #13
  %11112 = load i32, ptr %10706, align 4, !tbaa !5
  %11113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11104, ptr noundef nonnull %.str.5.sink5578, i32 noundef %11105, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1267, ptr noundef %11107, ptr noundef %11109, ptr noundef %11111, i32 noundef %11112) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11114:                                            ; preds = %11087
  %11115 = load i32, ptr @test_count, align 4, !tbaa !5
  %11116 = add nsw i32 %11115, 1
  store i32 %11116, ptr @test_count, align 4, !tbaa !5
  %11117 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %10847) #13
  %11118 = icmp eq i32 %11117, -1
  br i1 %11118, label %11119, label %11141

11119:                                            ; preds = %11114
  %11120 = load i32, ptr %10706, align 4, !tbaa !5
  %11121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11122 = call i32 @s2n_print_stacktrace(ptr noundef %11121) #13
  %11123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11124 = trunc nuw i8 %11123 to i1
  br i1 %11124, label %11125, label %11129

11125:                                            ; preds = %11119
  %11126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11127 = call i32 @fileno(ptr noundef %11126) #13
  %11128 = call i32 @isatty(i32 noundef %11127) #13
  %.not1577 = icmp eq i32 %11128, 0
  br i1 %.not1577, label %11129, label %11130

11129:                                            ; preds = %11125, %11119
  br label %11130

11130:                                            ; preds = %11125, %11129
  %.str.5.sink5587 = phi ptr [ @.str.5, %11129 ], [ @.str.2, %11125 ]
  store i32 %11120, ptr %10706, align 4, !tbaa !5
  %11131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11132 = load i32, ptr @test_count, align 4, !tbaa !5
  %11133 = load i32, ptr %2772, align 4, !tbaa !5
  %11134 = call ptr @s2n_strerror(i32 noundef %11133, ptr noundef nonnull @.str.4) #13
  %11135 = load i32, ptr %2772, align 4, !tbaa !5
  %11136 = call ptr @s2n_strerror_debug(i32 noundef %11135, ptr noundef nonnull @.str.4) #13
  %11137 = load i32, ptr %10706, align 4, !tbaa !5
  %11138 = call ptr @strerror(i32 noundef %11137) #13
  %11139 = load i32, ptr %10706, align 4, !tbaa !5
  %11140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11131, ptr noundef nonnull %.str.5.sink5587, i32 noundef %11132, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 1269, ptr noundef %11134, ptr noundef %11136, ptr noundef %11138, i32 noundef %11139) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11141:                                            ; preds = %11114
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = add nsw i32 %11142, 1
  store i32 %11143, ptr @test_count, align 4, !tbaa !5
  %11144 = call i32 @s2n_config_free(ptr noundef nonnull %10793) #13
  %11145 = icmp eq i32 %11144, -1
  br i1 %11145, label %11146, label %11168

11146:                                            ; preds = %11141
  %11147 = load i32, ptr %10706, align 4, !tbaa !5
  %11148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11149 = call i32 @s2n_print_stacktrace(ptr noundef %11148) #13
  %11150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11151 = trunc nuw i8 %11150 to i1
  br i1 %11151, label %11152, label %11156

11152:                                            ; preds = %11146
  %11153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11154 = call i32 @fileno(ptr noundef %11153) #13
  %11155 = call i32 @isatty(i32 noundef %11154) #13
  %.not1576 = icmp eq i32 %11155, 0
  br i1 %.not1576, label %11156, label %11157

11156:                                            ; preds = %11152, %11146
  br label %11157

11157:                                            ; preds = %11152, %11156
  %.str.5.sink5596 = phi ptr [ @.str.5, %11156 ], [ @.str.2, %11152 ]
  store i32 %11147, ptr %10706, align 4, !tbaa !5
  %11158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11159 = load i32, ptr @test_count, align 4, !tbaa !5
  %11160 = load i32, ptr %2772, align 4, !tbaa !5
  %11161 = call ptr @s2n_strerror(i32 noundef %11160, ptr noundef nonnull @.str.4) #13
  %11162 = load i32, ptr %2772, align 4, !tbaa !5
  %11163 = call ptr @s2n_strerror_debug(i32 noundef %11162, ptr noundef nonnull @.str.4) #13
  %11164 = load i32, ptr %10706, align 4, !tbaa !5
  %11165 = call ptr @strerror(i32 noundef %11164) #13
  %11166 = load i32, ptr %10706, align 4, !tbaa !5
  %11167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11158, ptr noundef nonnull %.str.5.sink5596, i32 noundef %11159, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1271, ptr noundef %11161, ptr noundef %11163, ptr noundef %11165, i32 noundef %11166) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11168:                                            ; preds = %11141
  %11169 = load i32, ptr @test_count, align 4, !tbaa !5
  %11170 = add nsw i32 %11169, 1
  store i32 %11170, ptr @test_count, align 4, !tbaa !5
  %11171 = call i32 @s2n_config_free(ptr noundef nonnull %10541) #13
  %11172 = icmp eq i32 %11171, -1
  br i1 %11172, label %11173, label %11195

11173:                                            ; preds = %11168
  %11174 = load i32, ptr %10706, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = call i32 @s2n_print_stacktrace(ptr noundef %11175) #13
  %11177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11178 = trunc nuw i8 %11177 to i1
  br i1 %11178, label %11179, label %11183

11179:                                            ; preds = %11173
  %11180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11181 = call i32 @fileno(ptr noundef %11180) #13
  %11182 = call i32 @isatty(i32 noundef %11181) #13
  %.not1575 = icmp eq i32 %11182, 0
  br i1 %.not1575, label %11183, label %11184

11183:                                            ; preds = %11179, %11173
  br label %11184

11184:                                            ; preds = %11179, %11183
  %.str.5.sink5605 = phi ptr [ @.str.5, %11183 ], [ @.str.2, %11179 ]
  store i32 %11174, ptr %10706, align 4, !tbaa !5
  %11185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11186 = load i32, ptr @test_count, align 4, !tbaa !5
  %11187 = load i32, ptr %2772, align 4, !tbaa !5
  %11188 = call ptr @s2n_strerror(i32 noundef %11187, ptr noundef nonnull @.str.4) #13
  %11189 = load i32, ptr %2772, align 4, !tbaa !5
  %11190 = call ptr @s2n_strerror_debug(i32 noundef %11189, ptr noundef nonnull @.str.4) #13
  %11191 = load i32, ptr %10706, align 4, !tbaa !5
  %11192 = call ptr @strerror(i32 noundef %11191) #13
  %11193 = load i32, ptr %10706, align 4, !tbaa !5
  %11194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11185, ptr noundef nonnull %.str.5.sink5605, i32 noundef %11186, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1272, ptr noundef %11188, ptr noundef %11190, ptr noundef %11192, i32 noundef %11193) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11195:                                            ; preds = %11168
  %11196 = load i32, ptr @test_count, align 4, !tbaa !5
  %11197 = add nsw i32 %11196, 1
  store i32 %11197, ptr @test_count, align 4, !tbaa !5
  %11198 = call ptr @s2n_connection_new(i32 noundef 1) #13
  %11199 = icmp eq ptr %11198, null
  br i1 %11199, label %11200, label %11222

11200:                                            ; preds = %11195
  %11201 = load i32, ptr %10706, align 4, !tbaa !5
  %11202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11203 = call i32 @s2n_print_stacktrace(ptr noundef %11202) #13
  %11204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11205 = trunc nuw i8 %11204 to i1
  br i1 %11205, label %11206, label %11210

11206:                                            ; preds = %11200
  %11207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11208 = call i32 @fileno(ptr noundef %11207) #13
  %11209 = call i32 @isatty(i32 noundef %11208) #13
  %.not1574 = icmp eq i32 %11209, 0
  br i1 %.not1574, label %11210, label %11211

11210:                                            ; preds = %11206, %11200
  br label %11211

11211:                                            ; preds = %11206, %11210
  %.str.5.sink5614 = phi ptr [ @.str.5, %11210 ], [ @.str.2, %11206 ]
  store i32 %11201, ptr %10706, align 4, !tbaa !5
  %11212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11213 = load i32, ptr @test_count, align 4, !tbaa !5
  %11214 = load i32, ptr %2772, align 4, !tbaa !5
  %11215 = call ptr @s2n_strerror(i32 noundef %11214, ptr noundef nonnull @.str.4) #13
  %11216 = load i32, ptr %2772, align 4, !tbaa !5
  %11217 = call ptr @s2n_strerror_debug(i32 noundef %11216, ptr noundef nonnull @.str.4) #13
  %11218 = load i32, ptr %10706, align 4, !tbaa !5
  %11219 = call ptr @strerror(i32 noundef %11218) #13
  %11220 = load i32, ptr %10706, align 4, !tbaa !5
  %11221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11212, ptr noundef nonnull %.str.5.sink5614, i32 noundef %11213, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 1283, ptr noundef %11215, ptr noundef %11217, ptr noundef %11219, i32 noundef %11220) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11222:                                            ; preds = %11195
  %11223 = getelementptr inbounds i8, ptr %11198, i64 220
  store i8 33, ptr %11223, align 4, !tbaa !15
  %11224 = getelementptr inbounds i8, ptr %11198, i64 219
  store i8 33, ptr %11224, align 1, !tbaa !42
  %11225 = getelementptr inbounds i8, ptr %11198, i64 218
  store i8 33, ptr %11225, align 2, !tbaa !43
  %11226 = load i32, ptr @test_count, align 4, !tbaa !5
  %11227 = add nsw i32 %11226, 1
  store i32 %11227, ptr @test_count, align 4, !tbaa !5
  %11228 = call ptr @s2n_config_new() #13
  %11229 = icmp eq ptr %11228, null
  br i1 %11229, label %11230, label %11252

11230:                                            ; preds = %11222
  %11231 = load i32, ptr %10706, align 4, !tbaa !5
  %11232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11233 = call i32 @s2n_print_stacktrace(ptr noundef %11232) #13
  %11234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11235 = trunc nuw i8 %11234 to i1
  br i1 %11235, label %11236, label %11240

11236:                                            ; preds = %11230
  %11237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11238 = call i32 @fileno(ptr noundef %11237) #13
  %11239 = call i32 @isatty(i32 noundef %11238) #13
  %.not1573 = icmp eq i32 %11239, 0
  br i1 %.not1573, label %11240, label %11241

11240:                                            ; preds = %11236, %11230
  br label %11241

11241:                                            ; preds = %11236, %11240
  %.str.5.sink5623 = phi ptr [ @.str.5, %11240 ], [ @.str.2, %11236 ]
  store i32 %11231, ptr %10706, align 4, !tbaa !5
  %11242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11243 = load i32, ptr @test_count, align 4, !tbaa !5
  %11244 = load i32, ptr %2772, align 4, !tbaa !5
  %11245 = call ptr @s2n_strerror(i32 noundef %11244, ptr noundef nonnull @.str.4) #13
  %11246 = load i32, ptr %2772, align 4, !tbaa !5
  %11247 = call ptr @s2n_strerror_debug(i32 noundef %11246, ptr noundef nonnull @.str.4) #13
  %11248 = load i32, ptr %10706, align 4, !tbaa !5
  %11249 = call ptr @strerror(i32 noundef %11248) #13
  %11250 = load i32, ptr %10706, align 4, !tbaa !5
  %11251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11242, ptr noundef nonnull %.str.5.sink5623, i32 noundef %11243, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 1288, ptr noundef %11245, ptr noundef %11247, ptr noundef %11249, i32 noundef %11250) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11252:                                            ; preds = %11222
  %11253 = load i32, ptr @test_count, align 4, !tbaa !5
  %11254 = add nsw i32 %11253, 1
  store i32 %11254, ptr @test_count, align 4, !tbaa !5
  %11255 = call i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef nonnull %11228, i8 noundef zeroext 0) #13
  %11256 = icmp eq i32 %11255, -1
  br i1 %11256, label %11257, label %11279

11257:                                            ; preds = %11252
  %11258 = load i32, ptr %10706, align 4, !tbaa !5
  %11259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11260 = call i32 @s2n_print_stacktrace(ptr noundef %11259) #13
  %11261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11262 = trunc nuw i8 %11261 to i1
  br i1 %11262, label %11263, label %11267

11263:                                            ; preds = %11257
  %11264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11265 = call i32 @fileno(ptr noundef %11264) #13
  %11266 = call i32 @isatty(i32 noundef %11265) #13
  %.not1572 = icmp eq i32 %11266, 0
  br i1 %.not1572, label %11267, label %11268

11267:                                            ; preds = %11263, %11257
  br label %11268

11268:                                            ; preds = %11263, %11267
  %.str.5.sink5632 = phi ptr [ @.str.5, %11267 ], [ @.str.2, %11263 ]
  store i32 %11258, ptr %10706, align 4, !tbaa !5
  %11269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11270 = load i32, ptr @test_count, align 4, !tbaa !5
  %11271 = load i32, ptr %2772, align 4, !tbaa !5
  %11272 = call ptr @s2n_strerror(i32 noundef %11271, ptr noundef nonnull @.str.4) #13
  %11273 = load i32, ptr %2772, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror_debug(i32 noundef %11273, ptr noundef nonnull @.str.4) #13
  %11275 = load i32, ptr %10706, align 4, !tbaa !5
  %11276 = call ptr @strerror(i32 noundef %11275) #13
  %11277 = load i32, ptr %10706, align 4, !tbaa !5
  %11278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11269, ptr noundef nonnull %.str.5.sink5632, i32 noundef %11270, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 1289, ptr noundef %11272, ptr noundef %11274, ptr noundef %11276, i32 noundef %11277) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11279:                                            ; preds = %11252
  %11280 = load i32, ptr @test_count, align 4, !tbaa !5
  %11281 = add nsw i32 %11280, 1
  store i32 %11281, ptr @test_count, align 4, !tbaa !5
  %11282 = call i32 @s2n_config_disable_x509_verification(ptr noundef nonnull %11228) #13
  %11283 = icmp eq i32 %11282, -1
  br i1 %11283, label %11284, label %11306

11284:                                            ; preds = %11279
  %11285 = load i32, ptr %10706, align 4, !tbaa !5
  %11286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11287 = call i32 @s2n_print_stacktrace(ptr noundef %11286) #13
  %11288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11289 = trunc nuw i8 %11288 to i1
  br i1 %11289, label %11290, label %11294

11290:                                            ; preds = %11284
  %11291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11292 = call i32 @fileno(ptr noundef %11291) #13
  %11293 = call i32 @isatty(i32 noundef %11292) #13
  %.not1571 = icmp eq i32 %11293, 0
  br i1 %.not1571, label %11294, label %11295

11294:                                            ; preds = %11290, %11284
  br label %11295

11295:                                            ; preds = %11290, %11294
  %.str.5.sink5641 = phi ptr [ @.str.5, %11294 ], [ @.str.2, %11290 ]
  store i32 %11285, ptr %10706, align 4, !tbaa !5
  %11296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11297 = load i32, ptr @test_count, align 4, !tbaa !5
  %11298 = load i32, ptr %2772, align 4, !tbaa !5
  %11299 = call ptr @s2n_strerror(i32 noundef %11298, ptr noundef nonnull @.str.4) #13
  %11300 = load i32, ptr %2772, align 4, !tbaa !5
  %11301 = call ptr @s2n_strerror_debug(i32 noundef %11300, ptr noundef nonnull @.str.4) #13
  %11302 = load i32, ptr %10706, align 4, !tbaa !5
  %11303 = call ptr @strerror(i32 noundef %11302) #13
  %11304 = load i32, ptr %10706, align 4, !tbaa !5
  %11305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11296, ptr noundef nonnull %.str.5.sink5641, i32 noundef %11297, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 1290, ptr noundef %11299, ptr noundef %11301, ptr noundef %11303, i32 noundef %11304) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11306:                                            ; preds = %11279
  %11307 = load i32, ptr @test_count, align 4, !tbaa !5
  %11308 = add nsw i32 %11307, 1
  store i32 %11308, ptr @test_count, align 4, !tbaa !5
  %11309 = call i32 @s2n_config_send_max_fragment_length(ptr noundef nonnull %11228, i32 noundef 3) #13
  %11310 = icmp eq i32 %11309, -1
  br i1 %11310, label %11311, label %11333

11311:                                            ; preds = %11306
  %11312 = load i32, ptr %10706, align 4, !tbaa !5
  %11313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11314 = call i32 @s2n_print_stacktrace(ptr noundef %11313) #13
  %11315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11316 = trunc nuw i8 %11315 to i1
  br i1 %11316, label %11317, label %11321

11317:                                            ; preds = %11311
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @fileno(ptr noundef %11318) #13
  %11320 = call i32 @isatty(i32 noundef %11319) #13
  %.not1570 = icmp eq i32 %11320, 0
  br i1 %.not1570, label %11321, label %11322

11321:                                            ; preds = %11317, %11311
  br label %11322

11322:                                            ; preds = %11317, %11321
  %.str.5.sink5650 = phi ptr [ @.str.5, %11321 ], [ @.str.2, %11317 ]
  store i32 %11312, ptr %10706, align 4, !tbaa !5
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = load i32, ptr @test_count, align 4, !tbaa !5
  %11325 = load i32, ptr %2772, align 4, !tbaa !5
  %11326 = call ptr @s2n_strerror(i32 noundef %11325, ptr noundef nonnull @.str.4) #13
  %11327 = load i32, ptr %2772, align 4, !tbaa !5
  %11328 = call ptr @s2n_strerror_debug(i32 noundef %11327, ptr noundef nonnull @.str.4) #13
  %11329 = load i32, ptr %10706, align 4, !tbaa !5
  %11330 = call ptr @strerror(i32 noundef %11329) #13
  %11331 = load i32, ptr %10706, align 4, !tbaa !5
  %11332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11323, ptr noundef nonnull %.str.5.sink5650, i32 noundef %11324, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 1291, ptr noundef %11326, ptr noundef %11328, ptr noundef %11330, i32 noundef %11331) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11333:                                            ; preds = %11306
  %11334 = load i32, ptr @test_count, align 4, !tbaa !5
  %11335 = add nsw i32 %11334, 1
  store i32 %11335, ptr @test_count, align 4, !tbaa !5
  %11336 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11198, ptr noundef nonnull %11228) #13
  %11337 = icmp eq i32 %11336, -1
  br i1 %11337, label %11338, label %11360

11338:                                            ; preds = %11333
  %11339 = load i32, ptr %10706, align 4, !tbaa !5
  %11340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11341 = call i32 @s2n_print_stacktrace(ptr noundef %11340) #13
  %11342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11343 = trunc nuw i8 %11342 to i1
  br i1 %11343, label %11344, label %11348

11344:                                            ; preds = %11338
  %11345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11346 = call i32 @fileno(ptr noundef %11345) #13
  %11347 = call i32 @isatty(i32 noundef %11346) #13
  %.not1569 = icmp eq i32 %11347, 0
  br i1 %.not1569, label %11348, label %11349

11348:                                            ; preds = %11344, %11338
  br label %11349

11349:                                            ; preds = %11344, %11348
  %.str.5.sink5659 = phi ptr [ @.str.5, %11348 ], [ @.str.2, %11344 ]
  store i32 %11339, ptr %10706, align 4, !tbaa !5
  %11350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11351 = load i32, ptr @test_count, align 4, !tbaa !5
  %11352 = load i32, ptr %2772, align 4, !tbaa !5
  %11353 = call ptr @s2n_strerror(i32 noundef %11352, ptr noundef nonnull @.str.4) #13
  %11354 = load i32, ptr %2772, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror_debug(i32 noundef %11354, ptr noundef nonnull @.str.4) #13
  %11356 = load i32, ptr %10706, align 4, !tbaa !5
  %11357 = call ptr @strerror(i32 noundef %11356) #13
  %11358 = load i32, ptr %10706, align 4, !tbaa !5
  %11359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11350, ptr noundef nonnull %.str.5.sink5659, i32 noundef %11351, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 1292, ptr noundef %11353, ptr noundef %11355, ptr noundef %11357, i32 noundef %11358) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11360:                                            ; preds = %11333
  %11361 = load i32, ptr @test_count, align 4, !tbaa !5
  %11362 = add nsw i32 %11361, 1
  store i32 %11362, ptr @test_count, align 4, !tbaa !5
  %11363 = call ptr @s2n_connection_new(i32 noundef 0) #13
  %11364 = icmp eq ptr %11363, null
  br i1 %11364, label %11365, label %11387

11365:                                            ; preds = %11360
  %11366 = load i32, ptr %10706, align 4, !tbaa !5
  %11367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11368 = call i32 @s2n_print_stacktrace(ptr noundef %11367) #13
  %11369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11370 = trunc nuw i8 %11369 to i1
  br i1 %11370, label %11371, label %11375

11371:                                            ; preds = %11365
  %11372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11373 = call i32 @fileno(ptr noundef %11372) #13
  %11374 = call i32 @isatty(i32 noundef %11373) #13
  %.not1568 = icmp eq i32 %11374, 0
  br i1 %.not1568, label %11375, label %11376

11375:                                            ; preds = %11371, %11365
  br label %11376

11376:                                            ; preds = %11371, %11375
  %.str.5.sink5668 = phi ptr [ @.str.5, %11375 ], [ @.str.2, %11371 ]
  store i32 %11366, ptr %10706, align 4, !tbaa !5
  %11377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11378 = load i32, ptr @test_count, align 4, !tbaa !5
  %11379 = load i32, ptr %2772, align 4, !tbaa !5
  %11380 = call ptr @s2n_strerror(i32 noundef %11379, ptr noundef nonnull @.str.4) #13
  %11381 = load i32, ptr %2772, align 4, !tbaa !5
  %11382 = call ptr @s2n_strerror_debug(i32 noundef %11381, ptr noundef nonnull @.str.4) #13
  %11383 = load i32, ptr %10706, align 4, !tbaa !5
  %11384 = call ptr @strerror(i32 noundef %11383) #13
  %11385 = load i32, ptr %10706, align 4, !tbaa !5
  %11386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11377, ptr noundef nonnull %.str.5.sink5668, i32 noundef %11378, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 1294, ptr noundef %11380, ptr noundef %11382, ptr noundef %11384, i32 noundef %11385) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11387:                                            ; preds = %11360
  %11388 = getelementptr inbounds i8, ptr %11363, i64 220
  store i8 33, ptr %11388, align 4, !tbaa !15
  %11389 = getelementptr inbounds i8, ptr %11363, i64 219
  store i8 33, ptr %11389, align 1, !tbaa !42
  %11390 = getelementptr inbounds i8, ptr %11363, i64 218
  store i8 33, ptr %11390, align 2, !tbaa !43
  %11391 = load i32, ptr @test_count, align 4, !tbaa !5
  %11392 = add nsw i32 %11391, 1
  store i32 %11392, ptr @test_count, align 4, !tbaa !5
  %11393 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %11198, ptr noundef nonnull %11363, ptr noundef nonnull %3) #13
  %11394 = icmp eq i32 %11393, -1
  br i1 %11394, label %11395, label %11417

11395:                                            ; preds = %11387
  %11396 = load i32, ptr %10706, align 4, !tbaa !5
  %11397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11398 = call i32 @s2n_print_stacktrace(ptr noundef %11397) #13
  %11399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11400 = trunc nuw i8 %11399 to i1
  br i1 %11400, label %11401, label %11405

11401:                                            ; preds = %11395
  %11402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11403 = call i32 @fileno(ptr noundef %11402) #13
  %11404 = call i32 @isatty(i32 noundef %11403) #13
  %.not1567 = icmp eq i32 %11404, 0
  br i1 %.not1567, label %11405, label %11406

11405:                                            ; preds = %11401, %11395
  br label %11406

11406:                                            ; preds = %11401, %11405
  %.str.5.sink5677 = phi ptr [ @.str.5, %11405 ], [ @.str.2, %11401 ]
  store i32 %11396, ptr %10706, align 4, !tbaa !5
  %11407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11408 = load i32, ptr @test_count, align 4, !tbaa !5
  %11409 = load i32, ptr %2772, align 4, !tbaa !5
  %11410 = call ptr @s2n_strerror(i32 noundef %11409, ptr noundef nonnull @.str.4) #13
  %11411 = load i32, ptr %2772, align 4, !tbaa !5
  %11412 = call ptr @s2n_strerror_debug(i32 noundef %11411, ptr noundef nonnull @.str.4) #13
  %11413 = load i32, ptr %10706, align 4, !tbaa !5
  %11414 = call ptr @strerror(i32 noundef %11413) #13
  %11415 = load i32, ptr %10706, align 4, !tbaa !5
  %11416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11407, ptr noundef nonnull %.str.5.sink5677, i32 noundef %11408, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 1299, ptr noundef %11410, ptr noundef %11412, ptr noundef %11414, i32 noundef %11415) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11417:                                            ; preds = %11387
  %11418 = load i32, ptr @test_count, align 4, !tbaa !5
  %11419 = add nsw i32 %11418, 1
  store i32 %11419, ptr @test_count, align 4, !tbaa !5
  %11420 = call ptr @s2n_config_new() #13
  %11421 = icmp eq ptr %11420, null
  br i1 %11421, label %11422, label %11444

11422:                                            ; preds = %11417
  %11423 = load i32, ptr %10706, align 4, !tbaa !5
  %11424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11425 = call i32 @s2n_print_stacktrace(ptr noundef %11424) #13
  %11426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11427 = trunc nuw i8 %11426 to i1
  br i1 %11427, label %11428, label %11432

11428:                                            ; preds = %11422
  %11429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11430 = call i32 @fileno(ptr noundef %11429) #13
  %11431 = call i32 @isatty(i32 noundef %11430) #13
  %.not1566 = icmp eq i32 %11431, 0
  br i1 %.not1566, label %11432, label %11433

11432:                                            ; preds = %11428, %11422
  br label %11433

11433:                                            ; preds = %11428, %11432
  %.str.5.sink5686 = phi ptr [ @.str.5, %11432 ], [ @.str.2, %11428 ]
  store i32 %11423, ptr %10706, align 4, !tbaa !5
  %11434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11435 = load i32, ptr @test_count, align 4, !tbaa !5
  %11436 = load i32, ptr %2772, align 4, !tbaa !5
  %11437 = call ptr @s2n_strerror(i32 noundef %11436, ptr noundef nonnull @.str.4) #13
  %11438 = load i32, ptr %2772, align 4, !tbaa !5
  %11439 = call ptr @s2n_strerror_debug(i32 noundef %11438, ptr noundef nonnull @.str.4) #13
  %11440 = load i32, ptr %10706, align 4, !tbaa !5
  %11441 = call ptr @strerror(i32 noundef %11440) #13
  %11442 = load i32, ptr %10706, align 4, !tbaa !5
  %11443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11434, ptr noundef nonnull %.str.5.sink5686, i32 noundef %11435, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 1301, ptr noundef %11437, ptr noundef %11439, ptr noundef %11441, i32 noundef %11442) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11444:                                            ; preds = %11417
  %11445 = load i32, ptr @test_count, align 4, !tbaa !5
  %11446 = add nsw i32 %11445, 1
  store i32 %11446, ptr @test_count, align 4, !tbaa !5
  %11447 = call ptr @s2n_cert_chain_and_key_new() #13
  %11448 = icmp eq ptr %11447, null
  br i1 %11448, label %11449, label %11471

11449:                                            ; preds = %11444
  %11450 = load i32, ptr %10706, align 4, !tbaa !5
  %11451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11452 = call i32 @s2n_print_stacktrace(ptr noundef %11451) #13
  %11453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11454 = trunc nuw i8 %11453 to i1
  br i1 %11454, label %11455, label %11459

11455:                                            ; preds = %11449
  %11456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11457 = call i32 @fileno(ptr noundef %11456) #13
  %11458 = call i32 @isatty(i32 noundef %11457) #13
  %.not1565 = icmp eq i32 %11458, 0
  br i1 %.not1565, label %11459, label %11460

11459:                                            ; preds = %11455, %11449
  br label %11460

11460:                                            ; preds = %11455, %11459
  %.str.5.sink5695 = phi ptr [ @.str.5, %11459 ], [ @.str.2, %11455 ]
  store i32 %11450, ptr %10706, align 4, !tbaa !5
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = load i32, ptr @test_count, align 4, !tbaa !5
  %11463 = load i32, ptr %2772, align 4, !tbaa !5
  %11464 = call ptr @s2n_strerror(i32 noundef %11463, ptr noundef nonnull @.str.4) #13
  %11465 = load i32, ptr %2772, align 4, !tbaa !5
  %11466 = call ptr @s2n_strerror_debug(i32 noundef %11465, ptr noundef nonnull @.str.4) #13
  %11467 = load i32, ptr %10706, align 4, !tbaa !5
  %11468 = call ptr @strerror(i32 noundef %11467) #13
  %11469 = load i32, ptr %10706, align 4, !tbaa !5
  %11470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11461, ptr noundef nonnull %.str.5.sink5695, i32 noundef %11462, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 1302, ptr noundef %11464, ptr noundef %11466, ptr noundef %11468, i32 noundef %11469) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11471:                                            ; preds = %11444
  %11472 = load i32, ptr @test_count, align 4, !tbaa !5
  %11473 = add nsw i32 %11472, 1
  store i32 %11473, ptr @test_count, align 4, !tbaa !5
  %11474 = call i32 @s2n_cert_chain_and_key_load_pem(ptr noundef nonnull %11447, ptr noundef %149, ptr noundef %177) #13
  %11475 = icmp eq i32 %11474, -1
  br i1 %11475, label %11476, label %11498

11476:                                            ; preds = %11471
  %11477 = load i32, ptr %10706, align 4, !tbaa !5
  %11478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11479 = call i32 @s2n_print_stacktrace(ptr noundef %11478) #13
  %11480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11481 = trunc nuw i8 %11480 to i1
  br i1 %11481, label %11482, label %11486

11482:                                            ; preds = %11476
  %11483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11484 = call i32 @fileno(ptr noundef %11483) #13
  %11485 = call i32 @isatty(i32 noundef %11484) #13
  %.not1564 = icmp eq i32 %11485, 0
  br i1 %.not1564, label %11486, label %11487

11486:                                            ; preds = %11482, %11476
  br label %11487

11487:                                            ; preds = %11482, %11486
  %.str.5.sink5704 = phi ptr [ @.str.5, %11486 ], [ @.str.2, %11482 ]
  store i32 %11477, ptr %10706, align 4, !tbaa !5
  %11488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11489 = load i32, ptr @test_count, align 4, !tbaa !5
  %11490 = load i32, ptr %2772, align 4, !tbaa !5
  %11491 = call ptr @s2n_strerror(i32 noundef %11490, ptr noundef nonnull @.str.4) #13
  %11492 = load i32, ptr %2772, align 4, !tbaa !5
  %11493 = call ptr @s2n_strerror_debug(i32 noundef %11492, ptr noundef nonnull @.str.4) #13
  %11494 = load i32, ptr %10706, align 4, !tbaa !5
  %11495 = call ptr @strerror(i32 noundef %11494) #13
  %11496 = load i32, ptr %10706, align 4, !tbaa !5
  %11497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11488, ptr noundef nonnull %.str.5.sink5704, i32 noundef %11489, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 1303, ptr noundef %11491, ptr noundef %11493, ptr noundef %11495, i32 noundef %11496) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11498:                                            ; preds = %11471
  %11499 = load i32, ptr @test_count, align 4, !tbaa !5
  %11500 = add nsw i32 %11499, 1
  store i32 %11500, ptr @test_count, align 4, !tbaa !5
  %11501 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %11420, ptr noundef nonnull %11447) #13
  %11502 = icmp eq i32 %11501, -1
  br i1 %11502, label %11503, label %11525

11503:                                            ; preds = %11498
  %11504 = load i32, ptr %10706, align 4, !tbaa !5
  %11505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11506 = call i32 @s2n_print_stacktrace(ptr noundef %11505) #13
  %11507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11508 = trunc nuw i8 %11507 to i1
  br i1 %11508, label %11509, label %11513

11509:                                            ; preds = %11503
  %11510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11511 = call i32 @fileno(ptr noundef %11510) #13
  %11512 = call i32 @isatty(i32 noundef %11511) #13
  %.not1563 = icmp eq i32 %11512, 0
  br i1 %.not1563, label %11513, label %11514

11513:                                            ; preds = %11509, %11503
  br label %11514

11514:                                            ; preds = %11509, %11513
  %.str.5.sink5713 = phi ptr [ @.str.5, %11513 ], [ @.str.2, %11509 ]
  store i32 %11504, ptr %10706, align 4, !tbaa !5
  %11515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11516 = load i32, ptr @test_count, align 4, !tbaa !5
  %11517 = load i32, ptr %2772, align 4, !tbaa !5
  %11518 = call ptr @s2n_strerror(i32 noundef %11517, ptr noundef nonnull @.str.4) #13
  %11519 = load i32, ptr %2772, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror_debug(i32 noundef %11519, ptr noundef nonnull @.str.4) #13
  %11521 = load i32, ptr %10706, align 4, !tbaa !5
  %11522 = call ptr @strerror(i32 noundef %11521) #13
  %11523 = load i32, ptr %10706, align 4, !tbaa !5
  %11524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11515, ptr noundef nonnull %.str.5.sink5713, i32 noundef %11516, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 1304, ptr noundef %11518, ptr noundef %11520, ptr noundef %11522, i32 noundef %11523) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11525:                                            ; preds = %11498
  %11526 = load i32, ptr @test_count, align 4, !tbaa !5
  %11527 = add nsw i32 %11526, 1
  store i32 %11527, ptr @test_count, align 4, !tbaa !5
  %11528 = call i32 @s2n_connection_set_config(ptr noundef nonnull %11363, ptr noundef nonnull %11420) #13
  %11529 = icmp eq i32 %11528, -1
  br i1 %11529, label %11530, label %11552

11530:                                            ; preds = %11525
  %11531 = load i32, ptr %10706, align 4, !tbaa !5
  %11532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11533 = call i32 @s2n_print_stacktrace(ptr noundef %11532) #13
  %11534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11535 = trunc nuw i8 %11534 to i1
  br i1 %11535, label %11536, label %11540

11536:                                            ; preds = %11530
  %11537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11538 = call i32 @fileno(ptr noundef %11537) #13
  %11539 = call i32 @isatty(i32 noundef %11538) #13
  %.not1562 = icmp eq i32 %11539, 0
  br i1 %.not1562, label %11540, label %11541

11540:                                            ; preds = %11536, %11530
  br label %11541

11541:                                            ; preds = %11536, %11540
  %.str.5.sink5722 = phi ptr [ @.str.5, %11540 ], [ @.str.2, %11536 ]
  store i32 %11531, ptr %10706, align 4, !tbaa !5
  %11542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11543 = load i32, ptr @test_count, align 4, !tbaa !5
  %11544 = load i32, ptr %2772, align 4, !tbaa !5
  %11545 = call ptr @s2n_strerror(i32 noundef %11544, ptr noundef nonnull @.str.4) #13
  %11546 = load i32, ptr %2772, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror_debug(i32 noundef %11546, ptr noundef nonnull @.str.4) #13
  %11548 = load i32, ptr %10706, align 4, !tbaa !5
  %11549 = call ptr @strerror(i32 noundef %11548) #13
  %11550 = load i32, ptr %10706, align 4, !tbaa !5
  %11551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11542, ptr noundef nonnull %.str.5.sink5722, i32 noundef %11543, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 1305, ptr noundef %11545, ptr noundef %11547, ptr noundef %11549, i32 noundef %11550) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11552:                                            ; preds = %11525
  %11553 = load i32, ptr @test_count, align 4, !tbaa !5
  %11554 = add nsw i32 %11553, 1
  store i32 %11554, ptr @test_count, align 4, !tbaa !5
  %11555 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %11363, ptr noundef nonnull %11198) #13
  %11556 = icmp eq i32 %11555, -1
  br i1 %11556, label %11557, label %11579

11557:                                            ; preds = %11552
  %11558 = load i32, ptr %10706, align 4, !tbaa !5
  %11559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11560 = call i32 @s2n_print_stacktrace(ptr noundef %11559) #13
  %11561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11562 = trunc nuw i8 %11561 to i1
  br i1 %11562, label %11563, label %11567

11563:                                            ; preds = %11557
  %11564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11565 = call i32 @fileno(ptr noundef %11564) #13
  %11566 = call i32 @isatty(i32 noundef %11565) #13
  %.not1561 = icmp eq i32 %11566, 0
  br i1 %.not1561, label %11567, label %11568

11567:                                            ; preds = %11563, %11557
  br label %11568

11568:                                            ; preds = %11563, %11567
  %.str.5.sink5731 = phi ptr [ @.str.5, %11567 ], [ @.str.2, %11563 ]
  store i32 %11558, ptr %10706, align 4, !tbaa !5
  %11569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11570 = load i32, ptr @test_count, align 4, !tbaa !5
  %11571 = load i32, ptr %2772, align 4, !tbaa !5
  %11572 = call ptr @s2n_strerror(i32 noundef %11571, ptr noundef nonnull @.str.4) #13
  %11573 = load i32, ptr %2772, align 4, !tbaa !5
  %11574 = call ptr @s2n_strerror_debug(i32 noundef %11573, ptr noundef nonnull @.str.4) #13
  %11575 = load i32, ptr %10706, align 4, !tbaa !5
  %11576 = call ptr @strerror(i32 noundef %11575) #13
  %11577 = load i32, ptr %10706, align 4, !tbaa !5
  %11578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11569, ptr noundef nonnull %.str.5.sink5731, i32 noundef %11570, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 1307, ptr noundef %11572, ptr noundef %11574, ptr noundef %11576, i32 noundef %11577) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11579:                                            ; preds = %11552
  %11580 = load i32, ptr @test_count, align 4, !tbaa !5
  %11581 = add nsw i32 %11580, 1
  store i32 %11581, ptr @test_count, align 4, !tbaa !5
  %11582 = getelementptr inbounds i8, ptr %11363, i64 2208
  %11583 = load i16, ptr %11582, align 8, !tbaa !54
  %11584 = icmp eq i16 %11583, 8087
  br i1 %11584, label %11607, label %11585

11585:                                            ; preds = %11579
  %11586 = load i32, ptr %10706, align 4, !tbaa !5
  %11587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11588 = call i32 @s2n_print_stacktrace(ptr noundef %11587) #13
  %11589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11590 = trunc nuw i8 %11589 to i1
  br i1 %11590, label %11591, label %11595

11591:                                            ; preds = %11585
  %11592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11593 = call i32 @fileno(ptr noundef %11592) #13
  %11594 = call i32 @isatty(i32 noundef %11593) #13
  %.not1547 = icmp eq i32 %11594, 0
  br i1 %.not1547, label %11595, label %11596

11595:                                            ; preds = %11591, %11585
  br label %11596

11596:                                            ; preds = %11591, %11595
  %.str.5.sink5740 = phi ptr [ @.str.5, %11595 ], [ @.str.2, %11591 ]
  store i32 %11586, ptr %10706, align 4, !tbaa !5
  %11597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = load i32, ptr %2772, align 4, !tbaa !5
  %11600 = call ptr @s2n_strerror(i32 noundef %11599, ptr noundef nonnull @.str.4) #13
  %11601 = load i32, ptr %2772, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror_debug(i32 noundef %11601, ptr noundef nonnull @.str.4) #13
  %11603 = load i32, ptr %10706, align 4, !tbaa !5
  %11604 = call ptr @strerror(i32 noundef %11603) #13
  %11605 = load i32, ptr %10706, align 4, !tbaa !5
  %11606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11597, ptr noundef nonnull %.str.5.sink5740, i32 noundef %11598, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 1310, ptr noundef %11600, ptr noundef %11602, ptr noundef %11604, i32 noundef %11605) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11607:                                            ; preds = %11579
  %11608 = add nsw i32 %11580, 2
  store i32 %11608, ptr @test_count, align 4, !tbaa !5
  %11609 = getelementptr inbounds i8, ptr %11363, i64 2232
  %11610 = load i8, ptr %11609, align 8, !tbaa !56
  %11611 = icmp eq i8 %11610, 0
  br i1 %11611, label %11634, label %11612

11612:                                            ; preds = %11607
  %11613 = load i32, ptr %10706, align 4, !tbaa !5
  %11614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11615 = call i32 @s2n_print_stacktrace(ptr noundef %11614) #13
  %11616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11617 = trunc nuw i8 %11616 to i1
  br i1 %11617, label %11618, label %11622

11618:                                            ; preds = %11612
  %11619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11620 = call i32 @fileno(ptr noundef %11619) #13
  %11621 = call i32 @isatty(i32 noundef %11620) #13
  %.not1548 = icmp eq i32 %11621, 0
  br i1 %.not1548, label %11622, label %11623

11622:                                            ; preds = %11618, %11612
  br label %11623

11623:                                            ; preds = %11618, %11622
  %.str.5.sink5749 = phi ptr [ @.str.5, %11622 ], [ @.str.2, %11618 ]
  store i32 %11613, ptr %10706, align 4, !tbaa !5
  %11624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11625 = load i32, ptr @test_count, align 4, !tbaa !5
  %11626 = load i32, ptr %2772, align 4, !tbaa !5
  %11627 = call ptr @s2n_strerror(i32 noundef %11626, ptr noundef nonnull @.str.4) #13
  %11628 = load i32, ptr %2772, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror_debug(i32 noundef %11628, ptr noundef nonnull @.str.4) #13
  %11630 = load i32, ptr %10706, align 4, !tbaa !5
  %11631 = call ptr @strerror(i32 noundef %11630) #13
  %11632 = load i32, ptr %10706, align 4, !tbaa !5
  %11633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11624, ptr noundef nonnull %.str.5.sink5749, i32 noundef %11625, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 1311, ptr noundef %11627, ptr noundef %11629, ptr noundef %11631, i32 noundef %11632) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11634:                                            ; preds = %11607
  %11635 = add nsw i32 %11580, 3
  store i32 %11635, ptr @test_count, align 4, !tbaa !5
  %11636 = call i32 @s2n_shutdown_test_server_and_client(ptr noundef nonnull %11363, ptr noundef nonnull %11198) #13
  %11637 = icmp eq i32 %11636, -1
  br i1 %11637, label %11638, label %11660

11638:                                            ; preds = %11634
  %11639 = load i32, ptr %10706, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = call i32 @s2n_print_stacktrace(ptr noundef %11640) #13
  %11642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11643 = trunc nuw i8 %11642 to i1
  br i1 %11643, label %11644, label %11648

11644:                                            ; preds = %11638
  %11645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11646 = call i32 @fileno(ptr noundef %11645) #13
  %11647 = call i32 @isatty(i32 noundef %11646) #13
  %.not1560 = icmp eq i32 %11647, 0
  br i1 %.not1560, label %11648, label %11649

11648:                                            ; preds = %11644, %11638
  br label %11649

11649:                                            ; preds = %11644, %11648
  %.str.5.sink5758 = phi ptr [ @.str.5, %11648 ], [ @.str.2, %11644 ]
  store i32 %11639, ptr %10706, align 4, !tbaa !5
  %11650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11651 = load i32, ptr @test_count, align 4, !tbaa !5
  %11652 = load i32, ptr %2772, align 4, !tbaa !5
  %11653 = call ptr @s2n_strerror(i32 noundef %11652, ptr noundef nonnull @.str.4) #13
  %11654 = load i32, ptr %2772, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror_debug(i32 noundef %11654, ptr noundef nonnull @.str.4) #13
  %11656 = load i32, ptr %10706, align 4, !tbaa !5
  %11657 = call ptr @strerror(i32 noundef %11656) #13
  %11658 = load i32, ptr %10706, align 4, !tbaa !5
  %11659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11650, ptr noundef nonnull %.str.5.sink5758, i32 noundef %11651, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 1313, ptr noundef %11653, ptr noundef %11655, ptr noundef %11657, i32 noundef %11658) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11660:                                            ; preds = %11634
  %11661 = load i32, ptr @test_count, align 4, !tbaa !5
  %11662 = add nsw i32 %11661, 1
  store i32 %11662, ptr @test_count, align 4, !tbaa !5
  %11663 = call i32 @s2n_connection_free(ptr noundef nonnull %11363) #13
  %11664 = icmp eq i32 %11663, -1
  br i1 %11664, label %11665, label %11687

11665:                                            ; preds = %11660
  %11666 = load i32, ptr %10706, align 4, !tbaa !5
  %11667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11668 = call i32 @s2n_print_stacktrace(ptr noundef %11667) #13
  %11669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11670 = trunc nuw i8 %11669 to i1
  br i1 %11670, label %11671, label %11675

11671:                                            ; preds = %11665
  %11672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11673 = call i32 @fileno(ptr noundef %11672) #13
  %11674 = call i32 @isatty(i32 noundef %11673) #13
  %.not1559 = icmp eq i32 %11674, 0
  br i1 %.not1559, label %11675, label %11676

11675:                                            ; preds = %11671, %11665
  br label %11676

11676:                                            ; preds = %11671, %11675
  %.str.5.sink5767 = phi ptr [ @.str.5, %11675 ], [ @.str.2, %11671 ]
  store i32 %11666, ptr %10706, align 4, !tbaa !5
  %11677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11678 = load i32, ptr @test_count, align 4, !tbaa !5
  %11679 = load i32, ptr %2772, align 4, !tbaa !5
  %11680 = call ptr @s2n_strerror(i32 noundef %11679, ptr noundef nonnull @.str.4) #13
  %11681 = load i32, ptr %2772, align 4, !tbaa !5
  %11682 = call ptr @s2n_strerror_debug(i32 noundef %11681, ptr noundef nonnull @.str.4) #13
  %11683 = load i32, ptr %10706, align 4, !tbaa !5
  %11684 = call ptr @strerror(i32 noundef %11683) #13
  %11685 = load i32, ptr %10706, align 4, !tbaa !5
  %11686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11677, ptr noundef nonnull %.str.5.sink5767, i32 noundef %11678, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1315, ptr noundef %11680, ptr noundef %11682, ptr noundef %11684, i32 noundef %11685) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11687:                                            ; preds = %11660
  %11688 = load i32, ptr @test_count, align 4, !tbaa !5
  %11689 = add nsw i32 %11688, 1
  store i32 %11689, ptr @test_count, align 4, !tbaa !5
  %11690 = call i32 @s2n_connection_free(ptr noundef nonnull %11198) #13
  %11691 = icmp eq i32 %11690, -1
  br i1 %11691, label %11692, label %11714

11692:                                            ; preds = %11687
  %11693 = load i32, ptr %10706, align 4, !tbaa !5
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = call i32 @s2n_print_stacktrace(ptr noundef %11694) #13
  %11696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11697 = trunc nuw i8 %11696 to i1
  br i1 %11697, label %11698, label %11702

11698:                                            ; preds = %11692
  %11699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11700 = call i32 @fileno(ptr noundef %11699) #13
  %11701 = call i32 @isatty(i32 noundef %11700) #13
  %.not1558 = icmp eq i32 %11701, 0
  br i1 %.not1558, label %11702, label %11703

11702:                                            ; preds = %11698, %11692
  br label %11703

11703:                                            ; preds = %11698, %11702
  %.str.5.sink5776 = phi ptr [ @.str.5, %11702 ], [ @.str.2, %11698 ]
  store i32 %11693, ptr %10706, align 4, !tbaa !5
  %11704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11705 = load i32, ptr @test_count, align 4, !tbaa !5
  %11706 = load i32, ptr %2772, align 4, !tbaa !5
  %11707 = call ptr @s2n_strerror(i32 noundef %11706, ptr noundef nonnull @.str.4) #13
  %11708 = load i32, ptr %2772, align 4, !tbaa !5
  %11709 = call ptr @s2n_strerror_debug(i32 noundef %11708, ptr noundef nonnull @.str.4) #13
  %11710 = load i32, ptr %10706, align 4, !tbaa !5
  %11711 = call ptr @strerror(i32 noundef %11710) #13
  %11712 = load i32, ptr %10706, align 4, !tbaa !5
  %11713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11704, ptr noundef nonnull %.str.5.sink5776, i32 noundef %11705, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1316, ptr noundef %11707, ptr noundef %11709, ptr noundef %11711, i32 noundef %11712) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11714:                                            ; preds = %11687
  %11715 = load i32, ptr @test_count, align 4, !tbaa !5
  %11716 = add nsw i32 %11715, 1
  store i32 %11716, ptr @test_count, align 4, !tbaa !5
  %11717 = call i32 @s2n_cert_chain_and_key_free(ptr noundef nonnull %11447) #13
  %11718 = icmp eq i32 %11717, -1
  br i1 %11718, label %11719, label %11741

11719:                                            ; preds = %11714
  %11720 = load i32, ptr %10706, align 4, !tbaa !5
  %11721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11722 = call i32 @s2n_print_stacktrace(ptr noundef %11721) #13
  %11723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11724 = trunc nuw i8 %11723 to i1
  br i1 %11724, label %11725, label %11729

11725:                                            ; preds = %11719
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = call i32 @fileno(ptr noundef %11726) #13
  %11728 = call i32 @isatty(i32 noundef %11727) #13
  %.not1557 = icmp eq i32 %11728, 0
  br i1 %.not1557, label %11729, label %11730

11729:                                            ; preds = %11725, %11719
  br label %11730

11730:                                            ; preds = %11725, %11729
  %.str.5.sink5785 = phi ptr [ @.str.5, %11729 ], [ @.str.2, %11725 ]
  store i32 %11720, ptr %10706, align 4, !tbaa !5
  %11731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11732 = load i32, ptr @test_count, align 4, !tbaa !5
  %11733 = load i32, ptr %2772, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror(i32 noundef %11733, ptr noundef nonnull @.str.4) #13
  %11735 = load i32, ptr %2772, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror_debug(i32 noundef %11735, ptr noundef nonnull @.str.4) #13
  %11737 = load i32, ptr %10706, align 4, !tbaa !5
  %11738 = call ptr @strerror(i32 noundef %11737) #13
  %11739 = load i32, ptr %10706, align 4, !tbaa !5
  %11740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11731, ptr noundef nonnull %.str.5.sink5785, i32 noundef %11732, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 1318, ptr noundef %11734, ptr noundef %11736, ptr noundef %11738, i32 noundef %11739) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11741:                                            ; preds = %11714
  %11742 = load i32, ptr @test_count, align 4, !tbaa !5
  %11743 = add nsw i32 %11742, 1
  store i32 %11743, ptr @test_count, align 4, !tbaa !5
  %11744 = call i32 @s2n_config_free(ptr noundef nonnull %11420) #13
  %11745 = icmp eq i32 %11744, -1
  br i1 %11745, label %11746, label %11768

11746:                                            ; preds = %11741
  %11747 = load i32, ptr %10706, align 4, !tbaa !5
  %11748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11749 = call i32 @s2n_print_stacktrace(ptr noundef %11748) #13
  %11750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11751 = trunc nuw i8 %11750 to i1
  br i1 %11751, label %11752, label %11756

11752:                                            ; preds = %11746
  %11753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11754 = call i32 @fileno(ptr noundef %11753) #13
  %11755 = call i32 @isatty(i32 noundef %11754) #13
  %.not1556 = icmp eq i32 %11755, 0
  br i1 %.not1556, label %11756, label %11757

11756:                                            ; preds = %11752, %11746
  br label %11757

11757:                                            ; preds = %11752, %11756
  %.str.5.sink5794 = phi ptr [ @.str.5, %11756 ], [ @.str.2, %11752 ]
  store i32 %11747, ptr %10706, align 4, !tbaa !5
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = load i32, ptr @test_count, align 4, !tbaa !5
  %11760 = load i32, ptr %2772, align 4, !tbaa !5
  %11761 = call ptr @s2n_strerror(i32 noundef %11760, ptr noundef nonnull @.str.4) #13
  %11762 = load i32, ptr %2772, align 4, !tbaa !5
  %11763 = call ptr @s2n_strerror_debug(i32 noundef %11762, ptr noundef nonnull @.str.4) #13
  %11764 = load i32, ptr %10706, align 4, !tbaa !5
  %11765 = call ptr @strerror(i32 noundef %11764) #13
  %11766 = load i32, ptr %10706, align 4, !tbaa !5
  %11767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11758, ptr noundef nonnull %.str.5.sink5794, i32 noundef %11759, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 1320, ptr noundef %11761, ptr noundef %11763, ptr noundef %11765, i32 noundef %11766) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11768:                                            ; preds = %11741
  %11769 = load i32, ptr @test_count, align 4, !tbaa !5
  %11770 = add nsw i32 %11769, 1
  store i32 %11770, ptr @test_count, align 4, !tbaa !5
  %11771 = call i32 @s2n_config_free(ptr noundef nonnull %11228) #13
  %11772 = icmp eq i32 %11771, -1
  br i1 %11772, label %11773, label %11795

11773:                                            ; preds = %11768
  %11774 = load i32, ptr %10706, align 4, !tbaa !5
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = call i32 @s2n_print_stacktrace(ptr noundef %11775) #13
  %11777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11778 = trunc nuw i8 %11777 to i1
  br i1 %11778, label %11779, label %11783

11779:                                            ; preds = %11773
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = call i32 @fileno(ptr noundef %11780) #13
  %11782 = call i32 @isatty(i32 noundef %11781) #13
  %.not1555 = icmp eq i32 %11782, 0
  br i1 %.not1555, label %11783, label %11784

11783:                                            ; preds = %11779, %11773
  br label %11784

11784:                                            ; preds = %11779, %11783
  %.str.5.sink5803 = phi ptr [ @.str.5, %11783 ], [ @.str.2, %11779 ]
  store i32 %11774, ptr %10706, align 4, !tbaa !5
  %11785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11786 = load i32, ptr @test_count, align 4, !tbaa !5
  %11787 = load i32, ptr %2772, align 4, !tbaa !5
  %11788 = call ptr @s2n_strerror(i32 noundef %11787, ptr noundef nonnull @.str.4) #13
  %11789 = load i32, ptr %2772, align 4, !tbaa !5
  %11790 = call ptr @s2n_strerror_debug(i32 noundef %11789, ptr noundef nonnull @.str.4) #13
  %11791 = load i32, ptr %10706, align 4, !tbaa !5
  %11792 = call ptr @strerror(i32 noundef %11791) #13
  %11793 = load i32, ptr %10706, align 4, !tbaa !5
  %11794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11785, ptr noundef nonnull %.str.5.sink5803, i32 noundef %11786, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1321, ptr noundef %11788, ptr noundef %11790, ptr noundef %11792, i32 noundef %11793) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11795:                                            ; preds = %11768
  %11796 = load i32, ptr @test_count, align 4, !tbaa !5
  %11797 = add nsw i32 %11796, 1
  store i32 %11797, ptr @test_count, align 4, !tbaa !5
  %11798 = call i32 @s2n_io_pair_close(ptr noundef nonnull %3) #13
  %11799 = icmp eq i32 %11798, -1
  br i1 %11799, label %11800, label %11822

11800:                                            ; preds = %11795
  %11801 = load i32, ptr %10706, align 4, !tbaa !5
  %11802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11803 = call i32 @s2n_print_stacktrace(ptr noundef %11802) #13
  %11804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11805 = trunc nuw i8 %11804 to i1
  br i1 %11805, label %11806, label %11810

11806:                                            ; preds = %11800
  %11807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11808 = call i32 @fileno(ptr noundef %11807) #13
  %11809 = call i32 @isatty(i32 noundef %11808) #13
  %.not1554 = icmp eq i32 %11809, 0
  br i1 %.not1554, label %11810, label %11811

11810:                                            ; preds = %11806, %11800
  br label %11811

11811:                                            ; preds = %11806, %11810
  %.str.5.sink5812 = phi ptr [ @.str.5, %11810 ], [ @.str.2, %11806 ]
  store i32 %11801, ptr %10706, align 4, !tbaa !5
  %11812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11813 = load i32, ptr @test_count, align 4, !tbaa !5
  %11814 = load i32, ptr %2772, align 4, !tbaa !5
  %11815 = call ptr @s2n_strerror(i32 noundef %11814, ptr noundef nonnull @.str.4) #13
  %11816 = load i32, ptr %2772, align 4, !tbaa !5
  %11817 = call ptr @s2n_strerror_debug(i32 noundef %11816, ptr noundef nonnull @.str.4) #13
  %11818 = load i32, ptr %10706, align 4, !tbaa !5
  %11819 = call ptr @strerror(i32 noundef %11818) #13
  %11820 = load i32, ptr %10706, align 4, !tbaa !5
  %11821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11812, ptr noundef nonnull %.str.5.sink5812, i32 noundef %11813, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 1324, ptr noundef %11815, ptr noundef %11817, ptr noundef %11819, i32 noundef %11820) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11822:                                            ; preds = %11795
  call void @free(ptr noundef %149) #13
  call void @free(ptr noundef %177) #13
  %11823 = call i32 @s2n_cleanup() #13
  %11824 = icmp eq i32 %11823, -1
  br i1 %11824, label %11825, label %11847

11825:                                            ; preds = %11822
  %11826 = load i32, ptr %10706, align 4, !tbaa !5
  %11827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11828 = call i32 @s2n_print_stacktrace(ptr noundef %11827) #13
  %11829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11830 = trunc nuw i8 %11829 to i1
  br i1 %11830, label %11831, label %11835

11831:                                            ; preds = %11825
  %11832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11833 = call i32 @fileno(ptr noundef %11832) #13
  %11834 = call i32 @isatty(i32 noundef %11833) #13
  %.not1553 = icmp eq i32 %11834, 0
  br i1 %.not1553, label %11835, label %11836

11835:                                            ; preds = %11831, %11825
  br label %11836

11836:                                            ; preds = %11831, %11835
  %.str.5.sink5821 = phi ptr [ @.str.5, %11835 ], [ @.str.2, %11831 ]
  store i32 %11826, ptr %10706, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = load i32, ptr @test_count, align 4, !tbaa !5
  %11839 = load i32, ptr %2772, align 4, !tbaa !5
  %11840 = call ptr @s2n_strerror(i32 noundef %11839, ptr noundef nonnull @.str.4) #13
  %11841 = load i32, ptr %2772, align 4, !tbaa !5
  %11842 = call ptr @s2n_strerror_debug(i32 noundef %11841, ptr noundef nonnull @.str.4) #13
  %11843 = load i32, ptr %10706, align 4, !tbaa !5
  %11844 = call ptr @strerror(i32 noundef %11843) #13
  %11845 = load i32, ptr %10706, align 4, !tbaa !5
  %11846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11837, ptr noundef nonnull %.str.5.sink5821, i32 noundef %11838, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 1327, ptr noundef %11840, ptr noundef %11842, ptr noundef %11844, i32 noundef %11845) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11847:                                            ; preds = %11822
  %11848 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %11849 = icmp eq i32 %11848, -1
  br i1 %11849, label %11850, label %11872

11850:                                            ; preds = %11847
  %11851 = load i32, ptr %10706, align 4, !tbaa !5
  %11852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11853 = call i32 @s2n_print_stacktrace(ptr noundef %11852) #13
  %11854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11855 = trunc nuw i8 %11854 to i1
  br i1 %11855, label %11856, label %11860

11856:                                            ; preds = %11850
  %11857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11858 = call i32 @fileno(ptr noundef %11857) #13
  %11859 = call i32 @isatty(i32 noundef %11858) #13
  %.not1552 = icmp eq i32 %11859, 0
  br i1 %.not1552, label %11860, label %11861

11860:                                            ; preds = %11856, %11850
  br label %11861

11861:                                            ; preds = %11856, %11860
  %.str.5.sink5830 = phi ptr [ @.str.5, %11860 ], [ @.str.2, %11856 ]
  store i32 %11851, ptr %10706, align 4, !tbaa !5
  %11862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11863 = load i32, ptr @test_count, align 4, !tbaa !5
  %11864 = load i32, ptr %2772, align 4, !tbaa !5
  %11865 = call ptr @s2n_strerror(i32 noundef %11864, ptr noundef nonnull @.str.4) #13
  %11866 = load i32, ptr %2772, align 4, !tbaa !5
  %11867 = call ptr @s2n_strerror_debug(i32 noundef %11866, ptr noundef nonnull @.str.4) #13
  %11868 = load i32, ptr %10706, align 4, !tbaa !5
  %11869 = call ptr @strerror(i32 noundef %11868) #13
  %11870 = load i32, ptr %10706, align 4, !tbaa !5
  %11871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11862, ptr noundef nonnull %.str.5.sink5830, i32 noundef %11863, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 1327, ptr noundef %11865, ptr noundef %11867, ptr noundef %11869, i32 noundef %11870) #15
  call void @exit(i32 noundef 1) #16
  unreachable

11872:                                            ; preds = %11847
  %11873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11874 = trunc nuw i8 %11873 to i1
  br i1 %11874, label %11875, label %11886

11875:                                            ; preds = %11872
  %11876 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11877 = call i32 @fileno(ptr noundef %11876) #13
  %11878 = call i32 @isatty(i32 noundef %11877) #13
  %.not1549 = icmp eq i32 %11878, 0
  br i1 %.not1549, label %11886, label %11879

11879:                                            ; preds = %11875
  %11880 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1551 = icmp eq i32 %11880, 0
  %11881 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1551, label %11884, label %11882

11882:                                            ; preds = %11879
  %11883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11881, ptr noundef nonnull @.str.112, i32 noundef %11880) #13
  br label %11893

11884:                                            ; preds = %11879
  %11885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11881, ptr noundef nonnull @.str.113) #13
  br label %11893

11886:                                            ; preds = %11875, %11872
  %11887 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1550 = icmp eq i32 %11887, 0
  %11888 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1550, label %11891, label %11889

11889:                                            ; preds = %11886
  %11890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11888, ptr noundef nonnull @.str.114, i32 noundef %11887) #13
  br label %11893

11891:                                            ; preds = %11886
  %11892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11888, ptr noundef nonnull @.str.115) #13
  br label %11893

11893:                                            ; preds = %11889, %11891, %11882, %11884
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #13
  ret i32 0
}

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

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

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

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #3

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #3

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

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

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

; 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 #3

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #3

declare i32 @s2n_init() local_unnamed_addr #3

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #3

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

; Function Attrs: nounwind
declare i32 @setenv(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #5

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #3

declare ptr @s2n_config_new() local_unnamed_addr #3

declare i32 @s2n_config_set_check_stapled_ocsp_response(ptr noundef, i8 noundef zeroext) local_unnamed_addr #3

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #3

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #3

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

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #3

declare ptr @s2n_cert_chain_and_key_new() local_unnamed_addr #3

declare i32 @s2n_cert_chain_and_key_load_pem(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

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

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

declare ptr @s2n_get_server_name(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_shutdown_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #3

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) local_unnamed_addr #3

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #9

declare i32 @s2n_connection_set_io_pair(ptr noundef, ptr noundef) local_unnamed_addr #3

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #3

declare i32 @s2n_cert_chain_and_key_load_pem_bytes(ptr noundef, ptr noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: nofree
declare noundef i64 @write(i32 noundef, ptr nocapture noundef readonly, i64 noundef) local_unnamed_addr #10

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) local_unnamed_addr #3

declare i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) local_unnamed_addr #3

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: nofree
declare noundef i64 @read(i32 noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #10

declare i32 @s2n_config_add_cert_chain_and_key(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #3

declare i32 @s2n_config_set_extension_data(ptr noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #3

declare i32 @s2n_connection_is_ocsp_stapled(ptr noundef) local_unnamed_addr #3

declare ptr @s2n_connection_get_ocsp_response(ptr noundef, ptr noundef) local_unnamed_addr #3

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() local_unnamed_addr #3

declare void @s2n_debug_info_reset() local_unnamed_addr #3

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) local_unnamed_addr #3

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #3

declare i32 @s2n_enable_tls13_in_test(...) local_unnamed_addr #3

declare ptr @s2n_connection_get_sct_list(ptr noundef, ptr noundef) local_unnamed_addr #3

declare i32 @s2n_config_set_ct_support_level(ptr noundef, i32 noundef) local_unnamed_addr #3

declare i32 @s2n_config_send_max_fragment_length(ptr noundef, i32 noundef) local_unnamed_addr #3

declare i32 @s2n_config_accept_max_fragment_length(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_connection_prefer_throughput(ptr noundef) local_unnamed_addr #3

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #3

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

declare i32 @s2n_cleanup() local_unnamed_addr #3

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #12

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass