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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca [12 x i8], align 1
  %10 = alloca [16394 x i8], align 16
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca i32, align 4
  %13 = alloca %struct.s2n_result, align 4
  %14 = alloca i32, align 4
  %15 = alloca [50 x %struct.s2n_send_result], align 16
  %16 = alloca i64, align 8
  %17 = alloca %struct.s2n_send_result, align 4
  %18 = alloca %struct.s2n_send_context, align 8
  %19 = alloca i64, align 8
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %34 = alloca i64, align 8
  %35 = alloca ptr, align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_result, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca %struct.s2n_result, align 4
  %52 = alloca ptr, align 8
  %53 = alloca i32, align 4
  %54 = alloca %struct.s2n_result, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca %struct.s2n_send_context, align 8
  %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 %struct.s2n_result, align 4
  %67 = alloca ptr, align 8
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca %struct.s2n_result, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca %struct.s2n_send_context, align 8
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i64, align 8
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i8, align 1
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca %struct.s2n_result, align 4
  %87 = alloca %struct.s2n_result, align 4
  %88 = alloca i16, align 2
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca %struct.s2n_result, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca %struct.s2n_send_context, align 8
  %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 %struct.s2n_result, align 4
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca %struct.s2n_result, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca %struct.s2n_send_context, align 8
  %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 i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca %struct.s2n_result, align 4
  %119 = alloca ptr, align 8
  %120 = alloca i32, align 4
  %121 = alloca %struct.s2n_result, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca [5 x %struct.s2n_send_result], align 16
  %127 = alloca %struct.s2n_send_context, align 8
  %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 i32, align 4
  %145 = alloca %struct.s2n_result, align 4
  %146 = alloca ptr, align 8
  %147 = alloca i32, align 4
  %148 = alloca %struct.s2n_result, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca [5 x %struct.s2n_send_result], align 16
  %154 = alloca %struct.s2n_send_context, align 8
  %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 i64, align 8
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i64, align 8
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca %struct.s2n_result, align 4
  %172 = alloca i32, align 4
  %173 = alloca ptr, align 8
  %174 = alloca i32, align 4
  %175 = alloca %struct.s2n_result, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i64, align 8
  %180 = alloca %struct.s2n_send_context, align 8
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca [3 x %struct.s2n_send_result], align 16
  %186 = alloca %struct.s2n_send_context, align 8
  %187 = alloca i32, align 4
  %188 = alloca i64, align 8
  %189 = alloca i32, align 4
  %190 = alloca %struct.s2n_blob, align 8
  %191 = alloca %struct.s2n_stuffer, align 8
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i64, align 8
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i64, align 8
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i64, align 8
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca %struct.s2n_result, align 4
  %207 = alloca ptr, align 8
  %208 = alloca i32, align 4
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca %struct.s2n_send_context, 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 %struct.s2n_result, 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 %struct.s2n_result, align 4
  %226 = alloca i32, align 4
  %227 = alloca ptr, align 8
  %228 = alloca i32, align 4
  %229 = alloca %struct.s2n_result, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i64, align 8
  %234 = alloca %struct.s2n_send_context, align 8
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca [9 x %struct.s2n_send_result], align 16
  %240 = alloca %struct.s2n_send_context, align 8
  %241 = alloca i32, align 4
  %242 = alloca i64, align 8
  %243 = alloca i32, align 4
  %244 = alloca %struct.s2n_blob, align 8
  %245 = alloca %struct.s2n_stuffer, align 8
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i64, align 8
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i64, align 8
  %253 = alloca i64, align 8
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i64, align 8
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i64, align 8
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca %struct.s2n_result, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca %struct.s2n_result, align 4
  %268 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %269

269:                                              ; preds = %2
  br label %270

270:                                              ; preds = %269
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %271 = load ptr, ptr @stdout, align 8, !tbaa !9
  %272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %271, ptr noundef @.str, ptr noundef @.str.1) #10
  %273 = load ptr, ptr @stdout, align 8, !tbaa !9
  %274 = call i32 @fflush(ptr noundef %273)
  br label %275

275:                                              ; preds = %270
  %276 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %277 = icmp eq i32 %276, -1
  br i1 %277, label %278, label %329

278:                                              ; preds = %275
  br label %279

279:                                              ; preds = %278
  br label %280

280:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %281 = call ptr @__errno_location() #11
  %282 = load i32, ptr %281, align 4, !tbaa !5
  store i32 %282, ptr %6, align 4, !tbaa !5
  %283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %284 = call i32 @s2n_print_stacktrace(ptr noundef %283)
  %285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %286 = trunc i8 %285 to i1
  br i1 %286, label %287, label %309

287:                                              ; preds = %280
  %288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %289 = call i32 @fileno(ptr noundef %288) #10
  %290 = call i32 @isatty(i32 noundef %289) #10
  %291 = icmp ne i32 %290, 0
  br i1 %291, label %292, label %309

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

309:                                              ; preds = %287, %280
  %310 = load i32, ptr %6, align 4, !tbaa !5
  %311 = call ptr @__errno_location() #11
  store i32 %310, ptr %311, align 4, !tbaa !5
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = load i32, ptr @test_count, align 4, !tbaa !5
  %314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %315 = load i32, ptr %314, align 4, !tbaa !5
  %316 = call ptr @s2n_strerror(i32 noundef %315, ptr noundef @.str.4)
  %317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %319 = call ptr @s2n_strerror_debug(i32 noundef %318, ptr noundef @.str.4)
  %320 = call ptr @__errno_location() #11
  %321 = load i32, ptr %320, align 4, !tbaa !5
  %322 = call ptr @strerror(i32 noundef %321) #10
  %323 = call ptr @__errno_location() #11
  %324 = load i32, ptr %323, align 4, !tbaa !5
  %325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %312, ptr noundef @.str.5, i32 noundef %313, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 76, ptr noundef %316, ptr noundef %319, ptr noundef %322, i32 noundef %324) #10
  br label %326

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

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

328:                                              ; No predecessors!
  br label %329

329:                                              ; preds = %328, %275
  br label %330

330:                                              ; preds = %329
  br label %331

331:                                              ; preds = %330
  %332 = load i32, ptr @test_count, align 4, !tbaa !5
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr @test_count, align 4, !tbaa !5
  %334 = call i32 @s2n_enable_atexit()
  %335 = icmp eq i32 %334, -1
  br i1 %335, label %336, label %387

336:                                              ; preds = %331
  br label %337

337:                                              ; preds = %336
  br label %338

338:                                              ; preds = %337
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %339 = call ptr @__errno_location() #11
  %340 = load i32, ptr %339, align 4, !tbaa !5
  store i32 %340, ptr %7, align 4, !tbaa !5
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = call i32 @s2n_print_stacktrace(ptr noundef %341)
  %343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %344 = trunc i8 %343 to i1
  br i1 %344, label %345, label %367

345:                                              ; preds = %338
  %346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %347 = call i32 @fileno(ptr noundef %346) #10
  %348 = call i32 @isatty(i32 noundef %347) #10
  %349 = icmp ne i32 %348, 0
  br i1 %349, label %350, label %367

350:                                              ; preds = %345
  %351 = load i32, ptr %7, align 4, !tbaa !5
  %352 = call ptr @__errno_location() #11
  store i32 %351, ptr %352, align 4, !tbaa !5
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %356 = load i32, ptr %355, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror(i32 noundef %356, ptr noundef @.str.4)
  %358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %359 = load i32, ptr %358, align 4, !tbaa !5
  %360 = call ptr @s2n_strerror_debug(i32 noundef %359, ptr noundef @.str.4)
  %361 = call ptr @__errno_location() #11
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = call ptr @strerror(i32 noundef %362) #10
  %364 = call ptr @__errno_location() #11
  %365 = load i32, ptr %364, align 4, !tbaa !5
  %366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %353, ptr noundef @.str.2, i32 noundef %354, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 76, ptr noundef %357, ptr noundef %360, ptr noundef %363, i32 noundef %365) #10
  br label %384

367:                                              ; preds = %345, %338
  %368 = load i32, ptr %7, align 4, !tbaa !5
  %369 = call ptr @__errno_location() #11
  store i32 %368, ptr %369, align 4, !tbaa !5
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = load i32, ptr @test_count, align 4, !tbaa !5
  %372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %373 = load i32, ptr %372, align 4, !tbaa !5
  %374 = call ptr @s2n_strerror(i32 noundef %373, ptr noundef @.str.4)
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror_debug(i32 noundef %376, ptr noundef @.str.4)
  %378 = call ptr @__errno_location() #11
  %379 = load i32, ptr %378, align 4, !tbaa !5
  %380 = call ptr @strerror(i32 noundef %379) #10
  %381 = call ptr @__errno_location() #11
  %382 = load i32, ptr %381, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %370, ptr noundef @.str.5, i32 noundef %371, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 76, ptr noundef %374, ptr noundef %377, ptr noundef %380, i32 noundef %382) #10
  br label %384

384:                                              ; preds = %367, %350
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %385

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

386:                                              ; No predecessors!
  br label %387

387:                                              ; preds = %386, %331
  br label %388

388:                                              ; preds = %387
  br label %389

389:                                              ; preds = %388
  br label %390

390:                                              ; preds = %389
  %391 = call i32 @s2n_init()
  %392 = icmp eq i32 %391, -1
  br i1 %392, label %393, label %444

393:                                              ; preds = %390
  br label %394

394:                                              ; preds = %393
  br label %395

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

402:                                              ; preds = %395
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @fileno(ptr noundef %403) #10
  %405 = call i32 @isatty(i32 noundef %404) #10
  %406 = icmp ne i32 %405, 0
  br i1 %406, label %407, label %424

407:                                              ; preds = %402
  %408 = load i32, ptr %8, align 4, !tbaa !5
  %409 = call ptr @__errno_location() #11
  store i32 %408, ptr %409, align 4, !tbaa !5
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = load i32, ptr @test_count, align 4, !tbaa !5
  %412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = call ptr @s2n_strerror(i32 noundef %413, ptr noundef @.str.4)
  %415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror_debug(i32 noundef %416, ptr noundef @.str.4)
  %418 = call ptr @__errno_location() #11
  %419 = load i32, ptr %418, align 4, !tbaa !5
  %420 = call ptr @strerror(i32 noundef %419) #10
  %421 = call ptr @__errno_location() #11
  %422 = load i32, ptr %421, align 4, !tbaa !5
  %423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %410, ptr noundef @.str.2, i32 noundef %411, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 76, ptr noundef %414, ptr noundef %417, ptr noundef %420, i32 noundef %422) #10
  br label %441

424:                                              ; preds = %402, %395
  %425 = load i32, ptr %8, align 4, !tbaa !5
  %426 = call ptr @__errno_location() #11
  store i32 %425, ptr %426, align 4, !tbaa !5
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = load i32, ptr @test_count, align 4, !tbaa !5
  %429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %430 = load i32, ptr %429, align 4, !tbaa !5
  %431 = call ptr @s2n_strerror(i32 noundef %430, ptr noundef @.str.4)
  %432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %433 = load i32, ptr %432, align 4, !tbaa !5
  %434 = call ptr @s2n_strerror_debug(i32 noundef %433, ptr noundef @.str.4)
  %435 = call ptr @__errno_location() #11
  %436 = load i32, ptr %435, align 4, !tbaa !5
  %437 = call ptr @strerror(i32 noundef %436) #10
  %438 = call ptr @__errno_location() #11
  %439 = load i32, ptr %438, align 4, !tbaa !5
  %440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %427, ptr noundef @.str.5, i32 noundef %428, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 76, ptr noundef %431, ptr noundef %434, ptr noundef %437, i32 noundef %439) #10
  br label %441

441:                                              ; preds = %424, %407
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %442

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

443:                                              ; No predecessors!
  br label %444

444:                                              ; preds = %443, %390
  br label %445

445:                                              ; preds = %444
  br label %446

446:                                              ; preds = %445
  call void @llvm.lifetime.start.p0(i64 12, ptr %9) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16394, ptr %10) #10
  call void @llvm.memset.p0.i64(ptr align 16 %10, i8 0, i64 16394, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #10
  call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 24, i1 false)
  br label %447

447:                                              ; preds = %446
  %448 = load i32, ptr @test_count, align 4, !tbaa !5
  %449 = add nsw i32 %448, 1
  store i32 %449, ptr @test_count, align 4, !tbaa !5
  %450 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %451 = call i32 @s2n_blob_init(ptr noundef %11, ptr noundef %450, i32 noundef 16394)
  %452 = icmp eq i32 %451, -1
  br i1 %452, label %453, label %506

453:                                              ; preds = %447
  br label %454

454:                                              ; preds = %453
  br label %455

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

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

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

484:                                              ; preds = %462, %455
  %485 = load i32, ptr %12, align 4, !tbaa !5
  %486 = call ptr @__errno_location() #11
  store i32 %485, ptr %486, 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 @.str.4)
  %492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %493 = load i32, ptr %492, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror_debug(i32 noundef %493, ptr noundef @.str.4)
  %495 = call ptr @__errno_location() #11
  %496 = load i32, ptr %495, align 4, !tbaa !5
  %497 = call ptr @strerror(i32 noundef %496) #10
  %498 = call ptr @__errno_location() #11
  %499 = load i32, ptr %498, align 4, !tbaa !5
  %500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %487, ptr noundef @.str.5, i32 noundef %488, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 82, ptr noundef %491, ptr noundef %494, ptr noundef %497, i32 noundef %499) #10
  br label %501

501:                                              ; preds = %484, %467
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #10
  br label %502

502:                                              ; preds = %501
  br label %503

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

504:                                              ; No predecessors!
  br label %505

505:                                              ; preds = %504
  br label %506

506:                                              ; preds = %505, %447
  br label %507

507:                                              ; preds = %506
  br label %508

508:                                              ; preds = %507
  br label %509

509:                                              ; preds = %508
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = add nsw i32 %510, 1
  store i32 %511, ptr @test_count, align 4, !tbaa !5
  %512 = call i32 @s2n_get_public_random_data(ptr noundef %11)
  %513 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  store i32 %512, ptr %513, align 4
  %514 = getelementptr inbounds %struct.s2n_result, ptr %13, i32 0, i32 0
  %515 = load i32, ptr %514, align 4
  %516 = call zeroext i1 @s2n_result_is_ok(i32 %515)
  br i1 %516, label %570, label %517

517:                                              ; preds = %509
  br label %518

518:                                              ; preds = %517
  br label %519

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

526:                                              ; preds = %519
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = call i32 @fileno(ptr noundef %527) #10
  %529 = call i32 @isatty(i32 noundef %528) #10
  %530 = icmp ne i32 %529, 0
  br i1 %530, label %531, label %548

531:                                              ; preds = %526
  %532 = load i32, ptr %14, align 4, !tbaa !5
  %533 = call ptr @__errno_location() #11
  store i32 %532, ptr %533, align 4, !tbaa !5
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = load i32, ptr @test_count, align 4, !tbaa !5
  %536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = call ptr @s2n_strerror(i32 noundef %537, ptr noundef @.str.4)
  %539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %540 = load i32, ptr %539, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror_debug(i32 noundef %540, ptr noundef @.str.4)
  %542 = call ptr @__errno_location() #11
  %543 = load i32, ptr %542, align 4, !tbaa !5
  %544 = call ptr @strerror(i32 noundef %543) #10
  %545 = call ptr @__errno_location() #11
  %546 = load i32, ptr %545, align 4, !tbaa !5
  %547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %534, ptr noundef @.str.2, i32 noundef %535, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 83, ptr noundef %538, ptr noundef %541, ptr noundef %544, i32 noundef %546) #10
  br label %565

548:                                              ; preds = %526, %519
  %549 = load i32, ptr %14, align 4, !tbaa !5
  %550 = call ptr @__errno_location() #11
  store i32 %549, ptr %550, align 4, !tbaa !5
  %551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %552 = load i32, ptr @test_count, align 4, !tbaa !5
  %553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %554 = load i32, ptr %553, align 4, !tbaa !5
  %555 = call ptr @s2n_strerror(i32 noundef %554, ptr noundef @.str.4)
  %556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %557 = load i32, ptr %556, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror_debug(i32 noundef %557, ptr noundef @.str.4)
  %559 = call ptr @__errno_location() #11
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = call ptr @strerror(i32 noundef %560) #10
  %562 = call ptr @__errno_location() #11
  %563 = load i32, ptr %562, align 4, !tbaa !5
  %564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %551, ptr noundef @.str.5, i32 noundef %552, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 83, ptr noundef %555, ptr noundef %558, ptr noundef %561, i32 noundef %563) #10
  br label %565

565:                                              ; preds = %548, %531
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %566

566:                                              ; preds = %565
  br label %567

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

568:                                              ; No predecessors!
  br label %569

569:                                              ; preds = %568
  br label %570

570:                                              ; preds = %569, %509
  br label %571

571:                                              ; preds = %570
  br label %572

572:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 600, ptr %15) #10
  call void @llvm.memset.p0.i64(ptr align 16 %15, i8 0, i64 600, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  store i64 0, ptr %16, align 8, !tbaa !15
  br label %573

573:                                              ; preds = %583, %572
  %574 = load i64, ptr %16, align 8, !tbaa !15
  %575 = icmp ult i64 %574, 50
  br i1 %575, label %577, label %576

576:                                              ; preds = %573
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %586

577:                                              ; preds = %573
  %578 = load i64, ptr %16, align 8, !tbaa !15
  %579 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %15, i64 0, i64 %578
  %580 = getelementptr inbounds %struct.s2n_send_result, ptr %17, i32 0, i32 0
  store i32 2147483647, ptr %580, align 4, !tbaa !17
  %581 = getelementptr inbounds %struct.s2n_send_result, ptr %17, i32 0, i32 1
  store i32 0, ptr %581, align 4, !tbaa !19
  %582 = getelementptr inbounds %struct.s2n_send_result, ptr %17, i32 0, i32 2
  store i8 0, ptr %582, align 4, !tbaa !20
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %579, ptr align 4 %17, i64 12, i1 false), !tbaa.struct !21
  br label %583

583:                                              ; preds = %577
  %584 = load i64, ptr %16, align 8, !tbaa !15
  %585 = add i64 %584, 1
  store i64 %585, ptr %16, align 8, !tbaa !15
  br label %573, !llvm.loop !22

586:                                              ; preds = %576
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #10
  %587 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 0
  store i64 0, ptr %587, align 8, !tbaa !24
  %588 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 1
  store i64 0, ptr %588, align 8, !tbaa !26
  %589 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 2
  %590 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %15, i64 0, i64 0
  store ptr %590, ptr %589, align 8, !tbaa !27
  %591 = getelementptr inbounds %struct.s2n_send_context, ptr %18, i32 0, i32 3
  store i64 50, ptr %591, align 8, !tbaa !28
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  store i64 20000, ptr %19, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #10
  %592 = call ptr @s2n_config_new()
  store ptr %592, ptr %20, align 8, !tbaa !9
  br label %593

593:                                              ; preds = %586
  %594 = load i32, ptr @test_count, align 4, !tbaa !5
  %595 = add nsw i32 %594, 1
  store i32 %595, ptr @test_count, align 4, !tbaa !5
  %596 = load ptr, ptr %20, align 8, !tbaa !9
  %597 = icmp eq ptr %596, null
  br i1 %597, label %598, label %651

598:                                              ; preds = %593
  br label %599

599:                                              ; preds = %598
  br label %600

600:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %601 = call ptr @__errno_location() #11
  %602 = load i32, ptr %601, align 4, !tbaa !5
  store i32 %602, ptr %21, align 4, !tbaa !5
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @s2n_print_stacktrace(ptr noundef %603)
  %605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %606 = trunc i8 %605 to i1
  br i1 %606, label %607, label %629

607:                                              ; preds = %600
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = call i32 @fileno(ptr noundef %608) #10
  %610 = call i32 @isatty(i32 noundef %609) #10
  %611 = icmp ne i32 %610, 0
  br i1 %611, label %612, label %629

612:                                              ; preds = %607
  %613 = load i32, ptr %21, align 4, !tbaa !5
  %614 = call ptr @__errno_location() #11
  store i32 %613, ptr %614, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = load i32, ptr @test_count, align 4, !tbaa !5
  %617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = call ptr @s2n_strerror(i32 noundef %618, ptr noundef @.str.4)
  %620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = call ptr @s2n_strerror_debug(i32 noundef %621, ptr noundef @.str.4)
  %623 = call ptr @__errno_location() #11
  %624 = load i32, ptr %623, align 4, !tbaa !5
  %625 = call ptr @strerror(i32 noundef %624) #10
  %626 = call ptr @__errno_location() #11
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %615, ptr noundef @.str.2, i32 noundef %616, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 100, ptr noundef %619, ptr noundef %622, ptr noundef %625, i32 noundef %627) #10
  br label %646

629:                                              ; preds = %607, %600
  %630 = load i32, ptr %21, align 4, !tbaa !5
  %631 = call ptr @__errno_location() #11
  store i32 %630, ptr %631, 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 @.str.4)
  %637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror_debug(i32 noundef %638, ptr noundef @.str.4)
  %640 = call ptr @__errno_location() #11
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @strerror(i32 noundef %641) #10
  %643 = call ptr @__errno_location() #11
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %632, ptr noundef @.str.5, i32 noundef %633, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 100, ptr noundef %636, ptr noundef %639, ptr noundef %642, i32 noundef %644) #10
  br label %646

646:                                              ; preds = %629, %612
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %647

647:                                              ; preds = %646
  br label %648

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

649:                                              ; No predecessors!
  br label %650

650:                                              ; preds = %649
  br label %651

651:                                              ; preds = %650, %593
  br label %652

652:                                              ; preds = %651
  br label %653

653:                                              ; preds = %652
  br label %654

654:                                              ; preds = %653
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = add nsw i32 %655, 1
  store i32 %656, ptr @test_count, align 4, !tbaa !5
  %657 = load ptr, ptr %20, align 8, !tbaa !9
  %658 = call i32 @s2n_config_set_send_buffer_size(ptr noundef %657, i32 noundef 20000)
  %659 = icmp eq i32 %658, -1
  br i1 %659, label %660, label %713

660:                                              ; preds = %654
  br label %661

661:                                              ; preds = %660
  br label %662

662:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %663 = call ptr @__errno_location() #11
  %664 = load i32, ptr %663, align 4, !tbaa !5
  store i32 %664, ptr %22, align 4, !tbaa !5
  %665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %666 = call i32 @s2n_print_stacktrace(ptr noundef %665)
  %667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %668 = trunc i8 %667 to i1
  br i1 %668, label %669, label %691

669:                                              ; preds = %662
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = call i32 @fileno(ptr noundef %670) #10
  %672 = call i32 @isatty(i32 noundef %671) #10
  %673 = icmp ne i32 %672, 0
  br i1 %673, label %674, label %691

674:                                              ; preds = %669
  %675 = load i32, ptr %22, align 4, !tbaa !5
  %676 = call ptr @__errno_location() #11
  store i32 %675, ptr %676, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef @.str.4)
  %682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror_debug(i32 noundef %683, ptr noundef @.str.4)
  %685 = call ptr @__errno_location() #11
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @strerror(i32 noundef %686) #10
  %688 = call ptr @__errno_location() #11
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef @.str.2, i32 noundef %678, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 101, ptr noundef %681, ptr noundef %684, ptr noundef %687, i32 noundef %689) #10
  br label %708

691:                                              ; preds = %669, %662
  %692 = load i32, ptr %22, align 4, !tbaa !5
  %693 = call ptr @__errno_location() #11
  store i32 %692, ptr %693, align 4, !tbaa !5
  %694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %695 = load i32, ptr @test_count, align 4, !tbaa !5
  %696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = call ptr @s2n_strerror(i32 noundef %697, ptr noundef @.str.4)
  %699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %700 = load i32, ptr %699, align 4, !tbaa !5
  %701 = call ptr @s2n_strerror_debug(i32 noundef %700, ptr noundef @.str.4)
  %702 = call ptr @__errno_location() #11
  %703 = load i32, ptr %702, align 4, !tbaa !5
  %704 = call ptr @strerror(i32 noundef %703) #10
  %705 = call ptr @__errno_location() #11
  %706 = load i32, ptr %705, align 4, !tbaa !5
  %707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %694, ptr noundef @.str.5, i32 noundef %695, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 101, ptr noundef %698, ptr noundef %701, ptr noundef %704, i32 noundef %706) #10
  br label %708

708:                                              ; preds = %691, %674
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %709

709:                                              ; preds = %708
  br label %710

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

711:                                              ; No predecessors!
  br label %712

712:                                              ; preds = %711
  br label %713

713:                                              ; preds = %712, %654
  br label %714

714:                                              ; preds = %713
  br label %715

715:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  store i32 17300, ptr %23, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  %716 = call ptr @s2n_config_new()
  store ptr %716, ptr %24, align 8, !tbaa !9
  br label %717

717:                                              ; preds = %715
  %718 = load i32, ptr @test_count, align 4, !tbaa !5
  %719 = add nsw i32 %718, 1
  store i32 %719, ptr @test_count, align 4, !tbaa !5
  %720 = load ptr, ptr %24, align 8, !tbaa !9
  %721 = icmp eq ptr %720, null
  br i1 %721, label %722, label %775

722:                                              ; preds = %717
  br label %723

723:                                              ; preds = %722
  br label %724

724:                                              ; preds = %723
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %725 = call ptr @__errno_location() #11
  %726 = load i32, ptr %725, align 4, !tbaa !5
  store i32 %726, ptr %25, align 4, !tbaa !5
  %727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %728 = call i32 @s2n_print_stacktrace(ptr noundef %727)
  %729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %730 = trunc i8 %729 to i1
  br i1 %730, label %731, label %753

731:                                              ; preds = %724
  %732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %733 = call i32 @fileno(ptr noundef %732) #10
  %734 = call i32 @isatty(i32 noundef %733) #10
  %735 = icmp ne i32 %734, 0
  br i1 %735, label %736, label %753

736:                                              ; preds = %731
  %737 = load i32, ptr %25, align 4, !tbaa !5
  %738 = call ptr @__errno_location() #11
  store i32 %737, ptr %738, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @s2n_strerror(i32 noundef %742, ptr noundef @.str.4)
  %744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call ptr @s2n_strerror_debug(i32 noundef %745, ptr noundef @.str.4)
  %747 = call ptr @__errno_location() #11
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = call ptr @strerror(i32 noundef %748) #10
  %750 = call ptr @__errno_location() #11
  %751 = load i32, ptr %750, align 4, !tbaa !5
  %752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef @.str.2, i32 noundef %740, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 106, ptr noundef %743, ptr noundef %746, ptr noundef %749, i32 noundef %751) #10
  br label %770

753:                                              ; preds = %731, %724
  %754 = load i32, ptr %25, align 4, !tbaa !5
  %755 = call ptr @__errno_location() #11
  store i32 %754, ptr %755, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = load i32, ptr @test_count, align 4, !tbaa !5
  %758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call ptr @s2n_strerror(i32 noundef %759, ptr noundef @.str.4)
  %761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror_debug(i32 noundef %762, ptr noundef @.str.4)
  %764 = call ptr @__errno_location() #11
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @strerror(i32 noundef %765) #10
  %767 = call ptr @__errno_location() #11
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %756, ptr noundef @.str.5, i32 noundef %757, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 106, ptr noundef %760, ptr noundef %763, ptr noundef %766, i32 noundef %768) #10
  br label %770

770:                                              ; preds = %753, %736
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %771

771:                                              ; preds = %770
  br label %772

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

773:                                              ; No predecessors!
  br label %774

774:                                              ; preds = %773
  br label %775

775:                                              ; preds = %774, %717
  br label %776

776:                                              ; preds = %775
  br label %777

777:                                              ; preds = %776
  br label %778

778:                                              ; preds = %777
  %779 = load i32, ptr @test_count, align 4, !tbaa !5
  %780 = add nsw i32 %779, 1
  store i32 %780, ptr @test_count, align 4, !tbaa !5
  %781 = load ptr, ptr %24, align 8, !tbaa !9
  %782 = call i32 @s2n_config_set_send_buffer_size(ptr noundef %781, i32 noundef 17300)
  %783 = icmp eq i32 %782, -1
  br i1 %783, label %784, label %837

784:                                              ; preds = %778
  br label %785

785:                                              ; preds = %784
  br label %786

786:                                              ; preds = %785
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  %787 = call ptr @__errno_location() #11
  %788 = load i32, ptr %787, align 4, !tbaa !5
  store i32 %788, ptr %26, align 4, !tbaa !5
  %789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %790 = call i32 @s2n_print_stacktrace(ptr noundef %789)
  %791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %792 = trunc i8 %791 to i1
  br i1 %792, label %793, label %815

793:                                              ; preds = %786
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = call i32 @fileno(ptr noundef %794) #10
  %796 = call i32 @isatty(i32 noundef %795) #10
  %797 = icmp ne i32 %796, 0
  br i1 %797, label %798, label %815

798:                                              ; preds = %793
  %799 = load i32, ptr %26, align 4, !tbaa !5
  %800 = call ptr @__errno_location() #11
  store i32 %799, ptr %800, align 4, !tbaa !5
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = load i32, ptr @test_count, align 4, !tbaa !5
  %803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call ptr @s2n_strerror(i32 noundef %804, ptr noundef @.str.4)
  %806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @s2n_strerror_debug(i32 noundef %807, ptr noundef @.str.4)
  %809 = call ptr @__errno_location() #11
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call ptr @strerror(i32 noundef %810) #10
  %812 = call ptr @__errno_location() #11
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %801, ptr noundef @.str.2, i32 noundef %802, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 107, ptr noundef %805, ptr noundef %808, ptr noundef %811, i32 noundef %813) #10
  br label %832

815:                                              ; preds = %793, %786
  %816 = load i32, ptr %26, align 4, !tbaa !5
  %817 = call ptr @__errno_location() #11
  store i32 %816, ptr %817, align 4, !tbaa !5
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = load i32, ptr @test_count, align 4, !tbaa !5
  %820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror(i32 noundef %821, ptr noundef @.str.4)
  %823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef @.str.4)
  %826 = call ptr @__errno_location() #11
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = call ptr @strerror(i32 noundef %827) #10
  %829 = call ptr @__errno_location() #11
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %818, ptr noundef @.str.5, i32 noundef %819, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 107, ptr noundef %822, ptr noundef %825, ptr noundef %828, i32 noundef %830) #10
  br label %832

832:                                              ; preds = %815, %798
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %833

833:                                              ; preds = %832
  br label %834

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

835:                                              ; No predecessors!
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836, %778
  br label %838

838:                                              ; preds = %837
  br label %839

839:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %840 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %840, ptr %27, align 8, !tbaa !9
  br label %841

841:                                              ; preds = %839
  %842 = load i32, ptr @test_count, align 4, !tbaa !5
  %843 = add nsw i32 %842, 1
  store i32 %843, ptr @test_count, align 4, !tbaa !5
  %844 = load ptr, ptr %27, align 8, !tbaa !9
  %845 = load i32, ptr %844, align 8
  %846 = lshr i32 %845, 15
  %847 = and i32 %846, 1
  %848 = icmp ne i32 %847, 0
  br i1 %848, label %849, label %902

849:                                              ; preds = %841
  br label %850

850:                                              ; preds = %849
  br label %851

851:                                              ; preds = %850
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  %852 = call ptr @__errno_location() #11
  %853 = load i32, ptr %852, align 4, !tbaa !5
  store i32 %853, ptr %28, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = call i32 @s2n_print_stacktrace(ptr noundef %854)
  %856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %857 = trunc i8 %856 to i1
  br i1 %857, label %858, label %880

858:                                              ; preds = %851
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @fileno(ptr noundef %859) #10
  %861 = call i32 @isatty(i32 noundef %860) #10
  %862 = icmp ne i32 %861, 0
  br i1 %862, label %863, label %880

863:                                              ; preds = %858
  %864 = load i32, ptr %28, align 4, !tbaa !5
  %865 = call ptr @__errno_location() #11
  store i32 %864, ptr %865, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = load i32, ptr @test_count, align 4, !tbaa !5
  %868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror(i32 noundef %869, ptr noundef @.str.4)
  %871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror_debug(i32 noundef %872, ptr noundef @.str.4)
  %874 = call ptr @__errno_location() #11
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = call ptr @strerror(i32 noundef %875) #10
  %877 = call ptr @__errno_location() #11
  %878 = load i32, ptr %877, align 4, !tbaa !5
  %879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef @.str.2, i32 noundef %867, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 117, ptr noundef %870, ptr noundef %873, ptr noundef %876, i32 noundef %878) #10
  br label %897

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

897:                                              ; preds = %880, %863
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  br label %898

898:                                              ; preds = %897
  br label %899

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

900:                                              ; No predecessors!
  br label %901

901:                                              ; preds = %900
  br label %902

902:                                              ; preds = %901, %841
  br label %903

903:                                              ; preds = %902
  br label %904

904:                                              ; preds = %903
  br label %905

905:                                              ; preds = %904
  %906 = load i32, ptr @test_count, align 4, !tbaa !5
  %907 = add nsw i32 %906, 1
  store i32 %907, ptr @test_count, align 4, !tbaa !5
  %908 = load ptr, ptr %27, align 8, !tbaa !9
  %909 = call zeroext i1 @s2n_should_flush(ptr noundef %908, i64 noundef 20000)
  br i1 %909, label %963, label %910

910:                                              ; preds = %905
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %913 = call ptr @__errno_location() #11
  %914 = load i32, ptr %913, align 4, !tbaa !5
  store i32 %914, ptr %29, align 4, !tbaa !5
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = call i32 @s2n_print_stacktrace(ptr noundef %915)
  %917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %918 = trunc i8 %917 to i1
  br i1 %918, label %919, label %941

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

924:                                              ; preds = %919
  %925 = load i32, ptr %29, align 4, !tbaa !5
  %926 = call ptr @__errno_location() #11
  store i32 %925, ptr %926, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef @.str.4)
  %932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef @.str.4)
  %935 = call ptr @__errno_location() #11
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call ptr @strerror(i32 noundef %936) #10
  %938 = call ptr @__errno_location() #11
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef @.str.2, i32 noundef %928, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 118, ptr noundef %931, ptr noundef %934, ptr noundef %937, i32 noundef %939) #10
  br label %958

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

958:                                              ; preds = %941, %924
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %959

959:                                              ; preds = %958
  br label %960

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

961:                                              ; No predecessors!
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962, %905
  br label %964

964:                                              ; preds = %963
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965
  %967 = load i32, ptr @test_count, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr @test_count, align 4, !tbaa !5
  %969 = load ptr, ptr %27, align 8, !tbaa !9
  %970 = load ptr, ptr %20, align 8, !tbaa !9
  %971 = call i32 @s2n_connection_set_config(ptr noundef %969, ptr noundef %970)
  %972 = icmp eq i32 %971, -1
  br i1 %972, label %973, label %1026

973:                                              ; preds = %966
  br label %974

974:                                              ; preds = %973
  br label %975

975:                                              ; preds = %974
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  %976 = call ptr @__errno_location() #11
  %977 = load i32, ptr %976, align 4, !tbaa !5
  store i32 %977, ptr %30, align 4, !tbaa !5
  %978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %979 = call i32 @s2n_print_stacktrace(ptr noundef %978)
  %980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %981 = trunc i8 %980 to i1
  br i1 %981, label %982, label %1004

982:                                              ; preds = %975
  %983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %984 = call i32 @fileno(ptr noundef %983) #10
  %985 = call i32 @isatty(i32 noundef %984) #10
  %986 = icmp ne i32 %985, 0
  br i1 %986, label %987, label %1004

987:                                              ; preds = %982
  %988 = load i32, ptr %30, align 4, !tbaa !5
  %989 = call ptr @__errno_location() #11
  store i32 %988, ptr %989, align 4, !tbaa !5
  %990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call ptr @s2n_strerror(i32 noundef %993, ptr noundef @.str.4)
  %995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call ptr @s2n_strerror_debug(i32 noundef %996, ptr noundef @.str.4)
  %998 = call ptr @__errno_location() #11
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @strerror(i32 noundef %999) #10
  %1001 = call ptr @__errno_location() #11
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %990, ptr noundef @.str.2, i32 noundef %991, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 121, ptr noundef %994, ptr noundef %997, ptr noundef %1000, i32 noundef %1002) #10
  br label %1021

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

1021:                                             ; preds = %1004, %987
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %1022

1022:                                             ; preds = %1021
  br label %1023

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

1024:                                             ; No predecessors!
  br label %1025

1025:                                             ; preds = %1024
  br label %1026

1026:                                             ; preds = %1025, %966
  br label %1027

1027:                                             ; preds = %1026
  br label %1028

1028:                                             ; preds = %1027
  br label %1029

1029:                                             ; preds = %1028
  %1030 = load i32, ptr @test_count, align 4, !tbaa !5
  %1031 = add nsw i32 %1030, 1
  store i32 %1031, ptr @test_count, align 4, !tbaa !5
  %1032 = load ptr, ptr %27, align 8, !tbaa !9
  %1033 = load i32, ptr %1032, align 8
  %1034 = lshr i32 %1033, 15
  %1035 = and i32 %1034, 1
  %1036 = icmp ne i32 %1035, 0
  br i1 %1036, label %1090, label %1037

1037:                                             ; preds = %1029
  br label %1038

1038:                                             ; preds = %1037
  br label %1039

1039:                                             ; preds = %1038
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  %1040 = call ptr @__errno_location() #11
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  store i32 %1041, ptr %31, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = call i32 @s2n_print_stacktrace(ptr noundef %1042)
  %1044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1045 = trunc i8 %1044 to i1
  br i1 %1045, label %1046, label %1068

1046:                                             ; preds = %1039
  %1047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1048 = call i32 @fileno(ptr noundef %1047) #10
  %1049 = call i32 @isatty(i32 noundef %1048) #10
  %1050 = icmp ne i32 %1049, 0
  br i1 %1050, label %1051, label %1068

1051:                                             ; preds = %1046
  %1052 = load i32, ptr %31, align 4, !tbaa !5
  %1053 = call ptr @__errno_location() #11
  store i32 %1052, ptr %1053, align 4, !tbaa !5
  %1054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1057 = load i32, ptr %1056, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror(i32 noundef %1057, ptr noundef @.str.4)
  %1059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1060 = load i32, ptr %1059, align 4, !tbaa !5
  %1061 = call ptr @s2n_strerror_debug(i32 noundef %1060, ptr noundef @.str.4)
  %1062 = call ptr @__errno_location() #11
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  %1064 = call ptr @strerror(i32 noundef %1063) #10
  %1065 = call ptr @__errno_location() #11
  %1066 = load i32, ptr %1065, align 4, !tbaa !5
  %1067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1054, ptr noundef @.str.2, i32 noundef %1055, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1058, ptr noundef %1061, ptr noundef %1064, i32 noundef %1066) #10
  br label %1085

1068:                                             ; preds = %1046, %1039
  %1069 = load i32, ptr %31, align 4, !tbaa !5
  %1070 = call ptr @__errno_location() #11
  store i32 %1069, ptr %1070, align 4, !tbaa !5
  %1071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1072 = load i32, ptr @test_count, align 4, !tbaa !5
  %1073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  %1075 = call ptr @s2n_strerror(i32 noundef %1074, ptr noundef @.str.4)
  %1076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = call ptr @s2n_strerror_debug(i32 noundef %1077, ptr noundef @.str.4)
  %1079 = call ptr @__errno_location() #11
  %1080 = load i32, ptr %1079, align 4, !tbaa !5
  %1081 = call ptr @strerror(i32 noundef %1080) #10
  %1082 = call ptr @__errno_location() #11
  %1083 = load i32, ptr %1082, align 4, !tbaa !5
  %1084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1071, ptr noundef @.str.5, i32 noundef %1072, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1075, ptr noundef %1078, ptr noundef %1081, i32 noundef %1083) #10
  br label %1085

1085:                                             ; preds = %1068, %1051
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1086

1086:                                             ; preds = %1085
  br label %1087

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

1088:                                             ; No predecessors!
  br label %1089

1089:                                             ; preds = %1088
  br label %1090

1090:                                             ; preds = %1089, %1029
  br label %1091

1091:                                             ; preds = %1090
  br label %1092

1092:                                             ; preds = %1091
  br label %1093

1093:                                             ; preds = %1092
  %1094 = load i32, ptr @test_count, align 4, !tbaa !5
  %1095 = add nsw i32 %1094, 1
  store i32 %1095, ptr @test_count, align 4, !tbaa !5
  %1096 = load ptr, ptr %27, align 8, !tbaa !9
  %1097 = call zeroext i1 @s2n_should_flush(ptr noundef %1096, i64 noundef 20000)
  br i1 %1097, label %1098, label %1151

1098:                                             ; preds = %1093
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

1100:                                             ; preds = %1099
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1101 = call ptr @__errno_location() #11
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  store i32 %1102, ptr %32, align 4, !tbaa !5
  %1103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1104 = call i32 @s2n_print_stacktrace(ptr noundef %1103)
  %1105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1106 = trunc i8 %1105 to i1
  br i1 %1106, label %1107, label %1129

1107:                                             ; preds = %1100
  %1108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1109 = call i32 @fileno(ptr noundef %1108) #10
  %1110 = call i32 @isatty(i32 noundef %1109) #10
  %1111 = icmp ne i32 %1110, 0
  br i1 %1111, label %1112, label %1129

1112:                                             ; preds = %1107
  %1113 = load i32, ptr %32, align 4, !tbaa !5
  %1114 = call ptr @__errno_location() #11
  store i32 %1113, ptr %1114, align 4, !tbaa !5
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror(i32 noundef %1118, ptr noundef @.str.4)
  %1120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1121 = load i32, ptr %1120, align 4, !tbaa !5
  %1122 = call ptr @s2n_strerror_debug(i32 noundef %1121, ptr noundef @.str.4)
  %1123 = call ptr @__errno_location() #11
  %1124 = load i32, ptr %1123, align 4, !tbaa !5
  %1125 = call ptr @strerror(i32 noundef %1124) #10
  %1126 = call ptr @__errno_location() #11
  %1127 = load i32, ptr %1126, align 4, !tbaa !5
  %1128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1115, ptr noundef @.str.2, i32 noundef %1116, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 123, ptr noundef %1119, ptr noundef %1122, ptr noundef %1125, i32 noundef %1127) #10
  br label %1146

1129:                                             ; preds = %1107, %1100
  %1130 = load i32, ptr %32, align 4, !tbaa !5
  %1131 = call ptr @__errno_location() #11
  store i32 %1130, ptr %1131, align 4, !tbaa !5
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1135, ptr noundef @.str.4)
  %1137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1138 = load i32, ptr %1137, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror_debug(i32 noundef %1138, ptr noundef @.str.4)
  %1140 = call ptr @__errno_location() #11
  %1141 = load i32, ptr %1140, align 4, !tbaa !5
  %1142 = call ptr @strerror(i32 noundef %1141) #10
  %1143 = call ptr @__errno_location() #11
  %1144 = load i32, ptr %1143, align 4, !tbaa !5
  %1145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1132, ptr noundef @.str.5, i32 noundef %1133, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 123, ptr noundef %1136, ptr noundef %1139, ptr noundef %1142, i32 noundef %1144) #10
  br label %1146

1146:                                             ; preds = %1129, %1112
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1147

1147:                                             ; preds = %1146
  br label %1148

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

1149:                                             ; No predecessors!
  br label %1150

1150:                                             ; preds = %1149
  br label %1151

1151:                                             ; preds = %1150, %1093
  br label %1152

1152:                                             ; preds = %1151
  br label %1153

1153:                                             ; preds = %1152
  %1154 = call i32 @s2n_connection_ptr_free(ptr noundef %27)
  %1155 = getelementptr inbounds %struct.s2n_result, ptr %33, i32 0, i32 0
  store i32 %1154, ptr %1155, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  store i64 100, ptr %34, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #10
  %1156 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1156, ptr %35, align 8, !tbaa !9
  br label %1157

1157:                                             ; preds = %1153
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = add nsw i32 %1158, 1
  store i32 %1159, ptr @test_count, align 4, !tbaa !5
  %1160 = load ptr, ptr %35, align 8, !tbaa !9
  %1161 = load ptr, ptr %20, align 8, !tbaa !9
  %1162 = call i32 @s2n_connection_set_config(ptr noundef %1160, ptr noundef %1161)
  %1163 = icmp eq i32 %1162, -1
  br i1 %1163, label %1164, label %1217

1164:                                             ; preds = %1157
  br label %1165

1165:                                             ; preds = %1164
  br label %1166

1166:                                             ; preds = %1165
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1167 = call ptr @__errno_location() #11
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  store i32 %1168, ptr %36, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = call i32 @s2n_print_stacktrace(ptr noundef %1169)
  %1171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1172 = trunc i8 %1171 to i1
  br i1 %1172, label %1173, label %1195

1173:                                             ; preds = %1166
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @fileno(ptr noundef %1174) #10
  %1176 = call i32 @isatty(i32 noundef %1175) #10
  %1177 = icmp ne i32 %1176, 0
  br i1 %1177, label %1178, label %1195

1178:                                             ; preds = %1173
  %1179 = load i32, ptr %36, align 4, !tbaa !5
  %1180 = call ptr @__errno_location() #11
  store i32 %1179, ptr %1180, align 4, !tbaa !5
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = load i32, ptr @test_count, align 4, !tbaa !5
  %1183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1184 = load i32, ptr %1183, align 4, !tbaa !5
  %1185 = call ptr @s2n_strerror(i32 noundef %1184, ptr noundef @.str.4)
  %1186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  %1188 = call ptr @s2n_strerror_debug(i32 noundef %1187, ptr noundef @.str.4)
  %1189 = call ptr @__errno_location() #11
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = call ptr @strerror(i32 noundef %1190) #10
  %1192 = call ptr @__errno_location() #11
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1181, ptr noundef @.str.2, i32 noundef %1182, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 132, ptr noundef %1185, ptr noundef %1188, ptr noundef %1191, i32 noundef %1193) #10
  br label %1212

1195:                                             ; preds = %1173, %1166
  %1196 = load i32, ptr %36, align 4, !tbaa !5
  %1197 = call ptr @__errno_location() #11
  store i32 %1196, ptr %1197, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror(i32 noundef %1201, ptr noundef @.str.4)
  %1203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1204 = load i32, ptr %1203, align 4, !tbaa !5
  %1205 = call ptr @s2n_strerror_debug(i32 noundef %1204, ptr noundef @.str.4)
  %1206 = call ptr @__errno_location() #11
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = call ptr @strerror(i32 noundef %1207) #10
  %1209 = call ptr @__errno_location() #11
  %1210 = load i32, ptr %1209, align 4, !tbaa !5
  %1211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1198, ptr noundef @.str.5, i32 noundef %1199, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 132, ptr noundef %1202, ptr noundef %1205, ptr noundef %1208, i32 noundef %1210) #10
  br label %1212

1212:                                             ; preds = %1195, %1178
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1213

1213:                                             ; preds = %1212
  br label %1214

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

1215:                                             ; No predecessors!
  br label %1216

1216:                                             ; preds = %1215
  br label %1217

1217:                                             ; preds = %1216, %1157
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218
  br label %1220

1220:                                             ; preds = %1219
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = add nsw i32 %1221, 1
  store i32 %1222, ptr @test_count, align 4, !tbaa !5
  %1223 = load ptr, ptr %35, align 8, !tbaa !9
  %1224 = load i64, ptr %34, align 8, !tbaa !15
  %1225 = call zeroext i1 @s2n_should_flush(ptr noundef %1223, i64 noundef %1224)
  br i1 %1225, label %1226, label %1279

1226:                                             ; preds = %1220
  br label %1227

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1229 = call ptr @__errno_location() #11
  %1230 = load i32, ptr %1229, align 4, !tbaa !5
  store i32 %1230, ptr %37, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = call i32 @s2n_print_stacktrace(ptr noundef %1231)
  %1233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1234 = trunc i8 %1233 to i1
  br i1 %1234, label %1235, label %1257

1235:                                             ; preds = %1228
  %1236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1237 = call i32 @fileno(ptr noundef %1236) #10
  %1238 = call i32 @isatty(i32 noundef %1237) #10
  %1239 = icmp ne i32 %1238, 0
  br i1 %1239, label %1240, label %1257

1240:                                             ; preds = %1235
  %1241 = load i32, ptr %37, align 4, !tbaa !5
  %1242 = call ptr @__errno_location() #11
  store i32 %1241, ptr %1242, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror(i32 noundef %1246, ptr noundef @.str.4)
  %1248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1249 = load i32, ptr %1248, align 4, !tbaa !5
  %1250 = call ptr @s2n_strerror_debug(i32 noundef %1249, ptr noundef @.str.4)
  %1251 = call ptr @__errno_location() #11
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @strerror(i32 noundef %1252) #10
  %1254 = call ptr @__errno_location() #11
  %1255 = load i32, ptr %1254, align 4, !tbaa !5
  %1256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1243, ptr noundef @.str.2, i32 noundef %1244, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 135, ptr noundef %1247, ptr noundef %1250, ptr noundef %1253, i32 noundef %1255) #10
  br label %1274

1257:                                             ; preds = %1235, %1228
  %1258 = load i32, ptr %37, align 4, !tbaa !5
  %1259 = call ptr @__errno_location() #11
  store i32 %1258, ptr %1259, align 4, !tbaa !5
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1261 = load i32, ptr @test_count, align 4, !tbaa !5
  %1262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call ptr @s2n_strerror(i32 noundef %1263, ptr noundef @.str.4)
  %1265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror_debug(i32 noundef %1266, ptr noundef @.str.4)
  %1268 = call ptr @__errno_location() #11
  %1269 = load i32, ptr %1268, align 4, !tbaa !5
  %1270 = call ptr @strerror(i32 noundef %1269) #10
  %1271 = call ptr @__errno_location() #11
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1260, ptr noundef @.str.5, i32 noundef %1261, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 135, ptr noundef %1264, ptr noundef %1267, ptr noundef %1270, i32 noundef %1272) #10
  br label %1274

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

1275:                                             ; preds = %1274
  br label %1276

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

1277:                                             ; No predecessors!
  br label %1278

1278:                                             ; preds = %1277
  br label %1279

1279:                                             ; preds = %1278, %1220
  br label %1280

1280:                                             ; preds = %1279
  br label %1281

1281:                                             ; preds = %1280
  %1282 = load i64, ptr %34, align 8, !tbaa !15
  %1283 = sdiv i64 %1282, 2
  %1284 = load ptr, ptr %35, align 8, !tbaa !9
  %1285 = getelementptr inbounds %struct.s2n_connection, ptr %1284, i32 0, i32 43
  store i64 %1283, ptr %1285, align 8, !tbaa !29
  br label %1286

1286:                                             ; preds = %1281
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = add nsw i32 %1287, 1
  store i32 %1288, ptr @test_count, align 4, !tbaa !5
  %1289 = load ptr, ptr %35, align 8, !tbaa !9
  %1290 = load i64, ptr %34, align 8, !tbaa !15
  %1291 = call zeroext i1 @s2n_should_flush(ptr noundef %1289, i64 noundef %1290)
  br i1 %1291, label %1292, label %1345

1292:                                             ; preds = %1286
  br label %1293

1293:                                             ; preds = %1292
  br label %1294

1294:                                             ; preds = %1293
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1295 = call ptr @__errno_location() #11
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  store i32 %1296, ptr %38, align 4, !tbaa !5
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = call i32 @s2n_print_stacktrace(ptr noundef %1297)
  %1299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1300 = trunc i8 %1299 to i1
  br i1 %1300, label %1301, label %1323

1301:                                             ; preds = %1294
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1303 = call i32 @fileno(ptr noundef %1302) #10
  %1304 = call i32 @isatty(i32 noundef %1303) #10
  %1305 = icmp ne i32 %1304, 0
  br i1 %1305, label %1306, label %1323

1306:                                             ; preds = %1301
  %1307 = load i32, ptr %38, align 4, !tbaa !5
  %1308 = call ptr @__errno_location() #11
  store i32 %1307, ptr %1308, align 4, !tbaa !5
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = load i32, ptr @test_count, align 4, !tbaa !5
  %1311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror(i32 noundef %1312, ptr noundef @.str.4)
  %1314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef @.str.4)
  %1317 = call ptr @__errno_location() #11
  %1318 = load i32, ptr %1317, align 4, !tbaa !5
  %1319 = call ptr @strerror(i32 noundef %1318) #10
  %1320 = call ptr @__errno_location() #11
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1309, ptr noundef @.str.2, i32 noundef %1310, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1313, ptr noundef %1316, ptr noundef %1319, i32 noundef %1321) #10
  br label %1340

1323:                                             ; preds = %1301, %1294
  %1324 = load i32, ptr %38, align 4, !tbaa !5
  %1325 = call ptr @__errno_location() #11
  store i32 %1324, ptr %1325, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = load i32, ptr @test_count, align 4, !tbaa !5
  %1328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror(i32 noundef %1329, ptr noundef @.str.4)
  %1331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = call ptr @s2n_strerror_debug(i32 noundef %1332, ptr noundef @.str.4)
  %1334 = call ptr @__errno_location() #11
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @strerror(i32 noundef %1335) #10
  %1337 = call ptr @__errno_location() #11
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1326, ptr noundef @.str.5, i32 noundef %1327, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1330, ptr noundef %1333, ptr noundef %1336, i32 noundef %1338) #10
  br label %1340

1340:                                             ; preds = %1323, %1306
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1341

1341:                                             ; preds = %1340
  br label %1342

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

1343:                                             ; No predecessors!
  br label %1344

1344:                                             ; preds = %1343
  br label %1345

1345:                                             ; preds = %1344, %1286
  br label %1346

1346:                                             ; preds = %1345
  br label %1347

1347:                                             ; preds = %1346
  %1348 = load i64, ptr %34, align 8, !tbaa !15
  %1349 = load ptr, ptr %35, align 8, !tbaa !9
  %1350 = getelementptr inbounds %struct.s2n_connection, ptr %1349, i32 0, i32 43
  store i64 %1348, ptr %1350, align 8, !tbaa !29
  br label %1351

1351:                                             ; preds = %1347
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = add nsw i32 %1352, 1
  store i32 %1353, ptr @test_count, align 4, !tbaa !5
  %1354 = load ptr, ptr %35, align 8, !tbaa !9
  %1355 = load i64, ptr %34, align 8, !tbaa !15
  %1356 = call zeroext i1 @s2n_should_flush(ptr noundef %1354, i64 noundef %1355)
  br i1 %1356, label %1410, label %1357

1357:                                             ; preds = %1351
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

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

1366:                                             ; preds = %1359
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = call i32 @fileno(ptr noundef %1367) #10
  %1369 = call i32 @isatty(i32 noundef %1368) #10
  %1370 = icmp ne i32 %1369, 0
  br i1 %1370, label %1371, label %1388

1371:                                             ; preds = %1366
  %1372 = load i32, ptr %39, align 4, !tbaa !5
  %1373 = call ptr @__errno_location() #11
  store i32 %1372, ptr %1373, align 4, !tbaa !5
  %1374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1375 = load i32, ptr @test_count, align 4, !tbaa !5
  %1376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1377 = load i32, ptr %1376, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror(i32 noundef %1377, ptr noundef @.str.4)
  %1379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1380 = load i32, ptr %1379, align 4, !tbaa !5
  %1381 = call ptr @s2n_strerror_debug(i32 noundef %1380, ptr noundef @.str.4)
  %1382 = call ptr @__errno_location() #11
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = call ptr @strerror(i32 noundef %1383) #10
  %1385 = call ptr @__errno_location() #11
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1374, ptr noundef @.str.2, i32 noundef %1375, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %1378, ptr noundef %1381, ptr noundef %1384, i32 noundef %1386) #10
  br label %1405

1388:                                             ; preds = %1366, %1359
  %1389 = load i32, ptr %39, align 4, !tbaa !5
  %1390 = call ptr @__errno_location() #11
  store i32 %1389, ptr %1390, align 4, !tbaa !5
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = load i32, ptr @test_count, align 4, !tbaa !5
  %1393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1394 = load i32, ptr %1393, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror(i32 noundef %1394, ptr noundef @.str.4)
  %1396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1397 = load i32, ptr %1396, align 4, !tbaa !5
  %1398 = call ptr @s2n_strerror_debug(i32 noundef %1397, ptr noundef @.str.4)
  %1399 = call ptr @__errno_location() #11
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call ptr @strerror(i32 noundef %1400) #10
  %1402 = call ptr @__errno_location() #11
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1391, ptr noundef @.str.5, i32 noundef %1392, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %1395, ptr noundef %1398, ptr noundef %1401, i32 noundef %1403) #10
  br label %1405

1405:                                             ; preds = %1388, %1371
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %1406

1406:                                             ; preds = %1405
  br label %1407

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

1408:                                             ; No predecessors!
  br label %1409

1409:                                             ; preds = %1408
  br label %1410

1410:                                             ; preds = %1409, %1351
  br label %1411

1411:                                             ; preds = %1410
  br label %1412

1412:                                             ; preds = %1411
  %1413 = call i32 @s2n_connection_ptr_free(ptr noundef %35)
  %1414 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  store i32 %1413, ptr %1414, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  %1415 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1415, ptr %41, align 8, !tbaa !9
  br label %1416

1416:                                             ; preds = %1412
  %1417 = load i32, ptr @test_count, align 4, !tbaa !5
  %1418 = add nsw i32 %1417, 1
  store i32 %1418, ptr @test_count, align 4, !tbaa !5
  %1419 = load ptr, ptr %41, align 8, !tbaa !9
  %1420 = load ptr, ptr %20, align 8, !tbaa !9
  %1421 = call i32 @s2n_connection_set_config(ptr noundef %1419, ptr noundef %1420)
  %1422 = icmp eq i32 %1421, -1
  br i1 %1422, label %1423, label %1476

1423:                                             ; preds = %1416
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

1425:                                             ; preds = %1424
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %1426 = call ptr @__errno_location() #11
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  store i32 %1427, ptr %42, align 4, !tbaa !5
  %1428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1429 = call i32 @s2n_print_stacktrace(ptr noundef %1428)
  %1430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1431 = trunc i8 %1430 to i1
  br i1 %1431, label %1432, label %1454

1432:                                             ; preds = %1425
  %1433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1434 = call i32 @fileno(ptr noundef %1433) #10
  %1435 = call i32 @isatty(i32 noundef %1434) #10
  %1436 = icmp ne i32 %1435, 0
  br i1 %1436, label %1437, label %1454

1437:                                             ; preds = %1432
  %1438 = load i32, ptr %42, align 4, !tbaa !5
  %1439 = call ptr @__errno_location() #11
  store i32 %1438, ptr %1439, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = load i32, ptr @test_count, align 4, !tbaa !5
  %1442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1443 = load i32, ptr %1442, align 4, !tbaa !5
  %1444 = call ptr @s2n_strerror(i32 noundef %1443, ptr noundef @.str.4)
  %1445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror_debug(i32 noundef %1446, ptr noundef @.str.4)
  %1448 = call ptr @__errno_location() #11
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @strerror(i32 noundef %1449) #10
  %1451 = call ptr @__errno_location() #11
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1440, ptr noundef @.str.2, i32 noundef %1441, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 150, ptr noundef %1444, ptr noundef %1447, ptr noundef %1450, i32 noundef %1452) #10
  br label %1471

1454:                                             ; preds = %1432, %1425
  %1455 = load i32, ptr %42, align 4, !tbaa !5
  %1456 = call ptr @__errno_location() #11
  store i32 %1455, ptr %1456, align 4, !tbaa !5
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = load i32, ptr @test_count, align 4, !tbaa !5
  %1459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror(i32 noundef %1460, ptr noundef @.str.4)
  %1462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call ptr @s2n_strerror_debug(i32 noundef %1463, ptr noundef @.str.4)
  %1465 = call ptr @__errno_location() #11
  %1466 = load i32, ptr %1465, align 4, !tbaa !5
  %1467 = call ptr @strerror(i32 noundef %1466) #10
  %1468 = call ptr @__errno_location() #11
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  %1470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1457, ptr noundef @.str.5, i32 noundef %1458, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 150, ptr noundef %1461, ptr noundef %1464, ptr noundef %1467, i32 noundef %1469) #10
  br label %1471

1471:                                             ; preds = %1454, %1437
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %1472

1472:                                             ; preds = %1471
  br label %1473

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

1474:                                             ; No predecessors!
  br label %1475

1475:                                             ; preds = %1474
  br label %1476

1476:                                             ; preds = %1475, %1416
  br label %1477

1477:                                             ; preds = %1476
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %1481 = add nsw i32 %1480, 1
  store i32 %1481, ptr @test_count, align 4, !tbaa !5
  %1482 = load ptr, ptr %41, align 8, !tbaa !9
  %1483 = call zeroext i1 @s2n_should_flush(ptr noundef %1482, i64 noundef 20000)
  br i1 %1483, label %1484, label %1537

1484:                                             ; preds = %1479
  br label %1485

1485:                                             ; preds = %1484
  br label %1486

1486:                                             ; preds = %1485
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #10
  %1487 = call ptr @__errno_location() #11
  %1488 = load i32, ptr %1487, align 4, !tbaa !5
  store i32 %1488, ptr %43, align 4, !tbaa !5
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @s2n_print_stacktrace(ptr noundef %1489)
  %1491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1492 = trunc i8 %1491 to i1
  br i1 %1492, label %1493, label %1515

1493:                                             ; preds = %1486
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = call i32 @fileno(ptr noundef %1494) #10
  %1496 = call i32 @isatty(i32 noundef %1495) #10
  %1497 = icmp ne i32 %1496, 0
  br i1 %1497, label %1498, label %1515

1498:                                             ; preds = %1493
  %1499 = load i32, ptr %43, align 4, !tbaa !5
  %1500 = call ptr @__errno_location() #11
  store i32 %1499, ptr %1500, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = load i32, ptr @test_count, align 4, !tbaa !5
  %1503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1504 = load i32, ptr %1503, align 4, !tbaa !5
  %1505 = call ptr @s2n_strerror(i32 noundef %1504, ptr noundef @.str.4)
  %1506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror_debug(i32 noundef %1507, ptr noundef @.str.4)
  %1509 = call ptr @__errno_location() #11
  %1510 = load i32, ptr %1509, align 4, !tbaa !5
  %1511 = call ptr @strerror(i32 noundef %1510) #10
  %1512 = call ptr @__errno_location() #11
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1501, ptr noundef @.str.2, i32 noundef %1502, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 153, ptr noundef %1505, ptr noundef %1508, ptr noundef %1511, i32 noundef %1513) #10
  br label %1532

1515:                                             ; preds = %1493, %1486
  %1516 = load i32, ptr %43, align 4, !tbaa !5
  %1517 = call ptr @__errno_location() #11
  store i32 %1516, ptr %1517, align 4, !tbaa !5
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @s2n_strerror(i32 noundef %1521, ptr noundef @.str.4)
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror_debug(i32 noundef %1524, ptr noundef @.str.4)
  %1526 = call ptr @__errno_location() #11
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call ptr @strerror(i32 noundef %1527) #10
  %1529 = call ptr @__errno_location() #11
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1518, ptr noundef @.str.5, i32 noundef %1519, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 153, ptr noundef %1522, ptr noundef %1525, ptr noundef %1528, i32 noundef %1530) #10
  br label %1532

1532:                                             ; preds = %1515, %1498
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %1533

1533:                                             ; preds = %1532
  br label %1534

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

1535:                                             ; No predecessors!
  br label %1536

1536:                                             ; preds = %1535
  br label %1537

1537:                                             ; preds = %1536, %1479
  br label %1538

1538:                                             ; preds = %1537
  br label %1539

1539:                                             ; preds = %1538
  br label %1540

1540:                                             ; preds = %1539
  %1541 = load i32, ptr @test_count, align 4, !tbaa !5
  %1542 = add nsw i32 %1541, 1
  store i32 %1542, ptr @test_count, align 4, !tbaa !5
  %1543 = load ptr, ptr %41, align 8, !tbaa !9
  %1544 = getelementptr inbounds %struct.s2n_connection, ptr %1543, i32 0, i32 41
  %1545 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %1544, i32 noundef 20000)
  %1546 = icmp eq i32 %1545, -1
  br i1 %1546, label %1547, label %1600

1547:                                             ; preds = %1540
  br label %1548

1548:                                             ; preds = %1547
  br label %1549

1549:                                             ; preds = %1548
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %1550 = call ptr @__errno_location() #11
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  store i32 %1551, ptr %44, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = call i32 @s2n_print_stacktrace(ptr noundef %1552)
  %1554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1555 = trunc i8 %1554 to i1
  br i1 %1555, label %1556, label %1578

1556:                                             ; preds = %1549
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @fileno(ptr noundef %1557) #10
  %1559 = call i32 @isatty(i32 noundef %1558) #10
  %1560 = icmp ne i32 %1559, 0
  br i1 %1560, label %1561, label %1578

1561:                                             ; preds = %1556
  %1562 = load i32, ptr %44, align 4, !tbaa !5
  %1563 = call ptr @__errno_location() #11
  store i32 %1562, ptr %1563, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror(i32 noundef %1567, ptr noundef @.str.4)
  %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_debug(i32 noundef %1570, ptr noundef @.str.4)
  %1572 = call ptr @__errno_location() #11
  %1573 = load i32, ptr %1572, align 4, !tbaa !5
  %1574 = call ptr @strerror(i32 noundef %1573) #10
  %1575 = call ptr @__errno_location() #11
  %1576 = load i32, ptr %1575, align 4, !tbaa !5
  %1577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1564, ptr noundef @.str.2, i32 noundef %1565, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 156, ptr noundef %1568, ptr noundef %1571, ptr noundef %1574, i32 noundef %1576) #10
  br label %1595

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

1595:                                             ; preds = %1578, %1561
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %1596

1596:                                             ; preds = %1595
  br label %1597

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

1598:                                             ; No predecessors!
  br label %1599

1599:                                             ; preds = %1598
  br label %1600

1600:                                             ; preds = %1599, %1540
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601
  br label %1603

1603:                                             ; preds = %1602
  %1604 = load i32, ptr @test_count, align 4, !tbaa !5
  %1605 = add nsw i32 %1604, 1
  store i32 %1605, ptr @test_count, align 4, !tbaa !5
  %1606 = load ptr, ptr %41, align 8, !tbaa !9
  %1607 = call zeroext i1 @s2n_should_flush(ptr noundef %1606, i64 noundef 20000)
  br i1 %1607, label %1608, label %1661

1608:                                             ; preds = %1603
  br label %1609

1609:                                             ; preds = %1608
  br label %1610

1610:                                             ; preds = %1609
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %1611 = call ptr @__errno_location() #11
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  store i32 %1612, ptr %45, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = call i32 @s2n_print_stacktrace(ptr noundef %1613)
  %1615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1616 = trunc i8 %1615 to i1
  br i1 %1616, label %1617, label %1639

1617:                                             ; preds = %1610
  %1618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1619 = call i32 @fileno(ptr noundef %1618) #10
  %1620 = call i32 @isatty(i32 noundef %1619) #10
  %1621 = icmp ne i32 %1620, 0
  br i1 %1621, label %1622, label %1639

1622:                                             ; preds = %1617
  %1623 = load i32, ptr %45, align 4, !tbaa !5
  %1624 = call ptr @__errno_location() #11
  store i32 %1623, ptr %1624, 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 @.str.4)
  %1630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call ptr @s2n_strerror_debug(i32 noundef %1631, ptr noundef @.str.4)
  %1633 = call ptr @__errno_location() #11
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = call ptr @strerror(i32 noundef %1634) #10
  %1636 = call ptr @__errno_location() #11
  %1637 = load i32, ptr %1636, align 4, !tbaa !5
  %1638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1625, ptr noundef @.str.2, i32 noundef %1626, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 157, ptr noundef %1629, ptr noundef %1632, ptr noundef %1635, i32 noundef %1637) #10
  br label %1656

1639:                                             ; preds = %1617, %1610
  %1640 = load i32, ptr %45, align 4, !tbaa !5
  %1641 = call ptr @__errno_location() #11
  store i32 %1640, ptr %1641, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1645 = load i32, ptr %1644, align 4, !tbaa !5
  %1646 = call ptr @s2n_strerror(i32 noundef %1645, ptr noundef @.str.4)
  %1647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @s2n_strerror_debug(i32 noundef %1648, ptr noundef @.str.4)
  %1650 = call ptr @__errno_location() #11
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = call ptr @strerror(i32 noundef %1651) #10
  %1653 = call ptr @__errno_location() #11
  %1654 = load i32, ptr %1653, align 4, !tbaa !5
  %1655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1642, ptr noundef @.str.5, i32 noundef %1643, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 157, ptr noundef %1646, ptr noundef %1649, ptr noundef %1652, i32 noundef %1654) #10
  br label %1656

1656:                                             ; preds = %1639, %1622
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %1657

1657:                                             ; preds = %1656
  br label %1658

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

1659:                                             ; No predecessors!
  br label %1660

1660:                                             ; preds = %1659
  br label %1661

1661:                                             ; preds = %1660, %1603
  br label %1662

1662:                                             ; preds = %1661
  br label %1663

1663:                                             ; preds = %1662
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  %1664 = load ptr, ptr %41, align 8, !tbaa !9
  %1665 = getelementptr inbounds %struct.s2n_connection, ptr %1664, i32 0, i32 53
  %1666 = load i16, ptr %1665, align 8, !tbaa !55
  %1667 = zext i16 %1666 to i32
  %1668 = add nsw i32 %1667, 1024
  %1669 = add nsw i32 %1668, 5
  %1670 = sext i32 %1669 to i64
  store i64 %1670, ptr %46, align 8, !tbaa !15
  br label %1671

1671:                                             ; preds = %1663
  %1672 = load i32, ptr @test_count, align 4, !tbaa !5
  %1673 = add nsw i32 %1672, 1
  store i32 %1673, ptr @test_count, align 4, !tbaa !5
  %1674 = load ptr, ptr %41, align 8, !tbaa !9
  %1675 = getelementptr inbounds %struct.s2n_connection, ptr %1674, i32 0, i32 41
  %1676 = load i64, ptr %46, align 8, !tbaa !15
  %1677 = sub i64 20000, %1676
  %1678 = trunc i64 %1677 to i32
  %1679 = call i32 @s2n_stuffer_skip_write(ptr noundef %1675, i32 noundef %1678)
  %1680 = icmp eq i32 %1679, -1
  br i1 %1680, label %1681, label %1734

1681:                                             ; preds = %1671
  br label %1682

1682:                                             ; preds = %1681
  br label %1683

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

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

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

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

1729:                                             ; preds = %1712, %1695
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %1730

1730:                                             ; preds = %1729
  br label %1731

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

1732:                                             ; No predecessors!
  br label %1733

1733:                                             ; preds = %1732
  br label %1734

1734:                                             ; preds = %1733, %1671
  br label %1735

1735:                                             ; preds = %1734
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

1737:                                             ; preds = %1736
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %1739 = add nsw i32 %1738, 1
  store i32 %1739, ptr @test_count, align 4, !tbaa !5
  %1740 = load ptr, ptr %41, align 8, !tbaa !9
  %1741 = call zeroext i1 @s2n_should_flush(ptr noundef %1740, i64 noundef 20000)
  br i1 %1741, label %1742, label %1795

1742:                                             ; preds = %1737
  br label %1743

1743:                                             ; preds = %1742
  br label %1744

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

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

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

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

1790:                                             ; preds = %1773, %1756
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %1791

1791:                                             ; preds = %1790
  br label %1792

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

1793:                                             ; No predecessors!
  br label %1794

1794:                                             ; preds = %1793
  br label %1795

1795:                                             ; preds = %1794, %1737
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

1797:                                             ; preds = %1796
  br label %1798

1798:                                             ; preds = %1797
  %1799 = load i32, ptr @test_count, align 4, !tbaa !5
  %1800 = add nsw i32 %1799, 1
  store i32 %1800, ptr @test_count, align 4, !tbaa !5
  %1801 = load ptr, ptr %41, align 8, !tbaa !9
  %1802 = getelementptr inbounds %struct.s2n_connection, ptr %1801, i32 0, i32 41
  %1803 = call i32 @s2n_stuffer_skip_write(ptr noundef %1802, i32 noundef 1)
  %1804 = icmp eq i32 %1803, -1
  br i1 %1804, label %1805, label %1858

1805:                                             ; preds = %1798
  br label %1806

1806:                                             ; preds = %1805
  br label %1807

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

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

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

1836:                                             ; preds = %1814, %1807
  %1837 = load i32, ptr %49, align 4, !tbaa !5
  %1838 = call ptr @__errno_location() #11
  store i32 %1837, ptr %1838, 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 @.str.4)
  %1844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef @.str.4)
  %1847 = call ptr @__errno_location() #11
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call ptr @strerror(i32 noundef %1848) #10
  %1850 = call ptr @__errno_location() #11
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1839, ptr noundef @.str.5, i32 noundef %1840, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 165, ptr noundef %1843, ptr noundef %1846, ptr noundef %1849, i32 noundef %1851) #10
  br label %1853

1853:                                             ; preds = %1836, %1819
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

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

1856:                                             ; No predecessors!
  br label %1857

1857:                                             ; preds = %1856
  br label %1858

1858:                                             ; preds = %1857, %1798
  br label %1859

1859:                                             ; preds = %1858
  br label %1860

1860:                                             ; preds = %1859
  br label %1861

1861:                                             ; preds = %1860
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = load ptr, ptr %41, align 8, !tbaa !9
  %1865 = call zeroext i1 @s2n_should_flush(ptr noundef %1864, i64 noundef 20000)
  br i1 %1865, label %1919, label %1866

1866:                                             ; preds = %1861
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

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

1875:                                             ; preds = %1868
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = call i32 @fileno(ptr noundef %1876) #10
  %1878 = call i32 @isatty(i32 noundef %1877) #10
  %1879 = icmp ne i32 %1878, 0
  br i1 %1879, label %1880, label %1897

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

1897:                                             ; preds = %1875, %1868
  %1898 = load i32, ptr %50, align 4, !tbaa !5
  %1899 = call ptr @__errno_location() #11
  store i32 %1898, ptr %1899, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = load i32, ptr @test_count, align 4, !tbaa !5
  %1902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1903 = load i32, ptr %1902, align 4, !tbaa !5
  %1904 = call ptr @s2n_strerror(i32 noundef %1903, ptr noundef @.str.4)
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror_debug(i32 noundef %1906, ptr noundef @.str.4)
  %1908 = call ptr @__errno_location() #11
  %1909 = load i32, ptr %1908, align 4, !tbaa !5
  %1910 = call ptr @strerror(i32 noundef %1909) #10
  %1911 = call ptr @__errno_location() #11
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1900, ptr noundef @.str.5, i32 noundef %1901, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 166, ptr noundef %1904, ptr noundef %1907, ptr noundef %1910, i32 noundef %1912) #10
  br label %1914

1914:                                             ; preds = %1897, %1880
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %1915

1915:                                             ; preds = %1914
  br label %1916

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

1917:                                             ; No predecessors!
  br label %1918

1918:                                             ; preds = %1917
  br label %1919

1919:                                             ; preds = %1918, %1861
  br label %1920

1920:                                             ; preds = %1919
  br label %1921

1921:                                             ; preds = %1920
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  %1922 = call i32 @s2n_connection_ptr_free(ptr noundef %41)
  %1923 = getelementptr inbounds %struct.s2n_result, ptr %51, i32 0, i32 0
  store i32 %1922, ptr %1923, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #10
  %1924 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1924, ptr %52, align 8, !tbaa !9
  br label %1925

1925:                                             ; preds = %1921
  %1926 = load i32, ptr @test_count, align 4, !tbaa !5
  %1927 = add nsw i32 %1926, 1
  store i32 %1927, ptr @test_count, align 4, !tbaa !5
  %1928 = load ptr, ptr %52, align 8, !tbaa !9
  %1929 = icmp eq ptr %1928, null
  br i1 %1929, label %1930, label %1983

1930:                                             ; preds = %1925
  br label %1931

1931:                                             ; preds = %1930
  br label %1932

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

1939:                                             ; preds = %1932
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = call i32 @fileno(ptr noundef %1940) #10
  %1942 = call i32 @isatty(i32 noundef %1941) #10
  %1943 = icmp ne i32 %1942, 0
  br i1 %1943, label %1944, label %1961

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

1961:                                             ; preds = %1939, %1932
  %1962 = load i32, ptr %53, align 4, !tbaa !5
  %1963 = call ptr @__errno_location() #11
  store i32 %1962, ptr %1963, align 4, !tbaa !5
  %1964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1965 = load i32, ptr @test_count, align 4, !tbaa !5
  %1966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1967 = load i32, ptr %1966, align 4, !tbaa !5
  %1968 = call ptr @s2n_strerror(i32 noundef %1967, ptr noundef @.str.4)
  %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_debug(i32 noundef %1970, ptr noundef @.str.4)
  %1972 = call ptr @__errno_location() #11
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @strerror(i32 noundef %1973) #10
  %1975 = call ptr @__errno_location() #11
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1964, ptr noundef @.str.5, i32 noundef %1965, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 176, ptr noundef %1968, ptr noundef %1971, ptr noundef %1974, i32 noundef %1976) #10
  br label %1978

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

1979:                                             ; preds = %1978
  br label %1980

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

1981:                                             ; No predecessors!
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

1983:                                             ; preds = %1982, %1925
  br label %1984

1984:                                             ; preds = %1983
  br label %1985

1985:                                             ; preds = %1984
  br label %1986

1986:                                             ; preds = %1985
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = add nsw i32 %1987, 1
  store i32 %1988, ptr @test_count, align 4, !tbaa !5
  %1989 = load ptr, ptr %52, align 8, !tbaa !9
  %1990 = call i32 @s2n_connection_set_secrets(ptr noundef %1989)
  %1991 = getelementptr inbounds %struct.s2n_result, ptr %54, i32 0, i32 0
  store i32 %1990, ptr %1991, align 4
  %1992 = getelementptr inbounds %struct.s2n_result, ptr %54, i32 0, i32 0
  %1993 = load i32, ptr %1992, align 4
  %1994 = call zeroext i1 @s2n_result_is_ok(i32 %1993)
  br i1 %1994, label %2048, label %1995

1995:                                             ; preds = %1986
  br label %1996

1996:                                             ; preds = %1995
  br label %1997

1997:                                             ; preds = %1996
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  store i32 %1999, ptr %55, 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 %55, 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.25, ptr noundef @.str.1, i32 noundef 177, ptr noundef %2016, ptr noundef %2019, ptr noundef %2022, i32 noundef %2024) #10
  br label %2043

2026:                                             ; preds = %2004, %1997
  %2027 = load i32, ptr %55, 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.25, ptr noundef @.str.1, i32 noundef 177, 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 %55) #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, %1986
  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 %52, align 8, !tbaa !9
  %2055 = load ptr, ptr %20, align 8, !tbaa !9
  %2056 = call i32 @s2n_connection_set_config(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 %56) #10
  %2061 = call ptr @__errno_location() #11
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  store i32 %2062, ptr %56, 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 %56, 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.16, ptr noundef @.str.1, i32 noundef 178, ptr noundef %2079, ptr noundef %2082, ptr noundef %2085, i32 noundef %2087) #10
  br label %2106

2089:                                             ; preds = %2067, %2060
  %2090 = load i32, ptr %56, 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.16, ptr noundef @.str.1, i32 noundef 178, 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 %56) #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
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %57, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  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 %52, align 8, !tbaa !9
  %2118 = call i32 @s2n_connection_set_send_cb(ptr noundef %2117, ptr noundef @s2n_test_send_cb)
  %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 %58) #10
  %2123 = call ptr @__errno_location() #11
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  store i32 %2124, ptr %58, 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 %58, 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.26, ptr noundef @.str.1, i32 noundef 181, ptr noundef %2141, ptr noundef %2144, ptr noundef %2147, i32 noundef %2149) #10
  br label %2168

2151:                                             ; preds = %2129, %2122
  %2152 = load i32, ptr %58, 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.26, ptr noundef @.str.1, i32 noundef 181, 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 %58) #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 %52, align 8, !tbaa !9
  %2180 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2179, ptr noundef %57)
  %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 %59) #10
  %2185 = call ptr @__errno_location() #11
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  store i32 %2186, ptr %59, 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 %59, 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.27, ptr noundef @.str.1, i32 noundef 182, ptr noundef %2203, ptr noundef %2206, ptr noundef %2209, i32 noundef %2211) #10
  br label %2230

2213:                                             ; preds = %2191, %2184
  %2214 = load i32, ptr %59, 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.27, ptr noundef @.str.1, i32 noundef 182, 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 %59) #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
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  store i32 0, ptr %60, align 4, !tbaa !5
  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 %52, align 8, !tbaa !9
  %2242 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %2243 = call i64 @s2n_send(ptr noundef %2241, ptr noundef %2242, i64 noundef 12, ptr noundef %60)
  %2244 = icmp eq i64 %2243, 12
  br i1 %2244, label %2298, label %2245

2245:                                             ; preds = %2238
  br label %2246

2246:                                             ; preds = %2245
  br label %2247

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

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

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

2276:                                             ; preds = %2254, %2247
  %2277 = load i32, ptr %61, align 4, !tbaa !5
  %2278 = call ptr @__errno_location() #11
  store i32 %2277, ptr %2278, align 4, !tbaa !5
  %2279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2282 = load i32, ptr %2281, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror(i32 noundef %2282, ptr noundef @.str.4)
  %2284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2285 = load i32, ptr %2284, align 4, !tbaa !5
  %2286 = call ptr @s2n_strerror_debug(i32 noundef %2285, ptr noundef @.str.4)
  %2287 = call ptr @__errno_location() #11
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #10
  %2290 = call ptr @__errno_location() #11
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2279, ptr noundef @.str.5, i32 noundef %2280, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 185, ptr noundef %2283, ptr noundef %2286, ptr noundef %2289, i32 noundef %2291) #10
  br label %2293

2293:                                             ; preds = %2276, %2259
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

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

2296:                                             ; No predecessors!
  br label %2297

2297:                                             ; preds = %2296
  br label %2298

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

2299:                                             ; preds = %2298
  br label %2300

2300:                                             ; preds = %2299
  br label %2301

2301:                                             ; preds = %2300
  %2302 = load i32, ptr @test_count, align 4, !tbaa !5
  %2303 = add nsw i32 %2302, 1
  store i32 %2303, ptr @test_count, align 4, !tbaa !5
  %2304 = getelementptr inbounds %struct.s2n_send_context, ptr %57, i32 0, i32 0
  %2305 = load i64, ptr %2304, align 8, !tbaa !24
  %2306 = icmp eq i64 %2305, 1
  br i1 %2306, label %2360, label %2307

2307:                                             ; preds = %2301
  br label %2308

2308:                                             ; preds = %2307
  br label %2309

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

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

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

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

2355:                                             ; preds = %2338, %2321
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2356

2356:                                             ; preds = %2355
  br label %2357

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

2358:                                             ; No predecessors!
  br label %2359

2359:                                             ; preds = %2358
  br label %2360

2360:                                             ; preds = %2359, %2301
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

2362:                                             ; preds = %2361
  br label %2363

2363:                                             ; preds = %2362
  %2364 = load i32, ptr @test_count, align 4, !tbaa !5
  %2365 = add nsw i32 %2364, 1
  store i32 %2365, ptr @test_count, align 4, !tbaa !5
  %2366 = getelementptr inbounds %struct.s2n_send_context, ptr %57, i32 0, i32 1
  %2367 = load i64, ptr %2366, align 8, !tbaa !26
  %2368 = load ptr, ptr %52, align 8, !tbaa !9
  %2369 = getelementptr inbounds %struct.s2n_connection, ptr %2368, i32 0, i32 59
  %2370 = load i64, ptr %2369, align 8, !tbaa !57
  %2371 = icmp eq i64 %2367, %2370
  br i1 %2371, label %2425, label %2372

2372:                                             ; preds = %2363
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

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

2381:                                             ; preds = %2374
  %2382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2383 = call i32 @fileno(ptr noundef %2382) #10
  %2384 = call i32 @isatty(i32 noundef %2383) #10
  %2385 = icmp ne i32 %2384, 0
  br i1 %2385, label %2386, label %2403

2386:                                             ; preds = %2381
  %2387 = load i32, ptr %63, align 4, !tbaa !5
  %2388 = call ptr @__errno_location() #11
  store i32 %2387, ptr %2388, align 4, !tbaa !5
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = load i32, ptr @test_count, align 4, !tbaa !5
  %2391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2392 = load i32, ptr %2391, align 4, !tbaa !5
  %2393 = call ptr @s2n_strerror(i32 noundef %2392, ptr noundef @.str.4)
  %2394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2395 = load i32, ptr %2394, align 4, !tbaa !5
  %2396 = call ptr @s2n_strerror_debug(i32 noundef %2395, ptr noundef @.str.4)
  %2397 = call ptr @__errno_location() #11
  %2398 = load i32, ptr %2397, align 4, !tbaa !5
  %2399 = call ptr @strerror(i32 noundef %2398) #10
  %2400 = call ptr @__errno_location() #11
  %2401 = load i32, ptr %2400, align 4, !tbaa !5
  %2402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2389, ptr noundef @.str.2, i32 noundef %2390, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 188, ptr noundef %2393, ptr noundef %2396, ptr noundef %2399, i32 noundef %2401) #10
  br label %2420

2403:                                             ; preds = %2381, %2374
  %2404 = load i32, ptr %63, align 4, !tbaa !5
  %2405 = call ptr @__errno_location() #11
  store i32 %2404, ptr %2405, align 4, !tbaa !5
  %2406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2407 = load i32, ptr @test_count, align 4, !tbaa !5
  %2408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2409 = load i32, ptr %2408, align 4, !tbaa !5
  %2410 = call ptr @s2n_strerror(i32 noundef %2409, ptr noundef @.str.4)
  %2411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2412 = load i32, ptr %2411, align 4, !tbaa !5
  %2413 = call ptr @s2n_strerror_debug(i32 noundef %2412, ptr noundef @.str.4)
  %2414 = call ptr @__errno_location() #11
  %2415 = load i32, ptr %2414, align 4, !tbaa !5
  %2416 = call ptr @strerror(i32 noundef %2415) #10
  %2417 = call ptr @__errno_location() #11
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2406, ptr noundef @.str.5, i32 noundef %2407, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 188, ptr noundef %2410, ptr noundef %2413, ptr noundef %2416, i32 noundef %2418) #10
  br label %2420

2420:                                             ; preds = %2403, %2386
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %2421

2421:                                             ; preds = %2420
  br label %2422

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

2423:                                             ; No predecessors!
  br label %2424

2424:                                             ; preds = %2423
  br label %2425

2425:                                             ; preds = %2424, %2363
  br label %2426

2426:                                             ; preds = %2425
  br label %2427

2427:                                             ; preds = %2426
  br label %2428

2428:                                             ; preds = %2427
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = add nsw i32 %2429, 1
  store i32 %2430, ptr @test_count, align 4, !tbaa !5
  %2431 = getelementptr inbounds %struct.s2n_send_context, ptr %57, i32 0, i32 1
  %2432 = load i64, ptr %2431, align 8, !tbaa !26
  %2433 = icmp ugt i64 %2432, 12
  br i1 %2433, label %2487, label %2434

2434:                                             ; preds = %2428
  br label %2435

2435:                                             ; preds = %2434
  br label %2436

2436:                                             ; preds = %2435
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %2437 = call ptr @__errno_location() #11
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  store i32 %2438, ptr %64, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = call i32 @s2n_print_stacktrace(ptr noundef %2439)
  %2441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2442 = trunc i8 %2441 to i1
  br i1 %2442, label %2443, label %2465

2443:                                             ; preds = %2436
  %2444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2445 = call i32 @fileno(ptr noundef %2444) #10
  %2446 = call i32 @isatty(i32 noundef %2445) #10
  %2447 = icmp ne i32 %2446, 0
  br i1 %2447, label %2448, label %2465

2448:                                             ; preds = %2443
  %2449 = load i32, ptr %64, align 4, !tbaa !5
  %2450 = call ptr @__errno_location() #11
  store i32 %2449, ptr %2450, align 4, !tbaa !5
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = load i32, ptr @test_count, align 4, !tbaa !5
  %2453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @s2n_strerror(i32 noundef %2454, ptr noundef @.str.4)
  %2456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror_debug(i32 noundef %2457, ptr noundef @.str.4)
  %2459 = call ptr @__errno_location() #11
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #10
  %2462 = call ptr @__errno_location() #11
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2451, ptr noundef @.str.2, i32 noundef %2452, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 189, ptr noundef %2455, ptr noundef %2458, ptr noundef %2461, i32 noundef %2463) #10
  br label %2482

2465:                                             ; preds = %2443, %2436
  %2466 = load i32, ptr %64, align 4, !tbaa !5
  %2467 = call ptr @__errno_location() #11
  store i32 %2466, ptr %2467, align 4, !tbaa !5
  %2468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = call ptr @s2n_strerror(i32 noundef %2471, ptr noundef @.str.4)
  %2473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2474 = load i32, ptr %2473, align 4, !tbaa !5
  %2475 = call ptr @s2n_strerror_debug(i32 noundef %2474, ptr noundef @.str.4)
  %2476 = call ptr @__errno_location() #11
  %2477 = load i32, ptr %2476, align 4, !tbaa !5
  %2478 = call ptr @strerror(i32 noundef %2477) #10
  %2479 = call ptr @__errno_location() #11
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  %2481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2468, ptr noundef @.str.5, i32 noundef %2469, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 189, ptr noundef %2472, ptr noundef %2475, ptr noundef %2478, i32 noundef %2480) #10
  br label %2482

2482:                                             ; preds = %2465, %2448
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %2483

2483:                                             ; preds = %2482
  br label %2484

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

2485:                                             ; No predecessors!
  br label %2486

2486:                                             ; preds = %2485
  br label %2487

2487:                                             ; preds = %2486, %2428
  br label %2488

2488:                                             ; preds = %2487
  br label %2489

2489:                                             ; preds = %2488
  br label %2490

2490:                                             ; preds = %2489
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = add nsw i32 %2491, 1
  store i32 %2492, ptr @test_count, align 4, !tbaa !5
  %2493 = load ptr, ptr %52, align 8, !tbaa !9
  %2494 = getelementptr inbounds %struct.s2n_connection, ptr %2493, i32 0, i32 41
  %2495 = getelementptr inbounds %struct.s2n_stuffer, ptr %2494, i32 0, i32 0
  %2496 = getelementptr inbounds %struct.s2n_blob, ptr %2495, i32 0, i32 1
  %2497 = load i32, ptr %2496, align 8, !tbaa !58
  %2498 = zext i32 %2497 to i64
  %2499 = icmp eq i64 %2498, 20000
  br i1 %2499, label %2553, label %2500

2500:                                             ; preds = %2490
  br label %2501

2501:                                             ; preds = %2500
  br label %2502

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

2509:                                             ; preds = %2502
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @fileno(ptr noundef %2510) #10
  %2512 = call i32 @isatty(i32 noundef %2511) #10
  %2513 = icmp ne i32 %2512, 0
  br i1 %2513, label %2514, label %2531

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

2531:                                             ; preds = %2509, %2502
  %2532 = load i32, ptr %65, align 4, !tbaa !5
  %2533 = call ptr @__errno_location() #11
  store i32 %2532, ptr %2533, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = load i32, ptr @test_count, align 4, !tbaa !5
  %2536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2537 = load i32, ptr %2536, align 4, !tbaa !5
  %2538 = call ptr @s2n_strerror(i32 noundef %2537, ptr noundef @.str.4)
  %2539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2540 = load i32, ptr %2539, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror_debug(i32 noundef %2540, ptr noundef @.str.4)
  %2542 = call ptr @__errno_location() #11
  %2543 = load i32, ptr %2542, align 4, !tbaa !5
  %2544 = call ptr @strerror(i32 noundef %2543) #10
  %2545 = call ptr @__errno_location() #11
  %2546 = load i32, ptr %2545, align 4, !tbaa !5
  %2547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2534, ptr noundef @.str.5, i32 noundef %2535, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 192, ptr noundef %2538, ptr noundef %2541, ptr noundef %2544, i32 noundef %2546) #10
  br label %2548

2548:                                             ; preds = %2531, %2514
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2549

2549:                                             ; preds = %2548
  br label %2550

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

2551:                                             ; No predecessors!
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

2553:                                             ; preds = %2552, %2490
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #10
  %2556 = call i32 @s2n_connection_ptr_free(ptr noundef %52)
  %2557 = getelementptr inbounds %struct.s2n_result, ptr %66, i32 0, i32 0
  store i32 %2556, ptr %2557, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  %2558 = call ptr @s2n_config_new()
  store ptr %2558, ptr %67, align 8, !tbaa !9
  br label %2559

2559:                                             ; preds = %2555
  %2560 = load i32, ptr @test_count, align 4, !tbaa !5
  %2561 = add nsw i32 %2560, 1
  store i32 %2561, ptr @test_count, align 4, !tbaa !5
  %2562 = load ptr, ptr %67, align 8, !tbaa !9
  %2563 = icmp eq ptr %2562, null
  br i1 %2563, label %2564, label %2617

2564:                                             ; preds = %2559
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

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

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

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

2595:                                             ; preds = %2573, %2566
  %2596 = load i32, ptr %68, align 4, !tbaa !5
  %2597 = call ptr @__errno_location() #11
  store i32 %2596, ptr %2597, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = load i32, ptr @test_count, align 4, !tbaa !5
  %2600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  %2602 = call ptr @s2n_strerror(i32 noundef %2601, ptr noundef @.str.4)
  %2603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2604 = load i32, ptr %2603, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror_debug(i32 noundef %2604, ptr noundef @.str.4)
  %2606 = call ptr @__errno_location() #11
  %2607 = load i32, ptr %2606, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #10
  %2609 = call ptr @__errno_location() #11
  %2610 = load i32, ptr %2609, align 4, !tbaa !5
  %2611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2598, ptr noundef @.str.5, i32 noundef %2599, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 205, ptr noundef %2602, ptr noundef %2605, ptr noundef %2608, i32 noundef %2610) #10
  br label %2612

2612:                                             ; preds = %2595, %2578
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %2613

2613:                                             ; preds = %2612
  br label %2614

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

2615:                                             ; No predecessors!
  br label %2616

2616:                                             ; preds = %2615
  br label %2617

2617:                                             ; preds = %2616, %2559
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  br label %2620

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

2626:                                             ; preds = %2620
  br label %2627

2627:                                             ; preds = %2626
  br label %2628

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

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

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

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

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

2675:                                             ; preds = %2674
  br label %2676

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

2677:                                             ; No predecessors!
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

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

2680:                                             ; preds = %2679
  br label %2681

2681:                                             ; preds = %2680
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #10
  %2682 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2682, ptr %70, align 8, !tbaa !9
  br label %2683

2683:                                             ; preds = %2681
  %2684 = load i32, ptr @test_count, align 4, !tbaa !5
  %2685 = add nsw i32 %2684, 1
  store i32 %2685, ptr @test_count, align 4, !tbaa !5
  %2686 = load ptr, ptr %70, align 8, !tbaa !9
  %2687 = icmp eq ptr %2686, null
  br i1 %2687, label %2688, label %2741

2688:                                             ; preds = %2683
  br label %2689

2689:                                             ; preds = %2688
  br label %2690

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

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

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

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

2736:                                             ; preds = %2719, %2702
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %2737

2737:                                             ; preds = %2736
  br label %2738

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

2739:                                             ; No predecessors!
  br label %2740

2740:                                             ; preds = %2739
  br label %2741

2741:                                             ; preds = %2740, %2683
  br label %2742

2742:                                             ; preds = %2741
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

2744:                                             ; preds = %2743
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = add nsw i32 %2745, 1
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %2747 = load ptr, ptr %70, align 8, !tbaa !9
  %2748 = call i32 @s2n_connection_set_secrets(ptr noundef %2747)
  %2749 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  store i32 %2748, ptr %2749, align 4
  %2750 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  %2751 = load i32, ptr %2750, align 4
  %2752 = call zeroext i1 @s2n_result_is_ok(i32 %2751)
  br i1 %2752, label %2806, label %2753

2753:                                             ; preds = %2744
  br label %2754

2754:                                             ; preds = %2753
  br label %2755

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

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

2767:                                             ; preds = %2762
  %2768 = load i32, ptr %73, align 4, !tbaa !5
  %2769 = call ptr @__errno_location() #11
  store i32 %2768, ptr %2769, align 4, !tbaa !5
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %2773, ptr noundef @.str.4)
  %2775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call ptr @s2n_strerror_debug(i32 noundef %2776, ptr noundef @.str.4)
  %2778 = call ptr @__errno_location() #11
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = call ptr @strerror(i32 noundef %2779) #10
  %2781 = call ptr @__errno_location() #11
  %2782 = load i32, ptr %2781, align 4, !tbaa !5
  %2783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2770, ptr noundef @.str.2, i32 noundef %2771, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 211, ptr noundef %2774, ptr noundef %2777, ptr noundef %2780, i32 noundef %2782) #10
  br label %2801

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

2801:                                             ; preds = %2784, %2767
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #10
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

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

2804:                                             ; No predecessors!
  br label %2805

2805:                                             ; preds = %2804
  br label %2806

2806:                                             ; preds = %2805, %2744
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

2809:                                             ; preds = %2808
  %2810 = load i32, ptr @test_count, align 4, !tbaa !5
  %2811 = add nsw i32 %2810, 1
  store i32 %2811, ptr @test_count, align 4, !tbaa !5
  %2812 = load ptr, ptr %70, align 8, !tbaa !9
  %2813 = load ptr, ptr %67, align 8, !tbaa !9
  %2814 = call i32 @s2n_connection_set_config(ptr noundef %2812, ptr noundef %2813)
  %2815 = icmp eq i32 %2814, -1
  br i1 %2815, label %2816, label %2869

2816:                                             ; preds = %2809
  br label %2817

2817:                                             ; preds = %2816
  br label %2818

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

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

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

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

2864:                                             ; preds = %2847, %2830
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

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

2867:                                             ; No predecessors!
  br label %2868

2868:                                             ; preds = %2867
  br label %2869

2869:                                             ; preds = %2868, %2809
  br label %2870

2870:                                             ; preds = %2869
  br label %2871

2871:                                             ; preds = %2870
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %75, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %2872

2872:                                             ; preds = %2871
  %2873 = load i32, ptr @test_count, align 4, !tbaa !5
  %2874 = add nsw i32 %2873, 1
  store i32 %2874, ptr @test_count, align 4, !tbaa !5
  %2875 = load ptr, ptr %70, align 8, !tbaa !9
  %2876 = call i32 @s2n_connection_set_send_cb(ptr noundef %2875, ptr noundef @s2n_test_send_cb)
  %2877 = icmp eq i32 %2876, -1
  br i1 %2877, label %2878, label %2931

2878:                                             ; preds = %2872
  br label %2879

2879:                                             ; preds = %2878
  br label %2880

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

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

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

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

2926:                                             ; preds = %2909, %2892
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %2927

2927:                                             ; preds = %2926
  br label %2928

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

2929:                                             ; No predecessors!
  br label %2930

2930:                                             ; preds = %2929
  br label %2931

2931:                                             ; preds = %2930, %2872
  br label %2932

2932:                                             ; preds = %2931
  br label %2933

2933:                                             ; preds = %2932
  br label %2934

2934:                                             ; preds = %2933
  %2935 = load i32, ptr @test_count, align 4, !tbaa !5
  %2936 = add nsw i32 %2935, 1
  store i32 %2936, ptr @test_count, align 4, !tbaa !5
  %2937 = load ptr, ptr %70, align 8, !tbaa !9
  %2938 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2937, ptr noundef %75)
  %2939 = icmp eq i32 %2938, -1
  br i1 %2939, label %2940, label %2993

2940:                                             ; preds = %2934
  br label %2941

2941:                                             ; preds = %2940
  br label %2942

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

2949:                                             ; preds = %2942
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @fileno(ptr noundef %2950) #10
  %2952 = call i32 @isatty(i32 noundef %2951) #10
  %2953 = icmp ne i32 %2952, 0
  br i1 %2953, label %2954, label %2971

2954:                                             ; preds = %2949
  %2955 = load i32, ptr %77, align 4, !tbaa !5
  %2956 = call ptr @__errno_location() #11
  store i32 %2955, ptr %2956, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2960, ptr noundef @.str.4)
  %2962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call ptr @s2n_strerror_debug(i32 noundef %2963, ptr noundef @.str.4)
  %2965 = call ptr @__errno_location() #11
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call ptr @strerror(i32 noundef %2966) #10
  %2968 = call ptr @__errno_location() #11
  %2969 = load i32, ptr %2968, align 4, !tbaa !5
  %2970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2957, ptr noundef @.str.2, i32 noundef %2958, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 216, ptr noundef %2961, ptr noundef %2964, ptr noundef %2967, i32 noundef %2969) #10
  br label %2988

2971:                                             ; preds = %2949, %2942
  %2972 = load i32, ptr %77, align 4, !tbaa !5
  %2973 = call ptr @__errno_location() #11
  store i32 %2972, ptr %2973, align 4, !tbaa !5
  %2974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2975 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2977, ptr noundef @.str.4)
  %2979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call ptr @s2n_strerror_debug(i32 noundef %2980, ptr noundef @.str.4)
  %2982 = call ptr @__errno_location() #11
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call ptr @strerror(i32 noundef %2983) #10
  %2985 = call ptr @__errno_location() #11
  %2986 = load i32, ptr %2985, align 4, !tbaa !5
  %2987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2974, ptr noundef @.str.5, i32 noundef %2975, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 216, ptr noundef %2978, ptr noundef %2981, ptr noundef %2984, i32 noundef %2986) #10
  br label %2988

2988:                                             ; preds = %2971, %2954
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %2989

2989:                                             ; preds = %2988
  br label %2990

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

2991:                                             ; No predecessors!
  br label %2992

2992:                                             ; preds = %2991
  br label %2993

2993:                                             ; preds = %2992, %2934
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

2995:                                             ; preds = %2994
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #10
  store i64 12, ptr %78, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  store i32 0, ptr %79, align 4, !tbaa !5
  br label %2996

2996:                                             ; preds = %2995
  %2997 = load i32, ptr @test_count, align 4, !tbaa !5
  %2998 = add nsw i32 %2997, 1
  store i32 %2998, ptr @test_count, align 4, !tbaa !5
  %2999 = load ptr, ptr %70, align 8, !tbaa !9
  %3000 = getelementptr inbounds [12 x i8], ptr %9, i64 0, i64 0
  %3001 = load i64, ptr %78, align 8, !tbaa !15
  %3002 = call i64 @s2n_send(ptr noundef %2999, ptr noundef %3000, i64 noundef %3001, ptr noundef %79)
  %3003 = load i64, ptr %78, align 8, !tbaa !15
  %3004 = icmp eq i64 %3002, %3003
  br i1 %3004, label %3058, label %3005

3005:                                             ; preds = %2996
  br label %3006

3006:                                             ; preds = %3005
  br label %3007

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

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

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

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

3053:                                             ; preds = %3036, %3019
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

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

3056:                                             ; No predecessors!
  br label %3057

3057:                                             ; preds = %3056
  br label %3058

3058:                                             ; preds = %3057, %2996
  br label %3059

3059:                                             ; preds = %3058
  br label %3060

3060:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #10
  %3061 = load i64, ptr %78, align 8, !tbaa !15
  %3062 = srem i64 %3061, 5
  %3063 = icmp ne i64 %3062, 0
  %3064 = zext i1 %3063 to i64
  %3065 = select i1 %3063, i32 1, i32 0
  %3066 = trunc i32 %3065 to i8
  store i8 %3066, ptr %81, align 1, !tbaa !59
  br label %3067

3067:                                             ; preds = %3060
  %3068 = load i32, ptr @test_count, align 4, !tbaa !5
  %3069 = add nsw i32 %3068, 1
  store i32 %3069, ptr @test_count, align 4, !tbaa !5
  %3070 = getelementptr inbounds %struct.s2n_send_context, ptr %75, i32 0, i32 0
  %3071 = load i64, ptr %3070, align 8, !tbaa !24
  %3072 = load i64, ptr %78, align 8, !tbaa !15
  %3073 = sdiv i64 %3072, 5
  %3074 = load i8, ptr %81, align 1, !tbaa !59
  %3075 = zext i8 %3074 to i64
  %3076 = add nsw i64 %3073, %3075
  %3077 = icmp eq i64 %3071, %3076
  br i1 %3077, label %3131, label %3078

3078:                                             ; preds = %3067
  br label %3079

3079:                                             ; preds = %3078
  br label %3080

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

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

3092:                                             ; preds = %3087
  %3093 = load i32, ptr %82, 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.2, i32 noundef %3096, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 226, ptr noundef %3099, ptr noundef %3102, ptr noundef %3105, i32 noundef %3107) #10
  br label %3126

3109:                                             ; preds = %3087, %3080
  %3110 = load i32, ptr %82, align 4, !tbaa !5
  %3111 = call ptr @__errno_location() #11
  store i32 %3110, ptr %3111, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = load i32, ptr @test_count, align 4, !tbaa !5
  %3114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3115 = load i32, ptr %3114, align 4, !tbaa !5
  %3116 = call ptr @s2n_strerror(i32 noundef %3115, ptr noundef @.str.4)
  %3117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3118 = load i32, ptr %3117, align 4, !tbaa !5
  %3119 = call ptr @s2n_strerror_debug(i32 noundef %3118, ptr noundef @.str.4)
  %3120 = call ptr @__errno_location() #11
  %3121 = load i32, ptr %3120, align 4, !tbaa !5
  %3122 = call ptr @strerror(i32 noundef %3121) #10
  %3123 = call ptr @__errno_location() #11
  %3124 = load i32, ptr %3123, align 4, !tbaa !5
  %3125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3112, ptr noundef @.str.5, i32 noundef %3113, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 226, ptr noundef %3116, ptr noundef %3119, ptr noundef %3122, i32 noundef %3124) #10
  br label %3126

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

3127:                                             ; preds = %3126
  br label %3128

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

3129:                                             ; No predecessors!
  br label %3130

3130:                                             ; preds = %3129
  br label %3131

3131:                                             ; preds = %3130, %3067
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

3133:                                             ; preds = %3132
  br label %3134

3134:                                             ; preds = %3133
  %3135 = load i32, ptr @test_count, align 4, !tbaa !5
  %3136 = add nsw i32 %3135, 1
  store i32 %3136, ptr @test_count, align 4, !tbaa !5
  %3137 = getelementptr inbounds %struct.s2n_send_context, ptr %75, i32 0, i32 1
  %3138 = load i64, ptr %3137, align 8, !tbaa !26
  %3139 = load ptr, ptr %70, align 8, !tbaa !9
  %3140 = getelementptr inbounds %struct.s2n_connection, ptr %3139, i32 0, i32 59
  %3141 = load i64, ptr %3140, align 8, !tbaa !57
  %3142 = icmp eq i64 %3138, %3141
  br i1 %3142, label %3196, label %3143

3143:                                             ; preds = %3134
  br label %3144

3144:                                             ; preds = %3143
  br label %3145

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

3152:                                             ; preds = %3145
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = call i32 @fileno(ptr noundef %3153) #10
  %3155 = call i32 @isatty(i32 noundef %3154) #10
  %3156 = icmp ne i32 %3155, 0
  br i1 %3156, label %3157, label %3174

3157:                                             ; preds = %3152
  %3158 = load i32, ptr %83, align 4, !tbaa !5
  %3159 = call ptr @__errno_location() #11
  store i32 %3158, ptr %3159, align 4, !tbaa !5
  %3160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3161 = load i32, ptr @test_count, align 4, !tbaa !5
  %3162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call ptr @s2n_strerror(i32 noundef %3163, ptr noundef @.str.4)
  %3165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror_debug(i32 noundef %3166, ptr noundef @.str.4)
  %3168 = call ptr @__errno_location() #11
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @strerror(i32 noundef %3169) #10
  %3171 = call ptr @__errno_location() #11
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3160, ptr noundef @.str.2, i32 noundef %3161, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 227, ptr noundef %3164, ptr noundef %3167, ptr noundef %3170, i32 noundef %3172) #10
  br label %3191

3174:                                             ; preds = %3152, %3145
  %3175 = load i32, ptr %83, align 4, !tbaa !5
  %3176 = call ptr @__errno_location() #11
  store i32 %3175, ptr %3176, align 4, !tbaa !5
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = load i32, ptr @test_count, align 4, !tbaa !5
  %3179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3180 = load i32, ptr %3179, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror(i32 noundef %3180, ptr noundef @.str.4)
  %3182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror_debug(i32 noundef %3183, ptr noundef @.str.4)
  %3185 = call ptr @__errno_location() #11
  %3186 = load i32, ptr %3185, align 4, !tbaa !5
  %3187 = call ptr @strerror(i32 noundef %3186) #10
  %3188 = call ptr @__errno_location() #11
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3177, ptr noundef @.str.5, i32 noundef %3178, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 227, ptr noundef %3181, ptr noundef %3184, ptr noundef %3187, i32 noundef %3189) #10
  br label %3191

3191:                                             ; preds = %3174, %3157
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #10
  br label %3192

3192:                                             ; preds = %3191
  br label %3193

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

3194:                                             ; No predecessors!
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

3196:                                             ; preds = %3195, %3134
  br label %3197

3197:                                             ; preds = %3196
  br label %3198

3198:                                             ; preds = %3197
  br label %3199

3199:                                             ; preds = %3198
  %3200 = load i32, ptr @test_count, align 4, !tbaa !5
  %3201 = add nsw i32 %3200, 1
  store i32 %3201, ptr @test_count, align 4, !tbaa !5
  %3202 = getelementptr inbounds %struct.s2n_send_context, ptr %75, i32 0, i32 1
  %3203 = load i64, ptr %3202, align 8, !tbaa !26
  %3204 = load i64, ptr %78, align 8, !tbaa !15
  %3205 = icmp ugt i64 %3203, %3204
  br i1 %3205, label %3259, label %3206

3206:                                             ; preds = %3199
  br label %3207

3207:                                             ; preds = %3206
  br label %3208

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

3215:                                             ; preds = %3208
  %3216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3217 = call i32 @fileno(ptr noundef %3216) #10
  %3218 = call i32 @isatty(i32 noundef %3217) #10
  %3219 = icmp ne i32 %3218, 0
  br i1 %3219, label %3220, label %3237

3220:                                             ; preds = %3215
  %3221 = load i32, ptr %84, align 4, !tbaa !5
  %3222 = call ptr @__errno_location() #11
  store i32 %3221, ptr %3222, align 4, !tbaa !5
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3226, ptr noundef @.str.4)
  %3228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3229 = load i32, ptr %3228, align 4, !tbaa !5
  %3230 = call ptr @s2n_strerror_debug(i32 noundef %3229, ptr noundef @.str.4)
  %3231 = call ptr @__errno_location() #11
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call ptr @strerror(i32 noundef %3232) #10
  %3234 = call ptr @__errno_location() #11
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  %3236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3223, ptr noundef @.str.2, i32 noundef %3224, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 228, ptr noundef %3227, ptr noundef %3230, ptr noundef %3233, i32 noundef %3235) #10
  br label %3254

3237:                                             ; preds = %3215, %3208
  %3238 = load i32, ptr %84, align 4, !tbaa !5
  %3239 = call ptr @__errno_location() #11
  store i32 %3238, ptr %3239, align 4, !tbaa !5
  %3240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3243 = load i32, ptr %3242, align 4, !tbaa !5
  %3244 = call ptr @s2n_strerror(i32 noundef %3243, ptr noundef @.str.4)
  %3245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3246 = load i32, ptr %3245, align 4, !tbaa !5
  %3247 = call ptr @s2n_strerror_debug(i32 noundef %3246, ptr noundef @.str.4)
  %3248 = call ptr @__errno_location() #11
  %3249 = load i32, ptr %3248, align 4, !tbaa !5
  %3250 = call ptr @strerror(i32 noundef %3249) #10
  %3251 = call ptr @__errno_location() #11
  %3252 = load i32, ptr %3251, align 4, !tbaa !5
  %3253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3240, ptr noundef @.str.5, i32 noundef %3241, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 228, ptr noundef %3244, ptr noundef %3247, ptr noundef %3250, i32 noundef %3252) #10
  br label %3254

3254:                                             ; preds = %3237, %3220
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %3255

3255:                                             ; preds = %3254
  br label %3256

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

3257:                                             ; No predecessors!
  br label %3258

3258:                                             ; preds = %3257
  br label %3259

3259:                                             ; preds = %3258, %3199
  br label %3260

3260:                                             ; preds = %3259
  br label %3261

3261:                                             ; preds = %3260
  br label %3262

3262:                                             ; preds = %3261
  %3263 = load i32, ptr @test_count, align 4, !tbaa !5
  %3264 = add nsw i32 %3263, 1
  store i32 %3264, ptr @test_count, align 4, !tbaa !5
  %3265 = load ptr, ptr %70, align 8, !tbaa !9
  %3266 = getelementptr inbounds %struct.s2n_connection, ptr %3265, i32 0, i32 41
  %3267 = getelementptr inbounds %struct.s2n_stuffer, ptr %3266, i32 0, i32 0
  %3268 = getelementptr inbounds %struct.s2n_blob, ptr %3267, i32 0, i32 1
  %3269 = load i32, ptr %3268, align 8, !tbaa !58
  %3270 = icmp eq i32 %3269, 1034
  br i1 %3270, label %3324, label %3271

3271:                                             ; preds = %3262
  br label %3272

3272:                                             ; preds = %3271
  br label %3273

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

3280:                                             ; preds = %3273
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @fileno(ptr noundef %3281) #10
  %3283 = call i32 @isatty(i32 noundef %3282) #10
  %3284 = icmp ne i32 %3283, 0
  br i1 %3284, label %3285, label %3302

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

3302:                                             ; preds = %3280, %3273
  %3303 = load i32, ptr %85, align 4, !tbaa !5
  %3304 = call ptr @__errno_location() #11
  store i32 %3303, ptr %3304, align 4, !tbaa !5
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call ptr @s2n_strerror(i32 noundef %3308, ptr noundef @.str.4)
  %3310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  %3312 = call ptr @s2n_strerror_debug(i32 noundef %3311, ptr noundef @.str.4)
  %3313 = call ptr @__errno_location() #11
  %3314 = load i32, ptr %3313, align 4, !tbaa !5
  %3315 = call ptr @strerror(i32 noundef %3314) #10
  %3316 = call ptr @__errno_location() #11
  %3317 = load i32, ptr %3316, align 4, !tbaa !5
  %3318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3305, ptr noundef @.str.5, i32 noundef %3306, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 231, ptr noundef %3309, ptr noundef %3312, ptr noundef %3315, i32 noundef %3317) #10
  br label %3319

3319:                                             ; preds = %3302, %3285
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %3320

3320:                                             ; preds = %3319
  br label %3321

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

3322:                                             ; No predecessors!
  br label %3323

3323:                                             ; preds = %3322
  br label %3324

3324:                                             ; preds = %3323, %3262
  br label %3325

3325:                                             ; preds = %3324
  br label %3326

3326:                                             ; preds = %3325
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #10
  %3327 = call i32 @s2n_connection_ptr_free(ptr noundef %70)
  %3328 = getelementptr inbounds %struct.s2n_result, ptr %86, i32 0, i32 0
  store i32 %3327, ptr %3328, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #10
  %3329 = call i32 @s2n_config_ptr_free(ptr noundef %67)
  %3330 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  store i32 %3329, ptr %3330, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %88) #10
  store i16 0, ptr %88, align 2, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #10
  %3331 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3331, ptr %89, align 8, !tbaa !9
  br label %3332

3332:                                             ; preds = %3326
  %3333 = load i32, ptr @test_count, align 4, !tbaa !5
  %3334 = add nsw i32 %3333, 1
  store i32 %3334, ptr @test_count, align 4, !tbaa !5
  %3335 = load ptr, ptr %89, align 8, !tbaa !9
  %3336 = icmp eq ptr %3335, null
  br i1 %3336, label %3337, label %3390

3337:                                             ; preds = %3332
  br label %3338

3338:                                             ; preds = %3337
  br label %3339

3339:                                             ; preds = %3338
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #10
  %3340 = call ptr @__errno_location() #11
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  store i32 %3341, ptr %90, align 4, !tbaa !5
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = call i32 @s2n_print_stacktrace(ptr noundef %3342)
  %3344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3345 = trunc i8 %3344 to i1
  br i1 %3345, label %3346, label %3368

3346:                                             ; preds = %3339
  %3347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3348 = call i32 @fileno(ptr noundef %3347) #10
  %3349 = call i32 @isatty(i32 noundef %3348) #10
  %3350 = icmp ne i32 %3349, 0
  br i1 %3350, label %3351, label %3368

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

3368:                                             ; preds = %3346, %3339
  %3369 = load i32, ptr %90, align 4, !tbaa !5
  %3370 = call ptr @__errno_location() #11
  store i32 %3369, ptr %3370, align 4, !tbaa !5
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = load i32, ptr @test_count, align 4, !tbaa !5
  %3373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror(i32 noundef %3374, ptr noundef @.str.4)
  %3376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3377 = load i32, ptr %3376, align 4, !tbaa !5
  %3378 = call ptr @s2n_strerror_debug(i32 noundef %3377, ptr noundef @.str.4)
  %3379 = call ptr @__errno_location() #11
  %3380 = load i32, ptr %3379, align 4, !tbaa !5
  %3381 = call ptr @strerror(i32 noundef %3380) #10
  %3382 = call ptr @__errno_location() #11
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3371, ptr noundef @.str.5, i32 noundef %3372, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 241, ptr noundef %3375, ptr noundef %3378, ptr noundef %3381, i32 noundef %3383) #10
  br label %3385

3385:                                             ; preds = %3368, %3351
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %3386

3386:                                             ; preds = %3385
  br label %3387

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

3388:                                             ; No predecessors!
  br label %3389

3389:                                             ; preds = %3388
  br label %3390

3390:                                             ; preds = %3389, %3332
  br label %3391

3391:                                             ; preds = %3390
  br label %3392

3392:                                             ; preds = %3391
  br label %3393

3393:                                             ; preds = %3392
  %3394 = load i32, ptr @test_count, align 4, !tbaa !5
  %3395 = add nsw i32 %3394, 1
  store i32 %3395, ptr @test_count, align 4, !tbaa !5
  %3396 = load ptr, ptr %89, align 8, !tbaa !9
  %3397 = call i32 @s2n_connection_set_secrets(ptr noundef %3396)
  %3398 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  store i32 %3397, ptr %3398, align 4
  %3399 = getelementptr inbounds %struct.s2n_result, ptr %91, i32 0, i32 0
  %3400 = load i32, ptr %3399, align 4
  %3401 = call zeroext i1 @s2n_result_is_ok(i32 %3400)
  br i1 %3401, label %3455, label %3402

3402:                                             ; preds = %3393
  br label %3403

3403:                                             ; preds = %3402
  br label %3404

3404:                                             ; preds = %3403
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %3405 = call ptr @__errno_location() #11
  %3406 = load i32, ptr %3405, align 4, !tbaa !5
  store i32 %3406, ptr %92, align 4, !tbaa !5
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = call i32 @s2n_print_stacktrace(ptr noundef %3407)
  %3409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3410 = trunc i8 %3409 to i1
  br i1 %3410, label %3411, label %3433

3411:                                             ; preds = %3404
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = call i32 @fileno(ptr noundef %3412) #10
  %3414 = call i32 @isatty(i32 noundef %3413) #10
  %3415 = icmp ne i32 %3414, 0
  br i1 %3415, label %3416, label %3433

3416:                                             ; preds = %3411
  %3417 = load i32, ptr %92, align 4, !tbaa !5
  %3418 = call ptr @__errno_location() #11
  store i32 %3417, ptr %3418, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = load i32, ptr @test_count, align 4, !tbaa !5
  %3421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3422 = load i32, ptr %3421, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror(i32 noundef %3422, ptr noundef @.str.4)
  %3424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3425 = load i32, ptr %3424, align 4, !tbaa !5
  %3426 = call ptr @s2n_strerror_debug(i32 noundef %3425, ptr noundef @.str.4)
  %3427 = call ptr @__errno_location() #11
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = call ptr @strerror(i32 noundef %3428) #10
  %3430 = call ptr @__errno_location() #11
  %3431 = load i32, ptr %3430, align 4, !tbaa !5
  %3432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3419, ptr noundef @.str.2, i32 noundef %3420, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 242, ptr noundef %3423, ptr noundef %3426, ptr noundef %3429, i32 noundef %3431) #10
  br label %3450

3433:                                             ; preds = %3411, %3404
  %3434 = load i32, ptr %92, align 4, !tbaa !5
  %3435 = call ptr @__errno_location() #11
  store i32 %3434, ptr %3435, align 4, !tbaa !5
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = load i32, ptr @test_count, align 4, !tbaa !5
  %3438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3439 = load i32, ptr %3438, align 4, !tbaa !5
  %3440 = call ptr @s2n_strerror(i32 noundef %3439, ptr noundef @.str.4)
  %3441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @s2n_strerror_debug(i32 noundef %3442, ptr noundef @.str.4)
  %3444 = call ptr @__errno_location() #11
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call ptr @strerror(i32 noundef %3445) #10
  %3447 = call ptr @__errno_location() #11
  %3448 = load i32, ptr %3447, align 4, !tbaa !5
  %3449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3436, ptr noundef @.str.5, i32 noundef %3437, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 242, ptr noundef %3440, ptr noundef %3443, ptr noundef %3446, i32 noundef %3448) #10
  br label %3450

3450:                                             ; preds = %3433, %3416
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

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

3453:                                             ; No predecessors!
  br label %3454

3454:                                             ; preds = %3453
  br label %3455

3455:                                             ; preds = %3454, %3393
  br label %3456

3456:                                             ; preds = %3455
  br label %3457

3457:                                             ; preds = %3456
  br label %3458

3458:                                             ; preds = %3457
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = add nsw i32 %3459, 1
  store i32 %3460, ptr @test_count, align 4, !tbaa !5
  %3461 = load ptr, ptr %89, align 8, !tbaa !9
  %3462 = load ptr, ptr %20, align 8, !tbaa !9
  %3463 = call i32 @s2n_connection_set_config(ptr noundef %3461, ptr noundef %3462)
  %3464 = icmp eq i32 %3463, -1
  br i1 %3464, label %3465, label %3518

3465:                                             ; preds = %3458
  br label %3466

3466:                                             ; preds = %3465
  br label %3467

3467:                                             ; preds = %3466
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #10
  %3468 = call ptr @__errno_location() #11
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  store i32 %3469, ptr %93, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = call i32 @s2n_print_stacktrace(ptr noundef %3470)
  %3472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3473 = trunc i8 %3472 to i1
  br i1 %3473, label %3474, label %3496

3474:                                             ; preds = %3467
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @fileno(ptr noundef %3475) #10
  %3477 = call i32 @isatty(i32 noundef %3476) #10
  %3478 = icmp ne i32 %3477, 0
  br i1 %3478, label %3479, label %3496

3479:                                             ; preds = %3474
  %3480 = load i32, ptr %93, align 4, !tbaa !5
  %3481 = call ptr @__errno_location() #11
  store i32 %3480, ptr %3481, align 4, !tbaa !5
  %3482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3483 = load i32, ptr @test_count, align 4, !tbaa !5
  %3484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3485 = load i32, ptr %3484, align 4, !tbaa !5
  %3486 = call ptr @s2n_strerror(i32 noundef %3485, ptr noundef @.str.4)
  %3487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3488 = load i32, ptr %3487, align 4, !tbaa !5
  %3489 = call ptr @s2n_strerror_debug(i32 noundef %3488, ptr noundef @.str.4)
  %3490 = call ptr @__errno_location() #11
  %3491 = load i32, ptr %3490, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #10
  %3493 = call ptr @__errno_location() #11
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  %3495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3482, ptr noundef @.str.2, i32 noundef %3483, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 243, ptr noundef %3486, ptr noundef %3489, ptr noundef %3492, i32 noundef %3494) #10
  br label %3513

3496:                                             ; preds = %3474, %3467
  %3497 = load i32, ptr %93, align 4, !tbaa !5
  %3498 = call ptr @__errno_location() #11
  store i32 %3497, ptr %3498, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = load i32, ptr @test_count, align 4, !tbaa !5
  %3501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3502 = load i32, ptr %3501, align 4, !tbaa !5
  %3503 = call ptr @s2n_strerror(i32 noundef %3502, ptr noundef @.str.4)
  %3504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3505 = load i32, ptr %3504, align 4, !tbaa !5
  %3506 = call ptr @s2n_strerror_debug(i32 noundef %3505, ptr noundef @.str.4)
  %3507 = call ptr @__errno_location() #11
  %3508 = load i32, ptr %3507, align 4, !tbaa !5
  %3509 = call ptr @strerror(i32 noundef %3508) #10
  %3510 = call ptr @__errno_location() #11
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3499, ptr noundef @.str.5, i32 noundef %3500, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 243, ptr noundef %3503, ptr noundef %3506, ptr noundef %3509, i32 noundef %3511) #10
  br label %3513

3513:                                             ; preds = %3496, %3479
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %3514

3514:                                             ; preds = %3513
  br label %3515

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

3516:                                             ; No predecessors!
  br label %3517

3517:                                             ; preds = %3516
  br label %3518

3518:                                             ; preds = %3517, %3458
  br label %3519

3519:                                             ; preds = %3518
  br label %3520

3520:                                             ; preds = %3519
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %94, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %3521

3521:                                             ; preds = %3520
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %3523 = add nsw i32 %3522, 1
  store i32 %3523, ptr @test_count, align 4, !tbaa !5
  %3524 = load ptr, ptr %89, align 8, !tbaa !9
  %3525 = call i32 @s2n_connection_set_send_cb(ptr noundef %3524, ptr noundef @s2n_test_send_cb)
  %3526 = icmp eq i32 %3525, -1
  br i1 %3526, label %3527, label %3580

3527:                                             ; preds = %3521
  br label %3528

3528:                                             ; preds = %3527
  br label %3529

3529:                                             ; preds = %3528
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %3530 = call ptr @__errno_location() #11
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  store i32 %3531, ptr %95, align 4, !tbaa !5
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @s2n_print_stacktrace(ptr noundef %3532)
  %3534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3535 = trunc i8 %3534 to i1
  br i1 %3535, label %3536, label %3558

3536:                                             ; preds = %3529
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = call i32 @fileno(ptr noundef %3537) #10
  %3539 = call i32 @isatty(i32 noundef %3538) #10
  %3540 = icmp ne i32 %3539, 0
  br i1 %3540, label %3541, label %3558

3541:                                             ; preds = %3536
  %3542 = load i32, ptr %95, align 4, !tbaa !5
  %3543 = call ptr @__errno_location() #11
  store i32 %3542, ptr %3543, align 4, !tbaa !5
  %3544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3545 = load i32, ptr @test_count, align 4, !tbaa !5
  %3546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  %3548 = call ptr @s2n_strerror(i32 noundef %3547, ptr noundef @.str.4)
  %3549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  %3551 = call ptr @s2n_strerror_debug(i32 noundef %3550, ptr noundef @.str.4)
  %3552 = call ptr @__errno_location() #11
  %3553 = load i32, ptr %3552, align 4, !tbaa !5
  %3554 = call ptr @strerror(i32 noundef %3553) #10
  %3555 = call ptr @__errno_location() #11
  %3556 = load i32, ptr %3555, align 4, !tbaa !5
  %3557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3544, ptr noundef @.str.2, i32 noundef %3545, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 246, ptr noundef %3548, ptr noundef %3551, ptr noundef %3554, i32 noundef %3556) #10
  br label %3575

3558:                                             ; preds = %3536, %3529
  %3559 = load i32, ptr %95, align 4, !tbaa !5
  %3560 = call ptr @__errno_location() #11
  store i32 %3559, ptr %3560, align 4, !tbaa !5
  %3561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3562 = load i32, ptr @test_count, align 4, !tbaa !5
  %3563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3564 = load i32, ptr %3563, align 4, !tbaa !5
  %3565 = call ptr @s2n_strerror(i32 noundef %3564, ptr noundef @.str.4)
  %3566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror_debug(i32 noundef %3567, ptr noundef @.str.4)
  %3569 = call ptr @__errno_location() #11
  %3570 = load i32, ptr %3569, align 4, !tbaa !5
  %3571 = call ptr @strerror(i32 noundef %3570) #10
  %3572 = call ptr @__errno_location() #11
  %3573 = load i32, ptr %3572, align 4, !tbaa !5
  %3574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3561, ptr noundef @.str.5, i32 noundef %3562, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 246, ptr noundef %3565, ptr noundef %3568, ptr noundef %3571, i32 noundef %3573) #10
  br label %3575

3575:                                             ; preds = %3558, %3541
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %3576

3576:                                             ; preds = %3575
  br label %3577

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

3578:                                             ; No predecessors!
  br label %3579

3579:                                             ; preds = %3578
  br label %3580

3580:                                             ; preds = %3579, %3521
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581
  br label %3583

3583:                                             ; preds = %3582
  %3584 = load i32, ptr @test_count, align 4, !tbaa !5
  %3585 = add nsw i32 %3584, 1
  store i32 %3585, ptr @test_count, align 4, !tbaa !5
  %3586 = load ptr, ptr %89, align 8, !tbaa !9
  %3587 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3586, ptr noundef %94)
  %3588 = icmp eq i32 %3587, -1
  br i1 %3588, label %3589, label %3642

3589:                                             ; preds = %3583
  br label %3590

3590:                                             ; preds = %3589
  br label %3591

3591:                                             ; preds = %3590
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %3592 = call ptr @__errno_location() #11
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  store i32 %3593, ptr %96, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594)
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc i8 %3596 to i1
  br i1 %3597, label %3598, label %3620

3598:                                             ; preds = %3591
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = call i32 @fileno(ptr noundef %3599) #10
  %3601 = call i32 @isatty(i32 noundef %3600) #10
  %3602 = icmp ne i32 %3601, 0
  br i1 %3602, label %3603, label %3620

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

3620:                                             ; preds = %3598, %3591
  %3621 = load i32, ptr %96, align 4, !tbaa !5
  %3622 = call ptr @__errno_location() #11
  store i32 %3621, ptr %3622, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call ptr @s2n_strerror(i32 noundef %3626, ptr noundef @.str.4)
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror_debug(i32 noundef %3629, ptr noundef @.str.4)
  %3631 = call ptr @__errno_location() #11
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @strerror(i32 noundef %3632) #10
  %3634 = call ptr @__errno_location() #11
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef @.str.5, i32 noundef %3624, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 247, ptr noundef %3627, ptr noundef %3630, ptr noundef %3633, i32 noundef %3635) #10
  br label %3637

3637:                                             ; preds = %3620, %3603
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

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

3640:                                             ; No predecessors!
  br label %3641

3641:                                             ; preds = %3640
  br label %3642

3642:                                             ; preds = %3641, %3583
  br label %3643

3643:                                             ; preds = %3642
  br label %3644

3644:                                             ; preds = %3643
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  store i32 0, ptr %97, align 4, !tbaa !5
  br label %3645

3645:                                             ; preds = %3644
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %3647 = add nsw i32 %3646, 1
  store i32 %3647, ptr @test_count, align 4, !tbaa !5
  %3648 = load ptr, ptr %89, align 8, !tbaa !9
  %3649 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %3650 = call i64 @s2n_send(ptr noundef %3648, ptr noundef %3649, i64 noundef 16394, ptr noundef %97)
  %3651 = icmp eq i64 %3650, 16394
  br i1 %3651, label %3705, label %3652

3652:                                             ; preds = %3645
  br label %3653

3653:                                             ; preds = %3652
  br label %3654

3654:                                             ; preds = %3653
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %3655 = call ptr @__errno_location() #11
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  store i32 %3656, ptr %98, align 4, !tbaa !5
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = call i32 @s2n_print_stacktrace(ptr noundef %3657)
  %3659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3660 = trunc i8 %3659 to i1
  br i1 %3660, label %3661, label %3683

3661:                                             ; preds = %3654
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = call i32 @fileno(ptr noundef %3662) #10
  %3664 = call i32 @isatty(i32 noundef %3663) #10
  %3665 = icmp ne i32 %3664, 0
  br i1 %3665, label %3666, label %3683

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

3683:                                             ; preds = %3661, %3654
  %3684 = load i32, ptr %98, align 4, !tbaa !5
  %3685 = call ptr @__errno_location() #11
  store i32 %3684, ptr %3685, align 4, !tbaa !5
  %3686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3687 = load i32, ptr @test_count, align 4, !tbaa !5
  %3688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3689 = load i32, ptr %3688, align 4, !tbaa !5
  %3690 = call ptr @s2n_strerror(i32 noundef %3689, ptr noundef @.str.4)
  %3691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3692 = load i32, ptr %3691, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror_debug(i32 noundef %3692, ptr noundef @.str.4)
  %3694 = call ptr @__errno_location() #11
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @strerror(i32 noundef %3695) #10
  %3697 = call ptr @__errno_location() #11
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3686, ptr noundef @.str.5, i32 noundef %3687, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 250, ptr noundef %3690, ptr noundef %3693, ptr noundef %3696, i32 noundef %3698) #10
  br label %3700

3700:                                             ; preds = %3683, %3666
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

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

3703:                                             ; No predecessors!
  br label %3704

3704:                                             ; preds = %3703
  br label %3705

3705:                                             ; preds = %3704, %3645
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706
  br label %3708

3708:                                             ; preds = %3707
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %3711 = getelementptr inbounds %struct.s2n_send_context, ptr %94, i32 0, i32 0
  %3712 = load i64, ptr %3711, align 8, !tbaa !24
  %3713 = icmp eq i64 %3712, 1
  br i1 %3713, label %3767, label %3714

3714:                                             ; preds = %3708
  br label %3715

3715:                                             ; preds = %3714
  br label %3716

3716:                                             ; preds = %3715
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %3717 = call ptr @__errno_location() #11
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  store i32 %3718, ptr %99, align 4, !tbaa !5
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = call i32 @s2n_print_stacktrace(ptr noundef %3719)
  %3721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3722 = trunc i8 %3721 to i1
  br i1 %3722, label %3723, label %3745

3723:                                             ; preds = %3716
  %3724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3725 = call i32 @fileno(ptr noundef %3724) #10
  %3726 = call i32 @isatty(i32 noundef %3725) #10
  %3727 = icmp ne i32 %3726, 0
  br i1 %3727, label %3728, label %3745

3728:                                             ; preds = %3723
  %3729 = load i32, ptr %99, align 4, !tbaa !5
  %3730 = call ptr @__errno_location() #11
  store i32 %3729, ptr %3730, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = load i32, ptr @test_count, align 4, !tbaa !5
  %3733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3734 = load i32, ptr %3733, align 4, !tbaa !5
  %3735 = call ptr @s2n_strerror(i32 noundef %3734, ptr noundef @.str.4)
  %3736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3737 = load i32, ptr %3736, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror_debug(i32 noundef %3737, ptr noundef @.str.4)
  %3739 = call ptr @__errno_location() #11
  %3740 = load i32, ptr %3739, align 4, !tbaa !5
  %3741 = call ptr @strerror(i32 noundef %3740) #10
  %3742 = call ptr @__errno_location() #11
  %3743 = load i32, ptr %3742, align 4, !tbaa !5
  %3744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3731, ptr noundef @.str.2, i32 noundef %3732, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3735, ptr noundef %3738, ptr noundef %3741, i32 noundef %3743) #10
  br label %3762

3745:                                             ; preds = %3723, %3716
  %3746 = load i32, ptr %99, align 4, !tbaa !5
  %3747 = call ptr @__errno_location() #11
  store i32 %3746, ptr %3747, align 4, !tbaa !5
  %3748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3749 = load i32, ptr @test_count, align 4, !tbaa !5
  %3750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3751 = load i32, ptr %3750, align 4, !tbaa !5
  %3752 = call ptr @s2n_strerror(i32 noundef %3751, ptr noundef @.str.4)
  %3753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3754 = load i32, ptr %3753, align 4, !tbaa !5
  %3755 = call ptr @s2n_strerror_debug(i32 noundef %3754, ptr noundef @.str.4)
  %3756 = call ptr @__errno_location() #11
  %3757 = load i32, ptr %3756, align 4, !tbaa !5
  %3758 = call ptr @strerror(i32 noundef %3757) #10
  %3759 = call ptr @__errno_location() #11
  %3760 = load i32, ptr %3759, align 4, !tbaa !5
  %3761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3748, ptr noundef @.str.5, i32 noundef %3749, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3752, ptr noundef %3755, ptr noundef %3758, i32 noundef %3760) #10
  br label %3762

3762:                                             ; preds = %3745, %3728
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %3763

3763:                                             ; preds = %3762
  br label %3764

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

3765:                                             ; No predecessors!
  br label %3766

3766:                                             ; preds = %3765
  br label %3767

3767:                                             ; preds = %3766, %3708
  br label %3768

3768:                                             ; preds = %3767
  br label %3769

3769:                                             ; preds = %3768
  br label %3770

3770:                                             ; preds = %3769
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = add nsw i32 %3771, 1
  store i32 %3772, ptr @test_count, align 4, !tbaa !5
  %3773 = getelementptr inbounds %struct.s2n_send_context, ptr %94, i32 0, i32 1
  %3774 = load i64, ptr %3773, align 8, !tbaa !26
  %3775 = load ptr, ptr %89, align 8, !tbaa !9
  %3776 = getelementptr inbounds %struct.s2n_connection, ptr %3775, i32 0, i32 59
  %3777 = load i64, ptr %3776, align 8, !tbaa !57
  %3778 = icmp eq i64 %3774, %3777
  br i1 %3778, label %3832, label %3779

3779:                                             ; preds = %3770
  br label %3780

3780:                                             ; preds = %3779
  br label %3781

3781:                                             ; preds = %3780
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %3782 = call ptr @__errno_location() #11
  %3783 = load i32, ptr %3782, align 4, !tbaa !5
  store i32 %3783, ptr %100, align 4, !tbaa !5
  %3784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3785 = call i32 @s2n_print_stacktrace(ptr noundef %3784)
  %3786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3787 = trunc i8 %3786 to i1
  br i1 %3787, label %3788, label %3810

3788:                                             ; preds = %3781
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @fileno(ptr noundef %3789) #10
  %3791 = call i32 @isatty(i32 noundef %3790) #10
  %3792 = icmp ne i32 %3791, 0
  br i1 %3792, label %3793, label %3810

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

3810:                                             ; preds = %3788, %3781
  %3811 = load i32, ptr %100, align 4, !tbaa !5
  %3812 = call ptr @__errno_location() #11
  store i32 %3811, ptr %3812, align 4, !tbaa !5
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = load i32, ptr @test_count, align 4, !tbaa !5
  %3815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3816 = load i32, ptr %3815, align 4, !tbaa !5
  %3817 = call ptr @s2n_strerror(i32 noundef %3816, ptr noundef @.str.4)
  %3818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3819 = load i32, ptr %3818, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror_debug(i32 noundef %3819, ptr noundef @.str.4)
  %3821 = call ptr @__errno_location() #11
  %3822 = load i32, ptr %3821, align 4, !tbaa !5
  %3823 = call ptr @strerror(i32 noundef %3822) #10
  %3824 = call ptr @__errno_location() #11
  %3825 = load i32, ptr %3824, align 4, !tbaa !5
  %3826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3813, ptr noundef @.str.5, i32 noundef %3814, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 253, ptr noundef %3817, ptr noundef %3820, ptr noundef %3823, i32 noundef %3825) #10
  br label %3827

3827:                                             ; preds = %3810, %3793
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %3828

3828:                                             ; preds = %3827
  br label %3829

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

3830:                                             ; No predecessors!
  br label %3831

3831:                                             ; preds = %3830
  br label %3832

3832:                                             ; preds = %3831, %3770
  br label %3833

3833:                                             ; preds = %3832
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

3835:                                             ; preds = %3834
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = getelementptr inbounds %struct.s2n_send_context, ptr %94, i32 0, i32 1
  %3839 = load i64, ptr %3838, align 8, !tbaa !26
  %3840 = icmp ugt i64 %3839, 16394
  br i1 %3840, label %3894, label %3841

3841:                                             ; preds = %3835
  br label %3842

3842:                                             ; preds = %3841
  br label %3843

3843:                                             ; preds = %3842
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %3844 = call ptr @__errno_location() #11
  %3845 = load i32, ptr %3844, align 4, !tbaa !5
  store i32 %3845, ptr %101, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = call i32 @s2n_print_stacktrace(ptr noundef %3846)
  %3848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3849 = trunc i8 %3848 to i1
  br i1 %3849, label %3850, label %3872

3850:                                             ; preds = %3843
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = call i32 @fileno(ptr noundef %3851) #10
  %3853 = call i32 @isatty(i32 noundef %3852) #10
  %3854 = icmp ne i32 %3853, 0
  br i1 %3854, label %3855, label %3872

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

3872:                                             ; preds = %3850, %3843
  %3873 = load i32, ptr %101, align 4, !tbaa !5
  %3874 = call ptr @__errno_location() #11
  store i32 %3873, ptr %3874, align 4, !tbaa !5
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = load i32, ptr @test_count, align 4, !tbaa !5
  %3877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3878 = load i32, ptr %3877, align 4, !tbaa !5
  %3879 = call ptr @s2n_strerror(i32 noundef %3878, ptr noundef @.str.4)
  %3880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3881 = load i32, ptr %3880, align 4, !tbaa !5
  %3882 = call ptr @s2n_strerror_debug(i32 noundef %3881, ptr noundef @.str.4)
  %3883 = call ptr @__errno_location() #11
  %3884 = load i32, ptr %3883, align 4, !tbaa !5
  %3885 = call ptr @strerror(i32 noundef %3884) #10
  %3886 = call ptr @__errno_location() #11
  %3887 = load i32, ptr %3886, align 4, !tbaa !5
  %3888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3875, ptr noundef @.str.5, i32 noundef %3876, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 254, ptr noundef %3879, ptr noundef %3882, ptr noundef %3885, i32 noundef %3887) #10
  br label %3889

3889:                                             ; preds = %3872, %3855
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %3890

3890:                                             ; preds = %3889
  br label %3891

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

3892:                                             ; No predecessors!
  br label %3893

3893:                                             ; preds = %3892
  br label %3894

3894:                                             ; preds = %3893, %3835
  br label %3895

3895:                                             ; preds = %3894
  br label %3896

3896:                                             ; preds = %3895
  %3897 = getelementptr inbounds %struct.s2n_send_context, ptr %94, i32 0, i32 1
  %3898 = load i64, ptr %3897, align 8, !tbaa !26
  %3899 = trunc i64 %3898 to i16
  store i16 %3899, ptr %88, align 2, !tbaa !60
  br label %3900

3900:                                             ; preds = %3896
  %3901 = load i32, ptr @test_count, align 4, !tbaa !5
  %3902 = add nsw i32 %3901, 1
  store i32 %3902, ptr @test_count, align 4, !tbaa !5
  %3903 = load ptr, ptr %89, align 8, !tbaa !9
  %3904 = getelementptr inbounds %struct.s2n_connection, ptr %3903, i32 0, i32 41
  %3905 = getelementptr inbounds %struct.s2n_stuffer, ptr %3904, i32 0, i32 0
  %3906 = getelementptr inbounds %struct.s2n_blob, ptr %3905, i32 0, i32 1
  %3907 = load i32, ptr %3906, align 8, !tbaa !58
  %3908 = zext i32 %3907 to i64
  %3909 = icmp eq i64 %3908, 20000
  br i1 %3909, label %3963, label %3910

3910:                                             ; preds = %3900
  br label %3911

3911:                                             ; preds = %3910
  br label %3912

3912:                                             ; preds = %3911
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %3913 = call ptr @__errno_location() #11
  %3914 = load i32, ptr %3913, align 4, !tbaa !5
  store i32 %3914, ptr %102, align 4, !tbaa !5
  %3915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3916 = call i32 @s2n_print_stacktrace(ptr noundef %3915)
  %3917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3918 = trunc i8 %3917 to i1
  br i1 %3918, label %3919, label %3941

3919:                                             ; preds = %3912
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3921 = call i32 @fileno(ptr noundef %3920) #10
  %3922 = call i32 @isatty(i32 noundef %3921) #10
  %3923 = icmp ne i32 %3922, 0
  br i1 %3923, label %3924, label %3941

3924:                                             ; preds = %3919
  %3925 = load i32, ptr %102, align 4, !tbaa !5
  %3926 = call ptr @__errno_location() #11
  store i32 %3925, ptr %3926, align 4, !tbaa !5
  %3927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3928 = load i32, ptr @test_count, align 4, !tbaa !5
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror(i32 noundef %3930, ptr noundef @.str.4)
  %3932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef @.str.4)
  %3935 = call ptr @__errno_location() #11
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @strerror(i32 noundef %3936) #10
  %3938 = call ptr @__errno_location() #11
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3927, ptr noundef @.str.2, i32 noundef %3928, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 258, ptr noundef %3931, ptr noundef %3934, ptr noundef %3937, i32 noundef %3939) #10
  br label %3958

3941:                                             ; preds = %3919, %3912
  %3942 = load i32, ptr %102, align 4, !tbaa !5
  %3943 = call ptr @__errno_location() #11
  store i32 %3942, ptr %3943, align 4, !tbaa !5
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = load i32, ptr @test_count, align 4, !tbaa !5
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror(i32 noundef %3947, ptr noundef @.str.4)
  %3949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @s2n_strerror_debug(i32 noundef %3950, ptr noundef @.str.4)
  %3952 = call ptr @__errno_location() #11
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @strerror(i32 noundef %3953) #10
  %3955 = call ptr @__errno_location() #11
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3944, ptr noundef @.str.5, i32 noundef %3945, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 258, ptr noundef %3948, ptr noundef %3951, ptr noundef %3954, i32 noundef %3956) #10
  br label %3958

3958:                                             ; preds = %3941, %3924
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %3959

3959:                                             ; preds = %3958
  br label %3960

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

3961:                                             ; No predecessors!
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

3963:                                             ; preds = %3962, %3900
  br label %3964

3964:                                             ; preds = %3963
  br label %3965

3965:                                             ; preds = %3964
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #10
  %3966 = call i32 @s2n_connection_ptr_free(ptr noundef %89)
  %3967 = getelementptr inbounds %struct.s2n_result, ptr %103, i32 0, i32 0
  store i32 %3966, ptr %3967, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #10
  %3968 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3968, ptr %104, align 8, !tbaa !9
  br label %3969

3969:                                             ; preds = %3965
  %3970 = load i32, ptr @test_count, align 4, !tbaa !5
  %3971 = add nsw i32 %3970, 1
  store i32 %3971, ptr @test_count, align 4, !tbaa !5
  %3972 = load ptr, ptr %104, align 8, !tbaa !9
  %3973 = icmp eq ptr %3972, null
  br i1 %3973, label %3974, label %4027

3974:                                             ; preds = %3969
  br label %3975

3975:                                             ; preds = %3974
  br label %3976

3976:                                             ; preds = %3975
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %3977 = call ptr @__errno_location() #11
  %3978 = load i32, ptr %3977, align 4, !tbaa !5
  store i32 %3978, ptr %105, align 4, !tbaa !5
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = call i32 @s2n_print_stacktrace(ptr noundef %3979)
  %3981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3982 = trunc i8 %3981 to i1
  br i1 %3982, label %3983, label %4005

3983:                                             ; preds = %3976
  %3984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3985 = call i32 @fileno(ptr noundef %3984) #10
  %3986 = call i32 @isatty(i32 noundef %3985) #10
  %3987 = icmp ne i32 %3986, 0
  br i1 %3987, label %3988, label %4005

3988:                                             ; preds = %3983
  %3989 = load i32, ptr %105, align 4, !tbaa !5
  %3990 = call ptr @__errno_location() #11
  store i32 %3989, ptr %3990, align 4, !tbaa !5
  %3991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3992 = load i32, ptr @test_count, align 4, !tbaa !5
  %3993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3994 = load i32, ptr %3993, align 4, !tbaa !5
  %3995 = call ptr @s2n_strerror(i32 noundef %3994, ptr noundef @.str.4)
  %3996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror_debug(i32 noundef %3997, ptr noundef @.str.4)
  %3999 = call ptr @__errno_location() #11
  %4000 = load i32, ptr %3999, align 4, !tbaa !5
  %4001 = call ptr @strerror(i32 noundef %4000) #10
  %4002 = call ptr @__errno_location() #11
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3991, ptr noundef @.str.2, i32 noundef %3992, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 267, ptr noundef %3995, ptr noundef %3998, ptr noundef %4001, i32 noundef %4003) #10
  br label %4022

4005:                                             ; preds = %3983, %3976
  %4006 = load i32, ptr %105, align 4, !tbaa !5
  %4007 = call ptr @__errno_location() #11
  store i32 %4006, ptr %4007, align 4, !tbaa !5
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = load i32, ptr @test_count, align 4, !tbaa !5
  %4010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @s2n_strerror(i32 noundef %4011, ptr noundef @.str.4)
  %4013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror_debug(i32 noundef %4014, ptr noundef @.str.4)
  %4016 = call ptr @__errno_location() #11
  %4017 = load i32, ptr %4016, align 4, !tbaa !5
  %4018 = call ptr @strerror(i32 noundef %4017) #10
  %4019 = call ptr @__errno_location() #11
  %4020 = load i32, ptr %4019, align 4, !tbaa !5
  %4021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4008, ptr noundef @.str.5, i32 noundef %4009, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 267, ptr noundef %4012, ptr noundef %4015, ptr noundef %4018, i32 noundef %4020) #10
  br label %4022

4022:                                             ; preds = %4005, %3988
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %4023

4023:                                             ; preds = %4022
  br label %4024

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

4025:                                             ; No predecessors!
  br label %4026

4026:                                             ; preds = %4025
  br label %4027

4027:                                             ; preds = %4026, %3969
  br label %4028

4028:                                             ; preds = %4027
  br label %4029

4029:                                             ; preds = %4028
  br label %4030

4030:                                             ; preds = %4029
  %4031 = load i32, ptr @test_count, align 4, !tbaa !5
  %4032 = add nsw i32 %4031, 1
  store i32 %4032, ptr @test_count, align 4, !tbaa !5
  %4033 = load ptr, ptr %104, align 8, !tbaa !9
  %4034 = call i32 @s2n_connection_set_secrets(ptr noundef %4033)
  %4035 = getelementptr inbounds %struct.s2n_result, ptr %106, i32 0, i32 0
  store i32 %4034, ptr %4035, align 4
  %4036 = getelementptr inbounds %struct.s2n_result, ptr %106, i32 0, i32 0
  %4037 = load i32, ptr %4036, align 4
  %4038 = call zeroext i1 @s2n_result_is_ok(i32 %4037)
  br i1 %4038, label %4092, label %4039

4039:                                             ; preds = %4030
  br label %4040

4040:                                             ; preds = %4039
  br label %4041

4041:                                             ; preds = %4040
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %4042 = call ptr @__errno_location() #11
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  store i32 %4043, ptr %107, align 4, !tbaa !5
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = call i32 @s2n_print_stacktrace(ptr noundef %4044)
  %4046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4047 = trunc i8 %4046 to i1
  br i1 %4047, label %4048, label %4070

4048:                                             ; preds = %4041
  %4049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4050 = call i32 @fileno(ptr noundef %4049) #10
  %4051 = call i32 @isatty(i32 noundef %4050) #10
  %4052 = icmp ne i32 %4051, 0
  br i1 %4052, label %4053, label %4070

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

4070:                                             ; preds = %4048, %4041
  %4071 = load i32, ptr %107, align 4, !tbaa !5
  %4072 = call ptr @__errno_location() #11
  store i32 %4071, ptr %4072, align 4, !tbaa !5
  %4073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4074 = load i32, ptr @test_count, align 4, !tbaa !5
  %4075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4076 = load i32, ptr %4075, align 4, !tbaa !5
  %4077 = call ptr @s2n_strerror(i32 noundef %4076, ptr noundef @.str.4)
  %4078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4079 = load i32, ptr %4078, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror_debug(i32 noundef %4079, ptr noundef @.str.4)
  %4081 = call ptr @__errno_location() #11
  %4082 = load i32, ptr %4081, align 4, !tbaa !5
  %4083 = call ptr @strerror(i32 noundef %4082) #10
  %4084 = call ptr @__errno_location() #11
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  %4086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4073, ptr noundef @.str.5, i32 noundef %4074, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 268, ptr noundef %4077, ptr noundef %4080, ptr noundef %4083, i32 noundef %4085) #10
  br label %4087

4087:                                             ; preds = %4070, %4053
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %4088

4088:                                             ; preds = %4087
  br label %4089

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

4090:                                             ; No predecessors!
  br label %4091

4091:                                             ; preds = %4090
  br label %4092

4092:                                             ; preds = %4091, %4030
  br label %4093

4093:                                             ; preds = %4092
  br label %4094

4094:                                             ; preds = %4093
  br label %4095

4095:                                             ; preds = %4094
  %4096 = load i32, ptr @test_count, align 4, !tbaa !5
  %4097 = add nsw i32 %4096, 1
  store i32 %4097, ptr @test_count, align 4, !tbaa !5
  %4098 = load ptr, ptr %104, align 8, !tbaa !9
  %4099 = load ptr, ptr %24, align 8, !tbaa !9
  %4100 = call i32 @s2n_connection_set_config(ptr noundef %4098, ptr noundef %4099)
  %4101 = icmp eq i32 %4100, -1
  br i1 %4101, label %4102, label %4155

4102:                                             ; preds = %4095
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4105 = call ptr @__errno_location() #11
  %4106 = load i32, ptr %4105, align 4, !tbaa !5
  store i32 %4106, ptr %108, align 4, !tbaa !5
  %4107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4108 = call i32 @s2n_print_stacktrace(ptr noundef %4107)
  %4109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4110 = trunc i8 %4109 to i1
  br i1 %4110, label %4111, label %4133

4111:                                             ; preds = %4104
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4113 = call i32 @fileno(ptr noundef %4112) #10
  %4114 = call i32 @isatty(i32 noundef %4113) #10
  %4115 = icmp ne i32 %4114, 0
  br i1 %4115, label %4116, label %4133

4116:                                             ; preds = %4111
  %4117 = load i32, ptr %108, align 4, !tbaa !5
  %4118 = call ptr @__errno_location() #11
  store i32 %4117, ptr %4118, align 4, !tbaa !5
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call ptr @s2n_strerror(i32 noundef %4122, ptr noundef @.str.4)
  %4124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4125 = load i32, ptr %4124, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror_debug(i32 noundef %4125, ptr noundef @.str.4)
  %4127 = call ptr @__errno_location() #11
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call ptr @strerror(i32 noundef %4128) #10
  %4130 = call ptr @__errno_location() #11
  %4131 = load i32, ptr %4130, align 4, !tbaa !5
  %4132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4119, ptr noundef @.str.2, i32 noundef %4120, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 269, ptr noundef %4123, ptr noundef %4126, ptr noundef %4129, i32 noundef %4131) #10
  br label %4150

4133:                                             ; preds = %4111, %4104
  %4134 = load i32, ptr %108, align 4, !tbaa !5
  %4135 = call ptr @__errno_location() #11
  store i32 %4134, ptr %4135, align 4, !tbaa !5
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = load i32, ptr @test_count, align 4, !tbaa !5
  %4138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @s2n_strerror(i32 noundef %4139, ptr noundef @.str.4)
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef @.str.4)
  %4144 = call ptr @__errno_location() #11
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @strerror(i32 noundef %4145) #10
  %4147 = call ptr @__errno_location() #11
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef @.str.5, i32 noundef %4137, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 269, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #10
  br label %4150

4150:                                             ; preds = %4133, %4116
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4151

4151:                                             ; preds = %4150
  br label %4152

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

4153:                                             ; No predecessors!
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

4155:                                             ; preds = %4154, %4095
  br label %4156

4156:                                             ; preds = %4155
  br label %4157

4157:                                             ; preds = %4156
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %109, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %4158

4158:                                             ; preds = %4157
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = load ptr, ptr %104, align 8, !tbaa !9
  %4162 = call i32 @s2n_connection_set_send_cb(ptr noundef %4161, ptr noundef @s2n_test_send_cb)
  %4163 = icmp eq i32 %4162, -1
  br i1 %4163, label %4164, label %4217

4164:                                             ; preds = %4158
  br label %4165

4165:                                             ; preds = %4164
  br label %4166

4166:                                             ; preds = %4165
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #10
  %4167 = call ptr @__errno_location() #11
  %4168 = load i32, ptr %4167, align 4, !tbaa !5
  store i32 %4168, ptr %110, align 4, !tbaa !5
  %4169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4170 = call i32 @s2n_print_stacktrace(ptr noundef %4169)
  %4171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4172 = trunc i8 %4171 to i1
  br i1 %4172, label %4173, label %4195

4173:                                             ; preds = %4166
  %4174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4175 = call i32 @fileno(ptr noundef %4174) #10
  %4176 = call i32 @isatty(i32 noundef %4175) #10
  %4177 = icmp ne i32 %4176, 0
  br i1 %4177, label %4178, label %4195

4178:                                             ; preds = %4173
  %4179 = load i32, ptr %110, align 4, !tbaa !5
  %4180 = call ptr @__errno_location() #11
  store i32 %4179, ptr %4180, align 4, !tbaa !5
  %4181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4182 = load i32, ptr @test_count, align 4, !tbaa !5
  %4183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4184 = load i32, ptr %4183, align 4, !tbaa !5
  %4185 = call ptr @s2n_strerror(i32 noundef %4184, ptr noundef @.str.4)
  %4186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4187 = load i32, ptr %4186, align 4, !tbaa !5
  %4188 = call ptr @s2n_strerror_debug(i32 noundef %4187, ptr noundef @.str.4)
  %4189 = call ptr @__errno_location() #11
  %4190 = load i32, ptr %4189, align 4, !tbaa !5
  %4191 = call ptr @strerror(i32 noundef %4190) #10
  %4192 = call ptr @__errno_location() #11
  %4193 = load i32, ptr %4192, align 4, !tbaa !5
  %4194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4181, ptr noundef @.str.2, i32 noundef %4182, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 272, ptr noundef %4185, ptr noundef %4188, ptr noundef %4191, i32 noundef %4193) #10
  br label %4212

4195:                                             ; preds = %4173, %4166
  %4196 = load i32, ptr %110, align 4, !tbaa !5
  %4197 = call ptr @__errno_location() #11
  store i32 %4196, ptr %4197, align 4, !tbaa !5
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = load i32, ptr @test_count, align 4, !tbaa !5
  %4200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  %4202 = call ptr @s2n_strerror(i32 noundef %4201, ptr noundef @.str.4)
  %4203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4204 = load i32, ptr %4203, align 4, !tbaa !5
  %4205 = call ptr @s2n_strerror_debug(i32 noundef %4204, ptr noundef @.str.4)
  %4206 = call ptr @__errno_location() #11
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @strerror(i32 noundef %4207) #10
  %4209 = call ptr @__errno_location() #11
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4198, ptr noundef @.str.5, i32 noundef %4199, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 272, ptr noundef %4202, ptr noundef %4205, ptr noundef %4208, i32 noundef %4210) #10
  br label %4212

4212:                                             ; preds = %4195, %4178
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %4213

4213:                                             ; preds = %4212
  br label %4214

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

4215:                                             ; No predecessors!
  br label %4216

4216:                                             ; preds = %4215
  br label %4217

4217:                                             ; preds = %4216, %4158
  br label %4218

4218:                                             ; preds = %4217
  br label %4219

4219:                                             ; preds = %4218
  br label %4220

4220:                                             ; preds = %4219
  %4221 = load i32, ptr @test_count, align 4, !tbaa !5
  %4222 = add nsw i32 %4221, 1
  store i32 %4222, ptr @test_count, align 4, !tbaa !5
  %4223 = load ptr, ptr %104, align 8, !tbaa !9
  %4224 = call i32 @s2n_connection_set_send_ctx(ptr noundef %4223, ptr noundef %109)
  %4225 = icmp eq i32 %4224, -1
  br i1 %4225, label %4226, label %4279

4226:                                             ; preds = %4220
  br label %4227

4227:                                             ; preds = %4226
  br label %4228

4228:                                             ; preds = %4227
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %4229 = call ptr @__errno_location() #11
  %4230 = load i32, ptr %4229, align 4, !tbaa !5
  store i32 %4230, ptr %111, align 4, !tbaa !5
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = call i32 @s2n_print_stacktrace(ptr noundef %4231)
  %4233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4234 = trunc i8 %4233 to i1
  br i1 %4234, label %4235, label %4257

4235:                                             ; preds = %4228
  %4236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4237 = call i32 @fileno(ptr noundef %4236) #10
  %4238 = call i32 @isatty(i32 noundef %4237) #10
  %4239 = icmp ne i32 %4238, 0
  br i1 %4239, label %4240, label %4257

4240:                                             ; preds = %4235
  %4241 = load i32, ptr %111, align 4, !tbaa !5
  %4242 = call ptr @__errno_location() #11
  store i32 %4241, ptr %4242, align 4, !tbaa !5
  %4243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4244 = load i32, ptr @test_count, align 4, !tbaa !5
  %4245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror(i32 noundef %4246, ptr noundef @.str.4)
  %4248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror_debug(i32 noundef %4249, ptr noundef @.str.4)
  %4251 = call ptr @__errno_location() #11
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call ptr @strerror(i32 noundef %4252) #10
  %4254 = call ptr @__errno_location() #11
  %4255 = load i32, ptr %4254, align 4, !tbaa !5
  %4256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4243, ptr noundef @.str.2, i32 noundef %4244, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 273, ptr noundef %4247, ptr noundef %4250, ptr noundef %4253, i32 noundef %4255) #10
  br label %4274

4257:                                             ; preds = %4235, %4228
  %4258 = load i32, ptr %111, align 4, !tbaa !5
  %4259 = call ptr @__errno_location() #11
  store i32 %4258, ptr %4259, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  %4264 = call ptr @s2n_strerror(i32 noundef %4263, ptr noundef @.str.4)
  %4265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @s2n_strerror_debug(i32 noundef %4266, ptr noundef @.str.4)
  %4268 = call ptr @__errno_location() #11
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call ptr @strerror(i32 noundef %4269) #10
  %4271 = call ptr @__errno_location() #11
  %4272 = load i32, ptr %4271, align 4, !tbaa !5
  %4273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef @.str.5, i32 noundef %4261, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 273, ptr noundef %4264, ptr noundef %4267, ptr noundef %4270, i32 noundef %4272) #10
  br label %4274

4274:                                             ; preds = %4257, %4240
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

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

4277:                                             ; No predecessors!
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

4279:                                             ; preds = %4278, %4220
  br label %4280

4280:                                             ; preds = %4279
  br label %4281

4281:                                             ; preds = %4280
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  store i32 0, ptr %112, align 4, !tbaa !5
  br label %4282

4282:                                             ; preds = %4281
  %4283 = load i32, ptr @test_count, align 4, !tbaa !5
  %4284 = add nsw i32 %4283, 1
  store i32 %4284, ptr @test_count, align 4, !tbaa !5
  %4285 = load ptr, ptr %104, align 8, !tbaa !9
  %4286 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %4287 = call i64 @s2n_send(ptr noundef %4285, ptr noundef %4286, i64 noundef 16394, ptr noundef %112)
  %4288 = icmp eq i64 %4287, 16394
  br i1 %4288, label %4342, label %4289

4289:                                             ; preds = %4282
  br label %4290

4290:                                             ; preds = %4289
  br label %4291

4291:                                             ; preds = %4290
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %4292 = call ptr @__errno_location() #11
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  store i32 %4293, ptr %113, align 4, !tbaa !5
  %4294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4295 = call i32 @s2n_print_stacktrace(ptr noundef %4294)
  %4296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4297 = trunc i8 %4296 to i1
  br i1 %4297, label %4298, label %4320

4298:                                             ; preds = %4291
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = call i32 @fileno(ptr noundef %4299) #10
  %4301 = call i32 @isatty(i32 noundef %4300) #10
  %4302 = icmp ne i32 %4301, 0
  br i1 %4302, label %4303, label %4320

4303:                                             ; preds = %4298
  %4304 = load i32, ptr %113, align 4, !tbaa !5
  %4305 = call ptr @__errno_location() #11
  store i32 %4304, ptr %4305, align 4, !tbaa !5
  %4306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4307 = load i32, ptr @test_count, align 4, !tbaa !5
  %4308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call ptr @s2n_strerror(i32 noundef %4309, ptr noundef @.str.4)
  %4311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror_debug(i32 noundef %4312, ptr noundef @.str.4)
  %4314 = call ptr @__errno_location() #11
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call ptr @strerror(i32 noundef %4315) #10
  %4317 = call ptr @__errno_location() #11
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4306, ptr noundef @.str.2, i32 noundef %4307, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 276, ptr noundef %4310, ptr noundef %4313, ptr noundef %4316, i32 noundef %4318) #10
  br label %4337

4320:                                             ; preds = %4298, %4291
  %4321 = load i32, ptr %113, align 4, !tbaa !5
  %4322 = call ptr @__errno_location() #11
  store i32 %4321, ptr %4322, align 4, !tbaa !5
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = load i32, ptr @test_count, align 4, !tbaa !5
  %4325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4326 = load i32, ptr %4325, align 4, !tbaa !5
  %4327 = call ptr @s2n_strerror(i32 noundef %4326, ptr noundef @.str.4)
  %4328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = call ptr @s2n_strerror_debug(i32 noundef %4329, ptr noundef @.str.4)
  %4331 = call ptr @__errno_location() #11
  %4332 = load i32, ptr %4331, align 4, !tbaa !5
  %4333 = call ptr @strerror(i32 noundef %4332) #10
  %4334 = call ptr @__errno_location() #11
  %4335 = load i32, ptr %4334, align 4, !tbaa !5
  %4336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4323, ptr noundef @.str.5, i32 noundef %4324, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 276, ptr noundef %4327, ptr noundef %4330, ptr noundef %4333, i32 noundef %4335) #10
  br label %4337

4337:                                             ; preds = %4320, %4303
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %4338

4338:                                             ; preds = %4337
  br label %4339

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

4340:                                             ; No predecessors!
  br label %4341

4341:                                             ; preds = %4340
  br label %4342

4342:                                             ; preds = %4341, %4282
  br label %4343

4343:                                             ; preds = %4342
  br label %4344

4344:                                             ; preds = %4343
  br label %4345

4345:                                             ; preds = %4344
  %4346 = load i32, ptr @test_count, align 4, !tbaa !5
  %4347 = add nsw i32 %4346, 1
  store i32 %4347, ptr @test_count, align 4, !tbaa !5
  %4348 = getelementptr inbounds %struct.s2n_send_context, ptr %109, i32 0, i32 0
  %4349 = load i64, ptr %4348, align 8, !tbaa !24
  %4350 = icmp eq i64 %4349, 2
  br i1 %4350, label %4404, label %4351

4351:                                             ; preds = %4345
  br label %4352

4352:                                             ; preds = %4351
  br label %4353

4353:                                             ; preds = %4352
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %4354 = call ptr @__errno_location() #11
  %4355 = load i32, ptr %4354, align 4, !tbaa !5
  store i32 %4355, ptr %114, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = call i32 @s2n_print_stacktrace(ptr noundef %4356)
  %4358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4359 = trunc i8 %4358 to i1
  br i1 %4359, label %4360, label %4382

4360:                                             ; preds = %4353
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = call i32 @fileno(ptr noundef %4361) #10
  %4363 = call i32 @isatty(i32 noundef %4362) #10
  %4364 = icmp ne i32 %4363, 0
  br i1 %4364, label %4365, label %4382

4365:                                             ; preds = %4360
  %4366 = load i32, ptr %114, align 4, !tbaa !5
  %4367 = call ptr @__errno_location() #11
  store i32 %4366, ptr %4367, align 4, !tbaa !5
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror(i32 noundef %4371, ptr noundef @.str.4)
  %4373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  %4375 = call ptr @s2n_strerror_debug(i32 noundef %4374, ptr noundef @.str.4)
  %4376 = call ptr @__errno_location() #11
  %4377 = load i32, ptr %4376, align 4, !tbaa !5
  %4378 = call ptr @strerror(i32 noundef %4377) #10
  %4379 = call ptr @__errno_location() #11
  %4380 = load i32, ptr %4379, align 4, !tbaa !5
  %4381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4368, ptr noundef @.str.2, i32 noundef %4369, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 278, ptr noundef %4372, ptr noundef %4375, ptr noundef %4378, i32 noundef %4380) #10
  br label %4399

4382:                                             ; preds = %4360, %4353
  %4383 = load i32, ptr %114, align 4, !tbaa !5
  %4384 = call ptr @__errno_location() #11
  store i32 %4383, ptr %4384, align 4, !tbaa !5
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4386 = load i32, ptr @test_count, align 4, !tbaa !5
  %4387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4388 = load i32, ptr %4387, align 4, !tbaa !5
  %4389 = call ptr @s2n_strerror(i32 noundef %4388, ptr noundef @.str.4)
  %4390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  %4392 = call ptr @s2n_strerror_debug(i32 noundef %4391, ptr noundef @.str.4)
  %4393 = call ptr @__errno_location() #11
  %4394 = load i32, ptr %4393, align 4, !tbaa !5
  %4395 = call ptr @strerror(i32 noundef %4394) #10
  %4396 = call ptr @__errno_location() #11
  %4397 = load i32, ptr %4396, align 4, !tbaa !5
  %4398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4385, ptr noundef @.str.5, i32 noundef %4386, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 278, ptr noundef %4389, ptr noundef %4392, ptr noundef %4395, i32 noundef %4397) #10
  br label %4399

4399:                                             ; preds = %4382, %4365
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %4400

4400:                                             ; preds = %4399
  br label %4401

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

4402:                                             ; No predecessors!
  br label %4403

4403:                                             ; preds = %4402
  br label %4404

4404:                                             ; preds = %4403, %4345
  br label %4405

4405:                                             ; preds = %4404
  br label %4406

4406:                                             ; preds = %4405
  br label %4407

4407:                                             ; preds = %4406
  %4408 = load i32, ptr @test_count, align 4, !tbaa !5
  %4409 = add nsw i32 %4408, 1
  store i32 %4409, ptr @test_count, align 4, !tbaa !5
  %4410 = getelementptr inbounds %struct.s2n_send_context, ptr %109, i32 0, i32 1
  %4411 = load i64, ptr %4410, align 8, !tbaa !26
  %4412 = load ptr, ptr %104, align 8, !tbaa !9
  %4413 = getelementptr inbounds %struct.s2n_connection, ptr %4412, i32 0, i32 59
  %4414 = load i64, ptr %4413, align 8, !tbaa !57
  %4415 = icmp eq i64 %4411, %4414
  br i1 %4415, label %4469, label %4416

4416:                                             ; preds = %4407
  br label %4417

4417:                                             ; preds = %4416
  br label %4418

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

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

4430:                                             ; preds = %4425
  %4431 = load i32, ptr %115, align 4, !tbaa !5
  %4432 = call ptr @__errno_location() #11
  store i32 %4431, ptr %4432, align 4, !tbaa !5
  %4433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4434 = load i32, ptr @test_count, align 4, !tbaa !5
  %4435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call ptr @s2n_strerror(i32 noundef %4436, ptr noundef @.str.4)
  %4438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4439 = load i32, ptr %4438, align 4, !tbaa !5
  %4440 = call ptr @s2n_strerror_debug(i32 noundef %4439, ptr noundef @.str.4)
  %4441 = call ptr @__errno_location() #11
  %4442 = load i32, ptr %4441, align 4, !tbaa !5
  %4443 = call ptr @strerror(i32 noundef %4442) #10
  %4444 = call ptr @__errno_location() #11
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4433, ptr noundef @.str.2, i32 noundef %4434, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 279, ptr noundef %4437, ptr noundef %4440, ptr noundef %4443, i32 noundef %4445) #10
  br label %4464

4447:                                             ; preds = %4425, %4418
  %4448 = load i32, ptr %115, align 4, !tbaa !5
  %4449 = call ptr @__errno_location() #11
  store i32 %4448, ptr %4449, align 4, !tbaa !5
  %4450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4451 = load i32, ptr @test_count, align 4, !tbaa !5
  %4452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4453 = load i32, ptr %4452, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror(i32 noundef %4453, ptr noundef @.str.4)
  %4455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4456 = load i32, ptr %4455, align 4, !tbaa !5
  %4457 = call ptr @s2n_strerror_debug(i32 noundef %4456, ptr noundef @.str.4)
  %4458 = call ptr @__errno_location() #11
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  %4460 = call ptr @strerror(i32 noundef %4459) #10
  %4461 = call ptr @__errno_location() #11
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4450, ptr noundef @.str.5, i32 noundef %4451, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 279, ptr noundef %4454, ptr noundef %4457, ptr noundef %4460, i32 noundef %4462) #10
  br label %4464

4464:                                             ; preds = %4447, %4430
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %4465

4465:                                             ; preds = %4464
  br label %4466

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

4467:                                             ; No predecessors!
  br label %4468

4468:                                             ; preds = %4467
  br label %4469

4469:                                             ; preds = %4468, %4407
  br label %4470

4470:                                             ; preds = %4469
  br label %4471

4471:                                             ; preds = %4470
  br label %4472

4472:                                             ; preds = %4471
  %4473 = load i32, ptr @test_count, align 4, !tbaa !5
  %4474 = add nsw i32 %4473, 1
  store i32 %4474, ptr @test_count, align 4, !tbaa !5
  %4475 = getelementptr inbounds %struct.s2n_send_context, ptr %109, i32 0, i32 1
  %4476 = load i64, ptr %4475, align 8, !tbaa !26
  %4477 = load i16, ptr %88, align 2, !tbaa !60
  %4478 = zext i16 %4477 to i64
  %4479 = icmp eq i64 %4476, %4478
  br i1 %4479, label %4533, label %4480

4480:                                             ; preds = %4472
  br label %4481

4481:                                             ; preds = %4480
  br label %4482

4482:                                             ; preds = %4481
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %4483 = call ptr @__errno_location() #11
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  store i32 %4484, ptr %116, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = call i32 @s2n_print_stacktrace(ptr noundef %4485)
  %4487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4488 = trunc i8 %4487 to i1
  br i1 %4488, label %4489, label %4511

4489:                                             ; preds = %4482
  %4490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4491 = call i32 @fileno(ptr noundef %4490) #10
  %4492 = call i32 @isatty(i32 noundef %4491) #10
  %4493 = icmp ne i32 %4492, 0
  br i1 %4493, label %4494, label %4511

4494:                                             ; preds = %4489
  %4495 = load i32, ptr %116, align 4, !tbaa !5
  %4496 = call ptr @__errno_location() #11
  store i32 %4495, ptr %4496, align 4, !tbaa !5
  %4497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4498 = load i32, ptr @test_count, align 4, !tbaa !5
  %4499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4500 = load i32, ptr %4499, align 4, !tbaa !5
  %4501 = call ptr @s2n_strerror(i32 noundef %4500, ptr noundef @.str.4)
  %4502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4503 = load i32, ptr %4502, align 4, !tbaa !5
  %4504 = call ptr @s2n_strerror_debug(i32 noundef %4503, ptr noundef @.str.4)
  %4505 = call ptr @__errno_location() #11
  %4506 = load i32, ptr %4505, align 4, !tbaa !5
  %4507 = call ptr @strerror(i32 noundef %4506) #10
  %4508 = call ptr @__errno_location() #11
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  %4510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4497, ptr noundef @.str.2, i32 noundef %4498, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 283, ptr noundef %4501, ptr noundef %4504, ptr noundef %4507, i32 noundef %4509) #10
  br label %4528

4511:                                             ; preds = %4489, %4482
  %4512 = load i32, ptr %116, align 4, !tbaa !5
  %4513 = call ptr @__errno_location() #11
  store i32 %4512, ptr %4513, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = load i32, ptr @test_count, align 4, !tbaa !5
  %4516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4517 = load i32, ptr %4516, align 4, !tbaa !5
  %4518 = call ptr @s2n_strerror(i32 noundef %4517, ptr noundef @.str.4)
  %4519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror_debug(i32 noundef %4520, ptr noundef @.str.4)
  %4522 = call ptr @__errno_location() #11
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  %4524 = call ptr @strerror(i32 noundef %4523) #10
  %4525 = call ptr @__errno_location() #11
  %4526 = load i32, ptr %4525, align 4, !tbaa !5
  %4527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4514, ptr noundef @.str.5, i32 noundef %4515, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 283, ptr noundef %4518, ptr noundef %4521, ptr noundef %4524, i32 noundef %4526) #10
  br label %4528

4528:                                             ; preds = %4511, %4494
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %4529

4529:                                             ; preds = %4528
  br label %4530

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

4531:                                             ; No predecessors!
  br label %4532

4532:                                             ; preds = %4531
  br label %4533

4533:                                             ; preds = %4532, %4472
  br label %4534

4534:                                             ; preds = %4533
  br label %4535

4535:                                             ; preds = %4534
  br label %4536

4536:                                             ; preds = %4535
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = add nsw i32 %4537, 1
  store i32 %4538, ptr @test_count, align 4, !tbaa !5
  %4539 = load ptr, ptr %104, align 8, !tbaa !9
  %4540 = getelementptr inbounds %struct.s2n_connection, ptr %4539, i32 0, i32 41
  %4541 = getelementptr inbounds %struct.s2n_stuffer, ptr %4540, i32 0, i32 0
  %4542 = getelementptr inbounds %struct.s2n_blob, ptr %4541, i32 0, i32 1
  %4543 = load i32, ptr %4542, align 8, !tbaa !58
  %4544 = icmp eq i32 %4543, 17300
  br i1 %4544, label %4598, label %4545

4545:                                             ; preds = %4536
  br label %4546

4546:                                             ; preds = %4545
  br label %4547

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

4554:                                             ; preds = %4547
  %4555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4556 = call i32 @fileno(ptr noundef %4555) #10
  %4557 = call i32 @isatty(i32 noundef %4556) #10
  %4558 = icmp ne i32 %4557, 0
  br i1 %4558, label %4559, label %4576

4559:                                             ; preds = %4554
  %4560 = load i32, ptr %117, align 4, !tbaa !5
  %4561 = call ptr @__errno_location() #11
  store i32 %4560, ptr %4561, align 4, !tbaa !5
  %4562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4563 = load i32, ptr @test_count, align 4, !tbaa !5
  %4564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call ptr @s2n_strerror(i32 noundef %4565, ptr noundef @.str.4)
  %4567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  %4569 = call ptr @s2n_strerror_debug(i32 noundef %4568, ptr noundef @.str.4)
  %4570 = call ptr @__errno_location() #11
  %4571 = load i32, ptr %4570, align 4, !tbaa !5
  %4572 = call ptr @strerror(i32 noundef %4571) #10
  %4573 = call ptr @__errno_location() #11
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4562, ptr noundef @.str.2, i32 noundef %4563, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 286, ptr noundef %4566, ptr noundef %4569, ptr noundef %4572, i32 noundef %4574) #10
  br label %4593

4576:                                             ; preds = %4554, %4547
  %4577 = load i32, ptr %117, align 4, !tbaa !5
  %4578 = call ptr @__errno_location() #11
  store i32 %4577, ptr %4578, align 4, !tbaa !5
  %4579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4580 = load i32, ptr @test_count, align 4, !tbaa !5
  %4581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4582 = load i32, ptr %4581, align 4, !tbaa !5
  %4583 = call ptr @s2n_strerror(i32 noundef %4582, ptr noundef @.str.4)
  %4584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  %4586 = call ptr @s2n_strerror_debug(i32 noundef %4585, ptr noundef @.str.4)
  %4587 = call ptr @__errno_location() #11
  %4588 = load i32, ptr %4587, align 4, !tbaa !5
  %4589 = call ptr @strerror(i32 noundef %4588) #10
  %4590 = call ptr @__errno_location() #11
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4579, ptr noundef @.str.5, i32 noundef %4580, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 286, ptr noundef %4583, ptr noundef %4586, ptr noundef %4589, i32 noundef %4591) #10
  br label %4593

4593:                                             ; preds = %4576, %4559
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %4594

4594:                                             ; preds = %4593
  br label %4595

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

4596:                                             ; No predecessors!
  br label %4597

4597:                                             ; preds = %4596
  br label %4598

4598:                                             ; preds = %4597, %4536
  br label %4599

4599:                                             ; preds = %4598
  br label %4600

4600:                                             ; preds = %4599
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #10
  %4601 = call i32 @s2n_connection_ptr_free(ptr noundef %104)
  %4602 = getelementptr inbounds %struct.s2n_result, ptr %118, i32 0, i32 0
  store i32 %4601, ptr %4602, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #10
  %4603 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4603, ptr %119, align 8, !tbaa !9
  br label %4604

4604:                                             ; preds = %4600
  %4605 = load i32, ptr @test_count, align 4, !tbaa !5
  %4606 = add nsw i32 %4605, 1
  store i32 %4606, ptr @test_count, align 4, !tbaa !5
  %4607 = load ptr, ptr %119, align 8, !tbaa !9
  %4608 = icmp eq ptr %4607, null
  br i1 %4608, label %4609, label %4662

4609:                                             ; preds = %4604
  br label %4610

4610:                                             ; preds = %4609
  br label %4611

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

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

4623:                                             ; preds = %4618
  %4624 = load i32, ptr %120, align 4, !tbaa !5
  %4625 = call ptr @__errno_location() #11
  store i32 %4624, ptr %4625, align 4, !tbaa !5
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4629 = load i32, ptr %4628, align 4, !tbaa !5
  %4630 = call ptr @s2n_strerror(i32 noundef %4629, ptr noundef @.str.4)
  %4631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4632 = load i32, ptr %4631, align 4, !tbaa !5
  %4633 = call ptr @s2n_strerror_debug(i32 noundef %4632, ptr noundef @.str.4)
  %4634 = call ptr @__errno_location() #11
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  %4636 = call ptr @strerror(i32 noundef %4635) #10
  %4637 = call ptr @__errno_location() #11
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4626, ptr noundef @.str.2, i32 noundef %4627, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 295, ptr noundef %4630, ptr noundef %4633, ptr noundef %4636, i32 noundef %4638) #10
  br label %4657

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

4657:                                             ; preds = %4640, %4623
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %4658

4658:                                             ; preds = %4657
  br label %4659

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

4660:                                             ; No predecessors!
  br label %4661

4661:                                             ; preds = %4660
  br label %4662

4662:                                             ; preds = %4661, %4604
  br label %4663

4663:                                             ; preds = %4662
  br label %4664

4664:                                             ; preds = %4663
  br label %4665

4665:                                             ; preds = %4664
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = add nsw i32 %4666, 1
  store i32 %4667, ptr @test_count, align 4, !tbaa !5
  %4668 = load ptr, ptr %119, align 8, !tbaa !9
  %4669 = call i32 @s2n_connection_set_secrets(ptr noundef %4668)
  %4670 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  store i32 %4669, ptr %4670, align 4
  %4671 = getelementptr inbounds %struct.s2n_result, ptr %121, i32 0, i32 0
  %4672 = load i32, ptr %4671, align 4
  %4673 = call zeroext i1 @s2n_result_is_ok(i32 %4672)
  br i1 %4673, label %4727, label %4674

4674:                                             ; preds = %4665
  br label %4675

4675:                                             ; preds = %4674
  br label %4676

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

4683:                                             ; preds = %4676
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = call i32 @fileno(ptr noundef %4684) #10
  %4686 = call i32 @isatty(i32 noundef %4685) #10
  %4687 = icmp ne i32 %4686, 0
  br i1 %4687, label %4688, label %4705

4688:                                             ; preds = %4683
  %4689 = load i32, ptr %122, align 4, !tbaa !5
  %4690 = call ptr @__errno_location() #11
  store i32 %4689, ptr %4690, align 4, !tbaa !5
  %4691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4692 = load i32, ptr @test_count, align 4, !tbaa !5
  %4693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4694 = load i32, ptr %4693, align 4, !tbaa !5
  %4695 = call ptr @s2n_strerror(i32 noundef %4694, ptr noundef @.str.4)
  %4696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4697 = load i32, ptr %4696, align 4, !tbaa !5
  %4698 = call ptr @s2n_strerror_debug(i32 noundef %4697, ptr noundef @.str.4)
  %4699 = call ptr @__errno_location() #11
  %4700 = load i32, ptr %4699, align 4, !tbaa !5
  %4701 = call ptr @strerror(i32 noundef %4700) #10
  %4702 = call ptr @__errno_location() #11
  %4703 = load i32, ptr %4702, align 4, !tbaa !5
  %4704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4691, ptr noundef @.str.2, i32 noundef %4692, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 296, ptr noundef %4695, ptr noundef %4698, ptr noundef %4701, i32 noundef %4703) #10
  br label %4722

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

4722:                                             ; preds = %4705, %4688
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %4723

4723:                                             ; preds = %4722
  br label %4724

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

4725:                                             ; No predecessors!
  br label %4726

4726:                                             ; preds = %4725
  br label %4727

4727:                                             ; preds = %4726, %4665
  br label %4728

4728:                                             ; preds = %4727
  br label %4729

4729:                                             ; preds = %4728
  br label %4730

4730:                                             ; preds = %4729
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = add nsw i32 %4731, 1
  store i32 %4732, ptr @test_count, align 4, !tbaa !5
  %4733 = load ptr, ptr %119, align 8, !tbaa !9
  %4734 = load ptr, ptr %20, align 8, !tbaa !9
  %4735 = call i32 @s2n_connection_set_config(ptr noundef %4733, ptr noundef %4734)
  %4736 = icmp eq i32 %4735, -1
  br i1 %4736, label %4737, label %4790

4737:                                             ; preds = %4730
  br label %4738

4738:                                             ; preds = %4737
  br label %4739

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

4746:                                             ; preds = %4739
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = call i32 @fileno(ptr noundef %4747) #10
  %4749 = call i32 @isatty(i32 noundef %4748) #10
  %4750 = icmp ne i32 %4749, 0
  br i1 %4750, label %4751, label %4768

4751:                                             ; preds = %4746
  %4752 = load i32, ptr %123, align 4, !tbaa !5
  %4753 = call ptr @__errno_location() #11
  store i32 %4752, ptr %4753, align 4, !tbaa !5
  %4754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4757 = load i32, ptr %4756, align 4, !tbaa !5
  %4758 = call ptr @s2n_strerror(i32 noundef %4757, ptr noundef @.str.4)
  %4759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4760 = load i32, ptr %4759, align 4, !tbaa !5
  %4761 = call ptr @s2n_strerror_debug(i32 noundef %4760, ptr noundef @.str.4)
  %4762 = call ptr @__errno_location() #11
  %4763 = load i32, ptr %4762, align 4, !tbaa !5
  %4764 = call ptr @strerror(i32 noundef %4763) #10
  %4765 = call ptr @__errno_location() #11
  %4766 = load i32, ptr %4765, align 4, !tbaa !5
  %4767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4754, ptr noundef @.str.2, i32 noundef %4755, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 297, ptr noundef %4758, ptr noundef %4761, ptr noundef %4764, i32 noundef %4766) #10
  br label %4785

4768:                                             ; preds = %4746, %4739
  %4769 = load i32, ptr %123, 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.5, i32 noundef %4772, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 297, ptr noundef %4775, ptr noundef %4778, ptr noundef %4781, i32 noundef %4783) #10
  br label %4785

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

4786:                                             ; preds = %4785
  br label %4787

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

4788:                                             ; No predecessors!
  br label %4789

4789:                                             ; preds = %4788
  br label %4790

4790:                                             ; preds = %4789, %4730
  br label %4791

4791:                                             ; preds = %4790
  br label %4792

4792:                                             ; preds = %4791
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  store i32 10, ptr %124, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %4793 = load i16, ptr %88, align 2, !tbaa !60
  %4794 = zext i16 %4793 to i32
  %4795 = sub i32 %4794, 10
  %4796 = sub i32 %4795, 1
  store i32 %4796, ptr %125, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 60, ptr %126) #10
  %4797 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i32 0, i32 0
  store i32 10, ptr %4797, align 4, !tbaa !17
  %4798 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i32 0, i32 1
  store i32 11, ptr %4798, align 4, !tbaa !19
  %4799 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i32 0, i32 2
  store i8 0, ptr %4799, align 4, !tbaa !20
  %4800 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i64 1
  %4801 = getelementptr inbounds %struct.s2n_send_result, ptr %4800, i32 0, i32 0
  store i32 -1, ptr %4801, align 4, !tbaa !17
  %4802 = getelementptr inbounds %struct.s2n_send_result, ptr %4800, i32 0, i32 1
  store i32 11, ptr %4802, align 4, !tbaa !19
  %4803 = getelementptr inbounds %struct.s2n_send_result, ptr %4800, i32 0, i32 2
  store i8 0, ptr %4803, align 4, !tbaa !20
  %4804 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i64 2
  %4805 = getelementptr inbounds %struct.s2n_send_result, ptr %4804, i32 0, i32 0
  %4806 = load i32, ptr %125, align 4, !tbaa !5
  store i32 %4806, ptr %4805, align 4, !tbaa !17
  %4807 = getelementptr inbounds %struct.s2n_send_result, ptr %4804, i32 0, i32 1
  store i32 11, ptr %4807, align 4, !tbaa !19
  %4808 = getelementptr inbounds %struct.s2n_send_result, ptr %4804, i32 0, i32 2
  store i8 0, ptr %4808, align 4, !tbaa !20
  %4809 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i64 3
  %4810 = getelementptr inbounds %struct.s2n_send_result, ptr %4809, i32 0, i32 0
  store i32 -1, ptr %4810, align 4, !tbaa !17
  %4811 = getelementptr inbounds %struct.s2n_send_result, ptr %4809, i32 0, i32 1
  store i32 11, ptr %4811, align 4, !tbaa !19
  %4812 = getelementptr inbounds %struct.s2n_send_result, ptr %4809, i32 0, i32 2
  store i8 0, ptr %4812, align 4, !tbaa !20
  %4813 = getelementptr inbounds %struct.s2n_send_result, ptr %126, i64 4
  %4814 = getelementptr inbounds %struct.s2n_send_result, ptr %4813, i32 0, i32 0
  store i32 2147483647, ptr %4814, align 4, !tbaa !17
  %4815 = getelementptr inbounds %struct.s2n_send_result, ptr %4813, i32 0, i32 1
  store i32 0, ptr %4815, align 4, !tbaa !19
  %4816 = getelementptr inbounds %struct.s2n_send_result, ptr %4813, i32 0, i32 2
  store i8 0, ptr %4816, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #10
  %4817 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 0
  store i64 0, ptr %4817, align 8, !tbaa !24
  %4818 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 1
  store i64 0, ptr %4818, align 8, !tbaa !26
  %4819 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 2
  %4820 = getelementptr inbounds [5 x %struct.s2n_send_result], ptr %126, i64 0, i64 0
  store ptr %4820, ptr %4819, align 8, !tbaa !27
  %4821 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 3
  store i64 5, ptr %4821, align 8, !tbaa !28
  br label %4822

4822:                                             ; preds = %4792
  %4823 = load i32, ptr @test_count, align 4, !tbaa !5
  %4824 = add nsw i32 %4823, 1
  store i32 %4824, ptr @test_count, align 4, !tbaa !5
  %4825 = load ptr, ptr %119, align 8, !tbaa !9
  %4826 = call i32 @s2n_connection_set_send_cb(ptr noundef %4825, ptr noundef @s2n_test_send_cb)
  %4827 = icmp eq i32 %4826, -1
  br i1 %4827, label %4828, label %4881

4828:                                             ; preds = %4822
  br label %4829

4829:                                             ; preds = %4828
  br label %4830

4830:                                             ; preds = %4829
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %4831 = call ptr @__errno_location() #11
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  store i32 %4832, ptr %128, align 4, !tbaa !5
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4834 = call i32 @s2n_print_stacktrace(ptr noundef %4833)
  %4835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4836 = trunc i8 %4835 to i1
  br i1 %4836, label %4837, label %4859

4837:                                             ; preds = %4830
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = call i32 @fileno(ptr noundef %4838) #10
  %4840 = call i32 @isatty(i32 noundef %4839) #10
  %4841 = icmp ne i32 %4840, 0
  br i1 %4841, label %4842, label %4859

4842:                                             ; preds = %4837
  %4843 = load i32, ptr %128, align 4, !tbaa !5
  %4844 = call ptr @__errno_location() #11
  store i32 %4843, ptr %4844, align 4, !tbaa !5
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = load i32, ptr @test_count, align 4, !tbaa !5
  %4847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call ptr @s2n_strerror(i32 noundef %4848, ptr noundef @.str.4)
  %4850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = call ptr @s2n_strerror_debug(i32 noundef %4851, ptr noundef @.str.4)
  %4853 = call ptr @__errno_location() #11
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  %4855 = call ptr @strerror(i32 noundef %4854) #10
  %4856 = call ptr @__errno_location() #11
  %4857 = load i32, ptr %4856, align 4, !tbaa !5
  %4858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4845, ptr noundef @.str.2, i32 noundef %4846, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 310, ptr noundef %4849, ptr noundef %4852, ptr noundef %4855, i32 noundef %4857) #10
  br label %4876

4859:                                             ; preds = %4837, %4830
  %4860 = load i32, ptr %128, align 4, !tbaa !5
  %4861 = call ptr @__errno_location() #11
  store i32 %4860, ptr %4861, align 4, !tbaa !5
  %4862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4863 = load i32, ptr @test_count, align 4, !tbaa !5
  %4864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef @.str.4)
  %4867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call ptr @s2n_strerror_debug(i32 noundef %4868, ptr noundef @.str.4)
  %4870 = call ptr @__errno_location() #11
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  %4872 = call ptr @strerror(i32 noundef %4871) #10
  %4873 = call ptr @__errno_location() #11
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  %4875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4862, ptr noundef @.str.5, i32 noundef %4863, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 310, ptr noundef %4866, ptr noundef %4869, ptr noundef %4872, i32 noundef %4874) #10
  br label %4876

4876:                                             ; preds = %4859, %4842
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

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

4879:                                             ; No predecessors!
  br label %4880

4880:                                             ; preds = %4879
  br label %4881

4881:                                             ; preds = %4880, %4822
  br label %4882

4882:                                             ; preds = %4881
  br label %4883

4883:                                             ; preds = %4882
  br label %4884

4884:                                             ; preds = %4883
  %4885 = load i32, ptr @test_count, align 4, !tbaa !5
  %4886 = add nsw i32 %4885, 1
  store i32 %4886, ptr @test_count, align 4, !tbaa !5
  %4887 = load ptr, ptr %119, align 8, !tbaa !9
  %4888 = call i32 @s2n_connection_set_send_ctx(ptr noundef %4887, ptr noundef %127)
  %4889 = icmp eq i32 %4888, -1
  br i1 %4889, label %4890, label %4943

4890:                                             ; preds = %4884
  br label %4891

4891:                                             ; preds = %4890
  br label %4892

4892:                                             ; preds = %4891
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %4893 = call ptr @__errno_location() #11
  %4894 = load i32, ptr %4893, align 4, !tbaa !5
  store i32 %4894, ptr %129, align 4, !tbaa !5
  %4895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4896 = call i32 @s2n_print_stacktrace(ptr noundef %4895)
  %4897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4898 = trunc i8 %4897 to i1
  br i1 %4898, label %4899, label %4921

4899:                                             ; preds = %4892
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4901 = call i32 @fileno(ptr noundef %4900) #10
  %4902 = call i32 @isatty(i32 noundef %4901) #10
  %4903 = icmp ne i32 %4902, 0
  br i1 %4903, label %4904, label %4921

4904:                                             ; preds = %4899
  %4905 = load i32, ptr %129, align 4, !tbaa !5
  %4906 = call ptr @__errno_location() #11
  store i32 %4905, ptr %4906, align 4, !tbaa !5
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = load i32, ptr @test_count, align 4, !tbaa !5
  %4909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @s2n_strerror(i32 noundef %4910, ptr noundef @.str.4)
  %4912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call ptr @s2n_strerror_debug(i32 noundef %4913, ptr noundef @.str.4)
  %4915 = call ptr @__errno_location() #11
  %4916 = load i32, ptr %4915, align 4, !tbaa !5
  %4917 = call ptr @strerror(i32 noundef %4916) #10
  %4918 = call ptr @__errno_location() #11
  %4919 = load i32, ptr %4918, align 4, !tbaa !5
  %4920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4907, ptr noundef @.str.2, i32 noundef %4908, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 311, ptr noundef %4911, ptr noundef %4914, ptr noundef %4917, i32 noundef %4919) #10
  br label %4938

4921:                                             ; preds = %4899, %4892
  %4922 = load i32, ptr %129, align 4, !tbaa !5
  %4923 = call ptr @__errno_location() #11
  store i32 %4922, ptr %4923, align 4, !tbaa !5
  %4924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4925 = load i32, ptr @test_count, align 4, !tbaa !5
  %4926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4927 = load i32, ptr %4926, align 4, !tbaa !5
  %4928 = call ptr @s2n_strerror(i32 noundef %4927, ptr noundef @.str.4)
  %4929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4930 = load i32, ptr %4929, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror_debug(i32 noundef %4930, ptr noundef @.str.4)
  %4932 = call ptr @__errno_location() #11
  %4933 = load i32, ptr %4932, align 4, !tbaa !5
  %4934 = call ptr @strerror(i32 noundef %4933) #10
  %4935 = call ptr @__errno_location() #11
  %4936 = load i32, ptr %4935, align 4, !tbaa !5
  %4937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4924, ptr noundef @.str.5, i32 noundef %4925, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 311, ptr noundef %4928, ptr noundef %4931, ptr noundef %4934, i32 noundef %4936) #10
  br label %4938

4938:                                             ; preds = %4921, %4904
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %4939

4939:                                             ; preds = %4938
  br label %4940

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

4941:                                             ; No predecessors!
  br label %4942

4942:                                             ; preds = %4941
  br label %4943

4943:                                             ; preds = %4942, %4884
  br label %4944

4944:                                             ; preds = %4943
  br label %4945

4945:                                             ; preds = %4944
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  store i32 0, ptr %130, align 4, !tbaa !5
  br label %4946

4946:                                             ; preds = %4945
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

4948:                                             ; preds = %4947
  %4949 = load i32, ptr @test_count, align 4, !tbaa !5
  %4950 = add nsw i32 %4949, 1
  store i32 %4950, ptr @test_count, align 4, !tbaa !5
  %4951 = load ptr, ptr %119, align 8, !tbaa !9
  %4952 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %4953 = call i64 @s2n_send(ptr noundef %4951, ptr noundef %4952, i64 noundef 16394, ptr noundef %130)
  %4954 = icmp eq i64 %4953, -1
  br i1 %4954, label %5008, label %4955

4955:                                             ; preds = %4948
  br label %4956

4956:                                             ; preds = %4955
  br label %4957

4957:                                             ; preds = %4956
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %4958 = call ptr @__errno_location() #11
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  store i32 %4959, ptr %131, align 4, !tbaa !5
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = call i32 @s2n_print_stacktrace(ptr noundef %4960)
  %4962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4963 = trunc i8 %4962 to i1
  br i1 %4963, label %4964, label %4986

4964:                                             ; preds = %4957
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = call i32 @fileno(ptr noundef %4965) #10
  %4967 = call i32 @isatty(i32 noundef %4966) #10
  %4968 = icmp ne i32 %4967, 0
  br i1 %4968, label %4969, label %4986

4969:                                             ; preds = %4964
  %4970 = load i32, ptr %131, align 4, !tbaa !5
  %4971 = call ptr @__errno_location() #11
  store i32 %4970, ptr %4971, align 4, !tbaa !5
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = load i32, ptr @test_count, align 4, !tbaa !5
  %4974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call ptr @s2n_strerror(i32 noundef %4975, ptr noundef @.str.4)
  %4977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4978 = load i32, ptr %4977, align 4, !tbaa !5
  %4979 = call ptr @s2n_strerror_debug(i32 noundef %4978, ptr noundef @.str.4)
  %4980 = call ptr @__errno_location() #11
  %4981 = load i32, ptr %4980, align 4, !tbaa !5
  %4982 = call ptr @strerror(i32 noundef %4981) #10
  %4983 = call ptr @__errno_location() #11
  %4984 = load i32, ptr %4983, align 4, !tbaa !5
  %4985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4972, ptr noundef @.str.2, i32 noundef %4973, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 315, ptr noundef %4976, ptr noundef %4979, ptr noundef %4982, i32 noundef %4984) #10
  br label %5003

4986:                                             ; preds = %4964, %4957
  %4987 = load i32, ptr %131, align 4, !tbaa !5
  %4988 = call ptr @__errno_location() #11
  store i32 %4987, ptr %4988, align 4, !tbaa !5
  %4989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4990 = load i32, ptr @test_count, align 4, !tbaa !5
  %4991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  %4993 = call ptr @s2n_strerror(i32 noundef %4992, ptr noundef @.str.4)
  %4994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4995 = load i32, ptr %4994, align 4, !tbaa !5
  %4996 = call ptr @s2n_strerror_debug(i32 noundef %4995, ptr noundef @.str.4)
  %4997 = call ptr @__errno_location() #11
  %4998 = load i32, ptr %4997, align 4, !tbaa !5
  %4999 = call ptr @strerror(i32 noundef %4998) #10
  %5000 = call ptr @__errno_location() #11
  %5001 = load i32, ptr %5000, align 4, !tbaa !5
  %5002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4989, ptr noundef @.str.5, i32 noundef %4990, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 315, ptr noundef %4993, ptr noundef %4996, ptr noundef %4999, i32 noundef %5001) #10
  br label %5003

5003:                                             ; preds = %4986, %4969
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %5004

5004:                                             ; preds = %5003
  br label %5005

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

5006:                                             ; No predecessors!
  br label %5007

5007:                                             ; preds = %5006
  br label %5008

5008:                                             ; preds = %5007, %4948
  br label %5009

5009:                                             ; preds = %5008
  br label %5010

5010:                                             ; preds = %5009
  br label %5011

5011:                                             ; preds = %5010
  %5012 = load i32, ptr @test_count, align 4, !tbaa !5
  %5013 = add nsw i32 %5012, 1
  store i32 %5013, ptr @test_count, align 4, !tbaa !5
  %5014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5015 = load i32, ptr %5014, align 4, !tbaa !5
  %5016 = icmp eq i32 %5015, 201326592
  br i1 %5016, label %5070, label %5017

5017:                                             ; preds = %5011
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

5019:                                             ; preds = %5018
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %5020 = call ptr @__errno_location() #11
  %5021 = load i32, ptr %5020, align 4, !tbaa !5
  store i32 %5021, ptr %132, align 4, !tbaa !5
  %5022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5023 = call i32 @s2n_print_stacktrace(ptr noundef %5022)
  %5024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5025 = trunc i8 %5024 to i1
  br i1 %5025, label %5026, label %5048

5026:                                             ; preds = %5019
  %5027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5028 = call i32 @fileno(ptr noundef %5027) #10
  %5029 = call i32 @isatty(i32 noundef %5028) #10
  %5030 = icmp ne i32 %5029, 0
  br i1 %5030, label %5031, label %5048

5031:                                             ; preds = %5026
  %5032 = load i32, ptr %132, align 4, !tbaa !5
  %5033 = call ptr @__errno_location() #11
  store i32 %5032, ptr %5033, align 4, !tbaa !5
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5035 = load i32, ptr @test_count, align 4, !tbaa !5
  %5036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror(i32 noundef %5037, ptr noundef @.str.4)
  %5039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef @.str.4)
  %5042 = call ptr @__errno_location() #11
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call ptr @strerror(i32 noundef %5043) #10
  %5045 = call ptr @__errno_location() #11
  %5046 = load i32, ptr %5045, align 4, !tbaa !5
  %5047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5034, ptr noundef @.str.2, i32 noundef %5035, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5038, ptr noundef %5041, ptr noundef %5044, i32 noundef %5046) #10
  br label %5065

5048:                                             ; preds = %5026, %5019
  %5049 = load i32, ptr %132, align 4, !tbaa !5
  %5050 = call ptr @__errno_location() #11
  store i32 %5049, ptr %5050, align 4, !tbaa !5
  %5051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5052 = load i32, ptr @test_count, align 4, !tbaa !5
  %5053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call ptr @s2n_strerror(i32 noundef %5054, ptr noundef @.str.4)
  %5056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror_debug(i32 noundef %5057, ptr noundef @.str.4)
  %5059 = call ptr @__errno_location() #11
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  %5061 = call ptr @strerror(i32 noundef %5060) #10
  %5062 = call ptr @__errno_location() #11
  %5063 = load i32, ptr %5062, align 4, !tbaa !5
  %5064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5051, ptr noundef @.str.5, i32 noundef %5052, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5055, ptr noundef %5058, ptr noundef %5061, i32 noundef %5063) #10
  br label %5065

5065:                                             ; preds = %5048, %5031
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %5066

5066:                                             ; preds = %5065
  br label %5067

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

5068:                                             ; No predecessors!
  br label %5069

5069:                                             ; preds = %5068
  br label %5070

5070:                                             ; preds = %5069, %5011
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072
  %5074 = load i32, ptr @test_count, align 4, !tbaa !5
  %5075 = add nsw i32 %5074, 1
  store i32 %5075, ptr @test_count, align 4, !tbaa !5
  %5076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5077 = load i32, ptr %5076, align 4, !tbaa !5
  %5078 = call ptr @s2n_strerror_debug(i32 noundef %5077, ptr noundef @.str.4)
  %5079 = icmp eq ptr %5078, null
  br i1 %5079, label %5080, label %5133

5080:                                             ; preds = %5073
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %5083 = call ptr @__errno_location() #11
  %5084 = load i32, ptr %5083, align 4, !tbaa !5
  store i32 %5084, ptr %133, align 4, !tbaa !5
  %5085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5086 = call i32 @s2n_print_stacktrace(ptr noundef %5085)
  %5087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5088 = trunc i8 %5087 to i1
  br i1 %5088, label %5089, label %5111

5089:                                             ; preds = %5082
  %5090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5091 = call i32 @fileno(ptr noundef %5090) #10
  %5092 = call i32 @isatty(i32 noundef %5091) #10
  %5093 = icmp ne i32 %5092, 0
  br i1 %5093, label %5094, label %5111

5094:                                             ; preds = %5089
  %5095 = load i32, ptr %133, align 4, !tbaa !5
  %5096 = call ptr @__errno_location() #11
  store i32 %5095, ptr %5096, align 4, !tbaa !5
  %5097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5098 = load i32, ptr @test_count, align 4, !tbaa !5
  %5099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5100 = load i32, ptr %5099, align 4, !tbaa !5
  %5101 = call ptr @s2n_strerror(i32 noundef %5100, ptr noundef @.str.4)
  %5102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5103 = load i32, ptr %5102, align 4, !tbaa !5
  %5104 = call ptr @s2n_strerror_debug(i32 noundef %5103, ptr noundef @.str.4)
  %5105 = call ptr @__errno_location() #11
  %5106 = load i32, ptr %5105, align 4, !tbaa !5
  %5107 = call ptr @strerror(i32 noundef %5106) #10
  %5108 = call ptr @__errno_location() #11
  %5109 = load i32, ptr %5108, align 4, !tbaa !5
  %5110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5097, ptr noundef @.str.2, i32 noundef %5098, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5101, ptr noundef %5104, ptr noundef %5107, i32 noundef %5109) #10
  br label %5128

5111:                                             ; preds = %5089, %5082
  %5112 = load i32, ptr %133, align 4, !tbaa !5
  %5113 = call ptr @__errno_location() #11
  store i32 %5112, ptr %5113, align 4, !tbaa !5
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = load i32, ptr @test_count, align 4, !tbaa !5
  %5116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror(i32 noundef %5117, ptr noundef @.str.4)
  %5119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror_debug(i32 noundef %5120, ptr noundef @.str.4)
  %5122 = call ptr @__errno_location() #11
  %5123 = load i32, ptr %5122, align 4, !tbaa !5
  %5124 = call ptr @strerror(i32 noundef %5123) #10
  %5125 = call ptr @__errno_location() #11
  %5126 = load i32, ptr %5125, align 4, !tbaa !5
  %5127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5114, ptr noundef @.str.5, i32 noundef %5115, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 315, ptr noundef %5118, ptr noundef %5121, ptr noundef %5124, i32 noundef %5126) #10
  br label %5128

5128:                                             ; preds = %5111, %5094
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %5129

5129:                                             ; preds = %5128
  br label %5130

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

5131:                                             ; No predecessors!
  br label %5132

5132:                                             ; preds = %5131
  br label %5133

5133:                                             ; preds = %5132, %5073
  br label %5134

5134:                                             ; preds = %5133
  br label %5135

5135:                                             ; preds = %5134
  br label %5136

5136:                                             ; preds = %5135
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

5138:                                             ; preds = %5137
  %5139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5139, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5140 = call ptr @__errno_location() #11
  store i32 0, ptr %5140, align 4, !tbaa !5
  br label %5141

5141:                                             ; preds = %5138
  br label %5142

5142:                                             ; preds = %5141
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143
  br label %5145

5145:                                             ; preds = %5144
  %5146 = load i32, ptr @test_count, align 4, !tbaa !5
  %5147 = add nsw i32 %5146, 1
  store i32 %5147, ptr @test_count, align 4, !tbaa !5
  %5148 = load i32, ptr %130, align 4, !tbaa !5
  %5149 = icmp eq i32 %5148, 2
  br i1 %5149, label %5203, label %5150

5150:                                             ; preds = %5145
  br label %5151

5151:                                             ; preds = %5150
  br label %5152

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

5159:                                             ; preds = %5152
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = call i32 @fileno(ptr noundef %5160) #10
  %5162 = call i32 @isatty(i32 noundef %5161) #10
  %5163 = icmp ne i32 %5162, 0
  br i1 %5163, label %5164, label %5181

5164:                                             ; preds = %5159
  %5165 = load i32, ptr %134, align 4, !tbaa !5
  %5166 = call ptr @__errno_location() #11
  store i32 %5165, ptr %5166, align 4, !tbaa !5
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = load i32, ptr @test_count, align 4, !tbaa !5
  %5169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror(i32 noundef %5170, ptr noundef @.str.4)
  %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_debug(i32 noundef %5173, ptr noundef @.str.4)
  %5175 = call ptr @__errno_location() #11
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @strerror(i32 noundef %5176) #10
  %5178 = call ptr @__errno_location() #11
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5167, ptr noundef @.str.2, i32 noundef %5168, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 316, ptr noundef %5171, ptr noundef %5174, ptr noundef %5177, i32 noundef %5179) #10
  br label %5198

5181:                                             ; preds = %5159, %5152
  %5182 = load i32, ptr %134, align 4, !tbaa !5
  %5183 = call ptr @__errno_location() #11
  store i32 %5182, ptr %5183, align 4, !tbaa !5
  %5184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5185 = load i32, ptr @test_count, align 4, !tbaa !5
  %5186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5187 = load i32, ptr %5186, align 4, !tbaa !5
  %5188 = call ptr @s2n_strerror(i32 noundef %5187, ptr noundef @.str.4)
  %5189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5190 = load i32, ptr %5189, align 4, !tbaa !5
  %5191 = call ptr @s2n_strerror_debug(i32 noundef %5190, ptr noundef @.str.4)
  %5192 = call ptr @__errno_location() #11
  %5193 = load i32, ptr %5192, align 4, !tbaa !5
  %5194 = call ptr @strerror(i32 noundef %5193) #10
  %5195 = call ptr @__errno_location() #11
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5184, ptr noundef @.str.5, i32 noundef %5185, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 316, ptr noundef %5188, ptr noundef %5191, ptr noundef %5194, i32 noundef %5196) #10
  br label %5198

5198:                                             ; preds = %5181, %5164
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

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

5201:                                             ; No predecessors!
  br label %5202

5202:                                             ; preds = %5201
  br label %5203

5203:                                             ; preds = %5202, %5145
  br label %5204

5204:                                             ; preds = %5203
  br label %5205

5205:                                             ; preds = %5204
  br label %5206

5206:                                             ; preds = %5205
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = add nsw i32 %5207, 1
  store i32 %5208, ptr @test_count, align 4, !tbaa !5
  %5209 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 1
  %5210 = load i64, ptr %5209, align 8, !tbaa !26
  %5211 = icmp eq i64 %5210, 10
  br i1 %5211, label %5265, label %5212

5212:                                             ; preds = %5206
  br label %5213

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %5215 = call ptr @__errno_location() #11
  %5216 = load i32, ptr %5215, align 4, !tbaa !5
  store i32 %5216, ptr %135, align 4, !tbaa !5
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = call i32 @s2n_print_stacktrace(ptr noundef %5217)
  %5219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5220 = trunc i8 %5219 to i1
  br i1 %5220, label %5221, label %5243

5221:                                             ; preds = %5214
  %5222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5223 = call i32 @fileno(ptr noundef %5222) #10
  %5224 = call i32 @isatty(i32 noundef %5223) #10
  %5225 = icmp ne i32 %5224, 0
  br i1 %5225, label %5226, label %5243

5226:                                             ; preds = %5221
  %5227 = load i32, ptr %135, align 4, !tbaa !5
  %5228 = call ptr @__errno_location() #11
  store i32 %5227, ptr %5228, align 4, !tbaa !5
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call ptr @s2n_strerror(i32 noundef %5232, ptr noundef @.str.4)
  %5234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror_debug(i32 noundef %5235, ptr noundef @.str.4)
  %5237 = call ptr @__errno_location() #11
  %5238 = load i32, ptr %5237, align 4, !tbaa !5
  %5239 = call ptr @strerror(i32 noundef %5238) #10
  %5240 = call ptr @__errno_location() #11
  %5241 = load i32, ptr %5240, align 4, !tbaa !5
  %5242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5229, ptr noundef @.str.2, i32 noundef %5230, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5233, ptr noundef %5236, ptr noundef %5239, i32 noundef %5241) #10
  br label %5260

5243:                                             ; preds = %5221, %5214
  %5244 = load i32, ptr %135, align 4, !tbaa !5
  %5245 = call ptr @__errno_location() #11
  store i32 %5244, ptr %5245, align 4, !tbaa !5
  %5246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5247 = load i32, ptr @test_count, align 4, !tbaa !5
  %5248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5249 = load i32, ptr %5248, align 4, !tbaa !5
  %5250 = call ptr @s2n_strerror(i32 noundef %5249, ptr noundef @.str.4)
  %5251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror_debug(i32 noundef %5252, ptr noundef @.str.4)
  %5254 = call ptr @__errno_location() #11
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call ptr @strerror(i32 noundef %5255) #10
  %5257 = call ptr @__errno_location() #11
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5246, ptr noundef @.str.5, i32 noundef %5247, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 317, ptr noundef %5250, ptr noundef %5253, ptr noundef %5256, i32 noundef %5258) #10
  br label %5260

5260:                                             ; preds = %5243, %5226
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

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

5263:                                             ; No predecessors!
  br label %5264

5264:                                             ; preds = %5263
  br label %5265

5265:                                             ; preds = %5264, %5206
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  br label %5268

5268:                                             ; preds = %5267
  br label %5269

5269:                                             ; preds = %5268
  br label %5270

5270:                                             ; preds = %5269
  %5271 = load i32, ptr @test_count, align 4, !tbaa !5
  %5272 = add nsw i32 %5271, 1
  store i32 %5272, ptr @test_count, align 4, !tbaa !5
  %5273 = load ptr, ptr %119, align 8, !tbaa !9
  %5274 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %5275 = call i64 @s2n_send(ptr noundef %5273, ptr noundef %5274, i64 noundef 16394, ptr noundef %130)
  %5276 = icmp eq i64 %5275, -1
  br i1 %5276, label %5330, label %5277

5277:                                             ; preds = %5270
  br label %5278

5278:                                             ; preds = %5277
  br label %5279

5279:                                             ; preds = %5278
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %5280 = call ptr @__errno_location() #11
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  store i32 %5281, ptr %136, align 4, !tbaa !5
  %5282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5283 = call i32 @s2n_print_stacktrace(ptr noundef %5282)
  %5284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5285 = trunc i8 %5284 to i1
  br i1 %5285, label %5286, label %5308

5286:                                             ; preds = %5279
  %5287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5288 = call i32 @fileno(ptr noundef %5287) #10
  %5289 = call i32 @isatty(i32 noundef %5288) #10
  %5290 = icmp ne i32 %5289, 0
  br i1 %5290, label %5291, label %5308

5291:                                             ; preds = %5286
  %5292 = load i32, ptr %136, align 4, !tbaa !5
  %5293 = call ptr @__errno_location() #11
  store i32 %5292, ptr %5293, align 4, !tbaa !5
  %5294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5295 = load i32, ptr @test_count, align 4, !tbaa !5
  %5296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5297 = load i32, ptr %5296, align 4, !tbaa !5
  %5298 = call ptr @s2n_strerror(i32 noundef %5297, ptr noundef @.str.4)
  %5299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror_debug(i32 noundef %5300, ptr noundef @.str.4)
  %5302 = call ptr @__errno_location() #11
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @strerror(i32 noundef %5303) #10
  %5305 = call ptr @__errno_location() #11
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5294, ptr noundef @.str.2, i32 noundef %5295, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5298, ptr noundef %5301, ptr noundef %5304, i32 noundef %5306) #10
  br label %5325

5308:                                             ; preds = %5286, %5279
  %5309 = load i32, ptr %136, align 4, !tbaa !5
  %5310 = call ptr @__errno_location() #11
  store i32 %5309, ptr %5310, align 4, !tbaa !5
  %5311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5314 = load i32, ptr %5313, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror(i32 noundef %5314, ptr noundef @.str.4)
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror_debug(i32 noundef %5317, ptr noundef @.str.4)
  %5319 = call ptr @__errno_location() #11
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @strerror(i32 noundef %5320) #10
  %5322 = call ptr @__errno_location() #11
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5311, ptr noundef @.str.5, i32 noundef %5312, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5315, ptr noundef %5318, ptr noundef %5321, i32 noundef %5323) #10
  br label %5325

5325:                                             ; preds = %5308, %5291
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %5326

5326:                                             ; preds = %5325
  br label %5327

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

5328:                                             ; No predecessors!
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329, %5270
  br label %5331

5331:                                             ; preds = %5330
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332
  %5334 = load i32, ptr @test_count, align 4, !tbaa !5
  %5335 = add nsw i32 %5334, 1
  store i32 %5335, ptr @test_count, align 4, !tbaa !5
  %5336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  %5338 = icmp eq i32 %5337, 201326592
  br i1 %5338, label %5392, label %5339

5339:                                             ; preds = %5333
  br label %5340

5340:                                             ; preds = %5339
  br label %5341

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

5348:                                             ; preds = %5341
  %5349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5350 = call i32 @fileno(ptr noundef %5349) #10
  %5351 = call i32 @isatty(i32 noundef %5350) #10
  %5352 = icmp ne i32 %5351, 0
  br i1 %5352, label %5353, label %5370

5353:                                             ; preds = %5348
  %5354 = load i32, ptr %137, align 4, !tbaa !5
  %5355 = call ptr @__errno_location() #11
  store i32 %5354, ptr %5355, align 4, !tbaa !5
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = load i32, ptr @test_count, align 4, !tbaa !5
  %5358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call ptr @s2n_strerror(i32 noundef %5359, ptr noundef @.str.4)
  %5361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror_debug(i32 noundef %5362, ptr noundef @.str.4)
  %5364 = call ptr @__errno_location() #11
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @strerror(i32 noundef %5365) #10
  %5367 = call ptr @__errno_location() #11
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5356, ptr noundef @.str.2, i32 noundef %5357, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5360, ptr noundef %5363, ptr noundef %5366, i32 noundef %5368) #10
  br label %5387

5370:                                             ; preds = %5348, %5341
  %5371 = load i32, ptr %137, align 4, !tbaa !5
  %5372 = call ptr @__errno_location() #11
  store i32 %5371, ptr %5372, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror(i32 noundef %5376, ptr noundef @.str.4)
  %5378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call ptr @s2n_strerror_debug(i32 noundef %5379, ptr noundef @.str.4)
  %5381 = call ptr @__errno_location() #11
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @strerror(i32 noundef %5382) #10
  %5384 = call ptr @__errno_location() #11
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef @.str.5, i32 noundef %5374, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5377, ptr noundef %5380, ptr noundef %5383, i32 noundef %5385) #10
  br label %5387

5387:                                             ; preds = %5370, %5353
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %5388

5388:                                             ; preds = %5387
  br label %5389

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

5390:                                             ; No predecessors!
  br label %5391

5391:                                             ; preds = %5390
  br label %5392

5392:                                             ; preds = %5391, %5333
  br label %5393

5393:                                             ; preds = %5392
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %5397 = add nsw i32 %5396, 1
  store i32 %5397, ptr @test_count, align 4, !tbaa !5
  %5398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call ptr @s2n_strerror_debug(i32 noundef %5399, ptr noundef @.str.4)
  %5401 = icmp eq ptr %5400, null
  br i1 %5401, label %5402, label %5455

5402:                                             ; preds = %5395
  br label %5403

5403:                                             ; preds = %5402
  br label %5404

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

5411:                                             ; preds = %5404
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = call i32 @fileno(ptr noundef %5412) #10
  %5414 = call i32 @isatty(i32 noundef %5413) #10
  %5415 = icmp ne i32 %5414, 0
  br i1 %5415, label %5416, label %5433

5416:                                             ; preds = %5411
  %5417 = load i32, ptr %138, align 4, !tbaa !5
  %5418 = call ptr @__errno_location() #11
  store i32 %5417, ptr %5418, align 4, !tbaa !5
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = load i32, ptr @test_count, align 4, !tbaa !5
  %5421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5422 = load i32, ptr %5421, align 4, !tbaa !5
  %5423 = call ptr @s2n_strerror(i32 noundef %5422, ptr noundef @.str.4)
  %5424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5425 = load i32, ptr %5424, align 4, !tbaa !5
  %5426 = call ptr @s2n_strerror_debug(i32 noundef %5425, ptr noundef @.str.4)
  %5427 = call ptr @__errno_location() #11
  %5428 = load i32, ptr %5427, align 4, !tbaa !5
  %5429 = call ptr @strerror(i32 noundef %5428) #10
  %5430 = call ptr @__errno_location() #11
  %5431 = load i32, ptr %5430, align 4, !tbaa !5
  %5432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5419, ptr noundef @.str.2, i32 noundef %5420, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5423, ptr noundef %5426, ptr noundef %5429, i32 noundef %5431) #10
  br label %5450

5433:                                             ; preds = %5411, %5404
  %5434 = load i32, ptr %138, align 4, !tbaa !5
  %5435 = call ptr @__errno_location() #11
  store i32 %5434, ptr %5435, align 4, !tbaa !5
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5437 = load i32, ptr @test_count, align 4, !tbaa !5
  %5438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  %5440 = call ptr @s2n_strerror(i32 noundef %5439, ptr noundef @.str.4)
  %5441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  %5443 = call ptr @s2n_strerror_debug(i32 noundef %5442, ptr noundef @.str.4)
  %5444 = call ptr @__errno_location() #11
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #10
  %5447 = call ptr @__errno_location() #11
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5436, ptr noundef @.str.5, i32 noundef %5437, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 322, ptr noundef %5440, ptr noundef %5443, ptr noundef %5446, i32 noundef %5448) #10
  br label %5450

5450:                                             ; preds = %5433, %5416
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %5451

5451:                                             ; preds = %5450
  br label %5452

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

5453:                                             ; No predecessors!
  br label %5454

5454:                                             ; preds = %5453
  br label %5455

5455:                                             ; preds = %5454, %5395
  br label %5456

5456:                                             ; preds = %5455
  br label %5457

5457:                                             ; preds = %5456
  br label %5458

5458:                                             ; preds = %5457
  br label %5459

5459:                                             ; preds = %5458
  br label %5460

5460:                                             ; preds = %5459
  %5461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5461, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5462 = call ptr @__errno_location() #11
  store i32 0, ptr %5462, align 4, !tbaa !5
  br label %5463

5463:                                             ; preds = %5460
  br label %5464

5464:                                             ; preds = %5463
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466
  %5468 = load i32, ptr @test_count, align 4, !tbaa !5
  %5469 = add nsw i32 %5468, 1
  store i32 %5469, ptr @test_count, align 4, !tbaa !5
  %5470 = load i32, ptr %130, align 4, !tbaa !5
  %5471 = icmp eq i32 %5470, 2
  br i1 %5471, label %5525, label %5472

5472:                                             ; preds = %5467
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %5475 = call ptr @__errno_location() #11
  %5476 = load i32, ptr %5475, align 4, !tbaa !5
  store i32 %5476, ptr %139, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = call i32 @s2n_print_stacktrace(ptr noundef %5477)
  %5479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5480 = trunc i8 %5479 to i1
  br i1 %5480, label %5481, label %5503

5481:                                             ; preds = %5474
  %5482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5483 = call i32 @fileno(ptr noundef %5482) #10
  %5484 = call i32 @isatty(i32 noundef %5483) #10
  %5485 = icmp ne i32 %5484, 0
  br i1 %5485, label %5486, label %5503

5486:                                             ; preds = %5481
  %5487 = load i32, ptr %139, align 4, !tbaa !5
  %5488 = call ptr @__errno_location() #11
  store i32 %5487, ptr %5488, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = load i32, ptr @test_count, align 4, !tbaa !5
  %5491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5492 = load i32, ptr %5491, align 4, !tbaa !5
  %5493 = call ptr @s2n_strerror(i32 noundef %5492, ptr noundef @.str.4)
  %5494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5495 = load i32, ptr %5494, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror_debug(i32 noundef %5495, ptr noundef @.str.4)
  %5497 = call ptr @__errno_location() #11
  %5498 = load i32, ptr %5497, align 4, !tbaa !5
  %5499 = call ptr @strerror(i32 noundef %5498) #10
  %5500 = call ptr @__errno_location() #11
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5489, ptr noundef @.str.2, i32 noundef %5490, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 323, ptr noundef %5493, ptr noundef %5496, ptr noundef %5499, i32 noundef %5501) #10
  br label %5520

5503:                                             ; preds = %5481, %5474
  %5504 = load i32, ptr %139, align 4, !tbaa !5
  %5505 = call ptr @__errno_location() #11
  store i32 %5504, ptr %5505, align 4, !tbaa !5
  %5506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5507 = load i32, ptr @test_count, align 4, !tbaa !5
  %5508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5509 = load i32, ptr %5508, align 4, !tbaa !5
  %5510 = call ptr @s2n_strerror(i32 noundef %5509, ptr noundef @.str.4)
  %5511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5512 = load i32, ptr %5511, align 4, !tbaa !5
  %5513 = call ptr @s2n_strerror_debug(i32 noundef %5512, ptr noundef @.str.4)
  %5514 = call ptr @__errno_location() #11
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call ptr @strerror(i32 noundef %5515) #10
  %5517 = call ptr @__errno_location() #11
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5506, ptr noundef @.str.5, i32 noundef %5507, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 323, ptr noundef %5510, ptr noundef %5513, ptr noundef %5516, i32 noundef %5518) #10
  br label %5520

5520:                                             ; preds = %5503, %5486
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %5521

5521:                                             ; preds = %5520
  br label %5522

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

5523:                                             ; No predecessors!
  br label %5524

5524:                                             ; preds = %5523
  br label %5525

5525:                                             ; preds = %5524, %5467
  br label %5526

5526:                                             ; preds = %5525
  br label %5527

5527:                                             ; preds = %5526
  br label %5528

5528:                                             ; preds = %5527
  %5529 = load i32, ptr @test_count, align 4, !tbaa !5
  %5530 = add nsw i32 %5529, 1
  store i32 %5530, ptr @test_count, align 4, !tbaa !5
  %5531 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 1
  %5532 = load i64, ptr %5531, align 8, !tbaa !26
  %5533 = load i32, ptr %125, align 4, !tbaa !5
  %5534 = add i32 %5533, 10
  %5535 = zext i32 %5534 to i64
  %5536 = icmp eq i64 %5532, %5535
  br i1 %5536, label %5590, label %5537

5537:                                             ; preds = %5528
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %5540 = call ptr @__errno_location() #11
  %5541 = load i32, ptr %5540, align 4, !tbaa !5
  store i32 %5541, ptr %140, align 4, !tbaa !5
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5543 = call i32 @s2n_print_stacktrace(ptr noundef %5542)
  %5544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5545 = trunc i8 %5544 to i1
  br i1 %5545, label %5546, label %5568

5546:                                             ; preds = %5539
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = call i32 @fileno(ptr noundef %5547) #10
  %5549 = call i32 @isatty(i32 noundef %5548) #10
  %5550 = icmp ne i32 %5549, 0
  br i1 %5550, label %5551, label %5568

5551:                                             ; preds = %5546
  %5552 = load i32, ptr %140, align 4, !tbaa !5
  %5553 = call ptr @__errno_location() #11
  store i32 %5552, ptr %5553, align 4, !tbaa !5
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = load i32, ptr @test_count, align 4, !tbaa !5
  %5556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call ptr @s2n_strerror(i32 noundef %5557, ptr noundef @.str.4)
  %5559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call ptr @s2n_strerror_debug(i32 noundef %5560, ptr noundef @.str.4)
  %5562 = call ptr @__errno_location() #11
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call ptr @strerror(i32 noundef %5563) #10
  %5565 = call ptr @__errno_location() #11
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5554, ptr noundef @.str.2, i32 noundef %5555, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 324, ptr noundef %5558, ptr noundef %5561, ptr noundef %5564, i32 noundef %5566) #10
  br label %5585

5568:                                             ; preds = %5546, %5539
  %5569 = load i32, ptr %140, align 4, !tbaa !5
  %5570 = call ptr @__errno_location() #11
  store i32 %5569, ptr %5570, align 4, !tbaa !5
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = load i32, ptr @test_count, align 4, !tbaa !5
  %5573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5574 = load i32, ptr %5573, align 4, !tbaa !5
  %5575 = call ptr @s2n_strerror(i32 noundef %5574, ptr noundef @.str.4)
  %5576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5577 = load i32, ptr %5576, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror_debug(i32 noundef %5577, ptr noundef @.str.4)
  %5579 = call ptr @__errno_location() #11
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call ptr @strerror(i32 noundef %5580) #10
  %5582 = call ptr @__errno_location() #11
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5571, ptr noundef @.str.5, i32 noundef %5572, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 324, ptr noundef %5575, ptr noundef %5578, ptr noundef %5581, i32 noundef %5583) #10
  br label %5585

5585:                                             ; preds = %5568, %5551
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %5586

5586:                                             ; preds = %5585
  br label %5587

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

5588:                                             ; No predecessors!
  br label %5589

5589:                                             ; preds = %5588
  br label %5590

5590:                                             ; preds = %5589, %5528
  br label %5591

5591:                                             ; preds = %5590
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

5593:                                             ; preds = %5592
  %5594 = load i32, ptr @test_count, align 4, !tbaa !5
  %5595 = add nsw i32 %5594, 1
  store i32 %5595, ptr @test_count, align 4, !tbaa !5
  %5596 = load ptr, ptr %119, align 8, !tbaa !9
  %5597 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %5598 = call i64 @s2n_send(ptr noundef %5596, ptr noundef %5597, i64 noundef 16394, ptr noundef %130)
  %5599 = icmp eq i64 %5598, 16394
  br i1 %5599, label %5653, label %5600

5600:                                             ; preds = %5593
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

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

5609:                                             ; preds = %5602
  %5610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5611 = call i32 @fileno(ptr noundef %5610) #10
  %5612 = call i32 @isatty(i32 noundef %5611) #10
  %5613 = icmp ne i32 %5612, 0
  br i1 %5613, label %5614, label %5631

5614:                                             ; preds = %5609
  %5615 = load i32, ptr %141, align 4, !tbaa !5
  %5616 = call ptr @__errno_location() #11
  store i32 %5615, ptr %5616, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = load i32, ptr @test_count, align 4, !tbaa !5
  %5619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = call ptr @s2n_strerror(i32 noundef %5620, ptr noundef @.str.4)
  %5622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5623 = load i32, ptr %5622, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror_debug(i32 noundef %5623, ptr noundef @.str.4)
  %5625 = call ptr @__errno_location() #11
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @strerror(i32 noundef %5626) #10
  %5628 = call ptr @__errno_location() #11
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5617, ptr noundef @.str.2, i32 noundef %5618, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 326, ptr noundef %5621, ptr noundef %5624, ptr noundef %5627, i32 noundef %5629) #10
  br label %5648

5631:                                             ; preds = %5609, %5602
  %5632 = load i32, ptr %141, align 4, !tbaa !5
  %5633 = call ptr @__errno_location() #11
  store i32 %5632, ptr %5633, align 4, !tbaa !5
  %5634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5635 = load i32, ptr @test_count, align 4, !tbaa !5
  %5636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call ptr @s2n_strerror(i32 noundef %5637, ptr noundef @.str.4)
  %5639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5640 = load i32, ptr %5639, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror_debug(i32 noundef %5640, ptr noundef @.str.4)
  %5642 = call ptr @__errno_location() #11
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  %5644 = call ptr @strerror(i32 noundef %5643) #10
  %5645 = call ptr @__errno_location() #11
  %5646 = load i32, ptr %5645, align 4, !tbaa !5
  %5647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5634, ptr noundef @.str.5, i32 noundef %5635, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 326, ptr noundef %5638, ptr noundef %5641, ptr noundef %5644, i32 noundef %5646) #10
  br label %5648

5648:                                             ; preds = %5631, %5614
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %5649

5649:                                             ; preds = %5648
  br label %5650

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

5651:                                             ; No predecessors!
  br label %5652

5652:                                             ; preds = %5651
  br label %5653

5653:                                             ; preds = %5652, %5593
  br label %5654

5654:                                             ; preds = %5653
  br label %5655

5655:                                             ; preds = %5654
  br label %5656

5656:                                             ; preds = %5655
  %5657 = load i32, ptr @test_count, align 4, !tbaa !5
  %5658 = add nsw i32 %5657, 1
  store i32 %5658, ptr @test_count, align 4, !tbaa !5
  %5659 = load i32, ptr %130, align 4, !tbaa !5
  %5660 = icmp eq i32 %5659, 0
  br i1 %5660, label %5714, label %5661

5661:                                             ; preds = %5656
  br label %5662

5662:                                             ; preds = %5661
  br label %5663

5663:                                             ; preds = %5662
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %5664 = call ptr @__errno_location() #11
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  store i32 %5665, ptr %142, align 4, !tbaa !5
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = call i32 @s2n_print_stacktrace(ptr noundef %5666)
  %5668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5669 = trunc i8 %5668 to i1
  br i1 %5669, label %5670, label %5692

5670:                                             ; preds = %5663
  %5671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5672 = call i32 @fileno(ptr noundef %5671) #10
  %5673 = call i32 @isatty(i32 noundef %5672) #10
  %5674 = icmp ne i32 %5673, 0
  br i1 %5674, label %5675, label %5692

5675:                                             ; preds = %5670
  %5676 = load i32, ptr %142, align 4, !tbaa !5
  %5677 = call ptr @__errno_location() #11
  store i32 %5676, ptr %5677, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = load i32, ptr @test_count, align 4, !tbaa !5
  %5680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5681 = load i32, ptr %5680, align 4, !tbaa !5
  %5682 = call ptr @s2n_strerror(i32 noundef %5681, ptr noundef @.str.4)
  %5683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5684 = load i32, ptr %5683, align 4, !tbaa !5
  %5685 = call ptr @s2n_strerror_debug(i32 noundef %5684, ptr noundef @.str.4)
  %5686 = call ptr @__errno_location() #11
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  %5688 = call ptr @strerror(i32 noundef %5687) #10
  %5689 = call ptr @__errno_location() #11
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5678, ptr noundef @.str.2, i32 noundef %5679, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 327, ptr noundef %5682, ptr noundef %5685, ptr noundef %5688, i32 noundef %5690) #10
  br label %5709

5692:                                             ; preds = %5670, %5663
  %5693 = load i32, ptr %142, align 4, !tbaa !5
  %5694 = call ptr @__errno_location() #11
  store i32 %5693, ptr %5694, align 4, !tbaa !5
  %5695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5696 = load i32, ptr @test_count, align 4, !tbaa !5
  %5697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5698 = load i32, ptr %5697, align 4, !tbaa !5
  %5699 = call ptr @s2n_strerror(i32 noundef %5698, ptr noundef @.str.4)
  %5700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5701 = load i32, ptr %5700, align 4, !tbaa !5
  %5702 = call ptr @s2n_strerror_debug(i32 noundef %5701, ptr noundef @.str.4)
  %5703 = call ptr @__errno_location() #11
  %5704 = load i32, ptr %5703, align 4, !tbaa !5
  %5705 = call ptr @strerror(i32 noundef %5704) #10
  %5706 = call ptr @__errno_location() #11
  %5707 = load i32, ptr %5706, align 4, !tbaa !5
  %5708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5695, ptr noundef @.str.5, i32 noundef %5696, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 327, ptr noundef %5699, ptr noundef %5702, ptr noundef %5705, i32 noundef %5707) #10
  br label %5709

5709:                                             ; preds = %5692, %5675
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %5710

5710:                                             ; preds = %5709
  br label %5711

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

5712:                                             ; No predecessors!
  br label %5713

5713:                                             ; preds = %5712
  br label %5714

5714:                                             ; preds = %5713, %5656
  br label %5715

5715:                                             ; preds = %5714
  br label %5716

5716:                                             ; preds = %5715
  br label %5717

5717:                                             ; preds = %5716
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = add nsw i32 %5718, 1
  store i32 %5719, ptr @test_count, align 4, !tbaa !5
  %5720 = getelementptr inbounds %struct.s2n_send_context, ptr %127, i32 0, i32 1
  %5721 = load i64, ptr %5720, align 8, !tbaa !26
  %5722 = load i16, ptr %88, align 2, !tbaa !60
  %5723 = zext i16 %5722 to i64
  %5724 = icmp eq i64 %5721, %5723
  br i1 %5724, label %5778, label %5725

5725:                                             ; preds = %5717
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

5727:                                             ; preds = %5726
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %5728 = call ptr @__errno_location() #11
  %5729 = load i32, ptr %5728, align 4, !tbaa !5
  store i32 %5729, ptr %143, align 4, !tbaa !5
  %5730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5731 = call i32 @s2n_print_stacktrace(ptr noundef %5730)
  %5732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5733 = trunc i8 %5732 to i1
  br i1 %5733, label %5734, label %5756

5734:                                             ; preds = %5727
  %5735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5736 = call i32 @fileno(ptr noundef %5735) #10
  %5737 = call i32 @isatty(i32 noundef %5736) #10
  %5738 = icmp ne i32 %5737, 0
  br i1 %5738, label %5739, label %5756

5739:                                             ; preds = %5734
  %5740 = load i32, ptr %143, align 4, !tbaa !5
  %5741 = call ptr @__errno_location() #11
  store i32 %5740, ptr %5741, align 4, !tbaa !5
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = load i32, ptr @test_count, align 4, !tbaa !5
  %5744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5745 = load i32, ptr %5744, align 4, !tbaa !5
  %5746 = call ptr @s2n_strerror(i32 noundef %5745, ptr noundef @.str.4)
  %5747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call ptr @s2n_strerror_debug(i32 noundef %5748, ptr noundef @.str.4)
  %5750 = call ptr @__errno_location() #11
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call ptr @strerror(i32 noundef %5751) #10
  %5753 = call ptr @__errno_location() #11
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5742, ptr noundef @.str.2, i32 noundef %5743, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 328, ptr noundef %5746, ptr noundef %5749, ptr noundef %5752, i32 noundef %5754) #10
  br label %5773

5756:                                             ; preds = %5734, %5727
  %5757 = load i32, ptr %143, align 4, !tbaa !5
  %5758 = call ptr @__errno_location() #11
  store i32 %5757, ptr %5758, align 4, !tbaa !5
  %5759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5760 = load i32, ptr @test_count, align 4, !tbaa !5
  %5761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call ptr @s2n_strerror(i32 noundef %5762, ptr noundef @.str.4)
  %5764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @s2n_strerror_debug(i32 noundef %5765, ptr noundef @.str.4)
  %5767 = call ptr @__errno_location() #11
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call ptr @strerror(i32 noundef %5768) #10
  %5770 = call ptr @__errno_location() #11
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5759, ptr noundef @.str.5, i32 noundef %5760, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 328, ptr noundef %5763, ptr noundef %5766, ptr noundef %5769, i32 noundef %5771) #10
  br label %5773

5773:                                             ; preds = %5756, %5739
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %5774

5774:                                             ; preds = %5773
  br label %5775

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

5776:                                             ; No predecessors!
  br label %5777

5777:                                             ; preds = %5776
  br label %5778

5778:                                             ; preds = %5777, %5717
  br label %5779

5779:                                             ; preds = %5778
  br label %5780

5780:                                             ; preds = %5779
  br label %5781

5781:                                             ; preds = %5780
  %5782 = load i32, ptr @test_count, align 4, !tbaa !5
  %5783 = add nsw i32 %5782, 1
  store i32 %5783, ptr @test_count, align 4, !tbaa !5
  %5784 = load ptr, ptr %119, align 8, !tbaa !9
  %5785 = getelementptr inbounds %struct.s2n_connection, ptr %5784, i32 0, i32 41
  %5786 = getelementptr inbounds %struct.s2n_stuffer, ptr %5785, i32 0, i32 0
  %5787 = getelementptr inbounds %struct.s2n_blob, ptr %5786, i32 0, i32 1
  %5788 = load i32, ptr %5787, align 8, !tbaa !58
  %5789 = zext i32 %5788 to i64
  %5790 = icmp eq i64 %5789, 20000
  br i1 %5790, label %5844, label %5791

5791:                                             ; preds = %5781
  br label %5792

5792:                                             ; preds = %5791
  br label %5793

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

5800:                                             ; preds = %5793
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = call i32 @fileno(ptr noundef %5801) #10
  %5803 = call i32 @isatty(i32 noundef %5802) #10
  %5804 = icmp ne i32 %5803, 0
  br i1 %5804, label %5805, label %5822

5805:                                             ; preds = %5800
  %5806 = load i32, ptr %144, align 4, !tbaa !5
  %5807 = call ptr @__errno_location() #11
  store i32 %5806, ptr %5807, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  %5812 = call ptr @s2n_strerror(i32 noundef %5811, ptr noundef @.str.4)
  %5813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5814 = load i32, ptr %5813, align 4, !tbaa !5
  %5815 = call ptr @s2n_strerror_debug(i32 noundef %5814, ptr noundef @.str.4)
  %5816 = call ptr @__errno_location() #11
  %5817 = load i32, ptr %5816, align 4, !tbaa !5
  %5818 = call ptr @strerror(i32 noundef %5817) #10
  %5819 = call ptr @__errno_location() #11
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  %5821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5808, ptr noundef @.str.2, i32 noundef %5809, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 331, ptr noundef %5812, ptr noundef %5815, ptr noundef %5818, i32 noundef %5820) #10
  br label %5839

5822:                                             ; preds = %5800, %5793
  %5823 = load i32, ptr %144, align 4, !tbaa !5
  %5824 = call ptr @__errno_location() #11
  store i32 %5823, ptr %5824, align 4, !tbaa !5
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = load i32, ptr @test_count, align 4, !tbaa !5
  %5827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5828 = load i32, ptr %5827, align 4, !tbaa !5
  %5829 = call ptr @s2n_strerror(i32 noundef %5828, ptr noundef @.str.4)
  %5830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5831 = load i32, ptr %5830, align 4, !tbaa !5
  %5832 = call ptr @s2n_strerror_debug(i32 noundef %5831, ptr noundef @.str.4)
  %5833 = call ptr @__errno_location() #11
  %5834 = load i32, ptr %5833, align 4, !tbaa !5
  %5835 = call ptr @strerror(i32 noundef %5834) #10
  %5836 = call ptr @__errno_location() #11
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  %5838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5825, ptr noundef @.str.5, i32 noundef %5826, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 331, ptr noundef %5829, ptr noundef %5832, ptr noundef %5835, i32 noundef %5837) #10
  br label %5839

5839:                                             ; preds = %5822, %5805
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %5840

5840:                                             ; preds = %5839
  br label %5841

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

5842:                                             ; No predecessors!
  br label %5843

5843:                                             ; preds = %5842
  br label %5844

5844:                                             ; preds = %5843, %5781
  br label %5845

5845:                                             ; preds = %5844
  br label %5846

5846:                                             ; preds = %5845
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #10
  call void @llvm.lifetime.end.p0(i64 60, ptr %126) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  %5847 = call i32 @s2n_connection_ptr_free(ptr noundef %119)
  %5848 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %5847, ptr %5848, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #10
  %5849 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5849, ptr %146, align 8, !tbaa !9
  br label %5850

5850:                                             ; preds = %5846
  %5851 = load i32, ptr @test_count, align 4, !tbaa !5
  %5852 = add nsw i32 %5851, 1
  store i32 %5852, ptr @test_count, align 4, !tbaa !5
  %5853 = load ptr, ptr %146, align 8, !tbaa !9
  %5854 = icmp eq ptr %5853, null
  br i1 %5854, label %5855, label %5908

5855:                                             ; preds = %5850
  br label %5856

5856:                                             ; preds = %5855
  br label %5857

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

5864:                                             ; preds = %5857
  %5865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5866 = call i32 @fileno(ptr noundef %5865) #10
  %5867 = call i32 @isatty(i32 noundef %5866) #10
  %5868 = icmp ne i32 %5867, 0
  br i1 %5868, label %5869, label %5886

5869:                                             ; preds = %5864
  %5870 = load i32, ptr %147, align 4, !tbaa !5
  %5871 = call ptr @__errno_location() #11
  store i32 %5870, ptr %5871, align 4, !tbaa !5
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = load i32, ptr @test_count, align 4, !tbaa !5
  %5874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror(i32 noundef %5875, ptr noundef @.str.4)
  %5877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror_debug(i32 noundef %5878, ptr noundef @.str.4)
  %5880 = call ptr @__errno_location() #11
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @strerror(i32 noundef %5881) #10
  %5883 = call ptr @__errno_location() #11
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5872, ptr noundef @.str.2, i32 noundef %5873, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5876, ptr noundef %5879, ptr noundef %5882, i32 noundef %5884) #10
  br label %5903

5886:                                             ; preds = %5864, %5857
  %5887 = load i32, ptr %147, align 4, !tbaa !5
  %5888 = call ptr @__errno_location() #11
  store i32 %5887, ptr %5888, align 4, !tbaa !5
  %5889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5890 = load i32, ptr @test_count, align 4, !tbaa !5
  %5891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call ptr @s2n_strerror(i32 noundef %5892, ptr noundef @.str.4)
  %5894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror_debug(i32 noundef %5895, ptr noundef @.str.4)
  %5897 = call ptr @__errno_location() #11
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @strerror(i32 noundef %5898) #10
  %5900 = call ptr @__errno_location() #11
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5889, ptr noundef @.str.5, i32 noundef %5890, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 340, ptr noundef %5893, ptr noundef %5896, ptr noundef %5899, i32 noundef %5901) #10
  br label %5903

5903:                                             ; preds = %5886, %5869
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %5904

5904:                                             ; preds = %5903
  br label %5905

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

5906:                                             ; No predecessors!
  br label %5907

5907:                                             ; preds = %5906
  br label %5908

5908:                                             ; preds = %5907, %5850
  br label %5909

5909:                                             ; preds = %5908
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

5911:                                             ; preds = %5910
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = add nsw i32 %5912, 1
  store i32 %5913, ptr @test_count, align 4, !tbaa !5
  %5914 = load ptr, ptr %146, align 8, !tbaa !9
  %5915 = call i32 @s2n_connection_set_secrets(ptr noundef %5914)
  %5916 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  store i32 %5915, ptr %5916, align 4
  %5917 = getelementptr inbounds %struct.s2n_result, ptr %148, i32 0, i32 0
  %5918 = load i32, ptr %5917, align 4
  %5919 = call zeroext i1 @s2n_result_is_ok(i32 %5918)
  br i1 %5919, label %5973, label %5920

5920:                                             ; preds = %5911
  br label %5921

5921:                                             ; preds = %5920
  br label %5922

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

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

5934:                                             ; preds = %5929
  %5935 = load i32, ptr %149, align 4, !tbaa !5
  %5936 = call ptr @__errno_location() #11
  store i32 %5935, ptr %5936, align 4, !tbaa !5
  %5937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5938 = load i32, ptr @test_count, align 4, !tbaa !5
  %5939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5940 = load i32, ptr %5939, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror(i32 noundef %5940, ptr noundef @.str.4)
  %5942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5943 = load i32, ptr %5942, align 4, !tbaa !5
  %5944 = call ptr @s2n_strerror_debug(i32 noundef %5943, ptr noundef @.str.4)
  %5945 = call ptr @__errno_location() #11
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  %5947 = call ptr @strerror(i32 noundef %5946) #10
  %5948 = call ptr @__errno_location() #11
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5937, ptr noundef @.str.2, i32 noundef %5938, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 341, ptr noundef %5941, ptr noundef %5944, ptr noundef %5947, i32 noundef %5949) #10
  br label %5968

5951:                                             ; preds = %5929, %5922
  %5952 = load i32, ptr %149, align 4, !tbaa !5
  %5953 = call ptr @__errno_location() #11
  store i32 %5952, ptr %5953, align 4, !tbaa !5
  %5954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5955 = load i32, ptr @test_count, align 4, !tbaa !5
  %5956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5957 = load i32, ptr %5956, align 4, !tbaa !5
  %5958 = call ptr @s2n_strerror(i32 noundef %5957, ptr noundef @.str.4)
  %5959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5960 = load i32, ptr %5959, align 4, !tbaa !5
  %5961 = call ptr @s2n_strerror_debug(i32 noundef %5960, ptr noundef @.str.4)
  %5962 = call ptr @__errno_location() #11
  %5963 = load i32, ptr %5962, align 4, !tbaa !5
  %5964 = call ptr @strerror(i32 noundef %5963) #10
  %5965 = call ptr @__errno_location() #11
  %5966 = load i32, ptr %5965, align 4, !tbaa !5
  %5967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5954, ptr noundef @.str.5, i32 noundef %5955, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 341, ptr noundef %5958, ptr noundef %5961, ptr noundef %5964, i32 noundef %5966) #10
  br label %5968

5968:                                             ; preds = %5951, %5934
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %5969

5969:                                             ; preds = %5968
  br label %5970

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

5971:                                             ; No predecessors!
  br label %5972

5972:                                             ; preds = %5971
  br label %5973

5973:                                             ; preds = %5972, %5911
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

5975:                                             ; preds = %5974
  br label %5976

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

5983:                                             ; preds = %5976
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

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

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

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

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

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

6032:                                             ; preds = %6031
  br label %6033

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

6034:                                             ; No predecessors!
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

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

6037:                                             ; preds = %6036
  br label %6038

6038:                                             ; preds = %6037
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  store i32 10, ptr %151, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  store i32 17290, ptr %152, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 60, ptr %153) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %153, ptr align 16 @__const.main.results, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #10
  %6039 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 0
  store i64 0, ptr %6039, align 8, !tbaa !24
  %6040 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 1
  store i64 0, ptr %6040, align 8, !tbaa !26
  %6041 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 2
  %6042 = getelementptr inbounds [5 x %struct.s2n_send_result], ptr %153, i64 0, i64 0
  store ptr %6042, ptr %6041, align 8, !tbaa !27
  %6043 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 3
  store i64 5, ptr %6043, align 8, !tbaa !28
  br label %6044

6044:                                             ; preds = %6038
  %6045 = load i32, ptr @test_count, align 4, !tbaa !5
  %6046 = add nsw i32 %6045, 1
  store i32 %6046, ptr @test_count, align 4, !tbaa !5
  %6047 = load ptr, ptr %146, align 8, !tbaa !9
  %6048 = call i32 @s2n_connection_set_send_cb(ptr noundef %6047, ptr noundef @s2n_test_send_cb)
  %6049 = icmp eq i32 %6048, -1
  br i1 %6049, label %6050, label %6103

6050:                                             ; preds = %6044
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %6053 = call ptr @__errno_location() #11
  %6054 = load i32, ptr %6053, align 4, !tbaa !5
  store i32 %6054, ptr %155, align 4, !tbaa !5
  %6055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6056 = call i32 @s2n_print_stacktrace(ptr noundef %6055)
  %6057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6058 = trunc i8 %6057 to i1
  br i1 %6058, label %6059, label %6081

6059:                                             ; preds = %6052
  %6060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6061 = call i32 @fileno(ptr noundef %6060) #10
  %6062 = call i32 @isatty(i32 noundef %6061) #10
  %6063 = icmp ne i32 %6062, 0
  br i1 %6063, label %6064, label %6081

6064:                                             ; preds = %6059
  %6065 = load i32, ptr %155, align 4, !tbaa !5
  %6066 = call ptr @__errno_location() #11
  store i32 %6065, ptr %6066, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = load i32, ptr @test_count, align 4, !tbaa !5
  %6069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6070 = load i32, ptr %6069, align 4, !tbaa !5
  %6071 = call ptr @s2n_strerror(i32 noundef %6070, ptr noundef @.str.4)
  %6072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror_debug(i32 noundef %6073, ptr noundef @.str.4)
  %6075 = call ptr @__errno_location() #11
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call ptr @strerror(i32 noundef %6076) #10
  %6078 = call ptr @__errno_location() #11
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6067, ptr noundef @.str.2, i32 noundef %6068, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 355, ptr noundef %6071, ptr noundef %6074, ptr noundef %6077, i32 noundef %6079) #10
  br label %6098

6081:                                             ; preds = %6059, %6052
  %6082 = load i32, ptr %155, 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.5, i32 noundef %6085, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 355, ptr noundef %6088, ptr noundef %6091, ptr noundef %6094, i32 noundef %6096) #10
  br label %6098

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

6099:                                             ; preds = %6098
  br label %6100

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

6101:                                             ; No predecessors!
  br label %6102

6102:                                             ; preds = %6101
  br label %6103

6103:                                             ; preds = %6102, %6044
  br label %6104

6104:                                             ; preds = %6103
  br label %6105

6105:                                             ; preds = %6104
  br label %6106

6106:                                             ; preds = %6105
  %6107 = load i32, ptr @test_count, align 4, !tbaa !5
  %6108 = add nsw i32 %6107, 1
  store i32 %6108, ptr @test_count, align 4, !tbaa !5
  %6109 = load ptr, ptr %146, align 8, !tbaa !9
  %6110 = call i32 @s2n_connection_set_send_ctx(ptr noundef %6109, ptr noundef %154)
  %6111 = icmp eq i32 %6110, -1
  br i1 %6111, label %6112, label %6165

6112:                                             ; preds = %6106
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

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

6121:                                             ; preds = %6114
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @fileno(ptr noundef %6122) #10
  %6124 = call i32 @isatty(i32 noundef %6123) #10
  %6125 = icmp ne i32 %6124, 0
  br i1 %6125, label %6126, label %6143

6126:                                             ; preds = %6121
  %6127 = load i32, ptr %156, align 4, !tbaa !5
  %6128 = call ptr @__errno_location() #11
  store i32 %6127, ptr %6128, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = load i32, ptr @test_count, align 4, !tbaa !5
  %6131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6132 = load i32, ptr %6131, align 4, !tbaa !5
  %6133 = call ptr @s2n_strerror(i32 noundef %6132, ptr noundef @.str.4)
  %6134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror_debug(i32 noundef %6135, ptr noundef @.str.4)
  %6137 = call ptr @__errno_location() #11
  %6138 = load i32, ptr %6137, align 4, !tbaa !5
  %6139 = call ptr @strerror(i32 noundef %6138) #10
  %6140 = call ptr @__errno_location() #11
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6129, ptr noundef @.str.2, i32 noundef %6130, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 356, ptr noundef %6133, ptr noundef %6136, ptr noundef %6139, i32 noundef %6141) #10
  br label %6160

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

6160:                                             ; preds = %6143, %6126
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %6161

6161:                                             ; preds = %6160
  br label %6162

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

6163:                                             ; No predecessors!
  br label %6164

6164:                                             ; preds = %6163
  br label %6165

6165:                                             ; preds = %6164, %6106
  br label %6166

6166:                                             ; preds = %6165
  br label %6167

6167:                                             ; preds = %6166
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  store i32 0, ptr %157, align 4, !tbaa !5
  br label %6168

6168:                                             ; preds = %6167
  br label %6169

6169:                                             ; preds = %6168
  br label %6170

6170:                                             ; preds = %6169
  %6171 = load i32, ptr @test_count, align 4, !tbaa !5
  %6172 = add nsw i32 %6171, 1
  store i32 %6172, ptr @test_count, align 4, !tbaa !5
  %6173 = load ptr, ptr %146, align 8, !tbaa !9
  %6174 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %6175 = call i64 @s2n_send(ptr noundef %6173, ptr noundef %6174, i64 noundef 16394, ptr noundef %157)
  %6176 = icmp eq i64 %6175, -1
  br i1 %6176, label %6230, label %6177

6177:                                             ; preds = %6170
  br label %6178

6178:                                             ; preds = %6177
  br label %6179

6179:                                             ; preds = %6178
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %6180 = call ptr @__errno_location() #11
  %6181 = load i32, ptr %6180, align 4, !tbaa !5
  store i32 %6181, ptr %158, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = call i32 @s2n_print_stacktrace(ptr noundef %6182)
  %6184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6185 = trunc i8 %6184 to i1
  br i1 %6185, label %6186, label %6208

6186:                                             ; preds = %6179
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = call i32 @fileno(ptr noundef %6187) #10
  %6189 = call i32 @isatty(i32 noundef %6188) #10
  %6190 = icmp ne i32 %6189, 0
  br i1 %6190, label %6191, label %6208

6191:                                             ; preds = %6186
  %6192 = load i32, ptr %158, align 4, !tbaa !5
  %6193 = call ptr @__errno_location() #11
  store i32 %6192, ptr %6193, align 4, !tbaa !5
  %6194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6195 = load i32, ptr @test_count, align 4, !tbaa !5
  %6196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call ptr @s2n_strerror(i32 noundef %6197, ptr noundef @.str.4)
  %6199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  %6201 = call ptr @s2n_strerror_debug(i32 noundef %6200, ptr noundef @.str.4)
  %6202 = call ptr @__errno_location() #11
  %6203 = load i32, ptr %6202, align 4, !tbaa !5
  %6204 = call ptr @strerror(i32 noundef %6203) #10
  %6205 = call ptr @__errno_location() #11
  %6206 = load i32, ptr %6205, align 4, !tbaa !5
  %6207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6194, ptr noundef @.str.2, i32 noundef %6195, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 360, ptr noundef %6198, ptr noundef %6201, ptr noundef %6204, i32 noundef %6206) #10
  br label %6225

6208:                                             ; preds = %6186, %6179
  %6209 = load i32, ptr %158, 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.5, i32 noundef %6212, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 360, ptr noundef %6215, ptr noundef %6218, ptr noundef %6221, i32 noundef %6223) #10
  br label %6225

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

6226:                                             ; preds = %6225
  br label %6227

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

6228:                                             ; No predecessors!
  br label %6229

6229:                                             ; preds = %6228
  br label %6230

6230:                                             ; preds = %6229, %6170
  br label %6231

6231:                                             ; preds = %6230
  br label %6232

6232:                                             ; preds = %6231
  br label %6233

6233:                                             ; preds = %6232
  %6234 = load i32, ptr @test_count, align 4, !tbaa !5
  %6235 = add nsw i32 %6234, 1
  store i32 %6235, ptr @test_count, align 4, !tbaa !5
  %6236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = icmp eq i32 %6237, 201326592
  br i1 %6238, label %6292, label %6239

6239:                                             ; preds = %6233
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %6242 = call ptr @__errno_location() #11
  %6243 = load i32, ptr %6242, align 4, !tbaa !5
  store i32 %6243, ptr %159, align 4, !tbaa !5
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = call i32 @s2n_print_stacktrace(ptr noundef %6244)
  %6246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6247 = trunc i8 %6246 to i1
  br i1 %6247, label %6248, label %6270

6248:                                             ; preds = %6241
  %6249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6250 = call i32 @fileno(ptr noundef %6249) #10
  %6251 = call i32 @isatty(i32 noundef %6250) #10
  %6252 = icmp ne i32 %6251, 0
  br i1 %6252, label %6253, label %6270

6253:                                             ; preds = %6248
  %6254 = load i32, ptr %159, align 4, !tbaa !5
  %6255 = call ptr @__errno_location() #11
  store i32 %6254, ptr %6255, align 4, !tbaa !5
  %6256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6257 = load i32, ptr @test_count, align 4, !tbaa !5
  %6258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6259 = load i32, ptr %6258, align 4, !tbaa !5
  %6260 = call ptr @s2n_strerror(i32 noundef %6259, ptr noundef @.str.4)
  %6261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6262 = load i32, ptr %6261, align 4, !tbaa !5
  %6263 = call ptr @s2n_strerror_debug(i32 noundef %6262, ptr noundef @.str.4)
  %6264 = call ptr @__errno_location() #11
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  %6266 = call ptr @strerror(i32 noundef %6265) #10
  %6267 = call ptr @__errno_location() #11
  %6268 = load i32, ptr %6267, align 4, !tbaa !5
  %6269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6256, ptr noundef @.str.2, i32 noundef %6257, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 360, ptr noundef %6260, ptr noundef %6263, ptr noundef %6266, i32 noundef %6268) #10
  br label %6287

6270:                                             ; preds = %6248, %6241
  %6271 = load i32, ptr %159, align 4, !tbaa !5
  %6272 = call ptr @__errno_location() #11
  store i32 %6271, ptr %6272, align 4, !tbaa !5
  %6273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6274 = load i32, ptr @test_count, align 4, !tbaa !5
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror(i32 noundef %6276, ptr noundef @.str.4)
  %6278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror_debug(i32 noundef %6279, ptr noundef @.str.4)
  %6281 = call ptr @__errno_location() #11
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @strerror(i32 noundef %6282) #10
  %6284 = call ptr @__errno_location() #11
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6273, ptr noundef @.str.5, i32 noundef %6274, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 360, ptr noundef %6277, ptr noundef %6280, ptr noundef %6283, i32 noundef %6285) #10
  br label %6287

6287:                                             ; preds = %6270, %6253
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

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

6290:                                             ; No predecessors!
  br label %6291

6291:                                             ; preds = %6290
  br label %6292

6292:                                             ; preds = %6291, %6233
  br label %6293

6293:                                             ; preds = %6292
  br label %6294

6294:                                             ; preds = %6293
  br label %6295

6295:                                             ; preds = %6294
  %6296 = load i32, ptr @test_count, align 4, !tbaa !5
  %6297 = add nsw i32 %6296, 1
  store i32 %6297, ptr @test_count, align 4, !tbaa !5
  %6298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror_debug(i32 noundef %6299, ptr noundef @.str.4)
  %6301 = icmp eq ptr %6300, null
  br i1 %6301, label %6302, label %6355

6302:                                             ; preds = %6295
  br label %6303

6303:                                             ; preds = %6302
  br label %6304

6304:                                             ; preds = %6303
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %6305 = call ptr @__errno_location() #11
  %6306 = load i32, ptr %6305, align 4, !tbaa !5
  store i32 %6306, ptr %160, align 4, !tbaa !5
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = call i32 @s2n_print_stacktrace(ptr noundef %6307)
  %6309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6310 = trunc i8 %6309 to i1
  br i1 %6310, label %6311, label %6333

6311:                                             ; preds = %6304
  %6312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6313 = call i32 @fileno(ptr noundef %6312) #10
  %6314 = call i32 @isatty(i32 noundef %6313) #10
  %6315 = icmp ne i32 %6314, 0
  br i1 %6315, label %6316, label %6333

6316:                                             ; preds = %6311
  %6317 = load i32, ptr %160, align 4, !tbaa !5
  %6318 = call ptr @__errno_location() #11
  store i32 %6317, ptr %6318, align 4, !tbaa !5
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = load i32, ptr @test_count, align 4, !tbaa !5
  %6321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror(i32 noundef %6322, ptr noundef @.str.4)
  %6324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror_debug(i32 noundef %6325, ptr noundef @.str.4)
  %6327 = call ptr @__errno_location() #11
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call ptr @strerror(i32 noundef %6328) #10
  %6330 = call ptr @__errno_location() #11
  %6331 = load i32, ptr %6330, align 4, !tbaa !5
  %6332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6319, ptr noundef @.str.2, i32 noundef %6320, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 360, ptr noundef %6323, ptr noundef %6326, ptr noundef %6329, i32 noundef %6331) #10
  br label %6350

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

6350:                                             ; preds = %6333, %6316
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

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

6353:                                             ; No predecessors!
  br label %6354

6354:                                             ; preds = %6353
  br label %6355

6355:                                             ; preds = %6354, %6295
  br label %6356

6356:                                             ; preds = %6355
  br label %6357

6357:                                             ; preds = %6356
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

6359:                                             ; preds = %6358
  br label %6360

6360:                                             ; preds = %6359
  %6361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6361, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6362 = call ptr @__errno_location() #11
  store i32 0, ptr %6362, align 4, !tbaa !5
  br label %6363

6363:                                             ; preds = %6360
  br label %6364

6364:                                             ; preds = %6363
  br label %6365

6365:                                             ; preds = %6364
  br label %6366

6366:                                             ; preds = %6365
  br label %6367

6367:                                             ; preds = %6366
  %6368 = load i32, ptr @test_count, align 4, !tbaa !5
  %6369 = add nsw i32 %6368, 1
  store i32 %6369, ptr @test_count, align 4, !tbaa !5
  %6370 = load i32, ptr %157, align 4, !tbaa !5
  %6371 = icmp eq i32 %6370, 2
  br i1 %6371, label %6425, label %6372

6372:                                             ; preds = %6367
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %6375 = call ptr @__errno_location() #11
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  store i32 %6376, ptr %161, align 4, !tbaa !5
  %6377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6378 = call i32 @s2n_print_stacktrace(ptr noundef %6377)
  %6379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6380 = trunc i8 %6379 to i1
  br i1 %6380, label %6381, label %6403

6381:                                             ; preds = %6374
  %6382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6383 = call i32 @fileno(ptr noundef %6382) #10
  %6384 = call i32 @isatty(i32 noundef %6383) #10
  %6385 = icmp ne i32 %6384, 0
  br i1 %6385, label %6386, label %6403

6386:                                             ; preds = %6381
  %6387 = load i32, ptr %161, align 4, !tbaa !5
  %6388 = call ptr @__errno_location() #11
  store i32 %6387, ptr %6388, align 4, !tbaa !5
  %6389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6390 = load i32, ptr @test_count, align 4, !tbaa !5
  %6391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6392 = load i32, ptr %6391, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror(i32 noundef %6392, ptr noundef @.str.4)
  %6394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call ptr @s2n_strerror_debug(i32 noundef %6395, ptr noundef @.str.4)
  %6397 = call ptr @__errno_location() #11
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call ptr @strerror(i32 noundef %6398) #10
  %6400 = call ptr @__errno_location() #11
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  %6402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6389, ptr noundef @.str.2, i32 noundef %6390, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 361, ptr noundef %6393, ptr noundef %6396, ptr noundef %6399, i32 noundef %6401) #10
  br label %6420

6403:                                             ; preds = %6381, %6374
  %6404 = load i32, ptr %161, align 4, !tbaa !5
  %6405 = call ptr @__errno_location() #11
  store i32 %6404, ptr %6405, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call ptr @s2n_strerror(i32 noundef %6409, ptr noundef @.str.4)
  %6411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call ptr @s2n_strerror_debug(i32 noundef %6412, ptr noundef @.str.4)
  %6414 = call ptr @__errno_location() #11
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  %6416 = call ptr @strerror(i32 noundef %6415) #10
  %6417 = call ptr @__errno_location() #11
  %6418 = load i32, ptr %6417, align 4, !tbaa !5
  %6419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6406, ptr noundef @.str.5, i32 noundef %6407, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 361, ptr noundef %6410, ptr noundef %6413, ptr noundef %6416, i32 noundef %6418) #10
  br label %6420

6420:                                             ; preds = %6403, %6386
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %6421

6421:                                             ; preds = %6420
  br label %6422

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

6423:                                             ; No predecessors!
  br label %6424

6424:                                             ; preds = %6423
  br label %6425

6425:                                             ; preds = %6424, %6367
  br label %6426

6426:                                             ; preds = %6425
  br label %6427

6427:                                             ; preds = %6426
  br label %6428

6428:                                             ; preds = %6427
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = add nsw i32 %6429, 1
  store i32 %6430, ptr @test_count, align 4, !tbaa !5
  %6431 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 1
  %6432 = load i64, ptr %6431, align 8, !tbaa !26
  %6433 = icmp eq i64 %6432, 10
  br i1 %6433, label %6487, label %6434

6434:                                             ; preds = %6428
  br label %6435

6435:                                             ; preds = %6434
  br label %6436

6436:                                             ; preds = %6435
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %6437 = call ptr @__errno_location() #11
  %6438 = load i32, ptr %6437, align 4, !tbaa !5
  store i32 %6438, ptr %162, align 4, !tbaa !5
  %6439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6440 = call i32 @s2n_print_stacktrace(ptr noundef %6439)
  %6441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6442 = trunc i8 %6441 to i1
  br i1 %6442, label %6443, label %6465

6443:                                             ; preds = %6436
  %6444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6445 = call i32 @fileno(ptr noundef %6444) #10
  %6446 = call i32 @isatty(i32 noundef %6445) #10
  %6447 = icmp ne i32 %6446, 0
  br i1 %6447, label %6448, label %6465

6448:                                             ; preds = %6443
  %6449 = load i32, ptr %162, align 4, !tbaa !5
  %6450 = call ptr @__errno_location() #11
  store i32 %6449, ptr %6450, align 4, !tbaa !5
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = load i32, ptr @test_count, align 4, !tbaa !5
  %6453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6454 = load i32, ptr %6453, align 4, !tbaa !5
  %6455 = call ptr @s2n_strerror(i32 noundef %6454, ptr noundef @.str.4)
  %6456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6457 = load i32, ptr %6456, align 4, !tbaa !5
  %6458 = call ptr @s2n_strerror_debug(i32 noundef %6457, ptr noundef @.str.4)
  %6459 = call ptr @__errno_location() #11
  %6460 = load i32, ptr %6459, align 4, !tbaa !5
  %6461 = call ptr @strerror(i32 noundef %6460) #10
  %6462 = call ptr @__errno_location() #11
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  %6464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6451, ptr noundef @.str.2, i32 noundef %6452, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 362, ptr noundef %6455, ptr noundef %6458, ptr noundef %6461, i32 noundef %6463) #10
  br label %6482

6465:                                             ; preds = %6443, %6436
  %6466 = load i32, ptr %162, align 4, !tbaa !5
  %6467 = call ptr @__errno_location() #11
  store i32 %6466, ptr %6467, align 4, !tbaa !5
  %6468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6469 = load i32, ptr @test_count, align 4, !tbaa !5
  %6470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6471 = load i32, ptr %6470, align 4, !tbaa !5
  %6472 = call ptr @s2n_strerror(i32 noundef %6471, ptr noundef @.str.4)
  %6473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6474 = load i32, ptr %6473, align 4, !tbaa !5
  %6475 = call ptr @s2n_strerror_debug(i32 noundef %6474, ptr noundef @.str.4)
  %6476 = call ptr @__errno_location() #11
  %6477 = load i32, ptr %6476, align 4, !tbaa !5
  %6478 = call ptr @strerror(i32 noundef %6477) #10
  %6479 = call ptr @__errno_location() #11
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  %6481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6468, ptr noundef @.str.5, i32 noundef %6469, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 362, ptr noundef %6472, ptr noundef %6475, ptr noundef %6478, i32 noundef %6480) #10
  br label %6482

6482:                                             ; preds = %6465, %6448
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %6483

6483:                                             ; preds = %6482
  br label %6484

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

6485:                                             ; No predecessors!
  br label %6486

6486:                                             ; preds = %6485
  br label %6487

6487:                                             ; preds = %6486, %6428
  br label %6488

6488:                                             ; preds = %6487
  br label %6489

6489:                                             ; preds = %6488
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #10
  store i64 16174, ptr %163, align 8, !tbaa !15
  br label %6490

6490:                                             ; preds = %6489
  %6491 = load i32, ptr @test_count, align 4, !tbaa !5
  %6492 = add nsw i32 %6491, 1
  store i32 %6492, ptr @test_count, align 4, !tbaa !5
  %6493 = load ptr, ptr %146, align 8, !tbaa !9
  %6494 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %6495 = call i64 @s2n_send(ptr noundef %6493, ptr noundef %6494, i64 noundef 16394, ptr noundef %157)
  %6496 = load i64, ptr %163, align 8, !tbaa !15
  %6497 = icmp eq i64 %6495, %6496
  br i1 %6497, label %6551, label %6498

6498:                                             ; preds = %6490
  br label %6499

6499:                                             ; preds = %6498
  br label %6500

6500:                                             ; preds = %6499
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %6501 = call ptr @__errno_location() #11
  %6502 = load i32, ptr %6501, align 4, !tbaa !5
  store i32 %6502, ptr %164, align 4, !tbaa !5
  %6503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6504 = call i32 @s2n_print_stacktrace(ptr noundef %6503)
  %6505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6506 = trunc i8 %6505 to i1
  br i1 %6506, label %6507, label %6529

6507:                                             ; preds = %6500
  %6508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6509 = call i32 @fileno(ptr noundef %6508) #10
  %6510 = call i32 @isatty(i32 noundef %6509) #10
  %6511 = icmp ne i32 %6510, 0
  br i1 %6511, label %6512, label %6529

6512:                                             ; preds = %6507
  %6513 = load i32, ptr %164, align 4, !tbaa !5
  %6514 = call ptr @__errno_location() #11
  store i32 %6513, ptr %6514, align 4, !tbaa !5
  %6515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6516 = load i32, ptr @test_count, align 4, !tbaa !5
  %6517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6518 = load i32, ptr %6517, align 4, !tbaa !5
  %6519 = call ptr @s2n_strerror(i32 noundef %6518, ptr noundef @.str.4)
  %6520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6521 = load i32, ptr %6520, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror_debug(i32 noundef %6521, ptr noundef @.str.4)
  %6523 = call ptr @__errno_location() #11
  %6524 = load i32, ptr %6523, align 4, !tbaa !5
  %6525 = call ptr @strerror(i32 noundef %6524) #10
  %6526 = call ptr @__errno_location() #11
  %6527 = load i32, ptr %6526, align 4, !tbaa !5
  %6528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6515, ptr noundef @.str.2, i32 noundef %6516, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 366, ptr noundef %6519, ptr noundef %6522, ptr noundef %6525, i32 noundef %6527) #10
  br label %6546

6529:                                             ; preds = %6507, %6500
  %6530 = load i32, ptr %164, align 4, !tbaa !5
  %6531 = call ptr @__errno_location() #11
  store i32 %6530, ptr %6531, align 4, !tbaa !5
  %6532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6533 = load i32, ptr @test_count, align 4, !tbaa !5
  %6534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call ptr @s2n_strerror(i32 noundef %6535, ptr noundef @.str.4)
  %6537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6538 = load i32, ptr %6537, align 4, !tbaa !5
  %6539 = call ptr @s2n_strerror_debug(i32 noundef %6538, ptr noundef @.str.4)
  %6540 = call ptr @__errno_location() #11
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @strerror(i32 noundef %6541) #10
  %6543 = call ptr @__errno_location() #11
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6532, ptr noundef @.str.5, i32 noundef %6533, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 366, ptr noundef %6536, ptr noundef %6539, ptr noundef %6542, i32 noundef %6544) #10
  br label %6546

6546:                                             ; preds = %6529, %6512
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %6547

6547:                                             ; preds = %6546
  br label %6548

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

6549:                                             ; No predecessors!
  br label %6550

6550:                                             ; preds = %6549
  br label %6551

6551:                                             ; preds = %6550, %6490
  br label %6552

6552:                                             ; preds = %6551
  br label %6553

6553:                                             ; preds = %6552
  br label %6554

6554:                                             ; preds = %6553
  %6555 = load i32, ptr @test_count, align 4, !tbaa !5
  %6556 = add nsw i32 %6555, 1
  store i32 %6556, ptr @test_count, align 4, !tbaa !5
  %6557 = load i32, ptr %157, align 4, !tbaa !5
  %6558 = icmp eq i32 %6557, 2
  br i1 %6558, label %6612, label %6559

6559:                                             ; preds = %6554
  br label %6560

6560:                                             ; preds = %6559
  br label %6561

6561:                                             ; preds = %6560
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %6562 = call ptr @__errno_location() #11
  %6563 = load i32, ptr %6562, align 4, !tbaa !5
  store i32 %6563, ptr %165, align 4, !tbaa !5
  %6564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6565 = call i32 @s2n_print_stacktrace(ptr noundef %6564)
  %6566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6567 = trunc i8 %6566 to i1
  br i1 %6567, label %6568, label %6590

6568:                                             ; preds = %6561
  %6569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6570 = call i32 @fileno(ptr noundef %6569) #10
  %6571 = call i32 @isatty(i32 noundef %6570) #10
  %6572 = icmp ne i32 %6571, 0
  br i1 %6572, label %6573, label %6590

6573:                                             ; preds = %6568
  %6574 = load i32, ptr %165, align 4, !tbaa !5
  %6575 = call ptr @__errno_location() #11
  store i32 %6574, ptr %6575, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = load i32, ptr @test_count, align 4, !tbaa !5
  %6578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6579 = load i32, ptr %6578, align 4, !tbaa !5
  %6580 = call ptr @s2n_strerror(i32 noundef %6579, ptr noundef @.str.4)
  %6581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6582 = load i32, ptr %6581, align 4, !tbaa !5
  %6583 = call ptr @s2n_strerror_debug(i32 noundef %6582, ptr noundef @.str.4)
  %6584 = call ptr @__errno_location() #11
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @strerror(i32 noundef %6585) #10
  %6587 = call ptr @__errno_location() #11
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6576, ptr noundef @.str.2, i32 noundef %6577, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 367, ptr noundef %6580, ptr noundef %6583, ptr noundef %6586, i32 noundef %6588) #10
  br label %6607

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

6607:                                             ; preds = %6590, %6573
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %6608

6608:                                             ; preds = %6607
  br label %6609

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

6610:                                             ; No predecessors!
  br label %6611

6611:                                             ; preds = %6610
  br label %6612

6612:                                             ; preds = %6611, %6554
  br label %6613

6613:                                             ; preds = %6612
  br label %6614

6614:                                             ; preds = %6613
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #10
  %6615 = load i64, ptr %163, align 8, !tbaa !15
  store i64 %6615, ptr %166, align 8, !tbaa !15
  %6616 = load i64, ptr %166, align 8, !tbaa !15
  %6617 = sub i64 16394, %6616
  store i64 %6617, ptr %163, align 8, !tbaa !15
  br label %6618

6618:                                             ; preds = %6614
  %6619 = load i32, ptr @test_count, align 4, !tbaa !5
  %6620 = add nsw i32 %6619, 1
  store i32 %6620, ptr @test_count, align 4, !tbaa !5
  %6621 = load ptr, ptr %146, align 8, !tbaa !9
  %6622 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %6623 = load i64, ptr %166, align 8, !tbaa !15
  %6624 = getelementptr inbounds i8, ptr %6622, i64 %6623
  %6625 = load i64, ptr %166, align 8, !tbaa !15
  %6626 = sub i64 16394, %6625
  %6627 = call i64 @s2n_send(ptr noundef %6621, ptr noundef %6624, i64 noundef %6626, ptr noundef %157)
  %6628 = load i64, ptr %163, align 8, !tbaa !15
  %6629 = icmp eq i64 %6627, %6628
  br i1 %6629, label %6683, label %6630

6630:                                             ; preds = %6618
  br label %6631

6631:                                             ; preds = %6630
  br label %6632

6632:                                             ; preds = %6631
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %6633 = call ptr @__errno_location() #11
  %6634 = load i32, ptr %6633, align 4, !tbaa !5
  store i32 %6634, ptr %167, align 4, !tbaa !5
  %6635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6636 = call i32 @s2n_print_stacktrace(ptr noundef %6635)
  %6637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6638 = trunc i8 %6637 to i1
  br i1 %6638, label %6639, label %6661

6639:                                             ; preds = %6632
  %6640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6641 = call i32 @fileno(ptr noundef %6640) #10
  %6642 = call i32 @isatty(i32 noundef %6641) #10
  %6643 = icmp ne i32 %6642, 0
  br i1 %6643, label %6644, label %6661

6644:                                             ; preds = %6639
  %6645 = load i32, ptr %167, align 4, !tbaa !5
  %6646 = call ptr @__errno_location() #11
  store i32 %6645, ptr %6646, align 4, !tbaa !5
  %6647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6648 = load i32, ptr @test_count, align 4, !tbaa !5
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror(i32 noundef %6650, ptr noundef @.str.4)
  %6652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @s2n_strerror_debug(i32 noundef %6653, ptr noundef @.str.4)
  %6655 = call ptr @__errno_location() #11
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call ptr @strerror(i32 noundef %6656) #10
  %6658 = call ptr @__errno_location() #11
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6647, ptr noundef @.str.2, i32 noundef %6648, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 371, ptr noundef %6651, ptr noundef %6654, ptr noundef %6657, i32 noundef %6659) #10
  br label %6678

6661:                                             ; preds = %6639, %6632
  %6662 = load i32, ptr %167, align 4, !tbaa !5
  %6663 = call ptr @__errno_location() #11
  store i32 %6662, ptr %6663, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror(i32 noundef %6667, ptr noundef @.str.4)
  %6669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @s2n_strerror_debug(i32 noundef %6670, ptr noundef @.str.4)
  %6672 = call ptr @__errno_location() #11
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @strerror(i32 noundef %6673) #10
  %6675 = call ptr @__errno_location() #11
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef @.str.5, i32 noundef %6665, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 371, ptr noundef %6668, ptr noundef %6671, ptr noundef %6674, i32 noundef %6676) #10
  br label %6678

6678:                                             ; preds = %6661, %6644
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %6679

6679:                                             ; preds = %6678
  br label %6680

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

6681:                                             ; No predecessors!
  br label %6682

6682:                                             ; preds = %6681
  br label %6683

6683:                                             ; preds = %6682, %6618
  br label %6684

6684:                                             ; preds = %6683
  br label %6685

6685:                                             ; preds = %6684
  br label %6686

6686:                                             ; preds = %6685
  %6687 = load i32, ptr @test_count, align 4, !tbaa !5
  %6688 = add nsw i32 %6687, 1
  store i32 %6688, ptr @test_count, align 4, !tbaa !5
  %6689 = load i32, ptr %157, align 4, !tbaa !5
  %6690 = icmp eq i32 %6689, 0
  br i1 %6690, label %6744, label %6691

6691:                                             ; preds = %6686
  br label %6692

6692:                                             ; preds = %6691
  br label %6693

6693:                                             ; preds = %6692
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %6694 = call ptr @__errno_location() #11
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  store i32 %6695, ptr %168, align 4, !tbaa !5
  %6696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6697 = call i32 @s2n_print_stacktrace(ptr noundef %6696)
  %6698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6699 = trunc i8 %6698 to i1
  br i1 %6699, label %6700, label %6722

6700:                                             ; preds = %6693
  %6701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6702 = call i32 @fileno(ptr noundef %6701) #10
  %6703 = call i32 @isatty(i32 noundef %6702) #10
  %6704 = icmp ne i32 %6703, 0
  br i1 %6704, label %6705, label %6722

6705:                                             ; preds = %6700
  %6706 = load i32, ptr %168, align 4, !tbaa !5
  %6707 = call ptr @__errno_location() #11
  store i32 %6706, ptr %6707, align 4, !tbaa !5
  %6708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6709 = load i32, ptr @test_count, align 4, !tbaa !5
  %6710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @s2n_strerror(i32 noundef %6711, ptr noundef @.str.4)
  %6713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @s2n_strerror_debug(i32 noundef %6714, ptr noundef @.str.4)
  %6716 = call ptr @__errno_location() #11
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call ptr @strerror(i32 noundef %6717) #10
  %6719 = call ptr @__errno_location() #11
  %6720 = load i32, ptr %6719, align 4, !tbaa !5
  %6721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6708, ptr noundef @.str.2, i32 noundef %6709, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 372, ptr noundef %6712, ptr noundef %6715, ptr noundef %6718, i32 noundef %6720) #10
  br label %6739

6722:                                             ; preds = %6700, %6693
  %6723 = load i32, ptr %168, align 4, !tbaa !5
  %6724 = call ptr @__errno_location() #11
  store i32 %6723, ptr %6724, align 4, !tbaa !5
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = load i32, ptr @test_count, align 4, !tbaa !5
  %6727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call ptr @s2n_strerror(i32 noundef %6728, ptr noundef @.str.4)
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror_debug(i32 noundef %6731, ptr noundef @.str.4)
  %6733 = call ptr @__errno_location() #11
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @strerror(i32 noundef %6734) #10
  %6736 = call ptr @__errno_location() #11
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6725, ptr noundef @.str.5, i32 noundef %6726, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 372, ptr noundef %6729, ptr noundef %6732, ptr noundef %6735, i32 noundef %6737) #10
  br label %6739

6739:                                             ; preds = %6722, %6705
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

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

6742:                                             ; No predecessors!
  br label %6743

6743:                                             ; preds = %6742
  br label %6744

6744:                                             ; preds = %6743, %6686
  br label %6745

6745:                                             ; preds = %6744
  br label %6746

6746:                                             ; preds = %6745
  br label %6747

6747:                                             ; preds = %6746
  %6748 = load i32, ptr @test_count, align 4, !tbaa !5
  %6749 = add nsw i32 %6748, 1
  store i32 %6749, ptr @test_count, align 4, !tbaa !5
  %6750 = getelementptr inbounds %struct.s2n_send_context, ptr %154, i32 0, i32 1
  %6751 = load i64, ptr %6750, align 8, !tbaa !26
  %6752 = load i16, ptr %88, align 2, !tbaa !60
  %6753 = zext i16 %6752 to i64
  %6754 = icmp eq i64 %6751, %6753
  br i1 %6754, label %6808, label %6755

6755:                                             ; preds = %6747
  br label %6756

6756:                                             ; preds = %6755
  br label %6757

6757:                                             ; preds = %6756
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %6758 = call ptr @__errno_location() #11
  %6759 = load i32, ptr %6758, align 4, !tbaa !5
  store i32 %6759, ptr %169, align 4, !tbaa !5
  %6760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6761 = call i32 @s2n_print_stacktrace(ptr noundef %6760)
  %6762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6763 = trunc i8 %6762 to i1
  br i1 %6763, label %6764, label %6786

6764:                                             ; preds = %6757
  %6765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6766 = call i32 @fileno(ptr noundef %6765) #10
  %6767 = call i32 @isatty(i32 noundef %6766) #10
  %6768 = icmp ne i32 %6767, 0
  br i1 %6768, label %6769, label %6786

6769:                                             ; preds = %6764
  %6770 = load i32, ptr %169, align 4, !tbaa !5
  %6771 = call ptr @__errno_location() #11
  store i32 %6770, ptr %6771, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef @.str.4)
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror_debug(i32 noundef %6778, ptr noundef @.str.4)
  %6780 = call ptr @__errno_location() #11
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @strerror(i32 noundef %6781) #10
  %6783 = call ptr @__errno_location() #11
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef @.str.2, i32 noundef %6773, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 373, ptr noundef %6776, ptr noundef %6779, ptr noundef %6782, i32 noundef %6784) #10
  br label %6803

6786:                                             ; preds = %6764, %6757
  %6787 = load i32, ptr %169, align 4, !tbaa !5
  %6788 = call ptr @__errno_location() #11
  store i32 %6787, ptr %6788, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = load i32, ptr @test_count, align 4, !tbaa !5
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror(i32 noundef %6792, ptr noundef @.str.4)
  %6794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror_debug(i32 noundef %6795, ptr noundef @.str.4)
  %6797 = call ptr @__errno_location() #11
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call ptr @strerror(i32 noundef %6798) #10
  %6800 = call ptr @__errno_location() #11
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6789, ptr noundef @.str.5, i32 noundef %6790, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 373, ptr noundef %6793, ptr noundef %6796, ptr noundef %6799, i32 noundef %6801) #10
  br label %6803

6803:                                             ; preds = %6786, %6769
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %6804

6804:                                             ; preds = %6803
  br label %6805

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

6806:                                             ; No predecessors!
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807, %6747
  br label %6809

6809:                                             ; preds = %6808
  br label %6810

6810:                                             ; preds = %6809
  br label %6811

6811:                                             ; preds = %6810
  %6812 = load i32, ptr @test_count, align 4, !tbaa !5
  %6813 = add nsw i32 %6812, 1
  store i32 %6813, ptr @test_count, align 4, !tbaa !5
  %6814 = load ptr, ptr %146, align 8, !tbaa !9
  %6815 = getelementptr inbounds %struct.s2n_connection, ptr %6814, i32 0, i32 41
  %6816 = getelementptr inbounds %struct.s2n_stuffer, ptr %6815, i32 0, i32 0
  %6817 = getelementptr inbounds %struct.s2n_blob, ptr %6816, i32 0, i32 1
  %6818 = load i32, ptr %6817, align 8, !tbaa !58
  %6819 = icmp eq i32 %6818, 17300
  br i1 %6819, label %6873, label %6820

6820:                                             ; preds = %6811
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

6822:                                             ; preds = %6821
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %6823 = call ptr @__errno_location() #11
  %6824 = load i32, ptr %6823, align 4, !tbaa !5
  store i32 %6824, ptr %170, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = call i32 @s2n_print_stacktrace(ptr noundef %6825)
  %6827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6828 = trunc i8 %6827 to i1
  br i1 %6828, label %6829, label %6851

6829:                                             ; preds = %6822
  %6830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6831 = call i32 @fileno(ptr noundef %6830) #10
  %6832 = call i32 @isatty(i32 noundef %6831) #10
  %6833 = icmp ne i32 %6832, 0
  br i1 %6833, label %6834, label %6851

6834:                                             ; preds = %6829
  %6835 = load i32, ptr %170, align 4, !tbaa !5
  %6836 = call ptr @__errno_location() #11
  store i32 %6835, ptr %6836, align 4, !tbaa !5
  %6837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6838 = load i32, ptr @test_count, align 4, !tbaa !5
  %6839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  %6841 = call ptr @s2n_strerror(i32 noundef %6840, ptr noundef @.str.4)
  %6842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6843 = load i32, ptr %6842, align 4, !tbaa !5
  %6844 = call ptr @s2n_strerror_debug(i32 noundef %6843, ptr noundef @.str.4)
  %6845 = call ptr @__errno_location() #11
  %6846 = load i32, ptr %6845, align 4, !tbaa !5
  %6847 = call ptr @strerror(i32 noundef %6846) #10
  %6848 = call ptr @__errno_location() #11
  %6849 = load i32, ptr %6848, align 4, !tbaa !5
  %6850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6837, ptr noundef @.str.2, i32 noundef %6838, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 376, ptr noundef %6841, ptr noundef %6844, ptr noundef %6847, i32 noundef %6849) #10
  br label %6868

6851:                                             ; preds = %6829, %6822
  %6852 = load i32, ptr %170, align 4, !tbaa !5
  %6853 = call ptr @__errno_location() #11
  store i32 %6852, ptr %6853, align 4, !tbaa !5
  %6854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6855 = load i32, ptr @test_count, align 4, !tbaa !5
  %6856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @s2n_strerror(i32 noundef %6857, ptr noundef @.str.4)
  %6859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call ptr @s2n_strerror_debug(i32 noundef %6860, ptr noundef @.str.4)
  %6862 = call ptr @__errno_location() #11
  %6863 = load i32, ptr %6862, align 4, !tbaa !5
  %6864 = call ptr @strerror(i32 noundef %6863) #10
  %6865 = call ptr @__errno_location() #11
  %6866 = load i32, ptr %6865, align 4, !tbaa !5
  %6867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6854, ptr noundef @.str.5, i32 noundef %6855, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 376, ptr noundef %6858, ptr noundef %6861, ptr noundef %6864, i32 noundef %6866) #10
  br label %6868

6868:                                             ; preds = %6851, %6834
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %6869

6869:                                             ; preds = %6868
  br label %6870

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

6871:                                             ; No predecessors!
  br label %6872

6872:                                             ; preds = %6871
  br label %6873

6873:                                             ; preds = %6872, %6811
  br label %6874

6874:                                             ; preds = %6873
  br label %6875

6875:                                             ; preds = %6874
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #10
  call void @llvm.lifetime.end.p0(i64 60, 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
  %6876 = call i32 @s2n_connection_ptr_free(ptr noundef %146)
  %6877 = getelementptr inbounds %struct.s2n_result, ptr %171, i32 0, i32 0
  store i32 %6876, ptr %6877, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  store i32 0, ptr %172, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #10
  %6878 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6878, ptr %173, align 8, !tbaa !9
  br label %6879

6879:                                             ; preds = %6875
  %6880 = load i32, ptr @test_count, align 4, !tbaa !5
  %6881 = add nsw i32 %6880, 1
  store i32 %6881, ptr @test_count, align 4, !tbaa !5
  %6882 = load ptr, ptr %173, align 8, !tbaa !9
  %6883 = icmp eq ptr %6882, null
  br i1 %6883, label %6884, label %6937

6884:                                             ; preds = %6879
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

6886:                                             ; preds = %6885
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %6887 = call ptr @__errno_location() #11
  %6888 = load i32, ptr %6887, align 4, !tbaa !5
  store i32 %6888, ptr %174, align 4, !tbaa !5
  %6889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6890 = call i32 @s2n_print_stacktrace(ptr noundef %6889)
  %6891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6892 = trunc i8 %6891 to i1
  br i1 %6892, label %6893, label %6915

6893:                                             ; preds = %6886
  %6894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6895 = call i32 @fileno(ptr noundef %6894) #10
  %6896 = call i32 @isatty(i32 noundef %6895) #10
  %6897 = icmp ne i32 %6896, 0
  br i1 %6897, label %6898, label %6915

6898:                                             ; preds = %6893
  %6899 = load i32, ptr %174, align 4, !tbaa !5
  %6900 = call ptr @__errno_location() #11
  store i32 %6899, ptr %6900, align 4, !tbaa !5
  %6901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6902 = load i32, ptr @test_count, align 4, !tbaa !5
  %6903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6904 = load i32, ptr %6903, align 4, !tbaa !5
  %6905 = call ptr @s2n_strerror(i32 noundef %6904, ptr noundef @.str.4)
  %6906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  %6908 = call ptr @s2n_strerror_debug(i32 noundef %6907, ptr noundef @.str.4)
  %6909 = call ptr @__errno_location() #11
  %6910 = load i32, ptr %6909, align 4, !tbaa !5
  %6911 = call ptr @strerror(i32 noundef %6910) #10
  %6912 = call ptr @__errno_location() #11
  %6913 = load i32, ptr %6912, align 4, !tbaa !5
  %6914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6901, ptr noundef @.str.2, i32 noundef %6902, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 394, ptr noundef %6905, ptr noundef %6908, ptr noundef %6911, i32 noundef %6913) #10
  br label %6932

6915:                                             ; preds = %6893, %6886
  %6916 = load i32, ptr %174, align 4, !tbaa !5
  %6917 = call ptr @__errno_location() #11
  store i32 %6916, ptr %6917, align 4, !tbaa !5
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror(i32 noundef %6921, ptr noundef @.str.4)
  %6923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @s2n_strerror_debug(i32 noundef %6924, ptr noundef @.str.4)
  %6926 = call ptr @__errno_location() #11
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call ptr @strerror(i32 noundef %6927) #10
  %6929 = call ptr @__errno_location() #11
  %6930 = load i32, ptr %6929, align 4, !tbaa !5
  %6931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6918, ptr noundef @.str.5, i32 noundef %6919, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 394, ptr noundef %6922, ptr noundef %6925, ptr noundef %6928, i32 noundef %6930) #10
  br label %6932

6932:                                             ; preds = %6915, %6898
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %6933

6933:                                             ; preds = %6932
  br label %6934

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

6935:                                             ; No predecessors!
  br label %6936

6936:                                             ; preds = %6935
  br label %6937

6937:                                             ; preds = %6936, %6879
  br label %6938

6938:                                             ; preds = %6937
  br label %6939

6939:                                             ; preds = %6938
  br label %6940

6940:                                             ; preds = %6939
  %6941 = load i32, ptr @test_count, align 4, !tbaa !5
  %6942 = add nsw i32 %6941, 1
  store i32 %6942, ptr @test_count, align 4, !tbaa !5
  %6943 = load ptr, ptr %173, align 8, !tbaa !9
  %6944 = call i32 @s2n_connection_set_secrets(ptr noundef %6943)
  %6945 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  store i32 %6944, ptr %6945, align 4
  %6946 = getelementptr inbounds %struct.s2n_result, ptr %175, i32 0, i32 0
  %6947 = load i32, ptr %6946, align 4
  %6948 = call zeroext i1 @s2n_result_is_ok(i32 %6947)
  br i1 %6948, label %7002, label %6949

6949:                                             ; preds = %6940
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %6952 = call ptr @__errno_location() #11
  %6953 = load i32, ptr %6952, align 4, !tbaa !5
  store i32 %6953, ptr %176, align 4, !tbaa !5
  %6954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6955 = call i32 @s2n_print_stacktrace(ptr noundef %6954)
  %6956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6957 = trunc i8 %6956 to i1
  br i1 %6957, label %6958, label %6980

6958:                                             ; preds = %6951
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = call i32 @fileno(ptr noundef %6959) #10
  %6961 = call i32 @isatty(i32 noundef %6960) #10
  %6962 = icmp ne i32 %6961, 0
  br i1 %6962, label %6963, label %6980

6963:                                             ; preds = %6958
  %6964 = load i32, ptr %176, align 4, !tbaa !5
  %6965 = call ptr @__errno_location() #11
  store i32 %6964, ptr %6965, align 4, !tbaa !5
  %6966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6967 = load i32, ptr @test_count, align 4, !tbaa !5
  %6968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror(i32 noundef %6969, ptr noundef @.str.4)
  %6971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @s2n_strerror_debug(i32 noundef %6972, ptr noundef @.str.4)
  %6974 = call ptr @__errno_location() #11
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @strerror(i32 noundef %6975) #10
  %6977 = call ptr @__errno_location() #11
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6966, ptr noundef @.str.2, i32 noundef %6967, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 395, ptr noundef %6970, ptr noundef %6973, ptr noundef %6976, i32 noundef %6978) #10
  br label %6997

6980:                                             ; preds = %6958, %6951
  %6981 = load i32, ptr %176, align 4, !tbaa !5
  %6982 = call ptr @__errno_location() #11
  store i32 %6981, ptr %6982, align 4, !tbaa !5
  %6983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6984 = load i32, ptr @test_count, align 4, !tbaa !5
  %6985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6986 = load i32, ptr %6985, align 4, !tbaa !5
  %6987 = call ptr @s2n_strerror(i32 noundef %6986, ptr noundef @.str.4)
  %6988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror_debug(i32 noundef %6989, ptr noundef @.str.4)
  %6991 = call ptr @__errno_location() #11
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call ptr @strerror(i32 noundef %6992) #10
  %6994 = call ptr @__errno_location() #11
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6983, ptr noundef @.str.5, i32 noundef %6984, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 395, ptr noundef %6987, ptr noundef %6990, ptr noundef %6993, i32 noundef %6995) #10
  br label %6997

6997:                                             ; preds = %6980, %6963
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %6998

6998:                                             ; preds = %6997
  br label %6999

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

7000:                                             ; No predecessors!
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

7002:                                             ; preds = %7001, %6940
  br label %7003

7003:                                             ; preds = %7002
  br label %7004

7004:                                             ; preds = %7003
  br label %7005

7005:                                             ; preds = %7004
  %7006 = load i32, ptr @test_count, align 4, !tbaa !5
  %7007 = add nsw i32 %7006, 1
  store i32 %7007, ptr @test_count, align 4, !tbaa !5
  %7008 = load ptr, ptr %173, align 8, !tbaa !9
  %7009 = load ptr, ptr %20, align 8, !tbaa !9
  %7010 = call i32 @s2n_connection_set_config(ptr noundef %7008, ptr noundef %7009)
  %7011 = icmp eq i32 %7010, -1
  br i1 %7011, label %7012, label %7065

7012:                                             ; preds = %7005
  br label %7013

7013:                                             ; preds = %7012
  br label %7014

7014:                                             ; preds = %7013
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %7015 = call ptr @__errno_location() #11
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  store i32 %7016, ptr %177, align 4, !tbaa !5
  %7017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7018 = call i32 @s2n_print_stacktrace(ptr noundef %7017)
  %7019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7020 = trunc i8 %7019 to i1
  br i1 %7020, label %7021, label %7043

7021:                                             ; preds = %7014
  %7022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7023 = call i32 @fileno(ptr noundef %7022) #10
  %7024 = call i32 @isatty(i32 noundef %7023) #10
  %7025 = icmp ne i32 %7024, 0
  br i1 %7025, label %7026, label %7043

7026:                                             ; preds = %7021
  %7027 = load i32, ptr %177, align 4, !tbaa !5
  %7028 = call ptr @__errno_location() #11
  store i32 %7027, ptr %7028, align 4, !tbaa !5
  %7029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7030 = load i32, ptr @test_count, align 4, !tbaa !5
  %7031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7032 = load i32, ptr %7031, align 4, !tbaa !5
  %7033 = call ptr @s2n_strerror(i32 noundef %7032, ptr noundef @.str.4)
  %7034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7035 = load i32, ptr %7034, align 4, !tbaa !5
  %7036 = call ptr @s2n_strerror_debug(i32 noundef %7035, ptr noundef @.str.4)
  %7037 = call ptr @__errno_location() #11
  %7038 = load i32, ptr %7037, align 4, !tbaa !5
  %7039 = call ptr @strerror(i32 noundef %7038) #10
  %7040 = call ptr @__errno_location() #11
  %7041 = load i32, ptr %7040, align 4, !tbaa !5
  %7042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7029, ptr noundef @.str.2, i32 noundef %7030, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 396, ptr noundef %7033, ptr noundef %7036, ptr noundef %7039, i32 noundef %7041) #10
  br label %7060

7043:                                             ; preds = %7021, %7014
  %7044 = load i32, ptr %177, align 4, !tbaa !5
  %7045 = call ptr @__errno_location() #11
  store i32 %7044, ptr %7045, align 4, !tbaa !5
  %7046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7047 = load i32, ptr @test_count, align 4, !tbaa !5
  %7048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror(i32 noundef %7049, ptr noundef @.str.4)
  %7051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call ptr @s2n_strerror_debug(i32 noundef %7052, ptr noundef @.str.4)
  %7054 = call ptr @__errno_location() #11
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  %7056 = call ptr @strerror(i32 noundef %7055) #10
  %7057 = call ptr @__errno_location() #11
  %7058 = load i32, ptr %7057, align 4, !tbaa !5
  %7059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7046, ptr noundef @.str.5, i32 noundef %7047, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 396, ptr noundef %7050, ptr noundef %7053, ptr noundef %7056, i32 noundef %7058) #10
  br label %7060

7060:                                             ; preds = %7043, %7026
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %7061

7061:                                             ; preds = %7060
  br label %7062

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

7063:                                             ; No predecessors!
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064, %7005
  br label %7066

7066:                                             ; preds = %7065
  br label %7067

7067:                                             ; preds = %7066
  br label %7068

7068:                                             ; preds = %7067
  %7069 = load i32, ptr @test_count, align 4, !tbaa !5
  %7070 = add nsw i32 %7069, 1
  store i32 %7070, ptr @test_count, align 4, !tbaa !5
  %7071 = load ptr, ptr %173, align 8, !tbaa !9
  %7072 = call i32 @s2n_connection_set_send_cb(ptr noundef %7071, ptr noundef @s2n_test_send_cb)
  %7073 = icmp eq i32 %7072, -1
  br i1 %7073, label %7074, label %7127

7074:                                             ; preds = %7068
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

7076:                                             ; preds = %7075
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #10
  %7077 = call ptr @__errno_location() #11
  %7078 = load i32, ptr %7077, align 4, !tbaa !5
  store i32 %7078, ptr %178, align 4, !tbaa !5
  %7079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7080 = call i32 @s2n_print_stacktrace(ptr noundef %7079)
  %7081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7082 = trunc i8 %7081 to i1
  br i1 %7082, label %7083, label %7105

7083:                                             ; preds = %7076
  %7084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7085 = call i32 @fileno(ptr noundef %7084) #10
  %7086 = call i32 @isatty(i32 noundef %7085) #10
  %7087 = icmp ne i32 %7086, 0
  br i1 %7087, label %7088, label %7105

7088:                                             ; preds = %7083
  %7089 = load i32, ptr %178, align 4, !tbaa !5
  %7090 = call ptr @__errno_location() #11
  store i32 %7089, ptr %7090, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = load i32, ptr @test_count, align 4, !tbaa !5
  %7093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @s2n_strerror(i32 noundef %7094, ptr noundef @.str.4)
  %7096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror_debug(i32 noundef %7097, ptr noundef @.str.4)
  %7099 = call ptr @__errno_location() #11
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @strerror(i32 noundef %7100) #10
  %7102 = call ptr @__errno_location() #11
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef @.str.2, i32 noundef %7092, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 397, ptr noundef %7095, ptr noundef %7098, ptr noundef %7101, i32 noundef %7103) #10
  br label %7122

7105:                                             ; preds = %7083, %7076
  %7106 = load i32, ptr %178, align 4, !tbaa !5
  %7107 = call ptr @__errno_location() #11
  store i32 %7106, ptr %7107, align 4, !tbaa !5
  %7108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7109 = load i32, ptr @test_count, align 4, !tbaa !5
  %7110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror(i32 noundef %7111, ptr noundef @.str.4)
  %7113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror_debug(i32 noundef %7114, ptr noundef @.str.4)
  %7116 = call ptr @__errno_location() #11
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call ptr @strerror(i32 noundef %7117) #10
  %7119 = call ptr @__errno_location() #11
  %7120 = load i32, ptr %7119, align 4, !tbaa !5
  %7121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7108, ptr noundef @.str.5, i32 noundef %7109, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 397, ptr noundef %7112, ptr noundef %7115, ptr noundef %7118, i32 noundef %7120) #10
  br label %7122

7122:                                             ; preds = %7105, %7088
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #10
  br label %7123

7123:                                             ; preds = %7122
  br label %7124

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

7125:                                             ; No predecessors!
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

7127:                                             ; preds = %7126, %7068
  br label %7128

7128:                                             ; preds = %7127
  br label %7129

7129:                                             ; preds = %7128
  call void @llvm.lifetime.start.p0(i64 8, ptr %179) #10
  store i64 0, ptr %179, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %180, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %7130

7130:                                             ; preds = %7129
  %7131 = load i32, ptr @test_count, align 4, !tbaa !5
  %7132 = add nsw i32 %7131, 1
  store i32 %7132, ptr @test_count, align 4, !tbaa !5
  %7133 = load ptr, ptr %173, align 8, !tbaa !9
  %7134 = call i32 @s2n_connection_set_send_ctx(ptr noundef %7133, ptr noundef %180)
  %7135 = icmp eq i32 %7134, -1
  br i1 %7135, label %7136, label %7189

7136:                                             ; preds = %7130
  br label %7137

7137:                                             ; preds = %7136
  br label %7138

7138:                                             ; preds = %7137
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #10
  %7139 = call ptr @__errno_location() #11
  %7140 = load i32, ptr %7139, align 4, !tbaa !5
  store i32 %7140, ptr %181, align 4, !tbaa !5
  %7141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7142 = call i32 @s2n_print_stacktrace(ptr noundef %7141)
  %7143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7144 = trunc i8 %7143 to i1
  br i1 %7144, label %7145, label %7167

7145:                                             ; preds = %7138
  %7146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7147 = call i32 @fileno(ptr noundef %7146) #10
  %7148 = call i32 @isatty(i32 noundef %7147) #10
  %7149 = icmp ne i32 %7148, 0
  br i1 %7149, label %7150, label %7167

7150:                                             ; preds = %7145
  %7151 = load i32, ptr %181, align 4, !tbaa !5
  %7152 = call ptr @__errno_location() #11
  store i32 %7151, ptr %7152, align 4, !tbaa !5
  %7153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7154 = load i32, ptr @test_count, align 4, !tbaa !5
  %7155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7156 = load i32, ptr %7155, align 4, !tbaa !5
  %7157 = call ptr @s2n_strerror(i32 noundef %7156, ptr noundef @.str.4)
  %7158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror_debug(i32 noundef %7159, ptr noundef @.str.4)
  %7161 = call ptr @__errno_location() #11
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @strerror(i32 noundef %7162) #10
  %7164 = call ptr @__errno_location() #11
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7153, ptr noundef @.str.2, i32 noundef %7154, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 403, ptr noundef %7157, ptr noundef %7160, ptr noundef %7163, i32 noundef %7165) #10
  br label %7184

7167:                                             ; preds = %7145, %7138
  %7168 = load i32, ptr %181, align 4, !tbaa !5
  %7169 = call ptr @__errno_location() #11
  store i32 %7168, ptr %7169, align 4, !tbaa !5
  %7170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7171 = load i32, ptr @test_count, align 4, !tbaa !5
  %7172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7173 = load i32, ptr %7172, align 4, !tbaa !5
  %7174 = call ptr @s2n_strerror(i32 noundef %7173, ptr noundef @.str.4)
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror_debug(i32 noundef %7176, ptr noundef @.str.4)
  %7178 = call ptr @__errno_location() #11
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @strerror(i32 noundef %7179) #10
  %7181 = call ptr @__errno_location() #11
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7170, ptr noundef @.str.5, i32 noundef %7171, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 403, ptr noundef %7174, ptr noundef %7177, ptr noundef %7180, i32 noundef %7182) #10
  br label %7184

7184:                                             ; preds = %7167, %7150
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #10
  br label %7185

7185:                                             ; preds = %7184
  br label %7186

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

7187:                                             ; No predecessors!
  br label %7188

7188:                                             ; preds = %7187
  br label %7189

7189:                                             ; preds = %7188, %7130
  br label %7190

7190:                                             ; preds = %7189
  br label %7191

7191:                                             ; preds = %7190
  %7192 = load ptr, ptr %173, align 8, !tbaa !9
  %7193 = getelementptr inbounds %struct.s2n_connection, ptr %7192, i32 0, i32 94
  call void @s2n_atomic_flag_set(ptr noundef %7193)
  br label %7194

7194:                                             ; preds = %7191
  %7195 = load i32, ptr @test_count, align 4, !tbaa !5
  %7196 = add nsw i32 %7195, 1
  store i32 %7196, ptr @test_count, align 4, !tbaa !5
  %7197 = load ptr, ptr %173, align 8, !tbaa !9
  %7198 = call i32 @s2n_post_handshake_send(ptr noundef %7197, ptr noundef %172)
  %7199 = icmp eq i32 %7198, -1
  br i1 %7199, label %7200, label %7253

7200:                                             ; preds = %7194
  br label %7201

7201:                                             ; preds = %7200
  br label %7202

7202:                                             ; preds = %7201
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #10
  %7203 = call ptr @__errno_location() #11
  %7204 = load i32, ptr %7203, align 4, !tbaa !5
  store i32 %7204, ptr %182, align 4, !tbaa !5
  %7205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7206 = call i32 @s2n_print_stacktrace(ptr noundef %7205)
  %7207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7208 = trunc i8 %7207 to i1
  br i1 %7208, label %7209, label %7231

7209:                                             ; preds = %7202
  %7210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7211 = call i32 @fileno(ptr noundef %7210) #10
  %7212 = call i32 @isatty(i32 noundef %7211) #10
  %7213 = icmp ne i32 %7212, 0
  br i1 %7213, label %7214, label %7231

7214:                                             ; preds = %7209
  %7215 = load i32, ptr %182, align 4, !tbaa !5
  %7216 = call ptr @__errno_location() #11
  store i32 %7215, ptr %7216, align 4, !tbaa !5
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = load i32, ptr @test_count, align 4, !tbaa !5
  %7219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call ptr @s2n_strerror(i32 noundef %7220, ptr noundef @.str.4)
  %7222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call ptr @s2n_strerror_debug(i32 noundef %7223, ptr noundef @.str.4)
  %7225 = call ptr @__errno_location() #11
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  %7227 = call ptr @strerror(i32 noundef %7226) #10
  %7228 = call ptr @__errno_location() #11
  %7229 = load i32, ptr %7228, align 4, !tbaa !5
  %7230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7217, ptr noundef @.str.2, i32 noundef %7218, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 406, ptr noundef %7221, ptr noundef %7224, ptr noundef %7227, i32 noundef %7229) #10
  br label %7248

7231:                                             ; preds = %7209, %7202
  %7232 = load i32, ptr %182, align 4, !tbaa !5
  %7233 = call ptr @__errno_location() #11
  store i32 %7232, ptr %7233, align 4, !tbaa !5
  %7234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7235 = load i32, ptr @test_count, align 4, !tbaa !5
  %7236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7237 = load i32, ptr %7236, align 4, !tbaa !5
  %7238 = call ptr @s2n_strerror(i32 noundef %7237, ptr noundef @.str.4)
  %7239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7240 = load i32, ptr %7239, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror_debug(i32 noundef %7240, ptr noundef @.str.4)
  %7242 = call ptr @__errno_location() #11
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  %7244 = call ptr @strerror(i32 noundef %7243) #10
  %7245 = call ptr @__errno_location() #11
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7234, ptr noundef @.str.5, i32 noundef %7235, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 406, ptr noundef %7238, ptr noundef %7241, ptr noundef %7244, i32 noundef %7246) #10
  br label %7248

7248:                                             ; preds = %7231, %7214
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #10
  br label %7249

7249:                                             ; preds = %7248
  br label %7250

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

7251:                                             ; No predecessors!
  br label %7252

7252:                                             ; preds = %7251
  br label %7253

7253:                                             ; preds = %7252, %7194
  br label %7254

7254:                                             ; preds = %7253
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

7256:                                             ; preds = %7255
  %7257 = load i32, ptr @test_count, align 4, !tbaa !5
  %7258 = add nsw i32 %7257, 1
  store i32 %7258, ptr @test_count, align 4, !tbaa !5
  %7259 = load ptr, ptr %173, align 8, !tbaa !9
  %7260 = getelementptr inbounds %struct.s2n_connection, ptr %7259, i32 0, i32 94
  %7261 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %7260)
  br i1 %7261, label %7262, label %7315

7262:                                             ; preds = %7256
  br label %7263

7263:                                             ; preds = %7262
  br label %7264

7264:                                             ; preds = %7263
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #10
  %7265 = call ptr @__errno_location() #11
  %7266 = load i32, ptr %7265, align 4, !tbaa !5
  store i32 %7266, ptr %183, align 4, !tbaa !5
  %7267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7268 = call i32 @s2n_print_stacktrace(ptr noundef %7267)
  %7269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7270 = trunc i8 %7269 to i1
  br i1 %7270, label %7271, label %7293

7271:                                             ; preds = %7264
  %7272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7273 = call i32 @fileno(ptr noundef %7272) #10
  %7274 = call i32 @isatty(i32 noundef %7273) #10
  %7275 = icmp ne i32 %7274, 0
  br i1 %7275, label %7276, label %7293

7276:                                             ; preds = %7271
  %7277 = load i32, ptr %183, align 4, !tbaa !5
  %7278 = call ptr @__errno_location() #11
  store i32 %7277, ptr %7278, align 4, !tbaa !5
  %7279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7280 = load i32, ptr @test_count, align 4, !tbaa !5
  %7281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  %7283 = call ptr @s2n_strerror(i32 noundef %7282, ptr noundef @.str.4)
  %7284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  %7286 = call ptr @s2n_strerror_debug(i32 noundef %7285, ptr noundef @.str.4)
  %7287 = call ptr @__errno_location() #11
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @strerror(i32 noundef %7288) #10
  %7290 = call ptr @__errno_location() #11
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7279, ptr noundef @.str.2, i32 noundef %7280, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 407, ptr noundef %7283, ptr noundef %7286, ptr noundef %7289, i32 noundef %7291) #10
  br label %7310

7293:                                             ; preds = %7271, %7264
  %7294 = load i32, ptr %183, align 4, !tbaa !5
  %7295 = call ptr @__errno_location() #11
  store i32 %7294, ptr %7295, align 4, !tbaa !5
  %7296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7297 = load i32, ptr @test_count, align 4, !tbaa !5
  %7298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7299 = load i32, ptr %7298, align 4, !tbaa !5
  %7300 = call ptr @s2n_strerror(i32 noundef %7299, ptr noundef @.str.4)
  %7301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call ptr @s2n_strerror_debug(i32 noundef %7302, ptr noundef @.str.4)
  %7304 = call ptr @__errno_location() #11
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @strerror(i32 noundef %7305) #10
  %7307 = call ptr @__errno_location() #11
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7296, ptr noundef @.str.5, i32 noundef %7297, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 407, ptr noundef %7300, ptr noundef %7303, ptr noundef %7306, i32 noundef %7308) #10
  br label %7310

7310:                                             ; preds = %7293, %7276
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #10
  br label %7311

7311:                                             ; preds = %7310
  br label %7312

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

7313:                                             ; No predecessors!
  br label %7314

7314:                                             ; preds = %7313
  br label %7315

7315:                                             ; preds = %7314, %7256
  br label %7316

7316:                                             ; preds = %7315
  br label %7317

7317:                                             ; preds = %7316
  %7318 = getelementptr inbounds %struct.s2n_send_context, ptr %180, i32 0, i32 1
  %7319 = load i64, ptr %7318, align 8, !tbaa !26
  store i64 %7319, ptr %179, align 8, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #10
  br label %7320

7320:                                             ; preds = %7317
  %7321 = load i32, ptr @test_count, align 4, !tbaa !5
  %7322 = add nsw i32 %7321, 1
  store i32 %7322, ptr @test_count, align 4, !tbaa !5
  %7323 = load i64, ptr %179, align 8, !tbaa !15
  %7324 = icmp ugt i64 %7323, 0
  br i1 %7324, label %7378, label %7325

7325:                                             ; preds = %7320
  br label %7326

7326:                                             ; preds = %7325
  br label %7327

7327:                                             ; preds = %7326
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %7328 = call ptr @__errno_location() #11
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  store i32 %7329, ptr %184, align 4, !tbaa !5
  %7330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7331 = call i32 @s2n_print_stacktrace(ptr noundef %7330)
  %7332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7333 = trunc i8 %7332 to i1
  br i1 %7333, label %7334, label %7356

7334:                                             ; preds = %7327
  %7335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7336 = call i32 @fileno(ptr noundef %7335) #10
  %7337 = call i32 @isatty(i32 noundef %7336) #10
  %7338 = icmp ne i32 %7337, 0
  br i1 %7338, label %7339, label %7356

7339:                                             ; preds = %7334
  %7340 = load i32, ptr %184, align 4, !tbaa !5
  %7341 = call ptr @__errno_location() #11
  store i32 %7340, ptr %7341, align 4, !tbaa !5
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = load i32, ptr @test_count, align 4, !tbaa !5
  %7344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7345 = load i32, ptr %7344, align 4, !tbaa !5
  %7346 = call ptr @s2n_strerror(i32 noundef %7345, ptr noundef @.str.4)
  %7347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7348 = load i32, ptr %7347, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror_debug(i32 noundef %7348, ptr noundef @.str.4)
  %7350 = call ptr @__errno_location() #11
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @strerror(i32 noundef %7351) #10
  %7353 = call ptr @__errno_location() #11
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7342, ptr noundef @.str.2, i32 noundef %7343, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 410, ptr noundef %7346, ptr noundef %7349, ptr noundef %7352, i32 noundef %7354) #10
  br label %7373

7356:                                             ; preds = %7334, %7327
  %7357 = load i32, ptr %184, align 4, !tbaa !5
  %7358 = call ptr @__errno_location() #11
  store i32 %7357, ptr %7358, align 4, !tbaa !5
  %7359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7360 = load i32, ptr @test_count, align 4, !tbaa !5
  %7361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7362 = load i32, ptr %7361, align 4, !tbaa !5
  %7363 = call ptr @s2n_strerror(i32 noundef %7362, ptr noundef @.str.4)
  %7364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7365 = load i32, ptr %7364, align 4, !tbaa !5
  %7366 = call ptr @s2n_strerror_debug(i32 noundef %7365, ptr noundef @.str.4)
  %7367 = call ptr @__errno_location() #11
  %7368 = load i32, ptr %7367, align 4, !tbaa !5
  %7369 = call ptr @strerror(i32 noundef %7368) #10
  %7370 = call ptr @__errno_location() #11
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7359, ptr noundef @.str.5, i32 noundef %7360, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 410, ptr noundef %7363, ptr noundef %7366, ptr noundef %7369, i32 noundef %7371) #10
  br label %7373

7373:                                             ; preds = %7356, %7339
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %7374

7374:                                             ; preds = %7373
  br label %7375

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

7376:                                             ; No predecessors!
  br label %7377

7377:                                             ; preds = %7376
  br label %7378

7378:                                             ; preds = %7377, %7320
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

7380:                                             ; preds = %7379
  call void @llvm.lifetime.start.p0(i64 36, ptr %185) #10
  %7381 = getelementptr inbounds %struct.s2n_send_result, ptr %185, i32 0, i32 0
  store i32 2147483647, ptr %7381, align 4, !tbaa !17
  %7382 = getelementptr inbounds %struct.s2n_send_result, ptr %185, i32 0, i32 1
  store i32 0, ptr %7382, align 4, !tbaa !19
  %7383 = getelementptr inbounds %struct.s2n_send_result, ptr %185, i32 0, i32 2
  store i8 0, ptr %7383, align 4, !tbaa !20
  %7384 = getelementptr inbounds %struct.s2n_send_result, ptr %185, i64 1
  %7385 = getelementptr inbounds %struct.s2n_send_result, ptr %7384, i32 0, i32 0
  %7386 = load i64, ptr %179, align 8, !tbaa !15
  %7387 = trunc i64 %7386 to i32
  store i32 %7387, ptr %7385, align 4, !tbaa !17
  %7388 = getelementptr inbounds %struct.s2n_send_result, ptr %7384, i32 0, i32 1
  store i32 0, ptr %7388, align 4, !tbaa !19
  %7389 = getelementptr inbounds %struct.s2n_send_result, ptr %7384, i32 0, i32 2
  store i8 1, ptr %7389, align 4, !tbaa !20
  %7390 = getelementptr inbounds %struct.s2n_send_result, ptr %185, i64 2
  %7391 = getelementptr inbounds %struct.s2n_send_result, ptr %7390, i32 0, i32 0
  store i32 2147483647, ptr %7391, align 4, !tbaa !17
  %7392 = getelementptr inbounds %struct.s2n_send_result, ptr %7390, i32 0, i32 1
  store i32 0, ptr %7392, align 4, !tbaa !19
  %7393 = getelementptr inbounds %struct.s2n_send_result, ptr %7390, i32 0, i32 2
  store i8 0, ptr %7393, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #10
  %7394 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 0
  store i64 0, ptr %7394, align 8, !tbaa !24
  %7395 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 1
  store i64 0, ptr %7395, align 8, !tbaa !26
  %7396 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 2
  %7397 = getelementptr inbounds [3 x %struct.s2n_send_result], ptr %185, i64 0, i64 0
  store ptr %7397, ptr %7396, align 8, !tbaa !27
  %7398 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 3
  store i64 3, ptr %7398, align 8, !tbaa !28
  br label %7399

7399:                                             ; preds = %7380
  %7400 = load i32, ptr @test_count, align 4, !tbaa !5
  %7401 = add nsw i32 %7400, 1
  store i32 %7401, ptr @test_count, align 4, !tbaa !5
  %7402 = load ptr, ptr %173, align 8, !tbaa !9
  %7403 = call i32 @s2n_connection_set_send_ctx(ptr noundef %7402, ptr noundef %186)
  %7404 = icmp eq i32 %7403, -1
  br i1 %7404, label %7405, label %7458

7405:                                             ; preds = %7399
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %7408 = call ptr @__errno_location() #11
  %7409 = load i32, ptr %7408, align 4, !tbaa !5
  store i32 %7409, ptr %187, align 4, !tbaa !5
  %7410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7411 = call i32 @s2n_print_stacktrace(ptr noundef %7410)
  %7412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7413 = trunc i8 %7412 to i1
  br i1 %7413, label %7414, label %7436

7414:                                             ; preds = %7407
  %7415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7416 = call i32 @fileno(ptr noundef %7415) #10
  %7417 = call i32 @isatty(i32 noundef %7416) #10
  %7418 = icmp ne i32 %7417, 0
  br i1 %7418, label %7419, label %7436

7419:                                             ; preds = %7414
  %7420 = load i32, ptr %187, align 4, !tbaa !5
  %7421 = call ptr @__errno_location() #11
  store i32 %7420, ptr %7421, align 4, !tbaa !5
  %7422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7423 = load i32, ptr @test_count, align 4, !tbaa !5
  %7424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7425 = load i32, ptr %7424, align 4, !tbaa !5
  %7426 = call ptr @s2n_strerror(i32 noundef %7425, ptr noundef @.str.4)
  %7427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  %7429 = call ptr @s2n_strerror_debug(i32 noundef %7428, ptr noundef @.str.4)
  %7430 = call ptr @__errno_location() #11
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @strerror(i32 noundef %7431) #10
  %7433 = call ptr @__errno_location() #11
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7422, ptr noundef @.str.2, i32 noundef %7423, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7426, ptr noundef %7429, ptr noundef %7432, i32 noundef %7434) #10
  br label %7453

7436:                                             ; preds = %7414, %7407
  %7437 = load i32, ptr %187, align 4, !tbaa !5
  %7438 = call ptr @__errno_location() #11
  store i32 %7437, ptr %7438, align 4, !tbaa !5
  %7439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7440 = load i32, ptr @test_count, align 4, !tbaa !5
  %7441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7442 = load i32, ptr %7441, align 4, !tbaa !5
  %7443 = call ptr @s2n_strerror(i32 noundef %7442, ptr noundef @.str.4)
  %7444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7445 = load i32, ptr %7444, align 4, !tbaa !5
  %7446 = call ptr @s2n_strerror_debug(i32 noundef %7445, ptr noundef @.str.4)
  %7447 = call ptr @__errno_location() #11
  %7448 = load i32, ptr %7447, align 4, !tbaa !5
  %7449 = call ptr @strerror(i32 noundef %7448) #10
  %7450 = call ptr @__errno_location() #11
  %7451 = load i32, ptr %7450, align 4, !tbaa !5
  %7452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7439, ptr noundef @.str.5, i32 noundef %7440, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7443, ptr noundef %7446, ptr noundef %7449, i32 noundef %7451) #10
  br label %7453

7453:                                             ; preds = %7436, %7419
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %7454

7454:                                             ; preds = %7453
  br label %7455

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

7456:                                             ; No predecessors!
  br label %7457

7457:                                             ; preds = %7456
  br label %7458

7458:                                             ; preds = %7457, %7399
  br label %7459

7459:                                             ; preds = %7458
  br label %7460

7460:                                             ; preds = %7459
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #10
  %7461 = load ptr, ptr %173, align 8, !tbaa !9
  %7462 = getelementptr inbounds %struct.s2n_connection, ptr %7461, i32 0, i32 27
  %7463 = load ptr, ptr %7462, align 8, !tbaa !61
  %7464 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7463, i32 0, i32 0
  %7465 = load ptr, ptr %7464, align 8, !tbaa !62
  %7466 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %7465, i32 0, i32 6
  %7467 = load ptr, ptr %7466, align 8, !tbaa !67
  %7468 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %7467, i32 0, i32 3
  %7469 = load i64, ptr %7468, align 8, !tbaa !69
  store i64 %7469, ptr %188, align 8, !tbaa !15
  br label %7470

7470:                                             ; preds = %7460
  %7471 = load i32, ptr @test_count, align 4, !tbaa !5
  %7472 = add nsw i32 %7471, 1
  store i32 %7472, ptr @test_count, align 4, !tbaa !5
  %7473 = load i64, ptr %188, align 8, !tbaa !15
  %7474 = icmp ugt i64 %7473, 0
  br i1 %7474, label %7528, label %7475

7475:                                             ; preds = %7470
  br label %7476

7476:                                             ; preds = %7475
  br label %7477

7477:                                             ; preds = %7476
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %7478 = call ptr @__errno_location() #11
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  store i32 %7479, ptr %189, align 4, !tbaa !5
  %7480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7481 = call i32 @s2n_print_stacktrace(ptr noundef %7480)
  %7482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7483 = trunc i8 %7482 to i1
  br i1 %7483, label %7484, label %7506

7484:                                             ; preds = %7477
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = call i32 @fileno(ptr noundef %7485) #10
  %7487 = call i32 @isatty(i32 noundef %7486) #10
  %7488 = icmp ne i32 %7487, 0
  br i1 %7488, label %7489, label %7506

7489:                                             ; preds = %7484
  %7490 = load i32, ptr %189, align 4, !tbaa !5
  %7491 = call ptr @__errno_location() #11
  store i32 %7490, ptr %7491, align 4, !tbaa !5
  %7492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7493 = load i32, ptr @test_count, align 4, !tbaa !5
  %7494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7495 = load i32, ptr %7494, align 4, !tbaa !5
  %7496 = call ptr @s2n_strerror(i32 noundef %7495, ptr noundef @.str.4)
  %7497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7498 = load i32, ptr %7497, align 4, !tbaa !5
  %7499 = call ptr @s2n_strerror_debug(i32 noundef %7498, ptr noundef @.str.4)
  %7500 = call ptr @__errno_location() #11
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @strerror(i32 noundef %7501) #10
  %7503 = call ptr @__errno_location() #11
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7492, ptr noundef @.str.2, i32 noundef %7493, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 424, ptr noundef %7496, ptr noundef %7499, ptr noundef %7502, i32 noundef %7504) #10
  br label %7523

7506:                                             ; preds = %7484, %7477
  %7507 = load i32, ptr %189, align 4, !tbaa !5
  %7508 = call ptr @__errno_location() #11
  store i32 %7507, ptr %7508, align 4, !tbaa !5
  %7509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7510 = load i32, ptr @test_count, align 4, !tbaa !5
  %7511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7512 = load i32, ptr %7511, align 4, !tbaa !5
  %7513 = call ptr @s2n_strerror(i32 noundef %7512, ptr noundef @.str.4)
  %7514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7515 = load i32, ptr %7514, align 4, !tbaa !5
  %7516 = call ptr @s2n_strerror_debug(i32 noundef %7515, ptr noundef @.str.4)
  %7517 = call ptr @__errno_location() #11
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  %7519 = call ptr @strerror(i32 noundef %7518) #10
  %7520 = call ptr @__errno_location() #11
  %7521 = load i32, ptr %7520, align 4, !tbaa !5
  %7522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7509, ptr noundef @.str.5, i32 noundef %7510, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 424, ptr noundef %7513, ptr noundef %7516, ptr noundef %7519, i32 noundef %7521) #10
  br label %7523

7523:                                             ; preds = %7506, %7489
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %7524

7524:                                             ; preds = %7523
  br label %7525

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

7526:                                             ; No predecessors!
  br label %7527

7527:                                             ; preds = %7526
  br label %7528

7528:                                             ; preds = %7527, %7470
  br label %7529

7529:                                             ; preds = %7528
  br label %7530

7530:                                             ; preds = %7529
  call void @llvm.lifetime.start.p0(i64 24, ptr %190) #10
  call void @llvm.memset.p0.i64(ptr align 8 %190, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %191) #10
  call void @llvm.memset.p0.i64(ptr align 8 %191, i8 0, i64 40, i1 false)
  br label %7531

7531:                                             ; preds = %7530
  %7532 = load i32, ptr @test_count, align 4, !tbaa !5
  %7533 = add nsw i32 %7532, 1
  store i32 %7533, ptr @test_count, align 4, !tbaa !5
  %7534 = load ptr, ptr %173, align 8, !tbaa !9
  %7535 = getelementptr inbounds %struct.s2n_connection, ptr %7534, i32 0, i32 27
  %7536 = load ptr, ptr %7535, align 8, !tbaa !61
  %7537 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7536, i32 0, i32 7
  %7538 = getelementptr inbounds [8 x i8], ptr %7537, i64 0, i64 0
  %7539 = call i32 @s2n_blob_init(ptr noundef %190, ptr noundef %7538, i32 noundef 8)
  %7540 = icmp eq i32 %7539, -1
  br i1 %7540, label %7541, label %7594

7541:                                             ; preds = %7531
  br label %7542

7542:                                             ; preds = %7541
  br label %7543

7543:                                             ; preds = %7542
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %7544 = call ptr @__errno_location() #11
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  store i32 %7545, ptr %192, align 4, !tbaa !5
  %7546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7547 = call i32 @s2n_print_stacktrace(ptr noundef %7546)
  %7548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7549 = trunc i8 %7548 to i1
  br i1 %7549, label %7550, label %7572

7550:                                             ; preds = %7543
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = call i32 @fileno(ptr noundef %7551) #10
  %7553 = call i32 @isatty(i32 noundef %7552) #10
  %7554 = icmp ne i32 %7553, 0
  br i1 %7554, label %7555, label %7572

7555:                                             ; preds = %7550
  %7556 = load i32, ptr %192, align 4, !tbaa !5
  %7557 = call ptr @__errno_location() #11
  store i32 %7556, ptr %7557, align 4, !tbaa !5
  %7558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7559 = load i32, ptr @test_count, align 4, !tbaa !5
  %7560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7561 = load i32, ptr %7560, align 4, !tbaa !5
  %7562 = call ptr @s2n_strerror(i32 noundef %7561, ptr noundef @.str.4)
  %7563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  %7565 = call ptr @s2n_strerror_debug(i32 noundef %7564, ptr noundef @.str.4)
  %7566 = call ptr @__errno_location() #11
  %7567 = load i32, ptr %7566, align 4, !tbaa !5
  %7568 = call ptr @strerror(i32 noundef %7567) #10
  %7569 = call ptr @__errno_location() #11
  %7570 = load i32, ptr %7569, align 4, !tbaa !5
  %7571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7558, ptr noundef @.str.2, i32 noundef %7559, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 429, ptr noundef %7562, ptr noundef %7565, ptr noundef %7568, i32 noundef %7570) #10
  br label %7589

7572:                                             ; preds = %7550, %7543
  %7573 = load i32, ptr %192, align 4, !tbaa !5
  %7574 = call ptr @__errno_location() #11
  store i32 %7573, ptr %7574, align 4, !tbaa !5
  %7575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7576 = load i32, ptr @test_count, align 4, !tbaa !5
  %7577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call ptr @s2n_strerror(i32 noundef %7578, ptr noundef @.str.4)
  %7580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7581 = load i32, ptr %7580, align 4, !tbaa !5
  %7582 = call ptr @s2n_strerror_debug(i32 noundef %7581, ptr noundef @.str.4)
  %7583 = call ptr @__errno_location() #11
  %7584 = load i32, ptr %7583, align 4, !tbaa !5
  %7585 = call ptr @strerror(i32 noundef %7584) #10
  %7586 = call ptr @__errno_location() #11
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  %7588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7575, ptr noundef @.str.5, i32 noundef %7576, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 429, ptr noundef %7579, ptr noundef %7582, ptr noundef %7585, i32 noundef %7587) #10
  br label %7589

7589:                                             ; preds = %7572, %7555
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %7590

7590:                                             ; preds = %7589
  br label %7591

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

7592:                                             ; No predecessors!
  br label %7593

7593:                                             ; preds = %7592
  br label %7594

7594:                                             ; preds = %7593, %7531
  br label %7595

7595:                                             ; preds = %7594
  br label %7596

7596:                                             ; preds = %7595
  br label %7597

7597:                                             ; preds = %7596
  %7598 = load i32, ptr @test_count, align 4, !tbaa !5
  %7599 = add nsw i32 %7598, 1
  store i32 %7599, ptr @test_count, align 4, !tbaa !5
  %7600 = call i32 @s2n_stuffer_init(ptr noundef %191, ptr noundef %190)
  %7601 = icmp eq i32 %7600, -1
  br i1 %7601, label %7602, label %7655

7602:                                             ; preds = %7597
  br label %7603

7603:                                             ; preds = %7602
  br label %7604

7604:                                             ; preds = %7603
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #10
  %7605 = call ptr @__errno_location() #11
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  store i32 %7606, ptr %193, align 4, !tbaa !5
  %7607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7608 = call i32 @s2n_print_stacktrace(ptr noundef %7607)
  %7609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7610 = trunc i8 %7609 to i1
  br i1 %7610, label %7611, label %7633

7611:                                             ; preds = %7604
  %7612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7613 = call i32 @fileno(ptr noundef %7612) #10
  %7614 = call i32 @isatty(i32 noundef %7613) #10
  %7615 = icmp ne i32 %7614, 0
  br i1 %7615, label %7616, label %7633

7616:                                             ; preds = %7611
  %7617 = load i32, ptr %193, align 4, !tbaa !5
  %7618 = call ptr @__errno_location() #11
  store i32 %7617, ptr %7618, align 4, !tbaa !5
  %7619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7620 = load i32, ptr @test_count, align 4, !tbaa !5
  %7621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call ptr @s2n_strerror(i32 noundef %7622, ptr noundef @.str.4)
  %7624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror_debug(i32 noundef %7625, ptr noundef @.str.4)
  %7627 = call ptr @__errno_location() #11
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call ptr @strerror(i32 noundef %7628) #10
  %7630 = call ptr @__errno_location() #11
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  %7632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7619, ptr noundef @.str.2, i32 noundef %7620, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 430, ptr noundef %7623, ptr noundef %7626, ptr noundef %7629, i32 noundef %7631) #10
  br label %7650

7633:                                             ; preds = %7611, %7604
  %7634 = load i32, ptr %193, align 4, !tbaa !5
  %7635 = call ptr @__errno_location() #11
  store i32 %7634, ptr %7635, align 4, !tbaa !5
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = load i32, ptr @test_count, align 4, !tbaa !5
  %7638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call ptr @s2n_strerror(i32 noundef %7639, ptr noundef @.str.4)
  %7641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7642 = load i32, ptr %7641, align 4, !tbaa !5
  %7643 = call ptr @s2n_strerror_debug(i32 noundef %7642, ptr noundef @.str.4)
  %7644 = call ptr @__errno_location() #11
  %7645 = load i32, ptr %7644, align 4, !tbaa !5
  %7646 = call ptr @strerror(i32 noundef %7645) #10
  %7647 = call ptr @__errno_location() #11
  %7648 = load i32, ptr %7647, align 4, !tbaa !5
  %7649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7636, ptr noundef @.str.5, i32 noundef %7637, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 430, ptr noundef %7640, ptr noundef %7643, ptr noundef %7646, i32 noundef %7648) #10
  br label %7650

7650:                                             ; preds = %7633, %7616
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #10
  br label %7651

7651:                                             ; preds = %7650
  br label %7652

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

7653:                                             ; No predecessors!
  br label %7654

7654:                                             ; preds = %7653
  br label %7655

7655:                                             ; preds = %7654, %7597
  br label %7656

7656:                                             ; preds = %7655
  br label %7657

7657:                                             ; preds = %7656
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #10
  %7658 = load i64, ptr %188, align 8, !tbaa !15
  %7659 = sub i64 %7658, 1
  store i64 %7659, ptr %194, align 8, !tbaa !15
  br label %7660

7660:                                             ; preds = %7657
  %7661 = load i32, ptr @test_count, align 4, !tbaa !5
  %7662 = add nsw i32 %7661, 1
  store i32 %7662, ptr @test_count, align 4, !tbaa !5
  %7663 = load i64, ptr %194, align 8, !tbaa !15
  %7664 = call i32 @s2n_stuffer_write_uint64(ptr noundef %191, i64 noundef %7663)
  %7665 = icmp eq i32 %7664, -1
  br i1 %7665, label %7666, label %7719

7666:                                             ; preds = %7660
  br label %7667

7667:                                             ; preds = %7666
  br label %7668

7668:                                             ; preds = %7667
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %7669 = call ptr @__errno_location() #11
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  store i32 %7670, ptr %195, align 4, !tbaa !5
  %7671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7672 = call i32 @s2n_print_stacktrace(ptr noundef %7671)
  %7673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7674 = trunc i8 %7673 to i1
  br i1 %7674, label %7675, label %7697

7675:                                             ; preds = %7668
  %7676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7677 = call i32 @fileno(ptr noundef %7676) #10
  %7678 = call i32 @isatty(i32 noundef %7677) #10
  %7679 = icmp ne i32 %7678, 0
  br i1 %7679, label %7680, label %7697

7680:                                             ; preds = %7675
  %7681 = load i32, ptr %195, align 4, !tbaa !5
  %7682 = call ptr @__errno_location() #11
  store i32 %7681, ptr %7682, align 4, !tbaa !5
  %7683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7684 = load i32, ptr @test_count, align 4, !tbaa !5
  %7685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7686 = load i32, ptr %7685, align 4, !tbaa !5
  %7687 = call ptr @s2n_strerror(i32 noundef %7686, ptr noundef @.str.4)
  %7688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7689 = load i32, ptr %7688, align 4, !tbaa !5
  %7690 = call ptr @s2n_strerror_debug(i32 noundef %7689, ptr noundef @.str.4)
  %7691 = call ptr @__errno_location() #11
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  %7693 = call ptr @strerror(i32 noundef %7692) #10
  %7694 = call ptr @__errno_location() #11
  %7695 = load i32, ptr %7694, align 4, !tbaa !5
  %7696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7683, ptr noundef @.str.2, i32 noundef %7684, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 434, ptr noundef %7687, ptr noundef %7690, ptr noundef %7693, i32 noundef %7695) #10
  br label %7714

7697:                                             ; preds = %7675, %7668
  %7698 = load i32, ptr %195, align 4, !tbaa !5
  %7699 = call ptr @__errno_location() #11
  store i32 %7698, ptr %7699, align 4, !tbaa !5
  %7700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7701 = load i32, ptr @test_count, align 4, !tbaa !5
  %7702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7703 = load i32, ptr %7702, align 4, !tbaa !5
  %7704 = call ptr @s2n_strerror(i32 noundef %7703, ptr noundef @.str.4)
  %7705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7706 = load i32, ptr %7705, align 4, !tbaa !5
  %7707 = call ptr @s2n_strerror_debug(i32 noundef %7706, ptr noundef @.str.4)
  %7708 = call ptr @__errno_location() #11
  %7709 = load i32, ptr %7708, align 4, !tbaa !5
  %7710 = call ptr @strerror(i32 noundef %7709) #10
  %7711 = call ptr @__errno_location() #11
  %7712 = load i32, ptr %7711, align 4, !tbaa !5
  %7713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7700, ptr noundef @.str.5, i32 noundef %7701, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 434, ptr noundef %7704, ptr noundef %7707, ptr noundef %7710, i32 noundef %7712) #10
  br label %7714

7714:                                             ; preds = %7697, %7680
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %7715

7715:                                             ; preds = %7714
  br label %7716

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

7717:                                             ; No predecessors!
  br label %7718

7718:                                             ; preds = %7717
  br label %7719

7719:                                             ; preds = %7718, %7660
  br label %7720

7720:                                             ; preds = %7719
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = add nsw i32 %7723, 1
  store i32 %7724, ptr @test_count, align 4, !tbaa !5
  %7725 = load ptr, ptr %173, align 8, !tbaa !9
  %7726 = call i32 @s2n_check_record_limit(ptr noundef %7725, ptr noundef %190)
  %7727 = icmp eq i32 %7726, -1
  br i1 %7727, label %7728, label %7781

7728:                                             ; preds = %7722
  br label %7729

7729:                                             ; preds = %7728
  br label %7730

7730:                                             ; preds = %7729
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %7731 = call ptr @__errno_location() #11
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  store i32 %7732, ptr %196, align 4, !tbaa !5
  %7733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7734 = call i32 @s2n_print_stacktrace(ptr noundef %7733)
  %7735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7736 = trunc i8 %7735 to i1
  br i1 %7736, label %7737, label %7759

7737:                                             ; preds = %7730
  %7738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7739 = call i32 @fileno(ptr noundef %7738) #10
  %7740 = call i32 @isatty(i32 noundef %7739) #10
  %7741 = icmp ne i32 %7740, 0
  br i1 %7741, label %7742, label %7759

7742:                                             ; preds = %7737
  %7743 = load i32, ptr %196, align 4, !tbaa !5
  %7744 = call ptr @__errno_location() #11
  store i32 %7743, ptr %7744, align 4, !tbaa !5
  %7745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7746 = load i32, ptr @test_count, align 4, !tbaa !5
  %7747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7748 = load i32, ptr %7747, align 4, !tbaa !5
  %7749 = call ptr @s2n_strerror(i32 noundef %7748, ptr noundef @.str.4)
  %7750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7751 = load i32, ptr %7750, align 4, !tbaa !5
  %7752 = call ptr @s2n_strerror_debug(i32 noundef %7751, ptr noundef @.str.4)
  %7753 = call ptr @__errno_location() #11
  %7754 = load i32, ptr %7753, align 4, !tbaa !5
  %7755 = call ptr @strerror(i32 noundef %7754) #10
  %7756 = call ptr @__errno_location() #11
  %7757 = load i32, ptr %7756, align 4, !tbaa !5
  %7758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7745, ptr noundef @.str.2, i32 noundef %7746, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 435, ptr noundef %7749, ptr noundef %7752, ptr noundef %7755, i32 noundef %7757) #10
  br label %7776

7759:                                             ; preds = %7737, %7730
  %7760 = load i32, ptr %196, align 4, !tbaa !5
  %7761 = call ptr @__errno_location() #11
  store i32 %7760, ptr %7761, align 4, !tbaa !5
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7765 = load i32, ptr %7764, align 4, !tbaa !5
  %7766 = call ptr @s2n_strerror(i32 noundef %7765, ptr noundef @.str.4)
  %7767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7768 = load i32, ptr %7767, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror_debug(i32 noundef %7768, ptr noundef @.str.4)
  %7770 = call ptr @__errno_location() #11
  %7771 = load i32, ptr %7770, align 4, !tbaa !5
  %7772 = call ptr @strerror(i32 noundef %7771) #10
  %7773 = call ptr @__errno_location() #11
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  %7775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7762, ptr noundef @.str.5, i32 noundef %7763, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 435, ptr noundef %7766, ptr noundef %7769, ptr noundef %7772, i32 noundef %7774) #10
  br label %7776

7776:                                             ; preds = %7759, %7742
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %7777

7777:                                             ; preds = %7776
  br label %7778

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

7779:                                             ; No predecessors!
  br label %7780

7780:                                             ; preds = %7779
  br label %7781

7781:                                             ; preds = %7780, %7722
  br label %7782

7782:                                             ; preds = %7781
  br label %7783

7783:                                             ; preds = %7782
  br label %7784

7784:                                             ; preds = %7783
  %7785 = load i32, ptr @test_count, align 4, !tbaa !5
  %7786 = add nsw i32 %7785, 1
  store i32 %7786, ptr @test_count, align 4, !tbaa !5
  %7787 = load ptr, ptr %173, align 8, !tbaa !9
  %7788 = getelementptr inbounds %struct.s2n_connection, ptr %7787, i32 0, i32 94
  %7789 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %7788)
  br i1 %7789, label %7790, label %7843

7790:                                             ; preds = %7784
  br label %7791

7791:                                             ; preds = %7790
  br label %7792

7792:                                             ; preds = %7791
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %7793 = call ptr @__errno_location() #11
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  store i32 %7794, ptr %197, align 4, !tbaa !5
  %7795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7796 = call i32 @s2n_print_stacktrace(ptr noundef %7795)
  %7797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7798 = trunc i8 %7797 to i1
  br i1 %7798, label %7799, label %7821

7799:                                             ; preds = %7792
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = call i32 @fileno(ptr noundef %7800) #10
  %7802 = call i32 @isatty(i32 noundef %7801) #10
  %7803 = icmp ne i32 %7802, 0
  br i1 %7803, label %7804, label %7821

7804:                                             ; preds = %7799
  %7805 = load i32, ptr %197, align 4, !tbaa !5
  %7806 = call ptr @__errno_location() #11
  store i32 %7805, ptr %7806, align 4, !tbaa !5
  %7807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7808 = load i32, ptr @test_count, align 4, !tbaa !5
  %7809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call ptr @s2n_strerror(i32 noundef %7810, ptr noundef @.str.4)
  %7812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call ptr @s2n_strerror_debug(i32 noundef %7813, ptr noundef @.str.4)
  %7815 = call ptr @__errno_location() #11
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call ptr @strerror(i32 noundef %7816) #10
  %7818 = call ptr @__errno_location() #11
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7807, ptr noundef @.str.2, i32 noundef %7808, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 436, ptr noundef %7811, ptr noundef %7814, ptr noundef %7817, i32 noundef %7819) #10
  br label %7838

7821:                                             ; preds = %7799, %7792
  %7822 = load i32, ptr %197, align 4, !tbaa !5
  %7823 = call ptr @__errno_location() #11
  store i32 %7822, ptr %7823, align 4, !tbaa !5
  %7824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7825 = load i32, ptr @test_count, align 4, !tbaa !5
  %7826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call ptr @s2n_strerror(i32 noundef %7827, ptr noundef @.str.4)
  %7829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7830 = load i32, ptr %7829, align 4, !tbaa !5
  %7831 = call ptr @s2n_strerror_debug(i32 noundef %7830, ptr noundef @.str.4)
  %7832 = call ptr @__errno_location() #11
  %7833 = load i32, ptr %7832, align 4, !tbaa !5
  %7834 = call ptr @strerror(i32 noundef %7833) #10
  %7835 = call ptr @__errno_location() #11
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7824, ptr noundef @.str.5, i32 noundef %7825, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 436, ptr noundef %7828, ptr noundef %7831, ptr noundef %7834, i32 noundef %7836) #10
  br label %7838

7838:                                             ; preds = %7821, %7804
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %7839

7839:                                             ; preds = %7838
  br label %7840

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

7841:                                             ; No predecessors!
  br label %7842

7842:                                             ; preds = %7841
  br label %7843

7843:                                             ; preds = %7842, %7784
  br label %7844

7844:                                             ; preds = %7843
  br label %7845

7845:                                             ; preds = %7844
  br label %7846

7846:                                             ; preds = %7845
  %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 = load ptr, ptr %173, align 8, !tbaa !9
  %7850 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %7851 = call i64 @s2n_send(ptr noundef %7849, ptr noundef %7850, i64 noundef 16394, ptr noundef %172)
  %7852 = icmp eq i64 %7851, 16394
  br i1 %7852, label %7906, label %7853

7853:                                             ; preds = %7846
  br label %7854

7854:                                             ; preds = %7853
  br label %7855

7855:                                             ; preds = %7854
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #10
  %7856 = call ptr @__errno_location() #11
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  store i32 %7857, ptr %198, align 4, !tbaa !5
  %7858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7859 = call i32 @s2n_print_stacktrace(ptr noundef %7858)
  %7860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7861 = trunc i8 %7860 to i1
  br i1 %7861, label %7862, label %7884

7862:                                             ; preds = %7855
  %7863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7864 = call i32 @fileno(ptr noundef %7863) #10
  %7865 = call i32 @isatty(i32 noundef %7864) #10
  %7866 = icmp ne i32 %7865, 0
  br i1 %7866, label %7867, label %7884

7867:                                             ; preds = %7862
  %7868 = load i32, ptr %198, align 4, !tbaa !5
  %7869 = call ptr @__errno_location() #11
  store i32 %7868, ptr %7869, align 4, !tbaa !5
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = load i32, ptr @test_count, align 4, !tbaa !5
  %7872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7873 = load i32, ptr %7872, align 4, !tbaa !5
  %7874 = call ptr @s2n_strerror(i32 noundef %7873, ptr noundef @.str.4)
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror_debug(i32 noundef %7876, ptr noundef @.str.4)
  %7878 = call ptr @__errno_location() #11
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @strerror(i32 noundef %7879) #10
  %7881 = call ptr @__errno_location() #11
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7870, ptr noundef @.str.2, i32 noundef %7871, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 439, ptr noundef %7874, ptr noundef %7877, ptr noundef %7880, i32 noundef %7882) #10
  br label %7901

7884:                                             ; preds = %7862, %7855
  %7885 = load i32, ptr %198, align 4, !tbaa !5
  %7886 = call ptr @__errno_location() #11
  store i32 %7885, ptr %7886, align 4, !tbaa !5
  %7887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7888 = load i32, ptr @test_count, align 4, !tbaa !5
  %7889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7890 = load i32, ptr %7889, align 4, !tbaa !5
  %7891 = call ptr @s2n_strerror(i32 noundef %7890, ptr noundef @.str.4)
  %7892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7893 = load i32, ptr %7892, align 4, !tbaa !5
  %7894 = call ptr @s2n_strerror_debug(i32 noundef %7893, ptr noundef @.str.4)
  %7895 = call ptr @__errno_location() #11
  %7896 = load i32, ptr %7895, align 4, !tbaa !5
  %7897 = call ptr @strerror(i32 noundef %7896) #10
  %7898 = call ptr @__errno_location() #11
  %7899 = load i32, ptr %7898, align 4, !tbaa !5
  %7900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7887, ptr noundef @.str.5, i32 noundef %7888, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 439, ptr noundef %7891, ptr noundef %7894, ptr noundef %7897, i32 noundef %7899) #10
  br label %7901

7901:                                             ; preds = %7884, %7867
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #10
  br label %7902

7902:                                             ; preds = %7901
  br label %7903

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

7904:                                             ; No predecessors!
  br label %7905

7905:                                             ; preds = %7904
  br label %7906

7906:                                             ; preds = %7905, %7846
  br label %7907

7907:                                             ; preds = %7906
  br label %7908

7908:                                             ; preds = %7907
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #10
  store i64 0, ptr %199, align 8, !tbaa !15
  br label %7909

7909:                                             ; preds = %7908
  %7910 = load i32, ptr @test_count, align 4, !tbaa !5
  %7911 = add nsw i32 %7910, 1
  store i32 %7911, ptr @test_count, align 4, !tbaa !5
  %7912 = call i32 @s2n_stuffer_read_uint64(ptr noundef %191, ptr noundef %199)
  %7913 = icmp eq i32 %7912, -1
  br i1 %7913, label %7914, label %7967

7914:                                             ; preds = %7909
  br label %7915

7915:                                             ; preds = %7914
  br label %7916

7916:                                             ; preds = %7915
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %7917 = call ptr @__errno_location() #11
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  store i32 %7918, ptr %200, align 4, !tbaa !5
  %7919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7920 = call i32 @s2n_print_stacktrace(ptr noundef %7919)
  %7921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7922 = trunc i8 %7921 to i1
  br i1 %7922, label %7923, label %7945

7923:                                             ; preds = %7916
  %7924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7925 = call i32 @fileno(ptr noundef %7924) #10
  %7926 = call i32 @isatty(i32 noundef %7925) #10
  %7927 = icmp ne i32 %7926, 0
  br i1 %7927, label %7928, label %7945

7928:                                             ; preds = %7923
  %7929 = load i32, ptr %200, align 4, !tbaa !5
  %7930 = call ptr @__errno_location() #11
  store i32 %7929, ptr %7930, align 4, !tbaa !5
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = load i32, ptr @test_count, align 4, !tbaa !5
  %7933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror(i32 noundef %7934, ptr noundef @.str.4)
  %7936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @s2n_strerror_debug(i32 noundef %7937, ptr noundef @.str.4)
  %7939 = call ptr @__errno_location() #11
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @strerror(i32 noundef %7940) #10
  %7942 = call ptr @__errno_location() #11
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7931, ptr noundef @.str.2, i32 noundef %7932, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 443, ptr noundef %7935, ptr noundef %7938, ptr noundef %7941, i32 noundef %7943) #10
  br label %7962

7945:                                             ; preds = %7923, %7916
  %7946 = load i32, ptr %200, align 4, !tbaa !5
  %7947 = call ptr @__errno_location() #11
  store i32 %7946, ptr %7947, align 4, !tbaa !5
  %7948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7949 = load i32, ptr @test_count, align 4, !tbaa !5
  %7950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7951 = load i32, ptr %7950, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror(i32 noundef %7951, ptr noundef @.str.4)
  %7953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  %7955 = call ptr @s2n_strerror_debug(i32 noundef %7954, ptr noundef @.str.4)
  %7956 = call ptr @__errno_location() #11
  %7957 = load i32, ptr %7956, align 4, !tbaa !5
  %7958 = call ptr @strerror(i32 noundef %7957) #10
  %7959 = call ptr @__errno_location() #11
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7948, ptr noundef @.str.5, i32 noundef %7949, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 443, ptr noundef %7952, ptr noundef %7955, ptr noundef %7958, i32 noundef %7960) #10
  br label %7962

7962:                                             ; preds = %7945, %7928
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

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

7965:                                             ; No predecessors!
  br label %7966

7966:                                             ; preds = %7965
  br label %7967

7967:                                             ; preds = %7966, %7909
  br label %7968

7968:                                             ; preds = %7967
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969
  %7971 = load i32, ptr @test_count, align 4, !tbaa !5
  %7972 = add nsw i32 %7971, 1
  store i32 %7972, ptr @test_count, align 4, !tbaa !5
  %7973 = load i64, ptr %199, align 8, !tbaa !15
  %7974 = load i64, ptr %194, align 8, !tbaa !15
  %7975 = icmp ult i64 %7973, %7974
  br i1 %7975, label %8029, label %7976

7976:                                             ; preds = %7970
  br label %7977

7977:                                             ; preds = %7976
  br label %7978

7978:                                             ; preds = %7977
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %7979 = call ptr @__errno_location() #11
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  store i32 %7980, ptr %201, align 4, !tbaa !5
  %7981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7982 = call i32 @s2n_print_stacktrace(ptr noundef %7981)
  %7983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7984 = trunc i8 %7983 to i1
  br i1 %7984, label %7985, label %8007

7985:                                             ; preds = %7978
  %7986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7987 = call i32 @fileno(ptr noundef %7986) #10
  %7988 = call i32 @isatty(i32 noundef %7987) #10
  %7989 = icmp ne i32 %7988, 0
  br i1 %7989, label %7990, label %8007

7990:                                             ; preds = %7985
  %7991 = load i32, ptr %201, align 4, !tbaa !5
  %7992 = call ptr @__errno_location() #11
  store i32 %7991, ptr %7992, align 4, !tbaa !5
  %7993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7994 = load i32, ptr @test_count, align 4, !tbaa !5
  %7995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call ptr @s2n_strerror(i32 noundef %7996, ptr noundef @.str.4)
  %7998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call ptr @s2n_strerror_debug(i32 noundef %7999, ptr noundef @.str.4)
  %8001 = call ptr @__errno_location() #11
  %8002 = load i32, ptr %8001, align 4, !tbaa !5
  %8003 = call ptr @strerror(i32 noundef %8002) #10
  %8004 = call ptr @__errno_location() #11
  %8005 = load i32, ptr %8004, align 4, !tbaa !5
  %8006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7993, ptr noundef @.str.2, i32 noundef %7994, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 444, ptr noundef %7997, ptr noundef %8000, ptr noundef %8003, i32 noundef %8005) #10
  br label %8024

8007:                                             ; preds = %7985, %7978
  %8008 = load i32, ptr %201, align 4, !tbaa !5
  %8009 = call ptr @__errno_location() #11
  store i32 %8008, ptr %8009, align 4, !tbaa !5
  %8010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8011 = load i32, ptr @test_count, align 4, !tbaa !5
  %8012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8013 = load i32, ptr %8012, align 4, !tbaa !5
  %8014 = call ptr @s2n_strerror(i32 noundef %8013, ptr noundef @.str.4)
  %8015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8016 = load i32, ptr %8015, align 4, !tbaa !5
  %8017 = call ptr @s2n_strerror_debug(i32 noundef %8016, ptr noundef @.str.4)
  %8018 = call ptr @__errno_location() #11
  %8019 = load i32, ptr %8018, align 4, !tbaa !5
  %8020 = call ptr @strerror(i32 noundef %8019) #10
  %8021 = call ptr @__errno_location() #11
  %8022 = load i32, ptr %8021, align 4, !tbaa !5
  %8023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8010, ptr noundef @.str.5, i32 noundef %8011, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 444, ptr noundef %8014, ptr noundef %8017, ptr noundef %8020, i32 noundef %8022) #10
  br label %8024

8024:                                             ; preds = %8007, %7990
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %8025

8025:                                             ; preds = %8024
  br label %8026

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

8027:                                             ; No predecessors!
  br label %8028

8028:                                             ; preds = %8027
  br label %8029

8029:                                             ; preds = %8028, %7970
  br label %8030

8030:                                             ; preds = %8029
  br label %8031

8031:                                             ; preds = %8030
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #10
  store i64 3, ptr %202, align 8, !tbaa !15
  br label %8032

8032:                                             ; preds = %8031
  %8033 = load i32, ptr @test_count, align 4, !tbaa !5
  %8034 = add nsw i32 %8033, 1
  store i32 %8034, ptr @test_count, align 4, !tbaa !5
  %8035 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 0
  %8036 = load i64, ptr %8035, align 8, !tbaa !24
  %8037 = load i64, ptr %202, align 8, !tbaa !15
  %8038 = icmp eq i64 %8036, %8037
  br i1 %8038, label %8092, label %8039

8039:                                             ; preds = %8032
  br label %8040

8040:                                             ; preds = %8039
  br label %8041

8041:                                             ; preds = %8040
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %8042 = call ptr @__errno_location() #11
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  store i32 %8043, ptr %203, align 4, !tbaa !5
  %8044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8045 = call i32 @s2n_print_stacktrace(ptr noundef %8044)
  %8046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8047 = trunc i8 %8046 to i1
  br i1 %8047, label %8048, label %8070

8048:                                             ; preds = %8041
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = call i32 @fileno(ptr noundef %8049) #10
  %8051 = call i32 @isatty(i32 noundef %8050) #10
  %8052 = icmp ne i32 %8051, 0
  br i1 %8052, label %8053, label %8070

8053:                                             ; preds = %8048
  %8054 = load i32, ptr %203, align 4, !tbaa !5
  %8055 = call ptr @__errno_location() #11
  store i32 %8054, ptr %8055, align 4, !tbaa !5
  %8056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8057 = load i32, ptr @test_count, align 4, !tbaa !5
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror(i32 noundef %8059, ptr noundef @.str.4)
  %8061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @s2n_strerror_debug(i32 noundef %8062, ptr noundef @.str.4)
  %8064 = call ptr @__errno_location() #11
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call ptr @strerror(i32 noundef %8065) #10
  %8067 = call ptr @__errno_location() #11
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8056, ptr noundef @.str.2, i32 noundef %8057, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 448, ptr noundef %8060, ptr noundef %8063, ptr noundef %8066, i32 noundef %8068) #10
  br label %8087

8070:                                             ; preds = %8048, %8041
  %8071 = load i32, ptr %203, align 4, !tbaa !5
  %8072 = call ptr @__errno_location() #11
  store i32 %8071, ptr %8072, align 4, !tbaa !5
  %8073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8074 = load i32, ptr @test_count, align 4, !tbaa !5
  %8075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror(i32 noundef %8076, ptr noundef @.str.4)
  %8078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8079 = load i32, ptr %8078, align 4, !tbaa !5
  %8080 = call ptr @s2n_strerror_debug(i32 noundef %8079, ptr noundef @.str.4)
  %8081 = call ptr @__errno_location() #11
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call ptr @strerror(i32 noundef %8082) #10
  %8084 = call ptr @__errno_location() #11
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8073, ptr noundef @.str.5, i32 noundef %8074, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 448, ptr noundef %8077, ptr noundef %8080, ptr noundef %8083, i32 noundef %8085) #10
  br label %8087

8087:                                             ; preds = %8070, %8053
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %8088

8088:                                             ; preds = %8087
  br label %8089

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

8090:                                             ; No predecessors!
  br label %8091

8091:                                             ; preds = %8090
  br label %8092

8092:                                             ; preds = %8091, %8032
  br label %8093

8093:                                             ; preds = %8092
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  %8096 = load i32, ptr @test_count, align 4, !tbaa !5
  %8097 = add nsw i32 %8096, 1
  store i32 %8097, ptr @test_count, align 4, !tbaa !5
  %8098 = getelementptr inbounds %struct.s2n_send_context, ptr %186, i32 0, i32 1
  %8099 = load i64, ptr %8098, align 8, !tbaa !26
  %8100 = load i16, ptr %88, align 2, !tbaa !60
  %8101 = zext i16 %8100 to i64
  %8102 = load i64, ptr %179, align 8, !tbaa !15
  %8103 = add i64 %8101, %8102
  %8104 = icmp eq i64 %8099, %8103
  br i1 %8104, label %8158, label %8105

8105:                                             ; preds = %8095
  br label %8106

8106:                                             ; preds = %8105
  br label %8107

8107:                                             ; preds = %8106
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %8108 = call ptr @__errno_location() #11
  %8109 = load i32, ptr %8108, align 4, !tbaa !5
  store i32 %8109, ptr %204, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = call i32 @s2n_print_stacktrace(ptr noundef %8110)
  %8112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8113 = trunc i8 %8112 to i1
  br i1 %8113, label %8114, label %8136

8114:                                             ; preds = %8107
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = call i32 @fileno(ptr noundef %8115) #10
  %8117 = call i32 @isatty(i32 noundef %8116) #10
  %8118 = icmp ne i32 %8117, 0
  br i1 %8118, label %8119, label %8136

8119:                                             ; preds = %8114
  %8120 = load i32, ptr %204, align 4, !tbaa !5
  %8121 = call ptr @__errno_location() #11
  store i32 %8120, ptr %8121, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = load i32, ptr @test_count, align 4, !tbaa !5
  %8124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8125 = load i32, ptr %8124, align 4, !tbaa !5
  %8126 = call ptr @s2n_strerror(i32 noundef %8125, ptr noundef @.str.4)
  %8127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8128 = load i32, ptr %8127, align 4, !tbaa !5
  %8129 = call ptr @s2n_strerror_debug(i32 noundef %8128, ptr noundef @.str.4)
  %8130 = call ptr @__errno_location() #11
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #10
  %8133 = call ptr @__errno_location() #11
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8122, ptr noundef @.str.2, i32 noundef %8123, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8126, ptr noundef %8129, ptr noundef %8132, i32 noundef %8134) #10
  br label %8153

8136:                                             ; preds = %8114, %8107
  %8137 = load i32, ptr %204, align 4, !tbaa !5
  %8138 = call ptr @__errno_location() #11
  store i32 %8137, ptr %8138, align 4, !tbaa !5
  %8139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8140 = load i32, ptr @test_count, align 4, !tbaa !5
  %8141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8142 = load i32, ptr %8141, align 4, !tbaa !5
  %8143 = call ptr @s2n_strerror(i32 noundef %8142, ptr noundef @.str.4)
  %8144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8145 = load i32, ptr %8144, align 4, !tbaa !5
  %8146 = call ptr @s2n_strerror_debug(i32 noundef %8145, ptr noundef @.str.4)
  %8147 = call ptr @__errno_location() #11
  %8148 = load i32, ptr %8147, align 4, !tbaa !5
  %8149 = call ptr @strerror(i32 noundef %8148) #10
  %8150 = call ptr @__errno_location() #11
  %8151 = load i32, ptr %8150, align 4, !tbaa !5
  %8152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8139, ptr noundef @.str.5, i32 noundef %8140, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 449, ptr noundef %8143, ptr noundef %8146, ptr noundef %8149, i32 noundef %8151) #10
  br label %8153

8153:                                             ; preds = %8136, %8119
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %8154

8154:                                             ; preds = %8153
  br label %8155

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

8156:                                             ; No predecessors!
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157, %8095
  br label %8159

8159:                                             ; preds = %8158
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

8161:                                             ; preds = %8160
  %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 = load ptr, ptr %173, align 8, !tbaa !9
  %8165 = getelementptr inbounds %struct.s2n_connection, ptr %8164, i32 0, i32 41
  %8166 = getelementptr inbounds %struct.s2n_stuffer, ptr %8165, i32 0, i32 0
  %8167 = getelementptr inbounds %struct.s2n_blob, ptr %8166, i32 0, i32 1
  %8168 = load i32, ptr %8167, align 8, !tbaa !58
  %8169 = zext i32 %8168 to i64
  %8170 = icmp eq i64 %8169, 20000
  br i1 %8170, label %8224, label %8171

8171:                                             ; preds = %8161
  br label %8172

8172:                                             ; preds = %8171
  br label %8173

8173:                                             ; preds = %8172
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %8174 = call ptr @__errno_location() #11
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  store i32 %8175, ptr %205, align 4, !tbaa !5
  %8176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8177 = call i32 @s2n_print_stacktrace(ptr noundef %8176)
  %8178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8179 = trunc i8 %8178 to i1
  br i1 %8179, label %8180, label %8202

8180:                                             ; preds = %8173
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = call i32 @fileno(ptr noundef %8181) #10
  %8183 = call i32 @isatty(i32 noundef %8182) #10
  %8184 = icmp ne i32 %8183, 0
  br i1 %8184, label %8185, label %8202

8185:                                             ; preds = %8180
  %8186 = load i32, ptr %205, align 4, !tbaa !5
  %8187 = call ptr @__errno_location() #11
  store i32 %8186, ptr %8187, align 4, !tbaa !5
  %8188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8189 = load i32, ptr @test_count, align 4, !tbaa !5
  %8190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8191 = load i32, ptr %8190, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror(i32 noundef %8191, ptr noundef @.str.4)
  %8193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8194 = load i32, ptr %8193, align 4, !tbaa !5
  %8195 = call ptr @s2n_strerror_debug(i32 noundef %8194, ptr noundef @.str.4)
  %8196 = call ptr @__errno_location() #11
  %8197 = load i32, ptr %8196, align 4, !tbaa !5
  %8198 = call ptr @strerror(i32 noundef %8197) #10
  %8199 = call ptr @__errno_location() #11
  %8200 = load i32, ptr %8199, align 4, !tbaa !5
  %8201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8188, ptr noundef @.str.2, i32 noundef %8189, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 452, ptr noundef %8192, ptr noundef %8195, ptr noundef %8198, i32 noundef %8200) #10
  br label %8219

8202:                                             ; preds = %8180, %8173
  %8203 = load i32, ptr %205, align 4, !tbaa !5
  %8204 = call ptr @__errno_location() #11
  store i32 %8203, ptr %8204, align 4, !tbaa !5
  %8205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8206 = load i32, ptr @test_count, align 4, !tbaa !5
  %8207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8208 = load i32, ptr %8207, align 4, !tbaa !5
  %8209 = call ptr @s2n_strerror(i32 noundef %8208, ptr noundef @.str.4)
  %8210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  %8212 = call ptr @s2n_strerror_debug(i32 noundef %8211, ptr noundef @.str.4)
  %8213 = call ptr @__errno_location() #11
  %8214 = load i32, ptr %8213, align 4, !tbaa !5
  %8215 = call ptr @strerror(i32 noundef %8214) #10
  %8216 = call ptr @__errno_location() #11
  %8217 = load i32, ptr %8216, align 4, !tbaa !5
  %8218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8205, ptr noundef @.str.5, i32 noundef %8206, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 452, ptr noundef %8209, ptr noundef %8212, ptr noundef %8215, i32 noundef %8217) #10
  br label %8219

8219:                                             ; preds = %8202, %8185
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

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

8222:                                             ; No predecessors!
  br label %8223

8223:                                             ; preds = %8222
  br label %8224

8224:                                             ; preds = %8223, %8161
  br label %8225

8225:                                             ; preds = %8224
  br label %8226

8226:                                             ; preds = %8225
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %191) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %190) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #10
  call void @llvm.lifetime.end.p0(i64 36, ptr %185) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #10
  %8227 = call i32 @s2n_connection_ptr_free(ptr noundef %173)
  %8228 = getelementptr inbounds %struct.s2n_result, ptr %206, i32 0, i32 0
  store i32 %8227, ptr %8228, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #10
  %8229 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8229, ptr %207, align 8, !tbaa !9
  br label %8230

8230:                                             ; preds = %8226
  %8231 = load i32, ptr @test_count, align 4, !tbaa !5
  %8232 = add nsw i32 %8231, 1
  store i32 %8232, ptr @test_count, align 4, !tbaa !5
  %8233 = load ptr, ptr %207, align 8, !tbaa !9
  %8234 = icmp eq ptr %8233, null
  br i1 %8234, label %8235, label %8288

8235:                                             ; preds = %8230
  br label %8236

8236:                                             ; preds = %8235
  br label %8237

8237:                                             ; preds = %8236
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %8238 = call ptr @__errno_location() #11
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  store i32 %8239, ptr %208, align 4, !tbaa !5
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = call i32 @s2n_print_stacktrace(ptr noundef %8240)
  %8242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8243 = trunc i8 %8242 to i1
  br i1 %8243, label %8244, label %8266

8244:                                             ; preds = %8237
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = call i32 @fileno(ptr noundef %8245) #10
  %8247 = call i32 @isatty(i32 noundef %8246) #10
  %8248 = icmp ne i32 %8247, 0
  br i1 %8248, label %8249, label %8266

8249:                                             ; preds = %8244
  %8250 = load i32, ptr %208, align 4, !tbaa !5
  %8251 = call ptr @__errno_location() #11
  store i32 %8250, ptr %8251, align 4, !tbaa !5
  %8252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8253 = load i32, ptr @test_count, align 4, !tbaa !5
  %8254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call ptr @s2n_strerror(i32 noundef %8255, ptr noundef @.str.4)
  %8257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8258 = load i32, ptr %8257, align 4, !tbaa !5
  %8259 = call ptr @s2n_strerror_debug(i32 noundef %8258, ptr noundef @.str.4)
  %8260 = call ptr @__errno_location() #11
  %8261 = load i32, ptr %8260, align 4, !tbaa !5
  %8262 = call ptr @strerror(i32 noundef %8261) #10
  %8263 = call ptr @__errno_location() #11
  %8264 = load i32, ptr %8263, align 4, !tbaa !5
  %8265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8252, ptr noundef @.str.2, i32 noundef %8253, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 466, ptr noundef %8256, ptr noundef %8259, ptr noundef %8262, i32 noundef %8264) #10
  br label %8283

8266:                                             ; preds = %8244, %8237
  %8267 = load i32, ptr %208, align 4, !tbaa !5
  %8268 = call ptr @__errno_location() #11
  store i32 %8267, ptr %8268, align 4, !tbaa !5
  %8269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8270 = load i32, ptr @test_count, align 4, !tbaa !5
  %8271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call ptr @s2n_strerror(i32 noundef %8272, ptr noundef @.str.4)
  %8274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8275 = load i32, ptr %8274, align 4, !tbaa !5
  %8276 = call ptr @s2n_strerror_debug(i32 noundef %8275, ptr noundef @.str.4)
  %8277 = call ptr @__errno_location() #11
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  %8279 = call ptr @strerror(i32 noundef %8278) #10
  %8280 = call ptr @__errno_location() #11
  %8281 = load i32, ptr %8280, align 4, !tbaa !5
  %8282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8269, ptr noundef @.str.5, i32 noundef %8270, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 466, ptr noundef %8273, ptr noundef %8276, ptr noundef %8279, i32 noundef %8281) #10
  br label %8283

8283:                                             ; preds = %8266, %8249
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

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

8286:                                             ; No predecessors!
  br label %8287

8287:                                             ; preds = %8286
  br label %8288

8288:                                             ; preds = %8287, %8230
  br label %8289

8289:                                             ; preds = %8288
  br label %8290

8290:                                             ; preds = %8289
  br label %8291

8291:                                             ; preds = %8290
  %8292 = load i32, ptr @test_count, align 4, !tbaa !5
  %8293 = add nsw i32 %8292, 1
  store i32 %8293, ptr @test_count, align 4, !tbaa !5
  %8294 = load ptr, ptr %207, align 8, !tbaa !9
  %8295 = call i32 @s2n_connection_set_secrets(ptr noundef %8294)
  %8296 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %8295, ptr %8296, align 4
  %8297 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  %8298 = load i32, ptr %8297, align 4
  %8299 = call zeroext i1 @s2n_result_is_ok(i32 %8298)
  br i1 %8299, label %8353, label %8300

8300:                                             ; preds = %8291
  br label %8301

8301:                                             ; preds = %8300
  br label %8302

8302:                                             ; preds = %8301
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #10
  %8303 = call ptr @__errno_location() #11
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  store i32 %8304, ptr %210, align 4, !tbaa !5
  %8305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8306 = call i32 @s2n_print_stacktrace(ptr noundef %8305)
  %8307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8308 = trunc i8 %8307 to i1
  br i1 %8308, label %8309, label %8331

8309:                                             ; preds = %8302
  %8310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8311 = call i32 @fileno(ptr noundef %8310) #10
  %8312 = call i32 @isatty(i32 noundef %8311) #10
  %8313 = icmp ne i32 %8312, 0
  br i1 %8313, label %8314, label %8331

8314:                                             ; preds = %8309
  %8315 = load i32, ptr %210, align 4, !tbaa !5
  %8316 = call ptr @__errno_location() #11
  store i32 %8315, ptr %8316, align 4, !tbaa !5
  %8317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8318 = load i32, ptr @test_count, align 4, !tbaa !5
  %8319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call ptr @s2n_strerror(i32 noundef %8320, ptr noundef @.str.4)
  %8322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  %8324 = call ptr @s2n_strerror_debug(i32 noundef %8323, ptr noundef @.str.4)
  %8325 = call ptr @__errno_location() #11
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call ptr @strerror(i32 noundef %8326) #10
  %8328 = call ptr @__errno_location() #11
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8317, ptr noundef @.str.2, i32 noundef %8318, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 467, ptr noundef %8321, ptr noundef %8324, ptr noundef %8327, i32 noundef %8329) #10
  br label %8348

8331:                                             ; preds = %8309, %8302
  %8332 = load i32, ptr %210, align 4, !tbaa !5
  %8333 = call ptr @__errno_location() #11
  store i32 %8332, ptr %8333, align 4, !tbaa !5
  %8334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8335 = load i32, ptr @test_count, align 4, !tbaa !5
  %8336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8337 = load i32, ptr %8336, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror(i32 noundef %8337, ptr noundef @.str.4)
  %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_debug(i32 noundef %8340, ptr noundef @.str.4)
  %8342 = call ptr @__errno_location() #11
  %8343 = load i32, ptr %8342, align 4, !tbaa !5
  %8344 = call ptr @strerror(i32 noundef %8343) #10
  %8345 = call ptr @__errno_location() #11
  %8346 = load i32, ptr %8345, align 4, !tbaa !5
  %8347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8334, ptr noundef @.str.5, i32 noundef %8335, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 467, ptr noundef %8338, ptr noundef %8341, ptr noundef %8344, i32 noundef %8346) #10
  br label %8348

8348:                                             ; preds = %8331, %8314
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #10
  br label %8349

8349:                                             ; preds = %8348
  br label %8350

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

8351:                                             ; No predecessors!
  br label %8352

8352:                                             ; preds = %8351
  br label %8353

8353:                                             ; preds = %8352, %8291
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354
  br label %8356

8356:                                             ; preds = %8355
  %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 = load ptr, ptr %207, align 8, !tbaa !9
  %8360 = load ptr, ptr %20, align 8, !tbaa !9
  %8361 = call i32 @s2n_connection_set_config(ptr noundef %8359, ptr noundef %8360)
  %8362 = icmp eq i32 %8361, -1
  br i1 %8362, label %8363, label %8416

8363:                                             ; preds = %8356
  br label %8364

8364:                                             ; preds = %8363
  br label %8365

8365:                                             ; preds = %8364
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %8366 = call ptr @__errno_location() #11
  %8367 = load i32, ptr %8366, align 4, !tbaa !5
  store i32 %8367, ptr %211, align 4, !tbaa !5
  %8368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8369 = call i32 @s2n_print_stacktrace(ptr noundef %8368)
  %8370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8371 = trunc i8 %8370 to i1
  br i1 %8371, label %8372, label %8394

8372:                                             ; preds = %8365
  %8373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8374 = call i32 @fileno(ptr noundef %8373) #10
  %8375 = call i32 @isatty(i32 noundef %8374) #10
  %8376 = icmp ne i32 %8375, 0
  br i1 %8376, label %8377, label %8394

8377:                                             ; preds = %8372
  %8378 = load i32, ptr %211, align 4, !tbaa !5
  %8379 = call ptr @__errno_location() #11
  store i32 %8378, ptr %8379, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = load i32, ptr @test_count, align 4, !tbaa !5
  %8382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @s2n_strerror(i32 noundef %8383, ptr noundef @.str.4)
  %8385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call ptr @s2n_strerror_debug(i32 noundef %8386, ptr noundef @.str.4)
  %8388 = call ptr @__errno_location() #11
  %8389 = load i32, ptr %8388, align 4, !tbaa !5
  %8390 = call ptr @strerror(i32 noundef %8389) #10
  %8391 = call ptr @__errno_location() #11
  %8392 = load i32, ptr %8391, align 4, !tbaa !5
  %8393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8380, ptr noundef @.str.2, i32 noundef %8381, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 468, ptr noundef %8384, ptr noundef %8387, ptr noundef %8390, i32 noundef %8392) #10
  br label %8411

8394:                                             ; preds = %8372, %8365
  %8395 = load i32, ptr %211, align 4, !tbaa !5
  %8396 = call ptr @__errno_location() #11
  store i32 %8395, ptr %8396, align 4, !tbaa !5
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = load i32, ptr @test_count, align 4, !tbaa !5
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror(i32 noundef %8400, ptr noundef @.str.4)
  %8402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8403 = load i32, ptr %8402, align 4, !tbaa !5
  %8404 = call ptr @s2n_strerror_debug(i32 noundef %8403, ptr noundef @.str.4)
  %8405 = call ptr @__errno_location() #11
  %8406 = load i32, ptr %8405, align 4, !tbaa !5
  %8407 = call ptr @strerror(i32 noundef %8406) #10
  %8408 = call ptr @__errno_location() #11
  %8409 = load i32, ptr %8408, align 4, !tbaa !5
  %8410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8397, ptr noundef @.str.5, i32 noundef %8398, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 468, ptr noundef %8401, ptr noundef %8404, ptr noundef %8407, i32 noundef %8409) #10
  br label %8411

8411:                                             ; preds = %8394, %8377
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %8412

8412:                                             ; preds = %8411
  br label %8413

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

8414:                                             ; No predecessors!
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415, %8356
  br label %8417

8417:                                             ; preds = %8416
  br label %8418

8418:                                             ; preds = %8417
  call void @llvm.lifetime.start.p0(i64 32, ptr %212) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %212, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %8419

8419:                                             ; preds = %8418
  %8420 = load i32, ptr @test_count, align 4, !tbaa !5
  %8421 = add nsw i32 %8420, 1
  store i32 %8421, ptr @test_count, align 4, !tbaa !5
  %8422 = load ptr, ptr %207, align 8, !tbaa !9
  %8423 = call i32 @s2n_connection_set_send_ctx(ptr noundef %8422, ptr noundef %212)
  %8424 = icmp eq i32 %8423, -1
  br i1 %8424, label %8425, label %8478

8425:                                             ; preds = %8419
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %8428 = call ptr @__errno_location() #11
  %8429 = load i32, ptr %8428, align 4, !tbaa !5
  store i32 %8429, ptr %213, align 4, !tbaa !5
  %8430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8431 = call i32 @s2n_print_stacktrace(ptr noundef %8430)
  %8432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8433 = trunc i8 %8432 to i1
  br i1 %8433, label %8434, label %8456

8434:                                             ; preds = %8427
  %8435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8436 = call i32 @fileno(ptr noundef %8435) #10
  %8437 = call i32 @isatty(i32 noundef %8436) #10
  %8438 = icmp ne i32 %8437, 0
  br i1 %8438, label %8439, label %8456

8439:                                             ; preds = %8434
  %8440 = load i32, ptr %213, align 4, !tbaa !5
  %8441 = call ptr @__errno_location() #11
  store i32 %8440, ptr %8441, align 4, !tbaa !5
  %8442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8443 = load i32, ptr @test_count, align 4, !tbaa !5
  %8444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8445 = load i32, ptr %8444, align 4, !tbaa !5
  %8446 = call ptr @s2n_strerror(i32 noundef %8445, ptr noundef @.str.4)
  %8447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8448 = load i32, ptr %8447, align 4, !tbaa !5
  %8449 = call ptr @s2n_strerror_debug(i32 noundef %8448, ptr noundef @.str.4)
  %8450 = call ptr @__errno_location() #11
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call ptr @strerror(i32 noundef %8451) #10
  %8453 = call ptr @__errno_location() #11
  %8454 = load i32, ptr %8453, align 4, !tbaa !5
  %8455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8442, ptr noundef @.str.2, i32 noundef %8443, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 471, ptr noundef %8446, ptr noundef %8449, ptr noundef %8452, i32 noundef %8454) #10
  br label %8473

8456:                                             ; preds = %8434, %8427
  %8457 = load i32, ptr %213, align 4, !tbaa !5
  %8458 = call ptr @__errno_location() #11
  store i32 %8457, ptr %8458, align 4, !tbaa !5
  %8459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8460 = load i32, ptr @test_count, align 4, !tbaa !5
  %8461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call ptr @s2n_strerror(i32 noundef %8462, ptr noundef @.str.4)
  %8464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call ptr @s2n_strerror_debug(i32 noundef %8465, ptr noundef @.str.4)
  %8467 = call ptr @__errno_location() #11
  %8468 = load i32, ptr %8467, align 4, !tbaa !5
  %8469 = call ptr @strerror(i32 noundef %8468) #10
  %8470 = call ptr @__errno_location() #11
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  %8472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8459, ptr noundef @.str.5, i32 noundef %8460, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 471, ptr noundef %8463, ptr noundef %8466, ptr noundef %8469, i32 noundef %8471) #10
  br label %8473

8473:                                             ; preds = %8456, %8439
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %8474

8474:                                             ; preds = %8473
  br label %8475

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

8476:                                             ; No predecessors!
  br label %8477

8477:                                             ; preds = %8476
  br label %8478

8478:                                             ; preds = %8477, %8419
  br label %8479

8479:                                             ; preds = %8478
  br label %8480

8480:                                             ; preds = %8479
  br label %8481

8481:                                             ; preds = %8480
  %8482 = load i32, ptr @test_count, align 4, !tbaa !5
  %8483 = add nsw i32 %8482, 1
  store i32 %8483, ptr @test_count, align 4, !tbaa !5
  %8484 = load ptr, ptr %207, align 8, !tbaa !9
  %8485 = call i32 @s2n_connection_set_send_cb(ptr noundef %8484, ptr noundef @s2n_test_send_cb)
  %8486 = icmp eq i32 %8485, -1
  br i1 %8486, label %8487, label %8540

8487:                                             ; preds = %8481
  br label %8488

8488:                                             ; preds = %8487
  br label %8489

8489:                                             ; preds = %8488
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #10
  %8490 = call ptr @__errno_location() #11
  %8491 = load i32, ptr %8490, align 4, !tbaa !5
  store i32 %8491, ptr %214, align 4, !tbaa !5
  %8492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8493 = call i32 @s2n_print_stacktrace(ptr noundef %8492)
  %8494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8495 = trunc i8 %8494 to i1
  br i1 %8495, label %8496, label %8518

8496:                                             ; preds = %8489
  %8497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8498 = call i32 @fileno(ptr noundef %8497) #10
  %8499 = call i32 @isatty(i32 noundef %8498) #10
  %8500 = icmp ne i32 %8499, 0
  br i1 %8500, label %8501, label %8518

8501:                                             ; preds = %8496
  %8502 = load i32, ptr %214, align 4, !tbaa !5
  %8503 = call ptr @__errno_location() #11
  store i32 %8502, ptr %8503, align 4, !tbaa !5
  %8504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8505 = load i32, ptr @test_count, align 4, !tbaa !5
  %8506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror(i32 noundef %8507, ptr noundef @.str.4)
  %8509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  %8511 = call ptr @s2n_strerror_debug(i32 noundef %8510, ptr noundef @.str.4)
  %8512 = call ptr @__errno_location() #11
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @strerror(i32 noundef %8513) #10
  %8515 = call ptr @__errno_location() #11
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8504, ptr noundef @.str.2, i32 noundef %8505, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 472, ptr noundef %8508, ptr noundef %8511, ptr noundef %8514, i32 noundef %8516) #10
  br label %8535

8518:                                             ; preds = %8496, %8489
  %8519 = load i32, ptr %214, align 4, !tbaa !5
  %8520 = call ptr @__errno_location() #11
  store i32 %8519, ptr %8520, align 4, !tbaa !5
  %8521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8522 = load i32, ptr @test_count, align 4, !tbaa !5
  %8523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror(i32 noundef %8524, ptr noundef @.str.4)
  %8526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8527 = load i32, ptr %8526, align 4, !tbaa !5
  %8528 = call ptr @s2n_strerror_debug(i32 noundef %8527, ptr noundef @.str.4)
  %8529 = call ptr @__errno_location() #11
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @strerror(i32 noundef %8530) #10
  %8532 = call ptr @__errno_location() #11
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8521, ptr noundef @.str.5, i32 noundef %8522, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 472, ptr noundef %8525, ptr noundef %8528, ptr noundef %8531, i32 noundef %8533) #10
  br label %8535

8535:                                             ; preds = %8518, %8501
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #10
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

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

8538:                                             ; No predecessors!
  br label %8539

8539:                                             ; preds = %8538
  br label %8540

8540:                                             ; preds = %8539, %8481
  br label %8541

8541:                                             ; preds = %8540
  br label %8542

8542:                                             ; preds = %8541
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  store i32 10, ptr %215, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  store i32 1039, ptr %216, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  store i32 1031, ptr %217, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #10
  store i32 2070, ptr %218, align 4, !tbaa !5
  br label %8543

8543:                                             ; preds = %8542
  %8544 = load i32, ptr @test_count, align 4, !tbaa !5
  %8545 = add nsw i32 %8544, 1
  store i32 %8545, ptr @test_count, align 4, !tbaa !5
  br label %8546

8546:                                             ; preds = %8543
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547
  %8549 = load i32, ptr @test_count, align 4, !tbaa !5
  %8550 = add nsw i32 %8549, 1
  store i32 %8550, ptr @test_count, align 4, !tbaa !5
  %8551 = load ptr, ptr %207, align 8, !tbaa !9
  %8552 = call i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef %8551)
  %8553 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  store i32 %8552, ptr %8553, align 4
  %8554 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  %8555 = load i32, ptr %8554, align 4
  %8556 = call zeroext i1 @s2n_result_is_ok(i32 %8555)
  br i1 %8556, label %8610, label %8557

8557:                                             ; preds = %8548
  br label %8558

8558:                                             ; preds = %8557
  br label %8559

8559:                                             ; preds = %8558
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %8560 = call ptr @__errno_location() #11
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  store i32 %8561, ptr %220, 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 %220, 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.67, ptr noundef @.str.1, i32 noundef 481, ptr noundef %8578, ptr noundef %8581, ptr noundef %8584, i32 noundef %8586) #10
  br label %8605

8588:                                             ; preds = %8566, %8559
  %8589 = load i32, ptr %220, 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.67, ptr noundef @.str.1, i32 noundef 481, 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 %220) #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, %8548
  br label %8611

8611:                                             ; preds = %8610
  br label %8612

8612:                                             ; preds = %8611
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #10
  store i32 0, ptr %221, align 4, !tbaa !5
  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 = load ptr, ptr %207, align 8, !tbaa !9
  %8617 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %8618 = call i64 @s2n_send(ptr noundef %8616, ptr noundef %8617, i64 noundef 10, ptr noundef %221)
  %8619 = icmp eq i64 %8618, 10
  br i1 %8619, label %8673, label %8620

8620:                                             ; preds = %8613
  br label %8621

8621:                                             ; preds = %8620
  br label %8622

8622:                                             ; preds = %8621
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  %8623 = call ptr @__errno_location() #11
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  store i32 %8624, ptr %222, align 4, !tbaa !5
  %8625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8626 = call i32 @s2n_print_stacktrace(ptr noundef %8625)
  %8627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8628 = trunc i8 %8627 to i1
  br i1 %8628, label %8629, label %8651

8629:                                             ; preds = %8622
  %8630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8631 = call i32 @fileno(ptr noundef %8630) #10
  %8632 = call i32 @isatty(i32 noundef %8631) #10
  %8633 = icmp ne i32 %8632, 0
  br i1 %8633, label %8634, label %8651

8634:                                             ; preds = %8629
  %8635 = load i32, ptr %222, align 4, !tbaa !5
  %8636 = call ptr @__errno_location() #11
  store i32 %8635, ptr %8636, align 4, !tbaa !5
  %8637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8638 = load i32, ptr @test_count, align 4, !tbaa !5
  %8639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call ptr @s2n_strerror(i32 noundef %8640, ptr noundef @.str.4)
  %8642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8643 = load i32, ptr %8642, align 4, !tbaa !5
  %8644 = call ptr @s2n_strerror_debug(i32 noundef %8643, ptr noundef @.str.4)
  %8645 = call ptr @__errno_location() #11
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @strerror(i32 noundef %8646) #10
  %8648 = call ptr @__errno_location() #11
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8637, ptr noundef @.str.2, i32 noundef %8638, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 485, ptr noundef %8641, ptr noundef %8644, ptr noundef %8647, i32 noundef %8649) #10
  br label %8668

8651:                                             ; preds = %8629, %8622
  %8652 = load i32, ptr %222, align 4, !tbaa !5
  %8653 = call ptr @__errno_location() #11
  store i32 %8652, ptr %8653, align 4, !tbaa !5
  %8654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8655 = load i32, ptr @test_count, align 4, !tbaa !5
  %8656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8657 = load i32, ptr %8656, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef @.str.4)
  %8659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8660 = load i32, ptr %8659, align 4, !tbaa !5
  %8661 = call ptr @s2n_strerror_debug(i32 noundef %8660, ptr noundef @.str.4)
  %8662 = call ptr @__errno_location() #11
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  %8664 = call ptr @strerror(i32 noundef %8663) #10
  %8665 = call ptr @__errno_location() #11
  %8666 = load i32, ptr %8665, align 4, !tbaa !5
  %8667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8654, ptr noundef @.str.5, i32 noundef %8655, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 485, ptr noundef %8658, ptr noundef %8661, ptr noundef %8664, i32 noundef %8666) #10
  br label %8668

8668:                                             ; preds = %8651, %8634
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  br label %8669

8669:                                             ; preds = %8668
  br label %8670

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

8671:                                             ; No predecessors!
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

8673:                                             ; preds = %8672, %8613
  br label %8674

8674:                                             ; preds = %8673
  br label %8675

8675:                                             ; preds = %8674
  br label %8676

8676:                                             ; preds = %8675
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = add nsw i32 %8677, 1
  store i32 %8678, ptr @test_count, align 4, !tbaa !5
  %8679 = getelementptr inbounds %struct.s2n_send_context, ptr %212, i32 0, i32 0
  %8680 = load i64, ptr %8679, align 8, !tbaa !24
  %8681 = icmp eq i64 %8680, 2
  br i1 %8681, label %8735, label %8682

8682:                                             ; preds = %8676
  br label %8683

8683:                                             ; preds = %8682
  br label %8684

8684:                                             ; preds = %8683
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #10
  %8685 = call ptr @__errno_location() #11
  %8686 = load i32, ptr %8685, align 4, !tbaa !5
  store i32 %8686, ptr %223, align 4, !tbaa !5
  %8687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8688 = call i32 @s2n_print_stacktrace(ptr noundef %8687)
  %8689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8690 = trunc i8 %8689 to i1
  br i1 %8690, label %8691, label %8713

8691:                                             ; preds = %8684
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = call i32 @fileno(ptr noundef %8692) #10
  %8694 = call i32 @isatty(i32 noundef %8693) #10
  %8695 = icmp ne i32 %8694, 0
  br i1 %8695, label %8696, label %8713

8696:                                             ; preds = %8691
  %8697 = load i32, ptr %223, align 4, !tbaa !5
  %8698 = call ptr @__errno_location() #11
  store i32 %8697, ptr %8698, align 4, !tbaa !5
  %8699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8700 = load i32, ptr @test_count, align 4, !tbaa !5
  %8701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call ptr @s2n_strerror(i32 noundef %8702, ptr noundef @.str.4)
  %8704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8705 = load i32, ptr %8704, align 4, !tbaa !5
  %8706 = call ptr @s2n_strerror_debug(i32 noundef %8705, ptr noundef @.str.4)
  %8707 = call ptr @__errno_location() #11
  %8708 = load i32, ptr %8707, align 4, !tbaa !5
  %8709 = call ptr @strerror(i32 noundef %8708) #10
  %8710 = call ptr @__errno_location() #11
  %8711 = load i32, ptr %8710, align 4, !tbaa !5
  %8712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8699, ptr noundef @.str.2, i32 noundef %8700, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 490, ptr noundef %8703, ptr noundef %8706, ptr noundef %8709, i32 noundef %8711) #10
  br label %8730

8713:                                             ; preds = %8691, %8684
  %8714 = load i32, ptr %223, align 4, !tbaa !5
  %8715 = call ptr @__errno_location() #11
  store i32 %8714, ptr %8715, align 4, !tbaa !5
  %8716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8717 = load i32, ptr @test_count, align 4, !tbaa !5
  %8718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8719 = load i32, ptr %8718, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror(i32 noundef %8719, ptr noundef @.str.4)
  %8721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8722 = load i32, ptr %8721, align 4, !tbaa !5
  %8723 = call ptr @s2n_strerror_debug(i32 noundef %8722, ptr noundef @.str.4)
  %8724 = call ptr @__errno_location() #11
  %8725 = load i32, ptr %8724, align 4, !tbaa !5
  %8726 = call ptr @strerror(i32 noundef %8725) #10
  %8727 = call ptr @__errno_location() #11
  %8728 = load i32, ptr %8727, align 4, !tbaa !5
  %8729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8716, ptr noundef @.str.5, i32 noundef %8717, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 490, ptr noundef %8720, ptr noundef %8723, ptr noundef %8726, i32 noundef %8728) #10
  br label %8730

8730:                                             ; preds = %8713, %8696
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #10
  br label %8731

8731:                                             ; preds = %8730
  br label %8732

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

8733:                                             ; No predecessors!
  br label %8734

8734:                                             ; preds = %8733
  br label %8735

8735:                                             ; preds = %8734, %8676
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

8737:                                             ; preds = %8736
  br label %8738

8738:                                             ; preds = %8737
  %8739 = load i32, ptr @test_count, align 4, !tbaa !5
  %8740 = add nsw i32 %8739, 1
  store i32 %8740, ptr @test_count, align 4, !tbaa !5
  %8741 = load ptr, ptr %207, align 8, !tbaa !9
  %8742 = getelementptr inbounds %struct.s2n_connection, ptr %8741, i32 0, i32 41
  %8743 = getelementptr inbounds %struct.s2n_stuffer, ptr %8742, i32 0, i32 3
  %8744 = load i32, ptr %8743, align 8, !tbaa !71
  %8745 = zext i32 %8744 to i64
  %8746 = getelementptr inbounds %struct.s2n_send_context, ptr %212, i32 0, i32 1
  %8747 = load i64, ptr %8746, align 8, !tbaa !26
  %8748 = icmp ult i64 %8745, %8747
  br i1 %8748, label %8802, label %8749

8749:                                             ; preds = %8738
  br label %8750

8750:                                             ; preds = %8749
  br label %8751

8751:                                             ; preds = %8750
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #10
  %8752 = call ptr @__errno_location() #11
  %8753 = load i32, ptr %8752, align 4, !tbaa !5
  store i32 %8753, ptr %224, align 4, !tbaa !5
  %8754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8755 = call i32 @s2n_print_stacktrace(ptr noundef %8754)
  %8756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8757 = trunc i8 %8756 to i1
  br i1 %8757, label %8758, label %8780

8758:                                             ; preds = %8751
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = call i32 @fileno(ptr noundef %8759) #10
  %8761 = call i32 @isatty(i32 noundef %8760) #10
  %8762 = icmp ne i32 %8761, 0
  br i1 %8762, label %8763, label %8780

8763:                                             ; preds = %8758
  %8764 = load i32, ptr %224, align 4, !tbaa !5
  %8765 = call ptr @__errno_location() #11
  store i32 %8764, ptr %8765, align 4, !tbaa !5
  %8766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8767 = load i32, ptr @test_count, align 4, !tbaa !5
  %8768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8769 = load i32, ptr %8768, align 4, !tbaa !5
  %8770 = call ptr @s2n_strerror(i32 noundef %8769, ptr noundef @.str.4)
  %8771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8772 = load i32, ptr %8771, align 4, !tbaa !5
  %8773 = call ptr @s2n_strerror_debug(i32 noundef %8772, ptr noundef @.str.4)
  %8774 = call ptr @__errno_location() #11
  %8775 = load i32, ptr %8774, align 4, !tbaa !5
  %8776 = call ptr @strerror(i32 noundef %8775) #10
  %8777 = call ptr @__errno_location() #11
  %8778 = load i32, ptr %8777, align 4, !tbaa !5
  %8779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8766, ptr noundef @.str.2, i32 noundef %8767, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 495, ptr noundef %8770, ptr noundef %8773, ptr noundef %8776, i32 noundef %8778) #10
  br label %8797

8780:                                             ; preds = %8758, %8751
  %8781 = load i32, ptr %224, align 4, !tbaa !5
  %8782 = call ptr @__errno_location() #11
  store i32 %8781, ptr %8782, align 4, !tbaa !5
  %8783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8784 = load i32, ptr @test_count, align 4, !tbaa !5
  %8785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8786 = load i32, ptr %8785, align 4, !tbaa !5
  %8787 = call ptr @s2n_strerror(i32 noundef %8786, ptr noundef @.str.4)
  %8788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8789 = load i32, ptr %8788, align 4, !tbaa !5
  %8790 = call ptr @s2n_strerror_debug(i32 noundef %8789, ptr noundef @.str.4)
  %8791 = call ptr @__errno_location() #11
  %8792 = load i32, ptr %8791, align 4, !tbaa !5
  %8793 = call ptr @strerror(i32 noundef %8792) #10
  %8794 = call ptr @__errno_location() #11
  %8795 = load i32, ptr %8794, align 4, !tbaa !5
  %8796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8783, ptr noundef @.str.5, i32 noundef %8784, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 495, ptr noundef %8787, ptr noundef %8790, ptr noundef %8793, i32 noundef %8795) #10
  br label %8797

8797:                                             ; preds = %8780, %8763
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #10
  br label %8798

8798:                                             ; preds = %8797
  br label %8799

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

8800:                                             ; No predecessors!
  br label %8801

8801:                                             ; preds = %8800
  br label %8802

8802:                                             ; preds = %8801, %8738
  br label %8803

8803:                                             ; preds = %8802
  br label %8804

8804:                                             ; preds = %8803
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #10
  %8805 = call i32 @s2n_connection_ptr_free(ptr noundef %207)
  %8806 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  store i32 %8805, ptr %8806, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  store i32 0, ptr %226, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #10
  %8807 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8807, ptr %227, align 8, !tbaa !9
  br label %8808

8808:                                             ; preds = %8804
  %8809 = load i32, ptr @test_count, align 4, !tbaa !5
  %8810 = add nsw i32 %8809, 1
  store i32 %8810, ptr @test_count, align 4, !tbaa !5
  %8811 = load ptr, ptr %227, align 8, !tbaa !9
  %8812 = icmp eq ptr %8811, null
  br i1 %8812, label %8813, label %8866

8813:                                             ; preds = %8808
  br label %8814

8814:                                             ; preds = %8813
  br label %8815

8815:                                             ; preds = %8814
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %8816 = call ptr @__errno_location() #11
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  store i32 %8817, ptr %228, align 4, !tbaa !5
  %8818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8819 = call i32 @s2n_print_stacktrace(ptr noundef %8818)
  %8820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8821 = trunc i8 %8820 to i1
  br i1 %8821, label %8822, label %8844

8822:                                             ; preds = %8815
  %8823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8824 = call i32 @fileno(ptr noundef %8823) #10
  %8825 = call i32 @isatty(i32 noundef %8824) #10
  %8826 = icmp ne i32 %8825, 0
  br i1 %8826, label %8827, label %8844

8827:                                             ; preds = %8822
  %8828 = load i32, ptr %228, align 4, !tbaa !5
  %8829 = call ptr @__errno_location() #11
  store i32 %8828, ptr %8829, align 4, !tbaa !5
  %8830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8831 = load i32, ptr @test_count, align 4, !tbaa !5
  %8832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call ptr @s2n_strerror(i32 noundef %8833, ptr noundef @.str.4)
  %8835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call ptr @s2n_strerror_debug(i32 noundef %8836, ptr noundef @.str.4)
  %8838 = call ptr @__errno_location() #11
  %8839 = load i32, ptr %8838, align 4, !tbaa !5
  %8840 = call ptr @strerror(i32 noundef %8839) #10
  %8841 = call ptr @__errno_location() #11
  %8842 = load i32, ptr %8841, align 4, !tbaa !5
  %8843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8830, ptr noundef @.str.2, i32 noundef %8831, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 504, ptr noundef %8834, ptr noundef %8837, ptr noundef %8840, i32 noundef %8842) #10
  br label %8861

8844:                                             ; preds = %8822, %8815
  %8845 = load i32, ptr %228, align 4, !tbaa !5
  %8846 = call ptr @__errno_location() #11
  store i32 %8845, ptr %8846, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call ptr @s2n_strerror(i32 noundef %8850, ptr noundef @.str.4)
  %8852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8853 = load i32, ptr %8852, align 4, !tbaa !5
  %8854 = call ptr @s2n_strerror_debug(i32 noundef %8853, ptr noundef @.str.4)
  %8855 = call ptr @__errno_location() #11
  %8856 = load i32, ptr %8855, align 4, !tbaa !5
  %8857 = call ptr @strerror(i32 noundef %8856) #10
  %8858 = call ptr @__errno_location() #11
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef @.str.5, i32 noundef %8848, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 504, ptr noundef %8851, ptr noundef %8854, ptr noundef %8857, i32 noundef %8859) #10
  br label %8861

8861:                                             ; preds = %8844, %8827
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %8862

8862:                                             ; preds = %8861
  br label %8863

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

8864:                                             ; No predecessors!
  br label %8865

8865:                                             ; preds = %8864
  br label %8866

8866:                                             ; preds = %8865, %8808
  br label %8867

8867:                                             ; preds = %8866
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

8869:                                             ; preds = %8868
  %8870 = load i32, ptr @test_count, align 4, !tbaa !5
  %8871 = add nsw i32 %8870, 1
  store i32 %8871, ptr @test_count, align 4, !tbaa !5
  %8872 = load ptr, ptr %227, align 8, !tbaa !9
  %8873 = call i32 @s2n_connection_set_secrets(ptr noundef %8872)
  %8874 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  store i32 %8873, ptr %8874, align 4
  %8875 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  %8876 = load i32, ptr %8875, align 4
  %8877 = call zeroext i1 @s2n_result_is_ok(i32 %8876)
  br i1 %8877, label %8931, label %8878

8878:                                             ; preds = %8869
  br label %8879

8879:                                             ; preds = %8878
  br label %8880

8880:                                             ; preds = %8879
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %8881 = call ptr @__errno_location() #11
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  store i32 %8882, ptr %230, align 4, !tbaa !5
  %8883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8884 = call i32 @s2n_print_stacktrace(ptr noundef %8883)
  %8885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8886 = trunc i8 %8885 to i1
  br i1 %8886, label %8887, label %8909

8887:                                             ; preds = %8880
  %8888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8889 = call i32 @fileno(ptr noundef %8888) #10
  %8890 = call i32 @isatty(i32 noundef %8889) #10
  %8891 = icmp ne i32 %8890, 0
  br i1 %8891, label %8892, label %8909

8892:                                             ; preds = %8887
  %8893 = load i32, ptr %230, align 4, !tbaa !5
  %8894 = call ptr @__errno_location() #11
  store i32 %8893, ptr %8894, align 4, !tbaa !5
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = load i32, ptr @test_count, align 4, !tbaa !5
  %8897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call ptr @s2n_strerror(i32 noundef %8898, ptr noundef @.str.4)
  %8900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call ptr @s2n_strerror_debug(i32 noundef %8901, ptr noundef @.str.4)
  %8903 = call ptr @__errno_location() #11
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @strerror(i32 noundef %8904) #10
  %8906 = call ptr @__errno_location() #11
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8895, ptr noundef @.str.2, i32 noundef %8896, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 505, ptr noundef %8899, ptr noundef %8902, ptr noundef %8905, i32 noundef %8907) #10
  br label %8926

8909:                                             ; preds = %8887, %8880
  %8910 = load i32, ptr %230, align 4, !tbaa !5
  %8911 = call ptr @__errno_location() #11
  store i32 %8910, ptr %8911, align 4, !tbaa !5
  %8912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8913 = load i32, ptr @test_count, align 4, !tbaa !5
  %8914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  %8916 = call ptr @s2n_strerror(i32 noundef %8915, ptr noundef @.str.4)
  %8917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8918 = load i32, ptr %8917, align 4, !tbaa !5
  %8919 = call ptr @s2n_strerror_debug(i32 noundef %8918, ptr noundef @.str.4)
  %8920 = call ptr @__errno_location() #11
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  %8922 = call ptr @strerror(i32 noundef %8921) #10
  %8923 = call ptr @__errno_location() #11
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  %8925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8912, ptr noundef @.str.5, i32 noundef %8913, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 505, ptr noundef %8916, ptr noundef %8919, ptr noundef %8922, i32 noundef %8924) #10
  br label %8926

8926:                                             ; preds = %8909, %8892
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

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

8929:                                             ; No predecessors!
  br label %8930

8930:                                             ; preds = %8929
  br label %8931

8931:                                             ; preds = %8930, %8869
  br label %8932

8932:                                             ; preds = %8931
  br label %8933

8933:                                             ; preds = %8932
  br label %8934

8934:                                             ; preds = %8933
  %8935 = load i32, ptr @test_count, align 4, !tbaa !5
  %8936 = add nsw i32 %8935, 1
  store i32 %8936, ptr @test_count, align 4, !tbaa !5
  %8937 = load ptr, ptr %227, align 8, !tbaa !9
  %8938 = load ptr, ptr %20, align 8, !tbaa !9
  %8939 = call i32 @s2n_connection_set_config(ptr noundef %8937, ptr noundef %8938)
  %8940 = icmp eq i32 %8939, -1
  br i1 %8940, label %8941, label %8994

8941:                                             ; preds = %8934
  br label %8942

8942:                                             ; preds = %8941
  br label %8943

8943:                                             ; preds = %8942
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  %8944 = call ptr @__errno_location() #11
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  store i32 %8945, ptr %231, align 4, !tbaa !5
  %8946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8947 = call i32 @s2n_print_stacktrace(ptr noundef %8946)
  %8948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8949 = trunc i8 %8948 to i1
  br i1 %8949, label %8950, label %8972

8950:                                             ; preds = %8943
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = call i32 @fileno(ptr noundef %8951) #10
  %8953 = call i32 @isatty(i32 noundef %8952) #10
  %8954 = icmp ne i32 %8953, 0
  br i1 %8954, label %8955, label %8972

8955:                                             ; preds = %8950
  %8956 = load i32, ptr %231, align 4, !tbaa !5
  %8957 = call ptr @__errno_location() #11
  store i32 %8956, ptr %8957, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror(i32 noundef %8961, ptr noundef @.str.4)
  %8963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @s2n_strerror_debug(i32 noundef %8964, ptr noundef @.str.4)
  %8966 = call ptr @__errno_location() #11
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call ptr @strerror(i32 noundef %8967) #10
  %8969 = call ptr @__errno_location() #11
  %8970 = load i32, ptr %8969, align 4, !tbaa !5
  %8971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8958, ptr noundef @.str.2, i32 noundef %8959, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 506, ptr noundef %8962, ptr noundef %8965, ptr noundef %8968, i32 noundef %8970) #10
  br label %8989

8972:                                             ; preds = %8950, %8943
  %8973 = load i32, ptr %231, align 4, !tbaa !5
  %8974 = call ptr @__errno_location() #11
  store i32 %8973, ptr %8974, align 4, !tbaa !5
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8978 = load i32, ptr %8977, align 4, !tbaa !5
  %8979 = call ptr @s2n_strerror(i32 noundef %8978, ptr noundef @.str.4)
  %8980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8981 = load i32, ptr %8980, align 4, !tbaa !5
  %8982 = call ptr @s2n_strerror_debug(i32 noundef %8981, ptr noundef @.str.4)
  %8983 = call ptr @__errno_location() #11
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  %8985 = call ptr @strerror(i32 noundef %8984) #10
  %8986 = call ptr @__errno_location() #11
  %8987 = load i32, ptr %8986, align 4, !tbaa !5
  %8988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8975, ptr noundef @.str.5, i32 noundef %8976, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 506, ptr noundef %8979, ptr noundef %8982, ptr noundef %8985, i32 noundef %8987) #10
  br label %8989

8989:                                             ; preds = %8972, %8955
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  br label %8990

8990:                                             ; preds = %8989
  br label %8991

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

8992:                                             ; No predecessors!
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993, %8934
  br label %8995

8995:                                             ; preds = %8994
  br label %8996

8996:                                             ; preds = %8995
  br label %8997

8997:                                             ; preds = %8996
  %8998 = load i32, ptr @test_count, align 4, !tbaa !5
  %8999 = add nsw i32 %8998, 1
  store i32 %8999, ptr @test_count, align 4, !tbaa !5
  %9000 = load ptr, ptr %227, align 8, !tbaa !9
  %9001 = call i32 @s2n_connection_set_send_cb(ptr noundef %9000, ptr noundef @s2n_test_send_cb)
  %9002 = icmp eq i32 %9001, -1
  br i1 %9002, label %9003, label %9056

9003:                                             ; preds = %8997
  br label %9004

9004:                                             ; preds = %9003
  br label %9005

9005:                                             ; preds = %9004
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  %9006 = call ptr @__errno_location() #11
  %9007 = load i32, ptr %9006, align 4, !tbaa !5
  store i32 %9007, ptr %232, align 4, !tbaa !5
  %9008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9009 = call i32 @s2n_print_stacktrace(ptr noundef %9008)
  %9010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9011 = trunc i8 %9010 to i1
  br i1 %9011, label %9012, label %9034

9012:                                             ; preds = %9005
  %9013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9014 = call i32 @fileno(ptr noundef %9013) #10
  %9015 = call i32 @isatty(i32 noundef %9014) #10
  %9016 = icmp ne i32 %9015, 0
  br i1 %9016, label %9017, label %9034

9017:                                             ; preds = %9012
  %9018 = load i32, ptr %232, align 4, !tbaa !5
  %9019 = call ptr @__errno_location() #11
  store i32 %9018, ptr %9019, align 4, !tbaa !5
  %9020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9021 = load i32, ptr @test_count, align 4, !tbaa !5
  %9022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @s2n_strerror(i32 noundef %9023, ptr noundef @.str.4)
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror_debug(i32 noundef %9026, ptr noundef @.str.4)
  %9028 = call ptr @__errno_location() #11
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @strerror(i32 noundef %9029) #10
  %9031 = call ptr @__errno_location() #11
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9020, ptr noundef @.str.2, i32 noundef %9021, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 507, ptr noundef %9024, ptr noundef %9027, ptr noundef %9030, i32 noundef %9032) #10
  br label %9051

9034:                                             ; preds = %9012, %9005
  %9035 = load i32, ptr %232, align 4, !tbaa !5
  %9036 = call ptr @__errno_location() #11
  store i32 %9035, ptr %9036, align 4, !tbaa !5
  %9037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9038 = load i32, ptr @test_count, align 4, !tbaa !5
  %9039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror(i32 noundef %9040, ptr noundef @.str.4)
  %9042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror_debug(i32 noundef %9043, ptr noundef @.str.4)
  %9045 = call ptr @__errno_location() #11
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call ptr @strerror(i32 noundef %9046) #10
  %9048 = call ptr @__errno_location() #11
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9037, ptr noundef @.str.5, i32 noundef %9038, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 507, ptr noundef %9041, ptr noundef %9044, ptr noundef %9047, i32 noundef %9049) #10
  br label %9051

9051:                                             ; preds = %9034, %9017
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

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

9054:                                             ; No predecessors!
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055, %8997
  br label %9057

9057:                                             ; preds = %9056
  br label %9058

9058:                                             ; preds = %9057
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #10
  store i64 0, ptr %233, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 32, ptr %234) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %234, ptr align 8 %18, i64 32, i1 false), !tbaa.struct !56
  br label %9059

9059:                                             ; preds = %9058
  %9060 = load i32, ptr @test_count, align 4, !tbaa !5
  %9061 = add nsw i32 %9060, 1
  store i32 %9061, ptr @test_count, align 4, !tbaa !5
  %9062 = load ptr, ptr %227, align 8, !tbaa !9
  %9063 = call i32 @s2n_connection_set_send_ctx(ptr noundef %9062, ptr noundef %234)
  %9064 = icmp eq i32 %9063, -1
  br i1 %9064, label %9065, label %9118

9065:                                             ; preds = %9059
  br label %9066

9066:                                             ; preds = %9065
  br label %9067

9067:                                             ; preds = %9066
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #10
  %9068 = call ptr @__errno_location() #11
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  store i32 %9069, ptr %235, align 4, !tbaa !5
  %9070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9071 = call i32 @s2n_print_stacktrace(ptr noundef %9070)
  %9072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9073 = trunc i8 %9072 to i1
  br i1 %9073, label %9074, label %9096

9074:                                             ; preds = %9067
  %9075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9076 = call i32 @fileno(ptr noundef %9075) #10
  %9077 = call i32 @isatty(i32 noundef %9076) #10
  %9078 = icmp ne i32 %9077, 0
  br i1 %9078, label %9079, label %9096

9079:                                             ; preds = %9074
  %9080 = load i32, ptr %235, align 4, !tbaa !5
  %9081 = call ptr @__errno_location() #11
  store i32 %9080, ptr %9081, align 4, !tbaa !5
  %9082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9083 = load i32, ptr @test_count, align 4, !tbaa !5
  %9084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call ptr @s2n_strerror(i32 noundef %9085, ptr noundef @.str.4)
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror_debug(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call ptr @__errno_location() #11
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @strerror(i32 noundef %9091) #10
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9082, ptr noundef @.str.2, i32 noundef %9083, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 513, ptr noundef %9086, ptr noundef %9089, ptr noundef %9092, i32 noundef %9094) #10
  br label %9113

9096:                                             ; preds = %9074, %9067
  %9097 = load i32, ptr %235, align 4, !tbaa !5
  %9098 = call ptr @__errno_location() #11
  store i32 %9097, ptr %9098, align 4, !tbaa !5
  %9099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9100 = load i32, ptr @test_count, align 4, !tbaa !5
  %9101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call ptr @s2n_strerror(i32 noundef %9102, ptr noundef @.str.4)
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror_debug(i32 noundef %9105, ptr noundef @.str.4)
  %9107 = call ptr @__errno_location() #11
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @strerror(i32 noundef %9108) #10
  %9110 = call ptr @__errno_location() #11
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9099, ptr noundef @.str.5, i32 noundef %9100, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 513, ptr noundef %9103, ptr noundef %9106, ptr noundef %9109, i32 noundef %9111) #10
  br label %9113

9113:                                             ; preds = %9096, %9079
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #10
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

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

9116:                                             ; No predecessors!
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

9118:                                             ; preds = %9117, %9059
  br label %9119

9119:                                             ; preds = %9118
  br label %9120

9120:                                             ; preds = %9119
  %9121 = load ptr, ptr %227, align 8, !tbaa !9
  %9122 = getelementptr inbounds %struct.s2n_connection, ptr %9121, i32 0, i32 94
  call void @s2n_atomic_flag_set(ptr noundef %9122)
  br label %9123

9123:                                             ; preds = %9120
  %9124 = load i32, ptr @test_count, align 4, !tbaa !5
  %9125 = add nsw i32 %9124, 1
  store i32 %9125, ptr @test_count, align 4, !tbaa !5
  %9126 = load ptr, ptr %227, align 8, !tbaa !9
  %9127 = call i32 @s2n_post_handshake_send(ptr noundef %9126, ptr noundef %226)
  %9128 = icmp eq i32 %9127, -1
  br i1 %9128, label %9129, label %9182

9129:                                             ; preds = %9123
  br label %9130

9130:                                             ; preds = %9129
  br label %9131

9131:                                             ; preds = %9130
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %9132 = call ptr @__errno_location() #11
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  store i32 %9133, ptr %236, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = call i32 @s2n_print_stacktrace(ptr noundef %9134)
  %9136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9137 = trunc i8 %9136 to i1
  br i1 %9137, label %9138, label %9160

9138:                                             ; preds = %9131
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = call i32 @fileno(ptr noundef %9139) #10
  %9141 = call i32 @isatty(i32 noundef %9140) #10
  %9142 = icmp ne i32 %9141, 0
  br i1 %9142, label %9143, label %9160

9143:                                             ; preds = %9138
  %9144 = load i32, ptr %236, align 4, !tbaa !5
  %9145 = call ptr @__errno_location() #11
  store i32 %9144, ptr %9145, align 4, !tbaa !5
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call ptr @s2n_strerror(i32 noundef %9149, ptr noundef @.str.4)
  %9151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call ptr @s2n_strerror_debug(i32 noundef %9152, ptr noundef @.str.4)
  %9154 = call ptr @__errno_location() #11
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @strerror(i32 noundef %9155) #10
  %9157 = call ptr @__errno_location() #11
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9146, ptr noundef @.str.2, i32 noundef %9147, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 516, ptr noundef %9150, ptr noundef %9153, ptr noundef %9156, i32 noundef %9158) #10
  br label %9177

9160:                                             ; preds = %9138, %9131
  %9161 = load i32, ptr %236, align 4, !tbaa !5
  %9162 = call ptr @__errno_location() #11
  store i32 %9161, ptr %9162, align 4, !tbaa !5
  %9163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9164 = load i32, ptr @test_count, align 4, !tbaa !5
  %9165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9166 = load i32, ptr %9165, align 4, !tbaa !5
  %9167 = call ptr @s2n_strerror(i32 noundef %9166, ptr noundef @.str.4)
  %9168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9169 = load i32, ptr %9168, align 4, !tbaa !5
  %9170 = call ptr @s2n_strerror_debug(i32 noundef %9169, ptr noundef @.str.4)
  %9171 = call ptr @__errno_location() #11
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @strerror(i32 noundef %9172) #10
  %9174 = call ptr @__errno_location() #11
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9163, ptr noundef @.str.5, i32 noundef %9164, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 516, ptr noundef %9167, ptr noundef %9170, ptr noundef %9173, i32 noundef %9175) #10
  br label %9177

9177:                                             ; preds = %9160, %9143
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %9178

9178:                                             ; preds = %9177
  br label %9179

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

9180:                                             ; No predecessors!
  br label %9181

9181:                                             ; preds = %9180
  br label %9182

9182:                                             ; preds = %9181, %9123
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183
  br label %9185

9185:                                             ; preds = %9184
  %9186 = load i32, ptr @test_count, align 4, !tbaa !5
  %9187 = add nsw i32 %9186, 1
  store i32 %9187, ptr @test_count, align 4, !tbaa !5
  %9188 = load ptr, ptr %227, align 8, !tbaa !9
  %9189 = getelementptr inbounds %struct.s2n_connection, ptr %9188, i32 0, i32 94
  %9190 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %9189)
  br i1 %9190, label %9191, label %9244

9191:                                             ; preds = %9185
  br label %9192

9192:                                             ; preds = %9191
  br label %9193

9193:                                             ; preds = %9192
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #10
  %9194 = call ptr @__errno_location() #11
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  store i32 %9195, ptr %237, align 4, !tbaa !5
  %9196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9197 = call i32 @s2n_print_stacktrace(ptr noundef %9196)
  %9198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9199 = trunc i8 %9198 to i1
  br i1 %9199, label %9200, label %9222

9200:                                             ; preds = %9193
  %9201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9202 = call i32 @fileno(ptr noundef %9201) #10
  %9203 = call i32 @isatty(i32 noundef %9202) #10
  %9204 = icmp ne i32 %9203, 0
  br i1 %9204, label %9205, label %9222

9205:                                             ; preds = %9200
  %9206 = load i32, ptr %237, align 4, !tbaa !5
  %9207 = call ptr @__errno_location() #11
  store i32 %9206, ptr %9207, align 4, !tbaa !5
  %9208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9209 = load i32, ptr @test_count, align 4, !tbaa !5
  %9210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9211 = load i32, ptr %9210, align 4, !tbaa !5
  %9212 = call ptr @s2n_strerror(i32 noundef %9211, ptr noundef @.str.4)
  %9213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9214 = load i32, ptr %9213, align 4, !tbaa !5
  %9215 = call ptr @s2n_strerror_debug(i32 noundef %9214, ptr noundef @.str.4)
  %9216 = call ptr @__errno_location() #11
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  %9218 = call ptr @strerror(i32 noundef %9217) #10
  %9219 = call ptr @__errno_location() #11
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9208, ptr noundef @.str.2, i32 noundef %9209, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 517, ptr noundef %9212, ptr noundef %9215, ptr noundef %9218, i32 noundef %9220) #10
  br label %9239

9222:                                             ; preds = %9200, %9193
  %9223 = load i32, ptr %237, align 4, !tbaa !5
  %9224 = call ptr @__errno_location() #11
  store i32 %9223, ptr %9224, align 4, !tbaa !5
  %9225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9226 = load i32, ptr @test_count, align 4, !tbaa !5
  %9227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  %9229 = call ptr @s2n_strerror(i32 noundef %9228, ptr noundef @.str.4)
  %9230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9231 = load i32, ptr %9230, align 4, !tbaa !5
  %9232 = call ptr @s2n_strerror_debug(i32 noundef %9231, ptr noundef @.str.4)
  %9233 = call ptr @__errno_location() #11
  %9234 = load i32, ptr %9233, align 4, !tbaa !5
  %9235 = call ptr @strerror(i32 noundef %9234) #10
  %9236 = call ptr @__errno_location() #11
  %9237 = load i32, ptr %9236, align 4, !tbaa !5
  %9238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9225, ptr noundef @.str.5, i32 noundef %9226, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 517, ptr noundef %9229, ptr noundef %9232, ptr noundef %9235, i32 noundef %9237) #10
  br label %9239

9239:                                             ; preds = %9222, %9205
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #10
  br label %9240

9240:                                             ; preds = %9239
  br label %9241

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

9242:                                             ; No predecessors!
  br label %9243

9243:                                             ; preds = %9242
  br label %9244

9244:                                             ; preds = %9243, %9185
  br label %9245

9245:                                             ; preds = %9244
  br label %9246

9246:                                             ; preds = %9245
  %9247 = getelementptr inbounds %struct.s2n_send_context, ptr %234, i32 0, i32 1
  %9248 = load i64, ptr %9247, align 8, !tbaa !26
  store i64 %9248, ptr %233, align 8, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #10
  br label %9249

9249:                                             ; preds = %9246
  %9250 = load i32, ptr @test_count, align 4, !tbaa !5
  %9251 = add nsw i32 %9250, 1
  store i32 %9251, ptr @test_count, align 4, !tbaa !5
  %9252 = load i64, ptr %233, align 8, !tbaa !15
  %9253 = icmp ugt i64 %9252, 0
  br i1 %9253, label %9307, label %9254

9254:                                             ; preds = %9249
  br label %9255

9255:                                             ; preds = %9254
  br label %9256

9256:                                             ; preds = %9255
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %9257 = call ptr @__errno_location() #11
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  store i32 %9258, ptr %238, align 4, !tbaa !5
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = call i32 @s2n_print_stacktrace(ptr noundef %9259)
  %9261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9262 = trunc i8 %9261 to i1
  br i1 %9262, label %9263, label %9285

9263:                                             ; preds = %9256
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = call i32 @fileno(ptr noundef %9264) #10
  %9266 = call i32 @isatty(i32 noundef %9265) #10
  %9267 = icmp ne i32 %9266, 0
  br i1 %9267, label %9268, label %9285

9268:                                             ; preds = %9263
  %9269 = load i32, ptr %238, align 4, !tbaa !5
  %9270 = call ptr @__errno_location() #11
  store i32 %9269, ptr %9270, align 4, !tbaa !5
  %9271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9272 = load i32, ptr @test_count, align 4, !tbaa !5
  %9273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9274 = load i32, ptr %9273, align 4, !tbaa !5
  %9275 = call ptr @s2n_strerror(i32 noundef %9274, ptr noundef @.str.4)
  %9276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror_debug(i32 noundef %9277, ptr noundef @.str.4)
  %9279 = call ptr @__errno_location() #11
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @strerror(i32 noundef %9280) #10
  %9282 = call ptr @__errno_location() #11
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9271, ptr noundef @.str.2, i32 noundef %9272, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 520, ptr noundef %9275, ptr noundef %9278, ptr noundef %9281, i32 noundef %9283) #10
  br label %9302

9285:                                             ; preds = %9263, %9256
  %9286 = load i32, ptr %238, align 4, !tbaa !5
  %9287 = call ptr @__errno_location() #11
  store i32 %9286, ptr %9287, align 4, !tbaa !5
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = load i32, ptr @test_count, align 4, !tbaa !5
  %9290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9291 = load i32, ptr %9290, align 4, !tbaa !5
  %9292 = call ptr @s2n_strerror(i32 noundef %9291, ptr noundef @.str.4)
  %9293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9294 = load i32, ptr %9293, align 4, !tbaa !5
  %9295 = call ptr @s2n_strerror_debug(i32 noundef %9294, ptr noundef @.str.4)
  %9296 = call ptr @__errno_location() #11
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  %9298 = call ptr @strerror(i32 noundef %9297) #10
  %9299 = call ptr @__errno_location() #11
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9288, ptr noundef @.str.5, i32 noundef %9289, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 520, ptr noundef %9292, ptr noundef %9295, ptr noundef %9298, i32 noundef %9300) #10
  br label %9302

9302:                                             ; preds = %9285, %9268
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %9303

9303:                                             ; preds = %9302
  br label %9304

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

9305:                                             ; No predecessors!
  br label %9306

9306:                                             ; preds = %9305
  br label %9307

9307:                                             ; preds = %9306, %9249
  br label %9308

9308:                                             ; preds = %9307
  br label %9309

9309:                                             ; preds = %9308
  call void @llvm.lifetime.start.p0(i64 108, ptr %239) #10
  %9310 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i32 0, i32 0
  store i32 -1, ptr %9310, align 4, !tbaa !17
  %9311 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i32 0, i32 1
  store i32 11, ptr %9311, align 4, !tbaa !19
  %9312 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i32 0, i32 2
  store i8 0, ptr %9312, align 4, !tbaa !20
  %9313 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 1
  %9314 = getelementptr inbounds %struct.s2n_send_result, ptr %9313, i32 0, i32 0
  store i32 -1, ptr %9314, align 4, !tbaa !17
  %9315 = getelementptr inbounds %struct.s2n_send_result, ptr %9313, i32 0, i32 1
  store i32 11, ptr %9315, align 4, !tbaa !19
  %9316 = getelementptr inbounds %struct.s2n_send_result, ptr %9313, i32 0, i32 2
  store i8 0, ptr %9316, align 4, !tbaa !20
  %9317 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 2
  %9318 = getelementptr inbounds %struct.s2n_send_result, ptr %9317, i32 0, i32 0
  store i32 2147483647, ptr %9318, align 4, !tbaa !17
  %9319 = getelementptr inbounds %struct.s2n_send_result, ptr %9317, i32 0, i32 1
  store i32 0, ptr %9319, align 4, !tbaa !19
  %9320 = getelementptr inbounds %struct.s2n_send_result, ptr %9317, i32 0, i32 2
  store i8 0, ptr %9320, align 4, !tbaa !20
  %9321 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 3
  %9322 = getelementptr inbounds %struct.s2n_send_result, ptr %9321, i32 0, i32 0
  store i32 -1, ptr %9322, align 4, !tbaa !17
  %9323 = getelementptr inbounds %struct.s2n_send_result, ptr %9321, i32 0, i32 1
  store i32 11, ptr %9323, align 4, !tbaa !19
  %9324 = getelementptr inbounds %struct.s2n_send_result, ptr %9321, i32 0, i32 2
  store i8 0, ptr %9324, align 4, !tbaa !20
  %9325 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 4
  %9326 = getelementptr inbounds %struct.s2n_send_result, ptr %9325, i32 0, i32 0
  store i32 -1, ptr %9326, align 4, !tbaa !17
  %9327 = getelementptr inbounds %struct.s2n_send_result, ptr %9325, i32 0, i32 1
  store i32 11, ptr %9327, align 4, !tbaa !19
  %9328 = getelementptr inbounds %struct.s2n_send_result, ptr %9325, i32 0, i32 2
  store i8 0, ptr %9328, align 4, !tbaa !20
  %9329 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 5
  %9330 = getelementptr inbounds %struct.s2n_send_result, ptr %9329, i32 0, i32 0
  %9331 = load i64, ptr %233, align 8, !tbaa !15
  %9332 = trunc i64 %9331 to i32
  store i32 %9332, ptr %9330, align 4, !tbaa !17
  %9333 = getelementptr inbounds %struct.s2n_send_result, ptr %9329, i32 0, i32 1
  store i32 0, ptr %9333, align 4, !tbaa !19
  %9334 = getelementptr inbounds %struct.s2n_send_result, ptr %9329, i32 0, i32 2
  store i8 1, ptr %9334, align 4, !tbaa !20
  %9335 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 6
  %9336 = getelementptr inbounds %struct.s2n_send_result, ptr %9335, i32 0, i32 0
  store i32 -1, ptr %9336, align 4, !tbaa !17
  %9337 = getelementptr inbounds %struct.s2n_send_result, ptr %9335, i32 0, i32 1
  store i32 11, ptr %9337, align 4, !tbaa !19
  %9338 = getelementptr inbounds %struct.s2n_send_result, ptr %9335, i32 0, i32 2
  store i8 0, ptr %9338, align 4, !tbaa !20
  %9339 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 7
  %9340 = getelementptr inbounds %struct.s2n_send_result, ptr %9339, i32 0, i32 0
  store i32 -1, ptr %9340, align 4, !tbaa !17
  %9341 = getelementptr inbounds %struct.s2n_send_result, ptr %9339, i32 0, i32 1
  store i32 11, ptr %9341, align 4, !tbaa !19
  %9342 = getelementptr inbounds %struct.s2n_send_result, ptr %9339, i32 0, i32 2
  store i8 0, ptr %9342, align 4, !tbaa !20
  %9343 = getelementptr inbounds %struct.s2n_send_result, ptr %239, i64 8
  %9344 = getelementptr inbounds %struct.s2n_send_result, ptr %9343, i32 0, i32 0
  store i32 2147483647, ptr %9344, align 4, !tbaa !17
  %9345 = getelementptr inbounds %struct.s2n_send_result, ptr %9343, i32 0, i32 1
  store i32 0, ptr %9345, align 4, !tbaa !19
  %9346 = getelementptr inbounds %struct.s2n_send_result, ptr %9343, i32 0, i32 2
  store i8 0, ptr %9346, align 4, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 32, ptr %240) #10
  %9347 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 0
  store i64 0, ptr %9347, align 8, !tbaa !24
  %9348 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 1
  store i64 0, ptr %9348, align 8, !tbaa !26
  %9349 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 2
  %9350 = getelementptr inbounds [9 x %struct.s2n_send_result], ptr %239, i64 0, i64 0
  store ptr %9350, ptr %9349, align 8, !tbaa !27
  %9351 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 3
  store i64 9, ptr %9351, align 8, !tbaa !28
  br label %9352

9352:                                             ; preds = %9309
  %9353 = load i32, ptr @test_count, align 4, !tbaa !5
  %9354 = add nsw i32 %9353, 1
  store i32 %9354, ptr @test_count, align 4, !tbaa !5
  %9355 = load ptr, ptr %227, align 8, !tbaa !9
  %9356 = call i32 @s2n_connection_set_send_ctx(ptr noundef %9355, ptr noundef %240)
  %9357 = icmp eq i32 %9356, -1
  br i1 %9357, label %9358, label %9411

9358:                                             ; preds = %9352
  br label %9359

9359:                                             ; preds = %9358
  br label %9360

9360:                                             ; preds = %9359
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %9361 = call ptr @__errno_location() #11
  %9362 = load i32, ptr %9361, align 4, !tbaa !5
  store i32 %9362, ptr %241, align 4, !tbaa !5
  %9363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9364 = call i32 @s2n_print_stacktrace(ptr noundef %9363)
  %9365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9366 = trunc i8 %9365 to i1
  br i1 %9366, label %9367, label %9389

9367:                                             ; preds = %9360
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = call i32 @fileno(ptr noundef %9368) #10
  %9370 = call i32 @isatty(i32 noundef %9369) #10
  %9371 = icmp ne i32 %9370, 0
  br i1 %9371, label %9372, label %9389

9372:                                             ; preds = %9367
  %9373 = load i32, ptr %241, align 4, !tbaa !5
  %9374 = call ptr @__errno_location() #11
  store i32 %9373, ptr %9374, align 4, !tbaa !5
  %9375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9376 = load i32, ptr @test_count, align 4, !tbaa !5
  %9377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9378 = load i32, ptr %9377, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror(i32 noundef %9378, ptr noundef @.str.4)
  %9380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror_debug(i32 noundef %9381, ptr noundef @.str.4)
  %9383 = call ptr @__errno_location() #11
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call ptr @strerror(i32 noundef %9384) #10
  %9386 = call ptr @__errno_location() #11
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9375, ptr noundef @.str.2, i32 noundef %9376, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 538, ptr noundef %9379, ptr noundef %9382, ptr noundef %9385, i32 noundef %9387) #10
  br label %9406

9389:                                             ; preds = %9367, %9360
  %9390 = load i32, ptr %241, 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.5, i32 noundef %9393, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 538, ptr noundef %9396, ptr noundef %9399, ptr noundef %9402, i32 noundef %9404) #10
  br label %9406

9406:                                             ; preds = %9389, %9372
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %9407

9407:                                             ; preds = %9406
  br label %9408

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

9409:                                             ; No predecessors!
  br label %9410

9410:                                             ; preds = %9409
  br label %9411

9411:                                             ; preds = %9410, %9352
  br label %9412

9412:                                             ; preds = %9411
  br label %9413

9413:                                             ; preds = %9412
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #10
  %9414 = load ptr, ptr %227, align 8, !tbaa !9
  %9415 = getelementptr inbounds %struct.s2n_connection, ptr %9414, i32 0, i32 27
  %9416 = load ptr, ptr %9415, align 8, !tbaa !61
  %9417 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9416, i32 0, i32 0
  %9418 = load ptr, ptr %9417, align 8, !tbaa !62
  %9419 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %9418, i32 0, i32 6
  %9420 = load ptr, ptr %9419, align 8, !tbaa !67
  %9421 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %9420, i32 0, i32 3
  %9422 = load i64, ptr %9421, align 8, !tbaa !69
  store i64 %9422, ptr %242, align 8, !tbaa !15
  br label %9423

9423:                                             ; preds = %9413
  %9424 = load i32, ptr @test_count, align 4, !tbaa !5
  %9425 = add nsw i32 %9424, 1
  store i32 %9425, ptr @test_count, align 4, !tbaa !5
  %9426 = load i64, ptr %242, align 8, !tbaa !15
  %9427 = icmp ugt i64 %9426, 0
  br i1 %9427, label %9481, label %9428

9428:                                             ; preds = %9423
  br label %9429

9429:                                             ; preds = %9428
  br label %9430

9430:                                             ; preds = %9429
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #10
  %9431 = call ptr @__errno_location() #11
  %9432 = load i32, ptr %9431, align 4, !tbaa !5
  store i32 %9432, ptr %243, align 4, !tbaa !5
  %9433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9434 = call i32 @s2n_print_stacktrace(ptr noundef %9433)
  %9435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9436 = trunc i8 %9435 to i1
  br i1 %9436, label %9437, label %9459

9437:                                             ; preds = %9430
  %9438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9439 = call i32 @fileno(ptr noundef %9438) #10
  %9440 = call i32 @isatty(i32 noundef %9439) #10
  %9441 = icmp ne i32 %9440, 0
  br i1 %9441, label %9442, label %9459

9442:                                             ; preds = %9437
  %9443 = load i32, ptr %243, align 4, !tbaa !5
  %9444 = call ptr @__errno_location() #11
  store i32 %9443, ptr %9444, align 4, !tbaa !5
  %9445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9446 = load i32, ptr @test_count, align 4, !tbaa !5
  %9447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  %9449 = call ptr @s2n_strerror(i32 noundef %9448, ptr noundef @.str.4)
  %9450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call ptr @s2n_strerror_debug(i32 noundef %9451, ptr noundef @.str.4)
  %9453 = call ptr @__errno_location() #11
  %9454 = load i32, ptr %9453, align 4, !tbaa !5
  %9455 = call ptr @strerror(i32 noundef %9454) #10
  %9456 = call ptr @__errno_location() #11
  %9457 = load i32, ptr %9456, align 4, !tbaa !5
  %9458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9445, ptr noundef @.str.2, i32 noundef %9446, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 542, ptr noundef %9449, ptr noundef %9452, ptr noundef %9455, i32 noundef %9457) #10
  br label %9476

9459:                                             ; preds = %9437, %9430
  %9460 = load i32, ptr %243, align 4, !tbaa !5
  %9461 = call ptr @__errno_location() #11
  store i32 %9460, ptr %9461, align 4, !tbaa !5
  %9462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9463 = load i32, ptr @test_count, align 4, !tbaa !5
  %9464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9465 = load i32, ptr %9464, align 4, !tbaa !5
  %9466 = call ptr @s2n_strerror(i32 noundef %9465, ptr noundef @.str.4)
  %9467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call ptr @s2n_strerror_debug(i32 noundef %9468, ptr noundef @.str.4)
  %9470 = call ptr @__errno_location() #11
  %9471 = load i32, ptr %9470, align 4, !tbaa !5
  %9472 = call ptr @strerror(i32 noundef %9471) #10
  %9473 = call ptr @__errno_location() #11
  %9474 = load i32, ptr %9473, align 4, !tbaa !5
  %9475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9462, ptr noundef @.str.5, i32 noundef %9463, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 542, ptr noundef %9466, ptr noundef %9469, ptr noundef %9472, i32 noundef %9474) #10
  br label %9476

9476:                                             ; preds = %9459, %9442
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #10
  br label %9477

9477:                                             ; preds = %9476
  br label %9478

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

9479:                                             ; No predecessors!
  br label %9480

9480:                                             ; preds = %9479
  br label %9481

9481:                                             ; preds = %9480, %9423
  br label %9482

9482:                                             ; preds = %9481
  br label %9483

9483:                                             ; preds = %9482
  call void @llvm.lifetime.start.p0(i64 24, ptr %244) #10
  call void @llvm.memset.p0.i64(ptr align 8 %244, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %245) #10
  call void @llvm.memset.p0.i64(ptr align 8 %245, i8 0, i64 40, i1 false)
  br label %9484

9484:                                             ; preds = %9483
  %9485 = load i32, ptr @test_count, align 4, !tbaa !5
  %9486 = add nsw i32 %9485, 1
  store i32 %9486, ptr @test_count, align 4, !tbaa !5
  %9487 = load ptr, ptr %227, align 8, !tbaa !9
  %9488 = getelementptr inbounds %struct.s2n_connection, ptr %9487, i32 0, i32 27
  %9489 = load ptr, ptr %9488, align 8, !tbaa !61
  %9490 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9489, i32 0, i32 7
  %9491 = getelementptr inbounds [8 x i8], ptr %9490, i64 0, i64 0
  %9492 = call i32 @s2n_blob_init(ptr noundef %244, ptr noundef %9491, i32 noundef 8)
  %9493 = icmp eq i32 %9492, -1
  br i1 %9493, label %9494, label %9547

9494:                                             ; preds = %9484
  br label %9495

9495:                                             ; preds = %9494
  br label %9496

9496:                                             ; preds = %9495
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #10
  %9497 = call ptr @__errno_location() #11
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  store i32 %9498, ptr %246, align 4, !tbaa !5
  %9499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9500 = call i32 @s2n_print_stacktrace(ptr noundef %9499)
  %9501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9502 = trunc i8 %9501 to i1
  br i1 %9502, label %9503, label %9525

9503:                                             ; preds = %9496
  %9504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9505 = call i32 @fileno(ptr noundef %9504) #10
  %9506 = call i32 @isatty(i32 noundef %9505) #10
  %9507 = icmp ne i32 %9506, 0
  br i1 %9507, label %9508, label %9525

9508:                                             ; preds = %9503
  %9509 = load i32, ptr %246, align 4, !tbaa !5
  %9510 = call ptr @__errno_location() #11
  store i32 %9509, ptr %9510, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = load i32, ptr @test_count, align 4, !tbaa !5
  %9513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9514 = load i32, ptr %9513, align 4, !tbaa !5
  %9515 = call ptr @s2n_strerror(i32 noundef %9514, ptr noundef @.str.4)
  %9516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9517 = load i32, ptr %9516, align 4, !tbaa !5
  %9518 = call ptr @s2n_strerror_debug(i32 noundef %9517, ptr noundef @.str.4)
  %9519 = call ptr @__errno_location() #11
  %9520 = load i32, ptr %9519, align 4, !tbaa !5
  %9521 = call ptr @strerror(i32 noundef %9520) #10
  %9522 = call ptr @__errno_location() #11
  %9523 = load i32, ptr %9522, align 4, !tbaa !5
  %9524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9511, ptr noundef @.str.2, i32 noundef %9512, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 547, ptr noundef %9515, ptr noundef %9518, ptr noundef %9521, i32 noundef %9523) #10
  br label %9542

9525:                                             ; preds = %9503, %9496
  %9526 = load i32, ptr %246, align 4, !tbaa !5
  %9527 = call ptr @__errno_location() #11
  store i32 %9526, ptr %9527, align 4, !tbaa !5
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = load i32, ptr @test_count, align 4, !tbaa !5
  %9530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9531 = load i32, ptr %9530, align 4, !tbaa !5
  %9532 = call ptr @s2n_strerror(i32 noundef %9531, ptr noundef @.str.4)
  %9533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  %9535 = call ptr @s2n_strerror_debug(i32 noundef %9534, ptr noundef @.str.4)
  %9536 = call ptr @__errno_location() #11
  %9537 = load i32, ptr %9536, align 4, !tbaa !5
  %9538 = call ptr @strerror(i32 noundef %9537) #10
  %9539 = call ptr @__errno_location() #11
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9528, ptr noundef @.str.5, i32 noundef %9529, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 547, ptr noundef %9532, ptr noundef %9535, ptr noundef %9538, i32 noundef %9540) #10
  br label %9542

9542:                                             ; preds = %9525, %9508
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #10
  br label %9543

9543:                                             ; preds = %9542
  br label %9544

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

9545:                                             ; No predecessors!
  br label %9546

9546:                                             ; preds = %9545
  br label %9547

9547:                                             ; preds = %9546, %9484
  br label %9548

9548:                                             ; preds = %9547
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

9550:                                             ; preds = %9549
  %9551 = load i32, ptr @test_count, align 4, !tbaa !5
  %9552 = add nsw i32 %9551, 1
  store i32 %9552, ptr @test_count, align 4, !tbaa !5
  %9553 = call i32 @s2n_stuffer_init(ptr noundef %245, ptr noundef %244)
  %9554 = icmp eq i32 %9553, -1
  br i1 %9554, label %9555, label %9608

9555:                                             ; preds = %9550
  br label %9556

9556:                                             ; preds = %9555
  br label %9557

9557:                                             ; preds = %9556
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #10
  %9558 = call ptr @__errno_location() #11
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  store i32 %9559, ptr %247, align 4, !tbaa !5
  %9560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9561 = call i32 @s2n_print_stacktrace(ptr noundef %9560)
  %9562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9563 = trunc i8 %9562 to i1
  br i1 %9563, label %9564, label %9586

9564:                                             ; preds = %9557
  %9565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9566 = call i32 @fileno(ptr noundef %9565) #10
  %9567 = call i32 @isatty(i32 noundef %9566) #10
  %9568 = icmp ne i32 %9567, 0
  br i1 %9568, label %9569, label %9586

9569:                                             ; preds = %9564
  %9570 = load i32, ptr %247, align 4, !tbaa !5
  %9571 = call ptr @__errno_location() #11
  store i32 %9570, ptr %9571, align 4, !tbaa !5
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = load i32, ptr @test_count, align 4, !tbaa !5
  %9574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9575 = load i32, ptr %9574, align 4, !tbaa !5
  %9576 = call ptr @s2n_strerror(i32 noundef %9575, ptr noundef @.str.4)
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror_debug(i32 noundef %9578, ptr noundef @.str.4)
  %9580 = call ptr @__errno_location() #11
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @strerror(i32 noundef %9581) #10
  %9583 = call ptr @__errno_location() #11
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9572, ptr noundef @.str.2, i32 noundef %9573, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9576, ptr noundef %9579, ptr noundef %9582, i32 noundef %9584) #10
  br label %9603

9586:                                             ; preds = %9564, %9557
  %9587 = load i32, ptr %247, align 4, !tbaa !5
  %9588 = call ptr @__errno_location() #11
  store i32 %9587, ptr %9588, align 4, !tbaa !5
  %9589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9590 = load i32, ptr @test_count, align 4, !tbaa !5
  %9591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9592 = load i32, ptr %9591, align 4, !tbaa !5
  %9593 = call ptr @s2n_strerror(i32 noundef %9592, ptr noundef @.str.4)
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror_debug(i32 noundef %9595, ptr noundef @.str.4)
  %9597 = call ptr @__errno_location() #11
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @strerror(i32 noundef %9598) #10
  %9600 = call ptr @__errno_location() #11
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9589, ptr noundef @.str.5, i32 noundef %9590, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9593, ptr noundef %9596, ptr noundef %9599, i32 noundef %9601) #10
  br label %9603

9603:                                             ; preds = %9586, %9569
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #10
  br label %9604

9604:                                             ; preds = %9603
  br label %9605

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

9606:                                             ; No predecessors!
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

9608:                                             ; preds = %9607, %9550
  br label %9609

9609:                                             ; preds = %9608
  br label %9610

9610:                                             ; preds = %9609
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #10
  %9611 = load i64, ptr %242, align 8, !tbaa !15
  %9612 = sub i64 %9611, 1
  store i64 %9612, ptr %248, align 8, !tbaa !15
  br label %9613

9613:                                             ; preds = %9610
  %9614 = load i32, ptr @test_count, align 4, !tbaa !5
  %9615 = add nsw i32 %9614, 1
  store i32 %9615, ptr @test_count, align 4, !tbaa !5
  %9616 = load i64, ptr %248, align 8, !tbaa !15
  %9617 = call i32 @s2n_stuffer_write_uint64(ptr noundef %245, i64 noundef %9616)
  %9618 = icmp eq i32 %9617, -1
  br i1 %9618, label %9619, label %9672

9619:                                             ; preds = %9613
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #10
  %9622 = call ptr @__errno_location() #11
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  store i32 %9623, ptr %249, align 4, !tbaa !5
  %9624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9625 = call i32 @s2n_print_stacktrace(ptr noundef %9624)
  %9626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9627 = trunc i8 %9626 to i1
  br i1 %9627, label %9628, label %9650

9628:                                             ; preds = %9621
  %9629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9630 = call i32 @fileno(ptr noundef %9629) #10
  %9631 = call i32 @isatty(i32 noundef %9630) #10
  %9632 = icmp ne i32 %9631, 0
  br i1 %9632, label %9633, label %9650

9633:                                             ; preds = %9628
  %9634 = load i32, ptr %249, align 4, !tbaa !5
  %9635 = call ptr @__errno_location() #11
  store i32 %9634, ptr %9635, align 4, !tbaa !5
  %9636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @s2n_strerror(i32 noundef %9639, ptr noundef @.str.4)
  %9641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call ptr @s2n_strerror_debug(i32 noundef %9642, ptr noundef @.str.4)
  %9644 = call ptr @__errno_location() #11
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call ptr @strerror(i32 noundef %9645) #10
  %9647 = call ptr @__errno_location() #11
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9636, ptr noundef @.str.2, i32 noundef %9637, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 552, ptr noundef %9640, ptr noundef %9643, ptr noundef %9646, i32 noundef %9648) #10
  br label %9667

9650:                                             ; preds = %9628, %9621
  %9651 = load i32, ptr %249, align 4, !tbaa !5
  %9652 = call ptr @__errno_location() #11
  store i32 %9651, ptr %9652, align 4, !tbaa !5
  %9653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9654 = load i32, ptr @test_count, align 4, !tbaa !5
  %9655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror(i32 noundef %9656, ptr noundef @.str.4)
  %9658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror_debug(i32 noundef %9659, ptr noundef @.str.4)
  %9661 = call ptr @__errno_location() #11
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call ptr @strerror(i32 noundef %9662) #10
  %9664 = call ptr @__errno_location() #11
  %9665 = load i32, ptr %9664, align 4, !tbaa !5
  %9666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9653, ptr noundef @.str.5, i32 noundef %9654, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 552, ptr noundef %9657, ptr noundef %9660, ptr noundef %9663, i32 noundef %9665) #10
  br label %9667

9667:                                             ; preds = %9650, %9633
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #10
  br label %9668

9668:                                             ; preds = %9667
  br label %9669

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

9670:                                             ; No predecessors!
  br label %9671

9671:                                             ; preds = %9670
  br label %9672

9672:                                             ; preds = %9671, %9613
  br label %9673

9673:                                             ; preds = %9672
  br label %9674

9674:                                             ; preds = %9673
  br label %9675

9675:                                             ; preds = %9674
  %9676 = load i32, ptr @test_count, align 4, !tbaa !5
  %9677 = add nsw i32 %9676, 1
  store i32 %9677, ptr @test_count, align 4, !tbaa !5
  %9678 = load ptr, ptr %227, align 8, !tbaa !9
  %9679 = call i32 @s2n_check_record_limit(ptr noundef %9678, ptr noundef %244)
  %9680 = icmp eq i32 %9679, -1
  br i1 %9680, label %9681, label %9734

9681:                                             ; preds = %9675
  br label %9682

9682:                                             ; preds = %9681
  br label %9683

9683:                                             ; preds = %9682
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #10
  %9684 = call ptr @__errno_location() #11
  %9685 = load i32, ptr %9684, align 4, !tbaa !5
  store i32 %9685, ptr %250, align 4, !tbaa !5
  %9686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9687 = call i32 @s2n_print_stacktrace(ptr noundef %9686)
  %9688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9689 = trunc i8 %9688 to i1
  br i1 %9689, label %9690, label %9712

9690:                                             ; preds = %9683
  %9691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9692 = call i32 @fileno(ptr noundef %9691) #10
  %9693 = call i32 @isatty(i32 noundef %9692) #10
  %9694 = icmp ne i32 %9693, 0
  br i1 %9694, label %9695, label %9712

9695:                                             ; preds = %9690
  %9696 = load i32, ptr %250, align 4, !tbaa !5
  %9697 = call ptr @__errno_location() #11
  store i32 %9696, ptr %9697, align 4, !tbaa !5
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = load i32, ptr @test_count, align 4, !tbaa !5
  %9700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9701 = load i32, ptr %9700, align 4, !tbaa !5
  %9702 = call ptr @s2n_strerror(i32 noundef %9701, ptr noundef @.str.4)
  %9703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9704 = load i32, ptr %9703, align 4, !tbaa !5
  %9705 = call ptr @s2n_strerror_debug(i32 noundef %9704, ptr noundef @.str.4)
  %9706 = call ptr @__errno_location() #11
  %9707 = load i32, ptr %9706, align 4, !tbaa !5
  %9708 = call ptr @strerror(i32 noundef %9707) #10
  %9709 = call ptr @__errno_location() #11
  %9710 = load i32, ptr %9709, align 4, !tbaa !5
  %9711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9698, ptr noundef @.str.2, i32 noundef %9699, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 553, ptr noundef %9702, ptr noundef %9705, ptr noundef %9708, i32 noundef %9710) #10
  br label %9729

9712:                                             ; preds = %9690, %9683
  %9713 = load i32, ptr %250, align 4, !tbaa !5
  %9714 = call ptr @__errno_location() #11
  store i32 %9713, ptr %9714, align 4, !tbaa !5
  %9715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9716 = load i32, ptr @test_count, align 4, !tbaa !5
  %9717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9718 = load i32, ptr %9717, align 4, !tbaa !5
  %9719 = call ptr @s2n_strerror(i32 noundef %9718, ptr noundef @.str.4)
  %9720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9721 = load i32, ptr %9720, align 4, !tbaa !5
  %9722 = call ptr @s2n_strerror_debug(i32 noundef %9721, ptr noundef @.str.4)
  %9723 = call ptr @__errno_location() #11
  %9724 = load i32, ptr %9723, align 4, !tbaa !5
  %9725 = call ptr @strerror(i32 noundef %9724) #10
  %9726 = call ptr @__errno_location() #11
  %9727 = load i32, ptr %9726, align 4, !tbaa !5
  %9728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9715, ptr noundef @.str.5, i32 noundef %9716, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 553, ptr noundef %9719, ptr noundef %9722, ptr noundef %9725, i32 noundef %9727) #10
  br label %9729

9729:                                             ; preds = %9712, %9695
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #10
  br label %9730

9730:                                             ; preds = %9729
  br label %9731

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

9732:                                             ; No predecessors!
  br label %9733

9733:                                             ; preds = %9732
  br label %9734

9734:                                             ; preds = %9733, %9675
  br label %9735

9735:                                             ; preds = %9734
  br label %9736

9736:                                             ; preds = %9735
  br label %9737

9737:                                             ; preds = %9736
  %9738 = load i32, ptr @test_count, align 4, !tbaa !5
  %9739 = add nsw i32 %9738, 1
  store i32 %9739, ptr @test_count, align 4, !tbaa !5
  %9740 = load ptr, ptr %227, align 8, !tbaa !9
  %9741 = getelementptr inbounds %struct.s2n_connection, ptr %9740, i32 0, i32 94
  %9742 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %9741)
  br i1 %9742, label %9743, label %9796

9743:                                             ; preds = %9737
  br label %9744

9744:                                             ; preds = %9743
  br label %9745

9745:                                             ; preds = %9744
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #10
  %9746 = call ptr @__errno_location() #11
  %9747 = load i32, ptr %9746, align 4, !tbaa !5
  store i32 %9747, ptr %251, align 4, !tbaa !5
  %9748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9749 = call i32 @s2n_print_stacktrace(ptr noundef %9748)
  %9750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9751 = trunc i8 %9750 to i1
  br i1 %9751, label %9752, label %9774

9752:                                             ; preds = %9745
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @fileno(ptr noundef %9753) #10
  %9755 = call i32 @isatty(i32 noundef %9754) #10
  %9756 = icmp ne i32 %9755, 0
  br i1 %9756, label %9757, label %9774

9757:                                             ; preds = %9752
  %9758 = load i32, ptr %251, align 4, !tbaa !5
  %9759 = call ptr @__errno_location() #11
  store i32 %9758, ptr %9759, align 4, !tbaa !5
  %9760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9761 = load i32, ptr @test_count, align 4, !tbaa !5
  %9762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9763 = load i32, ptr %9762, align 4, !tbaa !5
  %9764 = call ptr @s2n_strerror(i32 noundef %9763, ptr noundef @.str.4)
  %9765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9766 = load i32, ptr %9765, align 4, !tbaa !5
  %9767 = call ptr @s2n_strerror_debug(i32 noundef %9766, ptr noundef @.str.4)
  %9768 = call ptr @__errno_location() #11
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @strerror(i32 noundef %9769) #10
  %9771 = call ptr @__errno_location() #11
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9760, ptr noundef @.str.2, i32 noundef %9761, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 554, ptr noundef %9764, ptr noundef %9767, ptr noundef %9770, i32 noundef %9772) #10
  br label %9791

9774:                                             ; preds = %9752, %9745
  %9775 = load i32, ptr %251, align 4, !tbaa !5
  %9776 = call ptr @__errno_location() #11
  store i32 %9775, ptr %9776, align 4, !tbaa !5
  %9777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9778 = load i32, ptr @test_count, align 4, !tbaa !5
  %9779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9780 = load i32, ptr %9779, align 4, !tbaa !5
  %9781 = call ptr @s2n_strerror(i32 noundef %9780, ptr noundef @.str.4)
  %9782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9783 = load i32, ptr %9782, align 4, !tbaa !5
  %9784 = call ptr @s2n_strerror_debug(i32 noundef %9783, ptr noundef @.str.4)
  %9785 = call ptr @__errno_location() #11
  %9786 = load i32, ptr %9785, align 4, !tbaa !5
  %9787 = call ptr @strerror(i32 noundef %9786) #10
  %9788 = call ptr @__errno_location() #11
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9777, ptr noundef @.str.5, i32 noundef %9778, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 554, ptr noundef %9781, ptr noundef %9784, ptr noundef %9787, i32 noundef %9789) #10
  br label %9791

9791:                                             ; preds = %9774, %9757
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #10
  br label %9792

9792:                                             ; preds = %9791
  br label %9793

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

9794:                                             ; No predecessors!
  br label %9795

9795:                                             ; preds = %9794
  br label %9796

9796:                                             ; preds = %9795, %9737
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

9798:                                             ; preds = %9797
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #10
  store i64 0, ptr %252, align 8, !tbaa !15
  br label %9799

9799:                                             ; preds = %9940, %9798
  %9800 = load i64, ptr %252, align 8, !tbaa !15
  %9801 = icmp ult i64 %9800, 16394
  br i1 %9801, label %9802, label %9941

9802:                                             ; preds = %9799
  call void @llvm.lifetime.start.p0(i64 8, ptr %253) #10
  %9803 = load ptr, ptr %227, align 8, !tbaa !9
  %9804 = getelementptr inbounds [16394 x i8], ptr %10, i64 0, i64 0
  %9805 = load i64, ptr %252, align 8, !tbaa !15
  %9806 = getelementptr inbounds i8, ptr %9804, i64 %9805
  %9807 = load i64, ptr %252, align 8, !tbaa !15
  %9808 = sub i64 16394, %9807
  %9809 = call i64 @s2n_send(ptr noundef %9803, ptr noundef %9806, i64 noundef %9808, ptr noundef %226)
  store i64 %9809, ptr %253, align 8, !tbaa !15
  %9810 = load i64, ptr %253, align 8, !tbaa !15
  %9811 = icmp sge i64 %9810, 0
  br i1 %9811, label %9812, label %9816

9812:                                             ; preds = %9802
  %9813 = load i64, ptr %253, align 8, !tbaa !15
  %9814 = load i64, ptr %252, align 8, !tbaa !15
  %9815 = add i64 %9814, %9813
  store i64 %9815, ptr %252, align 8, !tbaa !15
  br label %9940

9816:                                             ; preds = %9802
  br label %9817

9817:                                             ; preds = %9816
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = add nsw i32 %9818, 1
  store i32 %9819, ptr @test_count, align 4, !tbaa !5
  %9820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9821 = load i32, ptr %9820, align 4, !tbaa !5
  %9822 = icmp eq i32 %9821, 201326592
  br i1 %9822, label %9876, label %9823

9823:                                             ; preds = %9817
  br label %9824

9824:                                             ; preds = %9823
  br label %9825

9825:                                             ; preds = %9824
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #10
  %9826 = call ptr @__errno_location() #11
  %9827 = load i32, ptr %9826, align 4, !tbaa !5
  store i32 %9827, ptr %254, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = call i32 @s2n_print_stacktrace(ptr noundef %9828)
  %9830 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9831 = trunc i8 %9830 to i1
  br i1 %9831, label %9832, label %9854

9832:                                             ; preds = %9825
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = call i32 @fileno(ptr noundef %9833) #10
  %9835 = call i32 @isatty(i32 noundef %9834) #10
  %9836 = icmp ne i32 %9835, 0
  br i1 %9836, label %9837, label %9854

9837:                                             ; preds = %9832
  %9838 = load i32, ptr %254, align 4, !tbaa !5
  %9839 = call ptr @__errno_location() #11
  store i32 %9838, ptr %9839, align 4, !tbaa !5
  %9840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9841 = load i32, ptr @test_count, align 4, !tbaa !5
  %9842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call ptr @s2n_strerror(i32 noundef %9843, ptr noundef @.str.4)
  %9845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call ptr @s2n_strerror_debug(i32 noundef %9846, ptr noundef @.str.4)
  %9848 = call ptr @__errno_location() #11
  %9849 = load i32, ptr %9848, align 4, !tbaa !5
  %9850 = call ptr @strerror(i32 noundef %9849) #10
  %9851 = call ptr @__errno_location() #11
  %9852 = load i32, ptr %9851, align 4, !tbaa !5
  %9853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9840, ptr noundef @.str.2, i32 noundef %9841, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 563, ptr noundef %9844, ptr noundef %9847, ptr noundef %9850, i32 noundef %9852) #10
  br label %9871

9854:                                             ; preds = %9832, %9825
  %9855 = load i32, ptr %254, align 4, !tbaa !5
  %9856 = call ptr @__errno_location() #11
  store i32 %9855, ptr %9856, align 4, !tbaa !5
  %9857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9858 = load i32, ptr @test_count, align 4, !tbaa !5
  %9859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9860 = load i32, ptr %9859, align 4, !tbaa !5
  %9861 = call ptr @s2n_strerror(i32 noundef %9860, ptr noundef @.str.4)
  %9862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9863 = load i32, ptr %9862, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror_debug(i32 noundef %9863, ptr noundef @.str.4)
  %9865 = call ptr @__errno_location() #11
  %9866 = load i32, ptr %9865, align 4, !tbaa !5
  %9867 = call ptr @strerror(i32 noundef %9866) #10
  %9868 = call ptr @__errno_location() #11
  %9869 = load i32, ptr %9868, align 4, !tbaa !5
  %9870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9857, ptr noundef @.str.5, i32 noundef %9858, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 563, ptr noundef %9861, ptr noundef %9864, ptr noundef %9867, i32 noundef %9869) #10
  br label %9871

9871:                                             ; preds = %9854, %9837
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #10
  br label %9872

9872:                                             ; preds = %9871
  br label %9873

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

9874:                                             ; No predecessors!
  br label %9875

9875:                                             ; preds = %9874
  br label %9876

9876:                                             ; preds = %9875, %9817
  br label %9877

9877:                                             ; preds = %9876
  br label %9878

9878:                                             ; preds = %9877
  br label %9879

9879:                                             ; preds = %9878
  %9880 = load i32, ptr @test_count, align 4, !tbaa !5
  %9881 = add nsw i32 %9880, 1
  store i32 %9881, ptr @test_count, align 4, !tbaa !5
  %9882 = load i32, ptr %226, align 4, !tbaa !5
  %9883 = icmp eq i32 %9882, 2
  br i1 %9883, label %9937, label %9884

9884:                                             ; preds = %9879
  br label %9885

9885:                                             ; preds = %9884
  br label %9886

9886:                                             ; preds = %9885
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #10
  %9887 = call ptr @__errno_location() #11
  %9888 = load i32, ptr %9887, align 4, !tbaa !5
  store i32 %9888, ptr %255, align 4, !tbaa !5
  %9889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9890 = call i32 @s2n_print_stacktrace(ptr noundef %9889)
  %9891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9892 = trunc i8 %9891 to i1
  br i1 %9892, label %9893, label %9915

9893:                                             ; preds = %9886
  %9894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9895 = call i32 @fileno(ptr noundef %9894) #10
  %9896 = call i32 @isatty(i32 noundef %9895) #10
  %9897 = icmp ne i32 %9896, 0
  br i1 %9897, label %9898, label %9915

9898:                                             ; preds = %9893
  %9899 = load i32, ptr %255, align 4, !tbaa !5
  %9900 = call ptr @__errno_location() #11
  store i32 %9899, ptr %9900, align 4, !tbaa !5
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = load i32, ptr @test_count, align 4, !tbaa !5
  %9903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror(i32 noundef %9904, ptr noundef @.str.4)
  %9906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @s2n_strerror_debug(i32 noundef %9907, ptr noundef @.str.4)
  %9909 = call ptr @__errno_location() #11
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @strerror(i32 noundef %9910) #10
  %9912 = call ptr @__errno_location() #11
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9901, ptr noundef @.str.2, i32 noundef %9902, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 564, ptr noundef %9905, ptr noundef %9908, ptr noundef %9911, i32 noundef %9913) #10
  br label %9932

9915:                                             ; preds = %9893, %9886
  %9916 = load i32, ptr %255, align 4, !tbaa !5
  %9917 = call ptr @__errno_location() #11
  store i32 %9916, ptr %9917, align 4, !tbaa !5
  %9918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9921 = load i32, ptr %9920, align 4, !tbaa !5
  %9922 = call ptr @s2n_strerror(i32 noundef %9921, ptr noundef @.str.4)
  %9923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9924 = load i32, ptr %9923, align 4, !tbaa !5
  %9925 = call ptr @s2n_strerror_debug(i32 noundef %9924, ptr noundef @.str.4)
  %9926 = call ptr @__errno_location() #11
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call ptr @strerror(i32 noundef %9927) #10
  %9929 = call ptr @__errno_location() #11
  %9930 = load i32, ptr %9929, align 4, !tbaa !5
  %9931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9918, ptr noundef @.str.5, i32 noundef %9919, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 564, ptr noundef %9922, ptr noundef %9925, ptr noundef %9928, i32 noundef %9930) #10
  br label %9932

9932:                                             ; preds = %9915, %9898
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #10
  br label %9933

9933:                                             ; preds = %9932
  br label %9934

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

9935:                                             ; No predecessors!
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

9937:                                             ; preds = %9936, %9879
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938
  br label %9940

9940:                                             ; preds = %9939, %9812
  call void @llvm.lifetime.end.p0(i64 8, ptr %253) #10
  br label %9799, !llvm.loop !72

9941:                                             ; preds = %9799
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #10
  store i64 0, ptr %256, align 8, !tbaa !15
  br label %9942

9942:                                             ; preds = %9941
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = add nsw i32 %9943, 1
  store i32 %9944, ptr @test_count, align 4, !tbaa !5
  %9945 = call i32 @s2n_stuffer_read_uint64(ptr noundef %245, ptr noundef %256)
  %9946 = icmp eq i32 %9945, -1
  br i1 %9946, label %9947, label %10000

9947:                                             ; preds = %9942
  br label %9948

9948:                                             ; preds = %9947
  br label %9949

9949:                                             ; preds = %9948
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #10
  %9950 = call ptr @__errno_location() #11
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  store i32 %9951, ptr %257, align 4, !tbaa !5
  %9952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9953 = call i32 @s2n_print_stacktrace(ptr noundef %9952)
  %9954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9955 = trunc i8 %9954 to i1
  br i1 %9955, label %9956, label %9978

9956:                                             ; preds = %9949
  %9957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9958 = call i32 @fileno(ptr noundef %9957) #10
  %9959 = call i32 @isatty(i32 noundef %9958) #10
  %9960 = icmp ne i32 %9959, 0
  br i1 %9960, label %9961, label %9978

9961:                                             ; preds = %9956
  %9962 = load i32, ptr %257, align 4, !tbaa !5
  %9963 = call ptr @__errno_location() #11
  store i32 %9962, ptr %9963, align 4, !tbaa !5
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = load i32, ptr @test_count, align 4, !tbaa !5
  %9966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call ptr @s2n_strerror(i32 noundef %9967, ptr noundef @.str.4)
  %9969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9970 = load i32, ptr %9969, align 4, !tbaa !5
  %9971 = call ptr @s2n_strerror_debug(i32 noundef %9970, ptr noundef @.str.4)
  %9972 = call ptr @__errno_location() #11
  %9973 = load i32, ptr %9972, align 4, !tbaa !5
  %9974 = call ptr @strerror(i32 noundef %9973) #10
  %9975 = call ptr @__errno_location() #11
  %9976 = load i32, ptr %9975, align 4, !tbaa !5
  %9977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9964, ptr noundef @.str.2, i32 noundef %9965, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 570, ptr noundef %9968, ptr noundef %9971, ptr noundef %9974, i32 noundef %9976) #10
  br label %9995

9978:                                             ; preds = %9956, %9949
  %9979 = load i32, ptr %257, align 4, !tbaa !5
  %9980 = call ptr @__errno_location() #11
  store i32 %9979, ptr %9980, align 4, !tbaa !5
  %9981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9982 = load i32, ptr @test_count, align 4, !tbaa !5
  %9983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror(i32 noundef %9984, ptr noundef @.str.4)
  %9986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9987 = load i32, ptr %9986, align 4, !tbaa !5
  %9988 = call ptr @s2n_strerror_debug(i32 noundef %9987, ptr noundef @.str.4)
  %9989 = call ptr @__errno_location() #11
  %9990 = load i32, ptr %9989, align 4, !tbaa !5
  %9991 = call ptr @strerror(i32 noundef %9990) #10
  %9992 = call ptr @__errno_location() #11
  %9993 = load i32, ptr %9992, align 4, !tbaa !5
  %9994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9981, ptr noundef @.str.5, i32 noundef %9982, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 570, ptr noundef %9985, ptr noundef %9988, ptr noundef %9991, i32 noundef %9993) #10
  br label %9995

9995:                                             ; preds = %9978, %9961
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #10
  br label %9996

9996:                                             ; preds = %9995
  br label %9997

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

9998:                                             ; No predecessors!
  br label %9999

9999:                                             ; preds = %9998
  br label %10000

10000:                                            ; preds = %9999, %9942
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001
  br label %10003

10003:                                            ; preds = %10002
  %10004 = load i32, ptr @test_count, align 4, !tbaa !5
  %10005 = add nsw i32 %10004, 1
  store i32 %10005, ptr @test_count, align 4, !tbaa !5
  %10006 = load i64, ptr %256, align 8, !tbaa !15
  %10007 = load i64, ptr %248, align 8, !tbaa !15
  %10008 = icmp ult i64 %10006, %10007
  br i1 %10008, label %10062, label %10009

10009:                                            ; preds = %10003
  br label %10010

10010:                                            ; preds = %10009
  br label %10011

10011:                                            ; preds = %10010
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #10
  %10012 = call ptr @__errno_location() #11
  %10013 = load i32, ptr %10012, align 4, !tbaa !5
  store i32 %10013, ptr %258, align 4, !tbaa !5
  %10014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10015 = call i32 @s2n_print_stacktrace(ptr noundef %10014)
  %10016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10017 = trunc i8 %10016 to i1
  br i1 %10017, label %10018, label %10040

10018:                                            ; preds = %10011
  %10019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10020 = call i32 @fileno(ptr noundef %10019) #10
  %10021 = call i32 @isatty(i32 noundef %10020) #10
  %10022 = icmp ne i32 %10021, 0
  br i1 %10022, label %10023, label %10040

10023:                                            ; preds = %10018
  %10024 = load i32, ptr %258, align 4, !tbaa !5
  %10025 = call ptr @__errno_location() #11
  store i32 %10024, ptr %10025, align 4, !tbaa !5
  %10026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10027 = load i32, ptr @test_count, align 4, !tbaa !5
  %10028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call ptr @s2n_strerror(i32 noundef %10029, ptr noundef @.str.4)
  %10031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call ptr @s2n_strerror_debug(i32 noundef %10032, ptr noundef @.str.4)
  %10034 = call ptr @__errno_location() #11
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call ptr @strerror(i32 noundef %10035) #10
  %10037 = call ptr @__errno_location() #11
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10026, ptr noundef @.str.2, i32 noundef %10027, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 571, ptr noundef %10030, ptr noundef %10033, ptr noundef %10036, i32 noundef %10038) #10
  br label %10057

10040:                                            ; preds = %10018, %10011
  %10041 = load i32, ptr %258, align 4, !tbaa !5
  %10042 = call ptr @__errno_location() #11
  store i32 %10041, ptr %10042, align 4, !tbaa !5
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = load i32, ptr @test_count, align 4, !tbaa !5
  %10045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10046 = load i32, ptr %10045, align 4, !tbaa !5
  %10047 = call ptr @s2n_strerror(i32 noundef %10046, ptr noundef @.str.4)
  %10048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call ptr @s2n_strerror_debug(i32 noundef %10049, ptr noundef @.str.4)
  %10051 = call ptr @__errno_location() #11
  %10052 = load i32, ptr %10051, align 4, !tbaa !5
  %10053 = call ptr @strerror(i32 noundef %10052) #10
  %10054 = call ptr @__errno_location() #11
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10043, ptr noundef @.str.5, i32 noundef %10044, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 571, ptr noundef %10047, ptr noundef %10050, ptr noundef %10053, i32 noundef %10055) #10
  br label %10057

10057:                                            ; preds = %10040, %10023
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #10
  br label %10058

10058:                                            ; preds = %10057
  br label %10059

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

10060:                                            ; No predecessors!
  br label %10061

10061:                                            ; preds = %10060
  br label %10062

10062:                                            ; preds = %10061, %10003
  br label %10063

10063:                                            ; preds = %10062
  br label %10064

10064:                                            ; preds = %10063
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #10
  store i64 9, ptr %259, align 8, !tbaa !15
  br label %10065

10065:                                            ; preds = %10064
  %10066 = load i32, ptr @test_count, align 4, !tbaa !5
  %10067 = add nsw i32 %10066, 1
  store i32 %10067, ptr @test_count, align 4, !tbaa !5
  %10068 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 0
  %10069 = load i64, ptr %10068, align 8, !tbaa !24
  %10070 = load i64, ptr %259, align 8, !tbaa !15
  %10071 = icmp eq i64 %10069, %10070
  br i1 %10071, label %10125, label %10072

10072:                                            ; preds = %10065
  br label %10073

10073:                                            ; preds = %10072
  br label %10074

10074:                                            ; preds = %10073
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #10
  %10075 = call ptr @__errno_location() #11
  %10076 = load i32, ptr %10075, align 4, !tbaa !5
  store i32 %10076, ptr %260, align 4, !tbaa !5
  %10077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10078 = call i32 @s2n_print_stacktrace(ptr noundef %10077)
  %10079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10080 = trunc i8 %10079 to i1
  br i1 %10080, label %10081, label %10103

10081:                                            ; preds = %10074
  %10082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10083 = call i32 @fileno(ptr noundef %10082) #10
  %10084 = call i32 @isatty(i32 noundef %10083) #10
  %10085 = icmp ne i32 %10084, 0
  br i1 %10085, label %10086, label %10103

10086:                                            ; preds = %10081
  %10087 = load i32, ptr %260, align 4, !tbaa !5
  %10088 = call ptr @__errno_location() #11
  store i32 %10087, ptr %10088, align 4, !tbaa !5
  %10089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10090 = load i32, ptr @test_count, align 4, !tbaa !5
  %10091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror(i32 noundef %10092, ptr noundef @.str.4)
  %10094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  %10096 = call ptr @s2n_strerror_debug(i32 noundef %10095, ptr noundef @.str.4)
  %10097 = call ptr @__errno_location() #11
  %10098 = load i32, ptr %10097, align 4, !tbaa !5
  %10099 = call ptr @strerror(i32 noundef %10098) #10
  %10100 = call ptr @__errno_location() #11
  %10101 = load i32, ptr %10100, align 4, !tbaa !5
  %10102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10089, ptr noundef @.str.2, i32 noundef %10090, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 575, ptr noundef %10093, ptr noundef %10096, ptr noundef %10099, i32 noundef %10101) #10
  br label %10120

10103:                                            ; preds = %10081, %10074
  %10104 = load i32, ptr %260, align 4, !tbaa !5
  %10105 = call ptr @__errno_location() #11
  store i32 %10104, ptr %10105, align 4, !tbaa !5
  %10106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10107 = load i32, ptr @test_count, align 4, !tbaa !5
  %10108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror(i32 noundef %10109, ptr noundef @.str.4)
  %10111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call ptr @s2n_strerror_debug(i32 noundef %10112, ptr noundef @.str.4)
  %10114 = call ptr @__errno_location() #11
  %10115 = load i32, ptr %10114, align 4, !tbaa !5
  %10116 = call ptr @strerror(i32 noundef %10115) #10
  %10117 = call ptr @__errno_location() #11
  %10118 = load i32, ptr %10117, align 4, !tbaa !5
  %10119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10106, ptr noundef @.str.5, i32 noundef %10107, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 575, ptr noundef %10110, ptr noundef %10113, ptr noundef %10116, i32 noundef %10118) #10
  br label %10120

10120:                                            ; preds = %10103, %10086
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #10
  br label %10121

10121:                                            ; preds = %10120
  br label %10122

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

10123:                                            ; No predecessors!
  br label %10124

10124:                                            ; preds = %10123
  br label %10125

10125:                                            ; preds = %10124, %10065
  br label %10126

10126:                                            ; preds = %10125
  br label %10127

10127:                                            ; preds = %10126
  br label %10128

10128:                                            ; preds = %10127
  %10129 = load i32, ptr @test_count, align 4, !tbaa !5
  %10130 = add nsw i32 %10129, 1
  store i32 %10130, ptr @test_count, align 4, !tbaa !5
  %10131 = getelementptr inbounds %struct.s2n_send_context, ptr %240, i32 0, i32 1
  %10132 = load i64, ptr %10131, align 8, !tbaa !26
  %10133 = load i16, ptr %88, align 2, !tbaa !60
  %10134 = zext i16 %10133 to i64
  %10135 = load i64, ptr %233, align 8, !tbaa !15
  %10136 = add i64 %10134, %10135
  %10137 = icmp eq i64 %10132, %10136
  br i1 %10137, label %10191, label %10138

10138:                                            ; preds = %10128
  br label %10139

10139:                                            ; preds = %10138
  br label %10140

10140:                                            ; preds = %10139
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #10
  %10141 = call ptr @__errno_location() #11
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  store i32 %10142, ptr %261, align 4, !tbaa !5
  %10143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10144 = call i32 @s2n_print_stacktrace(ptr noundef %10143)
  %10145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10146 = trunc i8 %10145 to i1
  br i1 %10146, label %10147, label %10169

10147:                                            ; preds = %10140
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = call i32 @fileno(ptr noundef %10148) #10
  %10150 = call i32 @isatty(i32 noundef %10149) #10
  %10151 = icmp ne i32 %10150, 0
  br i1 %10151, label %10152, label %10169

10152:                                            ; preds = %10147
  %10153 = load i32, ptr %261, align 4, !tbaa !5
  %10154 = call ptr @__errno_location() #11
  store i32 %10153, ptr %10154, align 4, !tbaa !5
  %10155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10156 = load i32, ptr @test_count, align 4, !tbaa !5
  %10157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10158 = load i32, ptr %10157, align 4, !tbaa !5
  %10159 = call ptr @s2n_strerror(i32 noundef %10158, ptr noundef @.str.4)
  %10160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10161 = load i32, ptr %10160, align 4, !tbaa !5
  %10162 = call ptr @s2n_strerror_debug(i32 noundef %10161, ptr noundef @.str.4)
  %10163 = call ptr @__errno_location() #11
  %10164 = load i32, ptr %10163, align 4, !tbaa !5
  %10165 = call ptr @strerror(i32 noundef %10164) #10
  %10166 = call ptr @__errno_location() #11
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10155, ptr noundef @.str.2, i32 noundef %10156, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 576, ptr noundef %10159, ptr noundef %10162, ptr noundef %10165, i32 noundef %10167) #10
  br label %10186

10169:                                            ; preds = %10147, %10140
  %10170 = load i32, ptr %261, align 4, !tbaa !5
  %10171 = call ptr @__errno_location() #11
  store i32 %10170, ptr %10171, align 4, !tbaa !5
  %10172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10173 = load i32, ptr @test_count, align 4, !tbaa !5
  %10174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call ptr @s2n_strerror(i32 noundef %10175, ptr noundef @.str.4)
  %10177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10178 = load i32, ptr %10177, align 4, !tbaa !5
  %10179 = call ptr @s2n_strerror_debug(i32 noundef %10178, ptr noundef @.str.4)
  %10180 = call ptr @__errno_location() #11
  %10181 = load i32, ptr %10180, align 4, !tbaa !5
  %10182 = call ptr @strerror(i32 noundef %10181) #10
  %10183 = call ptr @__errno_location() #11
  %10184 = load i32, ptr %10183, align 4, !tbaa !5
  %10185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10172, ptr noundef @.str.5, i32 noundef %10173, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 576, ptr noundef %10176, ptr noundef %10179, ptr noundef %10182, i32 noundef %10184) #10
  br label %10186

10186:                                            ; preds = %10169, %10152
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #10
  br label %10187

10187:                                            ; preds = %10186
  br label %10188

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

10189:                                            ; No predecessors!
  br label %10190

10190:                                            ; preds = %10189
  br label %10191

10191:                                            ; preds = %10190, %10128
  br label %10192

10192:                                            ; preds = %10191
  br label %10193

10193:                                            ; preds = %10192
  br label %10194

10194:                                            ; preds = %10193
  %10195 = load i32, ptr @test_count, align 4, !tbaa !5
  %10196 = add nsw i32 %10195, 1
  store i32 %10196, ptr @test_count, align 4, !tbaa !5
  %10197 = load ptr, ptr %227, align 8, !tbaa !9
  %10198 = getelementptr inbounds %struct.s2n_connection, ptr %10197, i32 0, i32 41
  %10199 = getelementptr inbounds %struct.s2n_stuffer, ptr %10198, i32 0, i32 0
  %10200 = getelementptr inbounds %struct.s2n_blob, ptr %10199, i32 0, i32 1
  %10201 = load i32, ptr %10200, align 8, !tbaa !58
  %10202 = zext i32 %10201 to i64
  %10203 = icmp eq i64 %10202, 20000
  br i1 %10203, label %10257, label %10204

10204:                                            ; preds = %10194
  br label %10205

10205:                                            ; preds = %10204
  br label %10206

10206:                                            ; preds = %10205
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #10
  %10207 = call ptr @__errno_location() #11
  %10208 = load i32, ptr %10207, align 4, !tbaa !5
  store i32 %10208, ptr %262, align 4, !tbaa !5
  %10209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10210 = call i32 @s2n_print_stacktrace(ptr noundef %10209)
  %10211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10212 = trunc i8 %10211 to i1
  br i1 %10212, label %10213, label %10235

10213:                                            ; preds = %10206
  %10214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10215 = call i32 @fileno(ptr noundef %10214) #10
  %10216 = call i32 @isatty(i32 noundef %10215) #10
  %10217 = icmp ne i32 %10216, 0
  br i1 %10217, label %10218, label %10235

10218:                                            ; preds = %10213
  %10219 = load i32, ptr %262, align 4, !tbaa !5
  %10220 = call ptr @__errno_location() #11
  store i32 %10219, ptr %10220, align 4, !tbaa !5
  %10221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10222 = load i32, ptr @test_count, align 4, !tbaa !5
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror(i32 noundef %10224, ptr noundef @.str.4)
  %10226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @s2n_strerror_debug(i32 noundef %10227, ptr noundef @.str.4)
  %10229 = call ptr @__errno_location() #11
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call ptr @strerror(i32 noundef %10230) #10
  %10232 = call ptr @__errno_location() #11
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10221, ptr noundef @.str.2, i32 noundef %10222, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 579, ptr noundef %10225, ptr noundef %10228, ptr noundef %10231, i32 noundef %10233) #10
  br label %10252

10235:                                            ; preds = %10213, %10206
  %10236 = load i32, ptr %262, align 4, !tbaa !5
  %10237 = call ptr @__errno_location() #11
  store i32 %10236, ptr %10237, align 4, !tbaa !5
  %10238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10239 = load i32, ptr @test_count, align 4, !tbaa !5
  %10240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call ptr @s2n_strerror(i32 noundef %10241, ptr noundef @.str.4)
  %10243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @s2n_strerror_debug(i32 noundef %10244, ptr noundef @.str.4)
  %10246 = call ptr @__errno_location() #11
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call ptr @strerror(i32 noundef %10247) #10
  %10249 = call ptr @__errno_location() #11
  %10250 = load i32, ptr %10249, align 4, !tbaa !5
  %10251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10238, ptr noundef @.str.5, i32 noundef %10239, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 579, ptr noundef %10242, ptr noundef %10245, ptr noundef %10248, i32 noundef %10250) #10
  br label %10252

10252:                                            ; preds = %10235, %10218
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #10
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

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

10255:                                            ; No predecessors!
  br label %10256

10256:                                            ; preds = %10255
  br label %10257

10257:                                            ; preds = %10256, %10194
  br label %10258

10258:                                            ; preds = %10257
  br label %10259

10259:                                            ; preds = %10258
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %245) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %244) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %240) #10
  call void @llvm.lifetime.end.p0(i64 108, ptr %239) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #10
  %10260 = call i32 @s2n_connection_ptr_free(ptr noundef %227)
  %10261 = getelementptr inbounds %struct.s2n_result, ptr %263, i32 0, i32 0
  store i32 %10260, ptr %10261, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %10262

10262:                                            ; preds = %10259
  br label %10263

10263:                                            ; preds = %10262
  %10264 = call i32 @s2n_cleanup()
  %10265 = icmp eq i32 %10264, -1
  br i1 %10265, label %10266, label %10319

10266:                                            ; preds = %10263
  br label %10267

10267:                                            ; preds = %10266
  br label %10268

10268:                                            ; preds = %10267
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #10
  %10269 = call ptr @__errno_location() #11
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  store i32 %10270, ptr %264, align 4, !tbaa !5
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = call i32 @s2n_print_stacktrace(ptr noundef %10271)
  %10273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10274 = trunc i8 %10273 to i1
  br i1 %10274, label %10275, label %10297

10275:                                            ; preds = %10268
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @fileno(ptr noundef %10276) #10
  %10278 = call i32 @isatty(i32 noundef %10277) #10
  %10279 = icmp ne i32 %10278, 0
  br i1 %10279, label %10280, label %10297

10280:                                            ; preds = %10275
  %10281 = load i32, ptr %264, align 4, !tbaa !5
  %10282 = call ptr @__errno_location() #11
  store i32 %10281, ptr %10282, align 4, !tbaa !5
  %10283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10284 = load i32, ptr @test_count, align 4, !tbaa !5
  %10285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call ptr @s2n_strerror(i32 noundef %10286, ptr noundef @.str.4)
  %10288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call ptr @s2n_strerror_debug(i32 noundef %10289, ptr noundef @.str.4)
  %10291 = call ptr @__errno_location() #11
  %10292 = load i32, ptr %10291, align 4, !tbaa !5
  %10293 = call ptr @strerror(i32 noundef %10292) #10
  %10294 = call ptr @__errno_location() #11
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10283, ptr noundef @.str.2, i32 noundef %10284, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 582, ptr noundef %10287, ptr noundef %10290, ptr noundef %10293, i32 noundef %10295) #10
  br label %10314

10297:                                            ; preds = %10275, %10268
  %10298 = load i32, ptr %264, align 4, !tbaa !5
  %10299 = call ptr @__errno_location() #11
  store i32 %10298, ptr %10299, align 4, !tbaa !5
  %10300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10301 = load i32, ptr @test_count, align 4, !tbaa !5
  %10302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call ptr @s2n_strerror(i32 noundef %10303, ptr noundef @.str.4)
  %10305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror_debug(i32 noundef %10306, ptr noundef @.str.4)
  %10308 = call ptr @__errno_location() #11
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @strerror(i32 noundef %10309) #10
  %10311 = call ptr @__errno_location() #11
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10300, ptr noundef @.str.5, i32 noundef %10301, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 582, ptr noundef %10304, ptr noundef %10307, ptr noundef %10310, i32 noundef %10312) #10
  br label %10314

10314:                                            ; preds = %10297, %10280
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #10
  br label %10315

10315:                                            ; preds = %10314
  br label %10316

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

10317:                                            ; No predecessors!
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318, %10263
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  br label %10323

10323:                                            ; preds = %10322
  %10324 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %10325 = icmp eq i32 %10324, -1
  br i1 %10325, label %10326, label %10379

10326:                                            ; preds = %10323
  br label %10327

10327:                                            ; preds = %10326
  br label %10328

10328:                                            ; preds = %10327
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #10
  %10329 = call ptr @__errno_location() #11
  %10330 = load i32, ptr %10329, align 4, !tbaa !5
  store i32 %10330, ptr %265, align 4, !tbaa !5
  %10331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10332 = call i32 @s2n_print_stacktrace(ptr noundef %10331)
  %10333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10334 = trunc i8 %10333 to i1
  br i1 %10334, label %10335, label %10357

10335:                                            ; preds = %10328
  %10336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10337 = call i32 @fileno(ptr noundef %10336) #10
  %10338 = call i32 @isatty(i32 noundef %10337) #10
  %10339 = icmp ne i32 %10338, 0
  br i1 %10339, label %10340, label %10357

10340:                                            ; preds = %10335
  %10341 = load i32, ptr %265, align 4, !tbaa !5
  %10342 = call ptr @__errno_location() #11
  store i32 %10341, ptr %10342, align 4, !tbaa !5
  %10343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10344 = load i32, ptr @test_count, align 4, !tbaa !5
  %10345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10346 = load i32, ptr %10345, align 4, !tbaa !5
  %10347 = call ptr @s2n_strerror(i32 noundef %10346, ptr noundef @.str.4)
  %10348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10349 = load i32, ptr %10348, align 4, !tbaa !5
  %10350 = call ptr @s2n_strerror_debug(i32 noundef %10349, ptr noundef @.str.4)
  %10351 = call ptr @__errno_location() #11
  %10352 = load i32, ptr %10351, align 4, !tbaa !5
  %10353 = call ptr @strerror(i32 noundef %10352) #10
  %10354 = call ptr @__errno_location() #11
  %10355 = load i32, ptr %10354, align 4, !tbaa !5
  %10356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10343, ptr noundef @.str.2, i32 noundef %10344, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 582, ptr noundef %10347, ptr noundef %10350, ptr noundef %10353, i32 noundef %10355) #10
  br label %10374

10357:                                            ; preds = %10335, %10328
  %10358 = load i32, ptr %265, align 4, !tbaa !5
  %10359 = call ptr @__errno_location() #11
  store i32 %10358, ptr %10359, align 4, !tbaa !5
  %10360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10361 = load i32, ptr @test_count, align 4, !tbaa !5
  %10362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10363 = load i32, ptr %10362, align 4, !tbaa !5
  %10364 = call ptr @s2n_strerror(i32 noundef %10363, ptr noundef @.str.4)
  %10365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10366 = load i32, ptr %10365, align 4, !tbaa !5
  %10367 = call ptr @s2n_strerror_debug(i32 noundef %10366, ptr noundef @.str.4)
  %10368 = call ptr @__errno_location() #11
  %10369 = load i32, ptr %10368, align 4, !tbaa !5
  %10370 = call ptr @strerror(i32 noundef %10369) #10
  %10371 = call ptr @__errno_location() #11
  %10372 = load i32, ptr %10371, align 4, !tbaa !5
  %10373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10360, ptr noundef @.str.5, i32 noundef %10361, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 582, ptr noundef %10364, ptr noundef %10367, ptr noundef %10370, i32 noundef %10372) #10
  br label %10374

10374:                                            ; preds = %10357, %10340
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #10
  br label %10375

10375:                                            ; preds = %10374
  br label %10376

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

10377:                                            ; No predecessors!
  br label %10378

10378:                                            ; preds = %10377
  br label %10379

10379:                                            ; preds = %10378, %10323
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

10381:                                            ; preds = %10380
  %10382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10383 = trunc i8 %10382 to i1
  br i1 %10383, label %10384, label %10400

10384:                                            ; preds = %10381
  %10385 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10386 = call i32 @fileno(ptr noundef %10385) #10
  %10387 = call i32 @isatty(i32 noundef %10386) #10
  %10388 = icmp ne i32 %10387, 0
  br i1 %10388, label %10389, label %10400

10389:                                            ; preds = %10384
  %10390 = load i32, ptr @test_count, align 4, !tbaa !5
  %10391 = icmp ne i32 %10390, 0
  br i1 %10391, label %10392, label %10396

10392:                                            ; preds = %10389
  %10393 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10394 = load i32, ptr @test_count, align 4, !tbaa !5
  %10395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10393, ptr noundef @.str.72, i32 noundef %10394) #10
  br label %10399

10396:                                            ; preds = %10389
  %10397 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10397, ptr noundef @.str.73) #10
  br label %10399

10399:                                            ; preds = %10396, %10392
  br label %10411

10400:                                            ; preds = %10384, %10381
  %10401 = load i32, ptr @test_count, align 4, !tbaa !5
  %10402 = icmp ne i32 %10401, 0
  br i1 %10402, label %10403, label %10407

10403:                                            ; preds = %10400
  %10404 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10405 = load i32, ptr @test_count, align 4, !tbaa !5
  %10406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10404, ptr noundef @.str.74, i32 noundef %10405) #10
  br label %10410

10407:                                            ; preds = %10400
  %10408 = load ptr, ptr @stdout, align 8, !tbaa !9
  %10409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10408, ptr noundef @.str.75) #10
  br label %10410

10410:                                            ; preds = %10407, %10403
  br label %10411

10411:                                            ; preds = %10410, %10399
  store i32 0, ptr %3, align 4
  store i32 1, ptr %266, align 4
  br label %10416

10412:                                            ; No predecessors!
  br label %10413

10413:                                            ; preds = %10412
  br label %10414

10414:                                            ; preds = %10413
  br label %10415

10415:                                            ; preds = %10414
  store i32 0, ptr %266, align 4
  br label %10416

10416:                                            ; preds = %10415, %10411
  call void @llvm.lifetime.end.p0(i64 2, ptr %88) #10
  %10417 = call i32 @s2n_config_ptr_free(ptr noundef %24)
  %10418 = getelementptr inbounds %struct.s2n_result, ptr %267, i32 0, i32 0
  store i32 %10417, ptr %10418, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  %10419 = call i32 @s2n_config_ptr_free(ptr noundef %20)
  %10420 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %10419, ptr %10420, align 4
  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 32, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 600, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 16394, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 12, ptr %9) #10
  %10421 = load i32, ptr %266, align 4
  switch i32 %10421, label %10424 [
    i32 0, label %10422
    i32 1, label %10422
  ]

10422:                                            ; preds = %10416, %10416
  %10423 = load i32, ptr %3, align 4
  ret i32 %10423

10424:                                            ; preds = %10416
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

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

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

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

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

declare i32 @s2n_get_public_random_data(ptr noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

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

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare zeroext i1 @s2n_should_flush(ptr noundef, i64 noundef) #2

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

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

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

declare i32 @s2n_connection_set_secrets(ptr noundef) #2

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

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

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

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare void @s2n_atomic_flag_set(ptr noundef) #2

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

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) #2

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

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

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

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

declare i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef) #2

declare i32 @s2n_cleanup() #2

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

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

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


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

%struct.s2n_send_result = type { i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_send_context = type { i64, i64, ptr, i64 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [84 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [44 x i8], align 1
@__const.main.results = external hidden unnamed_addr constant [5 x %struct.s2n_send_result], align 16
@.str.53 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.75 = 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 [12 x i8], align 1
  %4 = alloca [16394 x i8], align 16
  %5 = alloca %struct.s2n_blob, align 8
  %6 = alloca [50 x %struct.s2n_send_result], align 16
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca %struct.s2n_send_context, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca %struct.s2n_send_context, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca %struct.s2n_send_context, align 8
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca %struct.s2n_send_context, align 8
  %24 = alloca i32, align 4
  %25 = alloca ptr, align 8
  %26 = alloca [5 x %struct.s2n_send_result], align 16
  %27 = alloca %struct.s2n_send_context, align 8
  %28 = alloca i32, align 4
  %29 = alloca ptr, align 8
  %30 = alloca [5 x %struct.s2n_send_result], align 16
  %31 = alloca %struct.s2n_send_context, align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca ptr, align 8
  %35 = alloca %struct.s2n_send_context, align 8
  %36 = alloca [3 x %struct.s2n_send_result], align 16
  %37 = alloca %struct.s2n_send_context, align 8
  %38 = alloca %struct.s2n_blob, align 8
  %39 = alloca %struct.s2n_stuffer, align 8
  %40 = alloca i64, align 8
  %41 = alloca ptr, align 8
  %42 = alloca %struct.s2n_send_context, align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca ptr, align 8
  %46 = alloca %struct.s2n_send_context, align 8
  %47 = alloca [9 x %struct.s2n_send_result], align 16
  %48 = alloca %struct.s2n_send_context, align 8
  %49 = alloca %struct.s2n_blob, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca i64, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %52 = load ptr, ptr @stdout, align 8, !tbaa !9
  %53 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %52, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #11
  %54 = load ptr, ptr @stdout, align 8, !tbaa !9
  %55 = tail call i32 @fflush(ptr noundef %54)
  %56 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %57 = icmp eq i32 %56, -1
  br i1 %57, label %58, label %82

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

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

69:                                               ; preds = %65, %58
  br label %70

70:                                               ; preds = %65, %69
  %.str.5.sink = phi ptr [ @.str.5, %69 ], [ @.str.2, %65 ]
  store i32 %60, ptr %59, align 4, !tbaa !5
  %71 = load ptr, ptr @stderr, align 8, !tbaa !9
  %72 = load i32, ptr @test_count, align 4, !tbaa !5
  %73 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %74 = load i32, ptr %73, align 4, !tbaa !5
  %75 = tail call ptr @s2n_strerror(i32 noundef %74, ptr noundef nonnull @.str.4) #11
  %76 = load i32, ptr %73, align 4, !tbaa !5
  %77 = tail call ptr @s2n_strerror_debug(i32 noundef %76, ptr noundef nonnull @.str.4) #11
  %78 = load i32, ptr %59, align 4, !tbaa !5
  %79 = tail call ptr @strerror(i32 noundef %78) #11
  %80 = load i32, ptr %59, align 4, !tbaa !5
  %81 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %71, ptr noundef nonnull %.str.5.sink, i32 noundef %72, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %75, ptr noundef %77, ptr noundef %79, i32 noundef %80) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

82:                                               ; preds = %2
  %83 = load i32, ptr @test_count, align 4, !tbaa !5
  %84 = add nsw i32 %83, 1
  store i32 %84, ptr @test_count, align 4, !tbaa !5
  %85 = tail call i32 @s2n_enable_atexit() #11
  %86 = icmp eq i32 %85, -1
  br i1 %86, label %87, label %111

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

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

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

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

111:                                              ; preds = %82
  %112 = tail call i32 @s2n_init() #11
  %113 = icmp eq i32 %112, -1
  br i1 %113, label %114, label %138

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

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

125:                                              ; preds = %121, %114
  br label %126

126:                                              ; preds = %121, %125
  %.str.5.sink633 = phi ptr [ @.str.5, %125 ], [ @.str.2, %121 ]
  store i32 %116, ptr %115, align 4, !tbaa !5
  %127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %128 = load i32, ptr @test_count, align 4, !tbaa !5
  %129 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror(i32 noundef %130, ptr noundef nonnull @.str.4) #11
  %132 = load i32, ptr %129, align 4, !tbaa !5
  %133 = tail call ptr @s2n_strerror_debug(i32 noundef %132, ptr noundef nonnull @.str.4) #11
  %134 = load i32, ptr %115, align 4, !tbaa !5
  %135 = tail call ptr @strerror(i32 noundef %134) #11
  %136 = load i32, ptr %115, align 4, !tbaa !5
  %137 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull %.str.5.sink633, i32 noundef %128, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %131, ptr noundef %133, ptr noundef %135, i32 noundef %136) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

138:                                              ; preds = %111
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %3, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 16394, ptr nonnull %4) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(16394) %4, i8 0, i64 16394, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, i8 0, i64 24, i1 false)
  %139 = load i32, ptr @test_count, align 4, !tbaa !5
  %140 = add nsw i32 %139, 1
  store i32 %140, ptr @test_count, align 4, !tbaa !5
  %141 = call i32 @s2n_blob_init(ptr noundef nonnull %5, ptr noundef nonnull %4, i32 noundef 16394) #11
  %142 = icmp eq i32 %141, -1
  br i1 %142, label %143, label %167

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

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

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

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

167:                                              ; preds = %138
  %168 = load i32, ptr @test_count, align 4, !tbaa !5
  %169 = add nsw i32 %168, 1
  store i32 %169, ptr @test_count, align 4, !tbaa !5
  %170 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %5) #11
  %171 = call zeroext i1 @s2n_result_is_ok(i32 %170)
  br i1 %171, label %196, label %172

172:                                              ; preds = %167
  %173 = tail call ptr @__errno_location() #12
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %176 = call i32 @s2n_print_stacktrace(ptr noundef %175) #11
  %177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %178 = trunc nuw i8 %177 to i1
  br i1 %178, label %179, label %183

179:                                              ; preds = %172
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = call i32 @fileno(ptr noundef %180) #11
  %182 = call i32 @isatty(i32 noundef %181) #11
  %.not = icmp eq i32 %182, 0
  br i1 %.not, label %183, label %184

183:                                              ; preds = %179, %172
  br label %184

184:                                              ; preds = %179, %183
  %.str.5.sink655 = phi ptr [ @.str.5, %183 ], [ @.str.2, %179 ]
  store i32 %174, ptr %173, align 4, !tbaa !5
  %185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %186 = load i32, ptr @test_count, align 4, !tbaa !5
  %187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = call ptr @s2n_strerror(i32 noundef %188, ptr noundef nonnull @.str.4) #11
  %190 = load i32, ptr %187, align 4, !tbaa !5
  %191 = call ptr @s2n_strerror_debug(i32 noundef %190, ptr noundef nonnull @.str.4) #11
  %192 = load i32, ptr %173, align 4, !tbaa !5
  %193 = call ptr @strerror(i32 noundef %192) #11
  %194 = load i32, ptr %173, align 4, !tbaa !5
  %195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %185, ptr noundef nonnull %.str.5.sink655, i32 noundef %186, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %189, ptr noundef %191, ptr noundef %193, i32 noundef %194) #13
  call void @exit(i32 noundef 1) #14
  unreachable

196:                                              ; preds = %167
  call void @llvm.lifetime.start.p0(i64 600, ptr nonnull %6) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(600) %6, i8 0, i64 600, i1 false)
  br label %202

197:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  %198 = call ptr @s2n_config_new() #11
  store ptr %198, ptr %7, align 8, !tbaa !9
  %199 = load i32, ptr @test_count, align 4, !tbaa !5
  %200 = add nsw i32 %199, 1
  store i32 %200, ptr @test_count, align 4, !tbaa !5
  %201 = icmp eq ptr %198, null
  br i1 %201, label %207, label %231

202:                                              ; preds = %202, %196
  %.0610 = phi i64 [ 0, %196 ], [ %206, %202 ]
  %203 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %6, i64 0, i64 %.0610
  store i32 2147483647, ptr %203, align 8, !tbaa !5
  %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %203, i64 4
  store i32 0, ptr %.sroa.2.0..sroa_idx, align 4, !tbaa !5
  %.sroa.3.0..sroa_idx = getelementptr inbounds i8, ptr %203, i64 8
  store i8 0, ptr %.sroa.3.0..sroa_idx, align 8, !tbaa !11
  %204 = or disjoint i64 %.0610, 1
  %205 = getelementptr inbounds [50 x %struct.s2n_send_result], ptr %6, i64 0, i64 %204
  store i32 2147483647, ptr %205, align 4, !tbaa !5
  %.sroa.2.0..sroa_idx.1 = getelementptr inbounds i8, ptr %205, i64 4
  store i32 0, ptr %.sroa.2.0..sroa_idx.1, align 8, !tbaa !5
  %.sroa.3.0..sroa_idx.1 = getelementptr inbounds i8, ptr %205, i64 8
  store i8 0, ptr %.sroa.3.0..sroa_idx.1, align 4, !tbaa !11
  %206 = add nuw nsw i64 %.0610, 2
  %exitcond.not.1 = icmp eq i64 %206, 50
  br i1 %exitcond.not.1, label %197, label %202, !llvm.loop !15

207:                                              ; preds = %197
  %208 = tail call ptr @__errno_location() #12
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = call i32 @s2n_print_stacktrace(ptr noundef %210) #11
  %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 = call i32 @fileno(ptr noundef %215) #11
  %217 = call i32 @isatty(i32 noundef %216) #11
  %.not605 = icmp eq i32 %217, 0
  br i1 %.not605, label %218, label %219

218:                                              ; preds = %214, %207
  br label %219

219:                                              ; preds = %214, %218
  %.str.5.sink666 = 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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = call ptr @s2n_strerror(i32 noundef %223, ptr noundef nonnull @.str.4) #11
  %225 = load i32, ptr %222, align 4, !tbaa !5
  %226 = call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.4) #11
  %227 = load i32, ptr %208, align 4, !tbaa !5
  %228 = call ptr @strerror(i32 noundef %227) #11
  %229 = load i32, ptr %208, align 4, !tbaa !5
  %230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull %.str.5.sink666, i32 noundef %221, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %224, ptr noundef %226, ptr noundef %228, i32 noundef %229) #13
  call void @exit(i32 noundef 1) #14
  unreachable

231:                                              ; preds = %197
  %232 = add nsw i32 %199, 2
  store i32 %232, ptr @test_count, align 4, !tbaa !5
  %233 = call i32 @s2n_config_set_send_buffer_size(ptr noundef nonnull %198, i32 noundef 20000) #11
  %234 = icmp eq i32 %233, -1
  br i1 %234, label %235, label %259

235:                                              ; preds = %231
  %236 = tail call ptr @__errno_location() #12
  %237 = load i32, ptr %236, align 4, !tbaa !5
  %238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %239 = call i32 @s2n_print_stacktrace(ptr noundef %238) #11
  %240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %241 = trunc nuw i8 %240 to i1
  br i1 %241, label %242, label %246

242:                                              ; preds = %235
  %243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %244 = call i32 @fileno(ptr noundef %243) #11
  %245 = call i32 @isatty(i32 noundef %244) #11
  %.not604 = icmp eq i32 %245, 0
  br i1 %.not604, label %246, label %247

246:                                              ; preds = %242, %235
  br label %247

247:                                              ; preds = %242, %246
  %.str.5.sink677 = phi ptr [ @.str.5, %246 ], [ @.str.2, %242 ]
  store i32 %237, ptr %236, align 4, !tbaa !5
  %248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %249 = load i32, ptr @test_count, align 4, !tbaa !5
  %250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = call ptr @s2n_strerror(i32 noundef %251, ptr noundef nonnull @.str.4) #11
  %253 = load i32, ptr %250, align 4, !tbaa !5
  %254 = call ptr @s2n_strerror_debug(i32 noundef %253, ptr noundef nonnull @.str.4) #11
  %255 = load i32, ptr %236, align 4, !tbaa !5
  %256 = call ptr @strerror(i32 noundef %255) #11
  %257 = load i32, ptr %236, align 4, !tbaa !5
  %258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %248, ptr noundef nonnull %.str.5.sink677, i32 noundef %249, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %252, ptr noundef %254, ptr noundef %256, i32 noundef %257) #13
  call void @exit(i32 noundef 1) #14
  unreachable

259:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  %260 = call ptr @s2n_config_new() #11
  store ptr %260, ptr %8, align 8, !tbaa !9
  %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 = icmp eq ptr %260, null
  br i1 %263, label %264, label %288

264:                                              ; preds = %259
  %265 = tail call ptr @__errno_location() #12
  %266 = load i32, ptr %265, align 4, !tbaa !5
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = call i32 @s2n_print_stacktrace(ptr noundef %267) #11
  %269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %270 = trunc nuw i8 %269 to i1
  br i1 %270, label %271, label %275

271:                                              ; preds = %264
  %272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %273 = call i32 @fileno(ptr noundef %272) #11
  %274 = call i32 @isatty(i32 noundef %273) #11
  %.not603 = icmp eq i32 %274, 0
  br i1 %.not603, label %275, label %276

275:                                              ; preds = %271, %264
  br label %276

276:                                              ; preds = %271, %275
  %.str.5.sink688 = phi ptr [ @.str.5, %275 ], [ @.str.2, %271 ]
  store i32 %266, ptr %265, align 4, !tbaa !5
  %277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %278 = load i32, ptr @test_count, align 4, !tbaa !5
  %279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %280 = load i32, ptr %279, align 4, !tbaa !5
  %281 = call ptr @s2n_strerror(i32 noundef %280, ptr noundef nonnull @.str.4) #11
  %282 = load i32, ptr %279, align 4, !tbaa !5
  %283 = call ptr @s2n_strerror_debug(i32 noundef %282, ptr noundef nonnull @.str.4) #11
  %284 = load i32, ptr %265, align 4, !tbaa !5
  %285 = call ptr @strerror(i32 noundef %284) #11
  %286 = load i32, ptr %265, align 4, !tbaa !5
  %287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %277, ptr noundef nonnull %.str.5.sink688, i32 noundef %278, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %281, ptr noundef %283, ptr noundef %285, i32 noundef %286) #13
  call void @exit(i32 noundef 1) #14
  unreachable

288:                                              ; preds = %259
  %289 = add nsw i32 %261, 2
  store i32 %289, ptr @test_count, align 4, !tbaa !5
  %290 = call i32 @s2n_config_set_send_buffer_size(ptr noundef nonnull %260, i32 noundef 17300) #11
  %291 = icmp eq i32 %290, -1
  br i1 %291, label %292, label %316

292:                                              ; preds = %288
  %293 = tail call ptr @__errno_location() #12
  %294 = load i32, ptr %293, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = call i32 @s2n_print_stacktrace(ptr noundef %295) #11
  %297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %298 = trunc nuw i8 %297 to i1
  br i1 %298, label %299, label %303

299:                                              ; preds = %292
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = call i32 @fileno(ptr noundef %300) #11
  %302 = call i32 @isatty(i32 noundef %301) #11
  %.not602 = icmp eq i32 %302, 0
  br i1 %.not602, label %303, label %304

303:                                              ; preds = %299, %292
  br label %304

304:                                              ; preds = %299, %303
  %.str.5.sink699 = phi ptr [ @.str.5, %303 ], [ @.str.2, %299 ]
  store i32 %294, ptr %293, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = load i32, ptr @test_count, align 4, !tbaa !5
  %307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %308 = load i32, ptr %307, align 4, !tbaa !5
  %309 = call ptr @s2n_strerror(i32 noundef %308, ptr noundef nonnull @.str.4) #11
  %310 = load i32, ptr %307, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror_debug(i32 noundef %310, ptr noundef nonnull @.str.4) #11
  %312 = load i32, ptr %293, align 4, !tbaa !5
  %313 = call ptr @strerror(i32 noundef %312) #11
  %314 = load i32, ptr %293, align 4, !tbaa !5
  %315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %305, ptr noundef nonnull %.str.5.sink699, i32 noundef %306, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %309, ptr noundef %311, ptr noundef %313, i32 noundef %314) #13
  call void @exit(i32 noundef 1) #14
  unreachable

316:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #11
  %317 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %317, ptr %9, align 8, !tbaa !9
  %318 = load i32, ptr @test_count, align 4, !tbaa !5
  %319 = add nsw i32 %318, 1
  store i32 %319, ptr @test_count, align 4, !tbaa !5
  %320 = load i32, ptr %317, align 8
  %321 = and i32 %320, 32768
  %.not445 = icmp eq i32 %321, 0
  br i1 %.not445, label %346, label %322

322:                                              ; preds = %316
  %323 = tail call ptr @__errno_location() #12
  %324 = load i32, ptr %323, align 4, !tbaa !5
  %325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %326 = call i32 @s2n_print_stacktrace(ptr noundef %325) #11
  %327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %328 = trunc nuw i8 %327 to i1
  br i1 %328, label %329, label %333

329:                                              ; preds = %322
  %330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %331 = call i32 @fileno(ptr noundef %330) #11
  %332 = call i32 @isatty(i32 noundef %331) #11
  %.not601 = icmp eq i32 %332, 0
  br i1 %.not601, label %333, label %334

333:                                              ; preds = %329, %322
  br label %334

334:                                              ; preds = %329, %333
  %.str.5.sink710 = phi ptr [ @.str.5, %333 ], [ @.str.2, %329 ]
  store i32 %324, ptr %323, align 4, !tbaa !5
  %335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %336 = load i32, ptr @test_count, align 4, !tbaa !5
  %337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %338 = load i32, ptr %337, align 4, !tbaa !5
  %339 = call ptr @s2n_strerror(i32 noundef %338, ptr noundef nonnull @.str.4) #11
  %340 = load i32, ptr %337, align 4, !tbaa !5
  %341 = call ptr @s2n_strerror_debug(i32 noundef %340, ptr noundef nonnull @.str.4) #11
  %342 = load i32, ptr %323, align 4, !tbaa !5
  %343 = call ptr @strerror(i32 noundef %342) #11
  %344 = load i32, ptr %323, align 4, !tbaa !5
  %345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %335, ptr noundef nonnull %.str.5.sink710, i32 noundef %336, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %339, ptr noundef %341, ptr noundef %343, i32 noundef %344) #13
  call void @exit(i32 noundef 1) #14
  unreachable

346:                                              ; preds = %316
  %347 = add nsw i32 %318, 2
  store i32 %347, ptr @test_count, align 4, !tbaa !5
  %348 = call zeroext i1 @s2n_should_flush(ptr noundef nonnull %317, i64 noundef 20000) #11
  br i1 %348, label %373, label %349

349:                                              ; preds = %346
  %350 = tail call ptr @__errno_location() #12
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %353 = call i32 @s2n_print_stacktrace(ptr noundef %352) #11
  %354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %355 = trunc nuw i8 %354 to i1
  br i1 %355, label %356, label %360

356:                                              ; preds = %349
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = call i32 @fileno(ptr noundef %357) #11
  %359 = call i32 @isatty(i32 noundef %358) #11
  %.not446 = icmp eq i32 %359, 0
  br i1 %.not446, label %360, label %361

360:                                              ; preds = %356, %349
  br label %361

361:                                              ; preds = %356, %360
  %.str.5.sink721 = phi ptr [ @.str.5, %360 ], [ @.str.2, %356 ]
  store i32 %351, ptr %350, align 4, !tbaa !5
  %362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %365 = load i32, ptr %364, align 4, !tbaa !5
  %366 = call ptr @s2n_strerror(i32 noundef %365, ptr noundef nonnull @.str.4) #11
  %367 = load i32, ptr %364, align 4, !tbaa !5
  %368 = call ptr @s2n_strerror_debug(i32 noundef %367, ptr noundef nonnull @.str.4) #11
  %369 = load i32, ptr %350, align 4, !tbaa !5
  %370 = call ptr @strerror(i32 noundef %369) #11
  %371 = load i32, ptr %350, align 4, !tbaa !5
  %372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %362, ptr noundef nonnull %.str.5.sink721, i32 noundef %363, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %366, ptr noundef %368, ptr noundef %370, i32 noundef %371) #13
  call void @exit(i32 noundef 1) #14
  unreachable

373:                                              ; preds = %346
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = add nsw i32 %374, 1
  store i32 %375, ptr @test_count, align 4, !tbaa !5
  %376 = load ptr, ptr %9, align 8, !tbaa !9
  %377 = call i32 @s2n_connection_set_config(ptr noundef %376, ptr noundef nonnull %198) #11
  %378 = icmp eq i32 %377, -1
  br i1 %378, label %379, label %403

379:                                              ; preds = %373
  %380 = tail call ptr @__errno_location() #12
  %381 = load i32, ptr %380, align 4, !tbaa !5
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = call i32 @s2n_print_stacktrace(ptr noundef %382) #11
  %384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %385 = trunc nuw i8 %384 to i1
  br i1 %385, label %386, label %390

386:                                              ; preds = %379
  %387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %388 = call i32 @fileno(ptr noundef %387) #11
  %389 = call i32 @isatty(i32 noundef %388) #11
  %.not600 = icmp eq i32 %389, 0
  br i1 %.not600, label %390, label %391

390:                                              ; preds = %386, %379
  br label %391

391:                                              ; preds = %386, %390
  %.str.5.sink732 = phi ptr [ @.str.5, %390 ], [ @.str.2, %386 ]
  store i32 %381, ptr %380, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = load i32, ptr @test_count, align 4, !tbaa !5
  %394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %395 = load i32, ptr %394, align 4, !tbaa !5
  %396 = call ptr @s2n_strerror(i32 noundef %395, ptr noundef nonnull @.str.4) #11
  %397 = load i32, ptr %394, align 4, !tbaa !5
  %398 = call ptr @s2n_strerror_debug(i32 noundef %397, ptr noundef nonnull @.str.4) #11
  %399 = load i32, ptr %380, align 4, !tbaa !5
  %400 = call ptr @strerror(i32 noundef %399) #11
  %401 = load i32, ptr %380, align 4, !tbaa !5
  %402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %392, ptr noundef nonnull %.str.5.sink732, i32 noundef %393, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %396, ptr noundef %398, ptr noundef %400, i32 noundef %401) #13
  call void @exit(i32 noundef 1) #14
  unreachable

403:                                              ; preds = %373
  %404 = load i32, ptr @test_count, align 4, !tbaa !5
  %405 = add nsw i32 %404, 1
  store i32 %405, ptr @test_count, align 4, !tbaa !5
  %406 = load ptr, ptr %9, align 8, !tbaa !9
  %407 = load i32, ptr %406, align 8
  %408 = and i32 %407, 32768
  %.not447 = icmp eq i32 %408, 0
  br i1 %.not447, label %409, label %433

409:                                              ; preds = %403
  %410 = tail call ptr @__errno_location() #12
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %413 = call i32 @s2n_print_stacktrace(ptr noundef %412) #11
  %414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %415 = trunc nuw i8 %414 to i1
  br i1 %415, label %416, label %420

416:                                              ; preds = %409
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = call i32 @fileno(ptr noundef %417) #11
  %419 = call i32 @isatty(i32 noundef %418) #11
  %.not448 = icmp eq i32 %419, 0
  br i1 %.not448, label %420, label %421

420:                                              ; preds = %416, %409
  br label %421

421:                                              ; preds = %416, %420
  %.str.5.sink743 = phi ptr [ @.str.5, %420 ], [ @.str.2, %416 ]
  store i32 %411, ptr %410, align 4, !tbaa !5
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = load i32, ptr @test_count, align 4, !tbaa !5
  %424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %425 = load i32, ptr %424, align 4, !tbaa !5
  %426 = call ptr @s2n_strerror(i32 noundef %425, ptr noundef nonnull @.str.4) #11
  %427 = load i32, ptr %424, align 4, !tbaa !5
  %428 = call ptr @s2n_strerror_debug(i32 noundef %427, ptr noundef nonnull @.str.4) #11
  %429 = load i32, ptr %410, align 4, !tbaa !5
  %430 = call ptr @strerror(i32 noundef %429) #11
  %431 = load i32, ptr %410, align 4, !tbaa !5
  %432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %422, ptr noundef nonnull %.str.5.sink743, i32 noundef %423, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %426, ptr noundef %428, ptr noundef %430, i32 noundef %431) #13
  call void @exit(i32 noundef 1) #14
  unreachable

433:                                              ; preds = %403
  %434 = add nsw i32 %404, 2
  store i32 %434, ptr @test_count, align 4, !tbaa !5
  %435 = call zeroext i1 @s2n_should_flush(ptr noundef nonnull %406, i64 noundef 20000) #11
  br i1 %435, label %436, label %460

436:                                              ; preds = %433
  %437 = tail call ptr @__errno_location() #12
  %438 = load i32, ptr %437, align 4, !tbaa !5
  %439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %440 = call i32 @s2n_print_stacktrace(ptr noundef %439) #11
  %441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %442 = trunc nuw i8 %441 to i1
  br i1 %442, label %443, label %447

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

447:                                              ; preds = %443, %436
  br label %448

448:                                              ; preds = %443, %447
  %.str.5.sink754 = phi ptr [ @.str.5, %447 ], [ @.str.2, %443 ]
  store i32 %438, ptr %437, align 4, !tbaa !5
  %449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %450 = load i32, ptr @test_count, align 4, !tbaa !5
  %451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror(i32 noundef %452, ptr noundef nonnull @.str.4) #11
  %454 = load i32, ptr %451, align 4, !tbaa !5
  %455 = call ptr @s2n_strerror_debug(i32 noundef %454, ptr noundef nonnull @.str.4) #11
  %456 = load i32, ptr %437, align 4, !tbaa !5
  %457 = call ptr @strerror(i32 noundef %456) #11
  %458 = load i32, ptr %437, align 4, !tbaa !5
  %459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %449, ptr noundef nonnull %.str.5.sink754, i32 noundef %450, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %453, ptr noundef %455, ptr noundef %457, i32 noundef %458) #13
  call void @exit(i32 noundef 1) #14
  unreachable

460:                                              ; preds = %433
  %461 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #11
  %462 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %462, ptr %10, align 8, !tbaa !9
  %463 = load i32, ptr @test_count, align 4, !tbaa !5
  %464 = add nsw i32 %463, 1
  store i32 %464, ptr @test_count, align 4, !tbaa !5
  %465 = call i32 @s2n_connection_set_config(ptr noundef %462, ptr noundef nonnull %198) #11
  %466 = icmp eq i32 %465, -1
  br i1 %466, label %467, label %491

467:                                              ; preds = %460
  %468 = tail call ptr @__errno_location() #12
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %471 = call i32 @s2n_print_stacktrace(ptr noundef %470) #11
  %472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %473 = trunc nuw i8 %472 to i1
  br i1 %473, label %474, label %478

474:                                              ; preds = %467
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = call i32 @fileno(ptr noundef %475) #11
  %477 = call i32 @isatty(i32 noundef %476) #11
  %.not598 = icmp eq i32 %477, 0
  br i1 %.not598, label %478, label %479

478:                                              ; preds = %474, %467
  br label %479

479:                                              ; preds = %474, %478
  %.str.5.sink765 = phi ptr [ @.str.5, %478 ], [ @.str.2, %474 ]
  store i32 %469, ptr %468, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = load i32, ptr @test_count, align 4, !tbaa !5
  %482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = call ptr @s2n_strerror(i32 noundef %483, ptr noundef nonnull @.str.4) #11
  %485 = load i32, ptr %482, align 4, !tbaa !5
  %486 = call ptr @s2n_strerror_debug(i32 noundef %485, ptr noundef nonnull @.str.4) #11
  %487 = load i32, ptr %468, align 4, !tbaa !5
  %488 = call ptr @strerror(i32 noundef %487) #11
  %489 = load i32, ptr %468, align 4, !tbaa !5
  %490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %480, ptr noundef nonnull %.str.5.sink765, i32 noundef %481, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %484, ptr noundef %486, ptr noundef %488, i32 noundef %489) #13
  call void @exit(i32 noundef 1) #14
  unreachable

491:                                              ; preds = %460
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = add nsw i32 %492, 1
  store i32 %493, ptr @test_count, align 4, !tbaa !5
  %494 = load ptr, ptr %10, align 8, !tbaa !9
  %495 = call zeroext i1 @s2n_should_flush(ptr noundef %494, i64 noundef 100) #11
  br i1 %495, label %496, label %520

496:                                              ; preds = %491
  %497 = tail call ptr @__errno_location() #12
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %500 = call i32 @s2n_print_stacktrace(ptr noundef %499) #11
  %501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %502 = trunc nuw i8 %501 to i1
  br i1 %502, label %503, label %507

503:                                              ; preds = %496
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = call i32 @fileno(ptr noundef %504) #11
  %506 = call i32 @isatty(i32 noundef %505) #11
  %.not597 = icmp eq i32 %506, 0
  br i1 %.not597, label %507, label %508

507:                                              ; preds = %503, %496
  br label %508

508:                                              ; preds = %503, %507
  %.str.5.sink776 = phi ptr [ @.str.5, %507 ], [ @.str.2, %503 ]
  store i32 %498, ptr %497, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call ptr @s2n_strerror(i32 noundef %512, ptr noundef nonnull @.str.4) #11
  %514 = load i32, ptr %511, align 4, !tbaa !5
  %515 = call ptr @s2n_strerror_debug(i32 noundef %514, ptr noundef nonnull @.str.4) #11
  %516 = load i32, ptr %497, align 4, !tbaa !5
  %517 = call ptr @strerror(i32 noundef %516) #11
  %518 = load i32, ptr %497, align 4, !tbaa !5
  %519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %509, ptr noundef nonnull %.str.5.sink776, i32 noundef %510, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %513, ptr noundef %515, ptr noundef %517, i32 noundef %518) #13
  call void @exit(i32 noundef 1) #14
  unreachable

520:                                              ; preds = %491
  %521 = load ptr, ptr %10, align 8, !tbaa !9
  %522 = getelementptr inbounds i8, ptr %521, i64 1944
  store i64 50, ptr %522, align 8, !tbaa !17
  %523 = load i32, ptr @test_count, align 4, !tbaa !5
  %524 = add nsw i32 %523, 1
  store i32 %524, ptr @test_count, align 4, !tbaa !5
  %525 = call zeroext i1 @s2n_should_flush(ptr noundef %521, i64 noundef 100) #11
  br i1 %525, label %526, label %550

526:                                              ; preds = %520
  %527 = tail call ptr @__errno_location() #12
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = call i32 @s2n_print_stacktrace(ptr noundef %529) #11
  %531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %532 = trunc nuw i8 %531 to i1
  br i1 %532, label %533, label %537

533:                                              ; preds = %526
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = call i32 @fileno(ptr noundef %534) #11
  %536 = call i32 @isatty(i32 noundef %535) #11
  %.not596 = icmp eq i32 %536, 0
  br i1 %.not596, label %537, label %538

537:                                              ; preds = %533, %526
  br label %538

538:                                              ; preds = %533, %537
  %.str.5.sink787 = phi ptr [ @.str.5, %537 ], [ @.str.2, %533 ]
  store i32 %528, ptr %527, align 4, !tbaa !5
  %539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %542 = load i32, ptr %541, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror(i32 noundef %542, ptr noundef nonnull @.str.4) #11
  %544 = load i32, ptr %541, align 4, !tbaa !5
  %545 = call ptr @s2n_strerror_debug(i32 noundef %544, ptr noundef nonnull @.str.4) #11
  %546 = load i32, ptr %527, align 4, !tbaa !5
  %547 = call ptr @strerror(i32 noundef %546) #11
  %548 = load i32, ptr %527, align 4, !tbaa !5
  %549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %539, ptr noundef nonnull %.str.5.sink787, i32 noundef %540, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %543, ptr noundef %545, ptr noundef %547, i32 noundef %548) #13
  call void @exit(i32 noundef 1) #14
  unreachable

550:                                              ; preds = %520
  %551 = load ptr, ptr %10, align 8, !tbaa !9
  %552 = getelementptr inbounds i8, ptr %551, i64 1944
  store i64 100, ptr %552, align 8, !tbaa !17
  %553 = load i32, ptr @test_count, align 4, !tbaa !5
  %554 = add nsw i32 %553, 1
  store i32 %554, ptr @test_count, align 4, !tbaa !5
  %555 = call zeroext i1 @s2n_should_flush(ptr noundef %551, i64 noundef 100) #11
  br i1 %555, label %580, label %556

556:                                              ; preds = %550
  %557 = tail call ptr @__errno_location() #12
  %558 = load i32, ptr %557, align 4, !tbaa !5
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = call i32 @s2n_print_stacktrace(ptr noundef %559) #11
  %561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %562 = trunc nuw i8 %561 to i1
  br i1 %562, label %563, label %567

563:                                              ; preds = %556
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = call i32 @fileno(ptr noundef %564) #11
  %566 = call i32 @isatty(i32 noundef %565) #11
  %.not449 = icmp eq i32 %566, 0
  br i1 %.not449, label %567, label %568

567:                                              ; preds = %563, %556
  br label %568

568:                                              ; preds = %563, %567
  %.str.5.sink798 = phi ptr [ @.str.5, %567 ], [ @.str.2, %563 ]
  store i32 %558, ptr %557, align 4, !tbaa !5
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = load i32, ptr @test_count, align 4, !tbaa !5
  %571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %572 = load i32, ptr %571, align 4, !tbaa !5
  %573 = call ptr @s2n_strerror(i32 noundef %572, ptr noundef nonnull @.str.4) #11
  %574 = load i32, ptr %571, align 4, !tbaa !5
  %575 = call ptr @s2n_strerror_debug(i32 noundef %574, ptr noundef nonnull @.str.4) #11
  %576 = load i32, ptr %557, align 4, !tbaa !5
  %577 = call ptr @strerror(i32 noundef %576) #11
  %578 = load i32, ptr %557, align 4, !tbaa !5
  %579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %569, ptr noundef nonnull %.str.5.sink798, i32 noundef %570, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %573, ptr noundef %575, ptr noundef %577, i32 noundef %578) #13
  call void @exit(i32 noundef 1) #14
  unreachable

580:                                              ; preds = %550
  %581 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #11
  %582 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %582, ptr %11, align 8, !tbaa !9
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = add nsw i32 %583, 1
  store i32 %584, ptr @test_count, align 4, !tbaa !5
  %585 = call i32 @s2n_connection_set_config(ptr noundef %582, ptr noundef nonnull %198) #11
  %586 = icmp eq i32 %585, -1
  br i1 %586, label %587, label %611

587:                                              ; preds = %580
  %588 = tail call ptr @__errno_location() #12
  %589 = load i32, ptr %588, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @s2n_print_stacktrace(ptr noundef %590) #11
  %592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %593 = trunc nuw i8 %592 to i1
  br i1 %593, label %594, label %598

594:                                              ; preds = %587
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = call i32 @fileno(ptr noundef %595) #11
  %597 = call i32 @isatty(i32 noundef %596) #11
  %.not595 = icmp eq i32 %597, 0
  br i1 %.not595, label %598, label %599

598:                                              ; preds = %594, %587
  br label %599

599:                                              ; preds = %594, %598
  %.str.5.sink809 = phi ptr [ @.str.5, %598 ], [ @.str.2, %594 ]
  store i32 %589, ptr %588, align 4, !tbaa !5
  %600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %601 = load i32, ptr @test_count, align 4, !tbaa !5
  %602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror(i32 noundef %603, ptr noundef nonnull @.str.4) #11
  %605 = load i32, ptr %602, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror_debug(i32 noundef %605, ptr noundef nonnull @.str.4) #11
  %607 = load i32, ptr %588, align 4, !tbaa !5
  %608 = call ptr @strerror(i32 noundef %607) #11
  %609 = load i32, ptr %588, align 4, !tbaa !5
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %600, ptr noundef nonnull %.str.5.sink809, i32 noundef %601, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %604, ptr noundef %606, ptr noundef %608, i32 noundef %609) #13
  call void @exit(i32 noundef 1) #14
  unreachable

611:                                              ; preds = %580
  %612 = load i32, ptr @test_count, align 4, !tbaa !5
  %613 = add nsw i32 %612, 1
  store i32 %613, ptr @test_count, align 4, !tbaa !5
  %614 = load ptr, ptr %11, align 8, !tbaa !9
  %615 = call zeroext i1 @s2n_should_flush(ptr noundef %614, i64 noundef 20000) #11
  br i1 %615, label %616, label %640

616:                                              ; preds = %611
  %617 = tail call ptr @__errno_location() #12
  %618 = load i32, ptr %617, align 4, !tbaa !5
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = call i32 @s2n_print_stacktrace(ptr noundef %619) #11
  %621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %622 = trunc nuw i8 %621 to i1
  br i1 %622, label %623, label %627

623:                                              ; preds = %616
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = call i32 @fileno(ptr noundef %624) #11
  %626 = call i32 @isatty(i32 noundef %625) #11
  %.not594 = icmp eq i32 %626, 0
  br i1 %.not594, label %627, label %628

627:                                              ; preds = %623, %616
  br label %628

628:                                              ; preds = %623, %627
  %.str.5.sink820 = phi ptr [ @.str.5, %627 ], [ @.str.2, %623 ]
  store i32 %618, ptr %617, align 4, !tbaa !5
  %629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %630 = load i32, ptr @test_count, align 4, !tbaa !5
  %631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror(i32 noundef %632, ptr noundef nonnull @.str.4) #11
  %634 = load i32, ptr %631, align 4, !tbaa !5
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef nonnull @.str.4) #11
  %636 = load i32, ptr %617, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #11
  %638 = load i32, ptr %617, align 4, !tbaa !5
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %629, ptr noundef nonnull %.str.5.sink820, i32 noundef %630, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %633, ptr noundef %635, ptr noundef %637, i32 noundef %638) #13
  call void @exit(i32 noundef 1) #14
  unreachable

640:                                              ; preds = %611
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = add nsw i32 %641, 1
  store i32 %642, ptr @test_count, align 4, !tbaa !5
  %643 = load ptr, ptr %11, align 8, !tbaa !9
  %644 = getelementptr inbounds i8, ptr %643, i64 1896
  %645 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %644, i32 noundef 20000) #11
  %646 = icmp eq i32 %645, -1
  br i1 %646, label %647, label %671

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

654:                                              ; preds = %647
  %655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %656 = call i32 @fileno(ptr noundef %655) #11
  %657 = call i32 @isatty(i32 noundef %656) #11
  %.not593 = icmp eq i32 %657, 0
  br i1 %.not593, label %658, label %659

658:                                              ; preds = %654, %647
  br label %659

659:                                              ; preds = %654, %658
  %.str.5.sink831 = phi ptr [ @.str.5, %658 ], [ @.str.2, %654 ]
  store i32 %649, ptr %648, align 4, !tbaa !5
  %660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %661 = load i32, ptr @test_count, align 4, !tbaa !5
  %662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror(i32 noundef %663, ptr noundef nonnull @.str.4) #11
  %665 = load i32, ptr %662, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror_debug(i32 noundef %665, ptr noundef nonnull @.str.4) #11
  %667 = load i32, ptr %648, align 4, !tbaa !5
  %668 = call ptr @strerror(i32 noundef %667) #11
  %669 = load i32, ptr %648, align 4, !tbaa !5
  %670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %660, ptr noundef nonnull %.str.5.sink831, i32 noundef %661, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %664, ptr noundef %666, ptr noundef %668, i32 noundef %669) #13
  call void @exit(i32 noundef 1) #14
  unreachable

671:                                              ; preds = %640
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = add nsw i32 %672, 1
  store i32 %673, ptr @test_count, align 4, !tbaa !5
  %674 = load ptr, ptr %11, align 8, !tbaa !9
  %675 = call zeroext i1 @s2n_should_flush(ptr noundef %674, i64 noundef 20000) #11
  br i1 %675, label %676, label %700

676:                                              ; preds = %671
  %677 = tail call ptr @__errno_location() #12
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = call i32 @s2n_print_stacktrace(ptr noundef %679) #11
  %681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %682 = trunc nuw i8 %681 to i1
  br i1 %682, label %683, label %687

683:                                              ; preds = %676
  %684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %685 = call i32 @fileno(ptr noundef %684) #11
  %686 = call i32 @isatty(i32 noundef %685) #11
  %.not592 = icmp eq i32 %686, 0
  br i1 %.not592, label %687, label %688

687:                                              ; preds = %683, %676
  br label %688

688:                                              ; preds = %683, %687
  %.str.5.sink842 = phi ptr [ @.str.5, %687 ], [ @.str.2, %683 ]
  store i32 %678, ptr %677, align 4, !tbaa !5
  %689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %690 = load i32, ptr @test_count, align 4, !tbaa !5
  %691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %692 = load i32, ptr %691, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror(i32 noundef %692, ptr noundef nonnull @.str.4) #11
  %694 = load i32, ptr %691, align 4, !tbaa !5
  %695 = call ptr @s2n_strerror_debug(i32 noundef %694, ptr noundef nonnull @.str.4) #11
  %696 = load i32, ptr %677, align 4, !tbaa !5
  %697 = call ptr @strerror(i32 noundef %696) #11
  %698 = load i32, ptr %677, align 4, !tbaa !5
  %699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %689, ptr noundef nonnull %.str.5.sink842, i32 noundef %690, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %693, ptr noundef %695, ptr noundef %697, i32 noundef %698) #13
  call void @exit(i32 noundef 1) #14
  unreachable

700:                                              ; preds = %671
  %701 = load ptr, ptr %11, align 8, !tbaa !9
  %702 = getelementptr inbounds i8, ptr %701, i64 2208
  %703 = load i16, ptr %702, align 8, !tbaa !44
  %704 = zext i16 %703 to i32
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr @test_count, align 4, !tbaa !5
  %707 = getelementptr inbounds i8, ptr %701, i64 1896
  %708 = sub nsw i32 18971, %704
  %709 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %707, i32 noundef %708) #11
  %710 = icmp eq i32 %709, -1
  br i1 %710, label %711, label %735

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

718:                                              ; preds = %711
  %719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %720 = call i32 @fileno(ptr noundef %719) #11
  %721 = call i32 @isatty(i32 noundef %720) #11
  %.not591 = icmp eq i32 %721, 0
  br i1 %.not591, label %722, label %723

722:                                              ; preds = %718, %711
  br label %723

723:                                              ; preds = %718, %722
  %.str.5.sink853 = phi ptr [ @.str.5, %722 ], [ @.str.2, %718 ]
  store i32 %713, ptr %712, align 4, !tbaa !5
  %724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %727 = load i32, ptr %726, align 4, !tbaa !5
  %728 = call ptr @s2n_strerror(i32 noundef %727, ptr noundef nonnull @.str.4) #11
  %729 = load i32, ptr %726, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror_debug(i32 noundef %729, ptr noundef nonnull @.str.4) #11
  %731 = load i32, ptr %712, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #11
  %733 = load i32, ptr %712, align 4, !tbaa !5
  %734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %724, ptr noundef nonnull %.str.5.sink853, i32 noundef %725, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %728, ptr noundef %730, ptr noundef %732, i32 noundef %733) #13
  call void @exit(i32 noundef 1) #14
  unreachable

735:                                              ; preds = %700
  %736 = load i32, ptr @test_count, align 4, !tbaa !5
  %737 = add nsw i32 %736, 1
  store i32 %737, ptr @test_count, align 4, !tbaa !5
  %738 = load ptr, ptr %11, align 8, !tbaa !9
  %739 = call zeroext i1 @s2n_should_flush(ptr noundef %738, i64 noundef 20000) #11
  br i1 %739, label %740, label %764

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

747:                                              ; preds = %740
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @fileno(ptr noundef %748) #11
  %750 = call i32 @isatty(i32 noundef %749) #11
  %.not590 = icmp eq i32 %750, 0
  br i1 %.not590, label %751, label %752

751:                                              ; preds = %747, %740
  br label %752

752:                                              ; preds = %747, %751
  %.str.5.sink864 = phi ptr [ @.str.5, %751 ], [ @.str.2, %747 ]
  store i32 %742, ptr %741, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror(i32 noundef %756, ptr noundef nonnull @.str.4) #11
  %758 = load i32, ptr %755, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror_debug(i32 noundef %758, ptr noundef nonnull @.str.4) #11
  %760 = load i32, ptr %741, align 4, !tbaa !5
  %761 = call ptr @strerror(i32 noundef %760) #11
  %762 = load i32, ptr %741, align 4, !tbaa !5
  %763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef nonnull %.str.5.sink864, i32 noundef %754, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %757, ptr noundef %759, ptr noundef %761, i32 noundef %762) #13
  call void @exit(i32 noundef 1) #14
  unreachable

764:                                              ; preds = %735
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = add nsw i32 %765, 1
  store i32 %766, ptr @test_count, align 4, !tbaa !5
  %767 = load ptr, ptr %11, align 8, !tbaa !9
  %768 = getelementptr inbounds i8, ptr %767, i64 1896
  %769 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %768, i32 noundef 1) #11
  %770 = icmp eq i32 %769, -1
  br i1 %770, label %771, label %795

771:                                              ; preds = %764
  %772 = tail call ptr @__errno_location() #12
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = call i32 @s2n_print_stacktrace(ptr noundef %774) #11
  %776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %777 = trunc nuw i8 %776 to i1
  br i1 %777, label %778, label %782

778:                                              ; preds = %771
  %779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %780 = call i32 @fileno(ptr noundef %779) #11
  %781 = call i32 @isatty(i32 noundef %780) #11
  %.not589 = icmp eq i32 %781, 0
  br i1 %.not589, label %782, label %783

782:                                              ; preds = %778, %771
  br label %783

783:                                              ; preds = %778, %782
  %.str.5.sink875 = phi ptr [ @.str.5, %782 ], [ @.str.2, %778 ]
  store i32 %773, ptr %772, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = load i32, ptr @test_count, align 4, !tbaa !5
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror(i32 noundef %787, ptr noundef nonnull @.str.4) #11
  %789 = load i32, ptr %786, align 4, !tbaa !5
  %790 = call ptr @s2n_strerror_debug(i32 noundef %789, ptr noundef nonnull @.str.4) #11
  %791 = load i32, ptr %772, align 4, !tbaa !5
  %792 = call ptr @strerror(i32 noundef %791) #11
  %793 = load i32, ptr %772, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %784, ptr noundef nonnull %.str.5.sink875, i32 noundef %785, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %788, ptr noundef %790, ptr noundef %792, i32 noundef %793) #13
  call void @exit(i32 noundef 1) #14
  unreachable

795:                                              ; preds = %764
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = add nsw i32 %796, 1
  store i32 %797, ptr @test_count, align 4, !tbaa !5
  %798 = load ptr, ptr %11, align 8, !tbaa !9
  %799 = call zeroext i1 @s2n_should_flush(ptr noundef %798, i64 noundef 20000) #11
  br i1 %799, label %824, label %800

800:                                              ; preds = %795
  %801 = tail call ptr @__errno_location() #12
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @s2n_print_stacktrace(ptr noundef %803) #11
  %805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %806 = trunc nuw i8 %805 to i1
  br i1 %806, label %807, label %811

807:                                              ; preds = %800
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = call i32 @fileno(ptr noundef %808) #11
  %810 = call i32 @isatty(i32 noundef %809) #11
  %.not450 = icmp eq i32 %810, 0
  br i1 %.not450, label %811, label %812

811:                                              ; preds = %807, %800
  br label %812

812:                                              ; preds = %807, %811
  %.str.5.sink886 = phi ptr [ @.str.5, %811 ], [ @.str.2, %807 ]
  store i32 %802, ptr %801, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror(i32 noundef %816, ptr noundef nonnull @.str.4) #11
  %818 = load i32, ptr %815, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef nonnull @.str.4) #11
  %820 = load i32, ptr %801, align 4, !tbaa !5
  %821 = call ptr @strerror(i32 noundef %820) #11
  %822 = load i32, ptr %801, align 4, !tbaa !5
  %823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef nonnull %.str.5.sink886, i32 noundef %814, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %817, ptr noundef %819, ptr noundef %821, i32 noundef %822) #13
  call void @exit(i32 noundef 1) #14
  unreachable

824:                                              ; preds = %795
  %825 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #11
  %826 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %826, ptr %12, align 8, !tbaa !9
  %827 = load i32, ptr @test_count, align 4, !tbaa !5
  %828 = add nsw i32 %827, 1
  store i32 %828, ptr @test_count, align 4, !tbaa !5
  %829 = icmp eq ptr %826, null
  br i1 %829, label %830, label %854

830:                                              ; preds = %824
  %831 = tail call ptr @__errno_location() #12
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %834 = call i32 @s2n_print_stacktrace(ptr noundef %833) #11
  %835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %836 = trunc nuw i8 %835 to i1
  br i1 %836, label %837, label %841

837:                                              ; preds = %830
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = call i32 @fileno(ptr noundef %838) #11
  %840 = call i32 @isatty(i32 noundef %839) #11
  %.not588 = icmp eq i32 %840, 0
  br i1 %.not588, label %841, label %842

841:                                              ; preds = %837, %830
  br label %842

842:                                              ; preds = %837, %841
  %.str.5.sink897 = phi ptr [ @.str.5, %841 ], [ @.str.2, %837 ]
  store i32 %832, ptr %831, align 4, !tbaa !5
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %846, ptr noundef nonnull @.str.4) #11
  %848 = load i32, ptr %845, align 4, !tbaa !5
  %849 = call ptr @s2n_strerror_debug(i32 noundef %848, ptr noundef nonnull @.str.4) #11
  %850 = load i32, ptr %831, align 4, !tbaa !5
  %851 = call ptr @strerror(i32 noundef %850) #11
  %852 = load i32, ptr %831, align 4, !tbaa !5
  %853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %843, ptr noundef nonnull %.str.5.sink897, i32 noundef %844, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %847, ptr noundef %849, ptr noundef %851, i32 noundef %852) #13
  call void @exit(i32 noundef 1) #14
  unreachable

854:                                              ; preds = %824
  %855 = add nsw i32 %827, 2
  store i32 %855, ptr @test_count, align 4, !tbaa !5
  %856 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %826) #11
  %857 = call zeroext i1 @s2n_result_is_ok(i32 %856)
  br i1 %857, label %882, label %858

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

865:                                              ; preds = %858
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 @fileno(ptr noundef %866) #11
  %868 = call i32 @isatty(i32 noundef %867) #11
  %.not451 = icmp eq i32 %868, 0
  br i1 %.not451, label %869, label %870

869:                                              ; preds = %865, %858
  br label %870

870:                                              ; preds = %865, %869
  %.str.5.sink908 = phi ptr [ @.str.5, %869 ], [ @.str.2, %865 ]
  store i32 %860, ptr %859, align 4, !tbaa !5
  %871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %872 = load i32, ptr @test_count, align 4, !tbaa !5
  %873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror(i32 noundef %874, ptr noundef nonnull @.str.4) #11
  %876 = load i32, ptr %873, align 4, !tbaa !5
  %877 = call ptr @s2n_strerror_debug(i32 noundef %876, ptr noundef nonnull @.str.4) #11
  %878 = load i32, ptr %859, align 4, !tbaa !5
  %879 = call ptr @strerror(i32 noundef %878) #11
  %880 = load i32, ptr %859, align 4, !tbaa !5
  %881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %871, ptr noundef nonnull %.str.5.sink908, i32 noundef %872, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %875, ptr noundef %877, ptr noundef %879, i32 noundef %880) #13
  call void @exit(i32 noundef 1) #14
  unreachable

882:                                              ; preds = %854
  %883 = load i32, ptr @test_count, align 4, !tbaa !5
  %884 = add nsw i32 %883, 1
  store i32 %884, ptr @test_count, align 4, !tbaa !5
  %885 = load ptr, ptr %12, align 8, !tbaa !9
  %886 = call i32 @s2n_connection_set_config(ptr noundef %885, ptr noundef nonnull %198) #11
  %887 = icmp eq i32 %886, -1
  br i1 %887, label %888, label %912

888:                                              ; preds = %882
  %889 = tail call ptr @__errno_location() #12
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @s2n_print_stacktrace(ptr noundef %891) #11
  %893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %894 = trunc nuw i8 %893 to i1
  br i1 %894, label %895, label %899

895:                                              ; preds = %888
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = call i32 @fileno(ptr noundef %896) #11
  %898 = call i32 @isatty(i32 noundef %897) #11
  %.not587 = icmp eq i32 %898, 0
  br i1 %.not587, label %899, label %900

899:                                              ; preds = %895, %888
  br label %900

900:                                              ; preds = %895, %899
  %.str.5.sink919 = phi ptr [ @.str.5, %899 ], [ @.str.2, %895 ]
  store i32 %890, ptr %889, 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 nonnull @.str.4) #11
  %906 = load i32, ptr %903, align 4, !tbaa !5
  %907 = call ptr @s2n_strerror_debug(i32 noundef %906, ptr noundef nonnull @.str.4) #11
  %908 = load i32, ptr %889, align 4, !tbaa !5
  %909 = call ptr @strerror(i32 noundef %908) #11
  %910 = load i32, ptr %889, align 4, !tbaa !5
  %911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %901, ptr noundef nonnull %.str.5.sink919, i32 noundef %902, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %905, ptr noundef %907, ptr noundef %909, i32 noundef %910) #13
  call void @exit(i32 noundef 1) #14
  unreachable

912:                                              ; preds = %882
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #11
  %.sroa.10.0..sroa_idx = getelementptr inbounds i8, ptr %13, i64 8
  %.sroa.11.0..sroa_idx = getelementptr inbounds i8, ptr %13, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx = getelementptr inbounds i8, ptr %13, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx, align 8, !tbaa !45
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = add nsw i32 %913, 1
  store i32 %914, ptr @test_count, align 4, !tbaa !5
  %915 = load ptr, ptr %12, align 8, !tbaa !9
  %916 = call i32 @s2n_connection_set_send_cb(ptr noundef %915, ptr noundef nonnull @s2n_test_send_cb) #11
  %917 = icmp eq i32 %916, -1
  br i1 %917, label %918, label %942

918:                                              ; preds = %912
  %919 = tail call ptr @__errno_location() #12
  %920 = load i32, ptr %919, align 4, !tbaa !5
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = call i32 @s2n_print_stacktrace(ptr noundef %921) #11
  %923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %924 = trunc nuw i8 %923 to i1
  br i1 %924, label %925, label %929

925:                                              ; preds = %918
  %926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %927 = call i32 @fileno(ptr noundef %926) #11
  %928 = call i32 @isatty(i32 noundef %927) #11
  %.not586 = icmp eq i32 %928, 0
  br i1 %.not586, label %929, label %930

929:                                              ; preds = %925, %918
  br label %930

930:                                              ; preds = %925, %929
  %.str.5.sink930 = phi ptr [ @.str.5, %929 ], [ @.str.2, %925 ]
  store i32 %920, ptr %919, align 4, !tbaa !5
  %931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %932 = load i32, ptr @test_count, align 4, !tbaa !5
  %933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %934 = load i32, ptr %933, align 4, !tbaa !5
  %935 = call ptr @s2n_strerror(i32 noundef %934, ptr noundef nonnull @.str.4) #11
  %936 = load i32, ptr %933, align 4, !tbaa !5
  %937 = call ptr @s2n_strerror_debug(i32 noundef %936, ptr noundef nonnull @.str.4) #11
  %938 = load i32, ptr %919, align 4, !tbaa !5
  %939 = call ptr @strerror(i32 noundef %938) #11
  %940 = load i32, ptr %919, align 4, !tbaa !5
  %941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %931, ptr noundef nonnull %.str.5.sink930, i32 noundef %932, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %935, ptr noundef %937, ptr noundef %939, i32 noundef %940) #13
  call void @exit(i32 noundef 1) #14
  unreachable

942:                                              ; preds = %912
  %943 = load i32, ptr @test_count, align 4, !tbaa !5
  %944 = add nsw i32 %943, 1
  store i32 %944, ptr @test_count, align 4, !tbaa !5
  %945 = load ptr, ptr %12, align 8, !tbaa !9
  %946 = call i32 @s2n_connection_set_send_ctx(ptr noundef %945, ptr noundef nonnull %13) #11
  %947 = icmp eq i32 %946, -1
  br i1 %947, label %948, label %972

948:                                              ; preds = %942
  %949 = tail call ptr @__errno_location() #12
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = call i32 @s2n_print_stacktrace(ptr noundef %951) #11
  %953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %954 = trunc nuw i8 %953 to i1
  br i1 %954, label %955, label %959

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

959:                                              ; preds = %955, %948
  br label %960

960:                                              ; preds = %955, %959
  %.str.5.sink941 = phi ptr [ @.str.5, %959 ], [ @.str.2, %955 ]
  store i32 %950, ptr %949, align 4, !tbaa !5
  %961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %962 = load i32, ptr @test_count, align 4, !tbaa !5
  %963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = call ptr @s2n_strerror(i32 noundef %964, ptr noundef nonnull @.str.4) #11
  %966 = load i32, ptr %963, align 4, !tbaa !5
  %967 = call ptr @s2n_strerror_debug(i32 noundef %966, ptr noundef nonnull @.str.4) #11
  %968 = load i32, ptr %949, align 4, !tbaa !5
  %969 = call ptr @strerror(i32 noundef %968) #11
  %970 = load i32, ptr %949, align 4, !tbaa !5
  %971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %961, ptr noundef nonnull %.str.5.sink941, i32 noundef %962, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %965, ptr noundef %967, ptr noundef %969, i32 noundef %970) #13
  call void @exit(i32 noundef 1) #14
  unreachable

972:                                              ; preds = %942
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #11
  store i32 0, ptr %14, align 4, !tbaa !5
  %973 = load i32, ptr @test_count, align 4, !tbaa !5
  %974 = add nsw i32 %973, 1
  store i32 %974, ptr @test_count, align 4, !tbaa !5
  %975 = load ptr, ptr %12, align 8, !tbaa !9
  %976 = call i64 @s2n_send(ptr noundef %975, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %14) #11
  %977 = icmp eq i64 %976, 12
  br i1 %977, label %1002, label %978

978:                                              ; preds = %972
  %979 = tail call ptr @__errno_location() #12
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %982 = call i32 @s2n_print_stacktrace(ptr noundef %981) #11
  %983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %984 = trunc nuw i8 %983 to i1
  br i1 %984, label %985, label %989

985:                                              ; preds = %978
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = call i32 @fileno(ptr noundef %986) #11
  %988 = call i32 @isatty(i32 noundef %987) #11
  %.not452 = icmp eq i32 %988, 0
  br i1 %.not452, label %989, label %990

989:                                              ; preds = %985, %978
  br label %990

990:                                              ; preds = %985, %989
  %.str.5.sink952 = phi ptr [ @.str.5, %989 ], [ @.str.2, %985 ]
  store i32 %980, ptr %979, align 4, !tbaa !5
  %991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %992 = load i32, ptr @test_count, align 4, !tbaa !5
  %993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %994 = load i32, ptr %993, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror(i32 noundef %994, ptr noundef nonnull @.str.4) #11
  %996 = load i32, ptr %993, align 4, !tbaa !5
  %997 = call ptr @s2n_strerror_debug(i32 noundef %996, ptr noundef nonnull @.str.4) #11
  %998 = load i32, ptr %979, align 4, !tbaa !5
  %999 = call ptr @strerror(i32 noundef %998) #11
  %1000 = load i32, ptr %979, align 4, !tbaa !5
  %1001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %991, ptr noundef nonnull %.str.5.sink952, i32 noundef %992, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %995, ptr noundef %997, ptr noundef %999, i32 noundef %1000) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1002:                                             ; preds = %972
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = add nsw i32 %1003, 1
  store i32 %1004, ptr @test_count, align 4, !tbaa !5
  %1005 = load i64, ptr %13, align 8, !tbaa !46
  %1006 = icmp eq i64 %1005, 1
  br i1 %1006, label %1031, label %1007

1007:                                             ; preds = %1002
  %1008 = tail call ptr @__errno_location() #12
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = call i32 @s2n_print_stacktrace(ptr noundef %1010) #11
  %1012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1013 = trunc nuw i8 %1012 to i1
  br i1 %1013, label %1014, label %1018

1014:                                             ; preds = %1007
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = call i32 @fileno(ptr noundef %1015) #11
  %1017 = call i32 @isatty(i32 noundef %1016) #11
  %.not453 = icmp eq i32 %1017, 0
  br i1 %.not453, label %1018, label %1019

1018:                                             ; preds = %1014, %1007
  br label %1019

1019:                                             ; preds = %1014, %1018
  %.str.5.sink963 = phi ptr [ @.str.5, %1018 ], [ @.str.2, %1014 ]
  store i32 %1009, ptr %1008, align 4, !tbaa !5
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = load i32, ptr @test_count, align 4, !tbaa !5
  %1022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1023 = load i32, ptr %1022, align 4, !tbaa !5
  %1024 = call ptr @s2n_strerror(i32 noundef %1023, ptr noundef nonnull @.str.4) #11
  %1025 = load i32, ptr %1022, align 4, !tbaa !5
  %1026 = call ptr @s2n_strerror_debug(i32 noundef %1025, ptr noundef nonnull @.str.4) #11
  %1027 = load i32, ptr %1008, align 4, !tbaa !5
  %1028 = call ptr @strerror(i32 noundef %1027) #11
  %1029 = load i32, ptr %1008, align 4, !tbaa !5
  %1030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1020, ptr noundef nonnull %.str.5.sink963, i32 noundef %1021, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1024, ptr noundef %1026, ptr noundef %1028, i32 noundef %1029) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1031:                                             ; preds = %1002
  %1032 = add nsw i32 %1003, 2
  store i32 %1032, ptr @test_count, align 4, !tbaa !5
  %1033 = load i64, ptr %.sroa.10.0..sroa_idx, align 8, !tbaa !48
  %1034 = load ptr, ptr %12, align 8, !tbaa !9
  %1035 = getelementptr inbounds i8, ptr %1034, i64 2248
  %1036 = load i64, ptr %1035, align 8, !tbaa !49
  %1037 = icmp eq i64 %1033, %1036
  br i1 %1037, label %1062, label %1038

1038:                                             ; preds = %1031
  %1039 = tail call ptr @__errno_location() #12
  %1040 = load i32, ptr %1039, align 4, !tbaa !5
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1042 = call i32 @s2n_print_stacktrace(ptr noundef %1041) #11
  %1043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1044 = trunc nuw i8 %1043 to i1
  br i1 %1044, label %1045, label %1049

1045:                                             ; preds = %1038
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1047 = call i32 @fileno(ptr noundef %1046) #11
  %1048 = call i32 @isatty(i32 noundef %1047) #11
  %.not454 = icmp eq i32 %1048, 0
  br i1 %.not454, label %1049, label %1050

1049:                                             ; preds = %1045, %1038
  br label %1050

1050:                                             ; preds = %1045, %1049
  %.str.5.sink974 = phi ptr [ @.str.5, %1049 ], [ @.str.2, %1045 ]
  store i32 %1040, ptr %1039, align 4, !tbaa !5
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = load i32, ptr @test_count, align 4, !tbaa !5
  %1053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror(i32 noundef %1054, ptr noundef nonnull @.str.4) #11
  %1056 = load i32, ptr %1053, align 4, !tbaa !5
  %1057 = call ptr @s2n_strerror_debug(i32 noundef %1056, ptr noundef nonnull @.str.4) #11
  %1058 = load i32, ptr %1039, align 4, !tbaa !5
  %1059 = call ptr @strerror(i32 noundef %1058) #11
  %1060 = load i32, ptr %1039, align 4, !tbaa !5
  %1061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1051, ptr noundef nonnull %.str.5.sink974, i32 noundef %1052, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1055, ptr noundef %1057, ptr noundef %1059, i32 noundef %1060) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1062:                                             ; preds = %1031
  %1063 = add nsw i32 %1003, 3
  store i32 %1063, ptr @test_count, align 4, !tbaa !5
  %1064 = icmp ugt i64 %1033, 12
  br i1 %1064, label %1089, label %1065

1065:                                             ; preds = %1062
  %1066 = tail call ptr @__errno_location() #12
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1069 = call i32 @s2n_print_stacktrace(ptr noundef %1068) #11
  %1070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1071 = trunc nuw i8 %1070 to i1
  br i1 %1071, label %1072, label %1076

1072:                                             ; preds = %1065
  %1073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1074 = call i32 @fileno(ptr noundef %1073) #11
  %1075 = call i32 @isatty(i32 noundef %1074) #11
  %.not455 = icmp eq i32 %1075, 0
  br i1 %.not455, label %1076, label %1077

1076:                                             ; preds = %1072, %1065
  br label %1077

1077:                                             ; preds = %1072, %1076
  %.str.5.sink985 = phi ptr [ @.str.5, %1076 ], [ @.str.2, %1072 ]
  store i32 %1067, ptr %1066, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = load i32, ptr @test_count, align 4, !tbaa !5
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror(i32 noundef %1081, ptr noundef nonnull @.str.4) #11
  %1083 = load i32, ptr %1080, align 4, !tbaa !5
  %1084 = call ptr @s2n_strerror_debug(i32 noundef %1083, ptr noundef nonnull @.str.4) #11
  %1085 = load i32, ptr %1066, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #11
  %1087 = load i32, ptr %1066, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1078, ptr noundef nonnull %.str.5.sink985, i32 noundef %1079, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1082, ptr noundef %1084, ptr noundef %1086, i32 noundef %1087) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1089:                                             ; preds = %1062
  %1090 = add nsw i32 %1003, 4
  store i32 %1090, ptr @test_count, align 4, !tbaa !5
  %1091 = getelementptr inbounds i8, ptr %1034, i64 1904
  %1092 = load i32, ptr %1091, align 8, !tbaa !50
  %1093 = icmp eq i32 %1092, 20000
  br i1 %1093, label %1118, label %1094

1094:                                             ; preds = %1089
  %1095 = tail call ptr @__errno_location() #12
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @s2n_print_stacktrace(ptr noundef %1097) #11
  %1099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1100 = trunc nuw i8 %1099 to i1
  br i1 %1100, label %1101, label %1105

1101:                                             ; preds = %1094
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @fileno(ptr noundef %1102) #11
  %1104 = call i32 @isatty(i32 noundef %1103) #11
  %.not456 = icmp eq i32 %1104, 0
  br i1 %.not456, label %1105, label %1106

1105:                                             ; preds = %1101, %1094
  br label %1106

1106:                                             ; preds = %1101, %1105
  %.str.5.sink996 = phi ptr [ @.str.5, %1105 ], [ @.str.2, %1101 ]
  store i32 %1096, ptr %1095, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = load i32, ptr @test_count, align 4, !tbaa !5
  %1109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror(i32 noundef %1110, ptr noundef nonnull @.str.4) #11
  %1112 = load i32, ptr %1109, align 4, !tbaa !5
  %1113 = call ptr @s2n_strerror_debug(i32 noundef %1112, ptr noundef nonnull @.str.4) #11
  %1114 = load i32, ptr %1095, align 4, !tbaa !5
  %1115 = call ptr @strerror(i32 noundef %1114) #11
  %1116 = load i32, ptr %1095, align 4, !tbaa !5
  %1117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1107, ptr noundef nonnull %.str.5.sink996, i32 noundef %1108, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1111, ptr noundef %1113, ptr noundef %1115, i32 noundef %1116) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1118:                                             ; preds = %1089
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #11
  %1119 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #11
  %1120 = call ptr @s2n_config_new() #11
  store ptr %1120, ptr %15, align 8, !tbaa !9
  %1121 = load i32, ptr @test_count, align 4, !tbaa !5
  %1122 = add nsw i32 %1121, 1
  store i32 %1122, ptr @test_count, align 4, !tbaa !5
  %1123 = icmp eq ptr %1120, null
  br i1 %1123, label %1124, label %1148

1124:                                             ; preds = %1118
  %1125 = tail call ptr @__errno_location() #12
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @s2n_print_stacktrace(ptr noundef %1127) #11
  %1129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1130 = trunc nuw i8 %1129 to i1
  br i1 %1130, label %1131, label %1135

1131:                                             ; preds = %1124
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @fileno(ptr noundef %1132) #11
  %1134 = call i32 @isatty(i32 noundef %1133) #11
  %.not584 = icmp eq i32 %1134, 0
  br i1 %.not584, label %1135, label %1136

1135:                                             ; preds = %1131, %1124
  br label %1136

1136:                                             ; preds = %1131, %1135
  %.str.5.sink1007 = phi ptr [ @.str.5, %1135 ], [ @.str.2, %1131 ]
  store i32 %1126, ptr %1125, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror(i32 noundef %1140, ptr noundef nonnull @.str.4) #11
  %1142 = load i32, ptr %1139, align 4, !tbaa !5
  %1143 = call ptr @s2n_strerror_debug(i32 noundef %1142, ptr noundef nonnull @.str.4) #11
  %1144 = load i32, ptr %1125, align 4, !tbaa !5
  %1145 = call ptr @strerror(i32 noundef %1144) #11
  %1146 = load i32, ptr %1125, align 4, !tbaa !5
  %1147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1137, ptr noundef nonnull %.str.5.sink1007, i32 noundef %1138, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1141, ptr noundef %1143, ptr noundef %1145, i32 noundef %1146) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1148:                                             ; preds = %1118
  %1149 = add nsw i32 %1121, 2
  store i32 %1149, ptr @test_count, align 4, !tbaa !5
  %1150 = call i32 @s2n_config_set_send_buffer_size(ptr noundef nonnull %1120, i32 noundef 1034) #11
  %1151 = icmp eq i32 %1150, -1
  br i1 %1151, label %1152, label %1176

1152:                                             ; preds = %1148
  %1153 = tail call ptr @__errno_location() #12
  %1154 = load i32, ptr %1153, align 4, !tbaa !5
  %1155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1156 = call i32 @s2n_print_stacktrace(ptr noundef %1155) #11
  %1157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1158 = trunc nuw i8 %1157 to i1
  br i1 %1158, label %1159, label %1163

1159:                                             ; preds = %1152
  %1160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1161 = call i32 @fileno(ptr noundef %1160) #11
  %1162 = call i32 @isatty(i32 noundef %1161) #11
  %.not583 = icmp eq i32 %1162, 0
  br i1 %.not583, label %1163, label %1164

1163:                                             ; preds = %1159, %1152
  br label %1164

1164:                                             ; preds = %1159, %1163
  %.str.5.sink1018 = phi ptr [ @.str.5, %1163 ], [ @.str.2, %1159 ]
  store i32 %1154, ptr %1153, align 4, !tbaa !5
  %1165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1166 = load i32, ptr @test_count, align 4, !tbaa !5
  %1167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = call ptr @s2n_strerror(i32 noundef %1168, ptr noundef nonnull @.str.4) #11
  %1170 = load i32, ptr %1167, align 4, !tbaa !5
  %1171 = call ptr @s2n_strerror_debug(i32 noundef %1170, ptr noundef nonnull @.str.4) #11
  %1172 = load i32, ptr %1153, align 4, !tbaa !5
  %1173 = call ptr @strerror(i32 noundef %1172) #11
  %1174 = load i32, ptr %1153, align 4, !tbaa !5
  %1175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1165, ptr noundef nonnull %.str.5.sink1018, i32 noundef %1166, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %1169, ptr noundef %1171, ptr noundef %1173, i32 noundef %1174) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1176:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #11
  %1177 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1177, ptr %16, align 8, !tbaa !9
  %1178 = load i32, ptr @test_count, align 4, !tbaa !5
  %1179 = add nsw i32 %1178, 1
  store i32 %1179, ptr @test_count, align 4, !tbaa !5
  %1180 = icmp eq ptr %1177, null
  br i1 %1180, label %1181, label %1205

1181:                                             ; preds = %1176
  %1182 = tail call ptr @__errno_location() #12
  %1183 = load i32, ptr %1182, align 4, !tbaa !5
  %1184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1185 = call i32 @s2n_print_stacktrace(ptr noundef %1184) #11
  %1186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1187 = trunc nuw i8 %1186 to i1
  br i1 %1187, label %1188, label %1192

1188:                                             ; preds = %1181
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = call i32 @fileno(ptr noundef %1189) #11
  %1191 = call i32 @isatty(i32 noundef %1190) #11
  %.not582 = icmp eq i32 %1191, 0
  br i1 %.not582, label %1192, label %1193

1192:                                             ; preds = %1188, %1181
  br label %1193

1193:                                             ; preds = %1188, %1192
  %.str.5.sink1029 = phi ptr [ @.str.5, %1192 ], [ @.str.2, %1188 ]
  store i32 %1183, ptr %1182, align 4, !tbaa !5
  %1194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1195 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1197, ptr noundef nonnull @.str.4) #11
  %1199 = load i32, ptr %1196, align 4, !tbaa !5
  %1200 = call ptr @s2n_strerror_debug(i32 noundef %1199, ptr noundef nonnull @.str.4) #11
  %1201 = load i32, ptr %1182, align 4, !tbaa !5
  %1202 = call ptr @strerror(i32 noundef %1201) #11
  %1203 = load i32, ptr %1182, align 4, !tbaa !5
  %1204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1194, ptr noundef nonnull %.str.5.sink1029, i32 noundef %1195, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %1198, ptr noundef %1200, ptr noundef %1202, i32 noundef %1203) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1205:                                             ; preds = %1176
  %1206 = add nsw i32 %1178, 2
  store i32 %1206, ptr @test_count, align 4, !tbaa !5
  %1207 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1177) #11
  %1208 = call zeroext i1 @s2n_result_is_ok(i32 %1207)
  br i1 %1208, label %1233, label %1209

1209:                                             ; preds = %1205
  %1210 = tail call ptr @__errno_location() #12
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @s2n_print_stacktrace(ptr noundef %1212) #11
  %1214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1215 = trunc nuw i8 %1214 to i1
  br i1 %1215, label %1216, label %1220

1216:                                             ; preds = %1209
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = call i32 @fileno(ptr noundef %1217) #11
  %1219 = call i32 @isatty(i32 noundef %1218) #11
  %.not457 = icmp eq i32 %1219, 0
  br i1 %.not457, label %1220, label %1221

1220:                                             ; preds = %1216, %1209
  br label %1221

1221:                                             ; preds = %1216, %1220
  %.str.5.sink1040 = phi ptr [ @.str.5, %1220 ], [ @.str.2, %1216 ]
  store i32 %1211, ptr %1210, align 4, !tbaa !5
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = load i32, ptr @test_count, align 4, !tbaa !5
  %1224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1225 = load i32, ptr %1224, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror(i32 noundef %1225, ptr noundef nonnull @.str.4) #11
  %1227 = load i32, ptr %1224, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror_debug(i32 noundef %1227, ptr noundef nonnull @.str.4) #11
  %1229 = load i32, ptr %1210, align 4, !tbaa !5
  %1230 = call ptr @strerror(i32 noundef %1229) #11
  %1231 = load i32, ptr %1210, align 4, !tbaa !5
  %1232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1222, ptr noundef nonnull %.str.5.sink1040, i32 noundef %1223, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1226, ptr noundef %1228, ptr noundef %1230, i32 noundef %1231) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1233:                                             ; preds = %1205
  %1234 = load i32, ptr @test_count, align 4, !tbaa !5
  %1235 = add nsw i32 %1234, 1
  store i32 %1235, ptr @test_count, align 4, !tbaa !5
  %1236 = load ptr, ptr %16, align 8, !tbaa !9
  %1237 = load ptr, ptr %15, align 8, !tbaa !9
  %1238 = call i32 @s2n_connection_set_config(ptr noundef %1236, ptr noundef %1237) #11
  %1239 = icmp eq i32 %1238, -1
  br i1 %1239, label %1240, label %1264

1240:                                             ; preds = %1233
  %1241 = tail call ptr @__errno_location() #12
  %1242 = load i32, ptr %1241, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = call i32 @s2n_print_stacktrace(ptr noundef %1243) #11
  %1245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1246 = trunc nuw i8 %1245 to i1
  br i1 %1246, label %1247, label %1251

1247:                                             ; preds = %1240
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = call i32 @fileno(ptr noundef %1248) #11
  %1250 = call i32 @isatty(i32 noundef %1249) #11
  %.not581 = icmp eq i32 %1250, 0
  br i1 %.not581, label %1251, label %1252

1251:                                             ; preds = %1247, %1240
  br label %1252

1252:                                             ; preds = %1247, %1251
  %.str.5.sink1051 = phi ptr [ @.str.5, %1251 ], [ @.str.2, %1247 ]
  store i32 %1242, ptr %1241, align 4, !tbaa !5
  %1253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1254 = load i32, ptr @test_count, align 4, !tbaa !5
  %1255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = call ptr @s2n_strerror(i32 noundef %1256, ptr noundef nonnull @.str.4) #11
  %1258 = load i32, ptr %1255, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror_debug(i32 noundef %1258, ptr noundef nonnull @.str.4) #11
  %1260 = load i32, ptr %1241, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #11
  %1262 = load i32, ptr %1241, align 4, !tbaa !5
  %1263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1253, ptr noundef nonnull %.str.5.sink1051, i32 noundef %1254, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1257, ptr noundef %1259, ptr noundef %1261, i32 noundef %1262) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1264:                                             ; preds = %1233
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #11
  %.sroa.10.0..sroa_idx383 = getelementptr inbounds i8, ptr %17, i64 8
  %.sroa.11.0..sroa_idx395 = getelementptr inbounds i8, ptr %17, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %17, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx395, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx407 = getelementptr inbounds i8, ptr %17, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx407, align 8, !tbaa !45
  %1265 = load i32, ptr @test_count, align 4, !tbaa !5
  %1266 = add nsw i32 %1265, 1
  store i32 %1266, ptr @test_count, align 4, !tbaa !5
  %1267 = load ptr, ptr %16, align 8, !tbaa !9
  %1268 = call i32 @s2n_connection_set_send_cb(ptr noundef %1267, ptr noundef nonnull @s2n_test_send_cb) #11
  %1269 = icmp eq i32 %1268, -1
  br i1 %1269, label %1270, label %1294

1270:                                             ; preds = %1264
  %1271 = tail call ptr @__errno_location() #12
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @s2n_print_stacktrace(ptr noundef %1273) #11
  %1275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1276 = trunc nuw i8 %1275 to i1
  br i1 %1276, label %1277, label %1281

1277:                                             ; preds = %1270
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @fileno(ptr noundef %1278) #11
  %1280 = call i32 @isatty(i32 noundef %1279) #11
  %.not580 = icmp eq i32 %1280, 0
  br i1 %.not580, label %1281, label %1282

1281:                                             ; preds = %1277, %1270
  br label %1282

1282:                                             ; preds = %1277, %1281
  %.str.5.sink1062 = phi ptr [ @.str.5, %1281 ], [ @.str.2, %1277 ]
  store i32 %1272, ptr %1271, align 4, !tbaa !5
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = load i32, ptr @test_count, align 4, !tbaa !5
  %1285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1286 = load i32, ptr %1285, align 4, !tbaa !5
  %1287 = call ptr @s2n_strerror(i32 noundef %1286, ptr noundef nonnull @.str.4) #11
  %1288 = load i32, ptr %1285, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef nonnull @.str.4) #11
  %1290 = load i32, ptr %1271, align 4, !tbaa !5
  %1291 = call ptr @strerror(i32 noundef %1290) #11
  %1292 = load i32, ptr %1271, align 4, !tbaa !5
  %1293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1283, ptr noundef nonnull %.str.5.sink1062, i32 noundef %1284, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %1287, ptr noundef %1289, ptr noundef %1291, i32 noundef %1292) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1294:                                             ; preds = %1264
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = add nsw i32 %1295, 1
  store i32 %1296, ptr @test_count, align 4, !tbaa !5
  %1297 = load ptr, ptr %16, align 8, !tbaa !9
  %1298 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1297, ptr noundef nonnull %17) #11
  %1299 = icmp eq i32 %1298, -1
  br i1 %1299, label %1300, label %1324

1300:                                             ; preds = %1294
  %1301 = tail call ptr @__errno_location() #12
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = call i32 @s2n_print_stacktrace(ptr noundef %1303) #11
  %1305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1306 = trunc nuw i8 %1305 to i1
  br i1 %1306, label %1307, label %1311

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

1311:                                             ; preds = %1307, %1300
  br label %1312

1312:                                             ; preds = %1307, %1311
  %.str.5.sink1073 = phi ptr [ @.str.5, %1311 ], [ @.str.2, %1307 ]
  store i32 %1302, ptr %1301, align 4, !tbaa !5
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call ptr @s2n_strerror(i32 noundef %1316, ptr noundef nonnull @.str.4) #11
  %1318 = load i32, ptr %1315, align 4, !tbaa !5
  %1319 = call ptr @s2n_strerror_debug(i32 noundef %1318, ptr noundef nonnull @.str.4) #11
  %1320 = load i32, ptr %1301, align 4, !tbaa !5
  %1321 = call ptr @strerror(i32 noundef %1320) #11
  %1322 = load i32, ptr %1301, align 4, !tbaa !5
  %1323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1313, ptr noundef nonnull %.str.5.sink1073, i32 noundef %1314, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1317, ptr noundef %1319, ptr noundef %1321, i32 noundef %1322) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1324:                                             ; preds = %1294
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #11
  store i32 0, ptr %18, align 4, !tbaa !5
  %1325 = load i32, ptr @test_count, align 4, !tbaa !5
  %1326 = add nsw i32 %1325, 1
  store i32 %1326, ptr @test_count, align 4, !tbaa !5
  %1327 = load ptr, ptr %16, align 8, !tbaa !9
  %1328 = call i64 @s2n_send(ptr noundef %1327, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %18) #11
  %1329 = icmp eq i64 %1328, 12
  br i1 %1329, label %1354, label %1330

1330:                                             ; preds = %1324
  %1331 = tail call ptr @__errno_location() #12
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1334 = call i32 @s2n_print_stacktrace(ptr noundef %1333) #11
  %1335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1336 = trunc nuw i8 %1335 to i1
  br i1 %1336, label %1337, label %1341

1337:                                             ; preds = %1330
  %1338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1339 = call i32 @fileno(ptr noundef %1338) #11
  %1340 = call i32 @isatty(i32 noundef %1339) #11
  %.not458 = icmp eq i32 %1340, 0
  br i1 %.not458, label %1341, label %1342

1341:                                             ; preds = %1337, %1330
  br label %1342

1342:                                             ; preds = %1337, %1341
  %.str.5.sink1084 = phi ptr [ @.str.5, %1341 ], [ @.str.2, %1337 ]
  store i32 %1332, ptr %1331, align 4, !tbaa !5
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1346 = load i32, ptr %1345, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror(i32 noundef %1346, ptr noundef nonnull @.str.4) #11
  %1348 = load i32, ptr %1345, align 4, !tbaa !5
  %1349 = call ptr @s2n_strerror_debug(i32 noundef %1348, ptr noundef nonnull @.str.4) #11
  %1350 = load i32, ptr %1331, align 4, !tbaa !5
  %1351 = call ptr @strerror(i32 noundef %1350) #11
  %1352 = load i32, ptr %1331, align 4, !tbaa !5
  %1353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1343, ptr noundef nonnull %.str.5.sink1084, i32 noundef %1344, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %1347, ptr noundef %1349, ptr noundef %1351, i32 noundef %1352) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1354:                                             ; preds = %1324
  %1355 = load i32, ptr @test_count, align 4, !tbaa !5
  %1356 = add nsw i32 %1355, 1
  store i32 %1356, ptr @test_count, align 4, !tbaa !5
  %1357 = load i64, ptr %17, align 8, !tbaa !46
  %1358 = icmp eq i64 %1357, 3
  br i1 %1358, label %1383, label %1359

1359:                                             ; preds = %1354
  %1360 = tail call ptr @__errno_location() #12
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = call i32 @s2n_print_stacktrace(ptr noundef %1362) #11
  %1364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1365 = trunc nuw i8 %1364 to i1
  br i1 %1365, label %1366, label %1370

1366:                                             ; preds = %1359
  %1367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1368 = call i32 @fileno(ptr noundef %1367) #11
  %1369 = call i32 @isatty(i32 noundef %1368) #11
  %.not459 = icmp eq i32 %1369, 0
  br i1 %.not459, label %1370, label %1371

1370:                                             ; preds = %1366, %1359
  br label %1371

1371:                                             ; preds = %1366, %1370
  %.str.5.sink1095 = phi ptr [ @.str.5, %1370 ], [ @.str.2, %1366 ]
  store i32 %1361, ptr %1360, align 4, !tbaa !5
  %1372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1373 = load i32, ptr @test_count, align 4, !tbaa !5
  %1374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror(i32 noundef %1375, ptr noundef nonnull @.str.4) #11
  %1377 = load i32, ptr %1374, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror_debug(i32 noundef %1377, ptr noundef nonnull @.str.4) #11
  %1379 = load i32, ptr %1360, align 4, !tbaa !5
  %1380 = call ptr @strerror(i32 noundef %1379) #11
  %1381 = load i32, ptr %1360, align 4, !tbaa !5
  %1382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1372, ptr noundef nonnull %.str.5.sink1095, i32 noundef %1373, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %1376, ptr noundef %1378, ptr noundef %1380, i32 noundef %1381) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1383:                                             ; preds = %1354
  %1384 = add nsw i32 %1355, 2
  store i32 %1384, ptr @test_count, align 4, !tbaa !5
  %1385 = load i64, ptr %.sroa.10.0..sroa_idx383, align 8, !tbaa !48
  %1386 = load ptr, ptr %16, align 8, !tbaa !9
  %1387 = getelementptr inbounds i8, ptr %1386, i64 2248
  %1388 = load i64, ptr %1387, align 8, !tbaa !49
  %1389 = icmp eq i64 %1385, %1388
  br i1 %1389, label %1414, label %1390

1390:                                             ; preds = %1383
  %1391 = tail call ptr @__errno_location() #12
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = call i32 @s2n_print_stacktrace(ptr noundef %1393) #11
  %1395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1396 = trunc nuw i8 %1395 to i1
  br i1 %1396, label %1397, label %1401

1397:                                             ; preds = %1390
  %1398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1399 = call i32 @fileno(ptr noundef %1398) #11
  %1400 = call i32 @isatty(i32 noundef %1399) #11
  %.not460 = icmp eq i32 %1400, 0
  br i1 %.not460, label %1401, label %1402

1401:                                             ; preds = %1397, %1390
  br label %1402

1402:                                             ; preds = %1397, %1401
  %.str.5.sink1106 = phi ptr [ @.str.5, %1401 ], [ @.str.2, %1397 ]
  store i32 %1392, ptr %1391, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror(i32 noundef %1406, ptr noundef nonnull @.str.4) #11
  %1408 = load i32, ptr %1405, align 4, !tbaa !5
  %1409 = call ptr @s2n_strerror_debug(i32 noundef %1408, ptr noundef nonnull @.str.4) #11
  %1410 = load i32, ptr %1391, align 4, !tbaa !5
  %1411 = call ptr @strerror(i32 noundef %1410) #11
  %1412 = load i32, ptr %1391, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1403, ptr noundef nonnull %.str.5.sink1106, i32 noundef %1404, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %1407, ptr noundef %1409, ptr noundef %1411, i32 noundef %1412) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1414:                                             ; preds = %1383
  %1415 = add nsw i32 %1355, 3
  store i32 %1415, ptr @test_count, align 4, !tbaa !5
  %1416 = icmp ugt i64 %1385, 12
  br i1 %1416, label %1441, label %1417

1417:                                             ; preds = %1414
  %1418 = tail call ptr @__errno_location() #12
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = call i32 @s2n_print_stacktrace(ptr noundef %1420) #11
  %1422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1423 = trunc nuw i8 %1422 to i1
  br i1 %1423, label %1424, label %1428

1424:                                             ; preds = %1417
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = call i32 @fileno(ptr noundef %1425) #11
  %1427 = call i32 @isatty(i32 noundef %1426) #11
  %.not461 = icmp eq i32 %1427, 0
  br i1 %.not461, label %1428, label %1429

1428:                                             ; preds = %1424, %1417
  br label %1429

1429:                                             ; preds = %1424, %1428
  %.str.5.sink1117 = phi ptr [ @.str.5, %1428 ], [ @.str.2, %1424 ]
  store i32 %1419, ptr %1418, align 4, !tbaa !5
  %1430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  %1434 = call ptr @s2n_strerror(i32 noundef %1433, ptr noundef nonnull @.str.4) #11
  %1435 = load i32, ptr %1432, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror_debug(i32 noundef %1435, ptr noundef nonnull @.str.4) #11
  %1437 = load i32, ptr %1418, align 4, !tbaa !5
  %1438 = call ptr @strerror(i32 noundef %1437) #11
  %1439 = load i32, ptr %1418, align 4, !tbaa !5
  %1440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1430, ptr noundef nonnull %.str.5.sink1117, i32 noundef %1431, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %1434, ptr noundef %1436, ptr noundef %1438, i32 noundef %1439) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1441:                                             ; preds = %1414
  %1442 = add nsw i32 %1355, 4
  store i32 %1442, ptr @test_count, align 4, !tbaa !5
  %1443 = getelementptr inbounds i8, ptr %1386, i64 1904
  %1444 = load i32, ptr %1443, align 8, !tbaa !50
  %1445 = icmp eq i32 %1444, 1034
  br i1 %1445, label %1470, label %1446

1446:                                             ; preds = %1441
  %1447 = tail call ptr @__errno_location() #12
  %1448 = load i32, ptr %1447, align 4, !tbaa !5
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = call i32 @s2n_print_stacktrace(ptr noundef %1449) #11
  %1451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1452 = trunc nuw i8 %1451 to i1
  br i1 %1452, label %1453, label %1457

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

1457:                                             ; preds = %1453, %1446
  br label %1458

1458:                                             ; preds = %1453, %1457
  %.str.5.sink1128 = phi ptr [ @.str.5, %1457 ], [ @.str.2, %1453 ]
  store i32 %1448, ptr %1447, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1462 = load i32, ptr %1461, align 4, !tbaa !5
  %1463 = call ptr @s2n_strerror(i32 noundef %1462, ptr noundef nonnull @.str.4) #11
  %1464 = load i32, ptr %1461, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef nonnull @.str.4) #11
  %1466 = load i32, ptr %1447, align 4, !tbaa !5
  %1467 = call ptr @strerror(i32 noundef %1466) #11
  %1468 = load i32, ptr %1447, align 4, !tbaa !5
  %1469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull %.str.5.sink1128, i32 noundef %1460, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %1463, ptr noundef %1465, ptr noundef %1467, i32 noundef %1468) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1470:                                             ; preds = %1441
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #11
  %1471 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #11
  %1472 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #11
  %1473 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1473, ptr %19, align 8, !tbaa !9
  %1474 = load i32, ptr @test_count, align 4, !tbaa !5
  %1475 = add nsw i32 %1474, 1
  store i32 %1475, ptr @test_count, align 4, !tbaa !5
  %1476 = icmp eq ptr %1473, null
  br i1 %1476, label %1477, label %1501

1477:                                             ; preds = %1470
  %1478 = tail call ptr @__errno_location() #12
  %1479 = load i32, ptr %1478, align 4, !tbaa !5
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = call i32 @s2n_print_stacktrace(ptr noundef %1480) #11
  %1482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1483 = trunc nuw i8 %1482 to i1
  br i1 %1483, label %1484, label %1488

1484:                                             ; preds = %1477
  %1485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1486 = call i32 @fileno(ptr noundef %1485) #11
  %1487 = call i32 @isatty(i32 noundef %1486) #11
  %.not578 = icmp eq i32 %1487, 0
  br i1 %.not578, label %1488, label %1489

1488:                                             ; preds = %1484, %1477
  br label %1489

1489:                                             ; preds = %1484, %1488
  %.str.5.sink1139 = phi ptr [ @.str.5, %1488 ], [ @.str.2, %1484 ]
  store i32 %1479, ptr %1478, align 4, !tbaa !5
  %1490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1491 = load i32, ptr @test_count, align 4, !tbaa !5
  %1492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call ptr @s2n_strerror(i32 noundef %1493, ptr noundef nonnull @.str.4) #11
  %1495 = load i32, ptr %1492, align 4, !tbaa !5
  %1496 = call ptr @s2n_strerror_debug(i32 noundef %1495, ptr noundef nonnull @.str.4) #11
  %1497 = load i32, ptr %1478, align 4, !tbaa !5
  %1498 = call ptr @strerror(i32 noundef %1497) #11
  %1499 = load i32, ptr %1478, align 4, !tbaa !5
  %1500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1490, ptr noundef nonnull %.str.5.sink1139, i32 noundef %1491, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %1494, ptr noundef %1496, ptr noundef %1498, i32 noundef %1499) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1501:                                             ; preds = %1470
  %1502 = add nsw i32 %1474, 2
  store i32 %1502, ptr @test_count, align 4, !tbaa !5
  %1503 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1473) #11
  %1504 = call zeroext i1 @s2n_result_is_ok(i32 %1503)
  br i1 %1504, label %1529, label %1505

1505:                                             ; preds = %1501
  %1506 = tail call ptr @__errno_location() #12
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = call i32 @s2n_print_stacktrace(ptr noundef %1508) #11
  %1510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1511 = trunc nuw i8 %1510 to i1
  br i1 %1511, label %1512, label %1516

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

1516:                                             ; preds = %1512, %1505
  br label %1517

1517:                                             ; preds = %1512, %1516
  %.str.5.sink1150 = phi ptr [ @.str.5, %1516 ], [ @.str.2, %1512 ]
  store i32 %1507, ptr %1506, align 4, !tbaa !5
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @s2n_strerror(i32 noundef %1521, ptr noundef nonnull @.str.4) #11
  %1523 = load i32, ptr %1520, align 4, !tbaa !5
  %1524 = call ptr @s2n_strerror_debug(i32 noundef %1523, ptr noundef nonnull @.str.4) #11
  %1525 = load i32, ptr %1506, align 4, !tbaa !5
  %1526 = call ptr @strerror(i32 noundef %1525) #11
  %1527 = load i32, ptr %1506, align 4, !tbaa !5
  %1528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1518, ptr noundef nonnull %.str.5.sink1150, i32 noundef %1519, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %1522, ptr noundef %1524, ptr noundef %1526, i32 noundef %1527) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1529:                                             ; preds = %1501
  %1530 = load i32, ptr @test_count, align 4, !tbaa !5
  %1531 = add nsw i32 %1530, 1
  store i32 %1531, ptr @test_count, align 4, !tbaa !5
  %1532 = load ptr, ptr %19, align 8, !tbaa !9
  %1533 = call i32 @s2n_connection_set_config(ptr noundef %1532, ptr noundef nonnull %198) #11
  %1534 = icmp eq i32 %1533, -1
  br i1 %1534, label %1535, label %1559

1535:                                             ; preds = %1529
  %1536 = tail call ptr @__errno_location() #12
  %1537 = load i32, ptr %1536, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = call i32 @s2n_print_stacktrace(ptr noundef %1538) #11
  %1540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1541 = trunc nuw i8 %1540 to i1
  br i1 %1541, label %1542, label %1546

1542:                                             ; preds = %1535
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @fileno(ptr noundef %1543) #11
  %1545 = call i32 @isatty(i32 noundef %1544) #11
  %.not577 = icmp eq i32 %1545, 0
  br i1 %.not577, label %1546, label %1547

1546:                                             ; preds = %1542, %1535
  br label %1547

1547:                                             ; preds = %1542, %1546
  %.str.5.sink1161 = phi ptr [ @.str.5, %1546 ], [ @.str.2, %1542 ]
  store i32 %1537, ptr %1536, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror(i32 noundef %1551, ptr noundef nonnull @.str.4) #11
  %1553 = load i32, ptr %1550, align 4, !tbaa !5
  %1554 = call ptr @s2n_strerror_debug(i32 noundef %1553, ptr noundef nonnull @.str.4) #11
  %1555 = load i32, ptr %1536, align 4, !tbaa !5
  %1556 = call ptr @strerror(i32 noundef %1555) #11
  %1557 = load i32, ptr %1536, align 4, !tbaa !5
  %1558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1548, ptr noundef nonnull %.str.5.sink1161, i32 noundef %1549, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %1552, ptr noundef %1554, ptr noundef %1556, i32 noundef %1557) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1559:                                             ; preds = %1529
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #11
  %.sroa.10.0..sroa_idx385 = getelementptr inbounds i8, ptr %20, i64 8
  %.sroa.11.0..sroa_idx397 = getelementptr inbounds i8, ptr %20, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %20, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx397, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx409 = getelementptr inbounds i8, ptr %20, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx409, align 8, !tbaa !45
  %1560 = load i32, ptr @test_count, align 4, !tbaa !5
  %1561 = add nsw i32 %1560, 1
  store i32 %1561, ptr @test_count, align 4, !tbaa !5
  %1562 = load ptr, ptr %19, align 8, !tbaa !9
  %1563 = call i32 @s2n_connection_set_send_cb(ptr noundef %1562, ptr noundef nonnull @s2n_test_send_cb) #11
  %1564 = icmp eq i32 %1563, -1
  br i1 %1564, label %1565, label %1589

1565:                                             ; preds = %1559
  %1566 = tail call ptr @__errno_location() #12
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = call i32 @s2n_print_stacktrace(ptr noundef %1568) #11
  %1570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1571 = trunc nuw i8 %1570 to i1
  br i1 %1571, label %1572, label %1576

1572:                                             ; preds = %1565
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = call i32 @fileno(ptr noundef %1573) #11
  %1575 = call i32 @isatty(i32 noundef %1574) #11
  %.not576 = icmp eq i32 %1575, 0
  br i1 %.not576, label %1576, label %1577

1576:                                             ; preds = %1572, %1565
  br label %1577

1577:                                             ; preds = %1572, %1576
  %.str.5.sink1172 = phi ptr [ @.str.5, %1576 ], [ @.str.2, %1572 ]
  store i32 %1567, ptr %1566, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = call ptr @s2n_strerror(i32 noundef %1581, ptr noundef nonnull @.str.4) #11
  %1583 = load i32, ptr %1580, align 4, !tbaa !5
  %1584 = call ptr @s2n_strerror_debug(i32 noundef %1583, ptr noundef nonnull @.str.4) #11
  %1585 = load i32, ptr %1566, align 4, !tbaa !5
  %1586 = call ptr @strerror(i32 noundef %1585) #11
  %1587 = load i32, ptr %1566, align 4, !tbaa !5
  %1588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1578, ptr noundef nonnull %.str.5.sink1172, i32 noundef %1579, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %1582, ptr noundef %1584, ptr noundef %1586, i32 noundef %1587) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1589:                                             ; preds = %1559
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = add nsw i32 %1590, 1
  store i32 %1591, ptr @test_count, align 4, !tbaa !5
  %1592 = load ptr, ptr %19, align 8, !tbaa !9
  %1593 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1592, ptr noundef nonnull %20) #11
  %1594 = icmp eq i32 %1593, -1
  br i1 %1594, label %1595, label %1619

1595:                                             ; preds = %1589
  %1596 = tail call ptr @__errno_location() #12
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = call i32 @s2n_print_stacktrace(ptr noundef %1598) #11
  %1600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1601 = trunc nuw i8 %1600 to i1
  br i1 %1601, label %1602, label %1606

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

1606:                                             ; preds = %1602, %1595
  br label %1607

1607:                                             ; preds = %1602, %1606
  %.str.5.sink1183 = phi ptr [ @.str.5, %1606 ], [ @.str.2, %1602 ]
  store i32 %1597, ptr %1596, align 4, !tbaa !5
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = load i32, ptr @test_count, align 4, !tbaa !5
  %1610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror(i32 noundef %1611, ptr noundef nonnull @.str.4) #11
  %1613 = load i32, ptr %1610, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef nonnull @.str.4) #11
  %1615 = load i32, ptr %1596, align 4, !tbaa !5
  %1616 = call ptr @strerror(i32 noundef %1615) #11
  %1617 = load i32, ptr %1596, align 4, !tbaa !5
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1608, ptr noundef nonnull %.str.5.sink1183, i32 noundef %1609, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %1612, ptr noundef %1614, ptr noundef %1616, i32 noundef %1617) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1619:                                             ; preds = %1589
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #11
  store i32 0, ptr %21, align 4, !tbaa !5
  %1620 = load i32, ptr @test_count, align 4, !tbaa !5
  %1621 = add nsw i32 %1620, 1
  store i32 %1621, ptr @test_count, align 4, !tbaa !5
  %1622 = load ptr, ptr %19, align 8, !tbaa !9
  %1623 = call i64 @s2n_send(ptr noundef %1622, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %21) #11
  %1624 = icmp eq i64 %1623, 16394
  br i1 %1624, label %1649, label %1625

1625:                                             ; preds = %1619
  %1626 = tail call ptr @__errno_location() #12
  %1627 = load i32, ptr %1626, align 4, !tbaa !5
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @s2n_print_stacktrace(ptr noundef %1628) #11
  %1630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1631 = trunc nuw i8 %1630 to i1
  br i1 %1631, label %1632, label %1636

1632:                                             ; preds = %1625
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = call i32 @fileno(ptr noundef %1633) #11
  %1635 = call i32 @isatty(i32 noundef %1634) #11
  %.not464 = icmp eq i32 %1635, 0
  br i1 %.not464, label %1636, label %1637

1636:                                             ; preds = %1632, %1625
  br label %1637

1637:                                             ; preds = %1632, %1636
  %.str.5.sink1194 = phi ptr [ @.str.5, %1636 ], [ @.str.2, %1632 ]
  store i32 %1627, ptr %1626, align 4, !tbaa !5
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = load i32, ptr @test_count, align 4, !tbaa !5
  %1640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef nonnull @.str.4) #11
  %1643 = load i32, ptr %1640, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror_debug(i32 noundef %1643, ptr noundef nonnull @.str.4) #11
  %1645 = load i32, ptr %1626, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #11
  %1647 = load i32, ptr %1626, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1638, ptr noundef nonnull %.str.5.sink1194, i32 noundef %1639, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %1642, ptr noundef %1644, ptr noundef %1646, i32 noundef %1647) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1649:                                             ; preds = %1619
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = add nsw i32 %1650, 1
  store i32 %1651, ptr @test_count, align 4, !tbaa !5
  %1652 = load i64, ptr %20, align 8, !tbaa !46
  %1653 = icmp eq i64 %1652, 1
  br i1 %1653, label %1678, label %1654

1654:                                             ; preds = %1649
  %1655 = tail call ptr @__errno_location() #12
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = call i32 @s2n_print_stacktrace(ptr noundef %1657) #11
  %1659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1660 = trunc nuw i8 %1659 to i1
  br i1 %1660, label %1661, label %1665

1661:                                             ; preds = %1654
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = call i32 @fileno(ptr noundef %1662) #11
  %1664 = call i32 @isatty(i32 noundef %1663) #11
  %.not465 = icmp eq i32 %1664, 0
  br i1 %.not465, label %1665, label %1666

1665:                                             ; preds = %1661, %1654
  br label %1666

1666:                                             ; preds = %1661, %1665
  %.str.5.sink1205 = phi ptr [ @.str.5, %1665 ], [ @.str.2, %1661 ]
  store i32 %1656, ptr %1655, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = load i32, ptr @test_count, align 4, !tbaa !5
  %1669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1670 = load i32, ptr %1669, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror(i32 noundef %1670, ptr noundef nonnull @.str.4) #11
  %1672 = load i32, ptr %1669, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror_debug(i32 noundef %1672, ptr noundef nonnull @.str.4) #11
  %1674 = load i32, ptr %1655, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #11
  %1676 = load i32, ptr %1655, align 4, !tbaa !5
  %1677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1667, ptr noundef nonnull %.str.5.sink1205, i32 noundef %1668, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1671, ptr noundef %1673, ptr noundef %1675, i32 noundef %1676) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1678:                                             ; preds = %1649
  %1679 = add nsw i32 %1650, 2
  store i32 %1679, ptr @test_count, align 4, !tbaa !5
  %1680 = load i64, ptr %.sroa.10.0..sroa_idx385, align 8, !tbaa !48
  %1681 = load ptr, ptr %19, align 8, !tbaa !9
  %1682 = getelementptr inbounds i8, ptr %1681, i64 2248
  %1683 = load i64, ptr %1682, align 8, !tbaa !49
  %1684 = icmp eq i64 %1680, %1683
  br i1 %1684, label %1709, label %1685

1685:                                             ; preds = %1678
  %1686 = tail call ptr @__errno_location() #12
  %1687 = load i32, ptr %1686, align 4, !tbaa !5
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = call i32 @s2n_print_stacktrace(ptr noundef %1688) #11
  %1690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1691 = trunc nuw i8 %1690 to i1
  br i1 %1691, label %1692, label %1696

1692:                                             ; preds = %1685
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = call i32 @fileno(ptr noundef %1693) #11
  %1695 = call i32 @isatty(i32 noundef %1694) #11
  %.not466 = icmp eq i32 %1695, 0
  br i1 %.not466, label %1696, label %1697

1696:                                             ; preds = %1692, %1685
  br label %1697

1697:                                             ; preds = %1692, %1696
  %.str.5.sink1216 = phi ptr [ @.str.5, %1696 ], [ @.str.2, %1692 ]
  store i32 %1687, ptr %1686, align 4, !tbaa !5
  %1698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1699 = load i32, ptr @test_count, align 4, !tbaa !5
  %1700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef nonnull @.str.4) #11
  %1703 = load i32, ptr %1700, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef nonnull @.str.4) #11
  %1705 = load i32, ptr %1686, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #11
  %1707 = load i32, ptr %1686, align 4, !tbaa !5
  %1708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1698, ptr noundef nonnull %.str.5.sink1216, i32 noundef %1699, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %1702, ptr noundef %1704, ptr noundef %1706, i32 noundef %1707) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1709:                                             ; preds = %1678
  %1710 = add nsw i32 %1650, 3
  store i32 %1710, ptr @test_count, align 4, !tbaa !5
  %1711 = icmp ugt i64 %1680, 16394
  br i1 %1711, label %1736, label %1712

1712:                                             ; preds = %1709
  %1713 = tail call ptr @__errno_location() #12
  %1714 = load i32, ptr %1713, align 4, !tbaa !5
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = call i32 @s2n_print_stacktrace(ptr noundef %1715) #11
  %1717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1718 = trunc nuw i8 %1717 to i1
  br i1 %1718, label %1719, label %1723

1719:                                             ; preds = %1712
  %1720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1721 = call i32 @fileno(ptr noundef %1720) #11
  %1722 = call i32 @isatty(i32 noundef %1721) #11
  %.not467 = icmp eq i32 %1722, 0
  br i1 %.not467, label %1723, label %1724

1723:                                             ; preds = %1719, %1712
  br label %1724

1724:                                             ; preds = %1719, %1723
  %.str.5.sink1227 = phi ptr [ @.str.5, %1723 ], [ @.str.2, %1719 ]
  store i32 %1714, ptr %1713, align 4, !tbaa !5
  %1725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror(i32 noundef %1728, ptr noundef nonnull @.str.4) #11
  %1730 = load i32, ptr %1727, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror_debug(i32 noundef %1730, ptr noundef nonnull @.str.4) #11
  %1732 = load i32, ptr %1713, align 4, !tbaa !5
  %1733 = call ptr @strerror(i32 noundef %1732) #11
  %1734 = load i32, ptr %1713, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1725, ptr noundef nonnull %.str.5.sink1227, i32 noundef %1726, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %1729, ptr noundef %1731, ptr noundef %1733, i32 noundef %1734) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1736:                                             ; preds = %1709
  %1737 = trunc i64 %1680 to i32
  %1738 = add nsw i32 %1650, 4
  store i32 %1738, ptr @test_count, align 4, !tbaa !5
  %1739 = getelementptr inbounds i8, ptr %1681, i64 1904
  %1740 = load i32, ptr %1739, align 8, !tbaa !50
  %1741 = icmp eq i32 %1740, 20000
  br i1 %1741, label %1766, label %1742

1742:                                             ; preds = %1736
  %1743 = tail call ptr @__errno_location() #12
  %1744 = load i32, ptr %1743, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = call i32 @s2n_print_stacktrace(ptr noundef %1745) #11
  %1747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1748 = trunc nuw i8 %1747 to i1
  br i1 %1748, label %1749, label %1753

1749:                                             ; preds = %1742
  %1750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1751 = call i32 @fileno(ptr noundef %1750) #11
  %1752 = call i32 @isatty(i32 noundef %1751) #11
  %.not468 = icmp eq i32 %1752, 0
  br i1 %.not468, label %1753, label %1754

1753:                                             ; preds = %1749, %1742
  br label %1754

1754:                                             ; preds = %1749, %1753
  %.str.5.sink1238 = phi ptr [ @.str.5, %1753 ], [ @.str.2, %1749 ]
  store i32 %1744, ptr %1743, align 4, !tbaa !5
  %1755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1758 = load i32, ptr %1757, align 4, !tbaa !5
  %1759 = call ptr @s2n_strerror(i32 noundef %1758, ptr noundef nonnull @.str.4) #11
  %1760 = load i32, ptr %1757, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror_debug(i32 noundef %1760, ptr noundef nonnull @.str.4) #11
  %1762 = load i32, ptr %1743, align 4, !tbaa !5
  %1763 = call ptr @strerror(i32 noundef %1762) #11
  %1764 = load i32, ptr %1743, align 4, !tbaa !5
  %1765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1755, ptr noundef nonnull %.str.5.sink1238, i32 noundef %1756, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %1759, ptr noundef %1761, ptr noundef %1763, i32 noundef %1764) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1766:                                             ; preds = %1736
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #11
  %1767 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %19) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #11
  %1768 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %1768, ptr %22, align 8, !tbaa !9
  %1769 = load i32, ptr @test_count, align 4, !tbaa !5
  %1770 = add nsw i32 %1769, 1
  store i32 %1770, ptr @test_count, align 4, !tbaa !5
  %1771 = icmp eq ptr %1768, null
  br i1 %1771, label %1772, label %1796

1772:                                             ; preds = %1766
  %1773 = tail call ptr @__errno_location() #12
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775) #11
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc nuw i8 %1777 to i1
  br i1 %1778, label %1779, label %1783

1779:                                             ; preds = %1772
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #11
  %1782 = call i32 @isatty(i32 noundef %1781) #11
  %.not574 = icmp eq i32 %1782, 0
  br i1 %.not574, label %1783, label %1784

1783:                                             ; preds = %1779, %1772
  br label %1784

1784:                                             ; preds = %1779, %1783
  %.str.5.sink1249 = phi ptr [ @.str.5, %1783 ], [ @.str.2, %1779 ]
  store i32 %1774, ptr %1773, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror(i32 noundef %1788, ptr noundef nonnull @.str.4) #11
  %1790 = load i32, ptr %1787, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror_debug(i32 noundef %1790, ptr noundef nonnull @.str.4) #11
  %1792 = load i32, ptr %1773, align 4, !tbaa !5
  %1793 = call ptr @strerror(i32 noundef %1792) #11
  %1794 = load i32, ptr %1773, align 4, !tbaa !5
  %1795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef nonnull %.str.5.sink1249, i32 noundef %1786, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %1789, ptr noundef %1791, ptr noundef %1793, i32 noundef %1794) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1796:                                             ; preds = %1766
  %1797 = add nsw i32 %1769, 2
  store i32 %1797, ptr @test_count, align 4, !tbaa !5
  %1798 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %1768) #11
  %1799 = call zeroext i1 @s2n_result_is_ok(i32 %1798)
  br i1 %1799, label %1824, label %1800

1800:                                             ; preds = %1796
  %1801 = tail call ptr @__errno_location() #12
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = call i32 @s2n_print_stacktrace(ptr noundef %1803) #11
  %1805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1806 = trunc nuw i8 %1805 to i1
  br i1 %1806, label %1807, label %1811

1807:                                             ; preds = %1800
  %1808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1809 = call i32 @fileno(ptr noundef %1808) #11
  %1810 = call i32 @isatty(i32 noundef %1809) #11
  %.not469 = icmp eq i32 %1810, 0
  br i1 %.not469, label %1811, label %1812

1811:                                             ; preds = %1807, %1800
  br label %1812

1812:                                             ; preds = %1807, %1811
  %.str.5.sink1260 = phi ptr [ @.str.5, %1811 ], [ @.str.2, %1807 ]
  store i32 %1802, ptr %1801, align 4, !tbaa !5
  %1813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1814 = load i32, ptr @test_count, align 4, !tbaa !5
  %1815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1816 = load i32, ptr %1815, align 4, !tbaa !5
  %1817 = call ptr @s2n_strerror(i32 noundef %1816, ptr noundef nonnull @.str.4) #11
  %1818 = load i32, ptr %1815, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror_debug(i32 noundef %1818, ptr noundef nonnull @.str.4) #11
  %1820 = load i32, ptr %1801, align 4, !tbaa !5
  %1821 = call ptr @strerror(i32 noundef %1820) #11
  %1822 = load i32, ptr %1801, align 4, !tbaa !5
  %1823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1813, ptr noundef nonnull %.str.5.sink1260, i32 noundef %1814, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1817, ptr noundef %1819, ptr noundef %1821, i32 noundef %1822) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1824:                                             ; preds = %1796
  %1825 = load i32, ptr @test_count, align 4, !tbaa !5
  %1826 = add nsw i32 %1825, 1
  store i32 %1826, ptr @test_count, align 4, !tbaa !5
  %1827 = load ptr, ptr %22, align 8, !tbaa !9
  %1828 = call i32 @s2n_connection_set_config(ptr noundef %1827, ptr noundef nonnull %260) #11
  %1829 = icmp eq i32 %1828, -1
  br i1 %1829, label %1830, label %1854

1830:                                             ; preds = %1824
  %1831 = tail call ptr @__errno_location() #12
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = call i32 @s2n_print_stacktrace(ptr noundef %1833) #11
  %1835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1836 = trunc nuw i8 %1835 to i1
  br i1 %1836, label %1837, label %1841

1837:                                             ; preds = %1830
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @fileno(ptr noundef %1838) #11
  %1840 = call i32 @isatty(i32 noundef %1839) #11
  %.not573 = icmp eq i32 %1840, 0
  br i1 %.not573, label %1841, label %1842

1841:                                             ; preds = %1837, %1830
  br label %1842

1842:                                             ; preds = %1837, %1841
  %.str.5.sink1271 = phi ptr [ @.str.5, %1841 ], [ @.str.2, %1837 ]
  store i32 %1832, ptr %1831, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @s2n_strerror(i32 noundef %1846, ptr noundef nonnull @.str.4) #11
  %1848 = load i32, ptr %1845, align 4, !tbaa !5
  %1849 = call ptr @s2n_strerror_debug(i32 noundef %1848, ptr noundef nonnull @.str.4) #11
  %1850 = load i32, ptr %1831, align 4, !tbaa !5
  %1851 = call ptr @strerror(i32 noundef %1850) #11
  %1852 = load i32, ptr %1831, align 4, !tbaa !5
  %1853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1843, ptr noundef nonnull %.str.5.sink1271, i32 noundef %1844, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %1847, ptr noundef %1849, ptr noundef %1851, i32 noundef %1852) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1854:                                             ; preds = %1824
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #11
  %.sroa.10.0..sroa_idx387 = getelementptr inbounds i8, ptr %23, i64 8
  %.sroa.11.0..sroa_idx399 = getelementptr inbounds i8, ptr %23, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %23, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx399, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx411 = getelementptr inbounds i8, ptr %23, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx411, align 8, !tbaa !45
  %1855 = load i32, ptr @test_count, align 4, !tbaa !5
  %1856 = add nsw i32 %1855, 1
  store i32 %1856, ptr @test_count, align 4, !tbaa !5
  %1857 = load ptr, ptr %22, align 8, !tbaa !9
  %1858 = call i32 @s2n_connection_set_send_cb(ptr noundef %1857, ptr noundef nonnull @s2n_test_send_cb) #11
  %1859 = icmp eq i32 %1858, -1
  br i1 %1859, label %1860, label %1884

1860:                                             ; preds = %1854
  %1861 = tail call ptr @__errno_location() #12
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @s2n_print_stacktrace(ptr noundef %1863) #11
  %1865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1866 = trunc nuw i8 %1865 to i1
  br i1 %1866, label %1867, label %1871

1867:                                             ; preds = %1860
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @fileno(ptr noundef %1868) #11
  %1870 = call i32 @isatty(i32 noundef %1869) #11
  %.not572 = icmp eq i32 %1870, 0
  br i1 %.not572, label %1871, label %1872

1871:                                             ; preds = %1867, %1860
  br label %1872

1872:                                             ; preds = %1867, %1871
  %.str.5.sink1282 = phi ptr [ @.str.5, %1871 ], [ @.str.2, %1867 ]
  store i32 %1862, ptr %1861, align 4, !tbaa !5
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = load i32, ptr @test_count, align 4, !tbaa !5
  %1875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror(i32 noundef %1876, ptr noundef nonnull @.str.4) #11
  %1878 = load i32, ptr %1875, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror_debug(i32 noundef %1878, ptr noundef nonnull @.str.4) #11
  %1880 = load i32, ptr %1861, align 4, !tbaa !5
  %1881 = call ptr @strerror(i32 noundef %1880) #11
  %1882 = load i32, ptr %1861, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1873, ptr noundef nonnull %.str.5.sink1282, i32 noundef %1874, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %1877, ptr noundef %1879, ptr noundef %1881, i32 noundef %1882) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1884:                                             ; preds = %1854
  %1885 = load i32, ptr @test_count, align 4, !tbaa !5
  %1886 = add nsw i32 %1885, 1
  store i32 %1886, ptr @test_count, align 4, !tbaa !5
  %1887 = load ptr, ptr %22, align 8, !tbaa !9
  %1888 = call i32 @s2n_connection_set_send_ctx(ptr noundef %1887, ptr noundef nonnull %23) #11
  %1889 = icmp eq i32 %1888, -1
  br i1 %1889, label %1890, label %1914

1890:                                             ; preds = %1884
  %1891 = tail call ptr @__errno_location() #12
  %1892 = load i32, ptr %1891, align 4, !tbaa !5
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = call i32 @s2n_print_stacktrace(ptr noundef %1893) #11
  %1895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1896 = trunc nuw i8 %1895 to i1
  br i1 %1896, label %1897, label %1901

1897:                                             ; preds = %1890
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = call i32 @fileno(ptr noundef %1898) #11
  %1900 = call i32 @isatty(i32 noundef %1899) #11
  %.not571 = icmp eq i32 %1900, 0
  br i1 %.not571, label %1901, label %1902

1901:                                             ; preds = %1897, %1890
  br label %1902

1902:                                             ; preds = %1897, %1901
  %.str.5.sink1293 = phi ptr [ @.str.5, %1901 ], [ @.str.2, %1897 ]
  store i32 %1892, ptr %1891, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror(i32 noundef %1906, ptr noundef nonnull @.str.4) #11
  %1908 = load i32, ptr %1905, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror_debug(i32 noundef %1908, ptr noundef nonnull @.str.4) #11
  %1910 = load i32, ptr %1891, align 4, !tbaa !5
  %1911 = call ptr @strerror(i32 noundef %1910) #11
  %1912 = load i32, ptr %1891, align 4, !tbaa !5
  %1913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef nonnull %.str.5.sink1293, i32 noundef %1904, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %1907, ptr noundef %1909, ptr noundef %1911, i32 noundef %1912) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1914:                                             ; preds = %1884
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #11
  store i32 0, ptr %24, align 4, !tbaa !5
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = add nsw i32 %1915, 1
  store i32 %1916, ptr @test_count, align 4, !tbaa !5
  %1917 = load ptr, ptr %22, align 8, !tbaa !9
  %1918 = call i64 @s2n_send(ptr noundef %1917, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %24) #11
  %1919 = icmp eq i64 %1918, 16394
  br i1 %1919, label %1944, label %1920

1920:                                             ; preds = %1914
  %1921 = tail call ptr @__errno_location() #12
  %1922 = load i32, ptr %1921, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @s2n_print_stacktrace(ptr noundef %1923) #11
  %1925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1926 = trunc nuw i8 %1925 to i1
  br i1 %1926, label %1927, label %1931

1927:                                             ; preds = %1920
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = call i32 @fileno(ptr noundef %1928) #11
  %1930 = call i32 @isatty(i32 noundef %1929) #11
  %.not470 = icmp eq i32 %1930, 0
  br i1 %.not470, label %1931, label %1932

1931:                                             ; preds = %1927, %1920
  br label %1932

1932:                                             ; preds = %1927, %1931
  %.str.5.sink1304 = phi ptr [ @.str.5, %1931 ], [ @.str.2, %1927 ]
  store i32 %1922, ptr %1921, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = load i32, ptr @test_count, align 4, !tbaa !5
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror(i32 noundef %1936, ptr noundef nonnull @.str.4) #11
  %1938 = load i32, ptr %1935, align 4, !tbaa !5
  %1939 = call ptr @s2n_strerror_debug(i32 noundef %1938, ptr noundef nonnull @.str.4) #11
  %1940 = load i32, ptr %1921, align 4, !tbaa !5
  %1941 = call ptr @strerror(i32 noundef %1940) #11
  %1942 = load i32, ptr %1921, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1933, ptr noundef nonnull %.str.5.sink1304, i32 noundef %1934, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %1937, ptr noundef %1939, ptr noundef %1941, i32 noundef %1942) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1944:                                             ; preds = %1914
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = add nsw i32 %1945, 1
  store i32 %1946, ptr @test_count, align 4, !tbaa !5
  %1947 = load i64, ptr %23, align 8, !tbaa !46
  %1948 = icmp eq i64 %1947, 2
  br i1 %1948, label %1973, label %1949

1949:                                             ; preds = %1944
  %1950 = tail call ptr @__errno_location() #12
  %1951 = load i32, ptr %1950, align 4, !tbaa !5
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @s2n_print_stacktrace(ptr noundef %1952) #11
  %1954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1955 = trunc nuw i8 %1954 to i1
  br i1 %1955, label %1956, label %1960

1956:                                             ; preds = %1949
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @fileno(ptr noundef %1957) #11
  %1959 = call i32 @isatty(i32 noundef %1958) #11
  %.not471 = icmp eq i32 %1959, 0
  br i1 %.not471, label %1960, label %1961

1960:                                             ; preds = %1956, %1949
  br label %1961

1961:                                             ; preds = %1956, %1960
  %.str.5.sink1315 = phi ptr [ @.str.5, %1960 ], [ @.str.2, %1956 ]
  store i32 %1951, ptr %1950, align 4, !tbaa !5
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = load i32, ptr @test_count, align 4, !tbaa !5
  %1964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  %1966 = call ptr @s2n_strerror(i32 noundef %1965, ptr noundef nonnull @.str.4) #11
  %1967 = load i32, ptr %1964, align 4, !tbaa !5
  %1968 = call ptr @s2n_strerror_debug(i32 noundef %1967, ptr noundef nonnull @.str.4) #11
  %1969 = load i32, ptr %1950, align 4, !tbaa !5
  %1970 = call ptr @strerror(i32 noundef %1969) #11
  %1971 = load i32, ptr %1950, align 4, !tbaa !5
  %1972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1962, ptr noundef nonnull %.str.5.sink1315, i32 noundef %1963, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %1966, ptr noundef %1968, ptr noundef %1970, i32 noundef %1971) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1973:                                             ; preds = %1944
  %1974 = add nsw i32 %1945, 2
  store i32 %1974, ptr @test_count, align 4, !tbaa !5
  %1975 = load i64, ptr %.sroa.10.0..sroa_idx387, align 8, !tbaa !48
  %1976 = load ptr, ptr %22, align 8, !tbaa !9
  %1977 = getelementptr inbounds i8, ptr %1976, i64 2248
  %1978 = load i64, ptr %1977, align 8, !tbaa !49
  %1979 = icmp eq i64 %1975, %1978
  br i1 %1979, label %2004, label %1980

1980:                                             ; preds = %1973
  %1981 = tail call ptr @__errno_location() #12
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = call i32 @s2n_print_stacktrace(ptr noundef %1983) #11
  %1985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1986 = trunc nuw i8 %1985 to i1
  br i1 %1986, label %1987, label %1991

1987:                                             ; preds = %1980
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = call i32 @fileno(ptr noundef %1988) #11
  %1990 = call i32 @isatty(i32 noundef %1989) #11
  %.not472 = icmp eq i32 %1990, 0
  br i1 %.not472, label %1991, label %1992

1991:                                             ; preds = %1987, %1980
  br label %1992

1992:                                             ; preds = %1987, %1991
  %.str.5.sink1326 = phi ptr [ @.str.5, %1991 ], [ @.str.2, %1987 ]
  store i32 %1982, ptr %1981, align 4, !tbaa !5
  %1993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1994 = load i32, ptr @test_count, align 4, !tbaa !5
  %1995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror(i32 noundef %1996, ptr noundef nonnull @.str.4) #11
  %1998 = load i32, ptr %1995, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror_debug(i32 noundef %1998, ptr noundef nonnull @.str.4) #11
  %2000 = load i32, ptr %1981, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #11
  %2002 = load i32, ptr %1981, align 4, !tbaa !5
  %2003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1993, ptr noundef nonnull %.str.5.sink1326, i32 noundef %1994, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %1997, ptr noundef %1999, ptr noundef %2001, i32 noundef %2002) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2004:                                             ; preds = %1973
  %2005 = add nsw i32 %1945, 3
  store i32 %2005, ptr @test_count, align 4, !tbaa !5
  %2006 = and i64 %1680, 65535
  %2007 = icmp eq i64 %1975, %2006
  br i1 %2007, label %2032, label %2008

2008:                                             ; preds = %2004
  %2009 = tail call ptr @__errno_location() #12
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = call i32 @s2n_print_stacktrace(ptr noundef %2011) #11
  %2013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2014 = trunc nuw i8 %2013 to i1
  br i1 %2014, label %2015, label %2019

2015:                                             ; preds = %2008
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = call i32 @fileno(ptr noundef %2016) #11
  %2018 = call i32 @isatty(i32 noundef %2017) #11
  %.not473 = icmp eq i32 %2018, 0
  br i1 %.not473, label %2019, label %2020

2019:                                             ; preds = %2015, %2008
  br label %2020

2020:                                             ; preds = %2015, %2019
  %.str.5.sink1337 = phi ptr [ @.str.5, %2019 ], [ @.str.2, %2015 ]
  store i32 %2010, ptr %2009, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call ptr @s2n_strerror(i32 noundef %2024, ptr noundef nonnull @.str.4) #11
  %2026 = load i32, ptr %2023, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror_debug(i32 noundef %2026, ptr noundef nonnull @.str.4) #11
  %2028 = load i32, ptr %2009, align 4, !tbaa !5
  %2029 = call ptr @strerror(i32 noundef %2028) #11
  %2030 = load i32, ptr %2009, align 4, !tbaa !5
  %2031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2021, ptr noundef nonnull %.str.5.sink1337, i32 noundef %2022, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %2025, ptr noundef %2027, ptr noundef %2029, i32 noundef %2030) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2032:                                             ; preds = %2004
  %2033 = add nsw i32 %1945, 4
  store i32 %2033, ptr @test_count, align 4, !tbaa !5
  %2034 = getelementptr inbounds i8, ptr %1976, i64 1904
  %2035 = load i32, ptr %2034, align 8, !tbaa !50
  %2036 = icmp eq i32 %2035, 17300
  br i1 %2036, label %2061, label %2037

2037:                                             ; preds = %2032
  %2038 = tail call ptr @__errno_location() #12
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @s2n_print_stacktrace(ptr noundef %2040) #11
  %2042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2043 = trunc nuw i8 %2042 to i1
  br i1 %2043, label %2044, label %2048

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

2048:                                             ; preds = %2044, %2037
  br label %2049

2049:                                             ; preds = %2044, %2048
  %.str.5.sink1348 = phi ptr [ @.str.5, %2048 ], [ @.str.2, %2044 ]
  store i32 %2039, ptr %2038, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @s2n_strerror(i32 noundef %2053, ptr noundef nonnull @.str.4) #11
  %2055 = load i32, ptr %2052, align 4, !tbaa !5
  %2056 = call ptr @s2n_strerror_debug(i32 noundef %2055, ptr noundef nonnull @.str.4) #11
  %2057 = load i32, ptr %2038, align 4, !tbaa !5
  %2058 = call ptr @strerror(i32 noundef %2057) #11
  %2059 = load i32, ptr %2038, align 4, !tbaa !5
  %2060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2050, ptr noundef nonnull %.str.5.sink1348, i32 noundef %2051, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2054, ptr noundef %2056, ptr noundef %2058, i32 noundef %2059) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2061:                                             ; preds = %2032
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #11
  %2062 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #11
  %2063 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2063, ptr %25, align 8, !tbaa !9
  %2064 = load i32, ptr @test_count, align 4, !tbaa !5
  %2065 = add nsw i32 %2064, 1
  store i32 %2065, ptr @test_count, align 4, !tbaa !5
  %2066 = icmp eq ptr %2063, null
  br i1 %2066, label %2067, label %2091

2067:                                             ; preds = %2061
  %2068 = tail call ptr @__errno_location() #12
  %2069 = load i32, ptr %2068, align 4, !tbaa !5
  %2070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2071 = call i32 @s2n_print_stacktrace(ptr noundef %2070) #11
  %2072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2073 = trunc nuw i8 %2072 to i1
  br i1 %2073, label %2074, label %2078

2074:                                             ; preds = %2067
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @fileno(ptr noundef %2075) #11
  %2077 = call i32 @isatty(i32 noundef %2076) #11
  %.not570 = icmp eq i32 %2077, 0
  br i1 %.not570, label %2078, label %2079

2078:                                             ; preds = %2074, %2067
  br label %2079

2079:                                             ; preds = %2074, %2078
  %.str.5.sink1359 = phi ptr [ @.str.5, %2078 ], [ @.str.2, %2074 ]
  store i32 %2069, ptr %2068, align 4, !tbaa !5
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = load i32, ptr @test_count, align 4, !tbaa !5
  %2082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2083 = load i32, ptr %2082, align 4, !tbaa !5
  %2084 = call ptr @s2n_strerror(i32 noundef %2083, ptr noundef nonnull @.str.4) #11
  %2085 = load i32, ptr %2082, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror_debug(i32 noundef %2085, ptr noundef nonnull @.str.4) #11
  %2087 = load i32, ptr %2068, align 4, !tbaa !5
  %2088 = call ptr @strerror(i32 noundef %2087) #11
  %2089 = load i32, ptr %2068, align 4, !tbaa !5
  %2090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2080, ptr noundef nonnull %.str.5.sink1359, i32 noundef %2081, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %2084, ptr noundef %2086, ptr noundef %2088, i32 noundef %2089) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2091:                                             ; preds = %2061
  %2092 = add nsw i32 %2064, 2
  store i32 %2092, ptr @test_count, align 4, !tbaa !5
  %2093 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %2063) #11
  %2094 = call zeroext i1 @s2n_result_is_ok(i32 %2093)
  br i1 %2094, label %2119, label %2095

2095:                                             ; preds = %2091
  %2096 = tail call ptr @__errno_location() #12
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2099 = call i32 @s2n_print_stacktrace(ptr noundef %2098) #11
  %2100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2101 = trunc nuw i8 %2100 to i1
  br i1 %2101, label %2102, label %2106

2102:                                             ; preds = %2095
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @fileno(ptr noundef %2103) #11
  %2105 = call i32 @isatty(i32 noundef %2104) #11
  %.not475 = icmp eq i32 %2105, 0
  br i1 %.not475, label %2106, label %2107

2106:                                             ; preds = %2102, %2095
  br label %2107

2107:                                             ; preds = %2102, %2106
  %.str.5.sink1370 = phi ptr [ @.str.5, %2106 ], [ @.str.2, %2102 ]
  store i32 %2097, ptr %2096, align 4, !tbaa !5
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = load i32, ptr @test_count, align 4, !tbaa !5
  %2110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  %2112 = call ptr @s2n_strerror(i32 noundef %2111, ptr noundef nonnull @.str.4) #11
  %2113 = load i32, ptr %2110, align 4, !tbaa !5
  %2114 = call ptr @s2n_strerror_debug(i32 noundef %2113, ptr noundef nonnull @.str.4) #11
  %2115 = load i32, ptr %2096, align 4, !tbaa !5
  %2116 = call ptr @strerror(i32 noundef %2115) #11
  %2117 = load i32, ptr %2096, align 4, !tbaa !5
  %2118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2108, ptr noundef nonnull %.str.5.sink1370, i32 noundef %2109, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %2112, ptr noundef %2114, ptr noundef %2116, i32 noundef %2117) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2119:                                             ; preds = %2091
  %2120 = load i32, ptr @test_count, align 4, !tbaa !5
  %2121 = add nsw i32 %2120, 1
  store i32 %2121, ptr @test_count, align 4, !tbaa !5
  %2122 = load ptr, ptr %25, align 8, !tbaa !9
  %2123 = call i32 @s2n_connection_set_config(ptr noundef %2122, ptr noundef nonnull %198) #11
  %2124 = icmp eq i32 %2123, -1
  br i1 %2124, label %2125, label %2149

2125:                                             ; preds = %2119
  %2126 = tail call ptr @__errno_location() #12
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @s2n_print_stacktrace(ptr noundef %2128) #11
  %2130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2131 = trunc nuw i8 %2130 to i1
  br i1 %2131, label %2132, label %2136

2132:                                             ; preds = %2125
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = call i32 @fileno(ptr noundef %2133) #11
  %2135 = call i32 @isatty(i32 noundef %2134) #11
  %.not569 = icmp eq i32 %2135, 0
  br i1 %.not569, label %2136, label %2137

2136:                                             ; preds = %2132, %2125
  br label %2137

2137:                                             ; preds = %2132, %2136
  %.str.5.sink1381 = phi ptr [ @.str.5, %2136 ], [ @.str.2, %2132 ]
  store i32 %2127, ptr %2126, align 4, !tbaa !5
  %2138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2139 = load i32, ptr @test_count, align 4, !tbaa !5
  %2140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2141 = load i32, ptr %2140, align 4, !tbaa !5
  %2142 = call ptr @s2n_strerror(i32 noundef %2141, ptr noundef nonnull @.str.4) #11
  %2143 = load i32, ptr %2140, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror_debug(i32 noundef %2143, ptr noundef nonnull @.str.4) #11
  %2145 = load i32, ptr %2126, align 4, !tbaa !5
  %2146 = call ptr @strerror(i32 noundef %2145) #11
  %2147 = load i32, ptr %2126, align 4, !tbaa !5
  %2148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2138, ptr noundef nonnull %.str.5.sink1381, i32 noundef %2139, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %2142, ptr noundef %2144, ptr noundef %2146, i32 noundef %2147) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2149:                                             ; preds = %2119
  %2150 = and i32 %1737, 65535
  %2151 = add nsw i32 %2150, -11
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %26) #11
  store i32 10, ptr %26, align 16, !tbaa !51
  %2152 = getelementptr inbounds i8, ptr %26, i64 4
  store i32 11, ptr %2152, align 4, !tbaa !53
  %2153 = getelementptr inbounds i8, ptr %26, i64 8
  store i8 0, ptr %2153, align 8, !tbaa !54
  %2154 = getelementptr inbounds i8, ptr %26, i64 12
  store i32 -1, ptr %2154, align 4, !tbaa !51
  %2155 = getelementptr inbounds i8, ptr %26, i64 16
  store i32 11, ptr %2155, align 16, !tbaa !53
  %2156 = getelementptr inbounds i8, ptr %26, i64 20
  store i8 0, ptr %2156, align 4, !tbaa !54
  %2157 = getelementptr inbounds i8, ptr %26, i64 24
  store i32 %2151, ptr %2157, align 8, !tbaa !51
  %2158 = getelementptr inbounds i8, ptr %26, i64 28
  store i32 11, ptr %2158, align 4, !tbaa !53
  %2159 = getelementptr inbounds i8, ptr %26, i64 32
  store i8 0, ptr %2159, align 16, !tbaa !54
  %2160 = getelementptr inbounds i8, ptr %26, i64 36
  store i32 -1, ptr %2160, align 4, !tbaa !51
  %2161 = getelementptr inbounds i8, ptr %26, i64 40
  store i32 11, ptr %2161, align 8, !tbaa !53
  %2162 = getelementptr inbounds i8, ptr %26, i64 44
  store i8 0, ptr %2162, align 4, !tbaa !54
  %2163 = getelementptr inbounds i8, ptr %26, i64 48
  store i32 2147483647, ptr %2163, align 16, !tbaa !51
  %2164 = getelementptr inbounds i8, ptr %26, i64 52
  store i32 0, ptr %2164, align 4, !tbaa !53
  %2165 = getelementptr inbounds i8, ptr %26, i64 56
  store i8 0, ptr %2165, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #11
  %2166 = getelementptr inbounds i8, ptr %27, i64 8
  %2167 = getelementptr inbounds i8, ptr %27, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %27, i8 0, i64 16, i1 false)
  store ptr %26, ptr %2167, align 8, !tbaa !55
  %2168 = getelementptr inbounds i8, ptr %27, i64 24
  store i64 5, ptr %2168, align 8, !tbaa !56
  %2169 = load i32, ptr @test_count, align 4, !tbaa !5
  %2170 = add nsw i32 %2169, 1
  store i32 %2170, ptr @test_count, align 4, !tbaa !5
  %2171 = load ptr, ptr %25, align 8, !tbaa !9
  %2172 = call i32 @s2n_connection_set_send_cb(ptr noundef %2171, ptr noundef nonnull @s2n_test_send_cb) #11
  %2173 = icmp eq i32 %2172, -1
  br i1 %2173, label %2174, label %2198

2174:                                             ; preds = %2149
  %2175 = tail call ptr @__errno_location() #12
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @s2n_print_stacktrace(ptr noundef %2177) #11
  %2179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2180 = trunc nuw i8 %2179 to i1
  br i1 %2180, label %2181, label %2185

2181:                                             ; preds = %2174
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = call i32 @fileno(ptr noundef %2182) #11
  %2184 = call i32 @isatty(i32 noundef %2183) #11
  %.not568 = icmp eq i32 %2184, 0
  br i1 %.not568, label %2185, label %2186

2185:                                             ; preds = %2181, %2174
  br label %2186

2186:                                             ; preds = %2181, %2185
  %.str.5.sink1392 = phi ptr [ @.str.5, %2185 ], [ @.str.2, %2181 ]
  store i32 %2176, ptr %2175, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef nonnull @.str.4) #11
  %2192 = load i32, ptr %2189, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror_debug(i32 noundef %2192, ptr noundef nonnull @.str.4) #11
  %2194 = load i32, ptr %2175, align 4, !tbaa !5
  %2195 = call ptr @strerror(i32 noundef %2194) #11
  %2196 = load i32, ptr %2175, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef nonnull %.str.5.sink1392, i32 noundef %2188, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %2191, ptr noundef %2193, ptr noundef %2195, i32 noundef %2196) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2198:                                             ; preds = %2149
  %2199 = load i32, ptr @test_count, align 4, !tbaa !5
  %2200 = add nsw i32 %2199, 1
  store i32 %2200, ptr @test_count, align 4, !tbaa !5
  %2201 = load ptr, ptr %25, align 8, !tbaa !9
  %2202 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2201, ptr noundef nonnull %27) #11
  %2203 = icmp eq i32 %2202, -1
  br i1 %2203, label %2204, label %2228

2204:                                             ; preds = %2198
  %2205 = tail call ptr @__errno_location() #12
  %2206 = load i32, ptr %2205, align 4, !tbaa !5
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @s2n_print_stacktrace(ptr noundef %2207) #11
  %2209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2210 = trunc nuw i8 %2209 to i1
  br i1 %2210, label %2211, label %2215

2211:                                             ; preds = %2204
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = call i32 @fileno(ptr noundef %2212) #11
  %2214 = call i32 @isatty(i32 noundef %2213) #11
  %.not567 = icmp eq i32 %2214, 0
  br i1 %.not567, label %2215, label %2216

2215:                                             ; preds = %2211, %2204
  br label %2216

2216:                                             ; preds = %2211, %2215
  %.str.5.sink1403 = phi ptr [ @.str.5, %2215 ], [ @.str.2, %2211 ]
  store i32 %2206, ptr %2205, align 4, !tbaa !5
  %2217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2218 = load i32, ptr @test_count, align 4, !tbaa !5
  %2219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2220 = load i32, ptr %2219, align 4, !tbaa !5
  %2221 = call ptr @s2n_strerror(i32 noundef %2220, ptr noundef nonnull @.str.4) #11
  %2222 = load i32, ptr %2219, align 4, !tbaa !5
  %2223 = call ptr @s2n_strerror_debug(i32 noundef %2222, ptr noundef nonnull @.str.4) #11
  %2224 = load i32, ptr %2205, align 4, !tbaa !5
  %2225 = call ptr @strerror(i32 noundef %2224) #11
  %2226 = load i32, ptr %2205, align 4, !tbaa !5
  %2227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2217, ptr noundef nonnull %.str.5.sink1403, i32 noundef %2218, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %2221, ptr noundef %2223, ptr noundef %2225, i32 noundef %2226) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2228:                                             ; preds = %2198
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #11
  store i32 0, ptr %28, align 4, !tbaa !5
  %2229 = load i32, ptr @test_count, align 4, !tbaa !5
  %2230 = add nsw i32 %2229, 1
  store i32 %2230, ptr @test_count, align 4, !tbaa !5
  %2231 = load ptr, ptr %25, align 8, !tbaa !9
  %2232 = call i64 @s2n_send(ptr noundef %2231, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %28) #11
  %2233 = icmp eq i64 %2232, -1
  br i1 %2233, label %2258, label %2234

2234:                                             ; preds = %2228
  %2235 = tail call ptr @__errno_location() #12
  %2236 = load i32, ptr %2235, align 4, !tbaa !5
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @s2n_print_stacktrace(ptr noundef %2237) #11
  %2239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2240 = trunc nuw i8 %2239 to i1
  br i1 %2240, label %2241, label %2245

2241:                                             ; preds = %2234
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = call i32 @fileno(ptr noundef %2242) #11
  %2244 = call i32 @isatty(i32 noundef %2243) #11
  %.not476 = icmp eq i32 %2244, 0
  br i1 %.not476, label %2245, label %2246

2245:                                             ; preds = %2241, %2234
  br label %2246

2246:                                             ; preds = %2241, %2245
  %.str.5.sink1414 = phi ptr [ @.str.5, %2245 ], [ @.str.2, %2241 ]
  store i32 %2236, ptr %2235, align 4, !tbaa !5
  %2247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2248 = load i32, ptr @test_count, align 4, !tbaa !5
  %2249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call ptr @s2n_strerror(i32 noundef %2250, ptr noundef nonnull @.str.4) #11
  %2252 = load i32, ptr %2249, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef nonnull @.str.4) #11
  %2254 = load i32, ptr %2235, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #11
  %2256 = load i32, ptr %2235, align 4, !tbaa !5
  %2257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2247, ptr noundef nonnull %.str.5.sink1414, i32 noundef %2248, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %2251, ptr noundef %2253, ptr noundef %2255, i32 noundef %2256) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2258:                                             ; preds = %2228
  %2259 = load i32, ptr @test_count, align 4, !tbaa !5
  %2260 = add nsw i32 %2259, 1
  store i32 %2260, ptr @test_count, align 4, !tbaa !5
  %2261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = icmp eq i32 %2262, 201326592
  br i1 %2263, label %2287, label %2264

2264:                                             ; preds = %2258
  %2265 = tail call ptr @__errno_location() #12
  %2266 = load i32, ptr %2265, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = call i32 @s2n_print_stacktrace(ptr noundef %2267) #11
  %2269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2270 = trunc nuw i8 %2269 to i1
  br i1 %2270, label %2271, label %2275

2271:                                             ; preds = %2264
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @fileno(ptr noundef %2272) #11
  %2274 = call i32 @isatty(i32 noundef %2273) #11
  %.not477 = icmp eq i32 %2274, 0
  br i1 %.not477, label %2275, label %2276

2275:                                             ; preds = %2271, %2264
  br label %2276

2276:                                             ; preds = %2271, %2275
  %.str.5.sink1425 = phi ptr [ @.str.5, %2275 ], [ @.str.2, %2271 ]
  store i32 %2266, ptr %2265, align 4, !tbaa !5
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = load i32, ptr @test_count, align 4, !tbaa !5
  %2279 = load i32, ptr %2261, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror(i32 noundef %2279, ptr noundef nonnull @.str.4) #11
  %2281 = load i32, ptr %2261, align 4, !tbaa !5
  %2282 = call ptr @s2n_strerror_debug(i32 noundef %2281, ptr noundef nonnull @.str.4) #11
  %2283 = load i32, ptr %2265, align 4, !tbaa !5
  %2284 = call ptr @strerror(i32 noundef %2283) #11
  %2285 = load i32, ptr %2265, align 4, !tbaa !5
  %2286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2277, ptr noundef nonnull %.str.5.sink1425, i32 noundef %2278, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %2280, ptr noundef %2282, ptr noundef %2284, i32 noundef %2285) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2287:                                             ; preds = %2258
  %2288 = add nsw i32 %2259, 2
  store i32 %2288, ptr @test_count, align 4, !tbaa !5
  %2289 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #11
  %2290 = icmp eq ptr %2289, null
  br i1 %2290, label %2291, label %2314

2291:                                             ; preds = %2287
  %2292 = tail call ptr @__errno_location() #12
  %2293 = load i32, ptr %2292, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = call i32 @s2n_print_stacktrace(ptr noundef %2294) #11
  %2296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2297 = trunc nuw i8 %2296 to i1
  br i1 %2297, label %2298, label %2302

2298:                                             ; preds = %2291
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @fileno(ptr noundef %2299) #11
  %2301 = call i32 @isatty(i32 noundef %2300) #11
  %.not566 = icmp eq i32 %2301, 0
  br i1 %.not566, label %2302, label %2303

2302:                                             ; preds = %2298, %2291
  br label %2303

2303:                                             ; preds = %2298, %2302
  %.str.5.sink1434 = phi ptr [ @.str.5, %2302 ], [ @.str.2, %2298 ]
  store i32 %2293, ptr %2292, align 4, !tbaa !5
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = load i32, ptr @test_count, align 4, !tbaa !5
  %2306 = load i32, ptr %2261, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror(i32 noundef %2306, ptr noundef nonnull @.str.4) #11
  %2308 = load i32, ptr %2261, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef nonnull @.str.4) #11
  %2310 = load i32, ptr %2292, align 4, !tbaa !5
  %2311 = call ptr @strerror(i32 noundef %2310) #11
  %2312 = load i32, ptr %2292, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2304, ptr noundef nonnull %.str.5.sink1434, i32 noundef %2305, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %2307, ptr noundef %2309, ptr noundef %2311, i32 noundef %2312) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2314:                                             ; preds = %2287
  store i32 0, ptr %2261, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %2315 = tail call ptr @__errno_location() #12
  store i32 0, ptr %2315, align 4, !tbaa !5
  %2316 = load i32, ptr @test_count, align 4, !tbaa !5
  %2317 = add nsw i32 %2316, 1
  store i32 %2317, ptr @test_count, align 4, !tbaa !5
  %2318 = load i32, ptr %28, align 4, !tbaa !5
  %2319 = icmp eq i32 %2318, 2
  br i1 %2319, label %2342, label %2320

2320:                                             ; preds = %2314
  %2321 = load i32, ptr %2315, align 4, !tbaa !5
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = call i32 @s2n_print_stacktrace(ptr noundef %2322) #11
  %2324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2325 = trunc nuw i8 %2324 to i1
  br i1 %2325, label %2326, label %2330

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

2330:                                             ; preds = %2326, %2320
  br label %2331

2331:                                             ; preds = %2326, %2330
  %.str.5.sink1443 = phi ptr [ @.str.5, %2330 ], [ @.str.2, %2326 ]
  store i32 %2321, ptr %2315, align 4, !tbaa !5
  %2332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2333 = load i32, ptr @test_count, align 4, !tbaa !5
  %2334 = load i32, ptr %2261, align 4, !tbaa !5
  %2335 = call ptr @s2n_strerror(i32 noundef %2334, ptr noundef nonnull @.str.4) #11
  %2336 = load i32, ptr %2261, align 4, !tbaa !5
  %2337 = call ptr @s2n_strerror_debug(i32 noundef %2336, ptr noundef nonnull @.str.4) #11
  %2338 = load i32, ptr %2315, align 4, !tbaa !5
  %2339 = call ptr @strerror(i32 noundef %2338) #11
  %2340 = load i32, ptr %2315, align 4, !tbaa !5
  %2341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2332, ptr noundef nonnull %.str.5.sink1443, i32 noundef %2333, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %2335, ptr noundef %2337, ptr noundef %2339, i32 noundef %2340) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2342:                                             ; preds = %2314
  %2343 = add nsw i32 %2316, 2
  store i32 %2343, ptr @test_count, align 4, !tbaa !5
  %2344 = load i64, ptr %2166, align 8, !tbaa !48
  %2345 = icmp eq i64 %2344, 10
  br i1 %2345, label %2368, label %2346

2346:                                             ; preds = %2342
  %2347 = load i32, ptr %2315, align 4, !tbaa !5
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = call i32 @s2n_print_stacktrace(ptr noundef %2348) #11
  %2350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2351 = trunc nuw i8 %2350 to i1
  br i1 %2351, label %2352, label %2356

2352:                                             ; preds = %2346
  %2353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2354 = call i32 @fileno(ptr noundef %2353) #11
  %2355 = call i32 @isatty(i32 noundef %2354) #11
  %.not479 = icmp eq i32 %2355, 0
  br i1 %.not479, label %2356, label %2357

2356:                                             ; preds = %2352, %2346
  br label %2357

2357:                                             ; preds = %2352, %2356
  %.str.5.sink1452 = phi ptr [ @.str.5, %2356 ], [ @.str.2, %2352 ]
  store i32 %2347, ptr %2315, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = load i32, ptr %2261, align 4, !tbaa !5
  %2361 = call ptr @s2n_strerror(i32 noundef %2360, ptr noundef nonnull @.str.4) #11
  %2362 = load i32, ptr %2261, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror_debug(i32 noundef %2362, ptr noundef nonnull @.str.4) #11
  %2364 = load i32, ptr %2315, align 4, !tbaa !5
  %2365 = call ptr @strerror(i32 noundef %2364) #11
  %2366 = load i32, ptr %2315, align 4, !tbaa !5
  %2367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2358, ptr noundef nonnull %.str.5.sink1452, i32 noundef %2359, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %2361, ptr noundef %2363, ptr noundef %2365, i32 noundef %2366) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2368:                                             ; preds = %2342
  %2369 = add nsw i32 %2316, 3
  store i32 %2369, ptr @test_count, align 4, !tbaa !5
  %2370 = load ptr, ptr %25, align 8, !tbaa !9
  %2371 = call i64 @s2n_send(ptr noundef %2370, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %28) #11
  %2372 = icmp eq i64 %2371, -1
  br i1 %2372, label %2395, label %2373

2373:                                             ; preds = %2368
  %2374 = load i32, ptr %2315, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = call i32 @s2n_print_stacktrace(ptr noundef %2375) #11
  %2377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2378 = trunc nuw i8 %2377 to i1
  br i1 %2378, label %2379, label %2383

2379:                                             ; preds = %2373
  %2380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2381 = call i32 @fileno(ptr noundef %2380) #11
  %2382 = call i32 @isatty(i32 noundef %2381) #11
  %.not480 = icmp eq i32 %2382, 0
  br i1 %.not480, label %2383, label %2384

2383:                                             ; preds = %2379, %2373
  br label %2384

2384:                                             ; preds = %2379, %2383
  %.str.5.sink1461 = phi ptr [ @.str.5, %2383 ], [ @.str.2, %2379 ]
  store i32 %2374, ptr %2315, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = load i32, ptr @test_count, align 4, !tbaa !5
  %2387 = load i32, ptr %2261, align 4, !tbaa !5
  %2388 = call ptr @s2n_strerror(i32 noundef %2387, ptr noundef nonnull @.str.4) #11
  %2389 = load i32, ptr %2261, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror_debug(i32 noundef %2389, ptr noundef nonnull @.str.4) #11
  %2391 = load i32, ptr %2315, align 4, !tbaa !5
  %2392 = call ptr @strerror(i32 noundef %2391) #11
  %2393 = load i32, ptr %2315, align 4, !tbaa !5
  %2394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2385, ptr noundef nonnull %.str.5.sink1461, i32 noundef %2386, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %2388, ptr noundef %2390, ptr noundef %2392, i32 noundef %2393) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2395:                                             ; preds = %2368
  %2396 = load i32, ptr @test_count, align 4, !tbaa !5
  %2397 = add nsw i32 %2396, 1
  store i32 %2397, ptr @test_count, align 4, !tbaa !5
  %2398 = load i32, ptr %2261, align 4, !tbaa !5
  %2399 = icmp eq i32 %2398, 201326592
  br i1 %2399, label %2422, label %2400

2400:                                             ; preds = %2395
  %2401 = load i32, ptr %2315, align 4, !tbaa !5
  %2402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2403 = call i32 @s2n_print_stacktrace(ptr noundef %2402) #11
  %2404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2405 = trunc nuw i8 %2404 to i1
  br i1 %2405, label %2406, label %2410

2406:                                             ; preds = %2400
  %2407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2408 = call i32 @fileno(ptr noundef %2407) #11
  %2409 = call i32 @isatty(i32 noundef %2408) #11
  %.not481 = icmp eq i32 %2409, 0
  br i1 %.not481, label %2410, label %2411

2410:                                             ; preds = %2406, %2400
  br label %2411

2411:                                             ; preds = %2406, %2410
  %.str.5.sink1470 = phi ptr [ @.str.5, %2410 ], [ @.str.2, %2406 ]
  store i32 %2401, ptr %2315, align 4, !tbaa !5
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = load i32, ptr %2261, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef nonnull @.str.4) #11
  %2416 = load i32, ptr %2261, align 4, !tbaa !5
  %2417 = call ptr @s2n_strerror_debug(i32 noundef %2416, ptr noundef nonnull @.str.4) #11
  %2418 = load i32, ptr %2315, align 4, !tbaa !5
  %2419 = call ptr @strerror(i32 noundef %2418) #11
  %2420 = load i32, ptr %2315, align 4, !tbaa !5
  %2421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2412, ptr noundef nonnull %.str.5.sink1470, i32 noundef %2413, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %2415, ptr noundef %2417, ptr noundef %2419, i32 noundef %2420) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2422:                                             ; preds = %2395
  %2423 = add nsw i32 %2396, 2
  store i32 %2423, ptr @test_count, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #11
  %2425 = icmp eq ptr %2424, null
  br i1 %2425, label %2426, label %2448

2426:                                             ; preds = %2422
  %2427 = load i32, ptr %2315, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = call i32 @s2n_print_stacktrace(ptr noundef %2428) #11
  %2430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2431 = trunc nuw i8 %2430 to i1
  br i1 %2431, label %2432, label %2436

2432:                                             ; preds = %2426
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = call i32 @fileno(ptr noundef %2433) #11
  %2435 = call i32 @isatty(i32 noundef %2434) #11
  %.not565 = icmp eq i32 %2435, 0
  br i1 %.not565, label %2436, label %2437

2436:                                             ; preds = %2432, %2426
  br label %2437

2437:                                             ; preds = %2432, %2436
  %.str.5.sink1479 = phi ptr [ @.str.5, %2436 ], [ @.str.2, %2432 ]
  store i32 %2427, ptr %2315, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = load i32, ptr %2261, align 4, !tbaa !5
  %2441 = call ptr @s2n_strerror(i32 noundef %2440, ptr noundef nonnull @.str.4) #11
  %2442 = load i32, ptr %2261, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror_debug(i32 noundef %2442, ptr noundef nonnull @.str.4) #11
  %2444 = load i32, ptr %2315, align 4, !tbaa !5
  %2445 = call ptr @strerror(i32 noundef %2444) #11
  %2446 = load i32, ptr %2315, align 4, !tbaa !5
  %2447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2438, ptr noundef nonnull %.str.5.sink1479, i32 noundef %2439, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 322, ptr noundef %2441, ptr noundef %2443, ptr noundef %2445, i32 noundef %2446) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2448:                                             ; preds = %2422
  store i32 0, ptr %2261, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2315, align 4, !tbaa !5
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = add nsw i32 %2449, 1
  store i32 %2450, ptr @test_count, align 4, !tbaa !5
  %2451 = load i32, ptr %28, align 4, !tbaa !5
  %2452 = icmp eq i32 %2451, 2
  br i1 %2452, label %2475, label %2453

2453:                                             ; preds = %2448
  %2454 = load i32, ptr %2315, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = call i32 @s2n_print_stacktrace(ptr noundef %2455) #11
  %2457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2458 = trunc nuw i8 %2457 to i1
  br i1 %2458, label %2459, label %2463

2459:                                             ; preds = %2453
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = call i32 @fileno(ptr noundef %2460) #11
  %2462 = call i32 @isatty(i32 noundef %2461) #11
  %.not482 = icmp eq i32 %2462, 0
  br i1 %.not482, label %2463, label %2464

2463:                                             ; preds = %2459, %2453
  br label %2464

2464:                                             ; preds = %2459, %2463
  %.str.5.sink1488 = phi ptr [ @.str.5, %2463 ], [ @.str.2, %2459 ]
  store i32 %2454, ptr %2315, align 4, !tbaa !5
  %2465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = load i32, ptr %2261, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef nonnull @.str.4) #11
  %2469 = load i32, ptr %2261, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror_debug(i32 noundef %2469, ptr noundef nonnull @.str.4) #11
  %2471 = load i32, ptr %2315, align 4, !tbaa !5
  %2472 = call ptr @strerror(i32 noundef %2471) #11
  %2473 = load i32, ptr %2315, align 4, !tbaa !5
  %2474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2465, ptr noundef nonnull %.str.5.sink1488, i32 noundef %2466, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %2468, ptr noundef %2470, ptr noundef %2472, i32 noundef %2473) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2475:                                             ; preds = %2448
  %2476 = add nsw i32 %2449, 2
  store i32 %2476, ptr @test_count, align 4, !tbaa !5
  %2477 = load i64, ptr %2166, align 8, !tbaa !48
  %2478 = add nsw i32 %2150, -1
  %2479 = zext i32 %2478 to i64
  %2480 = icmp eq i64 %2477, %2479
  br i1 %2480, label %2503, label %2481

2481:                                             ; preds = %2475
  %2482 = load i32, ptr %2315, align 4, !tbaa !5
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = call i32 @s2n_print_stacktrace(ptr noundef %2483) #11
  %2485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2486 = trunc nuw i8 %2485 to i1
  br i1 %2486, label %2487, label %2491

2487:                                             ; preds = %2481
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = call i32 @fileno(ptr noundef %2488) #11
  %2490 = call i32 @isatty(i32 noundef %2489) #11
  %.not483 = icmp eq i32 %2490, 0
  br i1 %.not483, label %2491, label %2492

2491:                                             ; preds = %2487, %2481
  br label %2492

2492:                                             ; preds = %2487, %2491
  %.str.5.sink1497 = phi ptr [ @.str.5, %2491 ], [ @.str.2, %2487 ]
  store i32 %2482, ptr %2315, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = load i32, ptr %2261, align 4, !tbaa !5
  %2496 = call ptr @s2n_strerror(i32 noundef %2495, ptr noundef nonnull @.str.4) #11
  %2497 = load i32, ptr %2261, align 4, !tbaa !5
  %2498 = call ptr @s2n_strerror_debug(i32 noundef %2497, ptr noundef nonnull @.str.4) #11
  %2499 = load i32, ptr %2315, align 4, !tbaa !5
  %2500 = call ptr @strerror(i32 noundef %2499) #11
  %2501 = load i32, ptr %2315, align 4, !tbaa !5
  %2502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef nonnull %.str.5.sink1497, i32 noundef %2494, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %2496, ptr noundef %2498, ptr noundef %2500, i32 noundef %2501) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2503:                                             ; preds = %2475
  %2504 = add nsw i32 %2449, 3
  store i32 %2504, ptr @test_count, align 4, !tbaa !5
  %2505 = load ptr, ptr %25, align 8, !tbaa !9
  %2506 = call i64 @s2n_send(ptr noundef %2505, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %28) #11
  %2507 = icmp eq i64 %2506, 16394
  br i1 %2507, label %2530, label %2508

2508:                                             ; preds = %2503
  %2509 = load i32, ptr %2315, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @s2n_print_stacktrace(ptr noundef %2510) #11
  %2512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2513 = trunc nuw i8 %2512 to i1
  br i1 %2513, label %2514, label %2518

2514:                                             ; preds = %2508
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = call i32 @fileno(ptr noundef %2515) #11
  %2517 = call i32 @isatty(i32 noundef %2516) #11
  %.not484 = icmp eq i32 %2517, 0
  br i1 %.not484, label %2518, label %2519

2518:                                             ; preds = %2514, %2508
  br label %2519

2519:                                             ; preds = %2514, %2518
  %.str.5.sink1506 = phi ptr [ @.str.5, %2518 ], [ @.str.2, %2514 ]
  store i32 %2509, ptr %2315, align 4, !tbaa !5
  %2520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2521 = load i32, ptr @test_count, align 4, !tbaa !5
  %2522 = load i32, ptr %2261, align 4, !tbaa !5
  %2523 = call ptr @s2n_strerror(i32 noundef %2522, ptr noundef nonnull @.str.4) #11
  %2524 = load i32, ptr %2261, align 4, !tbaa !5
  %2525 = call ptr @s2n_strerror_debug(i32 noundef %2524, ptr noundef nonnull @.str.4) #11
  %2526 = load i32, ptr %2315, align 4, !tbaa !5
  %2527 = call ptr @strerror(i32 noundef %2526) #11
  %2528 = load i32, ptr %2315, align 4, !tbaa !5
  %2529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2520, ptr noundef nonnull %.str.5.sink1506, i32 noundef %2521, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %2523, ptr noundef %2525, ptr noundef %2527, i32 noundef %2528) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2530:                                             ; preds = %2503
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = add nsw i32 %2531, 1
  store i32 %2532, ptr @test_count, align 4, !tbaa !5
  %2533 = load i32, ptr %28, align 4, !tbaa !5
  %2534 = icmp eq i32 %2533, 0
  br i1 %2534, label %2557, label %2535

2535:                                             ; preds = %2530
  %2536 = load i32, ptr %2315, align 4, !tbaa !5
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @s2n_print_stacktrace(ptr noundef %2537) #11
  %2539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2540 = trunc nuw i8 %2539 to i1
  br i1 %2540, label %2541, label %2545

2541:                                             ; preds = %2535
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = call i32 @fileno(ptr noundef %2542) #11
  %2544 = call i32 @isatty(i32 noundef %2543) #11
  %.not485 = icmp eq i32 %2544, 0
  br i1 %.not485, label %2545, label %2546

2545:                                             ; preds = %2541, %2535
  br label %2546

2546:                                             ; preds = %2541, %2545
  %.str.5.sink1515 = phi ptr [ @.str.5, %2545 ], [ @.str.2, %2541 ]
  store i32 %2536, ptr %2315, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = load i32, ptr %2261, align 4, !tbaa !5
  %2550 = call ptr @s2n_strerror(i32 noundef %2549, ptr noundef nonnull @.str.4) #11
  %2551 = load i32, ptr %2261, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror_debug(i32 noundef %2551, ptr noundef nonnull @.str.4) #11
  %2553 = load i32, ptr %2315, align 4, !tbaa !5
  %2554 = call ptr @strerror(i32 noundef %2553) #11
  %2555 = load i32, ptr %2315, align 4, !tbaa !5
  %2556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef nonnull %.str.5.sink1515, i32 noundef %2548, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %2550, ptr noundef %2552, ptr noundef %2554, i32 noundef %2555) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2557:                                             ; preds = %2530
  %2558 = add nsw i32 %2531, 2
  store i32 %2558, ptr @test_count, align 4, !tbaa !5
  %2559 = load i64, ptr %2166, align 8, !tbaa !48
  %2560 = icmp eq i64 %2559, %1975
  br i1 %2560, label %2583, label %2561

2561:                                             ; preds = %2557
  %2562 = load i32, ptr %2315, align 4, !tbaa !5
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @s2n_print_stacktrace(ptr noundef %2563) #11
  %2565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2566 = trunc nuw i8 %2565 to i1
  br i1 %2566, label %2567, label %2571

2567:                                             ; preds = %2561
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = call i32 @fileno(ptr noundef %2568) #11
  %2570 = call i32 @isatty(i32 noundef %2569) #11
  %.not486 = icmp eq i32 %2570, 0
  br i1 %.not486, label %2571, label %2572

2571:                                             ; preds = %2567, %2561
  br label %2572

2572:                                             ; preds = %2567, %2571
  %.str.5.sink1524 = phi ptr [ @.str.5, %2571 ], [ @.str.2, %2567 ]
  store i32 %2562, ptr %2315, align 4, !tbaa !5
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %2575 = load i32, ptr %2261, align 4, !tbaa !5
  %2576 = call ptr @s2n_strerror(i32 noundef %2575, ptr noundef nonnull @.str.4) #11
  %2577 = load i32, ptr %2261, align 4, !tbaa !5
  %2578 = call ptr @s2n_strerror_debug(i32 noundef %2577, ptr noundef nonnull @.str.4) #11
  %2579 = load i32, ptr %2315, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #11
  %2581 = load i32, ptr %2315, align 4, !tbaa !5
  %2582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2573, ptr noundef nonnull %.str.5.sink1524, i32 noundef %2574, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 328, ptr noundef %2576, ptr noundef %2578, ptr noundef %2580, i32 noundef %2581) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2583:                                             ; preds = %2557
  %2584 = add nsw i32 %2531, 3
  store i32 %2584, ptr @test_count, align 4, !tbaa !5
  %2585 = load ptr, ptr %25, align 8, !tbaa !9
  %2586 = getelementptr inbounds i8, ptr %2585, i64 1904
  %2587 = load i32, ptr %2586, align 8, !tbaa !50
  %2588 = icmp eq i32 %2587, 20000
  br i1 %2588, label %2611, label %2589

2589:                                             ; preds = %2583
  %2590 = load i32, ptr %2315, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #11
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2589
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #11
  %2598 = call i32 @isatty(i32 noundef %2597) #11
  %.not487 = icmp eq i32 %2598, 0
  br i1 %.not487, label %2599, label %2600

2599:                                             ; preds = %2595, %2589
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.5.sink1533 = phi ptr [ @.str.5, %2599 ], [ @.str.2, %2595 ]
  store i32 %2590, ptr %2315, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = load i32, ptr %2261, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.4) #11
  %2605 = load i32, ptr %2261, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.4) #11
  %2607 = load i32, ptr %2315, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #11
  %2609 = load i32, ptr %2315, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.5.sink1533, i32 noundef %2602, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2611:                                             ; preds = %2583
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %26) #11
  %2612 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %25) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #11
  %2613 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %2613, ptr %29, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = add nsw i32 %2614, 1
  store i32 %2615, ptr @test_count, align 4, !tbaa !5
  %2616 = icmp eq ptr %2613, null
  br i1 %2616, label %2617, label %2639

2617:                                             ; preds = %2611
  %2618 = load i32, ptr %2315, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @s2n_print_stacktrace(ptr noundef %2619) #11
  %2621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2622 = trunc nuw i8 %2621 to i1
  br i1 %2622, label %2623, label %2627

2623:                                             ; preds = %2617
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #11
  %2626 = call i32 @isatty(i32 noundef %2625) #11
  %.not564 = icmp eq i32 %2626, 0
  br i1 %.not564, label %2627, label %2628

2627:                                             ; preds = %2623, %2617
  br label %2628

2628:                                             ; preds = %2623, %2627
  %.str.5.sink1542 = phi ptr [ @.str.5, %2627 ], [ @.str.2, %2623 ]
  store i32 %2618, ptr %2315, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = load i32, ptr %2261, align 4, !tbaa !5
  %2632 = call ptr @s2n_strerror(i32 noundef %2631, ptr noundef nonnull @.str.4) #11
  %2633 = load i32, ptr %2261, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror_debug(i32 noundef %2633, ptr noundef nonnull @.str.4) #11
  %2635 = load i32, ptr %2315, align 4, !tbaa !5
  %2636 = call ptr @strerror(i32 noundef %2635) #11
  %2637 = load i32, ptr %2315, align 4, !tbaa !5
  %2638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef nonnull %.str.5.sink1542, i32 noundef %2630, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %2632, ptr noundef %2634, ptr noundef %2636, i32 noundef %2637) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2639:                                             ; preds = %2611
  %2640 = add nsw i32 %2614, 2
  store i32 %2640, ptr @test_count, align 4, !tbaa !5
  %2641 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %2613) #11
  %2642 = call zeroext i1 @s2n_result_is_ok(i32 %2641)
  br i1 %2642, label %2665, label %2643

2643:                                             ; preds = %2639
  %2644 = load i32, ptr %2315, align 4, !tbaa !5
  %2645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2646 = call i32 @s2n_print_stacktrace(ptr noundef %2645) #11
  %2647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2648 = trunc nuw i8 %2647 to i1
  br i1 %2648, label %2649, label %2653

2649:                                             ; preds = %2643
  %2650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2651 = call i32 @fileno(ptr noundef %2650) #11
  %2652 = call i32 @isatty(i32 noundef %2651) #11
  %.not488 = icmp eq i32 %2652, 0
  br i1 %.not488, label %2653, label %2654

2653:                                             ; preds = %2649, %2643
  br label %2654

2654:                                             ; preds = %2649, %2653
  %.str.5.sink1551 = phi ptr [ @.str.5, %2653 ], [ @.str.2, %2649 ]
  store i32 %2644, ptr %2315, align 4, !tbaa !5
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = load i32, ptr @test_count, align 4, !tbaa !5
  %2657 = load i32, ptr %2261, align 4, !tbaa !5
  %2658 = call ptr @s2n_strerror(i32 noundef %2657, ptr noundef nonnull @.str.4) #11
  %2659 = load i32, ptr %2261, align 4, !tbaa !5
  %2660 = call ptr @s2n_strerror_debug(i32 noundef %2659, ptr noundef nonnull @.str.4) #11
  %2661 = load i32, ptr %2315, align 4, !tbaa !5
  %2662 = call ptr @strerror(i32 noundef %2661) #11
  %2663 = load i32, ptr %2315, align 4, !tbaa !5
  %2664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2655, ptr noundef nonnull %.str.5.sink1551, i32 noundef %2656, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %2658, ptr noundef %2660, ptr noundef %2662, i32 noundef %2663) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2665:                                             ; preds = %2639
  %2666 = load i32, ptr @test_count, align 4, !tbaa !5
  %2667 = add nsw i32 %2666, 1
  store i32 %2667, ptr @test_count, align 4, !tbaa !5
  %2668 = load ptr, ptr %29, align 8, !tbaa !9
  %2669 = call i32 @s2n_connection_set_config(ptr noundef %2668, ptr noundef nonnull %260) #11
  %2670 = icmp eq i32 %2669, -1
  br i1 %2670, label %2671, label %2693

2671:                                             ; preds = %2665
  %2672 = load i32, ptr %2315, align 4, !tbaa !5
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = call i32 @s2n_print_stacktrace(ptr noundef %2673) #11
  %2675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2676 = trunc nuw i8 %2675 to i1
  br i1 %2676, label %2677, label %2681

2677:                                             ; preds = %2671
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = call i32 @fileno(ptr noundef %2678) #11
  %2680 = call i32 @isatty(i32 noundef %2679) #11
  %.not563 = icmp eq i32 %2680, 0
  br i1 %.not563, label %2681, label %2682

2681:                                             ; preds = %2677, %2671
  br label %2682

2682:                                             ; preds = %2677, %2681
  %.str.5.sink1560 = phi ptr [ @.str.5, %2681 ], [ @.str.2, %2677 ]
  store i32 %2672, ptr %2315, align 4, !tbaa !5
  %2683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2684 = load i32, ptr @test_count, align 4, !tbaa !5
  %2685 = load i32, ptr %2261, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror(i32 noundef %2685, ptr noundef nonnull @.str.4) #11
  %2687 = load i32, ptr %2261, align 4, !tbaa !5
  %2688 = call ptr @s2n_strerror_debug(i32 noundef %2687, ptr noundef nonnull @.str.4) #11
  %2689 = load i32, ptr %2315, align 4, !tbaa !5
  %2690 = call ptr @strerror(i32 noundef %2689) #11
  %2691 = load i32, ptr %2315, align 4, !tbaa !5
  %2692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2683, ptr noundef nonnull %.str.5.sink1560, i32 noundef %2684, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %2686, ptr noundef %2688, ptr noundef %2690, i32 noundef %2691) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2693:                                             ; preds = %2665
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %30) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(60) %30, ptr noundef nonnull align 16 dereferenceable(60) @__const.main.results, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #11
  %2694 = getelementptr inbounds i8, ptr %31, i64 8
  %2695 = getelementptr inbounds i8, ptr %31, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %31, i8 0, i64 16, i1 false)
  store ptr %30, ptr %2695, align 8, !tbaa !55
  %2696 = getelementptr inbounds i8, ptr %31, i64 24
  store i64 5, ptr %2696, align 8, !tbaa !56
  %2697 = load i32, ptr @test_count, align 4, !tbaa !5
  %2698 = add nsw i32 %2697, 1
  store i32 %2698, ptr @test_count, align 4, !tbaa !5
  %2699 = load ptr, ptr %29, align 8, !tbaa !9
  %2700 = call i32 @s2n_connection_set_send_cb(ptr noundef %2699, ptr noundef nonnull @s2n_test_send_cb) #11
  %2701 = icmp eq i32 %2700, -1
  br i1 %2701, label %2702, label %2724

2702:                                             ; preds = %2693
  %2703 = load i32, ptr %2315, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @s2n_print_stacktrace(ptr noundef %2704) #11
  %2706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2707 = trunc nuw i8 %2706 to i1
  br i1 %2707, label %2708, label %2712

2708:                                             ; preds = %2702
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = call i32 @fileno(ptr noundef %2709) #11
  %2711 = call i32 @isatty(i32 noundef %2710) #11
  %.not562 = icmp eq i32 %2711, 0
  br i1 %.not562, label %2712, label %2713

2712:                                             ; preds = %2708, %2702
  br label %2713

2713:                                             ; preds = %2708, %2712
  %.str.5.sink1569 = phi ptr [ @.str.5, %2712 ], [ @.str.2, %2708 ]
  store i32 %2703, ptr %2315, align 4, !tbaa !5
  %2714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2715 = load i32, ptr @test_count, align 4, !tbaa !5
  %2716 = load i32, ptr %2261, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror(i32 noundef %2716, ptr noundef nonnull @.str.4) #11
  %2718 = load i32, ptr %2261, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror_debug(i32 noundef %2718, ptr noundef nonnull @.str.4) #11
  %2720 = load i32, ptr %2315, align 4, !tbaa !5
  %2721 = call ptr @strerror(i32 noundef %2720) #11
  %2722 = load i32, ptr %2315, align 4, !tbaa !5
  %2723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2714, ptr noundef nonnull %.str.5.sink1569, i32 noundef %2715, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %2717, ptr noundef %2719, ptr noundef %2721, i32 noundef %2722) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2724:                                             ; preds = %2693
  %2725 = load i32, ptr @test_count, align 4, !tbaa !5
  %2726 = add nsw i32 %2725, 1
  store i32 %2726, ptr @test_count, align 4, !tbaa !5
  %2727 = load ptr, ptr %29, align 8, !tbaa !9
  %2728 = call i32 @s2n_connection_set_send_ctx(ptr noundef %2727, ptr noundef nonnull %31) #11
  %2729 = icmp eq i32 %2728, -1
  br i1 %2729, label %2730, label %2752

2730:                                             ; preds = %2724
  %2731 = load i32, ptr %2315, align 4, !tbaa !5
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = call i32 @s2n_print_stacktrace(ptr noundef %2732) #11
  %2734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2735 = trunc nuw i8 %2734 to i1
  br i1 %2735, label %2736, label %2740

2736:                                             ; preds = %2730
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = call i32 @fileno(ptr noundef %2737) #11
  %2739 = call i32 @isatty(i32 noundef %2738) #11
  %.not561 = icmp eq i32 %2739, 0
  br i1 %.not561, label %2740, label %2741

2740:                                             ; preds = %2736, %2730
  br label %2741

2741:                                             ; preds = %2736, %2740
  %.str.5.sink1578 = phi ptr [ @.str.5, %2740 ], [ @.str.2, %2736 ]
  store i32 %2731, ptr %2315, align 4, !tbaa !5
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = load i32, ptr @test_count, align 4, !tbaa !5
  %2744 = load i32, ptr %2261, align 4, !tbaa !5
  %2745 = call ptr @s2n_strerror(i32 noundef %2744, ptr noundef nonnull @.str.4) #11
  %2746 = load i32, ptr %2261, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror_debug(i32 noundef %2746, ptr noundef nonnull @.str.4) #11
  %2748 = load i32, ptr %2315, align 4, !tbaa !5
  %2749 = call ptr @strerror(i32 noundef %2748) #11
  %2750 = load i32, ptr %2315, align 4, !tbaa !5
  %2751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2742, ptr noundef nonnull %.str.5.sink1578, i32 noundef %2743, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %2745, ptr noundef %2747, ptr noundef %2749, i32 noundef %2750) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2752:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #11
  store i32 0, ptr %32, align 4, !tbaa !5
  %2753 = load i32, ptr @test_count, align 4, !tbaa !5
  %2754 = add nsw i32 %2753, 1
  store i32 %2754, ptr @test_count, align 4, !tbaa !5
  %2755 = load ptr, ptr %29, align 8, !tbaa !9
  %2756 = call i64 @s2n_send(ptr noundef %2755, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %32) #11
  %2757 = icmp eq i64 %2756, -1
  br i1 %2757, label %2780, label %2758

2758:                                             ; preds = %2752
  %2759 = load i32, ptr %2315, align 4, !tbaa !5
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @s2n_print_stacktrace(ptr noundef %2760) #11
  %2762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2763 = trunc nuw i8 %2762 to i1
  br i1 %2763, label %2764, label %2768

2764:                                             ; preds = %2758
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = call i32 @fileno(ptr noundef %2765) #11
  %2767 = call i32 @isatty(i32 noundef %2766) #11
  %.not489 = icmp eq i32 %2767, 0
  br i1 %.not489, label %2768, label %2769

2768:                                             ; preds = %2764, %2758
  br label %2769

2769:                                             ; preds = %2764, %2768
  %.str.5.sink1587 = phi ptr [ @.str.5, %2768 ], [ @.str.2, %2764 ]
  store i32 %2759, ptr %2315, align 4, !tbaa !5
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = load i32, ptr %2261, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror(i32 noundef %2772, ptr noundef nonnull @.str.4) #11
  %2774 = load i32, ptr %2261, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror_debug(i32 noundef %2774, ptr noundef nonnull @.str.4) #11
  %2776 = load i32, ptr %2315, align 4, !tbaa !5
  %2777 = call ptr @strerror(i32 noundef %2776) #11
  %2778 = load i32, ptr %2315, align 4, !tbaa !5
  %2779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2770, ptr noundef nonnull %.str.5.sink1587, i32 noundef %2771, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %2773, ptr noundef %2775, ptr noundef %2777, i32 noundef %2778) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2780:                                             ; preds = %2752
  %2781 = load i32, ptr @test_count, align 4, !tbaa !5
  %2782 = add nsw i32 %2781, 1
  store i32 %2782, ptr @test_count, align 4, !tbaa !5
  %2783 = load i32, ptr %2261, align 4, !tbaa !5
  %2784 = icmp eq i32 %2783, 201326592
  br i1 %2784, label %2807, label %2785

2785:                                             ; preds = %2780
  %2786 = load i32, ptr %2315, align 4, !tbaa !5
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @s2n_print_stacktrace(ptr noundef %2787) #11
  %2789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2790 = trunc nuw i8 %2789 to i1
  br i1 %2790, label %2791, label %2795

2791:                                             ; preds = %2785
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = call i32 @fileno(ptr noundef %2792) #11
  %2794 = call i32 @isatty(i32 noundef %2793) #11
  %.not490 = icmp eq i32 %2794, 0
  br i1 %.not490, label %2795, label %2796

2795:                                             ; preds = %2791, %2785
  br label %2796

2796:                                             ; preds = %2791, %2795
  %.str.5.sink1596 = phi ptr [ @.str.5, %2795 ], [ @.str.2, %2791 ]
  store i32 %2786, ptr %2315, align 4, !tbaa !5
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = load i32, ptr @test_count, align 4, !tbaa !5
  %2799 = load i32, ptr %2261, align 4, !tbaa !5
  %2800 = call ptr @s2n_strerror(i32 noundef %2799, ptr noundef nonnull @.str.4) #11
  %2801 = load i32, ptr %2261, align 4, !tbaa !5
  %2802 = call ptr @s2n_strerror_debug(i32 noundef %2801, ptr noundef nonnull @.str.4) #11
  %2803 = load i32, ptr %2315, align 4, !tbaa !5
  %2804 = call ptr @strerror(i32 noundef %2803) #11
  %2805 = load i32, ptr %2315, align 4, !tbaa !5
  %2806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2797, ptr noundef nonnull %.str.5.sink1596, i32 noundef %2798, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %2800, ptr noundef %2802, ptr noundef %2804, i32 noundef %2805) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2807:                                             ; preds = %2780
  %2808 = add nsw i32 %2781, 2
  store i32 %2808, ptr @test_count, align 4, !tbaa !5
  %2809 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #11
  %2810 = icmp eq ptr %2809, null
  br i1 %2810, label %2811, label %2833

2811:                                             ; preds = %2807
  %2812 = load i32, ptr %2315, align 4, !tbaa !5
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = call i32 @s2n_print_stacktrace(ptr noundef %2813) #11
  %2815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2816 = trunc nuw i8 %2815 to i1
  br i1 %2816, label %2817, label %2821

2817:                                             ; preds = %2811
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = call i32 @fileno(ptr noundef %2818) #11
  %2820 = call i32 @isatty(i32 noundef %2819) #11
  %.not560 = icmp eq i32 %2820, 0
  br i1 %.not560, label %2821, label %2822

2821:                                             ; preds = %2817, %2811
  br label %2822

2822:                                             ; preds = %2817, %2821
  %.str.5.sink1605 = phi ptr [ @.str.5, %2821 ], [ @.str.2, %2817 ]
  store i32 %2812, ptr %2315, align 4, !tbaa !5
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = load i32, ptr @test_count, align 4, !tbaa !5
  %2825 = load i32, ptr %2261, align 4, !tbaa !5
  %2826 = call ptr @s2n_strerror(i32 noundef %2825, ptr noundef nonnull @.str.4) #11
  %2827 = load i32, ptr %2261, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror_debug(i32 noundef %2827, ptr noundef nonnull @.str.4) #11
  %2829 = load i32, ptr %2315, align 4, !tbaa !5
  %2830 = call ptr @strerror(i32 noundef %2829) #11
  %2831 = load i32, ptr %2315, align 4, !tbaa !5
  %2832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2823, ptr noundef nonnull %.str.5.sink1605, i32 noundef %2824, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %2826, ptr noundef %2828, ptr noundef %2830, i32 noundef %2831) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2833:                                             ; preds = %2807
  store i32 0, ptr %2261, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %2315, align 4, !tbaa !5
  %2834 = load i32, ptr @test_count, align 4, !tbaa !5
  %2835 = add nsw i32 %2834, 1
  store i32 %2835, ptr @test_count, align 4, !tbaa !5
  %2836 = load i32, ptr %32, align 4, !tbaa !5
  %2837 = icmp eq i32 %2836, 2
  br i1 %2837, label %2860, label %2838

2838:                                             ; preds = %2833
  %2839 = load i32, ptr %2315, align 4, !tbaa !5
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = call i32 @s2n_print_stacktrace(ptr noundef %2840) #11
  %2842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2843 = trunc nuw i8 %2842 to i1
  br i1 %2843, label %2844, label %2848

2844:                                             ; preds = %2838
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = call i32 @fileno(ptr noundef %2845) #11
  %2847 = call i32 @isatty(i32 noundef %2846) #11
  %.not491 = icmp eq i32 %2847, 0
  br i1 %.not491, label %2848, label %2849

2848:                                             ; preds = %2844, %2838
  br label %2849

2849:                                             ; preds = %2844, %2848
  %.str.5.sink1614 = phi ptr [ @.str.5, %2848 ], [ @.str.2, %2844 ]
  store i32 %2839, ptr %2315, align 4, !tbaa !5
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = load i32, ptr @test_count, align 4, !tbaa !5
  %2852 = load i32, ptr %2261, align 4, !tbaa !5
  %2853 = call ptr @s2n_strerror(i32 noundef %2852, ptr noundef nonnull @.str.4) #11
  %2854 = load i32, ptr %2261, align 4, !tbaa !5
  %2855 = call ptr @s2n_strerror_debug(i32 noundef %2854, ptr noundef nonnull @.str.4) #11
  %2856 = load i32, ptr %2315, align 4, !tbaa !5
  %2857 = call ptr @strerror(i32 noundef %2856) #11
  %2858 = load i32, ptr %2315, align 4, !tbaa !5
  %2859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2850, ptr noundef nonnull %.str.5.sink1614, i32 noundef %2851, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %2853, ptr noundef %2855, ptr noundef %2857, i32 noundef %2858) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2860:                                             ; preds = %2833
  %2861 = add nsw i32 %2834, 2
  store i32 %2861, ptr @test_count, align 4, !tbaa !5
  %2862 = load i64, ptr %2694, align 8, !tbaa !48
  %2863 = icmp eq i64 %2862, 10
  br i1 %2863, label %2886, label %2864

2864:                                             ; preds = %2860
  %2865 = load i32, ptr %2315, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @s2n_print_stacktrace(ptr noundef %2866) #11
  %2868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2869 = trunc nuw i8 %2868 to i1
  br i1 %2869, label %2870, label %2874

2870:                                             ; preds = %2864
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @fileno(ptr noundef %2871) #11
  %2873 = call i32 @isatty(i32 noundef %2872) #11
  %.not492 = icmp eq i32 %2873, 0
  br i1 %.not492, label %2874, label %2875

2874:                                             ; preds = %2870, %2864
  br label %2875

2875:                                             ; preds = %2870, %2874
  %.str.5.sink1623 = phi ptr [ @.str.5, %2874 ], [ @.str.2, %2870 ]
  store i32 %2865, ptr %2315, align 4, !tbaa !5
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = load i32, ptr @test_count, align 4, !tbaa !5
  %2878 = load i32, ptr %2261, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror(i32 noundef %2878, ptr noundef nonnull @.str.4) #11
  %2880 = load i32, ptr %2261, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror_debug(i32 noundef %2880, ptr noundef nonnull @.str.4) #11
  %2882 = load i32, ptr %2315, align 4, !tbaa !5
  %2883 = call ptr @strerror(i32 noundef %2882) #11
  %2884 = load i32, ptr %2315, align 4, !tbaa !5
  %2885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2876, ptr noundef nonnull %.str.5.sink1623, i32 noundef %2877, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %2879, ptr noundef %2881, ptr noundef %2883, i32 noundef %2884) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2886:                                             ; preds = %2860
  %2887 = add nsw i32 %2834, 3
  store i32 %2887, ptr @test_count, align 4, !tbaa !5
  %2888 = load ptr, ptr %29, align 8, !tbaa !9
  %2889 = call i64 @s2n_send(ptr noundef %2888, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %32) #11
  %2890 = icmp eq i64 %2889, 16174
  br i1 %2890, label %2913, label %2891

2891:                                             ; preds = %2886
  %2892 = load i32, ptr %2315, align 4, !tbaa !5
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = call i32 @s2n_print_stacktrace(ptr noundef %2893) #11
  %2895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2896 = trunc nuw i8 %2895 to i1
  br i1 %2896, label %2897, label %2901

2897:                                             ; preds = %2891
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = call i32 @fileno(ptr noundef %2898) #11
  %2900 = call i32 @isatty(i32 noundef %2899) #11
  %.not493 = icmp eq i32 %2900, 0
  br i1 %.not493, label %2901, label %2902

2901:                                             ; preds = %2897, %2891
  br label %2902

2902:                                             ; preds = %2897, %2901
  %.str.5.sink1632 = phi ptr [ @.str.5, %2901 ], [ @.str.2, %2897 ]
  store i32 %2892, ptr %2315, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = load i32, ptr %2261, align 4, !tbaa !5
  %2906 = call ptr @s2n_strerror(i32 noundef %2905, ptr noundef nonnull @.str.4) #11
  %2907 = load i32, ptr %2261, align 4, !tbaa !5
  %2908 = call ptr @s2n_strerror_debug(i32 noundef %2907, ptr noundef nonnull @.str.4) #11
  %2909 = load i32, ptr %2315, align 4, !tbaa !5
  %2910 = call ptr @strerror(i32 noundef %2909) #11
  %2911 = load i32, ptr %2315, align 4, !tbaa !5
  %2912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2903, ptr noundef nonnull %.str.5.sink1632, i32 noundef %2904, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %2906, ptr noundef %2908, ptr noundef %2910, i32 noundef %2911) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2913:                                             ; preds = %2886
  %2914 = load i32, ptr @test_count, align 4, !tbaa !5
  %2915 = add nsw i32 %2914, 1
  store i32 %2915, ptr @test_count, align 4, !tbaa !5
  %2916 = load i32, ptr %32, align 4, !tbaa !5
  %2917 = icmp eq i32 %2916, 2
  br i1 %2917, label %2940, label %2918

2918:                                             ; preds = %2913
  %2919 = load i32, ptr %2315, align 4, !tbaa !5
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = call i32 @s2n_print_stacktrace(ptr noundef %2920) #11
  %2922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2923 = trunc nuw i8 %2922 to i1
  br i1 %2923, label %2924, label %2928

2924:                                             ; preds = %2918
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = call i32 @fileno(ptr noundef %2925) #11
  %2927 = call i32 @isatty(i32 noundef %2926) #11
  %.not494 = icmp eq i32 %2927, 0
  br i1 %.not494, label %2928, label %2929

2928:                                             ; preds = %2924, %2918
  br label %2929

2929:                                             ; preds = %2924, %2928
  %.str.5.sink1641 = phi ptr [ @.str.5, %2928 ], [ @.str.2, %2924 ]
  store i32 %2919, ptr %2315, align 4, !tbaa !5
  %2930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2931 = load i32, ptr @test_count, align 4, !tbaa !5
  %2932 = load i32, ptr %2261, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror(i32 noundef %2932, ptr noundef nonnull @.str.4) #11
  %2934 = load i32, ptr %2261, align 4, !tbaa !5
  %2935 = call ptr @s2n_strerror_debug(i32 noundef %2934, ptr noundef nonnull @.str.4) #11
  %2936 = load i32, ptr %2315, align 4, !tbaa !5
  %2937 = call ptr @strerror(i32 noundef %2936) #11
  %2938 = load i32, ptr %2315, align 4, !tbaa !5
  %2939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2930, ptr noundef nonnull %.str.5.sink1641, i32 noundef %2931, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %2933, ptr noundef %2935, ptr noundef %2937, i32 noundef %2938) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2940:                                             ; preds = %2913
  %2941 = add nsw i32 %2914, 2
  store i32 %2941, ptr @test_count, align 4, !tbaa !5
  %2942 = load ptr, ptr %29, align 8, !tbaa !9
  %2943 = getelementptr inbounds i8, ptr %4, i64 16174
  %2944 = call i64 @s2n_send(ptr noundef %2942, ptr noundef nonnull %2943, i64 noundef 220, ptr noundef nonnull %32) #11
  %2945 = icmp eq i64 %2944, 220
  br i1 %2945, label %2968, label %2946

2946:                                             ; preds = %2940
  %2947 = load i32, ptr %2315, align 4, !tbaa !5
  %2948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2949 = call i32 @s2n_print_stacktrace(ptr noundef %2948) #11
  %2950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2951 = trunc nuw i8 %2950 to i1
  br i1 %2951, label %2952, label %2956

2952:                                             ; preds = %2946
  %2953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2954 = call i32 @fileno(ptr noundef %2953) #11
  %2955 = call i32 @isatty(i32 noundef %2954) #11
  %.not495 = icmp eq i32 %2955, 0
  br i1 %.not495, label %2956, label %2957

2956:                                             ; preds = %2952, %2946
  br label %2957

2957:                                             ; preds = %2952, %2956
  %.str.5.sink1650 = phi ptr [ @.str.5, %2956 ], [ @.str.2, %2952 ]
  store i32 %2947, ptr %2315, align 4, !tbaa !5
  %2958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2959 = load i32, ptr @test_count, align 4, !tbaa !5
  %2960 = load i32, ptr %2261, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror(i32 noundef %2960, ptr noundef nonnull @.str.4) #11
  %2962 = load i32, ptr %2261, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror_debug(i32 noundef %2962, ptr noundef nonnull @.str.4) #11
  %2964 = load i32, ptr %2315, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #11
  %2966 = load i32, ptr %2315, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2958, ptr noundef nonnull %.str.5.sink1650, i32 noundef %2959, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %2961, ptr noundef %2963, ptr noundef %2965, i32 noundef %2966) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2968:                                             ; preds = %2940
  %2969 = load i32, ptr @test_count, align 4, !tbaa !5
  %2970 = add nsw i32 %2969, 1
  store i32 %2970, ptr @test_count, align 4, !tbaa !5
  %2971 = load i32, ptr %32, align 4, !tbaa !5
  %2972 = icmp eq i32 %2971, 0
  br i1 %2972, label %2995, label %2973

2973:                                             ; preds = %2968
  %2974 = load i32, ptr %2315, align 4, !tbaa !5
  %2975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2976 = call i32 @s2n_print_stacktrace(ptr noundef %2975) #11
  %2977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2978 = trunc nuw i8 %2977 to i1
  br i1 %2978, label %2979, label %2983

2979:                                             ; preds = %2973
  %2980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2981 = call i32 @fileno(ptr noundef %2980) #11
  %2982 = call i32 @isatty(i32 noundef %2981) #11
  %.not496 = icmp eq i32 %2982, 0
  br i1 %.not496, label %2983, label %2984

2983:                                             ; preds = %2979, %2973
  br label %2984

2984:                                             ; preds = %2979, %2983
  %.str.5.sink1659 = phi ptr [ @.str.5, %2983 ], [ @.str.2, %2979 ]
  store i32 %2974, ptr %2315, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = load i32, ptr %2261, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror(i32 noundef %2987, ptr noundef nonnull @.str.4) #11
  %2989 = load i32, ptr %2261, align 4, !tbaa !5
  %2990 = call ptr @s2n_strerror_debug(i32 noundef %2989, ptr noundef nonnull @.str.4) #11
  %2991 = load i32, ptr %2315, align 4, !tbaa !5
  %2992 = call ptr @strerror(i32 noundef %2991) #11
  %2993 = load i32, ptr %2315, align 4, !tbaa !5
  %2994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2985, ptr noundef nonnull %.str.5.sink1659, i32 noundef %2986, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %2988, ptr noundef %2990, ptr noundef %2992, i32 noundef %2993) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2995:                                             ; preds = %2968
  %2996 = add nsw i32 %2969, 2
  store i32 %2996, ptr @test_count, align 4, !tbaa !5
  %2997 = load i64, ptr %2694, align 8, !tbaa !48
  %2998 = icmp eq i64 %2997, %1975
  br i1 %2998, label %3021, label %2999

2999:                                             ; preds = %2995
  %3000 = load i32, ptr %2315, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @s2n_print_stacktrace(ptr noundef %3001) #11
  %3003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3004 = trunc nuw i8 %3003 to i1
  br i1 %3004, label %3005, label %3009

3005:                                             ; preds = %2999
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @fileno(ptr noundef %3006) #11
  %3008 = call i32 @isatty(i32 noundef %3007) #11
  %.not497 = icmp eq i32 %3008, 0
  br i1 %.not497, label %3009, label %3010

3009:                                             ; preds = %3005, %2999
  br label %3010

3010:                                             ; preds = %3005, %3009
  %.str.5.sink1668 = phi ptr [ @.str.5, %3009 ], [ @.str.2, %3005 ]
  store i32 %3000, ptr %2315, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = load i32, ptr @test_count, align 4, !tbaa !5
  %3013 = load i32, ptr %2261, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef nonnull @.str.4) #11
  %3015 = load i32, ptr %2261, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror_debug(i32 noundef %3015, ptr noundef nonnull @.str.4) #11
  %3017 = load i32, ptr %2315, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #11
  %3019 = load i32, ptr %2315, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3011, ptr noundef nonnull %.str.5.sink1668, i32 noundef %3012, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %3014, ptr noundef %3016, ptr noundef %3018, i32 noundef %3019) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3021:                                             ; preds = %2995
  %3022 = add nsw i32 %2969, 3
  store i32 %3022, ptr @test_count, align 4, !tbaa !5
  %3023 = load ptr, ptr %29, align 8, !tbaa !9
  %3024 = getelementptr inbounds i8, ptr %3023, i64 1904
  %3025 = load i32, ptr %3024, align 8, !tbaa !50
  %3026 = icmp eq i32 %3025, 17300
  br i1 %3026, label %3049, label %3027

3027:                                             ; preds = %3021
  %3028 = load i32, ptr %2315, align 4, !tbaa !5
  %3029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3030 = call i32 @s2n_print_stacktrace(ptr noundef %3029) #11
  %3031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3032 = trunc nuw i8 %3031 to i1
  br i1 %3032, label %3033, label %3037

3033:                                             ; preds = %3027
  %3034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3035 = call i32 @fileno(ptr noundef %3034) #11
  %3036 = call i32 @isatty(i32 noundef %3035) #11
  %.not498 = icmp eq i32 %3036, 0
  br i1 %.not498, label %3037, label %3038

3037:                                             ; preds = %3033, %3027
  br label %3038

3038:                                             ; preds = %3033, %3037
  %.str.5.sink1677 = phi ptr [ @.str.5, %3037 ], [ @.str.2, %3033 ]
  store i32 %3028, ptr %2315, align 4, !tbaa !5
  %3039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3040 = load i32, ptr @test_count, align 4, !tbaa !5
  %3041 = load i32, ptr %2261, align 4, !tbaa !5
  %3042 = call ptr @s2n_strerror(i32 noundef %3041, ptr noundef nonnull @.str.4) #11
  %3043 = load i32, ptr %2261, align 4, !tbaa !5
  %3044 = call ptr @s2n_strerror_debug(i32 noundef %3043, ptr noundef nonnull @.str.4) #11
  %3045 = load i32, ptr %2315, align 4, !tbaa !5
  %3046 = call ptr @strerror(i32 noundef %3045) #11
  %3047 = load i32, ptr %2315, align 4, !tbaa !5
  %3048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3039, ptr noundef nonnull %.str.5.sink1677, i32 noundef %3040, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %3042, ptr noundef %3044, ptr noundef %3046, i32 noundef %3047) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3049:                                             ; preds = %3021
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %30) #11
  %3050 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %29) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #11
  store i32 0, ptr %33, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #11
  %3051 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3051, ptr %34, align 8, !tbaa !9
  %3052 = load i32, ptr @test_count, align 4, !tbaa !5
  %3053 = add nsw i32 %3052, 1
  store i32 %3053, ptr @test_count, align 4, !tbaa !5
  %3054 = icmp eq ptr %3051, null
  br i1 %3054, label %3055, label %3077

3055:                                             ; preds = %3049
  %3056 = load i32, ptr %2315, align 4, !tbaa !5
  %3057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3058 = call i32 @s2n_print_stacktrace(ptr noundef %3057) #11
  %3059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3060 = trunc nuw i8 %3059 to i1
  br i1 %3060, label %3061, label %3065

3061:                                             ; preds = %3055
  %3062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3063 = call i32 @fileno(ptr noundef %3062) #11
  %3064 = call i32 @isatty(i32 noundef %3063) #11
  %.not559 = icmp eq i32 %3064, 0
  br i1 %.not559, label %3065, label %3066

3065:                                             ; preds = %3061, %3055
  br label %3066

3066:                                             ; preds = %3061, %3065
  %.str.5.sink1686 = phi ptr [ @.str.5, %3065 ], [ @.str.2, %3061 ]
  store i32 %3056, ptr %2315, align 4, !tbaa !5
  %3067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3068 = load i32, ptr @test_count, align 4, !tbaa !5
  %3069 = load i32, ptr %2261, align 4, !tbaa !5
  %3070 = call ptr @s2n_strerror(i32 noundef %3069, ptr noundef nonnull @.str.4) #11
  %3071 = load i32, ptr %2261, align 4, !tbaa !5
  %3072 = call ptr @s2n_strerror_debug(i32 noundef %3071, ptr noundef nonnull @.str.4) #11
  %3073 = load i32, ptr %2315, align 4, !tbaa !5
  %3074 = call ptr @strerror(i32 noundef %3073) #11
  %3075 = load i32, ptr %2315, align 4, !tbaa !5
  %3076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3067, ptr noundef nonnull %.str.5.sink1686, i32 noundef %3068, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %3070, ptr noundef %3072, ptr noundef %3074, i32 noundef %3075) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3077:                                             ; preds = %3049
  %3078 = add nsw i32 %3052, 2
  store i32 %3078, ptr @test_count, align 4, !tbaa !5
  %3079 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3051) #11
  %3080 = call zeroext i1 @s2n_result_is_ok(i32 %3079)
  br i1 %3080, label %3103, label %3081

3081:                                             ; preds = %3077
  %3082 = load i32, ptr %2315, align 4, !tbaa !5
  %3083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3084 = call i32 @s2n_print_stacktrace(ptr noundef %3083) #11
  %3085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3086 = trunc nuw i8 %3085 to i1
  br i1 %3086, label %3087, label %3091

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

3091:                                             ; preds = %3087, %3081
  br label %3092

3092:                                             ; preds = %3087, %3091
  %.str.5.sink1695 = phi ptr [ @.str.5, %3091 ], [ @.str.2, %3087 ]
  store i32 %3082, ptr %2315, align 4, !tbaa !5
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = load i32, ptr @test_count, align 4, !tbaa !5
  %3095 = load i32, ptr %2261, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror(i32 noundef %3095, ptr noundef nonnull @.str.4) #11
  %3097 = load i32, ptr %2261, align 4, !tbaa !5
  %3098 = call ptr @s2n_strerror_debug(i32 noundef %3097, ptr noundef nonnull @.str.4) #11
  %3099 = load i32, ptr %2315, align 4, !tbaa !5
  %3100 = call ptr @strerror(i32 noundef %3099) #11
  %3101 = load i32, ptr %2315, align 4, !tbaa !5
  %3102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3093, ptr noundef nonnull %.str.5.sink1695, i32 noundef %3094, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %3096, ptr noundef %3098, ptr noundef %3100, i32 noundef %3101) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3103:                                             ; preds = %3077
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = add nsw i32 %3104, 1
  store i32 %3105, ptr @test_count, align 4, !tbaa !5
  %3106 = load ptr, ptr %34, align 8, !tbaa !9
  %3107 = call i32 @s2n_connection_set_config(ptr noundef %3106, ptr noundef nonnull %198) #11
  %3108 = icmp eq i32 %3107, -1
  br i1 %3108, label %3109, label %3131

3109:                                             ; preds = %3103
  %3110 = load i32, ptr %2315, align 4, !tbaa !5
  %3111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3112 = call i32 @s2n_print_stacktrace(ptr noundef %3111) #11
  %3113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3114 = trunc nuw i8 %3113 to i1
  br i1 %3114, label %3115, label %3119

3115:                                             ; preds = %3109
  %3116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3117 = call i32 @fileno(ptr noundef %3116) #11
  %3118 = call i32 @isatty(i32 noundef %3117) #11
  %.not558 = icmp eq i32 %3118, 0
  br i1 %.not558, label %3119, label %3120

3119:                                             ; preds = %3115, %3109
  br label %3120

3120:                                             ; preds = %3115, %3119
  %.str.5.sink1704 = phi ptr [ @.str.5, %3119 ], [ @.str.2, %3115 ]
  store i32 %3110, ptr %2315, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = load i32, ptr %2261, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror(i32 noundef %3123, ptr noundef nonnull @.str.4) #11
  %3125 = load i32, ptr %2261, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror_debug(i32 noundef %3125, ptr noundef nonnull @.str.4) #11
  %3127 = load i32, ptr %2315, align 4, !tbaa !5
  %3128 = call ptr @strerror(i32 noundef %3127) #11
  %3129 = load i32, ptr %2315, align 4, !tbaa !5
  %3130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3121, ptr noundef nonnull %.str.5.sink1704, i32 noundef %3122, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %3124, ptr noundef %3126, ptr noundef %3128, i32 noundef %3129) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3131:                                             ; preds = %3103
  %3132 = load i32, ptr @test_count, align 4, !tbaa !5
  %3133 = add nsw i32 %3132, 1
  store i32 %3133, ptr @test_count, align 4, !tbaa !5
  %3134 = load ptr, ptr %34, align 8, !tbaa !9
  %3135 = call i32 @s2n_connection_set_send_cb(ptr noundef %3134, ptr noundef nonnull @s2n_test_send_cb) #11
  %3136 = icmp eq i32 %3135, -1
  br i1 %3136, label %3137, label %3159

3137:                                             ; preds = %3131
  %3138 = load i32, ptr %2315, align 4, !tbaa !5
  %3139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3140 = call i32 @s2n_print_stacktrace(ptr noundef %3139) #11
  %3141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3142 = trunc nuw i8 %3141 to i1
  br i1 %3142, label %3143, label %3147

3143:                                             ; preds = %3137
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @fileno(ptr noundef %3144) #11
  %3146 = call i32 @isatty(i32 noundef %3145) #11
  %.not557 = icmp eq i32 %3146, 0
  br i1 %.not557, label %3147, label %3148

3147:                                             ; preds = %3143, %3137
  br label %3148

3148:                                             ; preds = %3143, %3147
  %.str.5.sink1713 = phi ptr [ @.str.5, %3147 ], [ @.str.2, %3143 ]
  store i32 %3138, ptr %2315, align 4, !tbaa !5
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = load i32, ptr @test_count, align 4, !tbaa !5
  %3151 = load i32, ptr %2261, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror(i32 noundef %3151, ptr noundef nonnull @.str.4) #11
  %3153 = load i32, ptr %2261, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror_debug(i32 noundef %3153, ptr noundef nonnull @.str.4) #11
  %3155 = load i32, ptr %2315, align 4, !tbaa !5
  %3156 = call ptr @strerror(i32 noundef %3155) #11
  %3157 = load i32, ptr %2315, align 4, !tbaa !5
  %3158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3149, ptr noundef nonnull %.str.5.sink1713, i32 noundef %3150, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %3152, ptr noundef %3154, ptr noundef %3156, i32 noundef %3157) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3159:                                             ; preds = %3131
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #11
  %.sroa.10.0..sroa_idx389 = getelementptr inbounds i8, ptr %35, i64 8
  %.sroa.11.0..sroa_idx401 = getelementptr inbounds i8, ptr %35, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx401, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx413 = getelementptr inbounds i8, ptr %35, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx413, align 8, !tbaa !45
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = add nsw i32 %3160, 1
  store i32 %3161, ptr @test_count, align 4, !tbaa !5
  %3162 = load ptr, ptr %34, align 8, !tbaa !9
  %3163 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3162, ptr noundef nonnull %35) #11
  %3164 = icmp eq i32 %3163, -1
  br i1 %3164, label %3165, label %3187

3165:                                             ; preds = %3159
  %3166 = load i32, ptr %2315, align 4, !tbaa !5
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = call i32 @s2n_print_stacktrace(ptr noundef %3167) #11
  %3169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3170 = trunc nuw i8 %3169 to i1
  br i1 %3170, label %3171, label %3175

3171:                                             ; preds = %3165
  %3172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3173 = call i32 @fileno(ptr noundef %3172) #11
  %3174 = call i32 @isatty(i32 noundef %3173) #11
  %.not556 = icmp eq i32 %3174, 0
  br i1 %.not556, label %3175, label %3176

3175:                                             ; preds = %3171, %3165
  br label %3176

3176:                                             ; preds = %3171, %3175
  %.str.5.sink1722 = phi ptr [ @.str.5, %3175 ], [ @.str.2, %3171 ]
  store i32 %3166, ptr %2315, align 4, !tbaa !5
  %3177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3178 = load i32, ptr @test_count, align 4, !tbaa !5
  %3179 = load i32, ptr %2261, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror(i32 noundef %3179, ptr noundef nonnull @.str.4) #11
  %3181 = load i32, ptr %2261, align 4, !tbaa !5
  %3182 = call ptr @s2n_strerror_debug(i32 noundef %3181, ptr noundef nonnull @.str.4) #11
  %3183 = load i32, ptr %2315, align 4, !tbaa !5
  %3184 = call ptr @strerror(i32 noundef %3183) #11
  %3185 = load i32, ptr %2315, align 4, !tbaa !5
  %3186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3177, ptr noundef nonnull %.str.5.sink1722, i32 noundef %3178, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %3180, ptr noundef %3182, ptr noundef %3184, i32 noundef %3185) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3187:                                             ; preds = %3159
  %3188 = load ptr, ptr %34, align 8, !tbaa !9
  %3189 = getelementptr inbounds i8, ptr %3188, i64 4176
  call void @s2n_atomic_flag_set(ptr noundef nonnull %3189) #11
  %3190 = load i32, ptr @test_count, align 4, !tbaa !5
  %3191 = add nsw i32 %3190, 1
  store i32 %3191, ptr @test_count, align 4, !tbaa !5
  %3192 = load ptr, ptr %34, align 8, !tbaa !9
  %3193 = call i32 @s2n_post_handshake_send(ptr noundef %3192, ptr noundef nonnull %33) #11
  %3194 = icmp eq i32 %3193, -1
  br i1 %3194, label %3195, label %3217

3195:                                             ; preds = %3187
  %3196 = load i32, ptr %2315, align 4, !tbaa !5
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @s2n_print_stacktrace(ptr noundef %3197) #11
  %3199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3200 = trunc nuw i8 %3199 to i1
  br i1 %3200, label %3201, label %3205

3201:                                             ; preds = %3195
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = call i32 @fileno(ptr noundef %3202) #11
  %3204 = call i32 @isatty(i32 noundef %3203) #11
  %.not555 = icmp eq i32 %3204, 0
  br i1 %.not555, label %3205, label %3206

3205:                                             ; preds = %3201, %3195
  br label %3206

3206:                                             ; preds = %3201, %3205
  %.str.5.sink1731 = phi ptr [ @.str.5, %3205 ], [ @.str.2, %3201 ]
  store i32 %3196, ptr %2315, align 4, !tbaa !5
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3208 = load i32, ptr @test_count, align 4, !tbaa !5
  %3209 = load i32, ptr %2261, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror(i32 noundef %3209, ptr noundef nonnull @.str.4) #11
  %3211 = load i32, ptr %2261, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef nonnull @.str.4) #11
  %3213 = load i32, ptr %2315, align 4, !tbaa !5
  %3214 = call ptr @strerror(i32 noundef %3213) #11
  %3215 = load i32, ptr %2315, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3207, ptr noundef nonnull %.str.5.sink1731, i32 noundef %3208, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %3210, ptr noundef %3212, ptr noundef %3214, i32 noundef %3215) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3217:                                             ; preds = %3187
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = add nsw i32 %3218, 1
  store i32 %3219, ptr @test_count, align 4, !tbaa !5
  %3220 = load ptr, ptr %34, align 8, !tbaa !9
  %3221 = getelementptr inbounds i8, ptr %3220, i64 4176
  %3222 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3221) #11
  br i1 %3222, label %3223, label %3245

3223:                                             ; preds = %3217
  %3224 = load i32, ptr %2315, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @s2n_print_stacktrace(ptr noundef %3225) #11
  %3227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3228 = trunc nuw i8 %3227 to i1
  br i1 %3228, label %3229, label %3233

3229:                                             ; preds = %3223
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = call i32 @fileno(ptr noundef %3230) #11
  %3232 = call i32 @isatty(i32 noundef %3231) #11
  %.not554 = icmp eq i32 %3232, 0
  br i1 %.not554, label %3233, label %3234

3233:                                             ; preds = %3229, %3223
  br label %3234

3234:                                             ; preds = %3229, %3233
  %.str.5.sink1740 = phi ptr [ @.str.5, %3233 ], [ @.str.2, %3229 ]
  store i32 %3224, ptr %2315, align 4, !tbaa !5
  %3235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3236 = load i32, ptr @test_count, align 4, !tbaa !5
  %3237 = load i32, ptr %2261, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef nonnull @.str.4) #11
  %3239 = load i32, ptr %2261, align 4, !tbaa !5
  %3240 = call ptr @s2n_strerror_debug(i32 noundef %3239, ptr noundef nonnull @.str.4) #11
  %3241 = load i32, ptr %2315, align 4, !tbaa !5
  %3242 = call ptr @strerror(i32 noundef %3241) #11
  %3243 = load i32, ptr %2315, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3235, ptr noundef nonnull %.str.5.sink1740, i32 noundef %3236, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %3238, ptr noundef %3240, ptr noundef %3242, i32 noundef %3243) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3245:                                             ; preds = %3217
  %3246 = load i64, ptr %.sroa.10.0..sroa_idx389, align 8, !tbaa !48
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #11
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %.not500 = icmp eq i64 %3246, 0
  br i1 %.not500, label %3249, label %3271

3249:                                             ; preds = %3245
  %3250 = load i32, ptr %2315, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @s2n_print_stacktrace(ptr noundef %3251) #11
  %3253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc nuw i8 %3253 to i1
  br i1 %3254, label %3255, label %3259

3255:                                             ; preds = %3249
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = call i32 @fileno(ptr noundef %3256) #11
  %3258 = call i32 @isatty(i32 noundef %3257) #11
  %.not501 = icmp eq i32 %3258, 0
  br i1 %.not501, label %3259, label %3260

3259:                                             ; preds = %3255, %3249
  br label %3260

3260:                                             ; preds = %3255, %3259
  %.str.5.sink1749 = phi ptr [ @.str.5, %3259 ], [ @.str.2, %3255 ]
  store i32 %3250, ptr %2315, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = load i32, ptr @test_count, align 4, !tbaa !5
  %3263 = load i32, ptr %2261, align 4, !tbaa !5
  %3264 = call ptr @s2n_strerror(i32 noundef %3263, ptr noundef nonnull @.str.4) #11
  %3265 = load i32, ptr %2261, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef nonnull @.str.4) #11
  %3267 = load i32, ptr %2315, align 4, !tbaa !5
  %3268 = call ptr @strerror(i32 noundef %3267) #11
  %3269 = load i32, ptr %2315, align 4, !tbaa !5
  %3270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3261, ptr noundef nonnull %.str.5.sink1749, i32 noundef %3262, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %3264, ptr noundef %3266, ptr noundef %3268, i32 noundef %3269) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3271:                                             ; preds = %3245
  call void @llvm.lifetime.start.p0(i64 36, ptr nonnull %36) #11
  store i32 2147483647, ptr %36, align 16, !tbaa !51
  %3272 = getelementptr inbounds i8, ptr %36, i64 4
  store i32 0, ptr %3272, align 4, !tbaa !53
  %3273 = getelementptr inbounds i8, ptr %36, i64 8
  store i8 0, ptr %3273, align 8, !tbaa !54
  %3274 = getelementptr inbounds i8, ptr %36, i64 12
  %3275 = trunc i64 %3246 to i32
  store i32 %3275, ptr %3274, align 4, !tbaa !51
  %3276 = getelementptr inbounds i8, ptr %36, i64 16
  store i32 0, ptr %3276, align 16, !tbaa !53
  %3277 = getelementptr inbounds i8, ptr %36, i64 20
  store i8 1, ptr %3277, align 4, !tbaa !54
  %3278 = getelementptr inbounds i8, ptr %36, i64 24
  store i32 2147483647, ptr %3278, align 8, !tbaa !51
  %3279 = getelementptr inbounds i8, ptr %36, i64 28
  store i32 0, ptr %3279, align 4, !tbaa !53
  %3280 = getelementptr inbounds i8, ptr %36, i64 32
  store i8 0, ptr %3280, align 16, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #11
  %3281 = getelementptr inbounds i8, ptr %37, i64 8
  %3282 = getelementptr inbounds i8, ptr %37, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %37, i8 0, i64 16, i1 false)
  store ptr %36, ptr %3282, align 8, !tbaa !55
  %3283 = getelementptr inbounds i8, ptr %37, i64 24
  store i64 3, ptr %3283, align 8, !tbaa !56
  %3284 = add nsw i32 %3247, 2
  store i32 %3284, ptr @test_count, align 4, !tbaa !5
  %3285 = load ptr, ptr %34, align 8, !tbaa !9
  %3286 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3285, ptr noundef nonnull %37) #11
  %3287 = icmp eq i32 %3286, -1
  br i1 %3287, label %3288, label %3310

3288:                                             ; preds = %3271
  %3289 = load i32, ptr %2315, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = call i32 @s2n_print_stacktrace(ptr noundef %3290) #11
  %3292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3293 = trunc nuw i8 %3292 to i1
  br i1 %3293, label %3294, label %3298

3294:                                             ; preds = %3288
  %3295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3296 = call i32 @fileno(ptr noundef %3295) #11
  %3297 = call i32 @isatty(i32 noundef %3296) #11
  %.not553 = icmp eq i32 %3297, 0
  br i1 %.not553, label %3298, label %3299

3298:                                             ; preds = %3294, %3288
  br label %3299

3299:                                             ; preds = %3294, %3298
  %.str.5.sink1758 = phi ptr [ @.str.5, %3298 ], [ @.str.2, %3294 ]
  store i32 %3289, ptr %2315, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = load i32, ptr @test_count, align 4, !tbaa !5
  %3302 = load i32, ptr %2261, align 4, !tbaa !5
  %3303 = call ptr @s2n_strerror(i32 noundef %3302, ptr noundef nonnull @.str.4) #11
  %3304 = load i32, ptr %2261, align 4, !tbaa !5
  %3305 = call ptr @s2n_strerror_debug(i32 noundef %3304, ptr noundef nonnull @.str.4) #11
  %3306 = load i32, ptr %2315, align 4, !tbaa !5
  %3307 = call ptr @strerror(i32 noundef %3306) #11
  %3308 = load i32, ptr %2315, align 4, !tbaa !5
  %3309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3300, ptr noundef nonnull %.str.5.sink1758, i32 noundef %3301, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %3303, ptr noundef %3305, ptr noundef %3307, i32 noundef %3308) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3310:                                             ; preds = %3271
  %3311 = load ptr, ptr %34, align 8, !tbaa !9
  %3312 = getelementptr inbounds i8, ptr %3311, i64 232
  %3313 = load ptr, ptr %3312, align 8, !tbaa !57
  %3314 = load ptr, ptr %3313, align 8, !tbaa !58
  %3315 = getelementptr inbounds i8, ptr %3314, i64 48
  %3316 = load ptr, ptr %3315, align 8, !tbaa !63
  %3317 = getelementptr inbounds i8, ptr %3316, i64 16
  %3318 = load i64, ptr %3317, align 8, !tbaa !65
  %3319 = load i32, ptr @test_count, align 4, !tbaa !5
  %3320 = add nsw i32 %3319, 1
  store i32 %3320, ptr @test_count, align 4, !tbaa !5
  %.not502 = icmp eq i64 %3318, 0
  br i1 %.not502, label %3321, label %3343

3321:                                             ; preds = %3310
  %3322 = load i32, ptr %2315, align 4, !tbaa !5
  %3323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3324 = call i32 @s2n_print_stacktrace(ptr noundef %3323) #11
  %3325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3326 = trunc nuw i8 %3325 to i1
  br i1 %3326, label %3327, label %3331

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

3331:                                             ; preds = %3327, %3321
  br label %3332

3332:                                             ; preds = %3327, %3331
  %.str.5.sink1767 = phi ptr [ @.str.5, %3331 ], [ @.str.2, %3327 ]
  store i32 %3322, ptr %2315, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = load i32, ptr %2261, align 4, !tbaa !5
  %3336 = call ptr @s2n_strerror(i32 noundef %3335, ptr noundef nonnull @.str.4) #11
  %3337 = load i32, ptr %2261, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef nonnull @.str.4) #11
  %3339 = load i32, ptr %2315, align 4, !tbaa !5
  %3340 = call ptr @strerror(i32 noundef %3339) #11
  %3341 = load i32, ptr %2315, align 4, !tbaa !5
  %3342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef nonnull %.str.5.sink1767, i32 noundef %3334, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %3336, ptr noundef %3338, ptr noundef %3340, i32 noundef %3341) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3343:                                             ; preds = %3310
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %39, i8 0, i64 40, i1 false)
  %3344 = add nsw i32 %3319, 2
  store i32 %3344, ptr @test_count, align 4, !tbaa !5
  %3345 = getelementptr inbounds i8, ptr %3313, i64 920
  %3346 = call i32 @s2n_blob_init(ptr noundef nonnull %38, ptr noundef nonnull %3345, i32 noundef 8) #11
  %3347 = icmp eq i32 %3346, -1
  br i1 %3347, label %3348, label %3370

3348:                                             ; preds = %3343
  %3349 = load i32, ptr %2315, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = call i32 @s2n_print_stacktrace(ptr noundef %3350) #11
  %3352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3353 = trunc nuw i8 %3352 to i1
  br i1 %3353, label %3354, label %3358

3354:                                             ; preds = %3348
  %3355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3356 = call i32 @fileno(ptr noundef %3355) #11
  %3357 = call i32 @isatty(i32 noundef %3356) #11
  %.not552 = icmp eq i32 %3357, 0
  br i1 %.not552, label %3358, label %3359

3358:                                             ; preds = %3354, %3348
  br label %3359

3359:                                             ; preds = %3354, %3358
  %.str.5.sink1776 = phi ptr [ @.str.5, %3358 ], [ @.str.2, %3354 ]
  store i32 %3349, ptr %2315, align 4, !tbaa !5
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = load i32, ptr @test_count, align 4, !tbaa !5
  %3362 = load i32, ptr %2261, align 4, !tbaa !5
  %3363 = call ptr @s2n_strerror(i32 noundef %3362, ptr noundef nonnull @.str.4) #11
  %3364 = load i32, ptr %2261, align 4, !tbaa !5
  %3365 = call ptr @s2n_strerror_debug(i32 noundef %3364, ptr noundef nonnull @.str.4) #11
  %3366 = load i32, ptr %2315, align 4, !tbaa !5
  %3367 = call ptr @strerror(i32 noundef %3366) #11
  %3368 = load i32, ptr %2315, align 4, !tbaa !5
  %3369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3360, ptr noundef nonnull %.str.5.sink1776, i32 noundef %3361, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 429, ptr noundef %3363, ptr noundef %3365, ptr noundef %3367, i32 noundef %3368) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3370:                                             ; preds = %3343
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = add nsw i32 %3371, 1
  store i32 %3372, ptr @test_count, align 4, !tbaa !5
  %3373 = call i32 @s2n_stuffer_init(ptr noundef nonnull %39, ptr noundef nonnull %38) #11
  %3374 = icmp eq i32 %3373, -1
  br i1 %3374, label %3375, label %3397

3375:                                             ; preds = %3370
  %3376 = load i32, ptr %2315, align 4, !tbaa !5
  %3377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3378 = call i32 @s2n_print_stacktrace(ptr noundef %3377) #11
  %3379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3380 = trunc nuw i8 %3379 to i1
  br i1 %3380, label %3381, label %3385

3381:                                             ; preds = %3375
  %3382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3383 = call i32 @fileno(ptr noundef %3382) #11
  %3384 = call i32 @isatty(i32 noundef %3383) #11
  %.not551 = icmp eq i32 %3384, 0
  br i1 %.not551, label %3385, label %3386

3385:                                             ; preds = %3381, %3375
  br label %3386

3386:                                             ; preds = %3381, %3385
  %.str.5.sink1785 = phi ptr [ @.str.5, %3385 ], [ @.str.2, %3381 ]
  store i32 %3376, ptr %2315, align 4, !tbaa !5
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = load i32, ptr @test_count, align 4, !tbaa !5
  %3389 = load i32, ptr %2261, align 4, !tbaa !5
  %3390 = call ptr @s2n_strerror(i32 noundef %3389, ptr noundef nonnull @.str.4) #11
  %3391 = load i32, ptr %2261, align 4, !tbaa !5
  %3392 = call ptr @s2n_strerror_debug(i32 noundef %3391, ptr noundef nonnull @.str.4) #11
  %3393 = load i32, ptr %2315, align 4, !tbaa !5
  %3394 = call ptr @strerror(i32 noundef %3393) #11
  %3395 = load i32, ptr %2315, align 4, !tbaa !5
  %3396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3387, ptr noundef nonnull %.str.5.sink1785, i32 noundef %3388, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %3390, ptr noundef %3392, ptr noundef %3394, i32 noundef %3395) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3397:                                             ; preds = %3370
  %3398 = add i64 %3318, -1
  %3399 = load i32, ptr @test_count, align 4, !tbaa !5
  %3400 = add nsw i32 %3399, 1
  store i32 %3400, ptr @test_count, align 4, !tbaa !5
  %3401 = call i32 @s2n_stuffer_write_uint64(ptr noundef nonnull %39, i64 noundef %3398) #11
  %3402 = icmp eq i32 %3401, -1
  br i1 %3402, label %3403, label %3425

3403:                                             ; preds = %3397
  %3404 = load i32, ptr %2315, align 4, !tbaa !5
  %3405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3406 = call i32 @s2n_print_stacktrace(ptr noundef %3405) #11
  %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 = %3403
  %3410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3411 = call i32 @fileno(ptr noundef %3410) #11
  %3412 = call i32 @isatty(i32 noundef %3411) #11
  %.not550 = icmp eq i32 %3412, 0
  br i1 %.not550, label %3413, label %3414

3413:                                             ; preds = %3409, %3403
  br label %3414

3414:                                             ; preds = %3409, %3413
  %.str.5.sink1794 = phi ptr [ @.str.5, %3413 ], [ @.str.2, %3409 ]
  store i32 %3404, ptr %2315, 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 %2261, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror(i32 noundef %3417, ptr noundef nonnull @.str.4) #11
  %3419 = load i32, ptr %2261, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror_debug(i32 noundef %3419, ptr noundef nonnull @.str.4) #11
  %3421 = load i32, ptr %2315, align 4, !tbaa !5
  %3422 = call ptr @strerror(i32 noundef %3421) #11
  %3423 = load i32, ptr %2315, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3415, ptr noundef nonnull %.str.5.sink1794, i32 noundef %3416, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %3418, ptr noundef %3420, ptr noundef %3422, i32 noundef %3423) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3425:                                             ; preds = %3397
  %3426 = load i32, ptr @test_count, align 4, !tbaa !5
  %3427 = add nsw i32 %3426, 1
  store i32 %3427, ptr @test_count, align 4, !tbaa !5
  %3428 = load ptr, ptr %34, align 8, !tbaa !9
  %3429 = call i32 @s2n_check_record_limit(ptr noundef %3428, ptr noundef nonnull %38) #11
  %3430 = icmp eq i32 %3429, -1
  br i1 %3430, label %3431, label %3453

3431:                                             ; preds = %3425
  %3432 = load i32, ptr %2315, align 4, !tbaa !5
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = call i32 @s2n_print_stacktrace(ptr noundef %3433) #11
  %3435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3436 = trunc nuw i8 %3435 to i1
  br i1 %3436, label %3437, label %3441

3437:                                             ; preds = %3431
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = call i32 @fileno(ptr noundef %3438) #11
  %3440 = call i32 @isatty(i32 noundef %3439) #11
  %.not549 = icmp eq i32 %3440, 0
  br i1 %.not549, label %3441, label %3442

3441:                                             ; preds = %3437, %3431
  br label %3442

3442:                                             ; preds = %3437, %3441
  %.str.5.sink1803 = phi ptr [ @.str.5, %3441 ], [ @.str.2, %3437 ]
  store i32 %3432, ptr %2315, align 4, !tbaa !5
  %3443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3444 = load i32, ptr @test_count, align 4, !tbaa !5
  %3445 = load i32, ptr %2261, align 4, !tbaa !5
  %3446 = call ptr @s2n_strerror(i32 noundef %3445, ptr noundef nonnull @.str.4) #11
  %3447 = load i32, ptr %2261, align 4, !tbaa !5
  %3448 = call ptr @s2n_strerror_debug(i32 noundef %3447, ptr noundef nonnull @.str.4) #11
  %3449 = load i32, ptr %2315, align 4, !tbaa !5
  %3450 = call ptr @strerror(i32 noundef %3449) #11
  %3451 = load i32, ptr %2315, align 4, !tbaa !5
  %3452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3443, ptr noundef nonnull %.str.5.sink1803, i32 noundef %3444, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 435, ptr noundef %3446, ptr noundef %3448, ptr noundef %3450, i32 noundef %3451) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3453:                                             ; preds = %3425
  %3454 = load i32, ptr @test_count, align 4, !tbaa !5
  %3455 = add nsw i32 %3454, 1
  store i32 %3455, ptr @test_count, align 4, !tbaa !5
  %3456 = load ptr, ptr %34, align 8, !tbaa !9
  %3457 = getelementptr inbounds i8, ptr %3456, i64 4176
  %3458 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %3457) #11
  br i1 %3458, label %3459, label %3481

3459:                                             ; preds = %3453
  %3460 = load i32, ptr %2315, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @s2n_print_stacktrace(ptr noundef %3461) #11
  %3463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3464 = trunc nuw i8 %3463 to i1
  br i1 %3464, label %3465, label %3469

3465:                                             ; preds = %3459
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = call i32 @fileno(ptr noundef %3466) #11
  %3468 = call i32 @isatty(i32 noundef %3467) #11
  %.not548 = icmp eq i32 %3468, 0
  br i1 %.not548, label %3469, label %3470

3469:                                             ; preds = %3465, %3459
  br label %3470

3470:                                             ; preds = %3465, %3469
  %.str.5.sink1812 = phi ptr [ @.str.5, %3469 ], [ @.str.2, %3465 ]
  store i32 %3460, ptr %2315, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = load i32, ptr @test_count, align 4, !tbaa !5
  %3473 = load i32, ptr %2261, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror(i32 noundef %3473, ptr noundef nonnull @.str.4) #11
  %3475 = load i32, ptr %2261, align 4, !tbaa !5
  %3476 = call ptr @s2n_strerror_debug(i32 noundef %3475, ptr noundef nonnull @.str.4) #11
  %3477 = load i32, ptr %2315, align 4, !tbaa !5
  %3478 = call ptr @strerror(i32 noundef %3477) #11
  %3479 = load i32, ptr %2315, align 4, !tbaa !5
  %3480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef nonnull %.str.5.sink1812, i32 noundef %3472, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 436, ptr noundef %3474, ptr noundef %3476, ptr noundef %3478, i32 noundef %3479) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3481:                                             ; preds = %3453
  %3482 = load i32, ptr @test_count, align 4, !tbaa !5
  %3483 = add nsw i32 %3482, 1
  store i32 %3483, ptr @test_count, align 4, !tbaa !5
  %3484 = load ptr, ptr %34, align 8, !tbaa !9
  %3485 = call i64 @s2n_send(ptr noundef %3484, ptr noundef nonnull %4, i64 noundef 16394, ptr noundef nonnull %33) #11
  %3486 = icmp eq i64 %3485, 16394
  br i1 %3486, label %3509, label %3487

3487:                                             ; preds = %3481
  %3488 = load i32, ptr %2315, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = call i32 @s2n_print_stacktrace(ptr noundef %3489) #11
  %3491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3492 = trunc nuw i8 %3491 to i1
  br i1 %3492, label %3493, label %3497

3493:                                             ; preds = %3487
  %3494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3495 = call i32 @fileno(ptr noundef %3494) #11
  %3496 = call i32 @isatty(i32 noundef %3495) #11
  %.not504 = icmp eq i32 %3496, 0
  br i1 %.not504, label %3497, label %3498

3497:                                             ; preds = %3493, %3487
  br label %3498

3498:                                             ; preds = %3493, %3497
  %.str.5.sink1821 = phi ptr [ @.str.5, %3497 ], [ @.str.2, %3493 ]
  store i32 %3488, ptr %2315, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = load i32, ptr @test_count, align 4, !tbaa !5
  %3501 = load i32, ptr %2261, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror(i32 noundef %3501, ptr noundef nonnull @.str.4) #11
  %3503 = load i32, ptr %2261, align 4, !tbaa !5
  %3504 = call ptr @s2n_strerror_debug(i32 noundef %3503, ptr noundef nonnull @.str.4) #11
  %3505 = load i32, ptr %2315, align 4, !tbaa !5
  %3506 = call ptr @strerror(i32 noundef %3505) #11
  %3507 = load i32, ptr %2315, align 4, !tbaa !5
  %3508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3499, ptr noundef nonnull %.str.5.sink1821, i32 noundef %3500, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 439, ptr noundef %3502, ptr noundef %3504, ptr noundef %3506, i32 noundef %3507) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3509:                                             ; preds = %3481
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #11
  store i64 0, ptr %40, align 8, !tbaa !45
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = add nsw i32 %3510, 1
  store i32 %3511, ptr @test_count, align 4, !tbaa !5
  %3512 = call i32 @s2n_stuffer_read_uint64(ptr noundef nonnull %39, ptr noundef nonnull %40) #11
  %3513 = icmp eq i32 %3512, -1
  br i1 %3513, label %3514, label %3536

3514:                                             ; preds = %3509
  %3515 = load i32, ptr %2315, align 4, !tbaa !5
  %3516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3517 = call i32 @s2n_print_stacktrace(ptr noundef %3516) #11
  %3518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3519 = trunc nuw i8 %3518 to i1
  br i1 %3519, label %3520, label %3524

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

3524:                                             ; preds = %3520, %3514
  br label %3525

3525:                                             ; preds = %3520, %3524
  %.str.5.sink1830 = phi ptr [ @.str.5, %3524 ], [ @.str.2, %3520 ]
  store i32 %3515, ptr %2315, align 4, !tbaa !5
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = load i32, ptr @test_count, align 4, !tbaa !5
  %3528 = load i32, ptr %2261, align 4, !tbaa !5
  %3529 = call ptr @s2n_strerror(i32 noundef %3528, ptr noundef nonnull @.str.4) #11
  %3530 = load i32, ptr %2261, align 4, !tbaa !5
  %3531 = call ptr @s2n_strerror_debug(i32 noundef %3530, ptr noundef nonnull @.str.4) #11
  %3532 = load i32, ptr %2315, align 4, !tbaa !5
  %3533 = call ptr @strerror(i32 noundef %3532) #11
  %3534 = load i32, ptr %2315, align 4, !tbaa !5
  %3535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3526, ptr noundef nonnull %.str.5.sink1830, i32 noundef %3527, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %3529, ptr noundef %3531, ptr noundef %3533, i32 noundef %3534) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3536:                                             ; preds = %3509
  %3537 = load i32, ptr @test_count, align 4, !tbaa !5
  %3538 = add nsw i32 %3537, 1
  store i32 %3538, ptr @test_count, align 4, !tbaa !5
  %3539 = load i64, ptr %40, align 8, !tbaa !45
  %3540 = icmp ult i64 %3539, %3398
  br i1 %3540, label %3563, label %3541

3541:                                             ; preds = %3536
  %3542 = load i32, ptr %2315, align 4, !tbaa !5
  %3543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3544 = call i32 @s2n_print_stacktrace(ptr noundef %3543) #11
  %3545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3546 = trunc nuw i8 %3545 to i1
  br i1 %3546, label %3547, label %3551

3547:                                             ; preds = %3541
  %3548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3549 = call i32 @fileno(ptr noundef %3548) #11
  %3550 = call i32 @isatty(i32 noundef %3549) #11
  %.not505 = icmp eq i32 %3550, 0
  br i1 %.not505, label %3551, label %3552

3551:                                             ; preds = %3547, %3541
  br label %3552

3552:                                             ; preds = %3547, %3551
  %.str.5.sink1839 = phi ptr [ @.str.5, %3551 ], [ @.str.2, %3547 ]
  store i32 %3542, ptr %2315, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = load i32, ptr @test_count, align 4, !tbaa !5
  %3555 = load i32, ptr %2261, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror(i32 noundef %3555, ptr noundef nonnull @.str.4) #11
  %3557 = load i32, ptr %2261, align 4, !tbaa !5
  %3558 = call ptr @s2n_strerror_debug(i32 noundef %3557, ptr noundef nonnull @.str.4) #11
  %3559 = load i32, ptr %2315, align 4, !tbaa !5
  %3560 = call ptr @strerror(i32 noundef %3559) #11
  %3561 = load i32, ptr %2315, align 4, !tbaa !5
  %3562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3553, ptr noundef nonnull %.str.5.sink1839, i32 noundef %3554, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %3556, ptr noundef %3558, ptr noundef %3560, i32 noundef %3561) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3563:                                             ; preds = %3536
  %3564 = add nsw i32 %3537, 2
  store i32 %3564, ptr @test_count, align 4, !tbaa !5
  %3565 = load i64, ptr %37, align 8, !tbaa !46
  %3566 = icmp eq i64 %3565, 3
  br i1 %3566, label %3589, label %3567

3567:                                             ; preds = %3563
  %3568 = load i32, ptr %2315, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = call i32 @s2n_print_stacktrace(ptr noundef %3569) #11
  %3571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3572 = trunc nuw i8 %3571 to i1
  br i1 %3572, label %3573, label %3577

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

3577:                                             ; preds = %3573, %3567
  br label %3578

3578:                                             ; preds = %3573, %3577
  %.str.5.sink1848 = phi ptr [ @.str.5, %3577 ], [ @.str.2, %3573 ]
  store i32 %3568, ptr %2315, align 4, !tbaa !5
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = load i32, ptr @test_count, align 4, !tbaa !5
  %3581 = load i32, ptr %2261, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror(i32 noundef %3581, ptr noundef nonnull @.str.4) #11
  %3583 = load i32, ptr %2261, align 4, !tbaa !5
  %3584 = call ptr @s2n_strerror_debug(i32 noundef %3583, ptr noundef nonnull @.str.4) #11
  %3585 = load i32, ptr %2315, align 4, !tbaa !5
  %3586 = call ptr @strerror(i32 noundef %3585) #11
  %3587 = load i32, ptr %2315, align 4, !tbaa !5
  %3588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3579, ptr noundef nonnull %.str.5.sink1848, i32 noundef %3580, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 448, ptr noundef %3582, ptr noundef %3584, ptr noundef %3586, i32 noundef %3587) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3589:                                             ; preds = %3563
  %3590 = add nsw i32 %3537, 3
  store i32 %3590, ptr @test_count, align 4, !tbaa !5
  %3591 = load i64, ptr %3281, align 8, !tbaa !48
  %3592 = add i64 %3246, %1975
  %3593 = icmp eq i64 %3591, %3592
  br i1 %3593, label %3616, label %3594

3594:                                             ; preds = %3589
  %3595 = load i32, ptr %2315, align 4, !tbaa !5
  %3596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3597 = call i32 @s2n_print_stacktrace(ptr noundef %3596) #11
  %3598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3599 = trunc nuw i8 %3598 to i1
  br i1 %3599, label %3600, label %3604

3600:                                             ; preds = %3594
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = call i32 @fileno(ptr noundef %3601) #11
  %3603 = call i32 @isatty(i32 noundef %3602) #11
  %.not507 = icmp eq i32 %3603, 0
  br i1 %.not507, label %3604, label %3605

3604:                                             ; preds = %3600, %3594
  br label %3605

3605:                                             ; preds = %3600, %3604
  %.str.5.sink1857 = phi ptr [ @.str.5, %3604 ], [ @.str.2, %3600 ]
  store i32 %3595, ptr %2315, align 4, !tbaa !5
  %3606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3607 = load i32, ptr @test_count, align 4, !tbaa !5
  %3608 = load i32, ptr %2261, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror(i32 noundef %3608, ptr noundef nonnull @.str.4) #11
  %3610 = load i32, ptr %2261, align 4, !tbaa !5
  %3611 = call ptr @s2n_strerror_debug(i32 noundef %3610, ptr noundef nonnull @.str.4) #11
  %3612 = load i32, ptr %2315, align 4, !tbaa !5
  %3613 = call ptr @strerror(i32 noundef %3612) #11
  %3614 = load i32, ptr %2315, align 4, !tbaa !5
  %3615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3606, ptr noundef nonnull %.str.5.sink1857, i32 noundef %3607, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %3609, ptr noundef %3611, ptr noundef %3613, i32 noundef %3614) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3616:                                             ; preds = %3589
  %3617 = add nsw i32 %3537, 4
  store i32 %3617, ptr @test_count, align 4, !tbaa !5
  %3618 = load ptr, ptr %34, align 8, !tbaa !9
  %3619 = getelementptr inbounds i8, ptr %3618, i64 1904
  %3620 = load i32, ptr %3619, align 8, !tbaa !50
  %3621 = icmp eq i32 %3620, 20000
  br i1 %3621, label %3644, label %3622

3622:                                             ; preds = %3616
  %3623 = load i32, ptr %2315, align 4, !tbaa !5
  %3624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3625 = call i32 @s2n_print_stacktrace(ptr noundef %3624) #11
  %3626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3627 = trunc nuw i8 %3626 to i1
  br i1 %3627, label %3628, label %3632

3628:                                             ; preds = %3622
  %3629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3630 = call i32 @fileno(ptr noundef %3629) #11
  %3631 = call i32 @isatty(i32 noundef %3630) #11
  %.not508 = icmp eq i32 %3631, 0
  br i1 %.not508, label %3632, label %3633

3632:                                             ; preds = %3628, %3622
  br label %3633

3633:                                             ; preds = %3628, %3632
  %.str.5.sink1866 = phi ptr [ @.str.5, %3632 ], [ @.str.2, %3628 ]
  store i32 %3623, ptr %2315, align 4, !tbaa !5
  %3634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3635 = load i32, ptr @test_count, align 4, !tbaa !5
  %3636 = load i32, ptr %2261, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror(i32 noundef %3636, ptr noundef nonnull @.str.4) #11
  %3638 = load i32, ptr %2261, align 4, !tbaa !5
  %3639 = call ptr @s2n_strerror_debug(i32 noundef %3638, ptr noundef nonnull @.str.4) #11
  %3640 = load i32, ptr %2315, align 4, !tbaa !5
  %3641 = call ptr @strerror(i32 noundef %3640) #11
  %3642 = load i32, ptr %2315, align 4, !tbaa !5
  %3643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3634, ptr noundef nonnull %.str.5.sink1866, i32 noundef %3635, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %3637, ptr noundef %3639, ptr noundef %3641, i32 noundef %3642) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3644:                                             ; preds = %3616
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 36, ptr nonnull %36) #11
  %3645 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %34) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #11
  %3646 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3646, ptr %41, align 8, !tbaa !9
  %3647 = load i32, ptr @test_count, align 4, !tbaa !5
  %3648 = add nsw i32 %3647, 1
  store i32 %3648, ptr @test_count, align 4, !tbaa !5
  %3649 = icmp eq ptr %3646, null
  br i1 %3649, label %3650, label %3672

3650:                                             ; preds = %3644
  %3651 = load i32, ptr %2315, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = call i32 @s2n_print_stacktrace(ptr noundef %3652) #11
  %3654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3655 = trunc nuw i8 %3654 to i1
  br i1 %3655, label %3656, label %3660

3656:                                             ; preds = %3650
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = call i32 @fileno(ptr noundef %3657) #11
  %3659 = call i32 @isatty(i32 noundef %3658) #11
  %.not546 = icmp eq i32 %3659, 0
  br i1 %.not546, label %3660, label %3661

3660:                                             ; preds = %3656, %3650
  br label %3661

3661:                                             ; preds = %3656, %3660
  %.str.5.sink1875 = phi ptr [ @.str.5, %3660 ], [ @.str.2, %3656 ]
  store i32 %3651, ptr %2315, align 4, !tbaa !5
  %3662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3663 = load i32, ptr @test_count, align 4, !tbaa !5
  %3664 = load i32, ptr %2261, align 4, !tbaa !5
  %3665 = call ptr @s2n_strerror(i32 noundef %3664, ptr noundef nonnull @.str.4) #11
  %3666 = load i32, ptr %2261, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror_debug(i32 noundef %3666, ptr noundef nonnull @.str.4) #11
  %3668 = load i32, ptr %2315, align 4, !tbaa !5
  %3669 = call ptr @strerror(i32 noundef %3668) #11
  %3670 = load i32, ptr %2315, align 4, !tbaa !5
  %3671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3662, ptr noundef nonnull %.str.5.sink1875, i32 noundef %3663, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %3665, ptr noundef %3667, ptr noundef %3669, i32 noundef %3670) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3672:                                             ; preds = %3644
  %3673 = add nsw i32 %3647, 2
  store i32 %3673, ptr @test_count, align 4, !tbaa !5
  %3674 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3646) #11
  %3675 = call zeroext i1 @s2n_result_is_ok(i32 %3674)
  br i1 %3675, label %3698, label %3676

3676:                                             ; preds = %3672
  %3677 = load i32, ptr %2315, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = call i32 @s2n_print_stacktrace(ptr noundef %3678) #11
  %3680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3681 = trunc nuw i8 %3680 to i1
  br i1 %3681, label %3682, label %3686

3682:                                             ; preds = %3676
  %3683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3684 = call i32 @fileno(ptr noundef %3683) #11
  %3685 = call i32 @isatty(i32 noundef %3684) #11
  %.not509 = icmp eq i32 %3685, 0
  br i1 %.not509, label %3686, label %3687

3686:                                             ; preds = %3682, %3676
  br label %3687

3687:                                             ; preds = %3682, %3686
  %.str.5.sink1884 = phi ptr [ @.str.5, %3686 ], [ @.str.2, %3682 ]
  store i32 %3677, ptr %2315, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = load i32, ptr @test_count, align 4, !tbaa !5
  %3690 = load i32, ptr %2261, align 4, !tbaa !5
  %3691 = call ptr @s2n_strerror(i32 noundef %3690, ptr noundef nonnull @.str.4) #11
  %3692 = load i32, ptr %2261, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror_debug(i32 noundef %3692, ptr noundef nonnull @.str.4) #11
  %3694 = load i32, ptr %2315, align 4, !tbaa !5
  %3695 = call ptr @strerror(i32 noundef %3694) #11
  %3696 = load i32, ptr %2315, align 4, !tbaa !5
  %3697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3688, ptr noundef nonnull %.str.5.sink1884, i32 noundef %3689, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 467, ptr noundef %3691, ptr noundef %3693, ptr noundef %3695, i32 noundef %3696) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3698:                                             ; preds = %3672
  %3699 = load i32, ptr @test_count, align 4, !tbaa !5
  %3700 = add nsw i32 %3699, 1
  store i32 %3700, ptr @test_count, align 4, !tbaa !5
  %3701 = load ptr, ptr %41, align 8, !tbaa !9
  %3702 = call i32 @s2n_connection_set_config(ptr noundef %3701, ptr noundef nonnull %198) #11
  %3703 = icmp eq i32 %3702, -1
  br i1 %3703, label %3704, label %3726

3704:                                             ; preds = %3698
  %3705 = load i32, ptr %2315, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = call i32 @s2n_print_stacktrace(ptr noundef %3706) #11
  %3708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3709 = trunc nuw i8 %3708 to i1
  br i1 %3709, label %3710, label %3714

3710:                                             ; preds = %3704
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = call i32 @fileno(ptr noundef %3711) #11
  %3713 = call i32 @isatty(i32 noundef %3712) #11
  %.not545 = icmp eq i32 %3713, 0
  br i1 %.not545, label %3714, label %3715

3714:                                             ; preds = %3710, %3704
  br label %3715

3715:                                             ; preds = %3710, %3714
  %.str.5.sink1893 = phi ptr [ @.str.5, %3714 ], [ @.str.2, %3710 ]
  store i32 %3705, ptr %2315, align 4, !tbaa !5
  %3716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3717 = load i32, ptr @test_count, align 4, !tbaa !5
  %3718 = load i32, ptr %2261, align 4, !tbaa !5
  %3719 = call ptr @s2n_strerror(i32 noundef %3718, ptr noundef nonnull @.str.4) #11
  %3720 = load i32, ptr %2261, align 4, !tbaa !5
  %3721 = call ptr @s2n_strerror_debug(i32 noundef %3720, ptr noundef nonnull @.str.4) #11
  %3722 = load i32, ptr %2315, align 4, !tbaa !5
  %3723 = call ptr @strerror(i32 noundef %3722) #11
  %3724 = load i32, ptr %2315, align 4, !tbaa !5
  %3725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3716, ptr noundef nonnull %.str.5.sink1893, i32 noundef %3717, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 468, ptr noundef %3719, ptr noundef %3721, ptr noundef %3723, i32 noundef %3724) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3726:                                             ; preds = %3698
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #11
  %.sroa.10.0..sroa_idx391 = getelementptr inbounds i8, ptr %42, i64 8
  %.sroa.11.0..sroa_idx403 = getelementptr inbounds i8, ptr %42, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %42, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx403, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx415 = getelementptr inbounds i8, ptr %42, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx415, align 8, !tbaa !45
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = add nsw i32 %3727, 1
  store i32 %3728, ptr @test_count, align 4, !tbaa !5
  %3729 = load ptr, ptr %41, align 8, !tbaa !9
  %3730 = call i32 @s2n_connection_set_send_ctx(ptr noundef %3729, ptr noundef nonnull %42) #11
  %3731 = icmp eq i32 %3730, -1
  br i1 %3731, label %3732, label %3754

3732:                                             ; preds = %3726
  %3733 = load i32, ptr %2315, align 4, !tbaa !5
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @s2n_print_stacktrace(ptr noundef %3734) #11
  %3736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3737 = trunc nuw i8 %3736 to i1
  br i1 %3737, label %3738, label %3742

3738:                                             ; preds = %3732
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = call i32 @fileno(ptr noundef %3739) #11
  %3741 = call i32 @isatty(i32 noundef %3740) #11
  %.not544 = icmp eq i32 %3741, 0
  br i1 %.not544, label %3742, label %3743

3742:                                             ; preds = %3738, %3732
  br label %3743

3743:                                             ; preds = %3738, %3742
  %.str.5.sink1902 = phi ptr [ @.str.5, %3742 ], [ @.str.2, %3738 ]
  store i32 %3733, ptr %2315, align 4, !tbaa !5
  %3744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3745 = load i32, ptr @test_count, align 4, !tbaa !5
  %3746 = load i32, ptr %2261, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef nonnull @.str.4) #11
  %3748 = load i32, ptr %2261, align 4, !tbaa !5
  %3749 = call ptr @s2n_strerror_debug(i32 noundef %3748, ptr noundef nonnull @.str.4) #11
  %3750 = load i32, ptr %2315, align 4, !tbaa !5
  %3751 = call ptr @strerror(i32 noundef %3750) #11
  %3752 = load i32, ptr %2315, align 4, !tbaa !5
  %3753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3744, ptr noundef nonnull %.str.5.sink1902, i32 noundef %3745, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 471, ptr noundef %3747, ptr noundef %3749, ptr noundef %3751, i32 noundef %3752) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3754:                                             ; preds = %3726
  %3755 = load i32, ptr @test_count, align 4, !tbaa !5
  %3756 = add nsw i32 %3755, 1
  store i32 %3756, ptr @test_count, align 4, !tbaa !5
  %3757 = load ptr, ptr %41, align 8, !tbaa !9
  %3758 = call i32 @s2n_connection_set_send_cb(ptr noundef %3757, ptr noundef nonnull @s2n_test_send_cb) #11
  %3759 = icmp eq i32 %3758, -1
  br i1 %3759, label %3760, label %3782

3760:                                             ; preds = %3754
  %3761 = load i32, ptr %2315, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @s2n_print_stacktrace(ptr noundef %3762) #11
  %3764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3765 = trunc nuw i8 %3764 to i1
  br i1 %3765, label %3766, label %3770

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

3770:                                             ; preds = %3766, %3760
  br label %3771

3771:                                             ; preds = %3766, %3770
  %.str.5.sink1911 = phi ptr [ @.str.5, %3770 ], [ @.str.2, %3766 ]
  store i32 %3761, ptr %2315, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = load i32, ptr %2261, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror(i32 noundef %3774, ptr noundef nonnull @.str.4) #11
  %3776 = load i32, ptr %2261, align 4, !tbaa !5
  %3777 = call ptr @s2n_strerror_debug(i32 noundef %3776, ptr noundef nonnull @.str.4) #11
  %3778 = load i32, ptr %2315, align 4, !tbaa !5
  %3779 = call ptr @strerror(i32 noundef %3778) #11
  %3780 = load i32, ptr %2315, align 4, !tbaa !5
  %3781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3772, ptr noundef nonnull %.str.5.sink1911, i32 noundef %3773, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 472, ptr noundef %3775, ptr noundef %3777, ptr noundef %3779, i32 noundef %3780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3782:                                             ; preds = %3754
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = add nsw i32 %3783, 2
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = load ptr, ptr %41, align 8, !tbaa !9
  %3786 = call i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef %3785) #11
  %3787 = call zeroext i1 @s2n_result_is_ok(i32 %3786)
  br i1 %3787, label %3810, label %3788

3788:                                             ; preds = %3782
  %3789 = load i32, ptr %2315, align 4, !tbaa !5
  %3790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3791 = call i32 @s2n_print_stacktrace(ptr noundef %3790) #11
  %3792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3793 = trunc nuw i8 %3792 to i1
  br i1 %3793, label %3794, label %3798

3794:                                             ; preds = %3788
  %3795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3796 = call i32 @fileno(ptr noundef %3795) #11
  %3797 = call i32 @isatty(i32 noundef %3796) #11
  %.not510 = icmp eq i32 %3797, 0
  br i1 %.not510, label %3798, label %3799

3798:                                             ; preds = %3794, %3788
  br label %3799

3799:                                             ; preds = %3794, %3798
  %.str.5.sink1920 = phi ptr [ @.str.5, %3798 ], [ @.str.2, %3794 ]
  store i32 %3789, ptr %2315, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = load i32, ptr @test_count, align 4, !tbaa !5
  %3802 = load i32, ptr %2261, align 4, !tbaa !5
  %3803 = call ptr @s2n_strerror(i32 noundef %3802, ptr noundef nonnull @.str.4) #11
  %3804 = load i32, ptr %2261, align 4, !tbaa !5
  %3805 = call ptr @s2n_strerror_debug(i32 noundef %3804, ptr noundef nonnull @.str.4) #11
  %3806 = load i32, ptr %2315, align 4, !tbaa !5
  %3807 = call ptr @strerror(i32 noundef %3806) #11
  %3808 = load i32, ptr %2315, align 4, !tbaa !5
  %3809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3800, ptr noundef nonnull %.str.5.sink1920, i32 noundef %3801, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %3803, ptr noundef %3805, ptr noundef %3807, i32 noundef %3808) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3810:                                             ; preds = %3782
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 0, ptr %43, align 4, !tbaa !5
  %3811 = load i32, ptr @test_count, align 4, !tbaa !5
  %3812 = add nsw i32 %3811, 1
  store i32 %3812, ptr @test_count, align 4, !tbaa !5
  %3813 = load ptr, ptr %41, align 8, !tbaa !9
  %3814 = call i64 @s2n_send(ptr noundef %3813, ptr noundef nonnull %4, i64 noundef 10, ptr noundef nonnull %43) #11
  %3815 = icmp eq i64 %3814, 10
  br i1 %3815, label %3838, label %3816

3816:                                             ; preds = %3810
  %3817 = load i32, ptr %2315, align 4, !tbaa !5
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = call i32 @s2n_print_stacktrace(ptr noundef %3818) #11
  %3820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3821 = trunc nuw i8 %3820 to i1
  br i1 %3821, label %3822, label %3826

3822:                                             ; preds = %3816
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = call i32 @fileno(ptr noundef %3823) #11
  %3825 = call i32 @isatty(i32 noundef %3824) #11
  %.not511 = icmp eq i32 %3825, 0
  br i1 %.not511, label %3826, label %3827

3826:                                             ; preds = %3822, %3816
  br label %3827

3827:                                             ; preds = %3822, %3826
  %.str.5.sink1929 = phi ptr [ @.str.5, %3826 ], [ @.str.2, %3822 ]
  store i32 %3817, ptr %2315, align 4, !tbaa !5
  %3828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3829 = load i32, ptr @test_count, align 4, !tbaa !5
  %3830 = load i32, ptr %2261, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror(i32 noundef %3830, ptr noundef nonnull @.str.4) #11
  %3832 = load i32, ptr %2261, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror_debug(i32 noundef %3832, ptr noundef nonnull @.str.4) #11
  %3834 = load i32, ptr %2315, align 4, !tbaa !5
  %3835 = call ptr @strerror(i32 noundef %3834) #11
  %3836 = load i32, ptr %2315, align 4, !tbaa !5
  %3837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3828, ptr noundef nonnull %.str.5.sink1929, i32 noundef %3829, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 485, ptr noundef %3831, ptr noundef %3833, ptr noundef %3835, i32 noundef %3836) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3838:                                             ; preds = %3810
  %3839 = load i32, ptr @test_count, align 4, !tbaa !5
  %3840 = add nsw i32 %3839, 1
  store i32 %3840, ptr @test_count, align 4, !tbaa !5
  %3841 = load i64, ptr %42, align 8, !tbaa !46
  %3842 = icmp eq i64 %3841, 2
  br i1 %3842, label %3865, label %3843

3843:                                             ; preds = %3838
  %3844 = load i32, ptr %2315, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = call i32 @s2n_print_stacktrace(ptr noundef %3845) #11
  %3847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3848 = trunc nuw i8 %3847 to i1
  br i1 %3848, label %3849, label %3853

3849:                                             ; preds = %3843
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = call i32 @fileno(ptr noundef %3850) #11
  %3852 = call i32 @isatty(i32 noundef %3851) #11
  %.not512 = icmp eq i32 %3852, 0
  br i1 %.not512, label %3853, label %3854

3853:                                             ; preds = %3849, %3843
  br label %3854

3854:                                             ; preds = %3849, %3853
  %.str.5.sink1938 = phi ptr [ @.str.5, %3853 ], [ @.str.2, %3849 ]
  store i32 %3844, ptr %2315, align 4, !tbaa !5
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = load i32, ptr @test_count, align 4, !tbaa !5
  %3857 = load i32, ptr %2261, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror(i32 noundef %3857, ptr noundef nonnull @.str.4) #11
  %3859 = load i32, ptr %2261, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror_debug(i32 noundef %3859, ptr noundef nonnull @.str.4) #11
  %3861 = load i32, ptr %2315, align 4, !tbaa !5
  %3862 = call ptr @strerror(i32 noundef %3861) #11
  %3863 = load i32, ptr %2315, align 4, !tbaa !5
  %3864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3855, ptr noundef nonnull %.str.5.sink1938, i32 noundef %3856, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %3858, ptr noundef %3860, ptr noundef %3862, i32 noundef %3863) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3865:                                             ; preds = %3838
  %3866 = add nsw i32 %3839, 2
  store i32 %3866, ptr @test_count, align 4, !tbaa !5
  %3867 = load ptr, ptr %41, align 8, !tbaa !9
  %3868 = getelementptr inbounds i8, ptr %3867, i64 1928
  %3869 = load i32, ptr %3868, align 8, !tbaa !67
  %3870 = zext i32 %3869 to i64
  %3871 = load i64, ptr %.sroa.10.0..sroa_idx391, align 8, !tbaa !48
  %3872 = icmp ugt i64 %3871, %3870
  br i1 %3872, label %3895, label %3873

3873:                                             ; preds = %3865
  %3874 = load i32, ptr %2315, align 4, !tbaa !5
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = call i32 @s2n_print_stacktrace(ptr noundef %3875) #11
  %3877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3878 = trunc nuw i8 %3877 to i1
  br i1 %3878, label %3879, label %3883

3879:                                             ; preds = %3873
  %3880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3881 = call i32 @fileno(ptr noundef %3880) #11
  %3882 = call i32 @isatty(i32 noundef %3881) #11
  %.not513 = icmp eq i32 %3882, 0
  br i1 %.not513, label %3883, label %3884

3883:                                             ; preds = %3879, %3873
  br label %3884

3884:                                             ; preds = %3879, %3883
  %.str.5.sink1947 = phi ptr [ @.str.5, %3883 ], [ @.str.2, %3879 ]
  store i32 %3874, ptr %2315, align 4, !tbaa !5
  %3885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3886 = load i32, ptr @test_count, align 4, !tbaa !5
  %3887 = load i32, ptr %2261, align 4, !tbaa !5
  %3888 = call ptr @s2n_strerror(i32 noundef %3887, ptr noundef nonnull @.str.4) #11
  %3889 = load i32, ptr %2261, align 4, !tbaa !5
  %3890 = call ptr @s2n_strerror_debug(i32 noundef %3889, ptr noundef nonnull @.str.4) #11
  %3891 = load i32, ptr %2315, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #11
  %3893 = load i32, ptr %2315, align 4, !tbaa !5
  %3894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3885, ptr noundef nonnull %.str.5.sink1947, i32 noundef %3886, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %3888, ptr noundef %3890, ptr noundef %3892, i32 noundef %3893) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3895:                                             ; preds = %3865
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #11
  %3896 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #11
  store i32 0, ptr %44, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #11
  %3897 = call ptr @s2n_connection_new(i32 noundef 1) #11
  store ptr %3897, ptr %45, align 8, !tbaa !9
  %3898 = load i32, ptr @test_count, align 4, !tbaa !5
  %3899 = add nsw i32 %3898, 1
  store i32 %3899, ptr @test_count, align 4, !tbaa !5
  %3900 = icmp eq ptr %3897, null
  br i1 %3900, label %3901, label %3923

3901:                                             ; preds = %3895
  %3902 = load i32, ptr %2315, align 4, !tbaa !5
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = call i32 @s2n_print_stacktrace(ptr noundef %3903) #11
  %3905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3906 = trunc nuw i8 %3905 to i1
  br i1 %3906, label %3907, label %3911

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

3911:                                             ; preds = %3907, %3901
  br label %3912

3912:                                             ; preds = %3907, %3911
  %.str.5.sink1956 = phi ptr [ @.str.5, %3911 ], [ @.str.2, %3907 ]
  store i32 %3902, ptr %2315, align 4, !tbaa !5
  %3913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3914 = load i32, ptr @test_count, align 4, !tbaa !5
  %3915 = load i32, ptr %2261, align 4, !tbaa !5
  %3916 = call ptr @s2n_strerror(i32 noundef %3915, ptr noundef nonnull @.str.4) #11
  %3917 = load i32, ptr %2261, align 4, !tbaa !5
  %3918 = call ptr @s2n_strerror_debug(i32 noundef %3917, ptr noundef nonnull @.str.4) #11
  %3919 = load i32, ptr %2315, align 4, !tbaa !5
  %3920 = call ptr @strerror(i32 noundef %3919) #11
  %3921 = load i32, ptr %2315, align 4, !tbaa !5
  %3922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3913, ptr noundef nonnull %.str.5.sink1956, i32 noundef %3914, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %3916, ptr noundef %3918, ptr noundef %3920, i32 noundef %3921) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3923:                                             ; preds = %3895
  %3924 = add nsw i32 %3898, 2
  store i32 %3924, ptr @test_count, align 4, !tbaa !5
  %3925 = call i32 @s2n_connection_set_secrets(ptr noundef nonnull %3897) #11
  %3926 = call zeroext i1 @s2n_result_is_ok(i32 %3925)
  br i1 %3926, label %3949, label %3927

3927:                                             ; preds = %3923
  %3928 = load i32, ptr %2315, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = call i32 @s2n_print_stacktrace(ptr noundef %3929) #11
  %3931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3932 = trunc nuw i8 %3931 to i1
  br i1 %3932, label %3933, label %3937

3933:                                             ; preds = %3927
  %3934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3935 = call i32 @fileno(ptr noundef %3934) #11
  %3936 = call i32 @isatty(i32 noundef %3935) #11
  %.not514 = icmp eq i32 %3936, 0
  br i1 %.not514, label %3937, label %3938

3937:                                             ; preds = %3933, %3927
  br label %3938

3938:                                             ; preds = %3933, %3937
  %.str.5.sink1965 = phi ptr [ @.str.5, %3937 ], [ @.str.2, %3933 ]
  store i32 %3928, ptr %2315, align 4, !tbaa !5
  %3939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3940 = load i32, ptr @test_count, align 4, !tbaa !5
  %3941 = load i32, ptr %2261, align 4, !tbaa !5
  %3942 = call ptr @s2n_strerror(i32 noundef %3941, ptr noundef nonnull @.str.4) #11
  %3943 = load i32, ptr %2261, align 4, !tbaa !5
  %3944 = call ptr @s2n_strerror_debug(i32 noundef %3943, ptr noundef nonnull @.str.4) #11
  %3945 = load i32, ptr %2315, align 4, !tbaa !5
  %3946 = call ptr @strerror(i32 noundef %3945) #11
  %3947 = load i32, ptr %2315, align 4, !tbaa !5
  %3948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3939, ptr noundef nonnull %.str.5.sink1965, i32 noundef %3940, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 505, ptr noundef %3942, ptr noundef %3944, ptr noundef %3946, i32 noundef %3947) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3949:                                             ; preds = %3923
  %3950 = load i32, ptr @test_count, align 4, !tbaa !5
  %3951 = add nsw i32 %3950, 1
  store i32 %3951, ptr @test_count, align 4, !tbaa !5
  %3952 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3897, ptr noundef nonnull %198) #11
  %3953 = icmp eq i32 %3952, -1
  br i1 %3953, label %3954, label %3976

3954:                                             ; preds = %3949
  %3955 = load i32, ptr %2315, align 4, !tbaa !5
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = call i32 @s2n_print_stacktrace(ptr noundef %3956) #11
  %3958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3959 = trunc nuw i8 %3958 to i1
  br i1 %3959, label %3960, label %3964

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

3964:                                             ; preds = %3960, %3954
  br label %3965

3965:                                             ; preds = %3960, %3964
  %.str.5.sink1974 = phi ptr [ @.str.5, %3964 ], [ @.str.2, %3960 ]
  store i32 %3955, ptr %2315, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = load i32, ptr @test_count, align 4, !tbaa !5
  %3968 = load i32, ptr %2261, align 4, !tbaa !5
  %3969 = call ptr @s2n_strerror(i32 noundef %3968, ptr noundef nonnull @.str.4) #11
  %3970 = load i32, ptr %2261, align 4, !tbaa !5
  %3971 = call ptr @s2n_strerror_debug(i32 noundef %3970, ptr noundef nonnull @.str.4) #11
  %3972 = load i32, ptr %2315, align 4, !tbaa !5
  %3973 = call ptr @strerror(i32 noundef %3972) #11
  %3974 = load i32, ptr %2315, align 4, !tbaa !5
  %3975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3966, ptr noundef nonnull %.str.5.sink1974, i32 noundef %3967, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %3969, ptr noundef %3971, ptr noundef %3973, i32 noundef %3974) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3976:                                             ; preds = %3949
  %3977 = load i32, ptr @test_count, align 4, !tbaa !5
  %3978 = add nsw i32 %3977, 1
  store i32 %3978, ptr @test_count, align 4, !tbaa !5
  %3979 = call i32 @s2n_connection_set_send_cb(ptr noundef nonnull %3897, ptr noundef nonnull @s2n_test_send_cb) #11
  %3980 = icmp eq i32 %3979, -1
  br i1 %3980, label %3981, label %4003

3981:                                             ; preds = %3976
  %3982 = load i32, ptr %2315, align 4, !tbaa !5
  %3983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3984 = call i32 @s2n_print_stacktrace(ptr noundef %3983) #11
  %3985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3986 = trunc nuw i8 %3985 to i1
  br i1 %3986, label %3987, label %3991

3987:                                             ; preds = %3981
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = call i32 @fileno(ptr noundef %3988) #11
  %3990 = call i32 @isatty(i32 noundef %3989) #11
  %.not540 = icmp eq i32 %3990, 0
  br i1 %.not540, label %3991, label %3992

3991:                                             ; preds = %3987, %3981
  br label %3992

3992:                                             ; preds = %3987, %3991
  %.str.5.sink1983 = phi ptr [ @.str.5, %3991 ], [ @.str.2, %3987 ]
  store i32 %3982, ptr %2315, align 4, !tbaa !5
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = load i32, ptr @test_count, align 4, !tbaa !5
  %3995 = load i32, ptr %2261, align 4, !tbaa !5
  %3996 = call ptr @s2n_strerror(i32 noundef %3995, ptr noundef nonnull @.str.4) #11
  %3997 = load i32, ptr %2261, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror_debug(i32 noundef %3997, ptr noundef nonnull @.str.4) #11
  %3999 = load i32, ptr %2315, align 4, !tbaa !5
  %4000 = call ptr @strerror(i32 noundef %3999) #11
  %4001 = load i32, ptr %2315, align 4, !tbaa !5
  %4002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3993, ptr noundef nonnull %.str.5.sink1983, i32 noundef %3994, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %3996, ptr noundef %3998, ptr noundef %4000, i32 noundef %4001) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4003:                                             ; preds = %3976
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #11
  %.sroa.10.0..sroa_idx393 = getelementptr inbounds i8, ptr %46, i64 8
  %.sroa.11.0..sroa_idx405 = getelementptr inbounds i8, ptr %46, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %46, i8 0, i64 16, i1 false)
  store ptr %6, ptr %.sroa.11.0..sroa_idx405, align 8, !tbaa !9
  %.sroa.12.0..sroa_idx417 = getelementptr inbounds i8, ptr %46, i64 24
  store i64 50, ptr %.sroa.12.0..sroa_idx417, align 8, !tbaa !45
  %4004 = load i32, ptr @test_count, align 4, !tbaa !5
  %4005 = add nsw i32 %4004, 1
  store i32 %4005, ptr @test_count, align 4, !tbaa !5
  %4006 = call i32 @s2n_connection_set_send_ctx(ptr noundef nonnull %3897, ptr noundef nonnull %46) #11
  %4007 = icmp eq i32 %4006, -1
  br i1 %4007, label %4008, label %4030

4008:                                             ; preds = %4003
  %4009 = load i32, ptr %2315, align 4, !tbaa !5
  %4010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4011 = call i32 @s2n_print_stacktrace(ptr noundef %4010) #11
  %4012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4013 = trunc nuw i8 %4012 to i1
  br i1 %4013, label %4014, label %4018

4014:                                             ; preds = %4008
  %4015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4016 = call i32 @fileno(ptr noundef %4015) #11
  %4017 = call i32 @isatty(i32 noundef %4016) #11
  %.not539 = icmp eq i32 %4017, 0
  br i1 %.not539, label %4018, label %4019

4018:                                             ; preds = %4014, %4008
  br label %4019

4019:                                             ; preds = %4014, %4018
  %.str.5.sink1992 = phi ptr [ @.str.5, %4018 ], [ @.str.2, %4014 ]
  store i32 %4009, ptr %2315, align 4, !tbaa !5
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = load i32, ptr %2261, align 4, !tbaa !5
  %4023 = call ptr @s2n_strerror(i32 noundef %4022, ptr noundef nonnull @.str.4) #11
  %4024 = load i32, ptr %2261, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror_debug(i32 noundef %4024, ptr noundef nonnull @.str.4) #11
  %4026 = load i32, ptr %2315, align 4, !tbaa !5
  %4027 = call ptr @strerror(i32 noundef %4026) #11
  %4028 = load i32, ptr %2315, align 4, !tbaa !5
  %4029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4020, ptr noundef nonnull %.str.5.sink1992, i32 noundef %4021, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %4023, ptr noundef %4025, ptr noundef %4027, i32 noundef %4028) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4030:                                             ; preds = %4003
  %4031 = getelementptr inbounds i8, ptr %3897, i64 4176
  call void @s2n_atomic_flag_set(ptr noundef nonnull %4031) #11
  %4032 = load i32, ptr @test_count, align 4, !tbaa !5
  %4033 = add nsw i32 %4032, 1
  store i32 %4033, ptr @test_count, align 4, !tbaa !5
  %4034 = call i32 @s2n_post_handshake_send(ptr noundef nonnull %3897, ptr noundef nonnull %44) #11
  %4035 = icmp eq i32 %4034, -1
  br i1 %4035, label %4036, label %4058

4036:                                             ; preds = %4030
  %4037 = load i32, ptr %2315, align 4, !tbaa !5
  %4038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4039 = call i32 @s2n_print_stacktrace(ptr noundef %4038) #11
  %4040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4041 = trunc nuw i8 %4040 to i1
  br i1 %4041, label %4042, label %4046

4042:                                             ; preds = %4036
  %4043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4044 = call i32 @fileno(ptr noundef %4043) #11
  %4045 = call i32 @isatty(i32 noundef %4044) #11
  %.not538 = icmp eq i32 %4045, 0
  br i1 %.not538, label %4046, label %4047

4046:                                             ; preds = %4042, %4036
  br label %4047

4047:                                             ; preds = %4042, %4046
  %.str.5.sink2001 = phi ptr [ @.str.5, %4046 ], [ @.str.2, %4042 ]
  store i32 %4037, ptr %2315, align 4, !tbaa !5
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = load i32, ptr %2261, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror(i32 noundef %4050, ptr noundef nonnull @.str.4) #11
  %4052 = load i32, ptr %2261, align 4, !tbaa !5
  %4053 = call ptr @s2n_strerror_debug(i32 noundef %4052, ptr noundef nonnull @.str.4) #11
  %4054 = load i32, ptr %2315, align 4, !tbaa !5
  %4055 = call ptr @strerror(i32 noundef %4054) #11
  %4056 = load i32, ptr %2315, align 4, !tbaa !5
  %4057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4048, ptr noundef nonnull %.str.5.sink2001, i32 noundef %4049, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 516, ptr noundef %4051, ptr noundef %4053, ptr noundef %4055, i32 noundef %4056) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4058:                                             ; preds = %4030
  %4059 = load i32, ptr @test_count, align 4, !tbaa !5
  %4060 = add nsw i32 %4059, 1
  store i32 %4060, ptr @test_count, align 4, !tbaa !5
  %4061 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4031) #11
  br i1 %4061, label %4062, label %4084

4062:                                             ; preds = %4058
  %4063 = load i32, ptr %2315, align 4, !tbaa !5
  %4064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4065 = call i32 @s2n_print_stacktrace(ptr noundef %4064) #11
  %4066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4067 = trunc nuw i8 %4066 to i1
  br i1 %4067, label %4068, label %4072

4068:                                             ; preds = %4062
  %4069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4070 = call i32 @fileno(ptr noundef %4069) #11
  %4071 = call i32 @isatty(i32 noundef %4070) #11
  %.not537 = icmp eq i32 %4071, 0
  br i1 %.not537, label %4072, label %4073

4072:                                             ; preds = %4068, %4062
  br label %4073

4073:                                             ; preds = %4068, %4072
  %.str.5.sink2010 = phi ptr [ @.str.5, %4072 ], [ @.str.2, %4068 ]
  store i32 %4063, ptr %2315, align 4, !tbaa !5
  %4074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4075 = load i32, ptr @test_count, align 4, !tbaa !5
  %4076 = load i32, ptr %2261, align 4, !tbaa !5
  %4077 = call ptr @s2n_strerror(i32 noundef %4076, ptr noundef nonnull @.str.4) #11
  %4078 = load i32, ptr %2261, align 4, !tbaa !5
  %4079 = call ptr @s2n_strerror_debug(i32 noundef %4078, ptr noundef nonnull @.str.4) #11
  %4080 = load i32, ptr %2315, align 4, !tbaa !5
  %4081 = call ptr @strerror(i32 noundef %4080) #11
  %4082 = load i32, ptr %2315, align 4, !tbaa !5
  %4083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4074, ptr noundef nonnull %.str.5.sink2010, i32 noundef %4075, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 517, ptr noundef %4077, ptr noundef %4079, ptr noundef %4081, i32 noundef %4082) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4084:                                             ; preds = %4058
  %4085 = load i64, ptr %.sroa.10.0..sroa_idx393, align 8, !tbaa !48
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #11
  %4086 = load i32, ptr @test_count, align 4, !tbaa !5
  %4087 = add nsw i32 %4086, 1
  store i32 %4087, ptr @test_count, align 4, !tbaa !5
  %.not515 = icmp eq i64 %4085, 0
  br i1 %.not515, label %4088, label %4110

4088:                                             ; preds = %4084
  %4089 = load i32, ptr %2315, align 4, !tbaa !5
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = call i32 @s2n_print_stacktrace(ptr noundef %4090) #11
  %4092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4093 = trunc nuw i8 %4092 to i1
  br i1 %4093, label %4094, label %4098

4094:                                             ; preds = %4088
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = call i32 @fileno(ptr noundef %4095) #11
  %4097 = call i32 @isatty(i32 noundef %4096) #11
  %.not516 = icmp eq i32 %4097, 0
  br i1 %.not516, label %4098, label %4099

4098:                                             ; preds = %4094, %4088
  br label %4099

4099:                                             ; preds = %4094, %4098
  %.str.5.sink2019 = phi ptr [ @.str.5, %4098 ], [ @.str.2, %4094 ]
  store i32 %4089, ptr %2315, align 4, !tbaa !5
  %4100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4101 = load i32, ptr @test_count, align 4, !tbaa !5
  %4102 = load i32, ptr %2261, align 4, !tbaa !5
  %4103 = call ptr @s2n_strerror(i32 noundef %4102, ptr noundef nonnull @.str.4) #11
  %4104 = load i32, ptr %2261, align 4, !tbaa !5
  %4105 = call ptr @s2n_strerror_debug(i32 noundef %4104, ptr noundef nonnull @.str.4) #11
  %4106 = load i32, ptr %2315, align 4, !tbaa !5
  %4107 = call ptr @strerror(i32 noundef %4106) #11
  %4108 = load i32, ptr %2315, align 4, !tbaa !5
  %4109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4100, ptr noundef nonnull %.str.5.sink2019, i32 noundef %4101, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %4103, ptr noundef %4105, ptr noundef %4107, i32 noundef %4108) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4110:                                             ; preds = %4084
  call void @llvm.lifetime.start.p0(i64 108, ptr nonnull %47) #11
  store i32 -1, ptr %47, align 16, !tbaa !51
  %4111 = getelementptr inbounds i8, ptr %47, i64 4
  store i32 11, ptr %4111, align 4, !tbaa !53
  %4112 = getelementptr inbounds i8, ptr %47, i64 8
  store i8 0, ptr %4112, align 8, !tbaa !54
  %4113 = getelementptr inbounds i8, ptr %47, i64 12
  store i32 -1, ptr %4113, align 4, !tbaa !51
  %4114 = getelementptr inbounds i8, ptr %47, i64 16
  store i32 11, ptr %4114, align 16, !tbaa !53
  %4115 = getelementptr inbounds i8, ptr %47, i64 20
  store i8 0, ptr %4115, align 4, !tbaa !54
  %4116 = getelementptr inbounds i8, ptr %47, i64 24
  store i32 2147483647, ptr %4116, align 8, !tbaa !51
  %4117 = getelementptr inbounds i8, ptr %47, i64 28
  store i32 0, ptr %4117, align 4, !tbaa !53
  %4118 = getelementptr inbounds i8, ptr %47, i64 32
  store i8 0, ptr %4118, align 16, !tbaa !54
  %4119 = getelementptr inbounds i8, ptr %47, i64 36
  store i32 -1, ptr %4119, align 4, !tbaa !51
  %4120 = getelementptr inbounds i8, ptr %47, i64 40
  store i32 11, ptr %4120, align 8, !tbaa !53
  %4121 = getelementptr inbounds i8, ptr %47, i64 44
  store i8 0, ptr %4121, align 4, !tbaa !54
  %4122 = getelementptr inbounds i8, ptr %47, i64 48
  store i32 -1, ptr %4122, align 16, !tbaa !51
  %4123 = getelementptr inbounds i8, ptr %47, i64 52
  store i32 11, ptr %4123, align 4, !tbaa !53
  %4124 = getelementptr inbounds i8, ptr %47, i64 56
  store i8 0, ptr %4124, align 8, !tbaa !54
  %4125 = getelementptr inbounds i8, ptr %47, i64 60
  %4126 = trunc i64 %4085 to i32
  store i32 %4126, ptr %4125, align 4, !tbaa !51
  %4127 = getelementptr inbounds i8, ptr %47, i64 64
  store i32 0, ptr %4127, align 16, !tbaa !53
  %4128 = getelementptr inbounds i8, ptr %47, i64 68
  store i8 1, ptr %4128, align 4, !tbaa !54
  %4129 = getelementptr inbounds i8, ptr %47, i64 72
  store i32 -1, ptr %4129, align 8, !tbaa !51
  %4130 = getelementptr inbounds i8, ptr %47, i64 76
  store i32 11, ptr %4130, align 4, !tbaa !53
  %4131 = getelementptr inbounds i8, ptr %47, i64 80
  store i8 0, ptr %4131, align 16, !tbaa !54
  %4132 = getelementptr inbounds i8, ptr %47, i64 84
  store i32 -1, ptr %4132, align 4, !tbaa !51
  %4133 = getelementptr inbounds i8, ptr %47, i64 88
  store i32 11, ptr %4133, align 8, !tbaa !53
  %4134 = getelementptr inbounds i8, ptr %47, i64 92
  store i8 0, ptr %4134, align 4, !tbaa !54
  %4135 = getelementptr inbounds i8, ptr %47, i64 96
  store i32 2147483647, ptr %4135, align 16, !tbaa !51
  %4136 = getelementptr inbounds i8, ptr %47, i64 100
  store i32 0, ptr %4136, align 4, !tbaa !53
  %4137 = getelementptr inbounds i8, ptr %47, i64 104
  store i8 0, ptr %4137, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #11
  %4138 = getelementptr inbounds i8, ptr %48, i64 8
  %4139 = getelementptr inbounds i8, ptr %48, i64 16
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %48, i8 0, i64 16, i1 false)
  store ptr %47, ptr %4139, align 8, !tbaa !55
  %4140 = getelementptr inbounds i8, ptr %48, i64 24
  store i64 9, ptr %4140, align 8, !tbaa !56
  %4141 = add nsw i32 %4086, 2
  store i32 %4141, ptr @test_count, align 4, !tbaa !5
  %4142 = call i32 @s2n_connection_set_send_ctx(ptr noundef nonnull %3897, ptr noundef nonnull %48) #11
  %4143 = icmp eq i32 %4142, -1
  br i1 %4143, label %4144, label %4166

4144:                                             ; preds = %4110
  %4145 = load i32, ptr %2315, align 4, !tbaa !5
  %4146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4147 = call i32 @s2n_print_stacktrace(ptr noundef %4146) #11
  %4148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4149 = trunc nuw i8 %4148 to i1
  br i1 %4149, label %4150, label %4154

4150:                                             ; preds = %4144
  %4151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4152 = call i32 @fileno(ptr noundef %4151) #11
  %4153 = call i32 @isatty(i32 noundef %4152) #11
  %.not536 = icmp eq i32 %4153, 0
  br i1 %.not536, label %4154, label %4155

4154:                                             ; preds = %4150, %4144
  br label %4155

4155:                                             ; preds = %4150, %4154
  %.str.5.sink2028 = phi ptr [ @.str.5, %4154 ], [ @.str.2, %4150 ]
  store i32 %4145, ptr %2315, align 4, !tbaa !5
  %4156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4157 = load i32, ptr @test_count, align 4, !tbaa !5
  %4158 = load i32, ptr %2261, align 4, !tbaa !5
  %4159 = call ptr @s2n_strerror(i32 noundef %4158, ptr noundef nonnull @.str.4) #11
  %4160 = load i32, ptr %2261, align 4, !tbaa !5
  %4161 = call ptr @s2n_strerror_debug(i32 noundef %4160, ptr noundef nonnull @.str.4) #11
  %4162 = load i32, ptr %2315, align 4, !tbaa !5
  %4163 = call ptr @strerror(i32 noundef %4162) #11
  %4164 = load i32, ptr %2315, align 4, !tbaa !5
  %4165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4156, ptr noundef nonnull %.str.5.sink2028, i32 noundef %4157, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %4159, ptr noundef %4161, ptr noundef %4163, i32 noundef %4164) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4166:                                             ; preds = %4110
  %4167 = getelementptr inbounds i8, ptr %3897, i64 232
  %4168 = load ptr, ptr %4167, align 8, !tbaa !57
  %4169 = load ptr, ptr %4168, align 8, !tbaa !58
  %4170 = getelementptr inbounds i8, ptr %4169, i64 48
  %4171 = load ptr, ptr %4170, align 8, !tbaa !63
  %4172 = getelementptr inbounds i8, ptr %4171, i64 16
  %4173 = load i64, ptr %4172, align 8, !tbaa !65
  %4174 = load i32, ptr @test_count, align 4, !tbaa !5
  %4175 = add nsw i32 %4174, 1
  store i32 %4175, ptr @test_count, align 4, !tbaa !5
  %.not517 = icmp eq i64 %4173, 0
  br i1 %.not517, label %4176, label %4198

4176:                                             ; preds = %4166
  %4177 = load i32, ptr %2315, align 4, !tbaa !5
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = call i32 @s2n_print_stacktrace(ptr noundef %4178) #11
  %4180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4181 = trunc nuw i8 %4180 to i1
  br i1 %4181, label %4182, label %4186

4182:                                             ; preds = %4176
  %4183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4184 = call i32 @fileno(ptr noundef %4183) #11
  %4185 = call i32 @isatty(i32 noundef %4184) #11
  %.not518 = icmp eq i32 %4185, 0
  br i1 %.not518, label %4186, label %4187

4186:                                             ; preds = %4182, %4176
  br label %4187

4187:                                             ; preds = %4182, %4186
  %.str.5.sink2037 = phi ptr [ @.str.5, %4186 ], [ @.str.2, %4182 ]
  store i32 %4177, ptr %2315, align 4, !tbaa !5
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4189 = load i32, ptr @test_count, align 4, !tbaa !5
  %4190 = load i32, ptr %2261, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror(i32 noundef %4190, ptr noundef nonnull @.str.4) #11
  %4192 = load i32, ptr %2261, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror_debug(i32 noundef %4192, ptr noundef nonnull @.str.4) #11
  %4194 = load i32, ptr %2315, align 4, !tbaa !5
  %4195 = call ptr @strerror(i32 noundef %4194) #11
  %4196 = load i32, ptr %2315, align 4, !tbaa !5
  %4197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4188, ptr noundef nonnull %.str.5.sink2037, i32 noundef %4189, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %4191, ptr noundef %4193, ptr noundef %4195, i32 noundef %4196) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4198:                                             ; preds = %4166
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %49, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, i8 0, i64 40, i1 false)
  %4199 = add nsw i32 %4174, 2
  store i32 %4199, ptr @test_count, align 4, !tbaa !5
  %4200 = getelementptr inbounds i8, ptr %4168, i64 920
  %4201 = call i32 @s2n_blob_init(ptr noundef nonnull %49, ptr noundef nonnull %4200, i32 noundef 8) #11
  %4202 = icmp eq i32 %4201, -1
  br i1 %4202, label %4203, label %4225

4203:                                             ; preds = %4198
  %4204 = load i32, ptr %2315, align 4, !tbaa !5
  %4205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4206 = call i32 @s2n_print_stacktrace(ptr noundef %4205) #11
  %4207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4208 = trunc nuw i8 %4207 to i1
  br i1 %4208, label %4209, label %4213

4209:                                             ; preds = %4203
  %4210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4211 = call i32 @fileno(ptr noundef %4210) #11
  %4212 = call i32 @isatty(i32 noundef %4211) #11
  %.not535 = icmp eq i32 %4212, 0
  br i1 %.not535, label %4213, label %4214

4213:                                             ; preds = %4209, %4203
  br label %4214

4214:                                             ; preds = %4209, %4213
  %.str.5.sink2046 = phi ptr [ @.str.5, %4213 ], [ @.str.2, %4209 ]
  store i32 %4204, ptr %2315, align 4, !tbaa !5
  %4215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4216 = load i32, ptr @test_count, align 4, !tbaa !5
  %4217 = load i32, ptr %2261, align 4, !tbaa !5
  %4218 = call ptr @s2n_strerror(i32 noundef %4217, ptr noundef nonnull @.str.4) #11
  %4219 = load i32, ptr %2261, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror_debug(i32 noundef %4219, ptr noundef nonnull @.str.4) #11
  %4221 = load i32, ptr %2315, align 4, !tbaa !5
  %4222 = call ptr @strerror(i32 noundef %4221) #11
  %4223 = load i32, ptr %2315, align 4, !tbaa !5
  %4224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4215, ptr noundef nonnull %.str.5.sink2046, i32 noundef %4216, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %4218, ptr noundef %4220, ptr noundef %4222, i32 noundef %4223) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4225:                                             ; preds = %4198
  %4226 = load i32, ptr @test_count, align 4, !tbaa !5
  %4227 = add nsw i32 %4226, 1
  store i32 %4227, ptr @test_count, align 4, !tbaa !5
  %4228 = call i32 @s2n_stuffer_init(ptr noundef nonnull %50, ptr noundef nonnull %49) #11
  %4229 = icmp eq i32 %4228, -1
  br i1 %4229, label %4230, label %4252

4230:                                             ; preds = %4225
  %4231 = load i32, ptr %2315, align 4, !tbaa !5
  %4232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4233 = call i32 @s2n_print_stacktrace(ptr noundef %4232) #11
  %4234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4235 = trunc nuw i8 %4234 to i1
  br i1 %4235, label %4236, label %4240

4236:                                             ; preds = %4230
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = call i32 @fileno(ptr noundef %4237) #11
  %4239 = call i32 @isatty(i32 noundef %4238) #11
  %.not534 = icmp eq i32 %4239, 0
  br i1 %.not534, label %4240, label %4241

4240:                                             ; preds = %4236, %4230
  br label %4241

4241:                                             ; preds = %4236, %4240
  %.str.5.sink2055 = phi ptr [ @.str.5, %4240 ], [ @.str.2, %4236 ]
  store i32 %4231, ptr %2315, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = load i32, ptr @test_count, align 4, !tbaa !5
  %4244 = load i32, ptr %2261, align 4, !tbaa !5
  %4245 = call ptr @s2n_strerror(i32 noundef %4244, ptr noundef nonnull @.str.4) #11
  %4246 = load i32, ptr %2261, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror_debug(i32 noundef %4246, ptr noundef nonnull @.str.4) #11
  %4248 = load i32, ptr %2315, align 4, !tbaa !5
  %4249 = call ptr @strerror(i32 noundef %4248) #11
  %4250 = load i32, ptr %2315, align 4, !tbaa !5
  %4251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4242, ptr noundef nonnull %.str.5.sink2055, i32 noundef %4243, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %4245, ptr noundef %4247, ptr noundef %4249, i32 noundef %4250) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4252:                                             ; preds = %4225
  %4253 = add i64 %4173, -1
  %4254 = load i32, ptr @test_count, align 4, !tbaa !5
  %4255 = add nsw i32 %4254, 1
  store i32 %4255, ptr @test_count, align 4, !tbaa !5
  %4256 = call i32 @s2n_stuffer_write_uint64(ptr noundef nonnull %50, i64 noundef %4253) #11
  %4257 = icmp eq i32 %4256, -1
  br i1 %4257, label %4258, label %4280

4258:                                             ; preds = %4252
  %4259 = load i32, ptr %2315, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = call i32 @s2n_print_stacktrace(ptr noundef %4260) #11
  %4262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4263 = trunc nuw i8 %4262 to i1
  br i1 %4263, label %4264, label %4268

4264:                                             ; preds = %4258
  %4265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4266 = call i32 @fileno(ptr noundef %4265) #11
  %4267 = call i32 @isatty(i32 noundef %4266) #11
  %.not533 = icmp eq i32 %4267, 0
  br i1 %.not533, label %4268, label %4269

4268:                                             ; preds = %4264, %4258
  br label %4269

4269:                                             ; preds = %4264, %4268
  %.str.5.sink2064 = phi ptr [ @.str.5, %4268 ], [ @.str.2, %4264 ]
  store i32 %4259, ptr %2315, align 4, !tbaa !5
  %4270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4271 = load i32, ptr @test_count, align 4, !tbaa !5
  %4272 = load i32, ptr %2261, align 4, !tbaa !5
  %4273 = call ptr @s2n_strerror(i32 noundef %4272, ptr noundef nonnull @.str.4) #11
  %4274 = load i32, ptr %2261, align 4, !tbaa !5
  %4275 = call ptr @s2n_strerror_debug(i32 noundef %4274, ptr noundef nonnull @.str.4) #11
  %4276 = load i32, ptr %2315, align 4, !tbaa !5
  %4277 = call ptr @strerror(i32 noundef %4276) #11
  %4278 = load i32, ptr %2315, align 4, !tbaa !5
  %4279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4270, ptr noundef nonnull %.str.5.sink2064, i32 noundef %4271, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %4273, ptr noundef %4275, ptr noundef %4277, i32 noundef %4278) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4280:                                             ; preds = %4252
  %4281 = load i32, ptr @test_count, align 4, !tbaa !5
  %4282 = add nsw i32 %4281, 1
  store i32 %4282, ptr @test_count, align 4, !tbaa !5
  %4283 = call i32 @s2n_check_record_limit(ptr noundef nonnull %3897, ptr noundef nonnull %49) #11
  %4284 = icmp eq i32 %4283, -1
  br i1 %4284, label %4285, label %4307

4285:                                             ; preds = %4280
  %4286 = load i32, ptr %2315, align 4, !tbaa !5
  %4287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4288 = call i32 @s2n_print_stacktrace(ptr noundef %4287) #11
  %4289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4290 = trunc nuw i8 %4289 to i1
  br i1 %4290, label %4291, label %4295

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

4295:                                             ; preds = %4291, %4285
  br label %4296

4296:                                             ; preds = %4291, %4295
  %.str.5.sink2073 = phi ptr [ @.str.5, %4295 ], [ @.str.2, %4291 ]
  store i32 %4286, ptr %2315, align 4, !tbaa !5
  %4297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4298 = load i32, ptr @test_count, align 4, !tbaa !5
  %4299 = load i32, ptr %2261, align 4, !tbaa !5
  %4300 = call ptr @s2n_strerror(i32 noundef %4299, ptr noundef nonnull @.str.4) #11
  %4301 = load i32, ptr %2261, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror_debug(i32 noundef %4301, ptr noundef nonnull @.str.4) #11
  %4303 = load i32, ptr %2315, align 4, !tbaa !5
  %4304 = call ptr @strerror(i32 noundef %4303) #11
  %4305 = load i32, ptr %2315, align 4, !tbaa !5
  %4306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4297, ptr noundef nonnull %.str.5.sink2073, i32 noundef %4298, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %4300, ptr noundef %4302, ptr noundef %4304, i32 noundef %4305) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4307:                                             ; preds = %4280
  %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 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4031) #11
  br i1 %4310, label %4311, label %.preheader

4311:                                             ; preds = %4307
  %4312 = load i32, ptr %2315, align 4, !tbaa !5
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = call i32 @s2n_print_stacktrace(ptr noundef %4313) #11
  %4315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4316 = trunc nuw i8 %4315 to i1
  br i1 %4316, label %4317, label %4321

4317:                                             ; preds = %4311
  %4318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4319 = call i32 @fileno(ptr noundef %4318) #11
  %4320 = call i32 @isatty(i32 noundef %4319) #11
  %.not531 = icmp eq i32 %4320, 0
  br i1 %.not531, label %4321, label %4322

4321:                                             ; preds = %4317, %4311
  br label %4322

4322:                                             ; preds = %4317, %4321
  %.str.5.sink2082 = phi ptr [ @.str.5, %4321 ], [ @.str.2, %4317 ]
  store i32 %4312, ptr %2315, align 4, !tbaa !5
  %4323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4324 = load i32, ptr @test_count, align 4, !tbaa !5
  %4325 = load i32, ptr %2261, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror(i32 noundef %4325, ptr noundef nonnull @.str.4) #11
  %4327 = load i32, ptr %2261, align 4, !tbaa !5
  %4328 = call ptr @s2n_strerror_debug(i32 noundef %4327, ptr noundef nonnull @.str.4) #11
  %4329 = load i32, ptr %2315, align 4, !tbaa !5
  %4330 = call ptr @strerror(i32 noundef %4329) #11
  %4331 = load i32, ptr %2315, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4323, ptr noundef nonnull %.str.5.sink2082, i32 noundef %4324, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %4326, ptr noundef %4328, ptr noundef %4330, i32 noundef %4331) #13
  call void @exit(i32 noundef 1) #14
  unreachable

.preheader:                                       ; preds = %4307, %4392
  %.0435611 = phi i64 [ %.1, %4392 ], [ 0, %4307 ]
  %4333 = getelementptr inbounds i8, ptr %4, i64 %.0435611
  %4334 = sub nuw nsw i64 16394, %.0435611
  %4335 = call i64 @s2n_send(ptr noundef nonnull %3897, ptr noundef nonnull %4333, i64 noundef %4334, ptr noundef nonnull %44) #11
  %4336 = icmp sgt i64 %4335, -1
  br i1 %4336, label %4337, label %4339

4337:                                             ; preds = %.preheader
  %4338 = add nuw i64 %4335, %.0435611
  br label %4392

4339:                                             ; preds = %.preheader
  %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 = load i32, ptr %2261, align 4, !tbaa !5
  %4343 = icmp eq i32 %4342, 201326592
  br i1 %4343, label %4366, label %4344

4344:                                             ; preds = %4339
  %4345 = load i32, ptr %2315, align 4, !tbaa !5
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @s2n_print_stacktrace(ptr noundef %4346) #11
  %4348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4349 = trunc nuw i8 %4348 to i1
  br i1 %4349, label %4350, label %4354

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

4354:                                             ; preds = %4350, %4344
  br label %4355

4355:                                             ; preds = %4350, %4354
  %.str.5.sink2091 = phi ptr [ @.str.5, %4354 ], [ @.str.2, %4350 ]
  store i32 %4345, ptr %2315, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = load i32, ptr %2261, align 4, !tbaa !5
  %4359 = call ptr @s2n_strerror(i32 noundef %4358, ptr noundef nonnull @.str.4) #11
  %4360 = load i32, ptr %2261, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4360, ptr noundef nonnull @.str.4) #11
  %4362 = load i32, ptr %2315, align 4, !tbaa !5
  %4363 = call ptr @strerror(i32 noundef %4362) #11
  %4364 = load i32, ptr %2315, align 4, !tbaa !5
  %4365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef nonnull %.str.5.sink2091, i32 noundef %4357, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 563, ptr noundef %4359, ptr noundef %4361, ptr noundef %4363, i32 noundef %4364) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4366:                                             ; preds = %4339
  %4367 = add nsw i32 %4340, 2
  store i32 %4367, ptr @test_count, align 4, !tbaa !5
  %4368 = load i32, ptr %44, align 4, !tbaa !5
  %4369 = icmp eq i32 %4368, 2
  br i1 %4369, label %4392, label %4370

4370:                                             ; preds = %4366
  %4371 = load i32, ptr %2315, align 4, !tbaa !5
  %4372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4373 = call i32 @s2n_print_stacktrace(ptr noundef %4372) #11
  %4374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4375 = trunc nuw i8 %4374 to i1
  br i1 %4375, label %4376, label %4380

4376:                                             ; preds = %4370
  %4377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4378 = call i32 @fileno(ptr noundef %4377) #11
  %4379 = call i32 @isatty(i32 noundef %4378) #11
  %.not530 = icmp eq i32 %4379, 0
  br i1 %.not530, label %4380, label %4381

4380:                                             ; preds = %4376, %4370
  br label %4381

4381:                                             ; preds = %4376, %4380
  %.str.5.sink2100 = phi ptr [ @.str.5, %4380 ], [ @.str.2, %4376 ]
  store i32 %4371, ptr %2315, align 4, !tbaa !5
  %4382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4383 = load i32, ptr @test_count, align 4, !tbaa !5
  %4384 = load i32, ptr %2261, align 4, !tbaa !5
  %4385 = call ptr @s2n_strerror(i32 noundef %4384, ptr noundef nonnull @.str.4) #11
  %4386 = load i32, ptr %2261, align 4, !tbaa !5
  %4387 = call ptr @s2n_strerror_debug(i32 noundef %4386, ptr noundef nonnull @.str.4) #11
  %4388 = load i32, ptr %2315, align 4, !tbaa !5
  %4389 = call ptr @strerror(i32 noundef %4388) #11
  %4390 = load i32, ptr %2315, align 4, !tbaa !5
  %4391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4382, ptr noundef nonnull %.str.5.sink2100, i32 noundef %4383, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 564, ptr noundef %4385, ptr noundef %4387, ptr noundef %4389, i32 noundef %4390) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4392:                                             ; preds = %4366, %4337
  %.1 = phi i64 [ %4338, %4337 ], [ %.0435611, %4366 ]
  %4393 = icmp ult i64 %.1, 16394
  br i1 %4393, label %.preheader, label %4394, !llvm.loop !68

4394:                                             ; preds = %4392
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #11
  store i64 0, ptr %51, align 8, !tbaa !45
  %4395 = load i32, ptr @test_count, align 4, !tbaa !5
  %4396 = add nsw i32 %4395, 1
  store i32 %4396, ptr @test_count, align 4, !tbaa !5
  %4397 = call i32 @s2n_stuffer_read_uint64(ptr noundef nonnull %50, ptr noundef nonnull %51) #11
  %4398 = icmp eq i32 %4397, -1
  br i1 %4398, label %4399, label %4421

4399:                                             ; preds = %4394
  %4400 = load i32, ptr %2315, align 4, !tbaa !5
  %4401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4402 = call i32 @s2n_print_stacktrace(ptr noundef %4401) #11
  %4403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4404 = trunc nuw i8 %4403 to i1
  br i1 %4404, label %4405, label %4409

4405:                                             ; preds = %4399
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4407 = call i32 @fileno(ptr noundef %4406) #11
  %4408 = call i32 @isatty(i32 noundef %4407) #11
  %.not528 = icmp eq i32 %4408, 0
  br i1 %.not528, label %4409, label %4410

4409:                                             ; preds = %4405, %4399
  br label %4410

4410:                                             ; preds = %4405, %4409
  %.str.5.sink2109 = phi ptr [ @.str.5, %4409 ], [ @.str.2, %4405 ]
  store i32 %4400, ptr %2315, align 4, !tbaa !5
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = load i32, ptr %2261, align 4, !tbaa !5
  %4414 = call ptr @s2n_strerror(i32 noundef %4413, ptr noundef nonnull @.str.4) #11
  %4415 = load i32, ptr %2261, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef nonnull @.str.4) #11
  %4417 = load i32, ptr %2315, align 4, !tbaa !5
  %4418 = call ptr @strerror(i32 noundef %4417) #11
  %4419 = load i32, ptr %2315, align 4, !tbaa !5
  %4420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4411, ptr noundef nonnull %.str.5.sink2109, i32 noundef %4412, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 570, ptr noundef %4414, ptr noundef %4416, ptr noundef %4418, i32 noundef %4419) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4421:                                             ; preds = %4394
  %4422 = load i32, ptr @test_count, align 4, !tbaa !5
  %4423 = add nsw i32 %4422, 1
  store i32 %4423, ptr @test_count, align 4, !tbaa !5
  %4424 = load i64, ptr %51, align 8, !tbaa !45
  %4425 = icmp ult i64 %4424, %4253
  br i1 %4425, label %4448, label %4426

4426:                                             ; preds = %4421
  %4427 = load i32, ptr %2315, align 4, !tbaa !5
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4429 = call i32 @s2n_print_stacktrace(ptr noundef %4428) #11
  %4430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4431 = trunc nuw i8 %4430 to i1
  br i1 %4431, label %4432, label %4436

4432:                                             ; preds = %4426
  %4433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4434 = call i32 @fileno(ptr noundef %4433) #11
  %4435 = call i32 @isatty(i32 noundef %4434) #11
  %.not519 = icmp eq i32 %4435, 0
  br i1 %.not519, label %4436, label %4437

4436:                                             ; preds = %4432, %4426
  br label %4437

4437:                                             ; preds = %4432, %4436
  %.str.5.sink2118 = phi ptr [ @.str.5, %4436 ], [ @.str.2, %4432 ]
  store i32 %4427, ptr %2315, align 4, !tbaa !5
  %4438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4439 = load i32, ptr @test_count, align 4, !tbaa !5
  %4440 = load i32, ptr %2261, align 4, !tbaa !5
  %4441 = call ptr @s2n_strerror(i32 noundef %4440, ptr noundef nonnull @.str.4) #11
  %4442 = load i32, ptr %2261, align 4, !tbaa !5
  %4443 = call ptr @s2n_strerror_debug(i32 noundef %4442, ptr noundef nonnull @.str.4) #11
  %4444 = load i32, ptr %2315, align 4, !tbaa !5
  %4445 = call ptr @strerror(i32 noundef %4444) #11
  %4446 = load i32, ptr %2315, align 4, !tbaa !5
  %4447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4438, ptr noundef nonnull %.str.5.sink2118, i32 noundef %4439, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4441, ptr noundef %4443, ptr noundef %4445, i32 noundef %4446) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4448:                                             ; preds = %4421
  %4449 = add nsw i32 %4422, 2
  store i32 %4449, ptr @test_count, align 4, !tbaa !5
  %4450 = load i64, ptr %48, align 8, !tbaa !46
  %4451 = icmp eq i64 %4450, 9
  br i1 %4451, label %4474, label %4452

4452:                                             ; preds = %4448
  %4453 = load i32, ptr %2315, align 4, !tbaa !5
  %4454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4455 = call i32 @s2n_print_stacktrace(ptr noundef %4454) #11
  %4456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4457 = trunc nuw i8 %4456 to i1
  br i1 %4457, label %4458, label %4462

4458:                                             ; preds = %4452
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @fileno(ptr noundef %4459) #11
  %4461 = call i32 @isatty(i32 noundef %4460) #11
  %.not520 = icmp eq i32 %4461, 0
  br i1 %.not520, label %4462, label %4463

4462:                                             ; preds = %4458, %4452
  br label %4463

4463:                                             ; preds = %4458, %4462
  %.str.5.sink2127 = phi ptr [ @.str.5, %4462 ], [ @.str.2, %4458 ]
  store i32 %4453, ptr %2315, align 4, !tbaa !5
  %4464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4465 = load i32, ptr @test_count, align 4, !tbaa !5
  %4466 = load i32, ptr %2261, align 4, !tbaa !5
  %4467 = call ptr @s2n_strerror(i32 noundef %4466, ptr noundef nonnull @.str.4) #11
  %4468 = load i32, ptr %2261, align 4, !tbaa !5
  %4469 = call ptr @s2n_strerror_debug(i32 noundef %4468, ptr noundef nonnull @.str.4) #11
  %4470 = load i32, ptr %2315, align 4, !tbaa !5
  %4471 = call ptr @strerror(i32 noundef %4470) #11
  %4472 = load i32, ptr %2315, align 4, !tbaa !5
  %4473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4464, ptr noundef nonnull %.str.5.sink2127, i32 noundef %4465, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 575, ptr noundef %4467, ptr noundef %4469, ptr noundef %4471, i32 noundef %4472) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4474:                                             ; preds = %4448
  %4475 = add nsw i32 %4422, 3
  store i32 %4475, ptr @test_count, align 4, !tbaa !5
  %4476 = load i64, ptr %4138, align 8, !tbaa !48
  %4477 = add i64 %4085, %1975
  %4478 = icmp eq i64 %4476, %4477
  br i1 %4478, label %4501, label %4479

4479:                                             ; preds = %4474
  %4480 = load i32, ptr %2315, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = call i32 @s2n_print_stacktrace(ptr noundef %4481) #11
  %4483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4484 = trunc nuw i8 %4483 to i1
  br i1 %4484, label %4485, label %4489

4485:                                             ; preds = %4479
  %4486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4487 = call i32 @fileno(ptr noundef %4486) #11
  %4488 = call i32 @isatty(i32 noundef %4487) #11
  %.not521 = icmp eq i32 %4488, 0
  br i1 %.not521, label %4489, label %4490

4489:                                             ; preds = %4485, %4479
  br label %4490

4490:                                             ; preds = %4485, %4489
  %.str.5.sink2136 = phi ptr [ @.str.5, %4489 ], [ @.str.2, %4485 ]
  store i32 %4480, ptr %2315, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = load i32, ptr %2261, align 4, !tbaa !5
  %4494 = call ptr @s2n_strerror(i32 noundef %4493, ptr noundef nonnull @.str.4) #11
  %4495 = load i32, ptr %2261, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef nonnull @.str.4) #11
  %4497 = load i32, ptr %2315, align 4, !tbaa !5
  %4498 = call ptr @strerror(i32 noundef %4497) #11
  %4499 = load i32, ptr %2315, align 4, !tbaa !5
  %4500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4491, ptr noundef nonnull %.str.5.sink2136, i32 noundef %4492, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %4494, ptr noundef %4496, ptr noundef %4498, i32 noundef %4499) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4501:                                             ; preds = %4474
  %4502 = add nsw i32 %4422, 4
  store i32 %4502, ptr @test_count, align 4, !tbaa !5
  %4503 = getelementptr inbounds i8, ptr %3897, i64 1904
  %4504 = load i32, ptr %4503, align 8, !tbaa !50
  %4505 = icmp eq i32 %4504, 20000
  br i1 %4505, label %4528, label %4506

4506:                                             ; preds = %4501
  %4507 = load i32, ptr %2315, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = call i32 @s2n_print_stacktrace(ptr noundef %4508) #11
  %4510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4511 = trunc nuw i8 %4510 to i1
  br i1 %4511, label %4512, label %4516

4512:                                             ; preds = %4506
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = call i32 @fileno(ptr noundef %4513) #11
  %4515 = call i32 @isatty(i32 noundef %4514) #11
  %.not522 = icmp eq i32 %4515, 0
  br i1 %.not522, label %4516, label %4517

4516:                                             ; preds = %4512, %4506
  br label %4517

4517:                                             ; preds = %4512, %4516
  %.str.5.sink2145 = phi ptr [ @.str.5, %4516 ], [ @.str.2, %4512 ]
  store i32 %4507, ptr %2315, align 4, !tbaa !5
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = load i32, ptr %2261, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror(i32 noundef %4520, ptr noundef nonnull @.str.4) #11
  %4522 = load i32, ptr %2261, align 4, !tbaa !5
  %4523 = call ptr @s2n_strerror_debug(i32 noundef %4522, ptr noundef nonnull @.str.4) #11
  %4524 = load i32, ptr %2315, align 4, !tbaa !5
  %4525 = call ptr @strerror(i32 noundef %4524) #11
  %4526 = load i32, ptr %2315, align 4, !tbaa !5
  %4527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4518, ptr noundef nonnull %.str.5.sink2145, i32 noundef %4519, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %4521, ptr noundef %4523, ptr noundef %4525, i32 noundef %4526) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4528:                                             ; preds = %4501
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 108, ptr nonnull %47) #11
  %4529 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %45) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #11
  %4530 = call i32 @s2n_cleanup() #11
  %4531 = icmp eq i32 %4530, -1
  br i1 %4531, label %4532, label %4554

4532:                                             ; preds = %4528
  %4533 = load i32, ptr %2315, align 4, !tbaa !5
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = call i32 @s2n_print_stacktrace(ptr noundef %4534) #11
  %4536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4537 = trunc nuw i8 %4536 to i1
  br i1 %4537, label %4538, label %4542

4538:                                             ; preds = %4532
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = call i32 @fileno(ptr noundef %4539) #11
  %4541 = call i32 @isatty(i32 noundef %4540) #11
  %.not527 = icmp eq i32 %4541, 0
  br i1 %.not527, label %4542, label %4543

4542:                                             ; preds = %4538, %4532
  br label %4543

4543:                                             ; preds = %4538, %4542
  %.str.5.sink2154 = phi ptr [ @.str.5, %4542 ], [ @.str.2, %4538 ]
  store i32 %4533, ptr %2315, align 4, !tbaa !5
  %4544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4545 = load i32, ptr @test_count, align 4, !tbaa !5
  %4546 = load i32, ptr %2261, align 4, !tbaa !5
  %4547 = call ptr @s2n_strerror(i32 noundef %4546, ptr noundef nonnull @.str.4) #11
  %4548 = load i32, ptr %2261, align 4, !tbaa !5
  %4549 = call ptr @s2n_strerror_debug(i32 noundef %4548, ptr noundef nonnull @.str.4) #11
  %4550 = load i32, ptr %2315, align 4, !tbaa !5
  %4551 = call ptr @strerror(i32 noundef %4550) #11
  %4552 = load i32, ptr %2315, align 4, !tbaa !5
  %4553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4544, ptr noundef nonnull %.str.5.sink2154, i32 noundef %4545, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %4547, ptr noundef %4549, ptr noundef %4551, i32 noundef %4552) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4554:                                             ; preds = %4528
  %4555 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %4556 = icmp eq i32 %4555, -1
  br i1 %4556, label %4557, label %4579

4557:                                             ; preds = %4554
  %4558 = load i32, ptr %2315, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @s2n_print_stacktrace(ptr noundef %4559) #11
  %4561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4562 = trunc nuw i8 %4561 to i1
  br i1 %4562, label %4563, label %4567

4563:                                             ; preds = %4557
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @fileno(ptr noundef %4564) #11
  %4566 = call i32 @isatty(i32 noundef %4565) #11
  %.not526 = icmp eq i32 %4566, 0
  br i1 %.not526, label %4567, label %4568

4567:                                             ; preds = %4563, %4557
  br label %4568

4568:                                             ; preds = %4563, %4567
  %.str.5.sink2163 = phi ptr [ @.str.5, %4567 ], [ @.str.2, %4563 ]
  store i32 %4558, ptr %2315, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = load i32, ptr %2261, align 4, !tbaa !5
  %4572 = call ptr @s2n_strerror(i32 noundef %4571, ptr noundef nonnull @.str.4) #11
  %4573 = load i32, ptr %2261, align 4, !tbaa !5
  %4574 = call ptr @s2n_strerror_debug(i32 noundef %4573, ptr noundef nonnull @.str.4) #11
  %4575 = load i32, ptr %2315, align 4, !tbaa !5
  %4576 = call ptr @strerror(i32 noundef %4575) #11
  %4577 = load i32, ptr %2315, align 4, !tbaa !5
  %4578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4569, ptr noundef nonnull %.str.5.sink2163, i32 noundef %4570, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %4572, ptr noundef %4574, ptr noundef %4576, i32 noundef %4577) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4579:                                             ; preds = %4554
  %4580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4581 = trunc nuw i8 %4580 to i1
  br i1 %4581, label %4582, label %4593

4582:                                             ; preds = %4579
  %4583 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4584 = call i32 @fileno(ptr noundef %4583) #11
  %4585 = call i32 @isatty(i32 noundef %4584) #11
  %.not523 = icmp eq i32 %4585, 0
  br i1 %.not523, label %4593, label %4586

4586:                                             ; preds = %4582
  %4587 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not525 = icmp eq i32 %4587, 0
  %4588 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not525, label %4591, label %4589

4589:                                             ; preds = %4586
  %4590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef nonnull @.str.72, i32 noundef %4587) #11
  br label %4600

4591:                                             ; preds = %4586
  %4592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef nonnull @.str.73) #11
  br label %4600

4593:                                             ; preds = %4582, %4579
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not524 = icmp eq i32 %4594, 0
  %4595 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not524, label %4598, label %4596

4596:                                             ; preds = %4593
  %4597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4595, ptr noundef nonnull @.str.74, i32 noundef %4594) #11
  br label %4600

4598:                                             ; preds = %4593
  %4599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4595, ptr noundef nonnull @.str.75) #11
  br label %4600

4600:                                             ; preds = %4596, %4598, %4589, %4591
  %4601 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  %4602 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 600, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 16394, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) #11
  ret i32 0
}

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

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

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

; Function Attrs: mustprogress 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) #8

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

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

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

declare i32 @s2n_get_public_random_data(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_should_flush(ptr noundef, i64 noundef) local_unnamed_addr #2

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

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

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

declare i32 @s2n_connection_set_secrets(ptr noundef) local_unnamed_addr #2

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

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

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

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare void @s2n_atomic_flag_set(ptr noundef) local_unnamed_addr #2

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

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_stuffer_write_uint64(ptr noundef, i64 noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_queue_reader_no_renegotiation_alert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

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

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass