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

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

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

@s2n_use_color_in_output = external dso_local global i8, align 1
@mock_block_cipher_suite = external dso_local global %struct.s2n_cipher_suite, align 8
@mock_null_sha1_record_alg = external dso_local global %struct.s2n_record_algorithm, align 8
@__const.main.mac_key = external hidden unnamed_addr constant [15 x i8], align 1
@test_count = external dso_local global i32, align 4
@stderr = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [74 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 [80 x i8], align 1
@stdout = external global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_null_cipher_suite = external global %struct.s2n_cipher_suite, align 8
@.str.16 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.max_num_records = external hidden unnamed_addr constant [8 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.header_bytes = external hidden unnamed_addr constant [5 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.header = external hidden unnamed_addr constant [5 x i8], align 1
@__const.main.altered_header = external hidden unnamed_addr constant [5 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [25 x i8], align 1

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

256:                                              ; preds = %2
  %257 = load i32, ptr @test_count, align 4, !tbaa !5
  %258 = add nsw i32 %257, 1
  store i32 %258, ptr @test_count, align 4, !tbaa !5
  %259 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %260 = call i32 @s2n_blob_init(ptr noundef %8, ptr noundef %259, i32 noundef 15)
  %261 = icmp eq i32 %260, -1
  br i1 %261, label %262, label %315

262:                                              ; preds = %256
  br label %263

263:                                              ; preds = %262
  br label %264

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

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
  %275 = icmp ne i32 %274, 0
  br i1 %275, label %276, label %293

276:                                              ; preds = %271
  %277 = load i32, ptr %9, align 4, !tbaa !5
  %278 = call ptr @__errno_location() #12
  store i32 %277, ptr %278, align 4, !tbaa !5
  %279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %280 = load i32, ptr @test_count, align 4, !tbaa !5
  %281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = call ptr @s2n_strerror(i32 noundef %282, ptr noundef @.str.4)
  %284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %285 = load i32, ptr %284, align 4, !tbaa !5
  %286 = call ptr @s2n_strerror_debug(i32 noundef %285, ptr noundef @.str.4)
  %287 = call ptr @__errno_location() #12
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = call ptr @strerror(i32 noundef %288) #11
  %290 = call ptr @__errno_location() #12
  %291 = load i32, ptr %290, align 4, !tbaa !5
  %292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %279, ptr noundef @.str.1, i32 noundef %280, ptr noundef @.str.2, ptr noundef @.str.3, i32 noundef 74, ptr noundef %283, ptr noundef %286, ptr noundef %289, i32 noundef %291) #11
  br label %310

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

310:                                              ; preds = %293, %276
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #11
  br label %311

311:                                              ; preds = %310
  br label %312

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

313:                                              ; No predecessors!
  br label %314

314:                                              ; preds = %313
  br label %315

315:                                              ; preds = %314, %256
  br label %316

316:                                              ; preds = %315
  br label %317

317:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 432, ptr %10) #11
  call void @llvm.lifetime.start.p0(i64 8088, ptr %11) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #11
  call void @llvm.memset.p0.i64(ptr align 8 %12, i8 0, i64 24, i1 false)
  br label %318

318:                                              ; preds = %317
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr @test_count, align 4, !tbaa !5
  %321 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %322 = call i32 @s2n_blob_init(ptr noundef %12, ptr noundef %321, i32 noundef 8088)
  %323 = icmp eq i32 %322, -1
  br i1 %323, label %324, label %377

324:                                              ; preds = %318
  br label %325

325:                                              ; preds = %324
  br label %326

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

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

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

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

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

373:                                              ; preds = %372
  br label %374

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

375:                                              ; No predecessors!
  br label %376

376:                                              ; preds = %375
  br label %377

377:                                              ; preds = %376, %318
  br label %378

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378
  br label %380

380:                                              ; preds = %379
  br label %381

381:                                              ; preds = %380
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %382 = load ptr, ptr @stdout, align 8, !tbaa !9
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %382, ptr noundef @.str.7, ptr noundef @.str.3) #11
  %384 = load ptr, ptr @stdout, align 8, !tbaa !9
  %385 = call i32 @fflush(ptr noundef %384)
  br label %386

386:                                              ; preds = %381
  %387 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %388 = icmp eq i32 %387, -1
  br i1 %388, label %389, label %442

389:                                              ; preds = %386
  br label %390

390:                                              ; preds = %389
  br label %391

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

398:                                              ; preds = %391
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 @fileno(ptr noundef %399) #11
  %401 = call i32 @isatty(i32 noundef %400) #11
  %402 = icmp ne i32 %401, 0
  br i1 %402, label %403, label %420

403:                                              ; preds = %398
  %404 = load i32, ptr %14, align 4, !tbaa !5
  %405 = call ptr @__errno_location() #12
  store i32 %404, ptr %405, align 4, !tbaa !5
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = load i32, ptr @test_count, align 4, !tbaa !5
  %408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %409 = load i32, ptr %408, align 4, !tbaa !5
  %410 = call ptr @s2n_strerror(i32 noundef %409, ptr noundef @.str.4)
  %411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = call ptr @s2n_strerror_debug(i32 noundef %412, ptr noundef @.str.4)
  %414 = call ptr @__errno_location() #12
  %415 = load i32, ptr %414, align 4, !tbaa !5
  %416 = call ptr @strerror(i32 noundef %415) #11
  %417 = call ptr @__errno_location() #12
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %406, ptr noundef @.str.1, i32 noundef %407, ptr noundef @.str.8, ptr noundef @.str.3, i32 noundef 80, ptr noundef %410, ptr noundef %413, ptr noundef %416, i32 noundef %418) #11
  br label %437

420:                                              ; preds = %398, %391
  %421 = load i32, ptr %14, align 4, !tbaa !5
  %422 = call ptr @__errno_location() #12
  store i32 %421, ptr %422, align 4, !tbaa !5
  %423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %424 = load i32, ptr @test_count, align 4, !tbaa !5
  %425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = call ptr @s2n_strerror(i32 noundef %426, ptr noundef @.str.4)
  %428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = call ptr @s2n_strerror_debug(i32 noundef %429, ptr noundef @.str.4)
  %431 = call ptr @__errno_location() #12
  %432 = load i32, ptr %431, align 4, !tbaa !5
  %433 = call ptr @strerror(i32 noundef %432) #11
  %434 = call ptr @__errno_location() #12
  %435 = load i32, ptr %434, align 4, !tbaa !5
  %436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %423, ptr noundef @.str.5, i32 noundef %424, ptr noundef @.str.8, ptr noundef @.str.3, i32 noundef 80, ptr noundef %427, ptr noundef %430, ptr noundef %433, i32 noundef %435) #11
  br label %437

437:                                              ; preds = %420, %403
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %438

438:                                              ; preds = %437
  br label %439

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

440:                                              ; No predecessors!
  br label %441

441:                                              ; preds = %440
  br label %442

442:                                              ; preds = %441, %386
  br label %443

443:                                              ; preds = %442
  br label %444

444:                                              ; preds = %443
  br label %445

445:                                              ; preds = %444
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = add nsw i32 %446, 1
  store i32 %447, ptr @test_count, align 4, !tbaa !5
  %448 = call i32 @s2n_enable_atexit()
  %449 = icmp eq i32 %448, -1
  br i1 %449, label %450, label %503

450:                                              ; preds = %445
  br label %451

451:                                              ; preds = %450
  br label %452

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

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

464:                                              ; preds = %459
  %465 = load i32, ptr %15, align 4, !tbaa !5
  %466 = call ptr @__errno_location() #12
  store i32 %465, ptr %466, align 4, !tbaa !5
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = load i32, ptr @test_count, align 4, !tbaa !5
  %469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror(i32 noundef %470, ptr noundef @.str.4)
  %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_debug(i32 noundef %473, ptr noundef @.str.4)
  %475 = call ptr @__errno_location() #12
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call ptr @strerror(i32 noundef %476) #11
  %478 = call ptr @__errno_location() #12
  %479 = load i32, ptr %478, align 4, !tbaa !5
  %480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %467, ptr noundef @.str.1, i32 noundef %468, ptr noundef @.str.9, ptr noundef @.str.3, i32 noundef 80, ptr noundef %471, ptr noundef %474, ptr noundef %477, i32 noundef %479) #11
  br label %498

481:                                              ; preds = %459, %452
  %482 = load i32, ptr %15, align 4, !tbaa !5
  %483 = call ptr @__errno_location() #12
  store i32 %482, ptr %483, align 4, !tbaa !5
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = load i32, ptr @test_count, align 4, !tbaa !5
  %486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %487 = load i32, ptr %486, align 4, !tbaa !5
  %488 = call ptr @s2n_strerror(i32 noundef %487, ptr noundef @.str.4)
  %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_debug(i32 noundef %490, ptr noundef @.str.4)
  %492 = call ptr @__errno_location() #12
  %493 = load i32, ptr %492, align 4, !tbaa !5
  %494 = call ptr @strerror(i32 noundef %493) #11
  %495 = call ptr @__errno_location() #12
  %496 = load i32, ptr %495, align 4, !tbaa !5
  %497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %484, ptr noundef @.str.5, i32 noundef %485, ptr noundef @.str.9, ptr noundef @.str.3, i32 noundef 80, ptr noundef %488, ptr noundef %491, ptr noundef %494, i32 noundef %496) #11
  br label %498

498:                                              ; preds = %481, %464
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %499

499:                                              ; preds = %498
  br label %500

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

501:                                              ; No predecessors!
  br label %502

502:                                              ; preds = %501
  br label %503

503:                                              ; preds = %502, %445
  br label %504

504:                                              ; preds = %503
  br label %505

505:                                              ; preds = %504
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  br label %508

508:                                              ; preds = %507
  %509 = call i32 @s2n_init()
  %510 = icmp eq i32 %509, -1
  br i1 %510, label %511, label %564

511:                                              ; preds = %508
  br label %512

512:                                              ; preds = %511
  br label %513

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

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

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

542:                                              ; preds = %520, %513
  %543 = load i32, ptr %16, align 4, !tbaa !5
  %544 = call ptr @__errno_location() #12
  store i32 %543, ptr %544, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = call ptr @s2n_strerror(i32 noundef %548, ptr noundef @.str.4)
  %550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %551 = load i32, ptr %550, align 4, !tbaa !5
  %552 = call ptr @s2n_strerror_debug(i32 noundef %551, ptr noundef @.str.4)
  %553 = call ptr @__errno_location() #12
  %554 = load i32, ptr %553, align 4, !tbaa !5
  %555 = call ptr @strerror(i32 noundef %554) #11
  %556 = call ptr @__errno_location() #12
  %557 = load i32, ptr %556, align 4, !tbaa !5
  %558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef @.str.5, i32 noundef %546, ptr noundef @.str.10, ptr noundef @.str.3, i32 noundef 80, ptr noundef %549, ptr noundef %552, ptr noundef %555, i32 noundef %557) #11
  br label %559

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

560:                                              ; preds = %559
  br label %561

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

562:                                              ; No predecessors!
  br label %563

563:                                              ; preds = %562
  br label %564

564:                                              ; preds = %563, %508
  br label %565

565:                                              ; preds = %564
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  br label %568

568:                                              ; preds = %567
  br label %569

569:                                              ; preds = %568
  %570 = load i32, ptr @test_count, align 4, !tbaa !5
  %571 = add nsw i32 %570, 1
  store i32 %571, ptr @test_count, align 4, !tbaa !5
  %572 = call i32 (...) @s2n_disable_tls13_in_test()
  %573 = icmp eq i32 %572, -1
  br i1 %573, label %574, label %627

574:                                              ; preds = %569
  br label %575

575:                                              ; preds = %574
  br label %576

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

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

588:                                              ; preds = %583
  %589 = load i32, ptr %17, align 4, !tbaa !5
  %590 = call ptr @__errno_location() #12
  store i32 %589, ptr %590, align 4, !tbaa !5
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = load i32, ptr @test_count, align 4, !tbaa !5
  %593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %594 = load i32, ptr %593, align 4, !tbaa !5
  %595 = call ptr @s2n_strerror(i32 noundef %594, ptr noundef @.str.4)
  %596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %597 = load i32, ptr %596, align 4, !tbaa !5
  %598 = call ptr @s2n_strerror_debug(i32 noundef %597, ptr noundef @.str.4)
  %599 = call ptr @__errno_location() #12
  %600 = load i32, ptr %599, align 4, !tbaa !5
  %601 = call ptr @strerror(i32 noundef %600) #11
  %602 = call ptr @__errno_location() #12
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %591, ptr noundef @.str.1, i32 noundef %592, ptr noundef @.str.11, ptr noundef @.str.3, i32 noundef 81, ptr noundef %595, ptr noundef %598, ptr noundef %601, i32 noundef %603) #11
  br label %622

605:                                              ; preds = %583, %576
  %606 = load i32, ptr %17, align 4, !tbaa !5
  %607 = call ptr @__errno_location() #12
  store i32 %606, ptr %607, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror(i32 noundef %611, ptr noundef @.str.4)
  %613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call ptr @s2n_strerror_debug(i32 noundef %614, ptr noundef @.str.4)
  %616 = call ptr @__errno_location() #12
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @strerror(i32 noundef %617) #11
  %619 = call ptr @__errno_location() #12
  %620 = load i32, ptr %619, align 4, !tbaa !5
  %621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef @.str.5, i32 noundef %609, ptr noundef @.str.11, ptr noundef @.str.3, i32 noundef 81, ptr noundef %612, ptr noundef %615, ptr noundef %618, i32 noundef %620) #11
  br label %622

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

623:                                              ; preds = %622
  br label %624

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

625:                                              ; No predecessors!
  br label %626

626:                                              ; preds = %625
  br label %627

627:                                              ; preds = %626, %569
  br label %628

628:                                              ; preds = %627
  br label %629

629:                                              ; preds = %628
  br label %630

630:                                              ; preds = %629
  %631 = load i32, ptr @test_count, align 4, !tbaa !5
  %632 = add nsw i32 %631, 1
  store i32 %632, ptr @test_count, align 4, !tbaa !5
  %633 = call i32 @s2n_hmac_new(ptr noundef %10)
  %634 = icmp eq i32 %633, -1
  br i1 %634, label %635, label %688

635:                                              ; preds = %630
  br label %636

636:                                              ; preds = %635
  br label %637

637:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %638 = call ptr @__errno_location() #12
  %639 = load i32, ptr %638, align 4, !tbaa !5
  store i32 %639, ptr %18, align 4, !tbaa !5
  %640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %641 = call i32 @s2n_print_stacktrace(ptr noundef %640)
  %642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %643 = trunc i8 %642 to i1
  br i1 %643, label %644, label %666

644:                                              ; preds = %637
  %645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %646 = call i32 @fileno(ptr noundef %645) #11
  %647 = call i32 @isatty(i32 noundef %646) #11
  %648 = icmp ne i32 %647, 0
  br i1 %648, label %649, label %666

649:                                              ; preds = %644
  %650 = load i32, ptr %18, align 4, !tbaa !5
  %651 = call ptr @__errno_location() #12
  store i32 %650, ptr %651, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = load i32, ptr @test_count, align 4, !tbaa !5
  %654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %655 = load i32, ptr %654, align 4, !tbaa !5
  %656 = call ptr @s2n_strerror(i32 noundef %655, ptr noundef @.str.4)
  %657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %658 = load i32, ptr %657, align 4, !tbaa !5
  %659 = call ptr @s2n_strerror_debug(i32 noundef %658, ptr noundef @.str.4)
  %660 = call ptr @__errno_location() #12
  %661 = load i32, ptr %660, align 4, !tbaa !5
  %662 = call ptr @strerror(i32 noundef %661) #11
  %663 = call ptr @__errno_location() #12
  %664 = load i32, ptr %663, align 4, !tbaa !5
  %665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %652, ptr noundef @.str.1, i32 noundef %653, ptr noundef @.str.12, ptr noundef @.str.3, i32 noundef 83, ptr noundef %656, ptr noundef %659, ptr noundef %662, i32 noundef %664) #11
  br label %683

666:                                              ; preds = %644, %637
  %667 = load i32, ptr %18, align 4, !tbaa !5
  %668 = call ptr @__errno_location() #12
  store i32 %667, ptr %668, align 4, !tbaa !5
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = load i32, ptr @test_count, align 4, !tbaa !5
  %671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call ptr @s2n_strerror(i32 noundef %672, ptr noundef @.str.4)
  %674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = call ptr @s2n_strerror_debug(i32 noundef %675, ptr noundef @.str.4)
  %677 = call ptr @__errno_location() #12
  %678 = load i32, ptr %677, align 4, !tbaa !5
  %679 = call ptr @strerror(i32 noundef %678) #11
  %680 = call ptr @__errno_location() #12
  %681 = load i32, ptr %680, align 4, !tbaa !5
  %682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %669, ptr noundef @.str.5, i32 noundef %670, ptr noundef @.str.12, ptr noundef @.str.3, i32 noundef 83, ptr noundef %673, ptr noundef %676, ptr noundef %679, i32 noundef %681) #11
  br label %683

683:                                              ; preds = %666, %649
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %684

684:                                              ; preds = %683
  br label %685

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

686:                                              ; No predecessors!
  br label %687

687:                                              ; preds = %686
  br label %688

688:                                              ; preds = %687, %630
  br label %689

689:                                              ; preds = %688
  br label %690

690:                                              ; preds = %689
  br label %691

691:                                              ; preds = %690
  %692 = load i32, ptr @test_count, align 4, !tbaa !5
  %693 = add nsw i32 %692, 1
  store i32 %693, ptr @test_count, align 4, !tbaa !5
  %694 = getelementptr inbounds %struct.s2n_blob, ptr %8, i32 0, i32 0
  %695 = load ptr, ptr %694, align 8, !tbaa !15
  %696 = getelementptr inbounds %struct.s2n_blob, ptr %8, i32 0, i32 1
  %697 = load i32, ptr %696, align 8, !tbaa !17
  %698 = call i32 @s2n_hmac_init(ptr noundef %10, i32 noundef 2, ptr noundef %695, i32 noundef %697)
  %699 = icmp eq i32 %698, -1
  br i1 %699, label %700, label %753

700:                                              ; preds = %691
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %703 = call ptr @__errno_location() #12
  %704 = load i32, ptr %703, align 4, !tbaa !5
  store i32 %704, ptr %19, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = call i32 @s2n_print_stacktrace(ptr noundef %705)
  %707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %708 = trunc i8 %707 to i1
  br i1 %708, label %709, label %731

709:                                              ; preds = %702
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = call i32 @fileno(ptr noundef %710) #11
  %712 = call i32 @isatty(i32 noundef %711) #11
  %713 = icmp ne i32 %712, 0
  br i1 %713, label %714, label %731

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

731:                                              ; preds = %709, %702
  %732 = load i32, ptr %19, align 4, !tbaa !5
  %733 = call ptr @__errno_location() #12
  store i32 %732, ptr %733, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = load i32, ptr @test_count, align 4, !tbaa !5
  %736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %737 = load i32, ptr %736, align 4, !tbaa !5
  %738 = call ptr @s2n_strerror(i32 noundef %737, ptr noundef @.str.4)
  %739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %740 = load i32, ptr %739, align 4, !tbaa !5
  %741 = call ptr @s2n_strerror_debug(i32 noundef %740, ptr noundef @.str.4)
  %742 = call ptr @__errno_location() #12
  %743 = load i32, ptr %742, align 4, !tbaa !5
  %744 = call ptr @strerror(i32 noundef %743) #11
  %745 = call ptr @__errno_location() #12
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %734, ptr noundef @.str.5, i32 noundef %735, ptr noundef @.str.13, ptr noundef @.str.3, i32 noundef 85, ptr noundef %738, ptr noundef %741, ptr noundef %744, i32 noundef %746) #11
  br label %748

748:                                              ; preds = %731, %714
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %749

749:                                              ; preds = %748
  br label %750

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

751:                                              ; No predecessors!
  br label %752

752:                                              ; preds = %751
  br label %753

753:                                              ; preds = %752, %691
  br label %754

754:                                              ; preds = %753
  br label %755

755:                                              ; preds = %754
  br label %756

756:                                              ; preds = %755
  %757 = load i32, ptr @test_count, align 4, !tbaa !5
  %758 = add nsw i32 %757, 1
  store i32 %758, ptr @test_count, align 4, !tbaa !5
  %759 = call i32 @s2n_get_public_random_data(ptr noundef %12)
  %760 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  store i32 %759, ptr %760, align 4
  %761 = getelementptr inbounds %struct.s2n_result, ptr %20, i32 0, i32 0
  %762 = load i32, ptr %761, align 4
  %763 = call zeroext i1 @s2n_result_is_ok(i32 %762)
  br i1 %763, label %817, label %764

764:                                              ; preds = %756
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %767 = call ptr @__errno_location() #12
  %768 = load i32, ptr %767, align 4, !tbaa !5
  store i32 %768, ptr %21, align 4, !tbaa !5
  %769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %770 = call i32 @s2n_print_stacktrace(ptr noundef %769)
  %771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %772 = trunc i8 %771 to i1
  br i1 %772, label %773, label %795

773:                                              ; preds = %766
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = call i32 @fileno(ptr noundef %774) #11
  %776 = call i32 @isatty(i32 noundef %775) #11
  %777 = icmp ne i32 %776, 0
  br i1 %777, label %778, label %795

778:                                              ; preds = %773
  %779 = load i32, ptr %21, align 4, !tbaa !5
  %780 = call ptr @__errno_location() #12
  store i32 %779, ptr %780, align 4, !tbaa !5
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = load i32, ptr @test_count, align 4, !tbaa !5
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror(i32 noundef %784, ptr noundef @.str.4)
  %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_debug(i32 noundef %787, ptr noundef @.str.4)
  %789 = call ptr @__errno_location() #12
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @strerror(i32 noundef %790) #11
  %792 = call ptr @__errno_location() #12
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %781, ptr noundef @.str.1, i32 noundef %782, ptr noundef @.str.14, ptr noundef @.str.3, i32 noundef 86, ptr noundef %785, ptr noundef %788, ptr noundef %791, i32 noundef %793) #11
  br label %812

795:                                              ; preds = %773, %766
  %796 = load i32, ptr %21, align 4, !tbaa !5
  %797 = call ptr @__errno_location() #12
  store i32 %796, ptr %797, align 4, !tbaa !5
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = load i32, ptr @test_count, align 4, !tbaa !5
  %800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %801 = load i32, ptr %800, align 4, !tbaa !5
  %802 = call ptr @s2n_strerror(i32 noundef %801, ptr noundef @.str.4)
  %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_debug(i32 noundef %804, ptr noundef @.str.4)
  %806 = call ptr @__errno_location() #12
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @strerror(i32 noundef %807) #11
  %809 = call ptr @__errno_location() #12
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %798, ptr noundef @.str.5, i32 noundef %799, ptr noundef @.str.14, ptr noundef @.str.3, i32 noundef 86, ptr noundef %802, ptr noundef %805, ptr noundef %808, i32 noundef %810) #11
  br label %812

812:                                              ; preds = %795, %778
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %813

813:                                              ; preds = %812
  br label %814

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

815:                                              ; No predecessors!
  br label %816

816:                                              ; preds = %815
  br label %817

817:                                              ; preds = %816, %756
  br label %818

818:                                              ; preds = %817
  br label %819

819:                                              ; preds = %818
  br label %820

820:                                              ; preds = %819
  %821 = load i32, ptr @test_count, align 4, !tbaa !5
  %822 = add nsw i32 %821, 1
  store i32 %822, ptr @test_count, align 4, !tbaa !5
  %823 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %823, ptr %6, align 8, !tbaa !9
  %824 = icmp eq ptr %823, null
  br i1 %824, label %825, label %878

825:                                              ; preds = %820
  br label %826

826:                                              ; preds = %825
  br label %827

827:                                              ; preds = %826
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %828 = call ptr @__errno_location() #12
  %829 = load i32, ptr %828, align 4, !tbaa !5
  store i32 %829, ptr %22, align 4, !tbaa !5
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @s2n_print_stacktrace(ptr noundef %830)
  %832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %833 = trunc i8 %832 to i1
  br i1 %833, label %834, label %856

834:                                              ; preds = %827
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = call i32 @fileno(ptr noundef %835) #11
  %837 = call i32 @isatty(i32 noundef %836) #11
  %838 = icmp ne i32 %837, 0
  br i1 %838, label %839, label %856

839:                                              ; preds = %834
  %840 = load i32, ptr %22, align 4, !tbaa !5
  %841 = call ptr @__errno_location() #12
  store i32 %840, ptr %841, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef @.str.4)
  %847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = call ptr @s2n_strerror_debug(i32 noundef %848, ptr noundef @.str.4)
  %850 = call ptr @__errno_location() #12
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @strerror(i32 noundef %851) #11
  %853 = call ptr @__errno_location() #12
  %854 = load i32, ptr %853, align 4, !tbaa !5
  %855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef @.str.1, i32 noundef %843, ptr noundef @.str.15, ptr noundef @.str.3, i32 noundef 87, ptr noundef %846, ptr noundef %849, ptr noundef %852, i32 noundef %854) #11
  br label %873

856:                                              ; preds = %834, %827
  %857 = load i32, ptr %22, align 4, !tbaa !5
  %858 = call ptr @__errno_location() #12
  store i32 %857, ptr %858, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = load i32, ptr @test_count, align 4, !tbaa !5
  %861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call ptr @s2n_strerror(i32 noundef %862, ptr noundef @.str.4)
  %864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %865 = load i32, ptr %864, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror_debug(i32 noundef %865, ptr noundef @.str.4)
  %867 = call ptr @__errno_location() #12
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = call ptr @strerror(i32 noundef %868) #11
  %870 = call ptr @__errno_location() #12
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %859, ptr noundef @.str.5, i32 noundef %860, ptr noundef @.str.15, ptr noundef @.str.3, i32 noundef 87, ptr noundef %863, ptr noundef %866, ptr noundef %869, i32 noundef %871) #11
  br label %873

873:                                              ; preds = %856, %839
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %874

874:                                              ; preds = %873
  br label %875

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

876:                                              ; No predecessors!
  br label %877

877:                                              ; preds = %876
  br label %878

878:                                              ; preds = %877, %820
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879
  %881 = load ptr, ptr %6, align 8, !tbaa !9
  %882 = getelementptr inbounds %struct.s2n_connection, ptr %881, i32 0, i32 26
  %883 = load ptr, ptr %882, align 8, !tbaa !18
  %884 = load ptr, ptr %6, align 8, !tbaa !9
  %885 = getelementptr inbounds %struct.s2n_connection, ptr %884, i32 0, i32 30
  store ptr %883, ptr %885, align 8, !tbaa !44
  %886 = load ptr, ptr %6, align 8, !tbaa !9
  %887 = getelementptr inbounds %struct.s2n_connection, ptr %886, i32 0, i32 26
  %888 = load ptr, ptr %887, align 8, !tbaa !18
  %889 = load ptr, ptr %6, align 8, !tbaa !9
  %890 = getelementptr inbounds %struct.s2n_connection, ptr %889, i32 0, i32 29
  store ptr %888, ptr %890, align 8, !tbaa !45
  %891 = load ptr, ptr %6, align 8, !tbaa !9
  %892 = getelementptr inbounds %struct.s2n_connection, ptr %891, i32 0, i32 26
  %893 = load ptr, ptr %892, align 8, !tbaa !18
  %894 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %893, i32 0, i32 0
  store ptr @s2n_null_cipher_suite, ptr %894, align 8, !tbaa !46
  %895 = load ptr, ptr %6, align 8, !tbaa !9
  %896 = getelementptr inbounds %struct.s2n_connection, ptr %895, i32 0, i32 23
  store i8 32, ptr %896, align 4, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  store i64 0, ptr %23, align 8, !tbaa !52
  br label %897

897:                                              ; preds = %2291, %880
  %898 = load i64, ptr %23, align 8, !tbaa !52
  %899 = icmp ule i64 %898, 8088
  br i1 %899, label %901, label %900

900:                                              ; preds = %897
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  br label %2294

901:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #11
  call void @llvm.memset.p0.i64(ptr align 8 %24, i8 0, i64 24, i1 false)
  br label %902

902:                                              ; preds = %901
  %903 = load i32, ptr @test_count, align 4, !tbaa !5
  %904 = add nsw i32 %903, 1
  store i32 %904, ptr @test_count, align 4, !tbaa !5
  %905 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %906 = load i64, ptr %23, align 8, !tbaa !52
  %907 = trunc i64 %906 to i32
  %908 = call i32 @s2n_blob_init(ptr noundef %24, ptr noundef %905, i32 noundef %907)
  %909 = icmp eq i32 %908, -1
  br i1 %909, label %910, label %963

910:                                              ; preds = %902
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %913 = call ptr @__errno_location() #12
  %914 = load i32, ptr %913, align 4, !tbaa !5
  store i32 %914, ptr %25, 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) #11
  %922 = call i32 @isatty(i32 noundef %921) #11
  %923 = icmp ne i32 %922, 0
  br i1 %923, label %924, label %941

924:                                              ; preds = %919
  %925 = load i32, ptr %25, align 4, !tbaa !5
  %926 = call ptr @__errno_location() #12
  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() #12
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call ptr @strerror(i32 noundef %936) #11
  %938 = call ptr @__errno_location() #12
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef @.str.1, i32 noundef %928, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 99, ptr noundef %931, ptr noundef %934, ptr noundef %937, i32 noundef %939) #11
  br label %958

941:                                              ; preds = %919, %912
  %942 = load i32, ptr %25, align 4, !tbaa !5
  %943 = call ptr @__errno_location() #12
  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() #12
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #11
  %955 = call ptr @__errno_location() #12
  %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.16, ptr noundef @.str.3, i32 noundef 99, ptr noundef %948, ptr noundef %951, ptr noundef %954, i32 noundef %956) #11
  br label %958

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

959:                                              ; preds = %958
  br label %960

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

961:                                              ; No predecessors!
  br label %962

962:                                              ; preds = %961
  br label %963

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

964:                                              ; preds = %963
  br label %965

965:                                              ; preds = %964
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  store i32 0, ptr %26, align 4, !tbaa !5
  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 %6, align 8, !tbaa !9
  %970 = getelementptr inbounds %struct.s2n_connection, ptr %969, i32 0, i32 41
  %971 = call i32 @s2n_stuffer_wipe(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 %27) #11
  %976 = call ptr @__errno_location() #12
  %977 = load i32, ptr %976, align 4, !tbaa !5
  store i32 %977, ptr %27, 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) #11
  %985 = call i32 @isatty(i32 noundef %984) #11
  %986 = icmp ne i32 %985, 0
  br i1 %986, label %987, label %1004

987:                                              ; preds = %982
  %988 = load i32, ptr %27, align 4, !tbaa !5
  %989 = call ptr @__errno_location() #12
  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() #12
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @strerror(i32 noundef %999) #11
  %1001 = call ptr @__errno_location() #12
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %990, ptr noundef @.str.1, i32 noundef %991, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 102, ptr noundef %994, ptr noundef %997, ptr noundef %1000, i32 noundef %1002) #11
  br label %1021

1004:                                             ; preds = %982, %975
  %1005 = load i32, ptr %27, align 4, !tbaa !5
  %1006 = call ptr @__errno_location() #12
  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() #12
  %1016 = load i32, ptr %1015, align 4, !tbaa !5
  %1017 = call ptr @strerror(i32 noundef %1016) #11
  %1018 = call ptr @__errno_location() #12
  %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.17, ptr noundef @.str.3, i32 noundef 102, ptr noundef %1011, ptr noundef %1014, ptr noundef %1017, i32 noundef %1019) #11
  br label %1021

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

1022:                                             ; preds = %1021
  br label %1023

1023:                                             ; preds = %1022
  call void @exit(i32 noundef 1) #13
  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
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1029 = load ptr, ptr %6, align 8, !tbaa !9
  %1030 = call i32 @s2n_record_write(ptr noundef %1029, i8 noundef zeroext 21, ptr noundef %24)
  %1031 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  store i32 %1030, ptr %1031, align 4
  %1032 = load i64, ptr %23, align 8, !tbaa !52
  %1033 = icmp ule i64 %1032, 8087
  br i1 %1033, label %1034, label %1099

1034:                                             ; preds = %1028
  br label %1035

1035:                                             ; preds = %1034
  %1036 = load i32, ptr @test_count, align 4, !tbaa !5
  %1037 = add nsw i32 %1036, 1
  store i32 %1037, ptr @test_count, align 4, !tbaa !5
  %1038 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  %1039 = load i32, ptr %1038, align 4
  %1040 = call zeroext i1 @s2n_result_is_ok(i32 %1039)
  br i1 %1040, label %1094, label %1041

1041:                                             ; preds = %1035
  br label %1042

1042:                                             ; preds = %1041
  br label %1043

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

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

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

1072:                                             ; preds = %1050, %1043
  %1073 = load i32, ptr %29, align 4, !tbaa !5
  %1074 = call ptr @__errno_location() #12
  store i32 %1073, ptr %1074, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror(i32 noundef %1078, ptr noundef @.str.4)
  %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_debug(i32 noundef %1081, ptr noundef @.str.4)
  %1083 = call ptr @__errno_location() #12
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @strerror(i32 noundef %1084) #11
  %1086 = call ptr @__errno_location() #12
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef @.str.5, i32 noundef %1076, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 106, ptr noundef %1079, ptr noundef %1082, ptr noundef %1085, i32 noundef %1087) #11
  br label %1089

1089:                                             ; preds = %1072, %1055
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

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

1092:                                             ; No predecessors!
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

1094:                                             ; preds = %1093, %1035
  br label %1095

1095:                                             ; preds = %1094
  br label %1096

1096:                                             ; preds = %1095
  %1097 = load i64, ptr %23, align 8, !tbaa !52
  %1098 = trunc i64 %1097 to i32
  store i32 %1098, ptr %26, align 4, !tbaa !5
  br label %1298

1099:                                             ; preds = %1028
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  br label %1102

1102:                                             ; preds = %1101
  %1103 = load i32, ptr @test_count, align 4, !tbaa !5
  %1104 = add nsw i32 %1103, 1
  store i32 %1104, ptr @test_count, align 4, !tbaa !5
  %1105 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  %1106 = load i32, ptr %1105, align 4
  %1107 = call zeroext i1 @s2n_result_is_error(i32 %1106)
  br i1 %1107, label %1161, label %1108

1108:                                             ; preds = %1102
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

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

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

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

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

1156:                                             ; preds = %1139, %1122
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

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

1159:                                             ; No predecessors!
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

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

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = add nsw i32 %1165, 1
  store i32 %1166, 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 = icmp eq i32 %1168, 335544390
  br i1 %1169, label %1223, label %1170

1170:                                             ; preds = %1164
  br label %1171

1171:                                             ; preds = %1170
  br label %1172

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

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

1184:                                             ; preds = %1179
  %1185 = load i32, ptr %31, align 4, !tbaa !5
  %1186 = call ptr @__errno_location() #12
  store i32 %1185, ptr %1186, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror(i32 noundef %1190, ptr noundef @.str.4)
  %1192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1193 = load i32, ptr %1192, align 4, !tbaa !5
  %1194 = call ptr @s2n_strerror_debug(i32 noundef %1193, ptr noundef @.str.4)
  %1195 = call ptr @__errno_location() #12
  %1196 = load i32, ptr %1195, align 4, !tbaa !5
  %1197 = call ptr @strerror(i32 noundef %1196) #11
  %1198 = call ptr @__errno_location() #12
  %1199 = load i32, ptr %1198, align 4, !tbaa !5
  %1200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef @.str.1, i32 noundef %1188, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 109, ptr noundef %1191, ptr noundef %1194, ptr noundef %1197, i32 noundef %1199) #11
  br label %1218

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

1218:                                             ; preds = %1201, %1184
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1219

1219:                                             ; preds = %1218
  br label %1220

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

1221:                                             ; No predecessors!
  br label %1222

1222:                                             ; preds = %1221
  br label %1223

1223:                                             ; preds = %1222, %1164
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

1226:                                             ; preds = %1225
  %1227 = load i32, ptr @test_count, align 4, !tbaa !5
  %1228 = add nsw i32 %1227, 1
  store i32 %1228, ptr @test_count, align 4, !tbaa !5
  %1229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1230 = load i32, ptr %1229, align 4, !tbaa !5
  %1231 = call ptr @s2n_strerror_debug(i32 noundef %1230, ptr noundef @.str.4)
  %1232 = icmp eq ptr %1231, null
  br i1 %1232, label %1233, label %1286

1233:                                             ; preds = %1226
  br label %1234

1234:                                             ; preds = %1233
  br label %1235

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

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

1247:                                             ; preds = %1242
  %1248 = load i32, ptr %32, align 4, !tbaa !5
  %1249 = call ptr @__errno_location() #12
  store i32 %1248, ptr %1249, align 4, !tbaa !5
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror(i32 noundef %1253, ptr noundef @.str.4)
  %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_debug(i32 noundef %1256, ptr noundef @.str.4)
  %1258 = call ptr @__errno_location() #12
  %1259 = load i32, ptr %1258, align 4, !tbaa !5
  %1260 = call ptr @strerror(i32 noundef %1259) #11
  %1261 = call ptr @__errno_location() #12
  %1262 = load i32, ptr %1261, align 4, !tbaa !5
  %1263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1250, ptr noundef @.str.1, i32 noundef %1251, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 109, ptr noundef %1254, ptr noundef %1257, ptr noundef %1260, i32 noundef %1262) #11
  br label %1281

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

1281:                                             ; preds = %1264, %1247
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1282

1282:                                             ; preds = %1281
  br label %1283

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

1284:                                             ; No predecessors!
  br label %1285

1285:                                             ; preds = %1284
  br label %1286

1286:                                             ; preds = %1285, %1226
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

1288:                                             ; preds = %1287
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1292, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1293 = call ptr @__errno_location() #12
  store i32 0, ptr %1293, align 4, !tbaa !5
  br label %1294

1294:                                             ; preds = %1291
  br label %1295

1295:                                             ; preds = %1294
  br label %1296

1296:                                             ; preds = %1295
  br label %1297

1297:                                             ; preds = %1296
  store i32 8087, ptr %26, align 4, !tbaa !5
  br label %1298

1298:                                             ; preds = %1297, %1096
  br label %1299

1299:                                             ; preds = %1298
  %1300 = load i32, ptr @test_count, align 4, !tbaa !5
  %1301 = add nsw i32 %1300, 1
  store i32 %1301, ptr @test_count, align 4, !tbaa !5
  %1302 = load ptr, ptr %6, align 8, !tbaa !9
  %1303 = getelementptr inbounds %struct.s2n_connection, ptr %1302, i32 0, i32 41
  %1304 = getelementptr inbounds %struct.s2n_stuffer, ptr %1303, i32 0, i32 0
  %1305 = getelementptr inbounds %struct.s2n_blob, ptr %1304, i32 0, i32 0
  %1306 = load ptr, ptr %1305, align 8, !tbaa !53
  %1307 = getelementptr inbounds i8, ptr %1306, i64 0
  %1308 = load i8, ptr %1307, align 1, !tbaa !54
  %1309 = zext i8 %1308 to i32
  %1310 = icmp eq i32 %1309, 21
  br i1 %1310, label %1364, label %1311

1311:                                             ; preds = %1299
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1314 = call ptr @__errno_location() #12
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  store i32 %1315, ptr %33, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @s2n_print_stacktrace(ptr noundef %1316)
  %1318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1319 = trunc i8 %1318 to i1
  br i1 %1319, label %1320, label %1342

1320:                                             ; preds = %1313
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @fileno(ptr noundef %1321) #11
  %1323 = call i32 @isatty(i32 noundef %1322) #11
  %1324 = icmp ne i32 %1323, 0
  br i1 %1324, label %1325, label %1342

1325:                                             ; preds = %1320
  %1326 = load i32, ptr %33, align 4, !tbaa !5
  %1327 = call ptr @__errno_location() #12
  store i32 %1326, ptr %1327, align 4, !tbaa !5
  %1328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1329 = load i32, ptr @test_count, align 4, !tbaa !5
  %1330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1331 = load i32, ptr %1330, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror(i32 noundef %1331, ptr noundef @.str.4)
  %1333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1334 = load i32, ptr %1333, align 4, !tbaa !5
  %1335 = call ptr @s2n_strerror_debug(i32 noundef %1334, ptr noundef @.str.4)
  %1336 = call ptr @__errno_location() #12
  %1337 = load i32, ptr %1336, align 4, !tbaa !5
  %1338 = call ptr @strerror(i32 noundef %1337) #11
  %1339 = call ptr @__errno_location() #12
  %1340 = load i32, ptr %1339, align 4, !tbaa !5
  %1341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1328, ptr noundef @.str.1, i32 noundef %1329, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 113, ptr noundef %1332, ptr noundef %1335, ptr noundef %1338, i32 noundef %1340) #11
  br label %1359

1342:                                             ; preds = %1320, %1313
  %1343 = load i32, ptr %33, align 4, !tbaa !5
  %1344 = call ptr @__errno_location() #12
  store i32 %1343, ptr %1344, align 4, !tbaa !5
  %1345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1346 = load i32, ptr @test_count, align 4, !tbaa !5
  %1347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = call ptr @s2n_strerror(i32 noundef %1348, ptr noundef @.str.4)
  %1350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1351 = load i32, ptr %1350, align 4, !tbaa !5
  %1352 = call ptr @s2n_strerror_debug(i32 noundef %1351, ptr noundef @.str.4)
  %1353 = call ptr @__errno_location() #12
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  %1355 = call ptr @strerror(i32 noundef %1354) #11
  %1356 = call ptr @__errno_location() #12
  %1357 = load i32, ptr %1356, align 4, !tbaa !5
  %1358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1345, ptr noundef @.str.5, i32 noundef %1346, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 113, ptr noundef %1349, ptr noundef %1352, ptr noundef %1355, i32 noundef %1357) #11
  br label %1359

1359:                                             ; preds = %1342, %1325
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1360

1360:                                             ; preds = %1359
  br label %1361

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

1362:                                             ; No predecessors!
  br label %1363

1363:                                             ; preds = %1362
  br label %1364

1364:                                             ; preds = %1363, %1299
  br label %1365

1365:                                             ; preds = %1364
  br label %1366

1366:                                             ; preds = %1365
  br label %1367

1367:                                             ; preds = %1366
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = add nsw i32 %1368, 1
  store i32 %1369, ptr @test_count, align 4, !tbaa !5
  %1370 = load ptr, ptr %6, align 8, !tbaa !9
  %1371 = getelementptr inbounds %struct.s2n_connection, ptr %1370, i32 0, i32 41
  %1372 = getelementptr inbounds %struct.s2n_stuffer, ptr %1371, i32 0, i32 0
  %1373 = getelementptr inbounds %struct.s2n_blob, ptr %1372, i32 0, i32 0
  %1374 = load ptr, ptr %1373, align 8, !tbaa !53
  %1375 = getelementptr inbounds i8, ptr %1374, i64 1
  %1376 = load i8, ptr %1375, align 1, !tbaa !54
  %1377 = zext i8 %1376 to i32
  %1378 = icmp eq i32 %1377, 3
  br i1 %1378, label %1432, label %1379

1379:                                             ; preds = %1367
  br label %1380

1380:                                             ; preds = %1379
  br label %1381

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

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

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

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

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

1428:                                             ; preds = %1427
  br label %1429

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

1430:                                             ; No predecessors!
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

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

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = add nsw i32 %1436, 1
  store i32 %1437, ptr @test_count, align 4, !tbaa !5
  %1438 = load ptr, ptr %6, align 8, !tbaa !9
  %1439 = getelementptr inbounds %struct.s2n_connection, ptr %1438, i32 0, i32 41
  %1440 = getelementptr inbounds %struct.s2n_stuffer, ptr %1439, i32 0, i32 0
  %1441 = getelementptr inbounds %struct.s2n_blob, ptr %1440, i32 0, i32 0
  %1442 = load ptr, ptr %1441, align 8, !tbaa !53
  %1443 = getelementptr inbounds i8, ptr %1442, i64 2
  %1444 = load i8, ptr %1443, align 1, !tbaa !54
  %1445 = zext i8 %1444 to i32
  %1446 = icmp eq i32 %1445, 2
  br i1 %1446, label %1500, label %1447

1447:                                             ; preds = %1435
  br label %1448

1448:                                             ; preds = %1447
  br label %1449

1449:                                             ; preds = %1448
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1450 = call ptr @__errno_location() #12
  %1451 = load i32, ptr %1450, align 4, !tbaa !5
  store i32 %1451, ptr %35, align 4, !tbaa !5
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @s2n_print_stacktrace(ptr noundef %1452)
  %1454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1455 = trunc i8 %1454 to i1
  br i1 %1455, label %1456, label %1478

1456:                                             ; preds = %1449
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = call i32 @fileno(ptr noundef %1457) #11
  %1459 = call i32 @isatty(i32 noundef %1458) #11
  %1460 = icmp ne i32 %1459, 0
  br i1 %1460, label %1461, label %1478

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

1478:                                             ; preds = %1456, %1449
  %1479 = load i32, ptr %35, align 4, !tbaa !5
  %1480 = call ptr @__errno_location() #12
  store i32 %1479, ptr %1480, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror(i32 noundef %1484, ptr noundef @.str.4)
  %1486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call ptr @s2n_strerror_debug(i32 noundef %1487, ptr noundef @.str.4)
  %1489 = call ptr @__errno_location() #12
  %1490 = load i32, ptr %1489, align 4, !tbaa !5
  %1491 = call ptr @strerror(i32 noundef %1490) #11
  %1492 = call ptr @__errno_location() #12
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef @.str.5, i32 noundef %1482, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 115, ptr noundef %1485, ptr noundef %1488, ptr noundef %1491, i32 noundef %1493) #11
  br label %1495

1495:                                             ; preds = %1478, %1461
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

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

1498:                                             ; No predecessors!
  br label %1499

1499:                                             ; preds = %1498
  br label %1500

1500:                                             ; preds = %1499, %1435
  br label %1501

1501:                                             ; preds = %1500
  br label %1502

1502:                                             ; preds = %1501
  br label %1503

1503:                                             ; preds = %1502
  %1504 = load i32, ptr @test_count, align 4, !tbaa !5
  %1505 = add nsw i32 %1504, 1
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = load ptr, ptr %6, align 8, !tbaa !9
  %1507 = getelementptr inbounds %struct.s2n_connection, ptr %1506, i32 0, i32 41
  %1508 = getelementptr inbounds %struct.s2n_stuffer, ptr %1507, i32 0, i32 0
  %1509 = getelementptr inbounds %struct.s2n_blob, ptr %1508, i32 0, i32 0
  %1510 = load ptr, ptr %1509, align 8, !tbaa !53
  %1511 = getelementptr inbounds i8, ptr %1510, i64 3
  %1512 = load i8, ptr %1511, align 1, !tbaa !54
  %1513 = zext i8 %1512 to i32
  %1514 = load i32, ptr %26, align 4, !tbaa !5
  %1515 = ashr i32 %1514, 8
  %1516 = and i32 %1515, 255
  %1517 = icmp eq i32 %1513, %1516
  br i1 %1517, label %1571, label %1518

1518:                                             ; preds = %1503
  br label %1519

1519:                                             ; preds = %1518
  br label %1520

1520:                                             ; preds = %1519
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1521 = call ptr @__errno_location() #12
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  store i32 %1522, ptr %36, align 4, !tbaa !5
  %1523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1524 = call i32 @s2n_print_stacktrace(ptr noundef %1523)
  %1525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1526 = trunc i8 %1525 to i1
  br i1 %1526, label %1527, label %1549

1527:                                             ; preds = %1520
  %1528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1529 = call i32 @fileno(ptr noundef %1528) #11
  %1530 = call i32 @isatty(i32 noundef %1529) #11
  %1531 = icmp ne i32 %1530, 0
  br i1 %1531, label %1532, label %1549

1532:                                             ; preds = %1527
  %1533 = load i32, ptr %36, align 4, !tbaa !5
  %1534 = call ptr @__errno_location() #12
  store i32 %1533, ptr %1534, align 4, !tbaa !5
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = load i32, ptr @test_count, align 4, !tbaa !5
  %1537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror(i32 noundef %1538, ptr noundef @.str.4)
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror_debug(i32 noundef %1541, ptr noundef @.str.4)
  %1543 = call ptr @__errno_location() #12
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @strerror(i32 noundef %1544) #11
  %1546 = call ptr @__errno_location() #12
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1535, ptr noundef @.str.1, i32 noundef %1536, ptr noundef @.str.25, ptr noundef @.str.3, i32 noundef 116, ptr noundef %1539, ptr noundef %1542, ptr noundef %1545, i32 noundef %1547) #11
  br label %1566

1549:                                             ; preds = %1527, %1520
  %1550 = load i32, ptr %36, align 4, !tbaa !5
  %1551 = call ptr @__errno_location() #12
  store i32 %1550, ptr %1551, align 4, !tbaa !5
  %1552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1553 = load i32, ptr @test_count, align 4, !tbaa !5
  %1554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror(i32 noundef %1555, ptr noundef @.str.4)
  %1557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1558 = load i32, ptr %1557, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror_debug(i32 noundef %1558, ptr noundef @.str.4)
  %1560 = call ptr @__errno_location() #12
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = call ptr @strerror(i32 noundef %1561) #11
  %1563 = call ptr @__errno_location() #12
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1552, ptr noundef @.str.5, i32 noundef %1553, ptr noundef @.str.25, ptr noundef @.str.3, i32 noundef 116, ptr noundef %1556, ptr noundef %1559, ptr noundef %1562, i32 noundef %1564) #11
  br label %1566

1566:                                             ; preds = %1549, %1532
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1567

1567:                                             ; preds = %1566
  br label %1568

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

1569:                                             ; No predecessors!
  br label %1570

1570:                                             ; preds = %1569
  br label %1571

1571:                                             ; preds = %1570, %1503
  br label %1572

1572:                                             ; preds = %1571
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

1574:                                             ; preds = %1573
  %1575 = load i32, ptr @test_count, align 4, !tbaa !5
  %1576 = add nsw i32 %1575, 1
  store i32 %1576, ptr @test_count, align 4, !tbaa !5
  %1577 = load ptr, ptr %6, align 8, !tbaa !9
  %1578 = getelementptr inbounds %struct.s2n_connection, ptr %1577, i32 0, i32 41
  %1579 = getelementptr inbounds %struct.s2n_stuffer, ptr %1578, i32 0, i32 0
  %1580 = getelementptr inbounds %struct.s2n_blob, ptr %1579, i32 0, i32 0
  %1581 = load ptr, ptr %1580, align 8, !tbaa !53
  %1582 = getelementptr inbounds i8, ptr %1581, i64 4
  %1583 = load i8, ptr %1582, align 1, !tbaa !54
  %1584 = zext i8 %1583 to i32
  %1585 = load i32, ptr %26, align 4, !tbaa !5
  %1586 = and i32 %1585, 255
  %1587 = icmp eq i32 %1584, %1586
  br i1 %1587, label %1641, label %1588

1588:                                             ; preds = %1574
  br label %1589

1589:                                             ; preds = %1588
  br label %1590

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

1597:                                             ; preds = %1590
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = call i32 @fileno(ptr noundef %1598) #11
  %1600 = call i32 @isatty(i32 noundef %1599) #11
  %1601 = icmp ne i32 %1600, 0
  br i1 %1601, label %1602, label %1619

1602:                                             ; preds = %1597
  %1603 = load i32, ptr %37, align 4, !tbaa !5
  %1604 = call ptr @__errno_location() #12
  store i32 %1603, ptr %1604, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = load i32, ptr @test_count, align 4, !tbaa !5
  %1607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1608 = load i32, ptr %1607, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror(i32 noundef %1608, ptr noundef @.str.4)
  %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_debug(i32 noundef %1611, ptr noundef @.str.4)
  %1613 = call ptr @__errno_location() #12
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call ptr @strerror(i32 noundef %1614) #11
  %1616 = call ptr @__errno_location() #12
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1605, ptr noundef @.str.1, i32 noundef %1606, ptr noundef @.str.26, ptr noundef @.str.3, i32 noundef 117, ptr noundef %1609, ptr noundef %1612, ptr noundef %1615, i32 noundef %1617) #11
  br label %1636

1619:                                             ; preds = %1597, %1590
  %1620 = load i32, ptr %37, align 4, !tbaa !5
  %1621 = call ptr @__errno_location() #12
  store i32 %1620, ptr %1621, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call ptr @s2n_strerror(i32 noundef %1625, ptr noundef @.str.4)
  %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_debug(i32 noundef %1628, ptr noundef @.str.4)
  %1630 = call ptr @__errno_location() #12
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call ptr @strerror(i32 noundef %1631) #11
  %1633 = call ptr @__errno_location() #12
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1622, ptr noundef @.str.5, i32 noundef %1623, ptr noundef @.str.26, ptr noundef @.str.3, i32 noundef 117, ptr noundef %1626, ptr noundef %1629, ptr noundef %1632, i32 noundef %1634) #11
  br label %1636

1636:                                             ; preds = %1619, %1602
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1637

1637:                                             ; preds = %1636
  br label %1638

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

1639:                                             ; No predecessors!
  br label %1640

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640, %1574
  br label %1642

1642:                                             ; preds = %1641
  br label %1643

1643:                                             ; preds = %1642
  br label %1644

1644:                                             ; preds = %1643
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = add nsw i32 %1645, 1
  store i32 %1646, ptr @test_count, align 4, !tbaa !5
  %1647 = load ptr, ptr %6, align 8, !tbaa !9
  %1648 = getelementptr inbounds %struct.s2n_connection, ptr %1647, i32 0, i32 41
  %1649 = getelementptr inbounds %struct.s2n_stuffer, ptr %1648, i32 0, i32 0
  %1650 = getelementptr inbounds %struct.s2n_blob, ptr %1649, i32 0, i32 0
  %1651 = load ptr, ptr %1650, align 8, !tbaa !53
  %1652 = getelementptr inbounds i8, ptr %1651, i64 5
  %1653 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %1654 = load i32, ptr %26, align 4, !tbaa !5
  %1655 = sext i32 %1654 to i64
  %1656 = call i32 @memcmp(ptr noundef %1652, ptr noundef %1653, i64 noundef %1655) #14
  %1657 = icmp eq i32 %1656, 0
  br i1 %1657, label %1711, label %1658

1658:                                             ; preds = %1644
  br label %1659

1659:                                             ; preds = %1658
  br label %1660

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

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

1672:                                             ; preds = %1667
  %1673 = load i32, ptr %38, align 4, !tbaa !5
  %1674 = call ptr @__errno_location() #12
  store i32 %1673, ptr %1674, align 4, !tbaa !5
  %1675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1676 = load i32, ptr @test_count, align 4, !tbaa !5
  %1677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @s2n_strerror(i32 noundef %1678, ptr noundef @.str.4)
  %1680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call ptr @s2n_strerror_debug(i32 noundef %1681, ptr noundef @.str.4)
  %1683 = call ptr @__errno_location() #12
  %1684 = load i32, ptr %1683, align 4, !tbaa !5
  %1685 = call ptr @strerror(i32 noundef %1684) #11
  %1686 = call ptr @__errno_location() #12
  %1687 = load i32, ptr %1686, align 4, !tbaa !5
  %1688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1675, ptr noundef @.str.1, i32 noundef %1676, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 118, ptr noundef %1679, ptr noundef %1682, ptr noundef %1685, i32 noundef %1687) #11
  br label %1706

1689:                                             ; preds = %1667, %1660
  %1690 = load i32, ptr %38, align 4, !tbaa !5
  %1691 = call ptr @__errno_location() #12
  store i32 %1690, ptr %1691, align 4, !tbaa !5
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = load i32, ptr @test_count, align 4, !tbaa !5
  %1694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1695 = load i32, ptr %1694, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror(i32 noundef %1695, ptr noundef @.str.4)
  %1697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1698 = load i32, ptr %1697, align 4, !tbaa !5
  %1699 = call ptr @s2n_strerror_debug(i32 noundef %1698, ptr noundef @.str.4)
  %1700 = call ptr @__errno_location() #12
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call ptr @strerror(i32 noundef %1701) #11
  %1703 = call ptr @__errno_location() #12
  %1704 = load i32, ptr %1703, align 4, !tbaa !5
  %1705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1692, ptr noundef @.str.5, i32 noundef %1693, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 118, ptr noundef %1696, ptr noundef %1699, ptr noundef %1702, i32 noundef %1704) #11
  br label %1706

1706:                                             ; preds = %1689, %1672
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1707

1707:                                             ; preds = %1706
  br label %1708

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

1709:                                             ; No predecessors!
  br label %1710

1710:                                             ; preds = %1709
  br label %1711

1711:                                             ; preds = %1710, %1644
  br label %1712

1712:                                             ; preds = %1711
  br label %1713

1713:                                             ; preds = %1712
  br label %1714

1714:                                             ; preds = %1713
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = add nsw i32 %1715, 1
  store i32 %1716, ptr @test_count, align 4, !tbaa !5
  %1717 = load ptr, ptr %6, align 8, !tbaa !9
  %1718 = getelementptr inbounds %struct.s2n_connection, ptr %1717, i32 0, i32 40
  %1719 = call i32 @s2n_stuffer_resize_if_empty(ptr noundef %1718, i32 noundef 16384)
  %1720 = icmp eq i32 %1719, -1
  br i1 %1720, label %1721, label %1774

1721:                                             ; preds = %1714
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

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

1730:                                             ; preds = %1723
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = call i32 @fileno(ptr noundef %1731) #11
  %1733 = call i32 @isatty(i32 noundef %1732) #11
  %1734 = icmp ne i32 %1733, 0
  br i1 %1734, label %1735, label %1752

1735:                                             ; preds = %1730
  %1736 = load i32, ptr %39, align 4, !tbaa !5
  %1737 = call ptr @__errno_location() #12
  store i32 %1736, ptr %1737, align 4, !tbaa !5
  %1738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1739 = load i32, ptr @test_count, align 4, !tbaa !5
  %1740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1741 = load i32, ptr %1740, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror(i32 noundef %1741, ptr noundef @.str.4)
  %1743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1744 = load i32, ptr %1743, align 4, !tbaa !5
  %1745 = call ptr @s2n_strerror_debug(i32 noundef %1744, ptr noundef @.str.4)
  %1746 = call ptr @__errno_location() #12
  %1747 = load i32, ptr %1746, align 4, !tbaa !5
  %1748 = call ptr @strerror(i32 noundef %1747) #11
  %1749 = call ptr @__errno_location() #12
  %1750 = load i32, ptr %1749, align 4, !tbaa !5
  %1751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1738, ptr noundef @.str.1, i32 noundef %1739, ptr noundef @.str.28, ptr noundef @.str.3, i32 noundef 120, ptr noundef %1742, ptr noundef %1745, ptr noundef %1748, i32 noundef %1750) #11
  br label %1769

1752:                                             ; preds = %1730, %1723
  %1753 = load i32, ptr %39, align 4, !tbaa !5
  %1754 = call ptr @__errno_location() #12
  store i32 %1753, ptr %1754, 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 @.str.4)
  %1760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror_debug(i32 noundef %1761, ptr noundef @.str.4)
  %1763 = call ptr @__errno_location() #12
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call ptr @strerror(i32 noundef %1764) #11
  %1766 = call ptr @__errno_location() #12
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1755, ptr noundef @.str.5, i32 noundef %1756, ptr noundef @.str.28, ptr noundef @.str.3, i32 noundef 120, ptr noundef %1759, ptr noundef %1762, ptr noundef %1765, i32 noundef %1767) #11
  br label %1769

1769:                                             ; preds = %1752, %1735
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %1770

1770:                                             ; preds = %1769
  br label %1771

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

1772:                                             ; No predecessors!
  br label %1773

1773:                                             ; preds = %1772
  br label %1774

1774:                                             ; preds = %1773, %1714
  br label %1775

1775:                                             ; preds = %1774
  br label %1776

1776:                                             ; preds = %1775
  br label %1777

1777:                                             ; preds = %1776
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = add nsw i32 %1778, 1
  store i32 %1779, ptr @test_count, align 4, !tbaa !5
  %1780 = load ptr, ptr %6, align 8, !tbaa !9
  %1781 = getelementptr inbounds %struct.s2n_connection, ptr %1780, i32 0, i32 40
  %1782 = call i32 @s2n_stuffer_wipe(ptr noundef %1781)
  %1783 = icmp eq i32 %1782, -1
  br i1 %1783, label %1784, label %1837

1784:                                             ; preds = %1777
  br label %1785

1785:                                             ; preds = %1784
  br label %1786

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

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

1798:                                             ; preds = %1793
  %1799 = load i32, ptr %40, align 4, !tbaa !5
  %1800 = call ptr @__errno_location() #12
  store i32 %1799, ptr %1800, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror(i32 noundef %1804, ptr noundef @.str.4)
  %1806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call ptr @s2n_strerror_debug(i32 noundef %1807, ptr noundef @.str.4)
  %1809 = call ptr @__errno_location() #12
  %1810 = load i32, ptr %1809, align 4, !tbaa !5
  %1811 = call ptr @strerror(i32 noundef %1810) #11
  %1812 = call ptr @__errno_location() #12
  %1813 = load i32, ptr %1812, align 4, !tbaa !5
  %1814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1801, ptr noundef @.str.1, i32 noundef %1802, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 121, ptr noundef %1805, ptr noundef %1808, ptr noundef %1811, i32 noundef %1813) #11
  br label %1832

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

1832:                                             ; preds = %1815, %1798
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1833

1833:                                             ; preds = %1832
  br label %1834

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

1835:                                             ; No predecessors!
  br label %1836

1836:                                             ; preds = %1835
  br label %1837

1837:                                             ; preds = %1836, %1777
  br label %1838

1838:                                             ; preds = %1837
  br label %1839

1839:                                             ; preds = %1838
  br label %1840

1840:                                             ; preds = %1839
  %1841 = load i32, ptr @test_count, align 4, !tbaa !5
  %1842 = add nsw i32 %1841, 1
  store i32 %1842, ptr @test_count, align 4, !tbaa !5
  %1843 = load ptr, ptr %6, align 8, !tbaa !9
  %1844 = getelementptr inbounds %struct.s2n_connection, ptr %1843, i32 0, i32 38
  %1845 = call i32 @s2n_stuffer_wipe(ptr noundef %1844)
  %1846 = icmp eq i32 %1845, -1
  br i1 %1846, label %1847, label %1900

1847:                                             ; preds = %1840
  br label %1848

1848:                                             ; preds = %1847
  br label %1849

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

1856:                                             ; preds = %1849
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = call i32 @fileno(ptr noundef %1857) #11
  %1859 = call i32 @isatty(i32 noundef %1858) #11
  %1860 = icmp ne i32 %1859, 0
  br i1 %1860, label %1861, label %1878

1861:                                             ; preds = %1856
  %1862 = load i32, ptr %41, align 4, !tbaa !5
  %1863 = call ptr @__errno_location() #12
  store i32 %1862, ptr %1863, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = call ptr @s2n_strerror(i32 noundef %1867, ptr noundef @.str.4)
  %1869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror_debug(i32 noundef %1870, ptr noundef @.str.4)
  %1872 = call ptr @__errno_location() #12
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @strerror(i32 noundef %1873) #11
  %1875 = call ptr @__errno_location() #12
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1864, ptr noundef @.str.1, i32 noundef %1865, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 122, ptr noundef %1868, ptr noundef %1871, ptr noundef %1874, i32 noundef %1876) #11
  br label %1895

1878:                                             ; preds = %1856, %1849
  %1879 = load i32, ptr %41, align 4, !tbaa !5
  %1880 = call ptr @__errno_location() #12
  store i32 %1879, ptr %1880, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror(i32 noundef %1884, ptr noundef @.str.4)
  %1886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror_debug(i32 noundef %1887, ptr noundef @.str.4)
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @strerror(i32 noundef %1890) #11
  %1892 = call ptr @__errno_location() #12
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef @.str.5, i32 noundef %1882, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 122, ptr noundef %1885, ptr noundef %1888, ptr noundef %1891, i32 noundef %1893) #11
  br label %1895

1895:                                             ; preds = %1878, %1861
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1896

1896:                                             ; preds = %1895
  br label %1897

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

1898:                                             ; No predecessors!
  br label %1899

1899:                                             ; preds = %1898
  br label %1900

1900:                                             ; preds = %1899, %1840
  br label %1901

1901:                                             ; preds = %1900
  br label %1902

1902:                                             ; preds = %1901
  br label %1903

1903:                                             ; preds = %1902
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = add nsw i32 %1904, 1
  store i32 %1905, ptr @test_count, align 4, !tbaa !5
  %1906 = load ptr, ptr %6, align 8, !tbaa !9
  %1907 = getelementptr inbounds %struct.s2n_connection, ptr %1906, i32 0, i32 41
  %1908 = load ptr, ptr %6, align 8, !tbaa !9
  %1909 = getelementptr inbounds %struct.s2n_connection, ptr %1908, i32 0, i32 38
  %1910 = call i32 @s2n_stuffer_copy(ptr noundef %1907, ptr noundef %1909, i32 noundef 5)
  %1911 = icmp eq i32 %1910, -1
  br i1 %1911, label %1912, label %1965

1912:                                             ; preds = %1903
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

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

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

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

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

1960:                                             ; preds = %1943, %1926
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1961

1961:                                             ; preds = %1960
  br label %1962

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

1963:                                             ; No predecessors!
  br label %1964

1964:                                             ; preds = %1963
  br label %1965

1965:                                             ; preds = %1964, %1903
  br label %1966

1966:                                             ; preds = %1965
  br label %1967

1967:                                             ; preds = %1966
  br label %1968

1968:                                             ; preds = %1967
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = add nsw i32 %1969, 1
  store i32 %1970, ptr @test_count, align 4, !tbaa !5
  %1971 = load ptr, ptr %6, align 8, !tbaa !9
  %1972 = getelementptr inbounds %struct.s2n_connection, ptr %1971, i32 0, i32 41
  %1973 = load ptr, ptr %6, align 8, !tbaa !9
  %1974 = getelementptr inbounds %struct.s2n_connection, ptr %1973, i32 0, i32 40
  %1975 = load ptr, ptr %6, align 8, !tbaa !9
  %1976 = getelementptr inbounds %struct.s2n_connection, ptr %1975, i32 0, i32 41
  %1977 = getelementptr inbounds %struct.s2n_stuffer, ptr %1976, i32 0, i32 2
  %1978 = load i32, ptr %1977, align 4, !tbaa !55
  %1979 = load ptr, ptr %6, align 8, !tbaa !9
  %1980 = getelementptr inbounds %struct.s2n_connection, ptr %1979, i32 0, i32 41
  %1981 = getelementptr inbounds %struct.s2n_stuffer, ptr %1980, i32 0, i32 1
  %1982 = load i32, ptr %1981, align 8, !tbaa !56
  %1983 = sub i32 %1978, %1982
  %1984 = call i32 @s2n_stuffer_copy(ptr noundef %1972, ptr noundef %1974, i32 noundef %1983)
  %1985 = icmp eq i32 %1984, -1
  br i1 %1985, label %1986, label %2039

1986:                                             ; preds = %1968
  br label %1987

1987:                                             ; preds = %1986
  br label %1988

1988:                                             ; preds = %1987
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %1989 = call ptr @__errno_location() #12
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  store i32 %1990, ptr %43, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = call i32 @s2n_print_stacktrace(ptr noundef %1991)
  %1993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1994 = trunc i8 %1993 to i1
  br i1 %1994, label %1995, label %2017

1995:                                             ; preds = %1988
  %1996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1997 = call i32 @fileno(ptr noundef %1996) #11
  %1998 = call i32 @isatty(i32 noundef %1997) #11
  %1999 = icmp ne i32 %1998, 0
  br i1 %1999, label %2000, label %2017

2000:                                             ; preds = %1995
  %2001 = load i32, ptr %43, align 4, !tbaa !5
  %2002 = call ptr @__errno_location() #12
  store i32 %2001, ptr %2002, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror(i32 noundef %2006, ptr noundef @.str.4)
  %2008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror_debug(i32 noundef %2009, ptr noundef @.str.4)
  %2011 = call ptr @__errno_location() #12
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call ptr @strerror(i32 noundef %2012) #11
  %2014 = call ptr @__errno_location() #12
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef @.str.1, i32 noundef %2004, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 124, ptr noundef %2007, ptr noundef %2010, ptr noundef %2013, i32 noundef %2015) #11
  br label %2034

2017:                                             ; preds = %1995, %1988
  %2018 = load i32, ptr %43, align 4, !tbaa !5
  %2019 = call ptr @__errno_location() #12
  store i32 %2018, ptr %2019, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = load i32, ptr @test_count, align 4, !tbaa !5
  %2022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2023 = load i32, ptr %2022, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror(i32 noundef %2023, ptr noundef @.str.4)
  %2025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2026 = load i32, ptr %2025, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror_debug(i32 noundef %2026, ptr noundef @.str.4)
  %2028 = call ptr @__errno_location() #12
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = call ptr @strerror(i32 noundef %2029) #11
  %2031 = call ptr @__errno_location() #12
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2020, ptr noundef @.str.5, i32 noundef %2021, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 124, ptr noundef %2024, ptr noundef %2027, ptr noundef %2030, i32 noundef %2032) #11
  br label %2034

2034:                                             ; preds = %2017, %2000
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2035

2035:                                             ; preds = %2034
  br label %2036

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

2037:                                             ; No predecessors!
  br label %2038

2038:                                             ; preds = %2037
  br label %2039

2039:                                             ; preds = %2038, %1968
  br label %2040

2040:                                             ; preds = %2039
  br label %2041

2041:                                             ; preds = %2040
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #11
  store i8 0, ptr %44, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %45) #11
  store i16 0, ptr %45, align 2, !tbaa !57
  br label %2042

2042:                                             ; preds = %2041
  %2043 = load i32, ptr @test_count, align 4, !tbaa !5
  %2044 = add nsw i32 %2043, 1
  store i32 %2044, ptr @test_count, align 4, !tbaa !5
  %2045 = load ptr, ptr %6, align 8, !tbaa !9
  %2046 = call i32 @s2n_record_header_parse(ptr noundef %2045, ptr noundef %44, ptr noundef %45)
  %2047 = icmp eq i32 %2046, -1
  br i1 %2047, label %2048, label %2101

2048:                                             ; preds = %2042
  br label %2049

2049:                                             ; preds = %2048
  br label %2050

2050:                                             ; preds = %2049
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %2051 = call ptr @__errno_location() #12
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  store i32 %2052, ptr %46, align 4, !tbaa !5
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @s2n_print_stacktrace(ptr noundef %2053)
  %2055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2056 = trunc i8 %2055 to i1
  br i1 %2056, label %2057, label %2079

2057:                                             ; preds = %2050
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = call i32 @fileno(ptr noundef %2058) #11
  %2060 = call i32 @isatty(i32 noundef %2059) #11
  %2061 = icmp ne i32 %2060, 0
  br i1 %2061, label %2062, label %2079

2062:                                             ; preds = %2057
  %2063 = load i32, ptr %46, align 4, !tbaa !5
  %2064 = call ptr @__errno_location() #12
  store i32 %2063, ptr %2064, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror(i32 noundef %2068, ptr noundef @.str.4)
  %2070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror_debug(i32 noundef %2071, ptr noundef @.str.4)
  %2073 = call ptr @__errno_location() #12
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @strerror(i32 noundef %2074) #11
  %2076 = call ptr @__errno_location() #12
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef @.str.1, i32 noundef %2066, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 128, ptr noundef %2069, ptr noundef %2072, ptr noundef %2075, i32 noundef %2077) #11
  br label %2096

2079:                                             ; preds = %2057, %2050
  %2080 = load i32, ptr %46, align 4, !tbaa !5
  %2081 = call ptr @__errno_location() #12
  store i32 %2080, ptr %2081, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2085 = load i32, ptr %2084, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror(i32 noundef %2085, ptr noundef @.str.4)
  %2087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror_debug(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = call ptr @__errno_location() #12
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #11
  %2093 = call ptr @__errno_location() #12
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2082, ptr noundef @.str.5, i32 noundef %2083, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 128, ptr noundef %2086, ptr noundef %2089, ptr noundef %2092, i32 noundef %2094) #11
  br label %2096

2096:                                             ; preds = %2079, %2062
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2097

2097:                                             ; preds = %2096
  br label %2098

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

2099:                                             ; No predecessors!
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

2101:                                             ; preds = %2100, %2042
  br label %2102

2102:                                             ; preds = %2101
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = add nsw i32 %2105, 1
  store i32 %2106, ptr @test_count, align 4, !tbaa !5
  %2107 = load ptr, ptr %6, align 8, !tbaa !9
  %2108 = call i32 @s2n_record_parse(ptr noundef %2107)
  %2109 = icmp eq i32 %2108, -1
  br i1 %2109, label %2110, label %2163

2110:                                             ; preds = %2104
  br label %2111

2111:                                             ; preds = %2110
  br label %2112

2112:                                             ; preds = %2111
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2113 = call ptr @__errno_location() #12
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  store i32 %2114, ptr %47, align 4, !tbaa !5
  %2115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2116 = call i32 @s2n_print_stacktrace(ptr noundef %2115)
  %2117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2118 = trunc i8 %2117 to i1
  br i1 %2118, label %2119, label %2141

2119:                                             ; preds = %2112
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @fileno(ptr noundef %2120) #11
  %2122 = call i32 @isatty(i32 noundef %2121) #11
  %2123 = icmp ne i32 %2122, 0
  br i1 %2123, label %2124, label %2141

2124:                                             ; preds = %2119
  %2125 = load i32, ptr %47, align 4, !tbaa !5
  %2126 = call ptr @__errno_location() #12
  store i32 %2125, ptr %2126, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = load i32, ptr @test_count, align 4, !tbaa !5
  %2129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror(i32 noundef %2130, ptr noundef @.str.4)
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef @.str.4)
  %2135 = call ptr @__errno_location() #12
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @strerror(i32 noundef %2136) #11
  %2138 = call ptr @__errno_location() #12
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2127, ptr noundef @.str.1, i32 noundef %2128, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 129, ptr noundef %2131, ptr noundef %2134, ptr noundef %2137, i32 noundef %2139) #11
  br label %2158

2141:                                             ; preds = %2119, %2112
  %2142 = load i32, ptr %47, align 4, !tbaa !5
  %2143 = call ptr @__errno_location() #12
  store i32 %2142, ptr %2143, align 4, !tbaa !5
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = load i32, ptr @test_count, align 4, !tbaa !5
  %2146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2147 = load i32, ptr %2146, align 4, !tbaa !5
  %2148 = call ptr @s2n_strerror(i32 noundef %2147, ptr noundef @.str.4)
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror_debug(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call ptr @__errno_location() #12
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @strerror(i32 noundef %2153) #11
  %2155 = call ptr @__errno_location() #12
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2144, ptr noundef @.str.5, i32 noundef %2145, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 129, ptr noundef %2148, ptr noundef %2151, ptr noundef %2154, i32 noundef %2156) #11
  br label %2158

2158:                                             ; preds = %2141, %2124
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2159

2159:                                             ; preds = %2158
  br label %2160

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

2161:                                             ; No predecessors!
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162, %2104
  br label %2164

2164:                                             ; preds = %2163
  br label %2165

2165:                                             ; preds = %2164
  br label %2166

2166:                                             ; preds = %2165
  %2167 = load i32, ptr @test_count, align 4, !tbaa !5
  %2168 = add nsw i32 %2167, 1
  store i32 %2168, ptr @test_count, align 4, !tbaa !5
  %2169 = load i8, ptr %44, align 1, !tbaa !54
  %2170 = zext i8 %2169 to i32
  %2171 = icmp eq i32 %2170, 21
  br i1 %2171, label %2225, label %2172

2172:                                             ; preds = %2166
  br label %2173

2173:                                             ; preds = %2172
  br label %2174

2174:                                             ; preds = %2173
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2175 = call ptr @__errno_location() #12
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  store i32 %2176, ptr %48, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @s2n_print_stacktrace(ptr noundef %2177)
  %2179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2180 = trunc i8 %2179 to i1
  br i1 %2180, label %2181, label %2203

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
  %2185 = icmp ne i32 %2184, 0
  br i1 %2185, label %2186, label %2203

2186:                                             ; preds = %2181
  %2187 = load i32, ptr %48, align 4, !tbaa !5
  %2188 = call ptr @__errno_location() #12
  store i32 %2187, ptr %2188, align 4, !tbaa !5
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = load i32, ptr @test_count, align 4, !tbaa !5
  %2191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2192 = load i32, ptr %2191, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror(i32 noundef %2192, ptr noundef @.str.4)
  %2194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  %2196 = call ptr @s2n_strerror_debug(i32 noundef %2195, ptr noundef @.str.4)
  %2197 = call ptr @__errno_location() #12
  %2198 = load i32, ptr %2197, align 4, !tbaa !5
  %2199 = call ptr @strerror(i32 noundef %2198) #11
  %2200 = call ptr @__errno_location() #12
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2189, ptr noundef @.str.1, i32 noundef %2190, ptr noundef @.str.35, ptr noundef @.str.3, i32 noundef 130, ptr noundef %2193, ptr noundef %2196, ptr noundef %2199, i32 noundef %2201) #11
  br label %2220

2203:                                             ; preds = %2181, %2174
  %2204 = load i32, ptr %48, align 4, !tbaa !5
  %2205 = call ptr @__errno_location() #12
  store i32 %2204, ptr %2205, align 4, !tbaa !5
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = load i32, ptr @test_count, align 4, !tbaa !5
  %2208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2209 = load i32, ptr %2208, align 4, !tbaa !5
  %2210 = call ptr @s2n_strerror(i32 noundef %2209, ptr noundef @.str.4)
  %2211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2212 = load i32, ptr %2211, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror_debug(i32 noundef %2212, ptr noundef @.str.4)
  %2214 = call ptr @__errno_location() #12
  %2215 = load i32, ptr %2214, align 4, !tbaa !5
  %2216 = call ptr @strerror(i32 noundef %2215) #11
  %2217 = call ptr @__errno_location() #12
  %2218 = load i32, ptr %2217, align 4, !tbaa !5
  %2219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2206, ptr noundef @.str.5, i32 noundef %2207, ptr noundef @.str.35, ptr noundef @.str.3, i32 noundef 130, ptr noundef %2210, ptr noundef %2213, ptr noundef %2216, i32 noundef %2218) #11
  br label %2220

2220:                                             ; preds = %2203, %2186
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2221

2221:                                             ; preds = %2220
  br label %2222

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

2223:                                             ; No predecessors!
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

2225:                                             ; preds = %2224, %2166
  br label %2226

2226:                                             ; preds = %2225
  br label %2227

2227:                                             ; preds = %2226
  br label %2228

2228:                                             ; preds = %2227
  %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 i16, ptr %45, align 2, !tbaa !57
  %2232 = zext i16 %2231 to i32
  %2233 = load i32, ptr %26, align 4, !tbaa !5
  %2234 = icmp eq i32 %2232, %2233
  br i1 %2234, label %2288, label %2235

2235:                                             ; preds = %2228
  br label %2236

2236:                                             ; preds = %2235
  br label %2237

2237:                                             ; preds = %2236
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2238 = call ptr @__errno_location() #12
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  store i32 %2239, ptr %49, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = call i32 @s2n_print_stacktrace(ptr noundef %2240)
  %2242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2243 = trunc i8 %2242 to i1
  br i1 %2243, label %2244, label %2266

2244:                                             ; preds = %2237
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @fileno(ptr noundef %2245) #11
  %2247 = call i32 @isatty(i32 noundef %2246) #11
  %2248 = icmp ne i32 %2247, 0
  br i1 %2248, label %2249, label %2266

2249:                                             ; preds = %2244
  %2250 = load i32, ptr %49, align 4, !tbaa !5
  %2251 = call ptr @__errno_location() #12
  store i32 %2250, ptr %2251, align 4, !tbaa !5
  %2252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror(i32 noundef %2255, ptr noundef @.str.4)
  %2257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = call ptr @s2n_strerror_debug(i32 noundef %2258, ptr noundef @.str.4)
  %2260 = call ptr @__errno_location() #12
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call ptr @strerror(i32 noundef %2261) #11
  %2263 = call ptr @__errno_location() #12
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2252, ptr noundef @.str.1, i32 noundef %2253, ptr noundef @.str.36, ptr noundef @.str.3, i32 noundef 131, ptr noundef %2256, ptr noundef %2259, ptr noundef %2262, i32 noundef %2264) #11
  br label %2283

2266:                                             ; preds = %2244, %2237
  %2267 = load i32, ptr %49, align 4, !tbaa !5
  %2268 = call ptr @__errno_location() #12
  store i32 %2267, ptr %2268, align 4, !tbaa !5
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = load i32, ptr @test_count, align 4, !tbaa !5
  %2271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2272 = load i32, ptr %2271, align 4, !tbaa !5
  %2273 = call ptr @s2n_strerror(i32 noundef %2272, ptr noundef @.str.4)
  %2274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  %2276 = call ptr @s2n_strerror_debug(i32 noundef %2275, ptr noundef @.str.4)
  %2277 = call ptr @__errno_location() #12
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @strerror(i32 noundef %2278) #11
  %2280 = call ptr @__errno_location() #12
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  %2282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2269, ptr noundef @.str.5, i32 noundef %2270, ptr noundef @.str.36, ptr noundef @.str.3, i32 noundef 131, ptr noundef %2273, ptr noundef %2276, ptr noundef %2279, i32 noundef %2281) #11
  br label %2283

2283:                                             ; preds = %2266, %2249
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2284

2284:                                             ; preds = %2283
  br label %2285

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

2286:                                             ; No predecessors!
  br label %2287

2287:                                             ; preds = %2286
  br label %2288

2288:                                             ; preds = %2287, %2228
  br label %2289

2289:                                             ; preds = %2288
  br label %2290

2290:                                             ; preds = %2289
  call void @llvm.lifetime.end.p0(i64 2, ptr %45) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #11
  br label %2291

2291:                                             ; preds = %2290
  %2292 = load i64, ptr %23, align 8, !tbaa !52
  %2293 = add i64 %2292, 1
  store i64 %2293, ptr %23, align 8, !tbaa !52
  br label %897, !llvm.loop !58

2294:                                             ; preds = %900
  %2295 = load ptr, ptr %6, align 8, !tbaa !9
  %2296 = getelementptr inbounds %struct.s2n_connection, ptr %2295, i32 0, i32 26
  %2297 = load ptr, ptr %2296, align 8, !tbaa !18
  %2298 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2297, i32 0, i32 0
  %2299 = load ptr, ptr %2298, align 8, !tbaa !46
  %2300 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %2299, i32 0, i32 6
  store ptr @mock_null_sha1_record_alg, ptr %2300, align 8, !tbaa !60
  br label %2301

2301:                                             ; preds = %2294
  %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 = load ptr, ptr %6, align 8, !tbaa !9
  %2305 = getelementptr inbounds %struct.s2n_connection, ptr %2304, i32 0, i32 26
  %2306 = load ptr, ptr %2305, align 8, !tbaa !18
  %2307 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2306, i32 0, i32 3
  %2308 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %2309 = call i32 @s2n_hmac_init(ptr noundef %2307, i32 noundef 2, ptr noundef %2308, i32 noundef 15)
  %2310 = icmp eq i32 %2309, -1
  br i1 %2310, label %2311, label %2364

2311:                                             ; preds = %2301
  br label %2312

2312:                                             ; preds = %2311
  br label %2313

2313:                                             ; preds = %2312
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2314 = call ptr @__errno_location() #12
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  store i32 %2315, ptr %50, align 4, !tbaa !5
  %2316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2317 = call i32 @s2n_print_stacktrace(ptr noundef %2316)
  %2318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2319 = trunc i8 %2318 to i1
  br i1 %2319, label %2320, label %2342

2320:                                             ; preds = %2313
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = call i32 @fileno(ptr noundef %2321) #11
  %2323 = call i32 @isatty(i32 noundef %2322) #11
  %2324 = icmp ne i32 %2323, 0
  br i1 %2324, label %2325, label %2342

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

2342:                                             ; preds = %2320, %2313
  %2343 = load i32, ptr %50, align 4, !tbaa !5
  %2344 = call ptr @__errno_location() #12
  store i32 %2343, ptr %2344, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = load i32, ptr @test_count, align 4, !tbaa !5
  %2347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2348 = load i32, ptr %2347, align 4, !tbaa !5
  %2349 = call ptr @s2n_strerror(i32 noundef %2348, ptr noundef @.str.4)
  %2350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2351 = load i32, ptr %2350, align 4, !tbaa !5
  %2352 = call ptr @s2n_strerror_debug(i32 noundef %2351, ptr noundef @.str.4)
  %2353 = call ptr @__errno_location() #12
  %2354 = load i32, ptr %2353, align 4, !tbaa !5
  %2355 = call ptr @strerror(i32 noundef %2354) #11
  %2356 = call ptr @__errno_location() #12
  %2357 = load i32, ptr %2356, align 4, !tbaa !5
  %2358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2345, ptr noundef @.str.5, i32 noundef %2346, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 136, ptr noundef %2349, ptr noundef %2352, ptr noundef %2355, i32 noundef %2357) #11
  br label %2359

2359:                                             ; preds = %2342, %2325
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2360

2360:                                             ; preds = %2359
  br label %2361

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

2362:                                             ; No predecessors!
  br label %2363

2363:                                             ; preds = %2362
  br label %2364

2364:                                             ; preds = %2363, %2301
  br label %2365

2365:                                             ; preds = %2364
  br label %2366

2366:                                             ; preds = %2365
  br label %2367

2367:                                             ; preds = %2366
  %2368 = load i32, ptr @test_count, align 4, !tbaa !5
  %2369 = add nsw i32 %2368, 1
  store i32 %2369, ptr @test_count, align 4, !tbaa !5
  %2370 = load ptr, ptr %6, align 8, !tbaa !9
  %2371 = getelementptr inbounds %struct.s2n_connection, ptr %2370, i32 0, i32 26
  %2372 = load ptr, ptr %2371, align 8, !tbaa !18
  %2373 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2372, i32 0, i32 4
  %2374 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %2375 = call i32 @s2n_hmac_init(ptr noundef %2373, i32 noundef 2, ptr noundef %2374, i32 noundef 15)
  %2376 = icmp eq i32 %2375, -1
  br i1 %2376, label %2377, label %2430

2377:                                             ; preds = %2367
  br label %2378

2378:                                             ; preds = %2377
  br label %2379

2379:                                             ; preds = %2378
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2380 = call ptr @__errno_location() #12
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  store i32 %2381, ptr %51, align 4, !tbaa !5
  %2382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2383 = call i32 @s2n_print_stacktrace(ptr noundef %2382)
  %2384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2385 = trunc i8 %2384 to i1
  br i1 %2385, label %2386, label %2408

2386:                                             ; preds = %2379
  %2387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2388 = call i32 @fileno(ptr noundef %2387) #11
  %2389 = call i32 @isatty(i32 noundef %2388) #11
  %2390 = icmp ne i32 %2389, 0
  br i1 %2390, label %2391, label %2408

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

2408:                                             ; preds = %2386, %2379
  %2409 = load i32, ptr %51, align 4, !tbaa !5
  %2410 = call ptr @__errno_location() #12
  store i32 %2409, ptr %2410, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = load i32, ptr @test_count, align 4, !tbaa !5
  %2413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2414 = load i32, ptr %2413, align 4, !tbaa !5
  %2415 = call ptr @s2n_strerror(i32 noundef %2414, ptr noundef @.str.4)
  %2416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2417 = load i32, ptr %2416, align 4, !tbaa !5
  %2418 = call ptr @s2n_strerror_debug(i32 noundef %2417, ptr noundef @.str.4)
  %2419 = call ptr @__errno_location() #12
  %2420 = load i32, ptr %2419, align 4, !tbaa !5
  %2421 = call ptr @strerror(i32 noundef %2420) #11
  %2422 = call ptr @__errno_location() #12
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2411, ptr noundef @.str.5, i32 noundef %2412, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 137, ptr noundef %2415, ptr noundef %2418, ptr noundef %2421, i32 noundef %2423) #11
  br label %2425

2425:                                             ; preds = %2408, %2391
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2426

2426:                                             ; preds = %2425
  br label %2427

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

2428:                                             ; No predecessors!
  br label %2429

2429:                                             ; preds = %2428
  br label %2430

2430:                                             ; preds = %2429, %2367
  br label %2431

2431:                                             ; preds = %2430
  br label %2432

2432:                                             ; preds = %2431
  %2433 = load ptr, ptr %6, align 8, !tbaa !9
  %2434 = getelementptr inbounds %struct.s2n_connection, ptr %2433, i32 0, i32 26
  %2435 = load ptr, ptr %2434, align 8, !tbaa !18
  %2436 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2435, i32 0, i32 0
  store ptr @s2n_null_cipher_suite, ptr %2436, align 8, !tbaa !46
  %2437 = load ptr, ptr %6, align 8, !tbaa !9
  %2438 = getelementptr inbounds %struct.s2n_connection, ptr %2437, i32 0, i32 23
  store i8 32, ptr %2438, align 4, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  store i64 0, ptr %52, align 8, !tbaa !52
  br label %2439

2439:                                             ; preds = %5431, %2432
  %2440 = load i64, ptr %52, align 8, !tbaa !52
  %2441 = icmp ule i64 %2440, 8088
  br i1 %2441, label %2443, label %2442

2442:                                             ; preds = %2439
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  br label %5434

2443:                                             ; preds = %2439
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #11
  call void @llvm.memset.p0.i64(ptr align 8 %53, i8 0, i64 24, i1 false)
  br label %2444

2444:                                             ; preds = %2443
  %2445 = load i32, ptr @test_count, align 4, !tbaa !5
  %2446 = add nsw i32 %2445, 1
  store i32 %2446, ptr @test_count, align 4, !tbaa !5
  %2447 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %2448 = load i64, ptr %52, align 8, !tbaa !52
  %2449 = trunc i64 %2448 to i32
  %2450 = call i32 @s2n_blob_init(ptr noundef %53, ptr noundef %2447, i32 noundef %2449)
  %2451 = icmp eq i32 %2450, -1
  br i1 %2451, label %2452, label %2505

2452:                                             ; preds = %2444
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

2454:                                             ; preds = %2453
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2455 = call ptr @__errno_location() #12
  %2456 = load i32, ptr %2455, align 4, !tbaa !5
  store i32 %2456, ptr %54, align 4, !tbaa !5
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = call i32 @s2n_print_stacktrace(ptr noundef %2457)
  %2459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2460 = trunc i8 %2459 to i1
  br i1 %2460, label %2461, label %2483

2461:                                             ; preds = %2454
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = call i32 @fileno(ptr noundef %2462) #11
  %2464 = call i32 @isatty(i32 noundef %2463) #11
  %2465 = icmp ne i32 %2464, 0
  br i1 %2465, label %2466, label %2483

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

2483:                                             ; preds = %2461, %2454
  %2484 = load i32, ptr %54, align 4, !tbaa !5
  %2485 = call ptr @__errno_location() #12
  store i32 %2484, ptr %2485, align 4, !tbaa !5
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = load i32, ptr @test_count, align 4, !tbaa !5
  %2488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2489 = load i32, ptr %2488, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror(i32 noundef %2489, ptr noundef @.str.4)
  %2491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2492 = load i32, ptr %2491, align 4, !tbaa !5
  %2493 = call ptr @s2n_strerror_debug(i32 noundef %2492, ptr noundef @.str.4)
  %2494 = call ptr @__errno_location() #12
  %2495 = load i32, ptr %2494, align 4, !tbaa !5
  %2496 = call ptr @strerror(i32 noundef %2495) #11
  %2497 = call ptr @__errno_location() #12
  %2498 = load i32, ptr %2497, align 4, !tbaa !5
  %2499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2486, ptr noundef @.str.5, i32 noundef %2487, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 143, ptr noundef %2490, ptr noundef %2493, ptr noundef %2496, i32 noundef %2498) #11
  br label %2500

2500:                                             ; preds = %2483, %2466
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2501

2501:                                             ; preds = %2500
  br label %2502

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

2503:                                             ; No predecessors!
  br label %2504

2504:                                             ; preds = %2503
  br label %2505

2505:                                             ; preds = %2504, %2444
  br label %2506

2506:                                             ; preds = %2505
  br label %2507

2507:                                             ; preds = %2506
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  store i32 0, ptr %55, align 4, !tbaa !5
  br label %2508

2508:                                             ; preds = %2507
  %2509 = load i32, ptr @test_count, align 4, !tbaa !5
  %2510 = add nsw i32 %2509, 1
  store i32 %2510, ptr @test_count, align 4, !tbaa !5
  %2511 = call i32 @s2n_hmac_reset(ptr noundef %10)
  %2512 = icmp eq i32 %2511, -1
  br i1 %2512, label %2513, label %2566

2513:                                             ; preds = %2508
  br label %2514

2514:                                             ; preds = %2513
  br label %2515

2515:                                             ; preds = %2514
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2516 = call ptr @__errno_location() #12
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  store i32 %2517, ptr %56, align 4, !tbaa !5
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = call i32 @s2n_print_stacktrace(ptr noundef %2518)
  %2520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2521 = trunc i8 %2520 to i1
  br i1 %2521, label %2522, label %2544

2522:                                             ; preds = %2515
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = call i32 @fileno(ptr noundef %2523) #11
  %2525 = call i32 @isatty(i32 noundef %2524) #11
  %2526 = icmp ne i32 %2525, 0
  br i1 %2526, label %2527, label %2544

2527:                                             ; preds = %2522
  %2528 = load i32, ptr %56, align 4, !tbaa !5
  %2529 = call ptr @__errno_location() #12
  store i32 %2528, ptr %2529, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror(i32 noundef %2533, ptr noundef @.str.4)
  %2535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror_debug(i32 noundef %2536, ptr noundef @.str.4)
  %2538 = call ptr @__errno_location() #12
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #11
  %2541 = call ptr @__errno_location() #12
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2530, ptr noundef @.str.1, i32 noundef %2531, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 146, ptr noundef %2534, ptr noundef %2537, ptr noundef %2540, i32 noundef %2542) #11
  br label %2561

2544:                                             ; preds = %2522, %2515
  %2545 = load i32, ptr %56, align 4, !tbaa !5
  %2546 = call ptr @__errno_location() #12
  store i32 %2545, ptr %2546, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror(i32 noundef %2550, ptr noundef @.str.4)
  %2552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror_debug(i32 noundef %2553, ptr noundef @.str.4)
  %2555 = call ptr @__errno_location() #12
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @strerror(i32 noundef %2556) #11
  %2558 = call ptr @__errno_location() #12
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef @.str.5, i32 noundef %2548, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 146, ptr noundef %2551, ptr noundef %2554, ptr noundef %2557, i32 noundef %2559) #11
  br label %2561

2561:                                             ; preds = %2544, %2527
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2562

2562:                                             ; preds = %2561
  br label %2563

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

2564:                                             ; No predecessors!
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

2566:                                             ; preds = %2565, %2508
  br label %2567

2567:                                             ; preds = %2566
  br label %2568

2568:                                             ; preds = %2567
  br label %2569

2569:                                             ; preds = %2568
  %2570 = load i32, ptr @test_count, align 4, !tbaa !5
  %2571 = add nsw i32 %2570, 1
  store i32 %2571, ptr @test_count, align 4, !tbaa !5
  %2572 = load ptr, ptr %6, align 8, !tbaa !9
  %2573 = getelementptr inbounds %struct.s2n_connection, ptr %2572, i32 0, i32 26
  %2574 = load ptr, ptr %2573, align 8, !tbaa !18
  %2575 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2574, i32 0, i32 8
  %2576 = getelementptr inbounds [8 x i8], ptr %2575, i64 0, i64 0
  %2577 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %2576, i32 noundef 8)
  %2578 = icmp eq i32 %2577, -1
  br i1 %2578, label %2579, label %2632

2579:                                             ; preds = %2569
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2582 = call ptr @__errno_location() #12
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  store i32 %2583, ptr %57, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = call i32 @s2n_print_stacktrace(ptr noundef %2584)
  %2586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2587 = trunc i8 %2586 to i1
  br i1 %2587, label %2588, label %2610

2588:                                             ; preds = %2581
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = call i32 @fileno(ptr noundef %2589) #11
  %2591 = call i32 @isatty(i32 noundef %2590) #11
  %2592 = icmp ne i32 %2591, 0
  br i1 %2592, label %2593, label %2610

2593:                                             ; preds = %2588
  %2594 = load i32, ptr %57, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #12
  store i32 %2594, ptr %2595, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef @.str.4)
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef @.str.4)
  %2604 = call ptr @__errno_location() #12
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #11
  %2607 = call ptr @__errno_location() #12
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str.1, i32 noundef %2597, ptr noundef @.str.40, ptr noundef @.str.3, i32 noundef 147, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #11
  br label %2627

2610:                                             ; preds = %2588, %2581
  %2611 = load i32, ptr %57, align 4, !tbaa !5
  %2612 = call ptr @__errno_location() #12
  store i32 %2611, ptr %2612, align 4, !tbaa !5
  %2613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror(i32 noundef %2616, ptr noundef @.str.4)
  %2618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2619, ptr noundef @.str.4)
  %2621 = call ptr @__errno_location() #12
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call ptr @strerror(i32 noundef %2622) #11
  %2624 = call ptr @__errno_location() #12
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2613, ptr noundef @.str.5, i32 noundef %2614, ptr noundef @.str.40, ptr noundef @.str.3, i32 noundef 147, ptr noundef %2617, ptr noundef %2620, ptr noundef %2623, i32 noundef %2625) #11
  br label %2627

2627:                                             ; preds = %2610, %2593
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2628

2628:                                             ; preds = %2627
  br label %2629

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

2630:                                             ; No predecessors!
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631, %2569
  br label %2633

2633:                                             ; preds = %2632
  br label %2634

2634:                                             ; preds = %2633
  br label %2635

2635:                                             ; preds = %2634
  %2636 = load i32, ptr @test_count, align 4, !tbaa !5
  %2637 = add nsw i32 %2636, 1
  store i32 %2637, ptr @test_count, align 4, !tbaa !5
  %2638 = load ptr, ptr %6, align 8, !tbaa !9
  %2639 = getelementptr inbounds %struct.s2n_connection, ptr %2638, i32 0, i32 41
  %2640 = call i32 @s2n_stuffer_wipe(ptr noundef %2639)
  %2641 = icmp eq i32 %2640, -1
  br i1 %2641, label %2642, label %2695

2642:                                             ; preds = %2635
  br label %2643

2643:                                             ; preds = %2642
  br label %2644

2644:                                             ; preds = %2643
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2645 = call ptr @__errno_location() #12
  %2646 = load i32, ptr %2645, align 4, !tbaa !5
  store i32 %2646, ptr %58, align 4, !tbaa !5
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @s2n_print_stacktrace(ptr noundef %2647)
  %2649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2650 = trunc i8 %2649 to i1
  br i1 %2650, label %2651, label %2673

2651:                                             ; preds = %2644
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = call i32 @fileno(ptr noundef %2652) #11
  %2654 = call i32 @isatty(i32 noundef %2653) #11
  %2655 = icmp ne i32 %2654, 0
  br i1 %2655, label %2656, label %2673

2656:                                             ; preds = %2651
  %2657 = load i32, ptr %58, align 4, !tbaa !5
  %2658 = call ptr @__errno_location() #12
  store i32 %2657, ptr %2658, align 4, !tbaa !5
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2660 = load i32, ptr @test_count, align 4, !tbaa !5
  %2661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2662 = load i32, ptr %2661, align 4, !tbaa !5
  %2663 = call ptr @s2n_strerror(i32 noundef %2662, ptr noundef @.str.4)
  %2664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2665 = load i32, ptr %2664, align 4, !tbaa !5
  %2666 = call ptr @s2n_strerror_debug(i32 noundef %2665, ptr noundef @.str.4)
  %2667 = call ptr @__errno_location() #12
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = call ptr @strerror(i32 noundef %2668) #11
  %2670 = call ptr @__errno_location() #12
  %2671 = load i32, ptr %2670, align 4, !tbaa !5
  %2672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2659, ptr noundef @.str.1, i32 noundef %2660, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 149, ptr noundef %2663, ptr noundef %2666, ptr noundef %2669, i32 noundef %2671) #11
  br label %2690

2673:                                             ; preds = %2651, %2644
  %2674 = load i32, ptr %58, align 4, !tbaa !5
  %2675 = call ptr @__errno_location() #12
  store i32 %2674, ptr %2675, align 4, !tbaa !5
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = load i32, ptr @test_count, align 4, !tbaa !5
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror(i32 noundef %2679, ptr noundef @.str.4)
  %2681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef @.str.4)
  %2684 = call ptr @__errno_location() #12
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call ptr @strerror(i32 noundef %2685) #11
  %2687 = call ptr @__errno_location() #12
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  %2689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2676, ptr noundef @.str.5, i32 noundef %2677, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 149, ptr noundef %2680, ptr noundef %2683, ptr noundef %2686, i32 noundef %2688) #11
  br label %2690

2690:                                             ; preds = %2673, %2656
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2691

2691:                                             ; preds = %2690
  br label %2692

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

2693:                                             ; No predecessors!
  br label %2694

2694:                                             ; preds = %2693
  br label %2695

2695:                                             ; preds = %2694, %2635
  br label %2696

2696:                                             ; preds = %2695
  br label %2697

2697:                                             ; preds = %2696
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %2698 = load ptr, ptr %6, align 8, !tbaa !9
  %2699 = call i32 @s2n_record_write(ptr noundef %2698, i8 noundef zeroext 21, ptr noundef %53)
  %2700 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %2699, ptr %2700, align 4
  %2701 = load i64, ptr %52, align 8, !tbaa !52
  %2702 = icmp ule i64 %2701, 8087
  br i1 %2702, label %2703, label %2768

2703:                                             ; preds = %2697
  br label %2704

2704:                                             ; preds = %2703
  %2705 = load i32, ptr @test_count, align 4, !tbaa !5
  %2706 = add nsw i32 %2705, 1
  store i32 %2706, ptr @test_count, align 4, !tbaa !5
  %2707 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  %2708 = load i32, ptr %2707, align 4
  %2709 = call zeroext i1 @s2n_result_is_ok(i32 %2708)
  br i1 %2709, label %2763, label %2710

2710:                                             ; preds = %2704
  br label %2711

2711:                                             ; preds = %2710
  br label %2712

2712:                                             ; preds = %2711
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2713 = call ptr @__errno_location() #12
  %2714 = load i32, ptr %2713, align 4, !tbaa !5
  store i32 %2714, ptr %60, align 4, !tbaa !5
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = call i32 @s2n_print_stacktrace(ptr noundef %2715)
  %2717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2718 = trunc i8 %2717 to i1
  br i1 %2718, label %2719, label %2741

2719:                                             ; preds = %2712
  %2720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2721 = call i32 @fileno(ptr noundef %2720) #11
  %2722 = call i32 @isatty(i32 noundef %2721) #11
  %2723 = icmp ne i32 %2722, 0
  br i1 %2723, label %2724, label %2741

2724:                                             ; preds = %2719
  %2725 = load i32, ptr %60, align 4, !tbaa !5
  %2726 = call ptr @__errno_location() #12
  store i32 %2725, ptr %2726, align 4, !tbaa !5
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call ptr @s2n_strerror(i32 noundef %2730, ptr noundef @.str.4)
  %2732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror_debug(i32 noundef %2733, ptr noundef @.str.4)
  %2735 = call ptr @__errno_location() #12
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call ptr @strerror(i32 noundef %2736) #11
  %2738 = call ptr @__errno_location() #12
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2727, ptr noundef @.str.1, i32 noundef %2728, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 153, ptr noundef %2731, ptr noundef %2734, ptr noundef %2737, i32 noundef %2739) #11
  br label %2758

2741:                                             ; preds = %2719, %2712
  %2742 = load i32, ptr %60, align 4, !tbaa !5
  %2743 = call ptr @__errno_location() #12
  store i32 %2742, ptr %2743, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2747 = load i32, ptr %2746, align 4, !tbaa !5
  %2748 = call ptr @s2n_strerror(i32 noundef %2747, ptr noundef @.str.4)
  %2749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror_debug(i32 noundef %2750, ptr noundef @.str.4)
  %2752 = call ptr @__errno_location() #12
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = call ptr @strerror(i32 noundef %2753) #11
  %2755 = call ptr @__errno_location() #12
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2744, ptr noundef @.str.5, i32 noundef %2745, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 153, ptr noundef %2748, ptr noundef %2751, ptr noundef %2754, i32 noundef %2756) #11
  br label %2758

2758:                                             ; preds = %2741, %2724
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2759

2759:                                             ; preds = %2758
  br label %2760

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

2761:                                             ; No predecessors!
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

2763:                                             ; preds = %2762, %2704
  br label %2764

2764:                                             ; preds = %2763
  br label %2765

2765:                                             ; preds = %2764
  %2766 = load i64, ptr %52, align 8, !tbaa !52
  %2767 = trunc i64 %2766 to i32
  store i32 %2767, ptr %55, align 4, !tbaa !5
  br label %2967

2768:                                             ; preds = %2697
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

2770:                                             ; preds = %2769
  br label %2771

2771:                                             ; preds = %2770
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = add nsw i32 %2772, 1
  store i32 %2773, ptr @test_count, align 4, !tbaa !5
  %2774 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  %2775 = load i32, ptr %2774, align 4
  %2776 = call zeroext i1 @s2n_result_is_error(i32 %2775)
  br i1 %2776, label %2830, label %2777

2777:                                             ; preds = %2771
  br label %2778

2778:                                             ; preds = %2777
  br label %2779

2779:                                             ; preds = %2778
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2780 = call ptr @__errno_location() #12
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  store i32 %2781, ptr %61, align 4, !tbaa !5
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @s2n_print_stacktrace(ptr noundef %2782)
  %2784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2785 = trunc i8 %2784 to i1
  br i1 %2785, label %2786, label %2808

2786:                                             ; preds = %2779
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @fileno(ptr noundef %2787) #11
  %2789 = call i32 @isatty(i32 noundef %2788) #11
  %2790 = icmp ne i32 %2789, 0
  br i1 %2790, label %2791, label %2808

2791:                                             ; preds = %2786
  %2792 = load i32, ptr %61, align 4, !tbaa !5
  %2793 = call ptr @__errno_location() #12
  store i32 %2792, ptr %2793, align 4, !tbaa !5
  %2794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2795 = load i32, ptr @test_count, align 4, !tbaa !5
  %2796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2797 = load i32, ptr %2796, align 4, !tbaa !5
  %2798 = call ptr @s2n_strerror(i32 noundef %2797, ptr noundef @.str.4)
  %2799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2800 = load i32, ptr %2799, align 4, !tbaa !5
  %2801 = call ptr @s2n_strerror_debug(i32 noundef %2800, ptr noundef @.str.4)
  %2802 = call ptr @__errno_location() #12
  %2803 = load i32, ptr %2802, align 4, !tbaa !5
  %2804 = call ptr @strerror(i32 noundef %2803) #11
  %2805 = call ptr @__errno_location() #12
  %2806 = load i32, ptr %2805, align 4, !tbaa !5
  %2807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2794, ptr noundef @.str.1, i32 noundef %2795, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2798, ptr noundef %2801, ptr noundef %2804, i32 noundef %2806) #11
  br label %2825

2808:                                             ; preds = %2786, %2779
  %2809 = load i32, ptr %61, align 4, !tbaa !5
  %2810 = call ptr @__errno_location() #12
  store i32 %2809, ptr %2810, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2814 = load i32, ptr %2813, align 4, !tbaa !5
  %2815 = call ptr @s2n_strerror(i32 noundef %2814, ptr noundef @.str.4)
  %2816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  %2818 = call ptr @s2n_strerror_debug(i32 noundef %2817, ptr noundef @.str.4)
  %2819 = call ptr @__errno_location() #12
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @strerror(i32 noundef %2820) #11
  %2822 = call ptr @__errno_location() #12
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2811, ptr noundef @.str.5, i32 noundef %2812, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2815, ptr noundef %2818, ptr noundef %2821, i32 noundef %2823) #11
  br label %2825

2825:                                             ; preds = %2808, %2791
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2826

2826:                                             ; preds = %2825
  br label %2827

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

2828:                                             ; No predecessors!
  br label %2829

2829:                                             ; preds = %2828
  br label %2830

2830:                                             ; preds = %2829, %2771
  br label %2831

2831:                                             ; preds = %2830
  br label %2832

2832:                                             ; preds = %2831
  br label %2833

2833:                                             ; preds = %2832
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = icmp eq i32 %2837, 335544390
  br i1 %2838, label %2892, label %2839

2839:                                             ; preds = %2833
  br label %2840

2840:                                             ; preds = %2839
  br label %2841

2841:                                             ; preds = %2840
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2842 = call ptr @__errno_location() #12
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  store i32 %2843, ptr %62, align 4, !tbaa !5
  %2844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2845 = call i32 @s2n_print_stacktrace(ptr noundef %2844)
  %2846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2847 = trunc i8 %2846 to i1
  br i1 %2847, label %2848, label %2870

2848:                                             ; preds = %2841
  %2849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2850 = call i32 @fileno(ptr noundef %2849) #11
  %2851 = call i32 @isatty(i32 noundef %2850) #11
  %2852 = icmp ne i32 %2851, 0
  br i1 %2852, label %2853, label %2870

2853:                                             ; preds = %2848
  %2854 = load i32, ptr %62, align 4, !tbaa !5
  %2855 = call ptr @__errno_location() #12
  store i32 %2854, ptr %2855, align 4, !tbaa !5
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = load i32, ptr @test_count, align 4, !tbaa !5
  %2858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2859 = load i32, ptr %2858, align 4, !tbaa !5
  %2860 = call ptr @s2n_strerror(i32 noundef %2859, ptr noundef @.str.4)
  %2861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2862 = load i32, ptr %2861, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror_debug(i32 noundef %2862, ptr noundef @.str.4)
  %2864 = call ptr @__errno_location() #12
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @strerror(i32 noundef %2865) #11
  %2867 = call ptr @__errno_location() #12
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2856, ptr noundef @.str.1, i32 noundef %2857, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2860, ptr noundef %2863, ptr noundef %2866, i32 noundef %2868) #11
  br label %2887

2870:                                             ; preds = %2848, %2841
  %2871 = load i32, ptr %62, align 4, !tbaa !5
  %2872 = call ptr @__errno_location() #12
  store i32 %2871, ptr %2872, align 4, !tbaa !5
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = load i32, ptr @test_count, align 4, !tbaa !5
  %2875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2876 = load i32, ptr %2875, align 4, !tbaa !5
  %2877 = call ptr @s2n_strerror(i32 noundef %2876, ptr noundef @.str.4)
  %2878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror_debug(i32 noundef %2879, ptr noundef @.str.4)
  %2881 = call ptr @__errno_location() #12
  %2882 = load i32, ptr %2881, align 4, !tbaa !5
  %2883 = call ptr @strerror(i32 noundef %2882) #11
  %2884 = call ptr @__errno_location() #12
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  %2886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2873, ptr noundef @.str.5, i32 noundef %2874, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2877, ptr noundef %2880, ptr noundef %2883, i32 noundef %2885) #11
  br label %2887

2887:                                             ; preds = %2870, %2853
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2888

2888:                                             ; preds = %2887
  br label %2889

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

2890:                                             ; No predecessors!
  br label %2891

2891:                                             ; preds = %2890
  br label %2892

2892:                                             ; preds = %2891, %2833
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894
  %2896 = load i32, ptr @test_count, align 4, !tbaa !5
  %2897 = add nsw i32 %2896, 1
  store i32 %2897, ptr @test_count, align 4, !tbaa !5
  %2898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror_debug(i32 noundef %2899, ptr noundef @.str.4)
  %2901 = icmp eq ptr %2900, null
  br i1 %2901, label %2902, label %2955

2902:                                             ; preds = %2895
  br label %2903

2903:                                             ; preds = %2902
  br label %2904

2904:                                             ; preds = %2903
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %2905 = call ptr @__errno_location() #12
  %2906 = load i32, ptr %2905, align 4, !tbaa !5
  store i32 %2906, ptr %63, align 4, !tbaa !5
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = call i32 @s2n_print_stacktrace(ptr noundef %2907)
  %2909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2910 = trunc i8 %2909 to i1
  br i1 %2910, label %2911, label %2933

2911:                                             ; preds = %2904
  %2912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2913 = call i32 @fileno(ptr noundef %2912) #11
  %2914 = call i32 @isatty(i32 noundef %2913) #11
  %2915 = icmp ne i32 %2914, 0
  br i1 %2915, label %2916, label %2933

2916:                                             ; preds = %2911
  %2917 = load i32, ptr %63, align 4, !tbaa !5
  %2918 = call ptr @__errno_location() #12
  store i32 %2917, ptr %2918, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2922 = load i32, ptr %2921, align 4, !tbaa !5
  %2923 = call ptr @s2n_strerror(i32 noundef %2922, ptr noundef @.str.4)
  %2924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2925 = load i32, ptr %2924, align 4, !tbaa !5
  %2926 = call ptr @s2n_strerror_debug(i32 noundef %2925, ptr noundef @.str.4)
  %2927 = call ptr @__errno_location() #12
  %2928 = load i32, ptr %2927, align 4, !tbaa !5
  %2929 = call ptr @strerror(i32 noundef %2928) #11
  %2930 = call ptr @__errno_location() #12
  %2931 = load i32, ptr %2930, align 4, !tbaa !5
  %2932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2919, ptr noundef @.str.1, i32 noundef %2920, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2923, ptr noundef %2926, ptr noundef %2929, i32 noundef %2931) #11
  br label %2950

2933:                                             ; preds = %2911, %2904
  %2934 = load i32, ptr %63, align 4, !tbaa !5
  %2935 = call ptr @__errno_location() #12
  store i32 %2934, ptr %2935, align 4, !tbaa !5
  %2936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2937 = load i32, ptr @test_count, align 4, !tbaa !5
  %2938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2939 = load i32, ptr %2938, align 4, !tbaa !5
  %2940 = call ptr @s2n_strerror(i32 noundef %2939, ptr noundef @.str.4)
  %2941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2942 = load i32, ptr %2941, align 4, !tbaa !5
  %2943 = call ptr @s2n_strerror_debug(i32 noundef %2942, ptr noundef @.str.4)
  %2944 = call ptr @__errno_location() #12
  %2945 = load i32, ptr %2944, align 4, !tbaa !5
  %2946 = call ptr @strerror(i32 noundef %2945) #11
  %2947 = call ptr @__errno_location() #12
  %2948 = load i32, ptr %2947, align 4, !tbaa !5
  %2949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2936, ptr noundef @.str.5, i32 noundef %2937, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 156, ptr noundef %2940, ptr noundef %2943, ptr noundef %2946, i32 noundef %2948) #11
  br label %2950

2950:                                             ; preds = %2933, %2916
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %2951

2951:                                             ; preds = %2950
  br label %2952

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

2953:                                             ; No predecessors!
  br label %2954

2954:                                             ; preds = %2953
  br label %2955

2955:                                             ; preds = %2954, %2895
  br label %2956

2956:                                             ; preds = %2955
  br label %2957

2957:                                             ; preds = %2956
  br label %2958

2958:                                             ; preds = %2957
  br label %2959

2959:                                             ; preds = %2958
  br label %2960

2960:                                             ; preds = %2959
  %2961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2961, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2962 = call ptr @__errno_location() #12
  store i32 0, ptr %2962, align 4, !tbaa !5
  br label %2963

2963:                                             ; preds = %2960
  br label %2964

2964:                                             ; preds = %2963
  br label %2965

2965:                                             ; preds = %2964
  br label %2966

2966:                                             ; preds = %2965
  store i32 8087, ptr %55, align 4, !tbaa !5
  br label %2967

2967:                                             ; preds = %2966, %2765
  call void @llvm.lifetime.start.p0(i64 2, ptr %64) #11
  %2968 = load i32, ptr %55, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 20
  %2970 = trunc i32 %2969 to i16
  store i16 %2970, ptr %64, align 2, !tbaa !57
  br label %2971

2971:                                             ; preds = %2967
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = add nsw i32 %2972, 1
  store i32 %2973, ptr @test_count, align 4, !tbaa !5
  %2974 = load ptr, ptr %6, align 8, !tbaa !9
  %2975 = getelementptr inbounds %struct.s2n_connection, ptr %2974, i32 0, i32 41
  %2976 = getelementptr inbounds %struct.s2n_stuffer, ptr %2975, i32 0, i32 0
  %2977 = getelementptr inbounds %struct.s2n_blob, ptr %2976, i32 0, i32 0
  %2978 = load ptr, ptr %2977, align 8, !tbaa !53
  %2979 = getelementptr inbounds i8, ptr %2978, i64 0
  %2980 = load i8, ptr %2979, align 1, !tbaa !54
  %2981 = zext i8 %2980 to i32
  %2982 = icmp eq i32 %2981, 21
  br i1 %2982, label %3036, label %2983

2983:                                             ; preds = %2971
  br label %2984

2984:                                             ; preds = %2983
  br label %2985

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

2992:                                             ; preds = %2985
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2994 = call i32 @fileno(ptr noundef %2993) #11
  %2995 = call i32 @isatty(i32 noundef %2994) #11
  %2996 = icmp ne i32 %2995, 0
  br i1 %2996, label %2997, label %3014

2997:                                             ; preds = %2992
  %2998 = load i32, ptr %65, align 4, !tbaa !5
  %2999 = call ptr @__errno_location() #12
  store i32 %2998, ptr %2999, align 4, !tbaa !5
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = load i32, ptr @test_count, align 4, !tbaa !5
  %3002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror(i32 noundef %3003, ptr noundef @.str.4)
  %3005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call ptr @s2n_strerror_debug(i32 noundef %3006, ptr noundef @.str.4)
  %3008 = call ptr @__errno_location() #12
  %3009 = load i32, ptr %3008, align 4, !tbaa !5
  %3010 = call ptr @strerror(i32 noundef %3009) #11
  %3011 = call ptr @__errno_location() #12
  %3012 = load i32, ptr %3011, align 4, !tbaa !5
  %3013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3000, ptr noundef @.str.1, i32 noundef %3001, ptr noundef @.str.22, ptr noundef @.str.3, i32 noundef 161, ptr noundef %3004, ptr noundef %3007, ptr noundef %3010, i32 noundef %3012) #11
  br label %3031

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

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

3032:                                             ; preds = %3031
  br label %3033

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

3034:                                             ; No predecessors!
  br label %3035

3035:                                             ; preds = %3034
  br label %3036

3036:                                             ; preds = %3035, %2971
  br label %3037

3037:                                             ; preds = %3036
  br label %3038

3038:                                             ; preds = %3037
  br label %3039

3039:                                             ; preds = %3038
  %3040 = load i32, ptr @test_count, align 4, !tbaa !5
  %3041 = add nsw i32 %3040, 1
  store i32 %3041, ptr @test_count, align 4, !tbaa !5
  %3042 = load ptr, ptr %6, align 8, !tbaa !9
  %3043 = getelementptr inbounds %struct.s2n_connection, ptr %3042, i32 0, i32 41
  %3044 = getelementptr inbounds %struct.s2n_stuffer, ptr %3043, i32 0, i32 0
  %3045 = getelementptr inbounds %struct.s2n_blob, ptr %3044, i32 0, i32 0
  %3046 = load ptr, ptr %3045, align 8, !tbaa !53
  %3047 = getelementptr inbounds i8, ptr %3046, i64 1
  %3048 = load i8, ptr %3047, align 1, !tbaa !54
  %3049 = zext i8 %3048 to i32
  %3050 = icmp eq i32 %3049, 3
  br i1 %3050, label %3104, label %3051

3051:                                             ; preds = %3039
  br label %3052

3052:                                             ; preds = %3051
  br label %3053

3053:                                             ; preds = %3052
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3054 = call ptr @__errno_location() #12
  %3055 = load i32, ptr %3054, align 4, !tbaa !5
  store i32 %3055, ptr %66, align 4, !tbaa !5
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = call i32 @s2n_print_stacktrace(ptr noundef %3056)
  %3058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3059 = trunc i8 %3058 to i1
  br i1 %3059, label %3060, label %3082

3060:                                             ; preds = %3053
  %3061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3062 = call i32 @fileno(ptr noundef %3061) #11
  %3063 = call i32 @isatty(i32 noundef %3062) #11
  %3064 = icmp ne i32 %3063, 0
  br i1 %3064, label %3065, label %3082

3065:                                             ; preds = %3060
  %3066 = load i32, ptr %66, align 4, !tbaa !5
  %3067 = call ptr @__errno_location() #12
  store i32 %3066, ptr %3067, align 4, !tbaa !5
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = load i32, ptr @test_count, align 4, !tbaa !5
  %3070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3071 = load i32, ptr %3070, align 4, !tbaa !5
  %3072 = call ptr @s2n_strerror(i32 noundef %3071, ptr noundef @.str.4)
  %3073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3074 = load i32, ptr %3073, align 4, !tbaa !5
  %3075 = call ptr @s2n_strerror_debug(i32 noundef %3074, ptr noundef @.str.4)
  %3076 = call ptr @__errno_location() #12
  %3077 = load i32, ptr %3076, align 4, !tbaa !5
  %3078 = call ptr @strerror(i32 noundef %3077) #11
  %3079 = call ptr @__errno_location() #12
  %3080 = load i32, ptr %3079, align 4, !tbaa !5
  %3081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3068, ptr noundef @.str.1, i32 noundef %3069, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 162, ptr noundef %3072, ptr noundef %3075, ptr noundef %3078, i32 noundef %3080) #11
  br label %3099

3082:                                             ; preds = %3060, %3053
  %3083 = load i32, ptr %66, align 4, !tbaa !5
  %3084 = call ptr @__errno_location() #12
  store i32 %3083, ptr %3084, align 4, !tbaa !5
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = load i32, ptr @test_count, align 4, !tbaa !5
  %3087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror(i32 noundef %3088, ptr noundef @.str.4)
  %3090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3091 = load i32, ptr %3090, align 4, !tbaa !5
  %3092 = call ptr @s2n_strerror_debug(i32 noundef %3091, ptr noundef @.str.4)
  %3093 = call ptr @__errno_location() #12
  %3094 = load i32, ptr %3093, align 4, !tbaa !5
  %3095 = call ptr @strerror(i32 noundef %3094) #11
  %3096 = call ptr @__errno_location() #12
  %3097 = load i32, ptr %3096, align 4, !tbaa !5
  %3098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3085, ptr noundef @.str.5, i32 noundef %3086, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 162, ptr noundef %3089, ptr noundef %3092, ptr noundef %3095, i32 noundef %3097) #11
  br label %3099

3099:                                             ; preds = %3082, %3065
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3100

3100:                                             ; preds = %3099
  br label %3101

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

3102:                                             ; No predecessors!
  br label %3103

3103:                                             ; preds = %3102
  br label %3104

3104:                                             ; preds = %3103, %3039
  br label %3105

3105:                                             ; preds = %3104
  br label %3106

3106:                                             ; preds = %3105
  br label %3107

3107:                                             ; preds = %3106
  %3108 = load i32, ptr @test_count, align 4, !tbaa !5
  %3109 = add nsw i32 %3108, 1
  store i32 %3109, ptr @test_count, align 4, !tbaa !5
  %3110 = load ptr, ptr %6, align 8, !tbaa !9
  %3111 = getelementptr inbounds %struct.s2n_connection, ptr %3110, i32 0, i32 41
  %3112 = getelementptr inbounds %struct.s2n_stuffer, ptr %3111, i32 0, i32 0
  %3113 = getelementptr inbounds %struct.s2n_blob, ptr %3112, i32 0, i32 0
  %3114 = load ptr, ptr %3113, align 8, !tbaa !53
  %3115 = getelementptr inbounds i8, ptr %3114, i64 2
  %3116 = load i8, ptr %3115, align 1, !tbaa !54
  %3117 = zext i8 %3116 to i32
  %3118 = icmp eq i32 %3117, 2
  br i1 %3118, label %3172, label %3119

3119:                                             ; preds = %3107
  br label %3120

3120:                                             ; preds = %3119
  br label %3121

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

3128:                                             ; preds = %3121
  %3129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3130 = call i32 @fileno(ptr noundef %3129) #11
  %3131 = call i32 @isatty(i32 noundef %3130) #11
  %3132 = icmp ne i32 %3131, 0
  br i1 %3132, label %3133, label %3150

3133:                                             ; preds = %3128
  %3134 = load i32, ptr %67, align 4, !tbaa !5
  %3135 = call ptr @__errno_location() #12
  store i32 %3134, ptr %3135, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = load i32, ptr @test_count, align 4, !tbaa !5
  %3138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3139 = load i32, ptr %3138, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror(i32 noundef %3139, ptr noundef @.str.4)
  %3141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3142 = load i32, ptr %3141, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror_debug(i32 noundef %3142, ptr noundef @.str.4)
  %3144 = call ptr @__errno_location() #12
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  %3146 = call ptr @strerror(i32 noundef %3145) #11
  %3147 = call ptr @__errno_location() #12
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3136, ptr noundef @.str.1, i32 noundef %3137, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 163, ptr noundef %3140, ptr noundef %3143, ptr noundef %3146, i32 noundef %3148) #11
  br label %3167

3150:                                             ; preds = %3128, %3121
  %3151 = load i32, ptr %67, align 4, !tbaa !5
  %3152 = call ptr @__errno_location() #12
  store i32 %3151, ptr %3152, align 4, !tbaa !5
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = load i32, ptr @test_count, align 4, !tbaa !5
  %3155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef @.str.4)
  %3158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call ptr @s2n_strerror_debug(i32 noundef %3159, ptr noundef @.str.4)
  %3161 = call ptr @__errno_location() #12
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call ptr @strerror(i32 noundef %3162) #11
  %3164 = call ptr @__errno_location() #12
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3153, ptr noundef @.str.5, i32 noundef %3154, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 163, ptr noundef %3157, ptr noundef %3160, ptr noundef %3163, i32 noundef %3165) #11
  br label %3167

3167:                                             ; preds = %3150, %3133
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3168

3168:                                             ; preds = %3167
  br label %3169

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

3170:                                             ; No predecessors!
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171, %3107
  br label %3173

3173:                                             ; preds = %3172
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = add nsw i32 %3176, 1
  store i32 %3177, ptr @test_count, align 4, !tbaa !5
  %3178 = load ptr, ptr %6, align 8, !tbaa !9
  %3179 = getelementptr inbounds %struct.s2n_connection, ptr %3178, i32 0, i32 41
  %3180 = getelementptr inbounds %struct.s2n_stuffer, ptr %3179, i32 0, i32 0
  %3181 = getelementptr inbounds %struct.s2n_blob, ptr %3180, i32 0, i32 0
  %3182 = load ptr, ptr %3181, align 8, !tbaa !53
  %3183 = getelementptr inbounds i8, ptr %3182, i64 3
  %3184 = load i8, ptr %3183, align 1, !tbaa !54
  %3185 = zext i8 %3184 to i32
  %3186 = load i16, ptr %64, align 2, !tbaa !57
  %3187 = zext i16 %3186 to i32
  %3188 = ashr i32 %3187, 8
  %3189 = and i32 %3188, 255
  %3190 = icmp eq i32 %3185, %3189
  br i1 %3190, label %3244, label %3191

3191:                                             ; preds = %3175
  br label %3192

3192:                                             ; preds = %3191
  br label %3193

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

3200:                                             ; preds = %3193
  %3201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3202 = call i32 @fileno(ptr noundef %3201) #11
  %3203 = call i32 @isatty(i32 noundef %3202) #11
  %3204 = icmp ne i32 %3203, 0
  br i1 %3204, label %3205, label %3222

3205:                                             ; preds = %3200
  %3206 = load i32, ptr %68, align 4, !tbaa !5
  %3207 = call ptr @__errno_location() #12
  store i32 %3206, ptr %3207, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror(i32 noundef %3211, ptr noundef @.str.4)
  %3213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @s2n_strerror_debug(i32 noundef %3214, ptr noundef @.str.4)
  %3216 = call ptr @__errno_location() #12
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call ptr @strerror(i32 noundef %3217) #11
  %3219 = call ptr @__errno_location() #12
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3208, ptr noundef @.str.1, i32 noundef %3209, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 164, ptr noundef %3212, ptr noundef %3215, ptr noundef %3218, i32 noundef %3220) #11
  br label %3239

3222:                                             ; preds = %3200, %3193
  %3223 = load i32, ptr %68, align 4, !tbaa !5
  %3224 = call ptr @__errno_location() #12
  store i32 %3223, ptr %3224, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = load i32, ptr @test_count, align 4, !tbaa !5
  %3227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror(i32 noundef %3228, ptr noundef @.str.4)
  %3230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call ptr @s2n_strerror_debug(i32 noundef %3231, ptr noundef @.str.4)
  %3233 = call ptr @__errno_location() #12
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call ptr @strerror(i32 noundef %3234) #11
  %3236 = call ptr @__errno_location() #12
  %3237 = load i32, ptr %3236, align 4, !tbaa !5
  %3238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3225, ptr noundef @.str.5, i32 noundef %3226, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 164, ptr noundef %3229, ptr noundef %3232, ptr noundef %3235, i32 noundef %3237) #11
  br label %3239

3239:                                             ; preds = %3222, %3205
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

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

3242:                                             ; No predecessors!
  br label %3243

3243:                                             ; preds = %3242
  br label %3244

3244:                                             ; preds = %3243, %3175
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

3246:                                             ; preds = %3245
  br label %3247

3247:                                             ; preds = %3246
  %3248 = load i32, ptr @test_count, align 4, !tbaa !5
  %3249 = add nsw i32 %3248, 1
  store i32 %3249, ptr @test_count, align 4, !tbaa !5
  %3250 = load ptr, ptr %6, align 8, !tbaa !9
  %3251 = getelementptr inbounds %struct.s2n_connection, ptr %3250, i32 0, i32 41
  %3252 = getelementptr inbounds %struct.s2n_stuffer, ptr %3251, i32 0, i32 0
  %3253 = getelementptr inbounds %struct.s2n_blob, ptr %3252, i32 0, i32 0
  %3254 = load ptr, ptr %3253, align 8, !tbaa !53
  %3255 = getelementptr inbounds i8, ptr %3254, i64 4
  %3256 = load i8, ptr %3255, align 1, !tbaa !54
  %3257 = zext i8 %3256 to i32
  %3258 = load i16, ptr %64, align 2, !tbaa !57
  %3259 = zext i16 %3258 to i32
  %3260 = and i32 %3259, 255
  %3261 = icmp eq i32 %3257, %3260
  br i1 %3261, label %3315, label %3262

3262:                                             ; preds = %3247
  br label %3263

3263:                                             ; preds = %3262
  br label %3264

3264:                                             ; preds = %3263
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3265 = call ptr @__errno_location() #12
  %3266 = load i32, ptr %3265, align 4, !tbaa !5
  store i32 %3266, ptr %69, align 4, !tbaa !5
  %3267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3268 = call i32 @s2n_print_stacktrace(ptr noundef %3267)
  %3269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3270 = trunc i8 %3269 to i1
  br i1 %3270, label %3271, label %3293

3271:                                             ; preds = %3264
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @fileno(ptr noundef %3272) #11
  %3274 = call i32 @isatty(i32 noundef %3273) #11
  %3275 = icmp ne i32 %3274, 0
  br i1 %3275, label %3276, label %3293

3276:                                             ; preds = %3271
  %3277 = load i32, ptr %69, align 4, !tbaa !5
  %3278 = call ptr @__errno_location() #12
  store i32 %3277, ptr %3278, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = load i32, ptr @test_count, align 4, !tbaa !5
  %3281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = call ptr @s2n_strerror(i32 noundef %3282, ptr noundef @.str.4)
  %3284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3285 = load i32, ptr %3284, align 4, !tbaa !5
  %3286 = call ptr @s2n_strerror_debug(i32 noundef %3285, ptr noundef @.str.4)
  %3287 = call ptr @__errno_location() #12
  %3288 = load i32, ptr %3287, align 4, !tbaa !5
  %3289 = call ptr @strerror(i32 noundef %3288) #11
  %3290 = call ptr @__errno_location() #12
  %3291 = load i32, ptr %3290, align 4, !tbaa !5
  %3292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3279, ptr noundef @.str.1, i32 noundef %3280, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 165, ptr noundef %3283, ptr noundef %3286, ptr noundef %3289, i32 noundef %3291) #11
  br label %3310

3293:                                             ; preds = %3271, %3264
  %3294 = load i32, ptr %69, align 4, !tbaa !5
  %3295 = call ptr @__errno_location() #12
  store i32 %3294, ptr %3295, align 4, !tbaa !5
  %3296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3297 = load i32, ptr @test_count, align 4, !tbaa !5
  %3298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror(i32 noundef %3299, ptr noundef @.str.4)
  %3301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3302 = load i32, ptr %3301, align 4, !tbaa !5
  %3303 = call ptr @s2n_strerror_debug(i32 noundef %3302, ptr noundef @.str.4)
  %3304 = call ptr @__errno_location() #12
  %3305 = load i32, ptr %3304, align 4, !tbaa !5
  %3306 = call ptr @strerror(i32 noundef %3305) #11
  %3307 = call ptr @__errno_location() #12
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3296, ptr noundef @.str.5, i32 noundef %3297, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 165, ptr noundef %3300, ptr noundef %3303, ptr noundef %3306, i32 noundef %3308) #11
  br label %3310

3310:                                             ; preds = %3293, %3276
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3311

3311:                                             ; preds = %3310
  br label %3312

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

3313:                                             ; No predecessors!
  br label %3314

3314:                                             ; preds = %3313
  br label %3315

3315:                                             ; preds = %3314, %3247
  br label %3316

3316:                                             ; preds = %3315
  br label %3317

3317:                                             ; preds = %3316
  br label %3318

3318:                                             ; preds = %3317
  %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
  %3321 = load ptr, ptr %6, align 8, !tbaa !9
  %3322 = getelementptr inbounds %struct.s2n_connection, ptr %3321, i32 0, i32 41
  %3323 = getelementptr inbounds %struct.s2n_stuffer, ptr %3322, i32 0, i32 0
  %3324 = getelementptr inbounds %struct.s2n_blob, ptr %3323, i32 0, i32 0
  %3325 = load ptr, ptr %3324, align 8, !tbaa !53
  %3326 = getelementptr inbounds i8, ptr %3325, i64 5
  %3327 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %3328 = load i32, ptr %55, align 4, !tbaa !5
  %3329 = sext i32 %3328 to i64
  %3330 = call i32 @memcmp(ptr noundef %3326, ptr noundef %3327, i64 noundef %3329) #14
  %3331 = icmp eq i32 %3330, 0
  br i1 %3331, label %3385, label %3332

3332:                                             ; preds = %3318
  br label %3333

3333:                                             ; preds = %3332
  br label %3334

3334:                                             ; preds = %3333
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3335 = call ptr @__errno_location() #12
  %3336 = load i32, ptr %3335, align 4, !tbaa !5
  store i32 %3336, ptr %70, align 4, !tbaa !5
  %3337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3338 = call i32 @s2n_print_stacktrace(ptr noundef %3337)
  %3339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3340 = trunc i8 %3339 to i1
  br i1 %3340, label %3341, label %3363

3341:                                             ; preds = %3334
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = call i32 @fileno(ptr noundef %3342) #11
  %3344 = call i32 @isatty(i32 noundef %3343) #11
  %3345 = icmp ne i32 %3344, 0
  br i1 %3345, label %3346, label %3363

3346:                                             ; preds = %3341
  %3347 = load i32, ptr %70, align 4, !tbaa !5
  %3348 = call ptr @__errno_location() #12
  store i32 %3347, ptr %3348, align 4, !tbaa !5
  %3349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3350 = load i32, ptr @test_count, align 4, !tbaa !5
  %3351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3352 = load i32, ptr %3351, align 4, !tbaa !5
  %3353 = call ptr @s2n_strerror(i32 noundef %3352, ptr noundef @.str.4)
  %3354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3355 = load i32, ptr %3354, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror_debug(i32 noundef %3355, ptr noundef @.str.4)
  %3357 = call ptr @__errno_location() #12
  %3358 = load i32, ptr %3357, align 4, !tbaa !5
  %3359 = call ptr @strerror(i32 noundef %3358) #11
  %3360 = call ptr @__errno_location() #12
  %3361 = load i32, ptr %3360, align 4, !tbaa !5
  %3362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3349, ptr noundef @.str.1, i32 noundef %3350, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 166, ptr noundef %3353, ptr noundef %3356, ptr noundef %3359, i32 noundef %3361) #11
  br label %3380

3363:                                             ; preds = %3341, %3334
  %3364 = load i32, ptr %70, align 4, !tbaa !5
  %3365 = call ptr @__errno_location() #12
  store i32 %3364, ptr %3365, align 4, !tbaa !5
  %3366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3367 = load i32, ptr @test_count, align 4, !tbaa !5
  %3368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3369 = load i32, ptr %3368, align 4, !tbaa !5
  %3370 = call ptr @s2n_strerror(i32 noundef %3369, ptr noundef @.str.4)
  %3371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3372 = load i32, ptr %3371, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef @.str.4)
  %3374 = call ptr @__errno_location() #12
  %3375 = load i32, ptr %3374, align 4, !tbaa !5
  %3376 = call ptr @strerror(i32 noundef %3375) #11
  %3377 = call ptr @__errno_location() #12
  %3378 = load i32, ptr %3377, align 4, !tbaa !5
  %3379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3366, ptr noundef @.str.5, i32 noundef %3367, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 166, ptr noundef %3370, ptr noundef %3373, ptr noundef %3376, i32 noundef %3378) #11
  br label %3380

3380:                                             ; preds = %3363, %3346
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3381

3381:                                             ; preds = %3380
  br label %3382

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

3383:                                             ; No predecessors!
  br label %3384

3384:                                             ; preds = %3383
  br label %3385

3385:                                             ; preds = %3384, %3318
  br label %3386

3386:                                             ; preds = %3385
  br label %3387

3387:                                             ; preds = %3386
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #11
  %3388 = load i32, ptr %55, align 4, !tbaa !5
  %3389 = ashr i32 %3388, 8
  %3390 = trunc i32 %3389 to i8
  store i8 %3390, ptr %71, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #11
  %3391 = load i32, ptr %55, align 4, !tbaa !5
  %3392 = and i32 %3391, 255
  %3393 = trunc i32 %3392 to i8
  store i8 %3393, ptr %72, align 1, !tbaa !54
  br label %3394

3394:                                             ; preds = %3387
  %3395 = load i32, ptr @test_count, align 4, !tbaa !5
  %3396 = add nsw i32 %3395, 1
  store i32 %3396, ptr @test_count, align 4, !tbaa !5
  %3397 = load ptr, ptr %6, align 8, !tbaa !9
  %3398 = getelementptr inbounds %struct.s2n_connection, ptr %3397, i32 0, i32 41
  %3399 = getelementptr inbounds %struct.s2n_stuffer, ptr %3398, i32 0, i32 0
  %3400 = getelementptr inbounds %struct.s2n_blob, ptr %3399, i32 0, i32 0
  %3401 = load ptr, ptr %3400, align 8, !tbaa !53
  %3402 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %3401, i32 noundef 3)
  %3403 = icmp eq i32 %3402, -1
  br i1 %3403, label %3404, label %3457

3404:                                             ; preds = %3394
  br label %3405

3405:                                             ; preds = %3404
  br label %3406

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

3413:                                             ; preds = %3406
  %3414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3415 = call i32 @fileno(ptr noundef %3414) #11
  %3416 = call i32 @isatty(i32 noundef %3415) #11
  %3417 = icmp ne i32 %3416, 0
  br i1 %3417, label %3418, label %3435

3418:                                             ; preds = %3413
  %3419 = load i32, ptr %73, align 4, !tbaa !5
  %3420 = call ptr @__errno_location() #12
  store i32 %3419, ptr %3420, align 4, !tbaa !5
  %3421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3422 = load i32, ptr @test_count, align 4, !tbaa !5
  %3423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3424 = load i32, ptr %3423, align 4, !tbaa !5
  %3425 = call ptr @s2n_strerror(i32 noundef %3424, ptr noundef @.str.4)
  %3426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3427 = load i32, ptr %3426, align 4, !tbaa !5
  %3428 = call ptr @s2n_strerror_debug(i32 noundef %3427, ptr noundef @.str.4)
  %3429 = call ptr @__errno_location() #12
  %3430 = load i32, ptr %3429, align 4, !tbaa !5
  %3431 = call ptr @strerror(i32 noundef %3430) #11
  %3432 = call ptr @__errno_location() #12
  %3433 = load i32, ptr %3432, align 4, !tbaa !5
  %3434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3421, ptr noundef @.str.1, i32 noundef %3422, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 170, ptr noundef %3425, ptr noundef %3428, ptr noundef %3431, i32 noundef %3433) #11
  br label %3452

3435:                                             ; preds = %3413, %3406
  %3436 = load i32, ptr %73, align 4, !tbaa !5
  %3437 = call ptr @__errno_location() #12
  store i32 %3436, ptr %3437, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = load i32, ptr @test_count, align 4, !tbaa !5
  %3440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call ptr @s2n_strerror(i32 noundef %3441, ptr noundef @.str.4)
  %3443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3444 = load i32, ptr %3443, align 4, !tbaa !5
  %3445 = call ptr @s2n_strerror_debug(i32 noundef %3444, ptr noundef @.str.4)
  %3446 = call ptr @__errno_location() #12
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @strerror(i32 noundef %3447) #11
  %3449 = call ptr @__errno_location() #12
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3438, ptr noundef @.str.5, i32 noundef %3439, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 170, ptr noundef %3442, ptr noundef %3445, ptr noundef %3448, i32 noundef %3450) #11
  br label %3452

3452:                                             ; preds = %3435, %3418
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3453

3453:                                             ; preds = %3452
  br label %3454

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

3455:                                             ; No predecessors!
  br label %3456

3456:                                             ; preds = %3455
  br label %3457

3457:                                             ; preds = %3456, %3394
  br label %3458

3458:                                             ; preds = %3457
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

3460:                                             ; preds = %3459
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %71, i32 noundef 1)
  %3464 = icmp eq i32 %3463, -1
  br i1 %3464, label %3465, label %3518

3465:                                             ; preds = %3460
  br label %3466

3466:                                             ; preds = %3465
  br label %3467

3467:                                             ; preds = %3466
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3468 = call ptr @__errno_location() #12
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  store i32 %3469, ptr %74, 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) #11
  %3477 = call i32 @isatty(i32 noundef %3476) #11
  %3478 = icmp ne i32 %3477, 0
  br i1 %3478, label %3479, label %3496

3479:                                             ; preds = %3474
  %3480 = load i32, ptr %74, align 4, !tbaa !5
  %3481 = call ptr @__errno_location() #12
  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() #12
  %3491 = load i32, ptr %3490, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #11
  %3493 = call ptr @__errno_location() #12
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  %3495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3482, ptr noundef @.str.1, i32 noundef %3483, ptr noundef @.str.44, ptr noundef @.str.3, i32 noundef 171, ptr noundef %3486, ptr noundef %3489, ptr noundef %3492, i32 noundef %3494) #11
  br label %3513

3496:                                             ; preds = %3474, %3467
  %3497 = load i32, ptr %74, align 4, !tbaa !5
  %3498 = call ptr @__errno_location() #12
  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() #12
  %3508 = load i32, ptr %3507, align 4, !tbaa !5
  %3509 = call ptr @strerror(i32 noundef %3508) #11
  %3510 = call ptr @__errno_location() #12
  %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.44, ptr noundef @.str.3, i32 noundef 171, ptr noundef %3503, ptr noundef %3506, ptr noundef %3509, i32 noundef %3511) #11
  br label %3513

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

3514:                                             ; preds = %3513
  br label %3515

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

3516:                                             ; No predecessors!
  br label %3517

3517:                                             ; preds = %3516
  br label %3518

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

3519:                                             ; preds = %3518
  br label %3520

3520:                                             ; preds = %3519
  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 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %72, i32 noundef 1)
  %3525 = icmp eq i32 %3524, -1
  br i1 %3525, label %3526, label %3579

3526:                                             ; preds = %3521
  br label %3527

3527:                                             ; preds = %3526
  br label %3528

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

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

3540:                                             ; preds = %3535
  %3541 = load i32, ptr %75, align 4, !tbaa !5
  %3542 = call ptr @__errno_location() #12
  store i32 %3541, ptr %3542, align 4, !tbaa !5
  %3543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3544 = load i32, ptr @test_count, align 4, !tbaa !5
  %3545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = call ptr @s2n_strerror(i32 noundef %3546, ptr noundef @.str.4)
  %3548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3549 = load i32, ptr %3548, align 4, !tbaa !5
  %3550 = call ptr @s2n_strerror_debug(i32 noundef %3549, ptr noundef @.str.4)
  %3551 = call ptr @__errno_location() #12
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  %3553 = call ptr @strerror(i32 noundef %3552) #11
  %3554 = call ptr @__errno_location() #12
  %3555 = load i32, ptr %3554, align 4, !tbaa !5
  %3556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3543, ptr noundef @.str.1, i32 noundef %3544, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 172, ptr noundef %3547, ptr noundef %3550, ptr noundef %3553, i32 noundef %3555) #11
  br label %3574

3557:                                             ; preds = %3535, %3528
  %3558 = load i32, ptr %75, align 4, !tbaa !5
  %3559 = call ptr @__errno_location() #12
  store i32 %3558, ptr %3559, align 4, !tbaa !5
  %3560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3561 = load i32, ptr @test_count, align 4, !tbaa !5
  %3562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3563 = load i32, ptr %3562, align 4, !tbaa !5
  %3564 = call ptr @s2n_strerror(i32 noundef %3563, ptr noundef @.str.4)
  %3565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror_debug(i32 noundef %3566, ptr noundef @.str.4)
  %3568 = call ptr @__errno_location() #12
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @strerror(i32 noundef %3569) #11
  %3571 = call ptr @__errno_location() #12
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3560, ptr noundef @.str.5, i32 noundef %3561, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 172, ptr noundef %3564, ptr noundef %3567, ptr noundef %3570, i32 noundef %3572) #11
  br label %3574

3574:                                             ; preds = %3557, %3540
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3575

3575:                                             ; preds = %3574
  br label %3576

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

3577:                                             ; No predecessors!
  br label %3578

3578:                                             ; preds = %3577
  br label %3579

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

3580:                                             ; preds = %3579
  br label %3581

3581:                                             ; preds = %3580
  br label %3582

3582:                                             ; preds = %3581
  %3583 = load i32, ptr @test_count, align 4, !tbaa !5
  %3584 = add nsw i32 %3583, 1
  store i32 %3584, ptr @test_count, align 4, !tbaa !5
  %3585 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %3586 = load i32, ptr %55, align 4, !tbaa !5
  %3587 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %3585, i32 noundef %3586)
  %3588 = icmp eq i32 %3587, -1
  br i1 %3588, label %3589, label %3642

3589:                                             ; preds = %3582
  br label %3590

3590:                                             ; preds = %3589
  br label %3591

3591:                                             ; preds = %3590
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3592 = call ptr @__errno_location() #12
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  store i32 %3593, ptr %76, 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) #11
  %3601 = call i32 @isatty(i32 noundef %3600) #11
  %3602 = icmp ne i32 %3601, 0
  br i1 %3602, label %3603, label %3620

3603:                                             ; preds = %3598
  %3604 = load i32, ptr %76, align 4, !tbaa !5
  %3605 = call ptr @__errno_location() #12
  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() #12
  %3615 = load i32, ptr %3614, align 4, !tbaa !5
  %3616 = call ptr @strerror(i32 noundef %3615) #11
  %3617 = call ptr @__errno_location() #12
  %3618 = load i32, ptr %3617, align 4, !tbaa !5
  %3619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3606, ptr noundef @.str.1, i32 noundef %3607, ptr noundef @.str.46, ptr noundef @.str.3, i32 noundef 173, ptr noundef %3610, ptr noundef %3613, ptr noundef %3616, i32 noundef %3618) #11
  br label %3637

3620:                                             ; preds = %3598, %3591
  %3621 = load i32, ptr %76, align 4, !tbaa !5
  %3622 = call ptr @__errno_location() #12
  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() #12
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @strerror(i32 noundef %3632) #11
  %3634 = call ptr @__errno_location() #12
  %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.46, ptr noundef @.str.3, i32 noundef 173, ptr noundef %3627, ptr noundef %3630, ptr noundef %3633, i32 noundef %3635) #11
  br label %3637

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

3638:                                             ; preds = %3637
  br label %3639

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

3640:                                             ; No predecessors!
  br label %3641

3641:                                             ; preds = %3640
  br label %3642

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

3643:                                             ; preds = %3642
  br label %3644

3644:                                             ; preds = %3643
  call void @llvm.lifetime.start.p0(i64 20, ptr %77) #11
  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 = getelementptr inbounds [20 x i8], ptr %77, i64 0, i64 0
  %3649 = call i32 @s2n_hmac_digest(ptr noundef %10, ptr noundef %3648, i32 noundef 20)
  %3650 = icmp eq i32 %3649, -1
  br i1 %3650, label %3651, label %3704

3651:                                             ; preds = %3645
  br label %3652

3652:                                             ; preds = %3651
  br label %3653

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

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

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

3682:                                             ; preds = %3660, %3653
  %3683 = load i32, ptr %78, align 4, !tbaa !5
  %3684 = call ptr @__errno_location() #12
  store i32 %3683, ptr %3684, align 4, !tbaa !5
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3688 = load i32, ptr %3687, align 4, !tbaa !5
  %3689 = call ptr @s2n_strerror(i32 noundef %3688, ptr noundef @.str.4)
  %3690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call ptr @s2n_strerror_debug(i32 noundef %3691, ptr noundef @.str.4)
  %3693 = call ptr @__errno_location() #12
  %3694 = load i32, ptr %3693, align 4, !tbaa !5
  %3695 = call ptr @strerror(i32 noundef %3694) #11
  %3696 = call ptr @__errno_location() #12
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3685, ptr noundef @.str.5, i32 noundef %3686, ptr noundef @.str.47, ptr noundef @.str.3, i32 noundef 176, ptr noundef %3689, ptr noundef %3692, ptr noundef %3695, i32 noundef %3697) #11
  br label %3699

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

3700:                                             ; preds = %3699
  br label %3701

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

3702:                                             ; No predecessors!
  br label %3703

3703:                                             ; preds = %3702
  br label %3704

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

3705:                                             ; preds = %3704
  br label %3706

3706:                                             ; preds = %3705
  br label %3707

3707:                                             ; preds = %3706
  %3708 = load i32, ptr @test_count, align 4, !tbaa !5
  %3709 = add nsw i32 %3708, 1
  store i32 %3709, ptr @test_count, align 4, !tbaa !5
  %3710 = load ptr, ptr %6, align 8, !tbaa !9
  %3711 = getelementptr inbounds %struct.s2n_connection, ptr %3710, i32 0, i32 41
  %3712 = getelementptr inbounds %struct.s2n_stuffer, ptr %3711, i32 0, i32 0
  %3713 = getelementptr inbounds %struct.s2n_blob, ptr %3712, i32 0, i32 0
  %3714 = load ptr, ptr %3713, align 8, !tbaa !53
  %3715 = getelementptr inbounds i8, ptr %3714, i64 5
  %3716 = load i32, ptr %55, align 4, !tbaa !5
  %3717 = sext i32 %3716 to i64
  %3718 = getelementptr inbounds i8, ptr %3715, i64 %3717
  %3719 = getelementptr inbounds [20 x i8], ptr %77, i64 0, i64 0
  %3720 = call i32 @s2n_hmac_digest_verify(ptr noundef %3718, ptr noundef %3719, i32 noundef 20)
  %3721 = icmp eq i32 %3720, -1
  br i1 %3721, label %3722, label %3775

3722:                                             ; preds = %3707
  br label %3723

3723:                                             ; preds = %3722
  br label %3724

3724:                                             ; preds = %3723
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3725 = call ptr @__errno_location() #12
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  store i32 %3726, ptr %79, align 4, !tbaa !5
  %3727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3728 = call i32 @s2n_print_stacktrace(ptr noundef %3727)
  %3729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3730 = trunc i8 %3729 to i1
  br i1 %3730, label %3731, label %3753

3731:                                             ; preds = %3724
  %3732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3733 = call i32 @fileno(ptr noundef %3732) #11
  %3734 = call i32 @isatty(i32 noundef %3733) #11
  %3735 = icmp ne i32 %3734, 0
  br i1 %3735, label %3736, label %3753

3736:                                             ; preds = %3731
  %3737 = load i32, ptr %79, align 4, !tbaa !5
  %3738 = call ptr @__errno_location() #12
  store i32 %3737, ptr %3738, align 4, !tbaa !5
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3742 = load i32, ptr %3741, align 4, !tbaa !5
  %3743 = call ptr @s2n_strerror(i32 noundef %3742, ptr noundef @.str.4)
  %3744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3745 = load i32, ptr %3744, align 4, !tbaa !5
  %3746 = call ptr @s2n_strerror_debug(i32 noundef %3745, ptr noundef @.str.4)
  %3747 = call ptr @__errno_location() #12
  %3748 = load i32, ptr %3747, align 4, !tbaa !5
  %3749 = call ptr @strerror(i32 noundef %3748) #11
  %3750 = call ptr @__errno_location() #12
  %3751 = load i32, ptr %3750, align 4, !tbaa !5
  %3752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3739, ptr noundef @.str.1, i32 noundef %3740, ptr noundef @.str.48, ptr noundef @.str.3, i32 noundef 177, ptr noundef %3743, ptr noundef %3746, ptr noundef %3749, i32 noundef %3751) #11
  br label %3770

3753:                                             ; preds = %3731, %3724
  %3754 = load i32, ptr %79, align 4, !tbaa !5
  %3755 = call ptr @__errno_location() #12
  store i32 %3754, ptr %3755, align 4, !tbaa !5
  %3756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3757 = load i32, ptr @test_count, align 4, !tbaa !5
  %3758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3759 = load i32, ptr %3758, align 4, !tbaa !5
  %3760 = call ptr @s2n_strerror(i32 noundef %3759, ptr noundef @.str.4)
  %3761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  %3763 = call ptr @s2n_strerror_debug(i32 noundef %3762, ptr noundef @.str.4)
  %3764 = call ptr @__errno_location() #12
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  %3766 = call ptr @strerror(i32 noundef %3765) #11
  %3767 = call ptr @__errno_location() #12
  %3768 = load i32, ptr %3767, align 4, !tbaa !5
  %3769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3756, ptr noundef @.str.5, i32 noundef %3757, ptr noundef @.str.48, ptr noundef @.str.3, i32 noundef 177, ptr noundef %3760, ptr noundef %3763, ptr noundef %3766, i32 noundef %3768) #11
  br label %3770

3770:                                             ; preds = %3753, %3736
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3771

3771:                                             ; preds = %3770
  br label %3772

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

3773:                                             ; No predecessors!
  br label %3774

3774:                                             ; preds = %3773
  br label %3775

3775:                                             ; preds = %3774, %3707
  br label %3776

3776:                                             ; preds = %3775
  br label %3777

3777:                                             ; preds = %3776
  br label %3778

3778:                                             ; preds = %3777
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = add nsw i32 %3779, 1
  store i32 %3780, ptr @test_count, align 4, !tbaa !5
  %3781 = load ptr, ptr %6, align 8, !tbaa !9
  %3782 = getelementptr inbounds %struct.s2n_connection, ptr %3781, i32 0, i32 40
  %3783 = call i32 @s2n_stuffer_wipe(ptr noundef %3782)
  %3784 = icmp eq i32 %3783, -1
  br i1 %3784, label %3785, label %3838

3785:                                             ; preds = %3778
  br label %3786

3786:                                             ; preds = %3785
  br label %3787

3787:                                             ; preds = %3786
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %3788 = call ptr @__errno_location() #12
  %3789 = load i32, ptr %3788, align 4, !tbaa !5
  store i32 %3789, ptr %80, align 4, !tbaa !5
  %3790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3791 = call i32 @s2n_print_stacktrace(ptr noundef %3790)
  %3792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3793 = trunc i8 %3792 to i1
  br i1 %3793, label %3794, label %3816

3794:                                             ; preds = %3787
  %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
  %3798 = icmp ne i32 %3797, 0
  br i1 %3798, label %3799, label %3816

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

3816:                                             ; preds = %3794, %3787
  %3817 = load i32, ptr %80, align 4, !tbaa !5
  %3818 = call ptr @__errno_location() #12
  store i32 %3817, ptr %3818, align 4, !tbaa !5
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3820 = load i32, ptr @test_count, align 4, !tbaa !5
  %3821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3822 = load i32, ptr %3821, align 4, !tbaa !5
  %3823 = call ptr @s2n_strerror(i32 noundef %3822, ptr noundef @.str.4)
  %3824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3825 = load i32, ptr %3824, align 4, !tbaa !5
  %3826 = call ptr @s2n_strerror_debug(i32 noundef %3825, ptr noundef @.str.4)
  %3827 = call ptr @__errno_location() #12
  %3828 = load i32, ptr %3827, align 4, !tbaa !5
  %3829 = call ptr @strerror(i32 noundef %3828) #11
  %3830 = call ptr @__errno_location() #12
  %3831 = load i32, ptr %3830, align 4, !tbaa !5
  %3832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3819, ptr noundef @.str.5, i32 noundef %3820, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 179, ptr noundef %3823, ptr noundef %3826, ptr noundef %3829, i32 noundef %3831) #11
  br label %3833

3833:                                             ; preds = %3816, %3799
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

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

3836:                                             ; No predecessors!
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837, %3778
  br label %3839

3839:                                             ; preds = %3838
  br label %3840

3840:                                             ; preds = %3839
  br label %3841

3841:                                             ; preds = %3840
  %3842 = load i32, ptr @test_count, align 4, !tbaa !5
  %3843 = add nsw i32 %3842, 1
  store i32 %3843, ptr @test_count, align 4, !tbaa !5
  %3844 = load ptr, ptr %6, align 8, !tbaa !9
  %3845 = getelementptr inbounds %struct.s2n_connection, ptr %3844, i32 0, i32 38
  %3846 = call i32 @s2n_stuffer_wipe(ptr noundef %3845)
  %3847 = icmp eq i32 %3846, -1
  br i1 %3847, label %3848, label %3901

3848:                                             ; preds = %3841
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

3850:                                             ; preds = %3849
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %3851 = call ptr @__errno_location() #12
  %3852 = load i32, ptr %3851, align 4, !tbaa !5
  store i32 %3852, ptr %81, align 4, !tbaa !5
  %3853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3854 = call i32 @s2n_print_stacktrace(ptr noundef %3853)
  %3855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3856 = trunc i8 %3855 to i1
  br i1 %3856, label %3857, label %3879

3857:                                             ; preds = %3850
  %3858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3859 = call i32 @fileno(ptr noundef %3858) #11
  %3860 = call i32 @isatty(i32 noundef %3859) #11
  %3861 = icmp ne i32 %3860, 0
  br i1 %3861, label %3862, label %3879

3862:                                             ; preds = %3857
  %3863 = load i32, ptr %81, align 4, !tbaa !5
  %3864 = call ptr @__errno_location() #12
  store i32 %3863, ptr %3864, align 4, !tbaa !5
  %3865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3866 = load i32, ptr @test_count, align 4, !tbaa !5
  %3867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3868 = load i32, ptr %3867, align 4, !tbaa !5
  %3869 = call ptr @s2n_strerror(i32 noundef %3868, ptr noundef @.str.4)
  %3870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3871 = load i32, ptr %3870, align 4, !tbaa !5
  %3872 = call ptr @s2n_strerror_debug(i32 noundef %3871, ptr noundef @.str.4)
  %3873 = call ptr @__errno_location() #12
  %3874 = load i32, ptr %3873, align 4, !tbaa !5
  %3875 = call ptr @strerror(i32 noundef %3874) #11
  %3876 = call ptr @__errno_location() #12
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3865, ptr noundef @.str.1, i32 noundef %3866, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 180, ptr noundef %3869, ptr noundef %3872, ptr noundef %3875, i32 noundef %3877) #11
  br label %3896

3879:                                             ; preds = %3857, %3850
  %3880 = load i32, ptr %81, align 4, !tbaa !5
  %3881 = call ptr @__errno_location() #12
  store i32 %3880, ptr %3881, align 4, !tbaa !5
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = load i32, ptr @test_count, align 4, !tbaa !5
  %3884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3885 = load i32, ptr %3884, align 4, !tbaa !5
  %3886 = call ptr @s2n_strerror(i32 noundef %3885, ptr noundef @.str.4)
  %3887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  %3889 = call ptr @s2n_strerror_debug(i32 noundef %3888, ptr noundef @.str.4)
  %3890 = call ptr @__errno_location() #12
  %3891 = load i32, ptr %3890, align 4, !tbaa !5
  %3892 = call ptr @strerror(i32 noundef %3891) #11
  %3893 = call ptr @__errno_location() #12
  %3894 = load i32, ptr %3893, align 4, !tbaa !5
  %3895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3882, ptr noundef @.str.5, i32 noundef %3883, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 180, ptr noundef %3886, ptr noundef %3889, ptr noundef %3892, i32 noundef %3894) #11
  br label %3896

3896:                                             ; preds = %3879, %3862
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

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

3899:                                             ; No predecessors!
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900, %3841
  br label %3902

3902:                                             ; preds = %3901
  br label %3903

3903:                                             ; preds = %3902
  br label %3904

3904:                                             ; preds = %3903
  %3905 = load i32, ptr @test_count, align 4, !tbaa !5
  %3906 = add nsw i32 %3905, 1
  store i32 %3906, ptr @test_count, align 4, !tbaa !5
  %3907 = load ptr, ptr %6, align 8, !tbaa !9
  %3908 = getelementptr inbounds %struct.s2n_connection, ptr %3907, i32 0, i32 41
  %3909 = load ptr, ptr %6, align 8, !tbaa !9
  %3910 = getelementptr inbounds %struct.s2n_connection, ptr %3909, i32 0, i32 38
  %3911 = call i32 @s2n_stuffer_copy(ptr noundef %3908, ptr noundef %3910, i32 noundef 5)
  %3912 = icmp eq i32 %3911, -1
  br i1 %3912, label %3913, label %3966

3913:                                             ; preds = %3904
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

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

3922:                                             ; preds = %3915
  %3923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3924 = call i32 @fileno(ptr noundef %3923) #11
  %3925 = call i32 @isatty(i32 noundef %3924) #11
  %3926 = icmp ne i32 %3925, 0
  br i1 %3926, label %3927, label %3944

3927:                                             ; preds = %3922
  %3928 = load i32, ptr %82, align 4, !tbaa !5
  %3929 = call ptr @__errno_location() #12
  store i32 %3928, ptr %3929, align 4, !tbaa !5
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3933, ptr noundef @.str.4)
  %3935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call ptr @s2n_strerror_debug(i32 noundef %3936, ptr noundef @.str.4)
  %3938 = call ptr @__errno_location() #12
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call ptr @strerror(i32 noundef %3939) #11
  %3941 = call ptr @__errno_location() #12
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3930, ptr noundef @.str.1, i32 noundef %3931, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 181, ptr noundef %3934, ptr noundef %3937, ptr noundef %3940, i32 noundef %3942) #11
  br label %3961

3944:                                             ; preds = %3922, %3915
  %3945 = load i32, ptr %82, align 4, !tbaa !5
  %3946 = call ptr @__errno_location() #12
  store i32 %3945, ptr %3946, align 4, !tbaa !5
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3948 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3950, ptr noundef @.str.4)
  %3952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call ptr @s2n_strerror_debug(i32 noundef %3953, ptr noundef @.str.4)
  %3955 = call ptr @__errno_location() #12
  %3956 = load i32, ptr %3955, align 4, !tbaa !5
  %3957 = call ptr @strerror(i32 noundef %3956) #11
  %3958 = call ptr @__errno_location() #12
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3947, ptr noundef @.str.5, i32 noundef %3948, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 181, ptr noundef %3951, ptr noundef %3954, ptr noundef %3957, i32 noundef %3959) #11
  br label %3961

3961:                                             ; preds = %3944, %3927
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

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

3964:                                             ; No predecessors!
  br label %3965

3965:                                             ; preds = %3964
  br label %3966

3966:                                             ; preds = %3965, %3904
  br label %3967

3967:                                             ; preds = %3966
  br label %3968

3968:                                             ; preds = %3967
  br label %3969

3969:                                             ; preds = %3968
  %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 %6, align 8, !tbaa !9
  %3973 = getelementptr inbounds %struct.s2n_connection, ptr %3972, i32 0, i32 41
  %3974 = load ptr, ptr %6, align 8, !tbaa !9
  %3975 = getelementptr inbounds %struct.s2n_connection, ptr %3974, i32 0, i32 40
  %3976 = load ptr, ptr %6, align 8, !tbaa !9
  %3977 = getelementptr inbounds %struct.s2n_connection, ptr %3976, i32 0, i32 41
  %3978 = getelementptr inbounds %struct.s2n_stuffer, ptr %3977, i32 0, i32 2
  %3979 = load i32, ptr %3978, align 4, !tbaa !55
  %3980 = load ptr, ptr %6, align 8, !tbaa !9
  %3981 = getelementptr inbounds %struct.s2n_connection, ptr %3980, i32 0, i32 41
  %3982 = getelementptr inbounds %struct.s2n_stuffer, ptr %3981, i32 0, i32 1
  %3983 = load i32, ptr %3982, align 8, !tbaa !56
  %3984 = sub i32 %3979, %3983
  %3985 = call i32 @s2n_stuffer_copy(ptr noundef %3973, ptr noundef %3975, i32 noundef %3984)
  %3986 = icmp eq i32 %3985, -1
  br i1 %3986, label %3987, label %4040

3987:                                             ; preds = %3969
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %3990 = call ptr @__errno_location() #12
  %3991 = load i32, ptr %3990, align 4, !tbaa !5
  store i32 %3991, ptr %83, align 4, !tbaa !5
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @s2n_print_stacktrace(ptr noundef %3992)
  %3994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3995 = trunc i8 %3994 to i1
  br i1 %3995, label %3996, label %4018

3996:                                             ; preds = %3989
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = call i32 @fileno(ptr noundef %3997) #11
  %3999 = call i32 @isatty(i32 noundef %3998) #11
  %4000 = icmp ne i32 %3999, 0
  br i1 %4000, label %4001, label %4018

4001:                                             ; preds = %3996
  %4002 = load i32, ptr %83, align 4, !tbaa !5
  %4003 = call ptr @__errno_location() #12
  store i32 %4002, ptr %4003, align 4, !tbaa !5
  %4004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4005 = load i32, ptr @test_count, align 4, !tbaa !5
  %4006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call ptr @s2n_strerror(i32 noundef %4007, ptr noundef @.str.4)
  %4009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  %4011 = call ptr @s2n_strerror_debug(i32 noundef %4010, ptr noundef @.str.4)
  %4012 = call ptr @__errno_location() #12
  %4013 = load i32, ptr %4012, align 4, !tbaa !5
  %4014 = call ptr @strerror(i32 noundef %4013) #11
  %4015 = call ptr @__errno_location() #12
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  %4017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4004, ptr noundef @.str.1, i32 noundef %4005, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 182, ptr noundef %4008, ptr noundef %4011, ptr noundef %4014, i32 noundef %4016) #11
  br label %4035

4018:                                             ; preds = %3996, %3989
  %4019 = load i32, ptr %83, align 4, !tbaa !5
  %4020 = call ptr @__errno_location() #12
  store i32 %4019, ptr %4020, align 4, !tbaa !5
  %4021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4022 = load i32, ptr @test_count, align 4, !tbaa !5
  %4023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror(i32 noundef %4024, ptr noundef @.str.4)
  %4026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror_debug(i32 noundef %4027, ptr noundef @.str.4)
  %4029 = call ptr @__errno_location() #12
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call ptr @strerror(i32 noundef %4030) #11
  %4032 = call ptr @__errno_location() #12
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4021, ptr noundef @.str.5, i32 noundef %4022, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 182, ptr noundef %4025, ptr noundef %4028, ptr noundef %4031, i32 noundef %4033) #11
  br label %4035

4035:                                             ; preds = %4018, %4001
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4036

4036:                                             ; preds = %4035
  br label %4037

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

4038:                                             ; No predecessors!
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

4040:                                             ; preds = %4039, %3969
  br label %4041

4041:                                             ; preds = %4040
  br label %4042

4042:                                             ; preds = %4041
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #11
  br label %4043

4043:                                             ; preds = %4042
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  store i32 8, ptr %85, align 4, !tbaa !5
  %4044 = load i32, ptr %85, align 4, !tbaa !5
  %4045 = icmp ne i32 %4044, 0
  br i1 %4045, label %4046, label %4110

4046:                                             ; preds = %4043
  %4047 = getelementptr inbounds [8 x i8], ptr %84, i64 0, i64 0
  %4048 = load ptr, ptr %6, align 8, !tbaa !9
  %4049 = getelementptr inbounds %struct.s2n_connection, ptr %4048, i32 0, i32 30
  %4050 = load ptr, ptr %4049, align 8, !tbaa !44
  %4051 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %4050, i32 0, i32 7
  %4052 = getelementptr inbounds [8 x i8], ptr %4051, i64 0, i64 0
  %4053 = load i32, ptr %85, align 4, !tbaa !5
  %4054 = sext i32 %4053 to i64
  call void @llvm.memmove.p0.p0.i64(ptr align 1 %4047, ptr align 8 %4052, i64 %4054, i1 false)
  %4055 = icmp eq ptr %4047, null
  br i1 %4055, label %4056, label %4109

4056:                                             ; preds = %4046
  br label %4057

4057:                                             ; preds = %4056
  br label %4058

4058:                                             ; preds = %4057
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %4059 = call ptr @__errno_location() #12
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  store i32 %4060, ptr %86, align 4, !tbaa !5
  %4061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4062 = call i32 @s2n_print_stacktrace(ptr noundef %4061)
  %4063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4064 = trunc i8 %4063 to i1
  br i1 %4064, label %4065, label %4087

4065:                                             ; preds = %4058
  %4066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4067 = call i32 @fileno(ptr noundef %4066) #11
  %4068 = call i32 @isatty(i32 noundef %4067) #11
  %4069 = icmp ne i32 %4068, 0
  br i1 %4069, label %4070, label %4087

4070:                                             ; preds = %4065
  %4071 = load i32, ptr %86, align 4, !tbaa !5
  %4072 = call ptr @__errno_location() #12
  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() #12
  %4082 = load i32, ptr %4081, align 4, !tbaa !5
  %4083 = call ptr @strerror(i32 noundef %4082) #11
  %4084 = call ptr @__errno_location() #12
  %4085 = load i32, ptr %4084, align 4, !tbaa !5
  %4086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4073, ptr noundef @.str.1, i32 noundef %4074, ptr noundef @.str.49, ptr noundef @.str.3, i32 noundef 185, ptr noundef %4077, ptr noundef %4080, ptr noundef %4083, i32 noundef %4085) #11
  br label %4104

4087:                                             ; preds = %4065, %4058
  %4088 = load i32, ptr %86, align 4, !tbaa !5
  %4089 = call ptr @__errno_location() #12
  store i32 %4088, ptr %4089, align 4, !tbaa !5
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = load i32, ptr @test_count, align 4, !tbaa !5
  %4092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  %4094 = call ptr @s2n_strerror(i32 noundef %4093, ptr noundef @.str.4)
  %4095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror_debug(i32 noundef %4096, ptr noundef @.str.4)
  %4098 = call ptr @__errno_location() #12
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = call ptr @strerror(i32 noundef %4099) #11
  %4101 = call ptr @__errno_location() #12
  %4102 = load i32, ptr %4101, align 4, !tbaa !5
  %4103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4090, ptr noundef @.str.5, i32 noundef %4091, ptr noundef @.str.49, ptr noundef @.str.3, i32 noundef 185, ptr noundef %4094, ptr noundef %4097, ptr noundef %4100, i32 noundef %4102) #11
  br label %4104

4104:                                             ; preds = %4087, %4070
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4105

4105:                                             ; preds = %4104
  br label %4106

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

4107:                                             ; No predecessors!
  br label %4108

4108:                                             ; preds = %4107
  br label %4109

4109:                                             ; preds = %4108, %4046
  br label %4110

4110:                                             ; preds = %4109, %4043
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %4111

4111:                                             ; preds = %4110
  br label %4112

4112:                                             ; preds = %4111
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #11
  store i8 0, ptr %87, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %88) #11
  store i16 0, ptr %88, align 2, !tbaa !57
  br label %4113

4113:                                             ; preds = %4112
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = load ptr, ptr %6, align 8, !tbaa !9
  %4117 = call i32 @s2n_record_header_parse(ptr noundef %4116, ptr noundef %87, ptr noundef %88)
  %4118 = icmp eq i32 %4117, -1
  br i1 %4118, label %4119, label %4172

4119:                                             ; preds = %4113
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

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

4128:                                             ; preds = %4121
  %4129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4130 = call i32 @fileno(ptr noundef %4129) #11
  %4131 = call i32 @isatty(i32 noundef %4130) #11
  %4132 = icmp ne i32 %4131, 0
  br i1 %4132, label %4133, label %4150

4133:                                             ; preds = %4128
  %4134 = load i32, ptr %89, align 4, !tbaa !5
  %4135 = call ptr @__errno_location() #12
  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() #12
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @strerror(i32 noundef %4145) #11
  %4147 = call ptr @__errno_location() #12
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4136, ptr noundef @.str.1, i32 noundef %4137, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 189, ptr noundef %4140, ptr noundef %4143, ptr noundef %4146, i32 noundef %4148) #11
  br label %4167

4150:                                             ; preds = %4128, %4121
  %4151 = load i32, ptr %89, align 4, !tbaa !5
  %4152 = call ptr @__errno_location() #12
  store i32 %4151, ptr %4152, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @s2n_strerror(i32 noundef %4156, ptr noundef @.str.4)
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef @.str.4)
  %4161 = call ptr @__errno_location() #12
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @strerror(i32 noundef %4162) #11
  %4164 = call ptr @__errno_location() #12
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4153, ptr noundef @.str.5, i32 noundef %4154, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 189, ptr noundef %4157, ptr noundef %4160, ptr noundef %4163, i32 noundef %4165) #11
  br label %4167

4167:                                             ; preds = %4150, %4133
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

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

4170:                                             ; No predecessors!
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171, %4113
  br label %4173

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

4175:                                             ; preds = %4174
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = add nsw i32 %4176, 1
  store i32 %4177, ptr @test_count, align 4, !tbaa !5
  %4178 = load ptr, ptr %6, align 8, !tbaa !9
  %4179 = call i32 @s2n_record_parse(ptr noundef %4178)
  %4180 = icmp eq i32 %4179, -1
  br i1 %4180, label %4181, label %4234

4181:                                             ; preds = %4175
  br label %4182

4182:                                             ; preds = %4181
  br label %4183

4183:                                             ; preds = %4182
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %4184 = call ptr @__errno_location() #12
  %4185 = load i32, ptr %4184, align 4, !tbaa !5
  store i32 %4185, ptr %90, align 4, !tbaa !5
  %4186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4187 = call i32 @s2n_print_stacktrace(ptr noundef %4186)
  %4188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4189 = trunc i8 %4188 to i1
  br i1 %4189, label %4190, label %4212

4190:                                             ; preds = %4183
  %4191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4192 = call i32 @fileno(ptr noundef %4191) #11
  %4193 = call i32 @isatty(i32 noundef %4192) #11
  %4194 = icmp ne i32 %4193, 0
  br i1 %4194, label %4195, label %4212

4195:                                             ; preds = %4190
  %4196 = load i32, ptr %90, align 4, !tbaa !5
  %4197 = call ptr @__errno_location() #12
  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() #12
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @strerror(i32 noundef %4207) #11
  %4209 = call ptr @__errno_location() #12
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4198, ptr noundef @.str.1, i32 noundef %4199, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 190, ptr noundef %4202, ptr noundef %4205, ptr noundef %4208, i32 noundef %4210) #11
  br label %4229

4212:                                             ; preds = %4190, %4183
  %4213 = load i32, ptr %90, align 4, !tbaa !5
  %4214 = call ptr @__errno_location() #12
  store i32 %4213, ptr %4214, align 4, !tbaa !5
  %4215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4216 = load i32, ptr @test_count, align 4, !tbaa !5
  %4217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4218 = load i32, ptr %4217, align 4, !tbaa !5
  %4219 = call ptr @s2n_strerror(i32 noundef %4218, ptr noundef @.str.4)
  %4220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4221 = load i32, ptr %4220, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef @.str.4)
  %4223 = call ptr @__errno_location() #12
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @strerror(i32 noundef %4224) #11
  %4226 = call ptr @__errno_location() #12
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  %4228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4215, ptr noundef @.str.5, i32 noundef %4216, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 190, ptr noundef %4219, ptr noundef %4222, ptr noundef %4225, i32 noundef %4227) #11
  br label %4229

4229:                                             ; preds = %4212, %4195
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4230

4230:                                             ; preds = %4229
  br label %4231

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

4232:                                             ; No predecessors!
  br label %4233

4233:                                             ; preds = %4232
  br label %4234

4234:                                             ; preds = %4233, %4175
  br label %4235

4235:                                             ; preds = %4234
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

4237:                                             ; preds = %4236
  %4238 = load i32, ptr @test_count, align 4, !tbaa !5
  %4239 = add nsw i32 %4238, 1
  store i32 %4239, ptr @test_count, align 4, !tbaa !5
  %4240 = load i8, ptr %87, align 1, !tbaa !54
  %4241 = zext i8 %4240 to i32
  %4242 = icmp eq i32 %4241, 21
  br i1 %4242, label %4296, label %4243

4243:                                             ; preds = %4237
  br label %4244

4244:                                             ; preds = %4243
  br label %4245

4245:                                             ; preds = %4244
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4246 = call ptr @__errno_location() #12
  %4247 = load i32, ptr %4246, align 4, !tbaa !5
  store i32 %4247, ptr %91, align 4, !tbaa !5
  %4248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4249 = call i32 @s2n_print_stacktrace(ptr noundef %4248)
  %4250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4251 = trunc i8 %4250 to i1
  br i1 %4251, label %4252, label %4274

4252:                                             ; preds = %4245
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @fileno(ptr noundef %4253) #11
  %4255 = call i32 @isatty(i32 noundef %4254) #11
  %4256 = icmp ne i32 %4255, 0
  br i1 %4256, label %4257, label %4274

4257:                                             ; preds = %4252
  %4258 = load i32, ptr %91, align 4, !tbaa !5
  %4259 = call ptr @__errno_location() #12
  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() #12
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call ptr @strerror(i32 noundef %4269) #11
  %4271 = call ptr @__errno_location() #12
  %4272 = load i32, ptr %4271, align 4, !tbaa !5
  %4273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef @.str.1, i32 noundef %4261, ptr noundef @.str.35, ptr noundef @.str.3, i32 noundef 191, ptr noundef %4264, ptr noundef %4267, ptr noundef %4270, i32 noundef %4272) #11
  br label %4291

4274:                                             ; preds = %4252, %4245
  %4275 = load i32, ptr %91, align 4, !tbaa !5
  %4276 = call ptr @__errno_location() #12
  store i32 %4275, ptr %4276, align 4, !tbaa !5
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4280 = load i32, ptr %4279, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror(i32 noundef %4280, ptr noundef @.str.4)
  %4282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4283 = load i32, ptr %4282, align 4, !tbaa !5
  %4284 = call ptr @s2n_strerror_debug(i32 noundef %4283, ptr noundef @.str.4)
  %4285 = call ptr @__errno_location() #12
  %4286 = load i32, ptr %4285, align 4, !tbaa !5
  %4287 = call ptr @strerror(i32 noundef %4286) #11
  %4288 = call ptr @__errno_location() #12
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4277, ptr noundef @.str.5, i32 noundef %4278, ptr noundef @.str.35, ptr noundef @.str.3, i32 noundef 191, ptr noundef %4281, ptr noundef %4284, ptr noundef %4287, i32 noundef %4289) #11
  br label %4291

4291:                                             ; preds = %4274, %4257
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4292

4292:                                             ; preds = %4291
  br label %4293

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

4294:                                             ; No predecessors!
  br label %4295

4295:                                             ; preds = %4294
  br label %4296

4296:                                             ; preds = %4295, %4237
  br label %4297

4297:                                             ; preds = %4296
  br label %4298

4298:                                             ; preds = %4297
  br label %4299

4299:                                             ; preds = %4298
  %4300 = load i32, ptr @test_count, align 4, !tbaa !5
  %4301 = add nsw i32 %4300, 1
  store i32 %4301, ptr @test_count, align 4, !tbaa !5
  %4302 = load i16, ptr %88, align 2, !tbaa !57
  %4303 = zext i16 %4302 to i32
  %4304 = load i16, ptr %64, align 2, !tbaa !57
  %4305 = zext i16 %4304 to i32
  %4306 = icmp eq i32 %4303, %4305
  br i1 %4306, label %4360, label %4307

4307:                                             ; preds = %4299
  br label %4308

4308:                                             ; preds = %4307
  br label %4309

4309:                                             ; preds = %4308
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4310 = call ptr @__errno_location() #12
  %4311 = load i32, ptr %4310, align 4, !tbaa !5
  store i32 %4311, ptr %92, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = call i32 @s2n_print_stacktrace(ptr noundef %4312)
  %4314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4315 = trunc i8 %4314 to i1
  br i1 %4315, label %4316, label %4338

4316:                                             ; preds = %4309
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = call i32 @fileno(ptr noundef %4317) #11
  %4319 = call i32 @isatty(i32 noundef %4318) #11
  %4320 = icmp ne i32 %4319, 0
  br i1 %4320, label %4321, label %4338

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

4338:                                             ; preds = %4316, %4309
  %4339 = load i32, ptr %92, align 4, !tbaa !5
  %4340 = call ptr @__errno_location() #12
  store i32 %4339, ptr %4340, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4344 = load i32, ptr %4343, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror(i32 noundef %4344, ptr noundef @.str.4)
  %4346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @s2n_strerror_debug(i32 noundef %4347, ptr noundef @.str.4)
  %4349 = call ptr @__errno_location() #12
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @strerror(i32 noundef %4350) #11
  %4352 = call ptr @__errno_location() #12
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4341, ptr noundef @.str.5, i32 noundef %4342, ptr noundef @.str.50, ptr noundef @.str.3, i32 noundef 192, ptr noundef %4345, ptr noundef %4348, ptr noundef %4351, i32 noundef %4353) #11
  br label %4355

4355:                                             ; preds = %4338, %4321
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4356

4356:                                             ; preds = %4355
  br label %4357

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

4358:                                             ; No predecessors!
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

4360:                                             ; preds = %4359, %4299
  br label %4361

4361:                                             ; preds = %4360
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = add nsw i32 %4364, 1
  store i32 %4365, ptr @test_count, align 4, !tbaa !5
  %4366 = load ptr, ptr %6, align 8, !tbaa !9
  %4367 = getelementptr inbounds %struct.s2n_connection, ptr %4366, i32 0, i32 40
  %4368 = call i32 @s2n_stuffer_wipe(ptr noundef %4367)
  %4369 = icmp eq i32 %4368, -1
  br i1 %4369, label %4370, label %4423

4370:                                             ; preds = %4363
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

4372:                                             ; preds = %4371
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4373 = call ptr @__errno_location() #12
  %4374 = load i32, ptr %4373, align 4, !tbaa !5
  store i32 %4374, ptr %93, align 4, !tbaa !5
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4376 = call i32 @s2n_print_stacktrace(ptr noundef %4375)
  %4377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4378 = trunc i8 %4377 to i1
  br i1 %4378, label %4379, label %4401

4379:                                             ; preds = %4372
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = call i32 @fileno(ptr noundef %4380) #11
  %4382 = call i32 @isatty(i32 noundef %4381) #11
  %4383 = icmp ne i32 %4382, 0
  br i1 %4383, label %4384, label %4401

4384:                                             ; preds = %4379
  %4385 = load i32, ptr %93, align 4, !tbaa !5
  %4386 = call ptr @__errno_location() #12
  store i32 %4385, ptr %4386, align 4, !tbaa !5
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = load i32, ptr @test_count, align 4, !tbaa !5
  %4389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call ptr @s2n_strerror(i32 noundef %4390, ptr noundef @.str.4)
  %4392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4393 = load i32, ptr %4392, align 4, !tbaa !5
  %4394 = call ptr @s2n_strerror_debug(i32 noundef %4393, ptr noundef @.str.4)
  %4395 = call ptr @__errno_location() #12
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  %4397 = call ptr @strerror(i32 noundef %4396) #11
  %4398 = call ptr @__errno_location() #12
  %4399 = load i32, ptr %4398, align 4, !tbaa !5
  %4400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4387, ptr noundef @.str.1, i32 noundef %4388, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 196, ptr noundef %4391, ptr noundef %4394, ptr noundef %4397, i32 noundef %4399) #11
  br label %4418

4401:                                             ; preds = %4379, %4372
  %4402 = load i32, ptr %93, align 4, !tbaa !5
  %4403 = call ptr @__errno_location() #12
  store i32 %4402, ptr %4403, align 4, !tbaa !5
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4407 = load i32, ptr %4406, align 4, !tbaa !5
  %4408 = call ptr @s2n_strerror(i32 noundef %4407, ptr noundef @.str.4)
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror_debug(i32 noundef %4410, ptr noundef @.str.4)
  %4412 = call ptr @__errno_location() #12
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @strerror(i32 noundef %4413) #11
  %4415 = call ptr @__errno_location() #12
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4404, ptr noundef @.str.5, i32 noundef %4405, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 196, ptr noundef %4408, ptr noundef %4411, ptr noundef %4414, i32 noundef %4416) #11
  br label %4418

4418:                                             ; preds = %4401, %4384
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4419

4419:                                             ; preds = %4418
  br label %4420

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

4421:                                             ; No predecessors!
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

4423:                                             ; preds = %4422, %4363
  br label %4424

4424:                                             ; preds = %4423
  br label %4425

4425:                                             ; preds = %4424
  br label %4426

4426:                                             ; preds = %4425
  %4427 = load i32, ptr @test_count, align 4, !tbaa !5
  %4428 = add nsw i32 %4427, 1
  store i32 %4428, ptr @test_count, align 4, !tbaa !5
  %4429 = load ptr, ptr %6, align 8, !tbaa !9
  %4430 = getelementptr inbounds %struct.s2n_connection, ptr %4429, i32 0, i32 41
  %4431 = call i32 @s2n_stuffer_reread(ptr noundef %4430)
  %4432 = icmp eq i32 %4431, -1
  br i1 %4432, label %4433, label %4486

4433:                                             ; preds = %4426
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

4435:                                             ; preds = %4434
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4436 = call ptr @__errno_location() #12
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  store i32 %4437, ptr %94, align 4, !tbaa !5
  %4438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4439 = call i32 @s2n_print_stacktrace(ptr noundef %4438)
  %4440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4441 = trunc i8 %4440 to i1
  br i1 %4441, label %4442, label %4464

4442:                                             ; preds = %4435
  %4443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4444 = call i32 @fileno(ptr noundef %4443) #11
  %4445 = call i32 @isatty(i32 noundef %4444) #11
  %4446 = icmp ne i32 %4445, 0
  br i1 %4446, label %4447, label %4464

4447:                                             ; preds = %4442
  %4448 = load i32, ptr %94, align 4, !tbaa !5
  %4449 = call ptr @__errno_location() #12
  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() #12
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  %4460 = call ptr @strerror(i32 noundef %4459) #11
  %4461 = call ptr @__errno_location() #12
  %4462 = load i32, ptr %4461, align 4, !tbaa !5
  %4463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4450, ptr noundef @.str.1, i32 noundef %4451, ptr noundef @.str.51, ptr noundef @.str.3, i32 noundef 197, ptr noundef %4454, ptr noundef %4457, ptr noundef %4460, i32 noundef %4462) #11
  br label %4481

4464:                                             ; preds = %4442, %4435
  %4465 = load i32, ptr %94, align 4, !tbaa !5
  %4466 = call ptr @__errno_location() #12
  store i32 %4465, ptr %4466, align 4, !tbaa !5
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4470 = load i32, ptr %4469, align 4, !tbaa !5
  %4471 = call ptr @s2n_strerror(i32 noundef %4470, ptr noundef @.str.4)
  %4472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4473 = load i32, ptr %4472, align 4, !tbaa !5
  %4474 = call ptr @s2n_strerror_debug(i32 noundef %4473, ptr noundef @.str.4)
  %4475 = call ptr @__errno_location() #12
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  %4477 = call ptr @strerror(i32 noundef %4476) #11
  %4478 = call ptr @__errno_location() #12
  %4479 = load i32, ptr %4478, align 4, !tbaa !5
  %4480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4467, ptr noundef @.str.5, i32 noundef %4468, ptr noundef @.str.51, ptr noundef @.str.3, i32 noundef 197, ptr noundef %4471, ptr noundef %4474, ptr noundef %4477, i32 noundef %4479) #11
  br label %4481

4481:                                             ; preds = %4464, %4447
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %4482

4482:                                             ; preds = %4481
  br label %4483

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

4484:                                             ; No predecessors!
  br label %4485

4485:                                             ; preds = %4484
  br label %4486

4486:                                             ; preds = %4485, %4426
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487
  br label %4489

4489:                                             ; preds = %4488
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = add nsw i32 %4490, 1
  store i32 %4491, ptr @test_count, align 4, !tbaa !5
  %4492 = load ptr, ptr %6, align 8, !tbaa !9
  %4493 = getelementptr inbounds %struct.s2n_connection, ptr %4492, i32 0, i32 41
  %4494 = load ptr, ptr %6, align 8, !tbaa !9
  %4495 = getelementptr inbounds %struct.s2n_connection, ptr %4494, i32 0, i32 40
  %4496 = load ptr, ptr %6, align 8, !tbaa !9
  %4497 = getelementptr inbounds %struct.s2n_connection, ptr %4496, i32 0, i32 41
  %4498 = getelementptr inbounds %struct.s2n_stuffer, ptr %4497, i32 0, i32 2
  %4499 = load i32, ptr %4498, align 4, !tbaa !55
  %4500 = load ptr, ptr %6, align 8, !tbaa !9
  %4501 = getelementptr inbounds %struct.s2n_connection, ptr %4500, i32 0, i32 41
  %4502 = getelementptr inbounds %struct.s2n_stuffer, ptr %4501, i32 0, i32 1
  %4503 = load i32, ptr %4502, align 8, !tbaa !56
  %4504 = sub i32 %4499, %4503
  %4505 = call i32 @s2n_stuffer_copy(ptr noundef %4493, ptr noundef %4495, i32 noundef %4504)
  %4506 = icmp eq i32 %4505, -1
  br i1 %4506, label %4507, label %4560

4507:                                             ; preds = %4489
  br label %4508

4508:                                             ; preds = %4507
  br label %4509

4509:                                             ; preds = %4508
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4510 = call ptr @__errno_location() #12
  %4511 = load i32, ptr %4510, align 4, !tbaa !5
  store i32 %4511, ptr %95, align 4, !tbaa !5
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = call i32 @s2n_print_stacktrace(ptr noundef %4512)
  %4514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4515 = trunc i8 %4514 to i1
  br i1 %4515, label %4516, label %4538

4516:                                             ; preds = %4509
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = call i32 @fileno(ptr noundef %4517) #11
  %4519 = call i32 @isatty(i32 noundef %4518) #11
  %4520 = icmp ne i32 %4519, 0
  br i1 %4520, label %4521, label %4538

4521:                                             ; preds = %4516
  %4522 = load i32, ptr %95, align 4, !tbaa !5
  %4523 = call ptr @__errno_location() #12
  store i32 %4522, ptr %4523, align 4, !tbaa !5
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = load i32, ptr @test_count, align 4, !tbaa !5
  %4526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4527 = load i32, ptr %4526, align 4, !tbaa !5
  %4528 = call ptr @s2n_strerror(i32 noundef %4527, ptr noundef @.str.4)
  %4529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4530 = load i32, ptr %4529, align 4, !tbaa !5
  %4531 = call ptr @s2n_strerror_debug(i32 noundef %4530, ptr noundef @.str.4)
  %4532 = call ptr @__errno_location() #12
  %4533 = load i32, ptr %4532, align 4, !tbaa !5
  %4534 = call ptr @strerror(i32 noundef %4533) #11
  %4535 = call ptr @__errno_location() #12
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4524, ptr noundef @.str.1, i32 noundef %4525, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 198, ptr noundef %4528, ptr noundef %4531, ptr noundef %4534, i32 noundef %4536) #11
  br label %4555

4538:                                             ; preds = %4516, %4509
  %4539 = load i32, ptr %95, align 4, !tbaa !5
  %4540 = call ptr @__errno_location() #12
  store i32 %4539, ptr %4540, align 4, !tbaa !5
  %4541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4542 = load i32, ptr @test_count, align 4, !tbaa !5
  %4543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4544 = load i32, ptr %4543, align 4, !tbaa !5
  %4545 = call ptr @s2n_strerror(i32 noundef %4544, ptr noundef @.str.4)
  %4546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4547 = load i32, ptr %4546, align 4, !tbaa !5
  %4548 = call ptr @s2n_strerror_debug(i32 noundef %4547, ptr noundef @.str.4)
  %4549 = call ptr @__errno_location() #12
  %4550 = load i32, ptr %4549, align 4, !tbaa !5
  %4551 = call ptr @strerror(i32 noundef %4550) #11
  %4552 = call ptr @__errno_location() #12
  %4553 = load i32, ptr %4552, align 4, !tbaa !5
  %4554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4541, ptr noundef @.str.5, i32 noundef %4542, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 198, ptr noundef %4545, ptr noundef %4548, ptr noundef %4551, i32 noundef %4553) #11
  br label %4555

4555:                                             ; preds = %4538, %4521
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4556

4556:                                             ; preds = %4555
  br label %4557

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

4558:                                             ; No predecessors!
  br label %4559

4559:                                             ; preds = %4558
  br label %4560

4560:                                             ; preds = %4559, %4489
  br label %4561

4561:                                             ; preds = %4560
  br label %4562

4562:                                             ; preds = %4561
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = add nsw i32 %4565, 1
  store i32 %4566, ptr @test_count, align 4, !tbaa !5
  %4567 = load ptr, ptr %6, align 8, !tbaa !9
  %4568 = call i32 @s2n_record_parse(ptr noundef %4567)
  %4569 = icmp eq i32 %4568, -1
  br i1 %4569, label %4623, label %4570

4570:                                             ; preds = %4564
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4573 = call ptr @__errno_location() #12
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  store i32 %4574, ptr %96, align 4, !tbaa !5
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = call i32 @s2n_print_stacktrace(ptr noundef %4575)
  %4577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4578 = trunc i8 %4577 to i1
  br i1 %4578, label %4579, label %4601

4579:                                             ; preds = %4572
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = call i32 @fileno(ptr noundef %4580) #11
  %4582 = call i32 @isatty(i32 noundef %4581) #11
  %4583 = icmp ne i32 %4582, 0
  br i1 %4583, label %4584, label %4601

4584:                                             ; preds = %4579
  %4585 = load i32, ptr %96, align 4, !tbaa !5
  %4586 = call ptr @__errno_location() #12
  store i32 %4585, ptr %4586, align 4, !tbaa !5
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = load i32, ptr @test_count, align 4, !tbaa !5
  %4589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4590 = load i32, ptr %4589, align 4, !tbaa !5
  %4591 = call ptr @s2n_strerror(i32 noundef %4590, ptr noundef @.str.4)
  %4592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4593 = load i32, ptr %4592, align 4, !tbaa !5
  %4594 = call ptr @s2n_strerror_debug(i32 noundef %4593, ptr noundef @.str.4)
  %4595 = call ptr @__errno_location() #12
  %4596 = load i32, ptr %4595, align 4, !tbaa !5
  %4597 = call ptr @strerror(i32 noundef %4596) #11
  %4598 = call ptr @__errno_location() #12
  %4599 = load i32, ptr %4598, align 4, !tbaa !5
  %4600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4587, ptr noundef @.str.1, i32 noundef %4588, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4591, ptr noundef %4594, ptr noundef %4597, i32 noundef %4599) #11
  br label %4618

4601:                                             ; preds = %4579, %4572
  %4602 = load i32, ptr %96, align 4, !tbaa !5
  %4603 = call ptr @__errno_location() #12
  store i32 %4602, ptr %4603, align 4, !tbaa !5
  %4604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4605 = load i32, ptr @test_count, align 4, !tbaa !5
  %4606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror(i32 noundef %4607, ptr noundef @.str.4)
  %4609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror_debug(i32 noundef %4610, ptr noundef @.str.4)
  %4612 = call ptr @__errno_location() #12
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call ptr @strerror(i32 noundef %4613) #11
  %4615 = call ptr @__errno_location() #12
  %4616 = load i32, ptr %4615, align 4, !tbaa !5
  %4617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4604, ptr noundef @.str.5, i32 noundef %4605, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4608, ptr noundef %4611, ptr noundef %4614, i32 noundef %4616) #11
  br label %4618

4618:                                             ; preds = %4601, %4584
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4619

4619:                                             ; preds = %4618
  br label %4620

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

4621:                                             ; No predecessors!
  br label %4622

4622:                                             ; preds = %4621
  br label %4623

4623:                                             ; preds = %4622, %4564
  br label %4624

4624:                                             ; preds = %4623
  br label %4625

4625:                                             ; preds = %4624
  br label %4626

4626:                                             ; preds = %4625
  %4627 = load i32, ptr @test_count, align 4, !tbaa !5
  %4628 = add nsw i32 %4627, 1
  store i32 %4628, ptr @test_count, align 4, !tbaa !5
  %4629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4630 = load i32, ptr %4629, align 4, !tbaa !5
  %4631 = icmp eq i32 %4630, 0
  br i1 %4631, label %4632, label %4685

4632:                                             ; preds = %4626
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

4634:                                             ; preds = %4633
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4635 = call ptr @__errno_location() #12
  %4636 = load i32, ptr %4635, align 4, !tbaa !5
  store i32 %4636, ptr %97, align 4, !tbaa !5
  %4637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4638 = call i32 @s2n_print_stacktrace(ptr noundef %4637)
  %4639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4640 = trunc i8 %4639 to i1
  br i1 %4640, label %4641, label %4663

4641:                                             ; preds = %4634
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4643 = call i32 @fileno(ptr noundef %4642) #11
  %4644 = call i32 @isatty(i32 noundef %4643) #11
  %4645 = icmp ne i32 %4644, 0
  br i1 %4645, label %4646, label %4663

4646:                                             ; preds = %4641
  %4647 = load i32, ptr %97, align 4, !tbaa !5
  %4648 = call ptr @__errno_location() #12
  store i32 %4647, ptr %4648, align 4, !tbaa !5
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = load i32, ptr @test_count, align 4, !tbaa !5
  %4651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  %4653 = call ptr @s2n_strerror(i32 noundef %4652, ptr noundef @.str.4)
  %4654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4655 = load i32, ptr %4654, align 4, !tbaa !5
  %4656 = call ptr @s2n_strerror_debug(i32 noundef %4655, ptr noundef @.str.4)
  %4657 = call ptr @__errno_location() #12
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call ptr @strerror(i32 noundef %4658) #11
  %4660 = call ptr @__errno_location() #12
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4649, ptr noundef @.str.1, i32 noundef %4650, ptr noundef @.str.53, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4653, ptr noundef %4656, ptr noundef %4659, i32 noundef %4661) #11
  br label %4680

4663:                                             ; preds = %4641, %4634
  %4664 = load i32, ptr %97, align 4, !tbaa !5
  %4665 = call ptr @__errno_location() #12
  store i32 %4664, ptr %4665, align 4, !tbaa !5
  %4666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4667 = load i32, ptr @test_count, align 4, !tbaa !5
  %4668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4669 = load i32, ptr %4668, align 4, !tbaa !5
  %4670 = call ptr @s2n_strerror(i32 noundef %4669, ptr noundef @.str.4)
  %4671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4672 = load i32, ptr %4671, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror_debug(i32 noundef %4672, ptr noundef @.str.4)
  %4674 = call ptr @__errno_location() #12
  %4675 = load i32, ptr %4674, align 4, !tbaa !5
  %4676 = call ptr @strerror(i32 noundef %4675) #11
  %4677 = call ptr @__errno_location() #12
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4666, ptr noundef @.str.5, i32 noundef %4667, ptr noundef @.str.53, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4670, ptr noundef %4673, ptr noundef %4676, i32 noundef %4678) #11
  br label %4680

4680:                                             ; preds = %4663, %4646
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4681

4681:                                             ; preds = %4680
  br label %4682

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

4683:                                             ; No predecessors!
  br label %4684

4684:                                             ; preds = %4683
  br label %4685

4685:                                             ; preds = %4684, %4626
  br label %4686

4686:                                             ; preds = %4685
  br label %4687

4687:                                             ; preds = %4686
  br label %4688

4688:                                             ; preds = %4687
  %4689 = load i32, ptr @test_count, align 4, !tbaa !5
  %4690 = add nsw i32 %4689, 1
  store i32 %4690, ptr @test_count, align 4, !tbaa !5
  %4691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call ptr @s2n_strerror_debug(i32 noundef %4692, ptr noundef @.str.4)
  %4694 = icmp eq ptr %4693, null
  br i1 %4694, label %4695, label %4748

4695:                                             ; preds = %4688
  br label %4696

4696:                                             ; preds = %4695
  br label %4697

4697:                                             ; preds = %4696
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4698 = call ptr @__errno_location() #12
  %4699 = load i32, ptr %4698, align 4, !tbaa !5
  store i32 %4699, ptr %98, align 4, !tbaa !5
  %4700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4701 = call i32 @s2n_print_stacktrace(ptr noundef %4700)
  %4702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4703 = trunc i8 %4702 to i1
  br i1 %4703, label %4704, label %4726

4704:                                             ; preds = %4697
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4706 = call i32 @fileno(ptr noundef %4705) #11
  %4707 = call i32 @isatty(i32 noundef %4706) #11
  %4708 = icmp ne i32 %4707, 0
  br i1 %4708, label %4709, label %4726

4709:                                             ; preds = %4704
  %4710 = load i32, ptr %98, align 4, !tbaa !5
  %4711 = call ptr @__errno_location() #12
  store i32 %4710, ptr %4711, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = load i32, ptr @test_count, align 4, !tbaa !5
  %4714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror(i32 noundef %4715, ptr noundef @.str.4)
  %4717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4718 = load i32, ptr %4717, align 4, !tbaa !5
  %4719 = call ptr @s2n_strerror_debug(i32 noundef %4718, ptr noundef @.str.4)
  %4720 = call ptr @__errno_location() #12
  %4721 = load i32, ptr %4720, align 4, !tbaa !5
  %4722 = call ptr @strerror(i32 noundef %4721) #11
  %4723 = call ptr @__errno_location() #12
  %4724 = load i32, ptr %4723, align 4, !tbaa !5
  %4725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef @.str.1, i32 noundef %4713, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4716, ptr noundef %4719, ptr noundef %4722, i32 noundef %4724) #11
  br label %4743

4726:                                             ; preds = %4704, %4697
  %4727 = load i32, ptr %98, align 4, !tbaa !5
  %4728 = call ptr @__errno_location() #12
  store i32 %4727, ptr %4728, align 4, !tbaa !5
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = load i32, ptr @test_count, align 4, !tbaa !5
  %4731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef @.str.4)
  %4734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4735 = load i32, ptr %4734, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror_debug(i32 noundef %4735, ptr noundef @.str.4)
  %4737 = call ptr @__errno_location() #12
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @strerror(i32 noundef %4738) #11
  %4740 = call ptr @__errno_location() #12
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4729, ptr noundef @.str.5, i32 noundef %4730, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 199, ptr noundef %4733, ptr noundef %4736, ptr noundef %4739, i32 noundef %4741) #11
  br label %4743

4743:                                             ; preds = %4726, %4709
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

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

4746:                                             ; No predecessors!
  br label %4747

4747:                                             ; preds = %4746
  br label %4748

4748:                                             ; preds = %4747, %4688
  br label %4749

4749:                                             ; preds = %4748
  br label %4750

4750:                                             ; preds = %4749
  br label %4751

4751:                                             ; preds = %4750
  %4752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4752, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4753 = call ptr @__errno_location() #12
  store i32 0, ptr %4753, align 4, !tbaa !5
  br label %4754

4754:                                             ; preds = %4751
  br label %4755

4755:                                             ; preds = %4754
  br label %4756

4756:                                             ; preds = %4755
  br label %4757

4757:                                             ; preds = %4756
  br label %4758

4758:                                             ; preds = %4757
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  store i32 8, ptr %99, align 4, !tbaa !5
  %4759 = load i32, ptr %99, align 4, !tbaa !5
  %4760 = icmp ne i32 %4759, 0
  br i1 %4760, label %4761, label %4825

4761:                                             ; preds = %4758
  %4762 = load ptr, ptr %6, align 8, !tbaa !9
  %4763 = getelementptr inbounds %struct.s2n_connection, ptr %4762, i32 0, i32 30
  %4764 = load ptr, ptr %4763, align 8, !tbaa !44
  %4765 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %4764, i32 0, i32 7
  %4766 = getelementptr inbounds [8 x i8], ptr %4765, i64 0, i64 0
  %4767 = getelementptr inbounds [8 x i8], ptr %84, i64 0, i64 0
  %4768 = load i32, ptr %99, align 4, !tbaa !5
  %4769 = sext i32 %4768 to i64
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %4766, ptr align 1 %4767, i64 %4769, i1 false)
  %4770 = icmp eq ptr %4766, null
  br i1 %4770, label %4771, label %4824

4771:                                             ; preds = %4761
  br label %4772

4772:                                             ; preds = %4771
  br label %4773

4773:                                             ; preds = %4772
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #11
  %4774 = call ptr @__errno_location() #12
  %4775 = load i32, ptr %4774, align 4, !tbaa !5
  store i32 %4775, ptr %100, align 4, !tbaa !5
  %4776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4777 = call i32 @s2n_print_stacktrace(ptr noundef %4776)
  %4778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4779 = trunc i8 %4778 to i1
  br i1 %4779, label %4780, label %4802

4780:                                             ; preds = %4773
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @fileno(ptr noundef %4781) #11
  %4783 = call i32 @isatty(i32 noundef %4782) #11
  %4784 = icmp ne i32 %4783, 0
  br i1 %4784, label %4785, label %4802

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

4802:                                             ; preds = %4780, %4773
  %4803 = load i32, ptr %100, align 4, !tbaa !5
  %4804 = call ptr @__errno_location() #12
  store i32 %4803, ptr %4804, align 4, !tbaa !5
  %4805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4806 = load i32, ptr @test_count, align 4, !tbaa !5
  %4807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4808 = load i32, ptr %4807, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror(i32 noundef %4808, ptr noundef @.str.4)
  %4810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4811 = load i32, ptr %4810, align 4, !tbaa !5
  %4812 = call ptr @s2n_strerror_debug(i32 noundef %4811, ptr noundef @.str.4)
  %4813 = call ptr @__errno_location() #12
  %4814 = load i32, ptr %4813, align 4, !tbaa !5
  %4815 = call ptr @strerror(i32 noundef %4814) #11
  %4816 = call ptr @__errno_location() #12
  %4817 = load i32, ptr %4816, align 4, !tbaa !5
  %4818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4805, ptr noundef @.str.5, i32 noundef %4806, ptr noundef @.str.54, ptr noundef @.str.3, i32 noundef 202, ptr noundef %4809, ptr noundef %4812, ptr noundef %4815, i32 noundef %4817) #11
  br label %4819

4819:                                             ; preds = %4802, %4785
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %4820

4820:                                             ; preds = %4819
  br label %4821

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

4822:                                             ; No predecessors!
  br label %4823

4823:                                             ; preds = %4822
  br label %4824

4824:                                             ; preds = %4823, %4761
  br label %4825

4825:                                             ; preds = %4824, %4758
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4826

4826:                                             ; preds = %4825
  br label %4827

4827:                                             ; preds = %4826
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #11
  store i64 0, ptr %101, align 8, !tbaa !52
  br label %4828

4828:                                             ; preds = %4827
  %4829 = load i32, ptr @test_count, align 4, !tbaa !5
  %4830 = add nsw i32 %4829, 1
  store i32 %4830, ptr @test_count, align 4, !tbaa !5
  %4831 = load i16, ptr %88, align 2, !tbaa !57
  %4832 = zext i16 %4831 to i64
  %4833 = call i32 @s2n_public_random(i64 noundef %4832, ptr noundef %101)
  %4834 = getelementptr inbounds %struct.s2n_result, ptr %102, i32 0, i32 0
  store i32 %4833, ptr %4834, align 4
  %4835 = getelementptr inbounds %struct.s2n_result, ptr %102, i32 0, i32 0
  %4836 = load i32, ptr %4835, align 4
  %4837 = call zeroext i1 @s2n_result_is_ok(i32 %4836)
  br i1 %4837, label %4891, label %4838

4838:                                             ; preds = %4828
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %4841 = call ptr @__errno_location() #12
  %4842 = load i32, ptr %4841, align 4, !tbaa !5
  store i32 %4842, ptr %103, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @s2n_print_stacktrace(ptr noundef %4843)
  %4845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4846 = trunc i8 %4845 to i1
  br i1 %4846, label %4847, label %4869

4847:                                             ; preds = %4840
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @fileno(ptr noundef %4848) #11
  %4850 = call i32 @isatty(i32 noundef %4849) #11
  %4851 = icmp ne i32 %4850, 0
  br i1 %4851, label %4852, label %4869

4852:                                             ; preds = %4847
  %4853 = load i32, ptr %103, align 4, !tbaa !5
  %4854 = call ptr @__errno_location() #12
  store i32 %4853, ptr %4854, align 4, !tbaa !5
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = load i32, ptr @test_count, align 4, !tbaa !5
  %4857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror(i32 noundef %4858, ptr noundef @.str.4)
  %4860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call ptr @s2n_strerror_debug(i32 noundef %4861, ptr noundef @.str.4)
  %4863 = call ptr @__errno_location() #12
  %4864 = load i32, ptr %4863, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #11
  %4866 = call ptr @__errno_location() #12
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  %4868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4855, ptr noundef @.str.1, i32 noundef %4856, ptr noundef @.str.55, ptr noundef @.str.3, i32 noundef 208, ptr noundef %4859, ptr noundef %4862, ptr noundef %4865, i32 noundef %4867) #11
  br label %4886

4869:                                             ; preds = %4847, %4840
  %4870 = load i32, ptr %103, align 4, !tbaa !5
  %4871 = call ptr @__errno_location() #12
  store i32 %4870, ptr %4871, align 4, !tbaa !5
  %4872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4873 = load i32, ptr @test_count, align 4, !tbaa !5
  %4874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4875 = load i32, ptr %4874, align 4, !tbaa !5
  %4876 = call ptr @s2n_strerror(i32 noundef %4875, ptr noundef @.str.4)
  %4877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4878 = load i32, ptr %4877, align 4, !tbaa !5
  %4879 = call ptr @s2n_strerror_debug(i32 noundef %4878, ptr noundef @.str.4)
  %4880 = call ptr @__errno_location() #12
  %4881 = load i32, ptr %4880, align 4, !tbaa !5
  %4882 = call ptr @strerror(i32 noundef %4881) #11
  %4883 = call ptr @__errno_location() #12
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  %4885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4872, ptr noundef @.str.5, i32 noundef %4873, ptr noundef @.str.55, ptr noundef @.str.3, i32 noundef 208, ptr noundef %4876, ptr noundef %4879, ptr noundef %4882, i32 noundef %4884) #11
  br label %4886

4886:                                             ; preds = %4869, %4852
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

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

4889:                                             ; No predecessors!
  br label %4890

4890:                                             ; preds = %4889
  br label %4891

4891:                                             ; preds = %4890, %4828
  br label %4892

4892:                                             ; preds = %4891
  br label %4893

4893:                                             ; preds = %4892
  br label %4894

4894:                                             ; preds = %4893
  %4895 = load i32, ptr @test_count, align 4, !tbaa !5
  %4896 = add nsw i32 %4895, 1
  store i32 %4896, ptr @test_count, align 4, !tbaa !5
  %4897 = load ptr, ptr %6, align 8, !tbaa !9
  %4898 = getelementptr inbounds %struct.s2n_connection, ptr %4897, i32 0, i32 38
  %4899 = call i32 @s2n_stuffer_wipe(ptr noundef %4898)
  %4900 = icmp eq i32 %4899, -1
  br i1 %4900, label %4901, label %4954

4901:                                             ; preds = %4894
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %4904 = call ptr @__errno_location() #12
  %4905 = load i32, ptr %4904, align 4, !tbaa !5
  store i32 %4905, ptr %104, align 4, !tbaa !5
  %4906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4907 = call i32 @s2n_print_stacktrace(ptr noundef %4906)
  %4908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4909 = trunc i8 %4908 to i1
  br i1 %4909, label %4910, label %4932

4910:                                             ; preds = %4903
  %4911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4912 = call i32 @fileno(ptr noundef %4911) #11
  %4913 = call i32 @isatty(i32 noundef %4912) #11
  %4914 = icmp ne i32 %4913, 0
  br i1 %4914, label %4915, label %4932

4915:                                             ; preds = %4910
  %4916 = load i32, ptr %104, align 4, !tbaa !5
  %4917 = call ptr @__errno_location() #12
  store i32 %4916, ptr %4917, align 4, !tbaa !5
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = load i32, ptr @test_count, align 4, !tbaa !5
  %4920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4921 = load i32, ptr %4920, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror(i32 noundef %4921, ptr noundef @.str.4)
  %4923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror_debug(i32 noundef %4924, ptr noundef @.str.4)
  %4926 = call ptr @__errno_location() #12
  %4927 = load i32, ptr %4926, align 4, !tbaa !5
  %4928 = call ptr @strerror(i32 noundef %4927) #11
  %4929 = call ptr @__errno_location() #12
  %4930 = load i32, ptr %4929, align 4, !tbaa !5
  %4931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4918, ptr noundef @.str.1, i32 noundef %4919, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 209, ptr noundef %4922, ptr noundef %4925, ptr noundef %4928, i32 noundef %4930) #11
  br label %4949

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

4949:                                             ; preds = %4932, %4915
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

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

4952:                                             ; No predecessors!
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953, %4894
  br label %4955

4955:                                             ; preds = %4954
  br label %4956

4956:                                             ; preds = %4955
  br label %4957

4957:                                             ; preds = %4956
  %4958 = load i32, ptr @test_count, align 4, !tbaa !5
  %4959 = add nsw i32 %4958, 1
  store i32 %4959, ptr @test_count, align 4, !tbaa !5
  %4960 = load ptr, ptr %6, align 8, !tbaa !9
  %4961 = getelementptr inbounds %struct.s2n_connection, ptr %4960, i32 0, i32 40
  %4962 = call i32 @s2n_stuffer_wipe(ptr noundef %4961)
  %4963 = icmp eq i32 %4962, -1
  br i1 %4963, label %4964, label %5017

4964:                                             ; preds = %4957
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %4967 = call ptr @__errno_location() #12
  %4968 = load i32, ptr %4967, align 4, !tbaa !5
  store i32 %4968, ptr %105, align 4, !tbaa !5
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = call i32 @s2n_print_stacktrace(ptr noundef %4969)
  %4971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4972 = trunc i8 %4971 to i1
  br i1 %4972, label %4973, label %4995

4973:                                             ; preds = %4966
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4975 = call i32 @fileno(ptr noundef %4974) #11
  %4976 = call i32 @isatty(i32 noundef %4975) #11
  %4977 = icmp ne i32 %4976, 0
  br i1 %4977, label %4978, label %4995

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

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

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

5013:                                             ; preds = %5012
  br label %5014

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

5015:                                             ; No predecessors!
  br label %5016

5016:                                             ; preds = %5015
  br label %5017

5017:                                             ; preds = %5016, %4957
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

5020:                                             ; preds = %5019
  %5021 = load i32, ptr @test_count, align 4, !tbaa !5
  %5022 = add nsw i32 %5021, 1
  store i32 %5022, ptr @test_count, align 4, !tbaa !5
  %5023 = load ptr, ptr %6, align 8, !tbaa !9
  %5024 = getelementptr inbounds %struct.s2n_connection, ptr %5023, i32 0, i32 41
  %5025 = call i32 @s2n_stuffer_reread(ptr noundef %5024)
  %5026 = icmp eq i32 %5025, -1
  br i1 %5026, label %5027, label %5080

5027:                                             ; preds = %5020
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5030 = call ptr @__errno_location() #12
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  store i32 %5031, ptr %106, align 4, !tbaa !5
  %5032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5033 = call i32 @s2n_print_stacktrace(ptr noundef %5032)
  %5034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5035 = trunc i8 %5034 to i1
  br i1 %5035, label %5036, label %5058

5036:                                             ; preds = %5029
  %5037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5038 = call i32 @fileno(ptr noundef %5037) #11
  %5039 = call i32 @isatty(i32 noundef %5038) #11
  %5040 = icmp ne i32 %5039, 0
  br i1 %5040, label %5041, label %5058

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

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

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

5076:                                             ; preds = %5075
  br label %5077

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

5078:                                             ; No predecessors!
  br label %5079

5079:                                             ; preds = %5078
  br label %5080

5080:                                             ; preds = %5079, %5020
  br label %5081

5081:                                             ; preds = %5080
  br label %5082

5082:                                             ; preds = %5081
  br label %5083

5083:                                             ; preds = %5082
  %5084 = load i32, ptr @test_count, align 4, !tbaa !5
  %5085 = add nsw i32 %5084, 1
  store i32 %5085, ptr @test_count, align 4, !tbaa !5
  %5086 = load ptr, ptr %6, align 8, !tbaa !9
  %5087 = getelementptr inbounds %struct.s2n_connection, ptr %5086, i32 0, i32 41
  %5088 = load ptr, ptr %6, align 8, !tbaa !9
  %5089 = getelementptr inbounds %struct.s2n_connection, ptr %5088, i32 0, i32 38
  %5090 = call i32 @s2n_stuffer_copy(ptr noundef %5087, ptr noundef %5089, i32 noundef 5)
  %5091 = icmp eq i32 %5090, -1
  br i1 %5091, label %5092, label %5145

5092:                                             ; preds = %5083
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

5094:                                             ; preds = %5093
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %5095 = call ptr @__errno_location() #12
  %5096 = load i32, ptr %5095, align 4, !tbaa !5
  store i32 %5096, ptr %107, align 4, !tbaa !5
  %5097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5098 = call i32 @s2n_print_stacktrace(ptr noundef %5097)
  %5099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5100 = trunc i8 %5099 to i1
  br i1 %5100, label %5101, label %5123

5101:                                             ; preds = %5094
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = call i32 @fileno(ptr noundef %5102) #11
  %5104 = call i32 @isatty(i32 noundef %5103) #11
  %5105 = icmp ne i32 %5104, 0
  br i1 %5105, label %5106, label %5123

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

5123:                                             ; preds = %5101, %5094
  %5124 = load i32, ptr %107, align 4, !tbaa !5
  %5125 = call ptr @__errno_location() #12
  store i32 %5124, ptr %5125, align 4, !tbaa !5
  %5126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5129 = load i32, ptr %5128, align 4, !tbaa !5
  %5130 = call ptr @s2n_strerror(i32 noundef %5129, ptr noundef @.str.4)
  %5131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5132 = load i32, ptr %5131, align 4, !tbaa !5
  %5133 = call ptr @s2n_strerror_debug(i32 noundef %5132, ptr noundef @.str.4)
  %5134 = call ptr @__errno_location() #12
  %5135 = load i32, ptr %5134, align 4, !tbaa !5
  %5136 = call ptr @strerror(i32 noundef %5135) #11
  %5137 = call ptr @__errno_location() #12
  %5138 = load i32, ptr %5137, align 4, !tbaa !5
  %5139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5126, ptr noundef @.str.5, i32 noundef %5127, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 212, ptr noundef %5130, ptr noundef %5133, ptr noundef %5136, i32 noundef %5138) #11
  br label %5140

5140:                                             ; preds = %5123, %5106
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5141

5141:                                             ; preds = %5140
  br label %5142

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

5143:                                             ; No predecessors!
  br label %5144

5144:                                             ; preds = %5143
  br label %5145

5145:                                             ; preds = %5144, %5083
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

5147:                                             ; preds = %5146
  br label %5148

5148:                                             ; preds = %5147
  %5149 = load i32, ptr @test_count, align 4, !tbaa !5
  %5150 = add nsw i32 %5149, 1
  store i32 %5150, ptr @test_count, align 4, !tbaa !5
  %5151 = load ptr, ptr %6, align 8, !tbaa !9
  %5152 = getelementptr inbounds %struct.s2n_connection, ptr %5151, i32 0, i32 41
  %5153 = load ptr, ptr %6, align 8, !tbaa !9
  %5154 = getelementptr inbounds %struct.s2n_connection, ptr %5153, i32 0, i32 40
  %5155 = load ptr, ptr %6, align 8, !tbaa !9
  %5156 = getelementptr inbounds %struct.s2n_connection, ptr %5155, i32 0, i32 41
  %5157 = getelementptr inbounds %struct.s2n_stuffer, ptr %5156, i32 0, i32 2
  %5158 = load i32, ptr %5157, align 4, !tbaa !55
  %5159 = load ptr, ptr %6, align 8, !tbaa !9
  %5160 = getelementptr inbounds %struct.s2n_connection, ptr %5159, i32 0, i32 41
  %5161 = getelementptr inbounds %struct.s2n_stuffer, ptr %5160, i32 0, i32 1
  %5162 = load i32, ptr %5161, align 8, !tbaa !56
  %5163 = sub i32 %5158, %5162
  %5164 = call i32 @s2n_stuffer_copy(ptr noundef %5152, ptr noundef %5154, i32 noundef %5163)
  %5165 = icmp eq i32 %5164, -1
  br i1 %5165, label %5166, label %5219

5166:                                             ; preds = %5148
  br label %5167

5167:                                             ; preds = %5166
  br label %5168

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

5175:                                             ; preds = %5168
  %5176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5177 = call i32 @fileno(ptr noundef %5176) #11
  %5178 = call i32 @isatty(i32 noundef %5177) #11
  %5179 = icmp ne i32 %5178, 0
  br i1 %5179, label %5180, label %5197

5180:                                             ; preds = %5175
  %5181 = load i32, ptr %108, align 4, !tbaa !5
  %5182 = call ptr @__errno_location() #12
  store i32 %5181, ptr %5182, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = load i32, ptr @test_count, align 4, !tbaa !5
  %5185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror(i32 noundef %5186, ptr noundef @.str.4)
  %5188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror_debug(i32 noundef %5189, ptr noundef @.str.4)
  %5191 = call ptr @__errno_location() #12
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @strerror(i32 noundef %5192) #11
  %5194 = call ptr @__errno_location() #12
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5183, ptr noundef @.str.1, i32 noundef %5184, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 213, ptr noundef %5187, ptr noundef %5190, ptr noundef %5193, i32 noundef %5195) #11
  br label %5214

5197:                                             ; preds = %5175, %5168
  %5198 = load i32, ptr %108, align 4, !tbaa !5
  %5199 = call ptr @__errno_location() #12
  store i32 %5198, ptr %5199, align 4, !tbaa !5
  %5200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5201 = load i32, ptr @test_count, align 4, !tbaa !5
  %5202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror(i32 noundef %5203, ptr noundef @.str.4)
  %5205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @s2n_strerror_debug(i32 noundef %5206, ptr noundef @.str.4)
  %5208 = call ptr @__errno_location() #12
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @strerror(i32 noundef %5209) #11
  %5211 = call ptr @__errno_location() #12
  %5212 = load i32, ptr %5211, align 4, !tbaa !5
  %5213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5200, ptr noundef @.str.5, i32 noundef %5201, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 213, ptr noundef %5204, ptr noundef %5207, ptr noundef %5210, i32 noundef %5212) #11
  br label %5214

5214:                                             ; preds = %5197, %5180
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5215

5215:                                             ; preds = %5214
  br label %5216

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

5217:                                             ; No predecessors!
  br label %5218

5218:                                             ; preds = %5217
  br label %5219

5219:                                             ; preds = %5218, %5148
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

5221:                                             ; preds = %5220
  %5222 = load ptr, ptr %6, align 8, !tbaa !9
  %5223 = getelementptr inbounds %struct.s2n_connection, ptr %5222, i32 0, i32 40
  %5224 = getelementptr inbounds %struct.s2n_stuffer, ptr %5223, i32 0, i32 0
  %5225 = getelementptr inbounds %struct.s2n_blob, ptr %5224, i32 0, i32 0
  %5226 = load ptr, ptr %5225, align 8, !tbaa !62
  %5227 = load i64, ptr %101, align 8, !tbaa !52
  %5228 = getelementptr inbounds i8, ptr %5226, i64 %5227
  %5229 = load i8, ptr %5228, align 1, !tbaa !54
  %5230 = zext i8 %5229 to i32
  %5231 = add nsw i32 %5230, 1
  %5232 = trunc i32 %5231 to i8
  store i8 %5232, ptr %5228, align 1, !tbaa !54
  br label %5233

5233:                                             ; preds = %5221
  br label %5234

5234:                                             ; preds = %5233
  br label %5235

5235:                                             ; preds = %5234
  %5236 = load i32, ptr @test_count, align 4, !tbaa !5
  %5237 = add nsw i32 %5236, 1
  store i32 %5237, ptr @test_count, align 4, !tbaa !5
  %5238 = load ptr, ptr %6, align 8, !tbaa !9
  %5239 = call i32 @s2n_record_parse(ptr noundef %5238)
  %5240 = icmp eq i32 %5239, -1
  br i1 %5240, label %5294, label %5241

5241:                                             ; preds = %5235
  br label %5242

5242:                                             ; preds = %5241
  br label %5243

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

5250:                                             ; preds = %5243
  %5251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5252 = call i32 @fileno(ptr noundef %5251) #11
  %5253 = call i32 @isatty(i32 noundef %5252) #11
  %5254 = icmp ne i32 %5253, 0
  br i1 %5254, label %5255, label %5272

5255:                                             ; preds = %5250
  %5256 = load i32, ptr %109, align 4, !tbaa !5
  %5257 = call ptr @__errno_location() #12
  store i32 %5256, ptr %5257, align 4, !tbaa !5
  %5258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @s2n_strerror(i32 noundef %5261, ptr noundef @.str.4)
  %5263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @s2n_strerror_debug(i32 noundef %5264, ptr noundef @.str.4)
  %5266 = call ptr @__errno_location() #12
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @strerror(i32 noundef %5267) #11
  %5269 = call ptr @__errno_location() #12
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5258, ptr noundef @.str.1, i32 noundef %5259, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5262, ptr noundef %5265, ptr noundef %5268, i32 noundef %5270) #11
  br label %5289

5272:                                             ; preds = %5250, %5243
  %5273 = load i32, ptr %109, align 4, !tbaa !5
  %5274 = call ptr @__errno_location() #12
  store i32 %5273, ptr %5274, align 4, !tbaa !5
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call ptr @s2n_strerror(i32 noundef %5278, ptr noundef @.str.4)
  %5280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror_debug(i32 noundef %5281, ptr noundef @.str.4)
  %5283 = call ptr @__errno_location() #12
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  %5285 = call ptr @strerror(i32 noundef %5284) #11
  %5286 = call ptr @__errno_location() #12
  %5287 = load i32, ptr %5286, align 4, !tbaa !5
  %5288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5275, ptr noundef @.str.5, i32 noundef %5276, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5279, ptr noundef %5282, ptr noundef %5285, i32 noundef %5287) #11
  br label %5289

5289:                                             ; preds = %5272, %5255
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5290

5290:                                             ; preds = %5289
  br label %5291

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

5292:                                             ; No predecessors!
  br label %5293

5293:                                             ; preds = %5292
  br label %5294

5294:                                             ; preds = %5293, %5235
  br label %5295

5295:                                             ; preds = %5294
  br label %5296

5296:                                             ; preds = %5295
  br label %5297

5297:                                             ; preds = %5296
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = add nsw i32 %5298, 1
  store i32 %5299, ptr @test_count, align 4, !tbaa !5
  %5300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = icmp eq i32 %5301, 335544322
  br i1 %5302, label %5356, label %5303

5303:                                             ; preds = %5297
  br label %5304

5304:                                             ; preds = %5303
  br label %5305

5305:                                             ; preds = %5304
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %5306 = call ptr @__errno_location() #12
  %5307 = load i32, ptr %5306, align 4, !tbaa !5
  store i32 %5307, ptr %110, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = call i32 @s2n_print_stacktrace(ptr noundef %5308)
  %5310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5311 = trunc i8 %5310 to i1
  br i1 %5311, label %5312, label %5334

5312:                                             ; preds = %5305
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = call i32 @fileno(ptr noundef %5313) #11
  %5315 = call i32 @isatty(i32 noundef %5314) #11
  %5316 = icmp ne i32 %5315, 0
  br i1 %5316, label %5317, label %5334

5317:                                             ; preds = %5312
  %5318 = load i32, ptr %110, align 4, !tbaa !5
  %5319 = call ptr @__errno_location() #12
  store i32 %5318, ptr %5319, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror(i32 noundef %5323, ptr noundef @.str.4)
  %5325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror_debug(i32 noundef %5326, ptr noundef @.str.4)
  %5328 = call ptr @__errno_location() #12
  %5329 = load i32, ptr %5328, align 4, !tbaa !5
  %5330 = call ptr @strerror(i32 noundef %5329) #11
  %5331 = call ptr @__errno_location() #12
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef @.str.1, i32 noundef %5321, ptr noundef @.str.56, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5324, ptr noundef %5327, ptr noundef %5330, i32 noundef %5332) #11
  br label %5351

5334:                                             ; preds = %5312, %5305
  %5335 = load i32, ptr %110, align 4, !tbaa !5
  %5336 = call ptr @__errno_location() #12
  store i32 %5335, ptr %5336, align 4, !tbaa !5
  %5337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5338 = load i32, ptr @test_count, align 4, !tbaa !5
  %5339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5340 = load i32, ptr %5339, align 4, !tbaa !5
  %5341 = call ptr @s2n_strerror(i32 noundef %5340, ptr noundef @.str.4)
  %5342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5343 = load i32, ptr %5342, align 4, !tbaa !5
  %5344 = call ptr @s2n_strerror_debug(i32 noundef %5343, ptr noundef @.str.4)
  %5345 = call ptr @__errno_location() #12
  %5346 = load i32, ptr %5345, align 4, !tbaa !5
  %5347 = call ptr @strerror(i32 noundef %5346) #11
  %5348 = call ptr @__errno_location() #12
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5337, ptr noundef @.str.5, i32 noundef %5338, ptr noundef @.str.56, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5341, ptr noundef %5344, ptr noundef %5347, i32 noundef %5349) #11
  br label %5351

5351:                                             ; preds = %5334, %5317
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5352

5352:                                             ; preds = %5351
  br label %5353

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

5354:                                             ; No predecessors!
  br label %5355

5355:                                             ; preds = %5354
  br label %5356

5356:                                             ; preds = %5355, %5297
  br label %5357

5357:                                             ; preds = %5356
  br label %5358

5358:                                             ; preds = %5357
  br label %5359

5359:                                             ; preds = %5358
  %5360 = load i32, ptr @test_count, align 4, !tbaa !5
  %5361 = add nsw i32 %5360, 1
  store i32 %5361, ptr @test_count, align 4, !tbaa !5
  %5362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5363 = load i32, ptr %5362, align 4, !tbaa !5
  %5364 = call ptr @s2n_strerror_debug(i32 noundef %5363, ptr noundef @.str.4)
  %5365 = icmp eq ptr %5364, null
  br i1 %5365, label %5366, label %5419

5366:                                             ; preds = %5359
  br label %5367

5367:                                             ; preds = %5366
  br label %5368

5368:                                             ; preds = %5367
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #11
  %5369 = call ptr @__errno_location() #12
  %5370 = load i32, ptr %5369, align 4, !tbaa !5
  store i32 %5370, ptr %111, align 4, !tbaa !5
  %5371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5372 = call i32 @s2n_print_stacktrace(ptr noundef %5371)
  %5373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5374 = trunc i8 %5373 to i1
  br i1 %5374, label %5375, label %5397

5375:                                             ; preds = %5368
  %5376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5377 = call i32 @fileno(ptr noundef %5376) #11
  %5378 = call i32 @isatty(i32 noundef %5377) #11
  %5379 = icmp ne i32 %5378, 0
  br i1 %5379, label %5380, label %5397

5380:                                             ; preds = %5375
  %5381 = load i32, ptr %111, align 4, !tbaa !5
  %5382 = call ptr @__errno_location() #12
  store i32 %5381, ptr %5382, align 4, !tbaa !5
  %5383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5384 = load i32, ptr @test_count, align 4, !tbaa !5
  %5385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5386 = load i32, ptr %5385, align 4, !tbaa !5
  %5387 = call ptr @s2n_strerror(i32 noundef %5386, ptr noundef @.str.4)
  %5388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5389 = load i32, ptr %5388, align 4, !tbaa !5
  %5390 = call ptr @s2n_strerror_debug(i32 noundef %5389, ptr noundef @.str.4)
  %5391 = call ptr @__errno_location() #12
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  %5393 = call ptr @strerror(i32 noundef %5392) #11
  %5394 = call ptr @__errno_location() #12
  %5395 = load i32, ptr %5394, align 4, !tbaa !5
  %5396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5383, ptr noundef @.str.1, i32 noundef %5384, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5387, ptr noundef %5390, ptr noundef %5393, i32 noundef %5395) #11
  br label %5414

5397:                                             ; preds = %5375, %5368
  %5398 = load i32, ptr %111, align 4, !tbaa !5
  %5399 = call ptr @__errno_location() #12
  store i32 %5398, ptr %5399, align 4, !tbaa !5
  %5400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5401 = load i32, ptr @test_count, align 4, !tbaa !5
  %5402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror(i32 noundef %5403, ptr noundef @.str.4)
  %5405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5406 = load i32, ptr %5405, align 4, !tbaa !5
  %5407 = call ptr @s2n_strerror_debug(i32 noundef %5406, ptr noundef @.str.4)
  %5408 = call ptr @__errno_location() #12
  %5409 = load i32, ptr %5408, align 4, !tbaa !5
  %5410 = call ptr @strerror(i32 noundef %5409) #11
  %5411 = call ptr @__errno_location() #12
  %5412 = load i32, ptr %5411, align 4, !tbaa !5
  %5413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5400, ptr noundef @.str.5, i32 noundef %5401, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 216, ptr noundef %5404, ptr noundef %5407, ptr noundef %5410, i32 noundef %5412) #11
  br label %5414

5414:                                             ; preds = %5397, %5380
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5415

5415:                                             ; preds = %5414
  br label %5416

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

5417:                                             ; No predecessors!
  br label %5418

5418:                                             ; preds = %5417
  br label %5419

5419:                                             ; preds = %5418, %5359
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

5421:                                             ; preds = %5420
  br label %5422

5422:                                             ; preds = %5421
  br label %5423

5423:                                             ; preds = %5422
  br label %5424

5424:                                             ; preds = %5423
  %5425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5425, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5426 = call ptr @__errno_location() #12
  store i32 0, ptr %5426, align 4, !tbaa !5
  br label %5427

5427:                                             ; preds = %5424
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

5429:                                             ; preds = %5428
  br label %5430

5430:                                             ; preds = %5429
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %77) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %64) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #11
  br label %5431

5431:                                             ; preds = %5430
  %5432 = load i64, ptr %52, align 8, !tbaa !52
  %5433 = add i64 %5432, 1
  store i64 %5433, ptr %52, align 8, !tbaa !52
  br label %2439, !llvm.loop !63

5434:                                             ; preds = %2442
  br label %5435

5435:                                             ; preds = %5434
  %5436 = load i32, ptr @test_count, align 4, !tbaa !5
  %5437 = add nsw i32 %5436, 1
  store i32 %5437, ptr @test_count, align 4, !tbaa !5
  %5438 = load ptr, ptr %6, align 8, !tbaa !9
  %5439 = getelementptr inbounds %struct.s2n_connection, ptr %5438, i32 0, i32 26
  %5440 = load ptr, ptr %5439, align 8, !tbaa !18
  %5441 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5440, i32 0, i32 3
  %5442 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %5443 = call i32 @s2n_hmac_init(ptr noundef %5441, i32 noundef 2, ptr noundef %5442, i32 noundef 15)
  %5444 = icmp eq i32 %5443, -1
  br i1 %5444, label %5445, label %5498

5445:                                             ; preds = %5435
  br label %5446

5446:                                             ; preds = %5445
  br label %5447

5447:                                             ; preds = %5446
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5448 = call ptr @__errno_location() #12
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  store i32 %5449, ptr %112, align 4, !tbaa !5
  %5450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5451 = call i32 @s2n_print_stacktrace(ptr noundef %5450)
  %5452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5453 = trunc i8 %5452 to i1
  br i1 %5453, label %5454, label %5476

5454:                                             ; preds = %5447
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = call i32 @fileno(ptr noundef %5455) #11
  %5457 = call i32 @isatty(i32 noundef %5456) #11
  %5458 = icmp ne i32 %5457, 0
  br i1 %5458, label %5459, label %5476

5459:                                             ; preds = %5454
  %5460 = load i32, ptr %112, align 4, !tbaa !5
  %5461 = call ptr @__errno_location() #12
  store i32 %5460, ptr %5461, align 4, !tbaa !5
  %5462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5463 = load i32, ptr @test_count, align 4, !tbaa !5
  %5464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5465 = load i32, ptr %5464, align 4, !tbaa !5
  %5466 = call ptr @s2n_strerror(i32 noundef %5465, ptr noundef @.str.4)
  %5467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5468 = load i32, ptr %5467, align 4, !tbaa !5
  %5469 = call ptr @s2n_strerror_debug(i32 noundef %5468, ptr noundef @.str.4)
  %5470 = call ptr @__errno_location() #12
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  %5472 = call ptr @strerror(i32 noundef %5471) #11
  %5473 = call ptr @__errno_location() #12
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5462, ptr noundef @.str.1, i32 noundef %5463, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 220, ptr noundef %5466, ptr noundef %5469, ptr noundef %5472, i32 noundef %5474) #11
  br label %5493

5476:                                             ; preds = %5454, %5447
  %5477 = load i32, ptr %112, align 4, !tbaa !5
  %5478 = call ptr @__errno_location() #12
  store i32 %5477, ptr %5478, align 4, !tbaa !5
  %5479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5480 = load i32, ptr @test_count, align 4, !tbaa !5
  %5481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5482 = load i32, ptr %5481, align 4, !tbaa !5
  %5483 = call ptr @s2n_strerror(i32 noundef %5482, ptr noundef @.str.4)
  %5484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5485 = load i32, ptr %5484, align 4, !tbaa !5
  %5486 = call ptr @s2n_strerror_debug(i32 noundef %5485, ptr noundef @.str.4)
  %5487 = call ptr @__errno_location() #12
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  %5489 = call ptr @strerror(i32 noundef %5488) #11
  %5490 = call ptr @__errno_location() #12
  %5491 = load i32, ptr %5490, align 4, !tbaa !5
  %5492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5479, ptr noundef @.str.5, i32 noundef %5480, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 220, ptr noundef %5483, ptr noundef %5486, ptr noundef %5489, i32 noundef %5491) #11
  br label %5493

5493:                                             ; preds = %5476, %5459
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5494

5494:                                             ; preds = %5493
  br label %5495

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

5496:                                             ; No predecessors!
  br label %5497

5497:                                             ; preds = %5496
  br label %5498

5498:                                             ; preds = %5497, %5435
  br label %5499

5499:                                             ; preds = %5498
  br label %5500

5500:                                             ; preds = %5499
  br label %5501

5501:                                             ; preds = %5500
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = add nsw i32 %5502, 1
  store i32 %5503, ptr @test_count, align 4, !tbaa !5
  %5504 = load ptr, ptr %6, align 8, !tbaa !9
  %5505 = getelementptr inbounds %struct.s2n_connection, ptr %5504, i32 0, i32 26
  %5506 = load ptr, ptr %5505, align 8, !tbaa !18
  %5507 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5506, i32 0, i32 4
  %5508 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %5509 = call i32 @s2n_hmac_init(ptr noundef %5507, i32 noundef 2, ptr noundef %5508, i32 noundef 15)
  %5510 = icmp eq i32 %5509, -1
  br i1 %5510, label %5511, label %5564

5511:                                             ; preds = %5501
  br label %5512

5512:                                             ; preds = %5511
  br label %5513

5513:                                             ; preds = %5512
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5514 = call ptr @__errno_location() #12
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  store i32 %5515, ptr %113, align 4, !tbaa !5
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = call i32 @s2n_print_stacktrace(ptr noundef %5516)
  %5518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5519 = trunc i8 %5518 to i1
  br i1 %5519, label %5520, label %5542

5520:                                             ; preds = %5513
  %5521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5522 = call i32 @fileno(ptr noundef %5521) #11
  %5523 = call i32 @isatty(i32 noundef %5522) #11
  %5524 = icmp ne i32 %5523, 0
  br i1 %5524, label %5525, label %5542

5525:                                             ; preds = %5520
  %5526 = load i32, ptr %113, align 4, !tbaa !5
  %5527 = call ptr @__errno_location() #12
  store i32 %5526, ptr %5527, align 4, !tbaa !5
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = load i32, ptr @test_count, align 4, !tbaa !5
  %5530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5531 = load i32, ptr %5530, align 4, !tbaa !5
  %5532 = call ptr @s2n_strerror(i32 noundef %5531, ptr noundef @.str.4)
  %5533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  %5535 = call ptr @s2n_strerror_debug(i32 noundef %5534, ptr noundef @.str.4)
  %5536 = call ptr @__errno_location() #12
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call ptr @strerror(i32 noundef %5537) #11
  %5539 = call ptr @__errno_location() #12
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5528, ptr noundef @.str.1, i32 noundef %5529, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 221, ptr noundef %5532, ptr noundef %5535, ptr noundef %5538, i32 noundef %5540) #11
  br label %5559

5542:                                             ; preds = %5520, %5513
  %5543 = load i32, ptr %113, align 4, !tbaa !5
  %5544 = call ptr @__errno_location() #12
  store i32 %5543, ptr %5544, align 4, !tbaa !5
  %5545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5546 = load i32, ptr @test_count, align 4, !tbaa !5
  %5547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5548 = load i32, ptr %5547, align 4, !tbaa !5
  %5549 = call ptr @s2n_strerror(i32 noundef %5548, ptr noundef @.str.4)
  %5550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5551 = load i32, ptr %5550, align 4, !tbaa !5
  %5552 = call ptr @s2n_strerror_debug(i32 noundef %5551, ptr noundef @.str.4)
  %5553 = call ptr @__errno_location() #12
  %5554 = load i32, ptr %5553, align 4, !tbaa !5
  %5555 = call ptr @strerror(i32 noundef %5554) #11
  %5556 = call ptr @__errno_location() #12
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5545, ptr noundef @.str.5, i32 noundef %5546, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 221, ptr noundef %5549, ptr noundef %5552, ptr noundef %5555, i32 noundef %5557) #11
  br label %5559

5559:                                             ; preds = %5542, %5525
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5560

5560:                                             ; preds = %5559
  br label %5561

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

5562:                                             ; No predecessors!
  br label %5563

5563:                                             ; preds = %5562
  br label %5564

5564:                                             ; preds = %5563, %5501
  br label %5565

5565:                                             ; preds = %5564
  br label %5566

5566:                                             ; preds = %5565
  %5567 = load ptr, ptr %6, align 8, !tbaa !9
  %5568 = getelementptr inbounds %struct.s2n_connection, ptr %5567, i32 0, i32 23
  store i8 31, ptr %5568, align 4, !tbaa !51
  %5569 = load ptr, ptr %6, align 8, !tbaa !9
  %5570 = getelementptr inbounds %struct.s2n_connection, ptr %5569, i32 0, i32 26
  %5571 = load ptr, ptr %5570, align 8, !tbaa !18
  %5572 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5571, i32 0, i32 0
  store ptr @mock_block_cipher_suite, ptr %5572, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  store i64 0, ptr %114, align 8, !tbaa !52
  br label %5573

5573:                                             ; preds = %7619, %5566
  %5574 = load i64, ptr %114, align 8, !tbaa !52
  %5575 = icmp ule i64 %5574, 8088
  br i1 %5575, label %5577, label %5576

5576:                                             ; preds = %5573
  store i32 514, ptr %115, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  br label %7622

5577:                                             ; preds = %5573
  call void @llvm.lifetime.start.p0(i64 24, ptr %116) #11
  call void @llvm.memset.p0.i64(ptr align 8 %116, i8 0, i64 24, i1 false)
  br label %5578

5578:                                             ; preds = %5577
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = add nsw i32 %5579, 1
  store i32 %5580, ptr @test_count, align 4, !tbaa !5
  %5581 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %5582 = load i64, ptr %114, align 8, !tbaa !52
  %5583 = trunc i64 %5582 to i32
  %5584 = call i32 @s2n_blob_init(ptr noundef %116, ptr noundef %5581, i32 noundef %5583)
  %5585 = icmp eq i32 %5584, -1
  br i1 %5585, label %5586, label %5639

5586:                                             ; preds = %5578
  br label %5587

5587:                                             ; preds = %5586
  br label %5588

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

5595:                                             ; preds = %5588
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = call i32 @fileno(ptr noundef %5596) #11
  %5598 = call i32 @isatty(i32 noundef %5597) #11
  %5599 = icmp ne i32 %5598, 0
  br i1 %5599, label %5600, label %5617

5600:                                             ; preds = %5595
  %5601 = load i32, ptr %117, align 4, !tbaa !5
  %5602 = call ptr @__errno_location() #12
  store i32 %5601, ptr %5602, align 4, !tbaa !5
  %5603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5604 = load i32, ptr @test_count, align 4, !tbaa !5
  %5605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5606 = load i32, ptr %5605, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror(i32 noundef %5606, ptr noundef @.str.4)
  %5608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5609 = load i32, ptr %5608, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror_debug(i32 noundef %5609, ptr noundef @.str.4)
  %5611 = call ptr @__errno_location() #12
  %5612 = load i32, ptr %5611, align 4, !tbaa !5
  %5613 = call ptr @strerror(i32 noundef %5612) #11
  %5614 = call ptr @__errno_location() #12
  %5615 = load i32, ptr %5614, align 4, !tbaa !5
  %5616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5603, ptr noundef @.str.1, i32 noundef %5604, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 227, ptr noundef %5607, ptr noundef %5610, ptr noundef %5613, i32 noundef %5615) #11
  br label %5634

5617:                                             ; preds = %5595, %5588
  %5618 = load i32, ptr %117, align 4, !tbaa !5
  %5619 = call ptr @__errno_location() #12
  store i32 %5618, ptr %5619, align 4, !tbaa !5
  %5620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5621 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5623, ptr noundef @.str.4)
  %5625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  %5627 = call ptr @s2n_strerror_debug(i32 noundef %5626, ptr noundef @.str.4)
  %5628 = call ptr @__errno_location() #12
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call ptr @strerror(i32 noundef %5629) #11
  %5631 = call ptr @__errno_location() #12
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5620, ptr noundef @.str.5, i32 noundef %5621, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 227, ptr noundef %5624, ptr noundef %5627, ptr noundef %5630, i32 noundef %5632) #11
  br label %5634

5634:                                             ; preds = %5617, %5600
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

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

5637:                                             ; No predecessors!
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638, %5578
  br label %5640

5640:                                             ; preds = %5639
  br label %5641

5641:                                             ; preds = %5640
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  store i32 0, ptr %118, align 4, !tbaa !5
  br label %5642

5642:                                             ; preds = %5641
  %5643 = load i32, ptr @test_count, align 4, !tbaa !5
  %5644 = add nsw i32 %5643, 1
  store i32 %5644, ptr @test_count, align 4, !tbaa !5
  %5645 = call i32 @s2n_hmac_reset(ptr noundef %10)
  %5646 = icmp eq i32 %5645, -1
  br i1 %5646, label %5647, label %5700

5647:                                             ; preds = %5642
  br label %5648

5648:                                             ; preds = %5647
  br label %5649

5649:                                             ; preds = %5648
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  %5650 = call ptr @__errno_location() #12
  %5651 = load i32, ptr %5650, align 4, !tbaa !5
  store i32 %5651, ptr %119, align 4, !tbaa !5
  %5652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5653 = call i32 @s2n_print_stacktrace(ptr noundef %5652)
  %5654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5655 = trunc i8 %5654 to i1
  br i1 %5655, label %5656, label %5678

5656:                                             ; preds = %5649
  %5657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5658 = call i32 @fileno(ptr noundef %5657) #11
  %5659 = call i32 @isatty(i32 noundef %5658) #11
  %5660 = icmp ne i32 %5659, 0
  br i1 %5660, label %5661, label %5678

5661:                                             ; preds = %5656
  %5662 = load i32, ptr %119, align 4, !tbaa !5
  %5663 = call ptr @__errno_location() #12
  store i32 %5662, ptr %5663, align 4, !tbaa !5
  %5664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5665 = load i32, ptr @test_count, align 4, !tbaa !5
  %5666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5667 = load i32, ptr %5666, align 4, !tbaa !5
  %5668 = call ptr @s2n_strerror(i32 noundef %5667, ptr noundef @.str.4)
  %5669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5670 = load i32, ptr %5669, align 4, !tbaa !5
  %5671 = call ptr @s2n_strerror_debug(i32 noundef %5670, ptr noundef @.str.4)
  %5672 = call ptr @__errno_location() #12
  %5673 = load i32, ptr %5672, align 4, !tbaa !5
  %5674 = call ptr @strerror(i32 noundef %5673) #11
  %5675 = call ptr @__errno_location() #12
  %5676 = load i32, ptr %5675, align 4, !tbaa !5
  %5677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5664, ptr noundef @.str.1, i32 noundef %5665, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 230, ptr noundef %5668, ptr noundef %5671, ptr noundef %5674, i32 noundef %5676) #11
  br label %5695

5678:                                             ; preds = %5656, %5649
  %5679 = load i32, ptr %119, align 4, !tbaa !5
  %5680 = call ptr @__errno_location() #12
  store i32 %5679, ptr %5680, align 4, !tbaa !5
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5682 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5684, ptr noundef @.str.4)
  %5686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  %5688 = call ptr @s2n_strerror_debug(i32 noundef %5687, ptr noundef @.str.4)
  %5689 = call ptr @__errno_location() #12
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call ptr @strerror(i32 noundef %5690) #11
  %5692 = call ptr @__errno_location() #12
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5681, ptr noundef @.str.5, i32 noundef %5682, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 230, ptr noundef %5685, ptr noundef %5688, ptr noundef %5691, i32 noundef %5693) #11
  br label %5695

5695:                                             ; preds = %5678, %5661
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5696

5696:                                             ; preds = %5695
  br label %5697

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

5698:                                             ; No predecessors!
  br label %5699

5699:                                             ; preds = %5698
  br label %5700

5700:                                             ; preds = %5699, %5642
  br label %5701

5701:                                             ; preds = %5700
  br label %5702

5702:                                             ; preds = %5701
  br label %5703

5703:                                             ; preds = %5702
  %5704 = load i32, ptr @test_count, align 4, !tbaa !5
  %5705 = add nsw i32 %5704, 1
  store i32 %5705, ptr @test_count, align 4, !tbaa !5
  %5706 = load ptr, ptr %6, align 8, !tbaa !9
  %5707 = getelementptr inbounds %struct.s2n_connection, ptr %5706, i32 0, i32 26
  %5708 = load ptr, ptr %5707, align 8, !tbaa !18
  %5709 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %5708, i32 0, i32 7
  %5710 = getelementptr inbounds [8 x i8], ptr %5709, i64 0, i64 0
  %5711 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %5710, i32 noundef 8)
  %5712 = icmp eq i32 %5711, -1
  br i1 %5712, label %5713, label %5766

5713:                                             ; preds = %5703
  br label %5714

5714:                                             ; preds = %5713
  br label %5715

5715:                                             ; preds = %5714
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  %5716 = call ptr @__errno_location() #12
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  store i32 %5717, ptr %120, align 4, !tbaa !5
  %5718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5719 = call i32 @s2n_print_stacktrace(ptr noundef %5718)
  %5720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5721 = trunc i8 %5720 to i1
  br i1 %5721, label %5722, label %5744

5722:                                             ; preds = %5715
  %5723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5724 = call i32 @fileno(ptr noundef %5723) #11
  %5725 = call i32 @isatty(i32 noundef %5724) #11
  %5726 = icmp ne i32 %5725, 0
  br i1 %5726, label %5727, label %5744

5727:                                             ; preds = %5722
  %5728 = load i32, ptr %120, align 4, !tbaa !5
  %5729 = call ptr @__errno_location() #12
  store i32 %5728, ptr %5729, align 4, !tbaa !5
  %5730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5731 = load i32, ptr @test_count, align 4, !tbaa !5
  %5732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5733 = load i32, ptr %5732, align 4, !tbaa !5
  %5734 = call ptr @s2n_strerror(i32 noundef %5733, ptr noundef @.str.4)
  %5735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5736 = load i32, ptr %5735, align 4, !tbaa !5
  %5737 = call ptr @s2n_strerror_debug(i32 noundef %5736, ptr noundef @.str.4)
  %5738 = call ptr @__errno_location() #12
  %5739 = load i32, ptr %5738, align 4, !tbaa !5
  %5740 = call ptr @strerror(i32 noundef %5739) #11
  %5741 = call ptr @__errno_location() #12
  %5742 = load i32, ptr %5741, align 4, !tbaa !5
  %5743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5730, ptr noundef @.str.1, i32 noundef %5731, ptr noundef @.str.57, ptr noundef @.str.3, i32 noundef 231, ptr noundef %5734, ptr noundef %5737, ptr noundef %5740, i32 noundef %5742) #11
  br label %5761

5744:                                             ; preds = %5722, %5715
  %5745 = load i32, ptr %120, align 4, !tbaa !5
  %5746 = call ptr @__errno_location() #12
  store i32 %5745, ptr %5746, align 4, !tbaa !5
  %5747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5748 = load i32, ptr @test_count, align 4, !tbaa !5
  %5749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5750 = load i32, ptr %5749, align 4, !tbaa !5
  %5751 = call ptr @s2n_strerror(i32 noundef %5750, ptr noundef @.str.4)
  %5752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5753 = load i32, ptr %5752, align 4, !tbaa !5
  %5754 = call ptr @s2n_strerror_debug(i32 noundef %5753, ptr noundef @.str.4)
  %5755 = call ptr @__errno_location() #12
  %5756 = load i32, ptr %5755, align 4, !tbaa !5
  %5757 = call ptr @strerror(i32 noundef %5756) #11
  %5758 = call ptr @__errno_location() #12
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5747, ptr noundef @.str.5, i32 noundef %5748, ptr noundef @.str.57, ptr noundef @.str.3, i32 noundef 231, ptr noundef %5751, ptr noundef %5754, ptr noundef %5757, i32 noundef %5759) #11
  br label %5761

5761:                                             ; preds = %5744, %5727
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %5762

5762:                                             ; preds = %5761
  br label %5763

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

5764:                                             ; No predecessors!
  br label %5765

5765:                                             ; preds = %5764
  br label %5766

5766:                                             ; preds = %5765, %5703
  br label %5767

5767:                                             ; preds = %5766
  br label %5768

5768:                                             ; preds = %5767
  br label %5769

5769:                                             ; preds = %5768
  %5770 = load i32, ptr @test_count, align 4, !tbaa !5
  %5771 = add nsw i32 %5770, 1
  store i32 %5771, ptr @test_count, align 4, !tbaa !5
  %5772 = load ptr, ptr %6, align 8, !tbaa !9
  %5773 = getelementptr inbounds %struct.s2n_connection, ptr %5772, i32 0, i32 41
  %5774 = call i32 @s2n_stuffer_wipe(ptr noundef %5773)
  %5775 = icmp eq i32 %5774, -1
  br i1 %5775, label %5776, label %5829

5776:                                             ; preds = %5769
  br label %5777

5777:                                             ; preds = %5776
  br label %5778

5778:                                             ; preds = %5777
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %5779 = call ptr @__errno_location() #12
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  store i32 %5780, ptr %121, align 4, !tbaa !5
  %5781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5782 = call i32 @s2n_print_stacktrace(ptr noundef %5781)
  %5783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5784 = trunc i8 %5783 to i1
  br i1 %5784, label %5785, label %5807

5785:                                             ; preds = %5778
  %5786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5787 = call i32 @fileno(ptr noundef %5786) #11
  %5788 = call i32 @isatty(i32 noundef %5787) #11
  %5789 = icmp ne i32 %5788, 0
  br i1 %5789, label %5790, label %5807

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

5807:                                             ; preds = %5785, %5778
  %5808 = load i32, ptr %121, align 4, !tbaa !5
  %5809 = call ptr @__errno_location() #12
  store i32 %5808, ptr %5809, align 4, !tbaa !5
  %5810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5811 = load i32, ptr @test_count, align 4, !tbaa !5
  %5812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @s2n_strerror(i32 noundef %5813, ptr noundef @.str.4)
  %5815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call ptr @s2n_strerror_debug(i32 noundef %5816, ptr noundef @.str.4)
  %5818 = call ptr @__errno_location() #12
  %5819 = load i32, ptr %5818, align 4, !tbaa !5
  %5820 = call ptr @strerror(i32 noundef %5819) #11
  %5821 = call ptr @__errno_location() #12
  %5822 = load i32, ptr %5821, align 4, !tbaa !5
  %5823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5810, ptr noundef @.str.5, i32 noundef %5811, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 233, ptr noundef %5814, ptr noundef %5817, ptr noundef %5820, i32 noundef %5822) #11
  br label %5824

5824:                                             ; preds = %5807, %5790
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %5825

5825:                                             ; preds = %5824
  br label %5826

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

5827:                                             ; No predecessors!
  br label %5828

5828:                                             ; preds = %5827
  br label %5829

5829:                                             ; preds = %5828, %5769
  br label %5830

5830:                                             ; preds = %5829
  br label %5831

5831:                                             ; preds = %5830
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %5832 = load ptr, ptr %6, align 8, !tbaa !9
  %5833 = call i32 @s2n_record_write(ptr noundef %5832, i8 noundef zeroext 23, ptr noundef %116)
  %5834 = getelementptr inbounds %struct.s2n_result, ptr %122, i32 0, i32 0
  store i32 %5833, ptr %5834, align 4
  %5835 = load i64, ptr %114, align 8, !tbaa !52
  %5836 = icmp ule i64 %5835, 8087
  br i1 %5836, label %5837, label %5902

5837:                                             ; preds = %5831
  br label %5838

5838:                                             ; preds = %5837
  %5839 = load i32, ptr @test_count, align 4, !tbaa !5
  %5840 = add nsw i32 %5839, 1
  store i32 %5840, ptr @test_count, align 4, !tbaa !5
  %5841 = getelementptr inbounds %struct.s2n_result, ptr %122, i32 0, i32 0
  %5842 = load i32, ptr %5841, align 4
  %5843 = call zeroext i1 @s2n_result_is_ok(i32 %5842)
  br i1 %5843, label %5897, label %5844

5844:                                             ; preds = %5838
  br label %5845

5845:                                             ; preds = %5844
  br label %5846

5846:                                             ; preds = %5845
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %5847 = call ptr @__errno_location() #12
  %5848 = load i32, ptr %5847, align 4, !tbaa !5
  store i32 %5848, ptr %123, align 4, !tbaa !5
  %5849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5850 = call i32 @s2n_print_stacktrace(ptr noundef %5849)
  %5851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5852 = trunc i8 %5851 to i1
  br i1 %5852, label %5853, label %5875

5853:                                             ; preds = %5846
  %5854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5855 = call i32 @fileno(ptr noundef %5854) #11
  %5856 = call i32 @isatty(i32 noundef %5855) #11
  %5857 = icmp ne i32 %5856, 0
  br i1 %5857, label %5858, label %5875

5858:                                             ; preds = %5853
  %5859 = load i32, ptr %123, align 4, !tbaa !5
  %5860 = call ptr @__errno_location() #12
  store i32 %5859, ptr %5860, align 4, !tbaa !5
  %5861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5862 = load i32, ptr @test_count, align 4, !tbaa !5
  %5863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5864 = load i32, ptr %5863, align 4, !tbaa !5
  %5865 = call ptr @s2n_strerror(i32 noundef %5864, ptr noundef @.str.4)
  %5866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5867 = load i32, ptr %5866, align 4, !tbaa !5
  %5868 = call ptr @s2n_strerror_debug(i32 noundef %5867, ptr noundef @.str.4)
  %5869 = call ptr @__errno_location() #12
  %5870 = load i32, ptr %5869, align 4, !tbaa !5
  %5871 = call ptr @strerror(i32 noundef %5870) #11
  %5872 = call ptr @__errno_location() #12
  %5873 = load i32, ptr %5872, align 4, !tbaa !5
  %5874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5861, ptr noundef @.str.1, i32 noundef %5862, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 237, ptr noundef %5865, ptr noundef %5868, ptr noundef %5871, i32 noundef %5873) #11
  br label %5892

5875:                                             ; preds = %5853, %5846
  %5876 = load i32, ptr %123, align 4, !tbaa !5
  %5877 = call ptr @__errno_location() #12
  store i32 %5876, ptr %5877, align 4, !tbaa !5
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = load i32, ptr @test_count, align 4, !tbaa !5
  %5880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror(i32 noundef %5881, ptr noundef @.str.4)
  %5883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call ptr @s2n_strerror_debug(i32 noundef %5884, ptr noundef @.str.4)
  %5886 = call ptr @__errno_location() #12
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  %5888 = call ptr @strerror(i32 noundef %5887) #11
  %5889 = call ptr @__errno_location() #12
  %5890 = load i32, ptr %5889, align 4, !tbaa !5
  %5891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5878, ptr noundef @.str.5, i32 noundef %5879, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 237, ptr noundef %5882, ptr noundef %5885, ptr noundef %5888, i32 noundef %5890) #11
  br label %5892

5892:                                             ; preds = %5875, %5858
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %5893

5893:                                             ; preds = %5892
  br label %5894

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

5895:                                             ; No predecessors!
  br label %5896

5896:                                             ; preds = %5895
  br label %5897

5897:                                             ; preds = %5896, %5838
  br label %5898

5898:                                             ; preds = %5897
  br label %5899

5899:                                             ; preds = %5898
  %5900 = load i64, ptr %114, align 8, !tbaa !52
  %5901 = trunc i64 %5900 to i32
  store i32 %5901, ptr %118, align 4, !tbaa !5
  br label %6101

5902:                                             ; preds = %5831
  br label %5903

5903:                                             ; preds = %5902
  br label %5904

5904:                                             ; preds = %5903
  br label %5905

5905:                                             ; preds = %5904
  %5906 = load i32, ptr @test_count, align 4, !tbaa !5
  %5907 = add nsw i32 %5906, 1
  store i32 %5907, ptr @test_count, align 4, !tbaa !5
  %5908 = getelementptr inbounds %struct.s2n_result, ptr %122, i32 0, i32 0
  %5909 = load i32, ptr %5908, align 4
  %5910 = call zeroext i1 @s2n_result_is_error(i32 %5909)
  br i1 %5910, label %5964, label %5911

5911:                                             ; preds = %5905
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

5913:                                             ; preds = %5912
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %5914 = call ptr @__errno_location() #12
  %5915 = load i32, ptr %5914, align 4, !tbaa !5
  store i32 %5915, ptr %124, align 4, !tbaa !5
  %5916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5917 = call i32 @s2n_print_stacktrace(ptr noundef %5916)
  %5918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5919 = trunc i8 %5918 to i1
  br i1 %5919, label %5920, label %5942

5920:                                             ; preds = %5913
  %5921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5922 = call i32 @fileno(ptr noundef %5921) #11
  %5923 = call i32 @isatty(i32 noundef %5922) #11
  %5924 = icmp ne i32 %5923, 0
  br i1 %5924, label %5925, label %5942

5925:                                             ; preds = %5920
  %5926 = load i32, ptr %124, align 4, !tbaa !5
  %5927 = call ptr @__errno_location() #12
  store i32 %5926, ptr %5927, align 4, !tbaa !5
  %5928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5929 = load i32, ptr @test_count, align 4, !tbaa !5
  %5930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5931 = load i32, ptr %5930, align 4, !tbaa !5
  %5932 = call ptr @s2n_strerror(i32 noundef %5931, ptr noundef @.str.4)
  %5933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5934 = load i32, ptr %5933, align 4, !tbaa !5
  %5935 = call ptr @s2n_strerror_debug(i32 noundef %5934, ptr noundef @.str.4)
  %5936 = call ptr @__errno_location() #12
  %5937 = load i32, ptr %5936, align 4, !tbaa !5
  %5938 = call ptr @strerror(i32 noundef %5937) #11
  %5939 = call ptr @__errno_location() #12
  %5940 = load i32, ptr %5939, align 4, !tbaa !5
  %5941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5928, ptr noundef @.str.1, i32 noundef %5929, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 240, ptr noundef %5932, ptr noundef %5935, ptr noundef %5938, i32 noundef %5940) #11
  br label %5959

5942:                                             ; preds = %5920, %5913
  %5943 = load i32, ptr %124, align 4, !tbaa !5
  %5944 = call ptr @__errno_location() #12
  store i32 %5943, ptr %5944, align 4, !tbaa !5
  %5945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5946 = load i32, ptr @test_count, align 4, !tbaa !5
  %5947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call ptr @s2n_strerror(i32 noundef %5948, ptr noundef @.str.4)
  %5950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call ptr @s2n_strerror_debug(i32 noundef %5951, ptr noundef @.str.4)
  %5953 = call ptr @__errno_location() #12
  %5954 = load i32, ptr %5953, align 4, !tbaa !5
  %5955 = call ptr @strerror(i32 noundef %5954) #11
  %5956 = call ptr @__errno_location() #12
  %5957 = load i32, ptr %5956, align 4, !tbaa !5
  %5958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5945, ptr noundef @.str.5, i32 noundef %5946, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 240, ptr noundef %5949, ptr noundef %5952, ptr noundef %5955, i32 noundef %5957) #11
  br label %5959

5959:                                             ; preds = %5942, %5925
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5960

5960:                                             ; preds = %5959
  br label %5961

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

5962:                                             ; No predecessors!
  br label %5963

5963:                                             ; preds = %5962
  br label %5964

5964:                                             ; preds = %5963, %5905
  br label %5965

5965:                                             ; preds = %5964
  br label %5966

5966:                                             ; preds = %5965
  br label %5967

5967:                                             ; preds = %5966
  %5968 = load i32, ptr @test_count, align 4, !tbaa !5
  %5969 = add nsw i32 %5968, 1
  store i32 %5969, ptr @test_count, align 4, !tbaa !5
  %5970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = icmp eq i32 %5971, 335544390
  br i1 %5972, label %6026, label %5973

5973:                                             ; preds = %5967
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

5975:                                             ; preds = %5974
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %5976 = call ptr @__errno_location() #12
  %5977 = load i32, ptr %5976, align 4, !tbaa !5
  store i32 %5977, ptr %125, align 4, !tbaa !5
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = call i32 @s2n_print_stacktrace(ptr noundef %5978)
  %5980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5981 = trunc i8 %5980 to i1
  br i1 %5981, label %5982, label %6004

5982:                                             ; preds = %5975
  %5983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5984 = call i32 @fileno(ptr noundef %5983) #11
  %5985 = call i32 @isatty(i32 noundef %5984) #11
  %5986 = icmp ne i32 %5985, 0
  br i1 %5986, label %5987, label %6004

5987:                                             ; preds = %5982
  %5988 = load i32, ptr %125, align 4, !tbaa !5
  %5989 = call ptr @__errno_location() #12
  store i32 %5988, ptr %5989, align 4, !tbaa !5
  %5990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5991 = load i32, ptr @test_count, align 4, !tbaa !5
  %5992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5993 = load i32, ptr %5992, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror(i32 noundef %5993, ptr noundef @.str.4)
  %5995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5996 = load i32, ptr %5995, align 4, !tbaa !5
  %5997 = call ptr @s2n_strerror_debug(i32 noundef %5996, ptr noundef @.str.4)
  %5998 = call ptr @__errno_location() #12
  %5999 = load i32, ptr %5998, align 4, !tbaa !5
  %6000 = call ptr @strerror(i32 noundef %5999) #11
  %6001 = call ptr @__errno_location() #12
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  %6003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5990, ptr noundef @.str.1, i32 noundef %5991, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 240, ptr noundef %5994, ptr noundef %5997, ptr noundef %6000, i32 noundef %6002) #11
  br label %6021

6004:                                             ; preds = %5982, %5975
  %6005 = load i32, ptr %125, align 4, !tbaa !5
  %6006 = call ptr @__errno_location() #12
  store i32 %6005, ptr %6006, align 4, !tbaa !5
  %6007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6008 = load i32, ptr @test_count, align 4, !tbaa !5
  %6009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  %6011 = call ptr @s2n_strerror(i32 noundef %6010, ptr noundef @.str.4)
  %6012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6013 = load i32, ptr %6012, align 4, !tbaa !5
  %6014 = call ptr @s2n_strerror_debug(i32 noundef %6013, ptr noundef @.str.4)
  %6015 = call ptr @__errno_location() #12
  %6016 = load i32, ptr %6015, align 4, !tbaa !5
  %6017 = call ptr @strerror(i32 noundef %6016) #11
  %6018 = call ptr @__errno_location() #12
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6007, ptr noundef @.str.5, i32 noundef %6008, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 240, ptr noundef %6011, ptr noundef %6014, ptr noundef %6017, i32 noundef %6019) #11
  br label %6021

6021:                                             ; preds = %6004, %5987
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6022

6022:                                             ; preds = %6021
  br label %6023

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

6024:                                             ; No predecessors!
  br label %6025

6025:                                             ; preds = %6024
  br label %6026

6026:                                             ; preds = %6025, %5967
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027
  br label %6029

6029:                                             ; preds = %6028
  %6030 = load i32, ptr @test_count, align 4, !tbaa !5
  %6031 = add nsw i32 %6030, 1
  store i32 %6031, ptr @test_count, align 4, !tbaa !5
  %6032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6033 = load i32, ptr %6032, align 4, !tbaa !5
  %6034 = call ptr @s2n_strerror_debug(i32 noundef %6033, ptr noundef @.str.4)
  %6035 = icmp eq ptr %6034, null
  br i1 %6035, label %6036, label %6089

6036:                                             ; preds = %6029
  br label %6037

6037:                                             ; preds = %6036
  br label %6038

6038:                                             ; preds = %6037
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6039 = call ptr @__errno_location() #12
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  store i32 %6040, ptr %126, align 4, !tbaa !5
  %6041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6042 = call i32 @s2n_print_stacktrace(ptr noundef %6041)
  %6043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6044 = trunc i8 %6043 to i1
  br i1 %6044, label %6045, label %6067

6045:                                             ; preds = %6038
  %6046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6047 = call i32 @fileno(ptr noundef %6046) #11
  %6048 = call i32 @isatty(i32 noundef %6047) #11
  %6049 = icmp ne i32 %6048, 0
  br i1 %6049, label %6050, label %6067

6050:                                             ; preds = %6045
  %6051 = load i32, ptr %126, align 4, !tbaa !5
  %6052 = call ptr @__errno_location() #12
  store i32 %6051, ptr %6052, align 4, !tbaa !5
  %6053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6056 = load i32, ptr %6055, align 4, !tbaa !5
  %6057 = call ptr @s2n_strerror(i32 noundef %6056, ptr noundef @.str.4)
  %6058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6059 = load i32, ptr %6058, align 4, !tbaa !5
  %6060 = call ptr @s2n_strerror_debug(i32 noundef %6059, ptr noundef @.str.4)
  %6061 = call ptr @__errno_location() #12
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  %6063 = call ptr @strerror(i32 noundef %6062) #11
  %6064 = call ptr @__errno_location() #12
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  %6066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6053, ptr noundef @.str.1, i32 noundef %6054, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 240, ptr noundef %6057, ptr noundef %6060, ptr noundef %6063, i32 noundef %6065) #11
  br label %6084

6067:                                             ; preds = %6045, %6038
  %6068 = load i32, ptr %126, align 4, !tbaa !5
  %6069 = call ptr @__errno_location() #12
  store i32 %6068, ptr %6069, align 4, !tbaa !5
  %6070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6071 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6073, ptr noundef @.str.4)
  %6075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call ptr @s2n_strerror_debug(i32 noundef %6076, ptr noundef @.str.4)
  %6078 = call ptr @__errno_location() #12
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = call ptr @strerror(i32 noundef %6079) #11
  %6081 = call ptr @__errno_location() #12
  %6082 = load i32, ptr %6081, align 4, !tbaa !5
  %6083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6070, ptr noundef @.str.5, i32 noundef %6071, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 240, ptr noundef %6074, ptr noundef %6077, ptr noundef %6080, i32 noundef %6082) #11
  br label %6084

6084:                                             ; preds = %6067, %6050
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6085

6085:                                             ; preds = %6084
  br label %6086

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

6087:                                             ; No predecessors!
  br label %6088

6088:                                             ; preds = %6087
  br label %6089

6089:                                             ; preds = %6088, %6029
  br label %6090

6090:                                             ; preds = %6089
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

6092:                                             ; preds = %6091
  br label %6093

6093:                                             ; preds = %6092
  br label %6094

6094:                                             ; preds = %6093
  %6095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6095, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6096 = call ptr @__errno_location() #12
  store i32 0, ptr %6096, align 4, !tbaa !5
  br label %6097

6097:                                             ; preds = %6094
  br label %6098

6098:                                             ; preds = %6097
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099
  store i32 8087, ptr %118, align 4, !tbaa !5
  br label %6101

6101:                                             ; preds = %6100, %5899
  call void @llvm.lifetime.start.p0(i64 2, ptr %127) #11
  %6102 = load i32, ptr %118, align 4, !tbaa !5
  %6103 = add nsw i32 %6102, 1
  %6104 = add nsw i32 %6103, 20
  %6105 = trunc i32 %6104 to i16
  store i16 %6105, ptr %127, align 2, !tbaa !57
  %6106 = load i16, ptr %127, align 2, !tbaa !57
  %6107 = zext i16 %6106 to i32
  %6108 = srem i32 %6107, 16
  %6109 = icmp ne i32 %6108, 0
  br i1 %6109, label %6110, label %6119

6110:                                             ; preds = %6101
  %6111 = load i16, ptr %127, align 2, !tbaa !57
  %6112 = zext i16 %6111 to i32
  %6113 = srem i32 %6112, 16
  %6114 = sub nsw i32 16, %6113
  %6115 = load i16, ptr %127, align 2, !tbaa !57
  %6116 = zext i16 %6115 to i32
  %6117 = add nsw i32 %6116, %6114
  %6118 = trunc i32 %6117 to i16
  store i16 %6118, ptr %127, align 2, !tbaa !57
  br label %6119

6119:                                             ; preds = %6110, %6101
  br label %6120

6120:                                             ; preds = %6119
  %6121 = load i32, ptr @test_count, align 4, !tbaa !5
  %6122 = add nsw i32 %6121, 1
  store i32 %6122, ptr @test_count, align 4, !tbaa !5
  %6123 = load ptr, ptr %6, align 8, !tbaa !9
  %6124 = getelementptr inbounds %struct.s2n_connection, ptr %6123, i32 0, i32 41
  %6125 = getelementptr inbounds %struct.s2n_stuffer, ptr %6124, i32 0, i32 0
  %6126 = getelementptr inbounds %struct.s2n_blob, ptr %6125, i32 0, i32 0
  %6127 = load ptr, ptr %6126, align 8, !tbaa !53
  %6128 = getelementptr inbounds i8, ptr %6127, i64 0
  %6129 = load i8, ptr %6128, align 1, !tbaa !54
  %6130 = zext i8 %6129 to i32
  %6131 = icmp eq i32 %6130, 23
  br i1 %6131, label %6185, label %6132

6132:                                             ; preds = %6120
  br label %6133

6133:                                             ; preds = %6132
  br label %6134

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

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

6146:                                             ; preds = %6141
  %6147 = load i32, ptr %128, align 4, !tbaa !5
  %6148 = call ptr @__errno_location() #12
  store i32 %6147, ptr %6148, align 4, !tbaa !5
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6152, ptr noundef @.str.4)
  %6154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6155 = load i32, ptr %6154, align 4, !tbaa !5
  %6156 = call ptr @s2n_strerror_debug(i32 noundef %6155, ptr noundef @.str.4)
  %6157 = call ptr @__errno_location() #12
  %6158 = load i32, ptr %6157, align 4, !tbaa !5
  %6159 = call ptr @strerror(i32 noundef %6158) #11
  %6160 = call ptr @__errno_location() #12
  %6161 = load i32, ptr %6160, align 4, !tbaa !5
  %6162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6149, ptr noundef @.str.1, i32 noundef %6150, ptr noundef @.str.58, ptr noundef @.str.3, i32 noundef 248, ptr noundef %6153, ptr noundef %6156, ptr noundef %6159, i32 noundef %6161) #11
  br label %6180

6163:                                             ; preds = %6141, %6134
  %6164 = load i32, ptr %128, align 4, !tbaa !5
  %6165 = call ptr @__errno_location() #12
  store i32 %6164, ptr %6165, align 4, !tbaa !5
  %6166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6167 = load i32, ptr @test_count, align 4, !tbaa !5
  %6168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6169 = load i32, ptr %6168, align 4, !tbaa !5
  %6170 = call ptr @s2n_strerror(i32 noundef %6169, ptr noundef @.str.4)
  %6171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6172 = load i32, ptr %6171, align 4, !tbaa !5
  %6173 = call ptr @s2n_strerror_debug(i32 noundef %6172, ptr noundef @.str.4)
  %6174 = call ptr @__errno_location() #12
  %6175 = load i32, ptr %6174, align 4, !tbaa !5
  %6176 = call ptr @strerror(i32 noundef %6175) #11
  %6177 = call ptr @__errno_location() #12
  %6178 = load i32, ptr %6177, align 4, !tbaa !5
  %6179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6166, ptr noundef @.str.5, i32 noundef %6167, ptr noundef @.str.58, ptr noundef @.str.3, i32 noundef 248, ptr noundef %6170, ptr noundef %6173, ptr noundef %6176, i32 noundef %6178) #11
  br label %6180

6180:                                             ; preds = %6163, %6146
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6181

6181:                                             ; preds = %6180
  br label %6182

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

6183:                                             ; No predecessors!
  br label %6184

6184:                                             ; preds = %6183
  br label %6185

6185:                                             ; preds = %6184, %6120
  br label %6186

6186:                                             ; preds = %6185
  br label %6187

6187:                                             ; preds = %6186
  br label %6188

6188:                                             ; preds = %6187
  %6189 = load i32, ptr @test_count, align 4, !tbaa !5
  %6190 = add nsw i32 %6189, 1
  store i32 %6190, ptr @test_count, align 4, !tbaa !5
  %6191 = load ptr, ptr %6, align 8, !tbaa !9
  %6192 = getelementptr inbounds %struct.s2n_connection, ptr %6191, i32 0, i32 41
  %6193 = getelementptr inbounds %struct.s2n_stuffer, ptr %6192, i32 0, i32 0
  %6194 = getelementptr inbounds %struct.s2n_blob, ptr %6193, i32 0, i32 0
  %6195 = load ptr, ptr %6194, align 8, !tbaa !53
  %6196 = getelementptr inbounds i8, ptr %6195, i64 1
  %6197 = load i8, ptr %6196, align 1, !tbaa !54
  %6198 = zext i8 %6197 to i32
  %6199 = icmp eq i32 %6198, 3
  br i1 %6199, label %6253, label %6200

6200:                                             ; preds = %6188
  br label %6201

6201:                                             ; preds = %6200
  br label %6202

6202:                                             ; preds = %6201
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6203 = call ptr @__errno_location() #12
  %6204 = load i32, ptr %6203, align 4, !tbaa !5
  store i32 %6204, ptr %129, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @s2n_print_stacktrace(ptr noundef %6205)
  %6207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6208 = trunc i8 %6207 to i1
  br i1 %6208, label %6209, label %6231

6209:                                             ; preds = %6202
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = call i32 @fileno(ptr noundef %6210) #11
  %6212 = call i32 @isatty(i32 noundef %6211) #11
  %6213 = icmp ne i32 %6212, 0
  br i1 %6213, label %6214, label %6231

6214:                                             ; preds = %6209
  %6215 = load i32, ptr %129, align 4, !tbaa !5
  %6216 = call ptr @__errno_location() #12
  store i32 %6215, ptr %6216, align 4, !tbaa !5
  %6217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6218 = load i32, ptr @test_count, align 4, !tbaa !5
  %6219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call ptr @s2n_strerror(i32 noundef %6220, ptr noundef @.str.4)
  %6222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6223 = load i32, ptr %6222, align 4, !tbaa !5
  %6224 = call ptr @s2n_strerror_debug(i32 noundef %6223, ptr noundef @.str.4)
  %6225 = call ptr @__errno_location() #12
  %6226 = load i32, ptr %6225, align 4, !tbaa !5
  %6227 = call ptr @strerror(i32 noundef %6226) #11
  %6228 = call ptr @__errno_location() #12
  %6229 = load i32, ptr %6228, align 4, !tbaa !5
  %6230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6217, ptr noundef @.str.1, i32 noundef %6218, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 249, ptr noundef %6221, ptr noundef %6224, ptr noundef %6227, i32 noundef %6229) #11
  br label %6248

6231:                                             ; preds = %6209, %6202
  %6232 = load i32, ptr %129, align 4, !tbaa !5
  %6233 = call ptr @__errno_location() #12
  store i32 %6232, ptr %6233, align 4, !tbaa !5
  %6234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6235 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %6237, ptr noundef @.str.4)
  %6239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6240 = load i32, ptr %6239, align 4, !tbaa !5
  %6241 = call ptr @s2n_strerror_debug(i32 noundef %6240, ptr noundef @.str.4)
  %6242 = call ptr @__errno_location() #12
  %6243 = load i32, ptr %6242, align 4, !tbaa !5
  %6244 = call ptr @strerror(i32 noundef %6243) #11
  %6245 = call ptr @__errno_location() #12
  %6246 = load i32, ptr %6245, align 4, !tbaa !5
  %6247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6234, ptr noundef @.str.5, i32 noundef %6235, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 249, ptr noundef %6238, ptr noundef %6241, ptr noundef %6244, i32 noundef %6246) #11
  br label %6248

6248:                                             ; preds = %6231, %6214
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6249

6249:                                             ; preds = %6248
  br label %6250

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

6251:                                             ; No predecessors!
  br label %6252

6252:                                             ; preds = %6251
  br label %6253

6253:                                             ; preds = %6252, %6188
  br label %6254

6254:                                             ; preds = %6253
  br label %6255

6255:                                             ; preds = %6254
  br label %6256

6256:                                             ; preds = %6255
  %6257 = load i32, ptr @test_count, align 4, !tbaa !5
  %6258 = add nsw i32 %6257, 1
  store i32 %6258, ptr @test_count, align 4, !tbaa !5
  %6259 = load ptr, ptr %6, align 8, !tbaa !9
  %6260 = getelementptr inbounds %struct.s2n_connection, ptr %6259, i32 0, i32 41
  %6261 = getelementptr inbounds %struct.s2n_stuffer, ptr %6260, i32 0, i32 0
  %6262 = getelementptr inbounds %struct.s2n_blob, ptr %6261, i32 0, i32 0
  %6263 = load ptr, ptr %6262, align 8, !tbaa !53
  %6264 = getelementptr inbounds i8, ptr %6263, i64 2
  %6265 = load i8, ptr %6264, align 1, !tbaa !54
  %6266 = zext i8 %6265 to i32
  %6267 = icmp eq i32 %6266, 1
  br i1 %6267, label %6321, label %6268

6268:                                             ; preds = %6256
  br label %6269

6269:                                             ; preds = %6268
  br label %6270

6270:                                             ; preds = %6269
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6271 = call ptr @__errno_location() #12
  %6272 = load i32, ptr %6271, align 4, !tbaa !5
  store i32 %6272, ptr %130, align 4, !tbaa !5
  %6273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6274 = call i32 @s2n_print_stacktrace(ptr noundef %6273)
  %6275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6276 = trunc i8 %6275 to i1
  br i1 %6276, label %6277, label %6299

6277:                                             ; preds = %6270
  %6278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6279 = call i32 @fileno(ptr noundef %6278) #11
  %6280 = call i32 @isatty(i32 noundef %6279) #11
  %6281 = icmp ne i32 %6280, 0
  br i1 %6281, label %6282, label %6299

6282:                                             ; preds = %6277
  %6283 = load i32, ptr %130, align 4, !tbaa !5
  %6284 = call ptr @__errno_location() #12
  store i32 %6283, ptr %6284, align 4, !tbaa !5
  %6285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6286 = load i32, ptr @test_count, align 4, !tbaa !5
  %6287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6288 = load i32, ptr %6287, align 4, !tbaa !5
  %6289 = call ptr @s2n_strerror(i32 noundef %6288, ptr noundef @.str.4)
  %6290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6291 = load i32, ptr %6290, align 4, !tbaa !5
  %6292 = call ptr @s2n_strerror_debug(i32 noundef %6291, ptr noundef @.str.4)
  %6293 = call ptr @__errno_location() #12
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @strerror(i32 noundef %6294) #11
  %6296 = call ptr @__errno_location() #12
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6285, ptr noundef @.str.1, i32 noundef %6286, ptr noundef @.str.59, ptr noundef @.str.3, i32 noundef 250, ptr noundef %6289, ptr noundef %6292, ptr noundef %6295, i32 noundef %6297) #11
  br label %6316

6299:                                             ; preds = %6277, %6270
  %6300 = load i32, ptr %130, align 4, !tbaa !5
  %6301 = call ptr @__errno_location() #12
  store i32 %6300, ptr %6301, align 4, !tbaa !5
  %6302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6303 = load i32, ptr @test_count, align 4, !tbaa !5
  %6304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6305 = load i32, ptr %6304, align 4, !tbaa !5
  %6306 = call ptr @s2n_strerror(i32 noundef %6305, ptr noundef @.str.4)
  %6307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6308 = load i32, ptr %6307, align 4, !tbaa !5
  %6309 = call ptr @s2n_strerror_debug(i32 noundef %6308, ptr noundef @.str.4)
  %6310 = call ptr @__errno_location() #12
  %6311 = load i32, ptr %6310, align 4, !tbaa !5
  %6312 = call ptr @strerror(i32 noundef %6311) #11
  %6313 = call ptr @__errno_location() #12
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6302, ptr noundef @.str.5, i32 noundef %6303, ptr noundef @.str.59, ptr noundef @.str.3, i32 noundef 250, ptr noundef %6306, ptr noundef %6309, ptr noundef %6312, i32 noundef %6314) #11
  br label %6316

6316:                                             ; preds = %6299, %6282
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6317

6317:                                             ; preds = %6316
  br label %6318

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

6319:                                             ; No predecessors!
  br label %6320

6320:                                             ; preds = %6319
  br label %6321

6321:                                             ; preds = %6320, %6256
  br label %6322

6322:                                             ; preds = %6321
  br label %6323

6323:                                             ; preds = %6322
  br label %6324

6324:                                             ; preds = %6323
  %6325 = load i32, ptr @test_count, align 4, !tbaa !5
  %6326 = add nsw i32 %6325, 1
  store i32 %6326, ptr @test_count, align 4, !tbaa !5
  %6327 = load ptr, ptr %6, align 8, !tbaa !9
  %6328 = getelementptr inbounds %struct.s2n_connection, ptr %6327, i32 0, i32 41
  %6329 = getelementptr inbounds %struct.s2n_stuffer, ptr %6328, i32 0, i32 0
  %6330 = getelementptr inbounds %struct.s2n_blob, ptr %6329, i32 0, i32 0
  %6331 = load ptr, ptr %6330, align 8, !tbaa !53
  %6332 = getelementptr inbounds i8, ptr %6331, i64 3
  %6333 = load i8, ptr %6332, align 1, !tbaa !54
  %6334 = zext i8 %6333 to i32
  %6335 = load i16, ptr %127, align 2, !tbaa !57
  %6336 = zext i16 %6335 to i32
  %6337 = ashr i32 %6336, 8
  %6338 = and i32 %6337, 255
  %6339 = icmp eq i32 %6334, %6338
  br i1 %6339, label %6393, label %6340

6340:                                             ; preds = %6324
  br label %6341

6341:                                             ; preds = %6340
  br label %6342

6342:                                             ; preds = %6341
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6343 = call ptr @__errno_location() #12
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  store i32 %6344, ptr %131, align 4, !tbaa !5
  %6345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6346 = call i32 @s2n_print_stacktrace(ptr noundef %6345)
  %6347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6348 = trunc i8 %6347 to i1
  br i1 %6348, label %6349, label %6371

6349:                                             ; preds = %6342
  %6350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6351 = call i32 @fileno(ptr noundef %6350) #11
  %6352 = call i32 @isatty(i32 noundef %6351) #11
  %6353 = icmp ne i32 %6352, 0
  br i1 %6353, label %6354, label %6371

6354:                                             ; preds = %6349
  %6355 = load i32, ptr %131, align 4, !tbaa !5
  %6356 = call ptr @__errno_location() #12
  store i32 %6355, ptr %6356, align 4, !tbaa !5
  %6357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6358 = load i32, ptr @test_count, align 4, !tbaa !5
  %6359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6360 = load i32, ptr %6359, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef @.str.4)
  %6362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6363 = load i32, ptr %6362, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror_debug(i32 noundef %6363, ptr noundef @.str.4)
  %6365 = call ptr @__errno_location() #12
  %6366 = load i32, ptr %6365, align 4, !tbaa !5
  %6367 = call ptr @strerror(i32 noundef %6366) #11
  %6368 = call ptr @__errno_location() #12
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6357, ptr noundef @.str.1, i32 noundef %6358, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 251, ptr noundef %6361, ptr noundef %6364, ptr noundef %6367, i32 noundef %6369) #11
  br label %6388

6371:                                             ; preds = %6349, %6342
  %6372 = load i32, ptr %131, align 4, !tbaa !5
  %6373 = call ptr @__errno_location() #12
  store i32 %6372, ptr %6373, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = load i32, ptr @test_count, align 4, !tbaa !5
  %6376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6377 = load i32, ptr %6376, align 4, !tbaa !5
  %6378 = call ptr @s2n_strerror(i32 noundef %6377, ptr noundef @.str.4)
  %6379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6380 = load i32, ptr %6379, align 4, !tbaa !5
  %6381 = call ptr @s2n_strerror_debug(i32 noundef %6380, ptr noundef @.str.4)
  %6382 = call ptr @__errno_location() #12
  %6383 = load i32, ptr %6382, align 4, !tbaa !5
  %6384 = call ptr @strerror(i32 noundef %6383) #11
  %6385 = call ptr @__errno_location() #12
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  %6387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6374, ptr noundef @.str.5, i32 noundef %6375, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 251, ptr noundef %6378, ptr noundef %6381, ptr noundef %6384, i32 noundef %6386) #11
  br label %6388

6388:                                             ; preds = %6371, %6354
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6389

6389:                                             ; preds = %6388
  br label %6390

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

6391:                                             ; No predecessors!
  br label %6392

6392:                                             ; preds = %6391
  br label %6393

6393:                                             ; preds = %6392, %6324
  br label %6394

6394:                                             ; preds = %6393
  br label %6395

6395:                                             ; preds = %6394
  br label %6396

6396:                                             ; preds = %6395
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = load ptr, ptr %6, align 8, !tbaa !9
  %6400 = getelementptr inbounds %struct.s2n_connection, ptr %6399, i32 0, i32 41
  %6401 = getelementptr inbounds %struct.s2n_stuffer, ptr %6400, i32 0, i32 0
  %6402 = getelementptr inbounds %struct.s2n_blob, ptr %6401, i32 0, i32 0
  %6403 = load ptr, ptr %6402, align 8, !tbaa !53
  %6404 = getelementptr inbounds i8, ptr %6403, i64 4
  %6405 = load i8, ptr %6404, align 1, !tbaa !54
  %6406 = zext i8 %6405 to i32
  %6407 = load i16, ptr %127, align 2, !tbaa !57
  %6408 = zext i16 %6407 to i32
  %6409 = and i32 %6408, 255
  %6410 = icmp eq i32 %6406, %6409
  br i1 %6410, label %6464, label %6411

6411:                                             ; preds = %6396
  br label %6412

6412:                                             ; preds = %6411
  br label %6413

6413:                                             ; preds = %6412
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6414 = call ptr @__errno_location() #12
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  store i32 %6415, ptr %132, align 4, !tbaa !5
  %6416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6417 = call i32 @s2n_print_stacktrace(ptr noundef %6416)
  %6418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6419 = trunc i8 %6418 to i1
  br i1 %6419, label %6420, label %6442

6420:                                             ; preds = %6413
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = call i32 @fileno(ptr noundef %6421) #11
  %6423 = call i32 @isatty(i32 noundef %6422) #11
  %6424 = icmp ne i32 %6423, 0
  br i1 %6424, label %6425, label %6442

6425:                                             ; preds = %6420
  %6426 = load i32, ptr %132, align 4, !tbaa !5
  %6427 = call ptr @__errno_location() #12
  store i32 %6426, ptr %6427, align 4, !tbaa !5
  %6428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6429 = load i32, ptr @test_count, align 4, !tbaa !5
  %6430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6431 = load i32, ptr %6430, align 4, !tbaa !5
  %6432 = call ptr @s2n_strerror(i32 noundef %6431, ptr noundef @.str.4)
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef @.str.4)
  %6436 = call ptr @__errno_location() #12
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #11
  %6439 = call ptr @__errno_location() #12
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6428, ptr noundef @.str.1, i32 noundef %6429, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 252, ptr noundef %6432, ptr noundef %6435, ptr noundef %6438, i32 noundef %6440) #11
  br label %6459

6442:                                             ; preds = %6420, %6413
  %6443 = load i32, ptr %132, align 4, !tbaa !5
  %6444 = call ptr @__errno_location() #12
  store i32 %6443, ptr %6444, align 4, !tbaa !5
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = load i32, ptr @test_count, align 4, !tbaa !5
  %6447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6448 = load i32, ptr %6447, align 4, !tbaa !5
  %6449 = call ptr @s2n_strerror(i32 noundef %6448, ptr noundef @.str.4)
  %6450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6451 = load i32, ptr %6450, align 4, !tbaa !5
  %6452 = call ptr @s2n_strerror_debug(i32 noundef %6451, ptr noundef @.str.4)
  %6453 = call ptr @__errno_location() #12
  %6454 = load i32, ptr %6453, align 4, !tbaa !5
  %6455 = call ptr @strerror(i32 noundef %6454) #11
  %6456 = call ptr @__errno_location() #12
  %6457 = load i32, ptr %6456, align 4, !tbaa !5
  %6458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6445, ptr noundef @.str.5, i32 noundef %6446, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 252, ptr noundef %6449, ptr noundef %6452, ptr noundef %6455, i32 noundef %6457) #11
  br label %6459

6459:                                             ; preds = %6442, %6425
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6460

6460:                                             ; preds = %6459
  br label %6461

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

6462:                                             ; No predecessors!
  br label %6463

6463:                                             ; preds = %6462
  br label %6464

6464:                                             ; preds = %6463, %6396
  br label %6465

6465:                                             ; preds = %6464
  br label %6466

6466:                                             ; preds = %6465
  br label %6467

6467:                                             ; preds = %6466
  %6468 = load i32, ptr @test_count, align 4, !tbaa !5
  %6469 = add nsw i32 %6468, 1
  store i32 %6469, ptr @test_count, align 4, !tbaa !5
  %6470 = load ptr, ptr %6, align 8, !tbaa !9
  %6471 = getelementptr inbounds %struct.s2n_connection, ptr %6470, i32 0, i32 41
  %6472 = getelementptr inbounds %struct.s2n_stuffer, ptr %6471, i32 0, i32 0
  %6473 = getelementptr inbounds %struct.s2n_blob, ptr %6472, i32 0, i32 0
  %6474 = load ptr, ptr %6473, align 8, !tbaa !53
  %6475 = getelementptr inbounds i8, ptr %6474, i64 5
  %6476 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %6477 = load i32, ptr %118, align 4, !tbaa !5
  %6478 = sext i32 %6477 to i64
  %6479 = call i32 @memcmp(ptr noundef %6475, ptr noundef %6476, i64 noundef %6478) #14
  %6480 = icmp eq i32 %6479, 0
  br i1 %6480, label %6534, label %6481

6481:                                             ; preds = %6467
  br label %6482

6482:                                             ; preds = %6481
  br label %6483

6483:                                             ; preds = %6482
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6484 = call ptr @__errno_location() #12
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  store i32 %6485, ptr %133, align 4, !tbaa !5
  %6486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6487 = call i32 @s2n_print_stacktrace(ptr noundef %6486)
  %6488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6489 = trunc i8 %6488 to i1
  br i1 %6489, label %6490, label %6512

6490:                                             ; preds = %6483
  %6491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6492 = call i32 @fileno(ptr noundef %6491) #11
  %6493 = call i32 @isatty(i32 noundef %6492) #11
  %6494 = icmp ne i32 %6493, 0
  br i1 %6494, label %6495, label %6512

6495:                                             ; preds = %6490
  %6496 = load i32, ptr %133, align 4, !tbaa !5
  %6497 = call ptr @__errno_location() #12
  store i32 %6496, ptr %6497, align 4, !tbaa !5
  %6498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6499 = load i32, ptr @test_count, align 4, !tbaa !5
  %6500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6501 = load i32, ptr %6500, align 4, !tbaa !5
  %6502 = call ptr @s2n_strerror(i32 noundef %6501, ptr noundef @.str.4)
  %6503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  %6505 = call ptr @s2n_strerror_debug(i32 noundef %6504, ptr noundef @.str.4)
  %6506 = call ptr @__errno_location() #12
  %6507 = load i32, ptr %6506, align 4, !tbaa !5
  %6508 = call ptr @strerror(i32 noundef %6507) #11
  %6509 = call ptr @__errno_location() #12
  %6510 = load i32, ptr %6509, align 4, !tbaa !5
  %6511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6498, ptr noundef @.str.1, i32 noundef %6499, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 253, ptr noundef %6502, ptr noundef %6505, ptr noundef %6508, i32 noundef %6510) #11
  br label %6529

6512:                                             ; preds = %6490, %6483
  %6513 = load i32, ptr %133, align 4, !tbaa !5
  %6514 = call ptr @__errno_location() #12
  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() #12
  %6524 = load i32, ptr %6523, align 4, !tbaa !5
  %6525 = call ptr @strerror(i32 noundef %6524) #11
  %6526 = call ptr @__errno_location() #12
  %6527 = load i32, ptr %6526, align 4, !tbaa !5
  %6528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6515, ptr noundef @.str.5, i32 noundef %6516, ptr noundef @.str.27, ptr noundef @.str.3, i32 noundef 253, ptr noundef %6519, ptr noundef %6522, ptr noundef %6525, i32 noundef %6527) #11
  br label %6529

6529:                                             ; preds = %6512, %6495
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6530

6530:                                             ; preds = %6529
  br label %6531

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

6532:                                             ; No predecessors!
  br label %6533

6533:                                             ; preds = %6532
  br label %6534

6534:                                             ; preds = %6533, %6467
  br label %6535

6535:                                             ; preds = %6534
  br label %6536

6536:                                             ; preds = %6535
  call void @llvm.lifetime.start.p0(i64 1, ptr %134) #11
  %6537 = load ptr, ptr %6, align 8, !tbaa !9
  %6538 = getelementptr inbounds %struct.s2n_connection, ptr %6537, i32 0, i32 41
  %6539 = getelementptr inbounds %struct.s2n_stuffer, ptr %6538, i32 0, i32 0
  %6540 = getelementptr inbounds %struct.s2n_blob, ptr %6539, i32 0, i32 0
  %6541 = load ptr, ptr %6540, align 8, !tbaa !53
  %6542 = load ptr, ptr %6, align 8, !tbaa !9
  %6543 = getelementptr inbounds %struct.s2n_connection, ptr %6542, i32 0, i32 41
  %6544 = getelementptr inbounds %struct.s2n_stuffer, ptr %6543, i32 0, i32 2
  %6545 = load i32, ptr %6544, align 4, !tbaa !55
  %6546 = sub i32 %6545, 1
  %6547 = zext i32 %6546 to i64
  %6548 = getelementptr inbounds i8, ptr %6541, i64 %6547
  %6549 = load i8, ptr %6548, align 1, !tbaa !54
  store i8 %6549, ptr %134, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6550 = load i32, ptr %118, align 4, !tbaa !5
  %6551 = add nsw i32 5, %6550
  %6552 = add nsw i32 %6551, 20
  %6553 = load i8, ptr %134, align 1, !tbaa !54
  %6554 = zext i8 %6553 to i32
  %6555 = add nsw i32 %6552, %6554
  %6556 = add nsw i32 %6555, 1
  store i32 %6556, ptr %135, align 4, !tbaa !5
  br label %6557

6557:                                             ; preds = %6536
  %6558 = load i32, ptr @test_count, align 4, !tbaa !5
  %6559 = add nsw i32 %6558, 1
  store i32 %6559, ptr @test_count, align 4, !tbaa !5
  %6560 = load i32, ptr %135, align 4, !tbaa !5
  %6561 = load ptr, ptr %6, align 8, !tbaa !9
  %6562 = getelementptr inbounds %struct.s2n_connection, ptr %6561, i32 0, i32 41
  %6563 = getelementptr inbounds %struct.s2n_stuffer, ptr %6562, i32 0, i32 2
  %6564 = load i32, ptr %6563, align 4, !tbaa !55
  %6565 = load ptr, ptr %6, align 8, !tbaa !9
  %6566 = getelementptr inbounds %struct.s2n_connection, ptr %6565, i32 0, i32 41
  %6567 = getelementptr inbounds %struct.s2n_stuffer, ptr %6566, i32 0, i32 1
  %6568 = load i32, ptr %6567, align 8, !tbaa !56
  %6569 = sub i32 %6564, %6568
  %6570 = icmp eq i32 %6560, %6569
  br i1 %6570, label %6624, label %6571

6571:                                             ; preds = %6557
  br label %6572

6572:                                             ; preds = %6571
  br label %6573

6573:                                             ; preds = %6572
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %6574 = call ptr @__errno_location() #12
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  store i32 %6575, ptr %136, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @s2n_print_stacktrace(ptr noundef %6576)
  %6578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6579 = trunc i8 %6578 to i1
  br i1 %6579, label %6580, label %6602

6580:                                             ; preds = %6573
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @fileno(ptr noundef %6581) #11
  %6583 = call i32 @isatty(i32 noundef %6582) #11
  %6584 = icmp ne i32 %6583, 0
  br i1 %6584, label %6585, label %6602

6585:                                             ; preds = %6580
  %6586 = load i32, ptr %136, align 4, !tbaa !5
  %6587 = call ptr @__errno_location() #12
  store i32 %6586, ptr %6587, align 4, !tbaa !5
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = load i32, ptr @test_count, align 4, !tbaa !5
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror(i32 noundef %6591, ptr noundef @.str.4)
  %6593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @s2n_strerror_debug(i32 noundef %6594, ptr noundef @.str.4)
  %6596 = call ptr @__errno_location() #12
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call ptr @strerror(i32 noundef %6597) #11
  %6599 = call ptr @__errno_location() #12
  %6600 = load i32, ptr %6599, align 4, !tbaa !5
  %6601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6588, ptr noundef @.str.1, i32 noundef %6589, ptr noundef @.str.60, ptr noundef @.str.3, i32 noundef 258, ptr noundef %6592, ptr noundef %6595, ptr noundef %6598, i32 noundef %6600) #11
  br label %6619

6602:                                             ; preds = %6580, %6573
  %6603 = load i32, ptr %136, align 4, !tbaa !5
  %6604 = call ptr @__errno_location() #12
  store i32 %6603, ptr %6604, align 4, !tbaa !5
  %6605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @s2n_strerror(i32 noundef %6608, ptr noundef @.str.4)
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror_debug(i32 noundef %6611, ptr noundef @.str.4)
  %6613 = call ptr @__errno_location() #12
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call ptr @strerror(i32 noundef %6614) #11
  %6616 = call ptr @__errno_location() #12
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  %6618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6605, ptr noundef @.str.5, i32 noundef %6606, ptr noundef @.str.60, ptr noundef @.str.3, i32 noundef 258, ptr noundef %6609, ptr noundef %6612, ptr noundef %6615, i32 noundef %6617) #11
  br label %6619

6619:                                             ; preds = %6602, %6585
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

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

6622:                                             ; No predecessors!
  br label %6623

6623:                                             ; preds = %6622
  br label %6624

6624:                                             ; preds = %6623, %6557
  br label %6625

6625:                                             ; preds = %6624
  br label %6626

6626:                                             ; preds = %6625
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  store i64 0, ptr %137, align 8, !tbaa !52
  br label %6627

6627:                                             ; preds = %6710, %6626
  %6628 = load i64, ptr %137, align 8, !tbaa !52
  %6629 = load i8, ptr %134, align 1, !tbaa !54
  %6630 = zext i8 %6629 to i64
  %6631 = icmp ule i64 %6628, %6630
  br i1 %6631, label %6633, label %6632

6632:                                             ; preds = %6627
  store i32 613, ptr %115, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  br label %6713

6633:                                             ; preds = %6627
  br label %6634

6634:                                             ; preds = %6633
  %6635 = load i32, ptr @test_count, align 4, !tbaa !5
  %6636 = add nsw i32 %6635, 1
  store i32 %6636, ptr @test_count, align 4, !tbaa !5
  %6637 = load ptr, ptr %6, align 8, !tbaa !9
  %6638 = getelementptr inbounds %struct.s2n_connection, ptr %6637, i32 0, i32 41
  %6639 = getelementptr inbounds %struct.s2n_stuffer, ptr %6638, i32 0, i32 0
  %6640 = getelementptr inbounds %struct.s2n_blob, ptr %6639, i32 0, i32 0
  %6641 = load ptr, ptr %6640, align 8, !tbaa !53
  %6642 = load i32, ptr %118, align 4, !tbaa !5
  %6643 = add nsw i32 5, %6642
  %6644 = add nsw i32 %6643, 20
  %6645 = sext i32 %6644 to i64
  %6646 = load i64, ptr %137, align 8, !tbaa !52
  %6647 = add i64 %6645, %6646
  %6648 = getelementptr inbounds i8, ptr %6641, i64 %6647
  %6649 = load i8, ptr %6648, align 1, !tbaa !54
  %6650 = zext i8 %6649 to i32
  %6651 = load i8, ptr %134, align 1, !tbaa !54
  %6652 = zext i8 %6651 to i32
  %6653 = icmp eq i32 %6650, %6652
  br i1 %6653, label %6707, label %6654

6654:                                             ; preds = %6634
  br label %6655

6655:                                             ; preds = %6654
  br label %6656

6656:                                             ; preds = %6655
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %6657 = call ptr @__errno_location() #12
  %6658 = load i32, ptr %6657, align 4, !tbaa !5
  store i32 %6658, ptr %138, align 4, !tbaa !5
  %6659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6660 = call i32 @s2n_print_stacktrace(ptr noundef %6659)
  %6661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6662 = trunc i8 %6661 to i1
  br i1 %6662, label %6663, label %6685

6663:                                             ; preds = %6656
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = call i32 @fileno(ptr noundef %6664) #11
  %6666 = call i32 @isatty(i32 noundef %6665) #11
  %6667 = icmp ne i32 %6666, 0
  br i1 %6667, label %6668, label %6685

6668:                                             ; preds = %6663
  %6669 = load i32, ptr %138, align 4, !tbaa !5
  %6670 = call ptr @__errno_location() #12
  store i32 %6669, ptr %6670, align 4, !tbaa !5
  %6671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6672 = load i32, ptr @test_count, align 4, !tbaa !5
  %6673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call ptr @s2n_strerror(i32 noundef %6674, ptr noundef @.str.4)
  %6676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6677 = load i32, ptr %6676, align 4, !tbaa !5
  %6678 = call ptr @s2n_strerror_debug(i32 noundef %6677, ptr noundef @.str.4)
  %6679 = call ptr @__errno_location() #12
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  %6681 = call ptr @strerror(i32 noundef %6680) #11
  %6682 = call ptr @__errno_location() #12
  %6683 = load i32, ptr %6682, align 4, !tbaa !5
  %6684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6671, ptr noundef @.str.1, i32 noundef %6672, ptr noundef @.str.61, ptr noundef @.str.3, i32 noundef 262, ptr noundef %6675, ptr noundef %6678, ptr noundef %6681, i32 noundef %6683) #11
  br label %6702

6685:                                             ; preds = %6663, %6656
  %6686 = load i32, ptr %138, align 4, !tbaa !5
  %6687 = call ptr @__errno_location() #12
  store i32 %6686, ptr %6687, align 4, !tbaa !5
  %6688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6689 = load i32, ptr @test_count, align 4, !tbaa !5
  %6690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @s2n_strerror(i32 noundef %6691, ptr noundef @.str.4)
  %6693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef @.str.4)
  %6696 = call ptr @__errno_location() #12
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call ptr @strerror(i32 noundef %6697) #11
  %6699 = call ptr @__errno_location() #12
  %6700 = load i32, ptr %6699, align 4, !tbaa !5
  %6701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6688, ptr noundef @.str.5, i32 noundef %6689, ptr noundef @.str.61, ptr noundef @.str.3, i32 noundef 262, ptr noundef %6692, ptr noundef %6695, ptr noundef %6698, i32 noundef %6700) #11
  br label %6702

6702:                                             ; preds = %6685, %6668
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

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

6705:                                             ; No predecessors!
  br label %6706

6706:                                             ; preds = %6705
  br label %6707

6707:                                             ; preds = %6706, %6634
  br label %6708

6708:                                             ; preds = %6707
  br label %6709

6709:                                             ; preds = %6708
  br label %6710

6710:                                             ; preds = %6709
  %6711 = load i64, ptr %137, align 8, !tbaa !52
  %6712 = add i64 %6711, 1
  store i64 %6712, ptr %137, align 8, !tbaa !52
  br label %6627, !llvm.loop !64

6713:                                             ; preds = %6632
  call void @llvm.lifetime.start.p0(i64 1, ptr %139) #11
  %6714 = load i32, ptr %118, align 4, !tbaa !5
  %6715 = ashr i32 %6714, 8
  %6716 = trunc i32 %6715 to i8
  store i8 %6716, ptr %139, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 1, ptr %140) #11
  %6717 = load i32, ptr %118, align 4, !tbaa !5
  %6718 = and i32 %6717, 255
  %6719 = trunc i32 %6718 to i8
  store i8 %6719, ptr %140, align 1, !tbaa !54
  br label %6720

6720:                                             ; preds = %6713
  %6721 = load i32, ptr @test_count, align 4, !tbaa !5
  %6722 = add nsw i32 %6721, 1
  store i32 %6722, ptr @test_count, align 4, !tbaa !5
  %6723 = load ptr, ptr %6, align 8, !tbaa !9
  %6724 = getelementptr inbounds %struct.s2n_connection, ptr %6723, i32 0, i32 41
  %6725 = getelementptr inbounds %struct.s2n_stuffer, ptr %6724, i32 0, i32 0
  %6726 = getelementptr inbounds %struct.s2n_blob, ptr %6725, i32 0, i32 0
  %6727 = load ptr, ptr %6726, align 8, !tbaa !53
  %6728 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %6727, i32 noundef 3)
  %6729 = icmp eq i32 %6728, -1
  br i1 %6729, label %6730, label %6783

6730:                                             ; preds = %6720
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6733 = call ptr @__errno_location() #12
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  store i32 %6734, ptr %141, align 4, !tbaa !5
  %6735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6736 = call i32 @s2n_print_stacktrace(ptr noundef %6735)
  %6737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6738 = trunc i8 %6737 to i1
  br i1 %6738, label %6739, label %6761

6739:                                             ; preds = %6732
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = call i32 @fileno(ptr noundef %6740) #11
  %6742 = call i32 @isatty(i32 noundef %6741) #11
  %6743 = icmp ne i32 %6742, 0
  br i1 %6743, label %6744, label %6761

6744:                                             ; preds = %6739
  %6745 = load i32, ptr %141, align 4, !tbaa !5
  %6746 = call ptr @__errno_location() #12
  store i32 %6745, ptr %6746, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = load i32, ptr @test_count, align 4, !tbaa !5
  %6749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6750 = load i32, ptr %6749, align 4, !tbaa !5
  %6751 = call ptr @s2n_strerror(i32 noundef %6750, ptr noundef @.str.4)
  %6752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6753 = load i32, ptr %6752, align 4, !tbaa !5
  %6754 = call ptr @s2n_strerror_debug(i32 noundef %6753, ptr noundef @.str.4)
  %6755 = call ptr @__errno_location() #12
  %6756 = load i32, ptr %6755, align 4, !tbaa !5
  %6757 = call ptr @strerror(i32 noundef %6756) #11
  %6758 = call ptr @__errno_location() #12
  %6759 = load i32, ptr %6758, align 4, !tbaa !5
  %6760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6747, ptr noundef @.str.1, i32 noundef %6748, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 267, ptr noundef %6751, ptr noundef %6754, ptr noundef %6757, i32 noundef %6759) #11
  br label %6778

6761:                                             ; preds = %6739, %6732
  %6762 = load i32, ptr %141, align 4, !tbaa !5
  %6763 = call ptr @__errno_location() #12
  store i32 %6762, ptr %6763, align 4, !tbaa !5
  %6764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6765 = load i32, ptr @test_count, align 4, !tbaa !5
  %6766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6767 = load i32, ptr %6766, align 4, !tbaa !5
  %6768 = call ptr @s2n_strerror(i32 noundef %6767, ptr noundef @.str.4)
  %6769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6770 = load i32, ptr %6769, align 4, !tbaa !5
  %6771 = call ptr @s2n_strerror_debug(i32 noundef %6770, ptr noundef @.str.4)
  %6772 = call ptr @__errno_location() #12
  %6773 = load i32, ptr %6772, align 4, !tbaa !5
  %6774 = call ptr @strerror(i32 noundef %6773) #11
  %6775 = call ptr @__errno_location() #12
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6764, ptr noundef @.str.5, i32 noundef %6765, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 267, ptr noundef %6768, ptr noundef %6771, ptr noundef %6774, i32 noundef %6776) #11
  br label %6778

6778:                                             ; preds = %6761, %6744
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6779

6779:                                             ; preds = %6778
  br label %6780

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

6781:                                             ; No predecessors!
  br label %6782

6782:                                             ; preds = %6781
  br label %6783

6783:                                             ; preds = %6782, %6720
  br label %6784

6784:                                             ; preds = %6783
  br label %6785

6785:                                             ; preds = %6784
  br label %6786

6786:                                             ; preds = %6785
  %6787 = load i32, ptr @test_count, align 4, !tbaa !5
  %6788 = add nsw i32 %6787, 1
  store i32 %6788, ptr @test_count, align 4, !tbaa !5
  %6789 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %139, i32 noundef 1)
  %6790 = icmp eq i32 %6789, -1
  br i1 %6790, label %6791, label %6844

6791:                                             ; preds = %6786
  br label %6792

6792:                                             ; preds = %6791
  br label %6793

6793:                                             ; preds = %6792
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6794 = call ptr @__errno_location() #12
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  store i32 %6795, ptr %142, align 4, !tbaa !5
  %6796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6797 = call i32 @s2n_print_stacktrace(ptr noundef %6796)
  %6798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6799 = trunc i8 %6798 to i1
  br i1 %6799, label %6800, label %6822

6800:                                             ; preds = %6793
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = call i32 @fileno(ptr noundef %6801) #11
  %6803 = call i32 @isatty(i32 noundef %6802) #11
  %6804 = icmp ne i32 %6803, 0
  br i1 %6804, label %6805, label %6822

6805:                                             ; preds = %6800
  %6806 = load i32, ptr %142, align 4, !tbaa !5
  %6807 = call ptr @__errno_location() #12
  store i32 %6806, ptr %6807, align 4, !tbaa !5
  %6808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6809 = load i32, ptr @test_count, align 4, !tbaa !5
  %6810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6811 = load i32, ptr %6810, align 4, !tbaa !5
  %6812 = call ptr @s2n_strerror(i32 noundef %6811, ptr noundef @.str.4)
  %6813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6814 = load i32, ptr %6813, align 4, !tbaa !5
  %6815 = call ptr @s2n_strerror_debug(i32 noundef %6814, ptr noundef @.str.4)
  %6816 = call ptr @__errno_location() #12
  %6817 = load i32, ptr %6816, align 4, !tbaa !5
  %6818 = call ptr @strerror(i32 noundef %6817) #11
  %6819 = call ptr @__errno_location() #12
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  %6821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6808, ptr noundef @.str.1, i32 noundef %6809, ptr noundef @.str.44, ptr noundef @.str.3, i32 noundef 268, ptr noundef %6812, ptr noundef %6815, ptr noundef %6818, i32 noundef %6820) #11
  br label %6839

6822:                                             ; preds = %6800, %6793
  %6823 = load i32, ptr %142, align 4, !tbaa !5
  %6824 = call ptr @__errno_location() #12
  store i32 %6823, ptr %6824, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call ptr @s2n_strerror(i32 noundef %6828, ptr noundef @.str.4)
  %6830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6831 = load i32, ptr %6830, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror_debug(i32 noundef %6831, ptr noundef @.str.4)
  %6833 = call ptr @__errno_location() #12
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @strerror(i32 noundef %6834) #11
  %6836 = call ptr @__errno_location() #12
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6825, ptr noundef @.str.5, i32 noundef %6826, ptr noundef @.str.44, ptr noundef @.str.3, i32 noundef 268, ptr noundef %6829, ptr noundef %6832, ptr noundef %6835, i32 noundef %6837) #11
  br label %6839

6839:                                             ; preds = %6822, %6805
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6840

6840:                                             ; preds = %6839
  br label %6841

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

6842:                                             ; No predecessors!
  br label %6843

6843:                                             ; preds = %6842
  br label %6844

6844:                                             ; preds = %6843, %6786
  br label %6845

6845:                                             ; preds = %6844
  br label %6846

6846:                                             ; preds = %6845
  br label %6847

6847:                                             ; preds = %6846
  %6848 = load i32, ptr @test_count, align 4, !tbaa !5
  %6849 = add nsw i32 %6848, 1
  store i32 %6849, ptr @test_count, align 4, !tbaa !5
  %6850 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %140, i32 noundef 1)
  %6851 = icmp eq i32 %6850, -1
  br i1 %6851, label %6852, label %6905

6852:                                             ; preds = %6847
  br label %6853

6853:                                             ; preds = %6852
  br label %6854

6854:                                             ; preds = %6853
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %6855 = call ptr @__errno_location() #12
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  store i32 %6856, ptr %143, align 4, !tbaa !5
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @s2n_print_stacktrace(ptr noundef %6857)
  %6859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6860 = trunc i8 %6859 to i1
  br i1 %6860, label %6861, label %6883

6861:                                             ; preds = %6854
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = call i32 @fileno(ptr noundef %6862) #11
  %6864 = call i32 @isatty(i32 noundef %6863) #11
  %6865 = icmp ne i32 %6864, 0
  br i1 %6865, label %6866, label %6883

6866:                                             ; preds = %6861
  %6867 = load i32, ptr %143, align 4, !tbaa !5
  %6868 = call ptr @__errno_location() #12
  store i32 %6867, ptr %6868, align 4, !tbaa !5
  %6869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6870 = load i32, ptr @test_count, align 4, !tbaa !5
  %6871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6872 = load i32, ptr %6871, align 4, !tbaa !5
  %6873 = call ptr @s2n_strerror(i32 noundef %6872, ptr noundef @.str.4)
  %6874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6875 = load i32, ptr %6874, align 4, !tbaa !5
  %6876 = call ptr @s2n_strerror_debug(i32 noundef %6875, ptr noundef @.str.4)
  %6877 = call ptr @__errno_location() #12
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  %6879 = call ptr @strerror(i32 noundef %6878) #11
  %6880 = call ptr @__errno_location() #12
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6869, ptr noundef @.str.1, i32 noundef %6870, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 269, ptr noundef %6873, ptr noundef %6876, ptr noundef %6879, i32 noundef %6881) #11
  br label %6900

6883:                                             ; preds = %6861, %6854
  %6884 = load i32, ptr %143, align 4, !tbaa !5
  %6885 = call ptr @__errno_location() #12
  store i32 %6884, ptr %6885, align 4, !tbaa !5
  %6886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6887 = load i32, ptr @test_count, align 4, !tbaa !5
  %6888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call ptr @s2n_strerror(i32 noundef %6889, ptr noundef @.str.4)
  %6891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6892 = load i32, ptr %6891, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror_debug(i32 noundef %6892, ptr noundef @.str.4)
  %6894 = call ptr @__errno_location() #12
  %6895 = load i32, ptr %6894, align 4, !tbaa !5
  %6896 = call ptr @strerror(i32 noundef %6895) #11
  %6897 = call ptr @__errno_location() #12
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  %6899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6886, ptr noundef @.str.5, i32 noundef %6887, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 269, ptr noundef %6890, ptr noundef %6893, ptr noundef %6896, i32 noundef %6898) #11
  br label %6900

6900:                                             ; preds = %6883, %6866
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %6901

6901:                                             ; preds = %6900
  br label %6902

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

6903:                                             ; No predecessors!
  br label %6904

6904:                                             ; preds = %6903
  br label %6905

6905:                                             ; preds = %6904, %6847
  br label %6906

6906:                                             ; preds = %6905
  br label %6907

6907:                                             ; preds = %6906
  br label %6908

6908:                                             ; preds = %6907
  %6909 = load i32, ptr @test_count, align 4, !tbaa !5
  %6910 = add nsw i32 %6909, 1
  store i32 %6910, ptr @test_count, align 4, !tbaa !5
  %6911 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %6912 = load i32, ptr %118, align 4, !tbaa !5
  %6913 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %6911, i32 noundef %6912)
  %6914 = icmp eq i32 %6913, -1
  br i1 %6914, label %6915, label %6968

6915:                                             ; preds = %6908
  br label %6916

6916:                                             ; preds = %6915
  br label %6917

6917:                                             ; preds = %6916
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %6918 = call ptr @__errno_location() #12
  %6919 = load i32, ptr %6918, align 4, !tbaa !5
  store i32 %6919, ptr %144, align 4, !tbaa !5
  %6920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6921 = call i32 @s2n_print_stacktrace(ptr noundef %6920)
  %6922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6923 = trunc i8 %6922 to i1
  br i1 %6923, label %6924, label %6946

6924:                                             ; preds = %6917
  %6925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6926 = call i32 @fileno(ptr noundef %6925) #11
  %6927 = call i32 @isatty(i32 noundef %6926) #11
  %6928 = icmp ne i32 %6927, 0
  br i1 %6928, label %6929, label %6946

6929:                                             ; preds = %6924
  %6930 = load i32, ptr %144, align 4, !tbaa !5
  %6931 = call ptr @__errno_location() #12
  store i32 %6930, ptr %6931, align 4, !tbaa !5
  %6932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6933 = load i32, ptr @test_count, align 4, !tbaa !5
  %6934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6935 = load i32, ptr %6934, align 4, !tbaa !5
  %6936 = call ptr @s2n_strerror(i32 noundef %6935, ptr noundef @.str.4)
  %6937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6938 = load i32, ptr %6937, align 4, !tbaa !5
  %6939 = call ptr @s2n_strerror_debug(i32 noundef %6938, ptr noundef @.str.4)
  %6940 = call ptr @__errno_location() #12
  %6941 = load i32, ptr %6940, align 4, !tbaa !5
  %6942 = call ptr @strerror(i32 noundef %6941) #11
  %6943 = call ptr @__errno_location() #12
  %6944 = load i32, ptr %6943, align 4, !tbaa !5
  %6945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6932, ptr noundef @.str.1, i32 noundef %6933, ptr noundef @.str.46, ptr noundef @.str.3, i32 noundef 270, ptr noundef %6936, ptr noundef %6939, ptr noundef %6942, i32 noundef %6944) #11
  br label %6963

6946:                                             ; preds = %6924, %6917
  %6947 = load i32, ptr %144, align 4, !tbaa !5
  %6948 = call ptr @__errno_location() #12
  store i32 %6947, ptr %6948, align 4, !tbaa !5
  %6949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6950 = load i32, ptr @test_count, align 4, !tbaa !5
  %6951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  %6953 = call ptr @s2n_strerror(i32 noundef %6952, ptr noundef @.str.4)
  %6954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6955 = load i32, ptr %6954, align 4, !tbaa !5
  %6956 = call ptr @s2n_strerror_debug(i32 noundef %6955, ptr noundef @.str.4)
  %6957 = call ptr @__errno_location() #12
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call ptr @strerror(i32 noundef %6958) #11
  %6960 = call ptr @__errno_location() #12
  %6961 = load i32, ptr %6960, align 4, !tbaa !5
  %6962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6949, ptr noundef @.str.5, i32 noundef %6950, ptr noundef @.str.46, ptr noundef @.str.3, i32 noundef 270, ptr noundef %6953, ptr noundef %6956, ptr noundef %6959, i32 noundef %6961) #11
  br label %6963

6963:                                             ; preds = %6946, %6929
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %6964

6964:                                             ; preds = %6963
  br label %6965

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

6966:                                             ; No predecessors!
  br label %6967

6967:                                             ; preds = %6966
  br label %6968

6968:                                             ; preds = %6967, %6908
  br label %6969

6969:                                             ; preds = %6968
  br label %6970

6970:                                             ; preds = %6969
  call void @llvm.lifetime.start.p0(i64 20, ptr %145) #11
  br label %6971

6971:                                             ; preds = %6970
  %6972 = load i32, ptr @test_count, align 4, !tbaa !5
  %6973 = add nsw i32 %6972, 1
  store i32 %6973, ptr @test_count, align 4, !tbaa !5
  %6974 = getelementptr inbounds [20 x i8], ptr %145, i64 0, i64 0
  %6975 = call i32 @s2n_hmac_digest(ptr noundef %10, ptr noundef %6974, i32 noundef 20)
  %6976 = icmp eq i32 %6975, -1
  br i1 %6976, label %6977, label %7030

6977:                                             ; preds = %6971
  br label %6978

6978:                                             ; preds = %6977
  br label %6979

6979:                                             ; preds = %6978
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6980 = call ptr @__errno_location() #12
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  store i32 %6981, ptr %146, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = call i32 @s2n_print_stacktrace(ptr noundef %6982)
  %6984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6985 = trunc i8 %6984 to i1
  br i1 %6985, label %6986, label %7008

6986:                                             ; preds = %6979
  %6987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6988 = call i32 @fileno(ptr noundef %6987) #11
  %6989 = call i32 @isatty(i32 noundef %6988) #11
  %6990 = icmp ne i32 %6989, 0
  br i1 %6990, label %6991, label %7008

6991:                                             ; preds = %6986
  %6992 = load i32, ptr %146, align 4, !tbaa !5
  %6993 = call ptr @__errno_location() #12
  store i32 %6992, ptr %6993, align 4, !tbaa !5
  %6994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6995 = load i32, ptr @test_count, align 4, !tbaa !5
  %6996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6997 = load i32, ptr %6996, align 4, !tbaa !5
  %6998 = call ptr @s2n_strerror(i32 noundef %6997, ptr noundef @.str.4)
  %6999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  %7001 = call ptr @s2n_strerror_debug(i32 noundef %7000, ptr noundef @.str.4)
  %7002 = call ptr @__errno_location() #12
  %7003 = load i32, ptr %7002, align 4, !tbaa !5
  %7004 = call ptr @strerror(i32 noundef %7003) #11
  %7005 = call ptr @__errno_location() #12
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6994, ptr noundef @.str.1, i32 noundef %6995, ptr noundef @.str.47, ptr noundef @.str.3, i32 noundef 273, ptr noundef %6998, ptr noundef %7001, ptr noundef %7004, i32 noundef %7006) #11
  br label %7025

7008:                                             ; preds = %6986, %6979
  %7009 = load i32, ptr %146, align 4, !tbaa !5
  %7010 = call ptr @__errno_location() #12
  store i32 %7009, ptr %7010, align 4, !tbaa !5
  %7011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7012 = load i32, ptr @test_count, align 4, !tbaa !5
  %7013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  %7015 = call ptr @s2n_strerror(i32 noundef %7014, ptr noundef @.str.4)
  %7016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  %7018 = call ptr @s2n_strerror_debug(i32 noundef %7017, ptr noundef @.str.4)
  %7019 = call ptr @__errno_location() #12
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call ptr @strerror(i32 noundef %7020) #11
  %7022 = call ptr @__errno_location() #12
  %7023 = load i32, ptr %7022, align 4, !tbaa !5
  %7024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7011, ptr noundef @.str.5, i32 noundef %7012, ptr noundef @.str.47, ptr noundef @.str.3, i32 noundef 273, ptr noundef %7015, ptr noundef %7018, ptr noundef %7021, i32 noundef %7023) #11
  br label %7025

7025:                                             ; preds = %7008, %6991
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7026

7026:                                             ; preds = %7025
  br label %7027

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

7028:                                             ; No predecessors!
  br label %7029

7029:                                             ; preds = %7028
  br label %7030

7030:                                             ; preds = %7029, %6971
  br label %7031

7031:                                             ; preds = %7030
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

7033:                                             ; preds = %7032
  %7034 = load i32, ptr @test_count, align 4, !tbaa !5
  %7035 = add nsw i32 %7034, 1
  store i32 %7035, ptr @test_count, align 4, !tbaa !5
  %7036 = load ptr, ptr %6, align 8, !tbaa !9
  %7037 = getelementptr inbounds %struct.s2n_connection, ptr %7036, i32 0, i32 41
  %7038 = getelementptr inbounds %struct.s2n_stuffer, ptr %7037, i32 0, i32 0
  %7039 = getelementptr inbounds %struct.s2n_blob, ptr %7038, i32 0, i32 0
  %7040 = load ptr, ptr %7039, align 8, !tbaa !53
  %7041 = getelementptr inbounds i8, ptr %7040, i64 5
  %7042 = load i32, ptr %118, align 4, !tbaa !5
  %7043 = sext i32 %7042 to i64
  %7044 = getelementptr inbounds i8, ptr %7041, i64 %7043
  %7045 = getelementptr inbounds [20 x i8], ptr %145, i64 0, i64 0
  %7046 = call i32 @s2n_hmac_digest_verify(ptr noundef %7044, ptr noundef %7045, i32 noundef 20)
  %7047 = icmp eq i32 %7046, -1
  br i1 %7047, label %7048, label %7101

7048:                                             ; preds = %7033
  br label %7049

7049:                                             ; preds = %7048
  br label %7050

7050:                                             ; preds = %7049
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7051 = call ptr @__errno_location() #12
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  store i32 %7052, ptr %147, align 4, !tbaa !5
  %7053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7054 = call i32 @s2n_print_stacktrace(ptr noundef %7053)
  %7055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7056 = trunc i8 %7055 to i1
  br i1 %7056, label %7057, label %7079

7057:                                             ; preds = %7050
  %7058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7059 = call i32 @fileno(ptr noundef %7058) #11
  %7060 = call i32 @isatty(i32 noundef %7059) #11
  %7061 = icmp ne i32 %7060, 0
  br i1 %7061, label %7062, label %7079

7062:                                             ; preds = %7057
  %7063 = load i32, ptr %147, align 4, !tbaa !5
  %7064 = call ptr @__errno_location() #12
  store i32 %7063, ptr %7064, align 4, !tbaa !5
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = load i32, ptr @test_count, align 4, !tbaa !5
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7068 = load i32, ptr %7067, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror(i32 noundef %7068, ptr noundef @.str.4)
  %7070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @s2n_strerror_debug(i32 noundef %7071, ptr noundef @.str.4)
  %7073 = call ptr @__errno_location() #12
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @strerror(i32 noundef %7074) #11
  %7076 = call ptr @__errno_location() #12
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7065, ptr noundef @.str.1, i32 noundef %7066, ptr noundef @.str.48, ptr noundef @.str.3, i32 noundef 274, ptr noundef %7069, ptr noundef %7072, ptr noundef %7075, i32 noundef %7077) #11
  br label %7096

7079:                                             ; preds = %7057, %7050
  %7080 = load i32, ptr %147, align 4, !tbaa !5
  %7081 = call ptr @__errno_location() #12
  store i32 %7080, ptr %7081, align 4, !tbaa !5
  %7082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7083 = load i32, ptr @test_count, align 4, !tbaa !5
  %7084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7085 = load i32, ptr %7084, align 4, !tbaa !5
  %7086 = call ptr @s2n_strerror(i32 noundef %7085, ptr noundef @.str.4)
  %7087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7088 = load i32, ptr %7087, align 4, !tbaa !5
  %7089 = call ptr @s2n_strerror_debug(i32 noundef %7088, ptr noundef @.str.4)
  %7090 = call ptr @__errno_location() #12
  %7091 = load i32, ptr %7090, align 4, !tbaa !5
  %7092 = call ptr @strerror(i32 noundef %7091) #11
  %7093 = call ptr @__errno_location() #12
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7082, ptr noundef @.str.5, i32 noundef %7083, ptr noundef @.str.48, ptr noundef @.str.3, i32 noundef 274, ptr noundef %7086, ptr noundef %7089, ptr noundef %7092, i32 noundef %7094) #11
  br label %7096

7096:                                             ; preds = %7079, %7062
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7097

7097:                                             ; preds = %7096
  br label %7098

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

7099:                                             ; No predecessors!
  br label %7100

7100:                                             ; preds = %7099
  br label %7101

7101:                                             ; preds = %7100, %7033
  br label %7102

7102:                                             ; preds = %7101
  br label %7103

7103:                                             ; preds = %7102
  br label %7104

7104:                                             ; preds = %7103
  %7105 = load i32, ptr @test_count, align 4, !tbaa !5
  %7106 = add nsw i32 %7105, 1
  store i32 %7106, ptr @test_count, align 4, !tbaa !5
  %7107 = load ptr, ptr %6, align 8, !tbaa !9
  %7108 = getelementptr inbounds %struct.s2n_connection, ptr %7107, i32 0, i32 40
  %7109 = call i32 @s2n_stuffer_wipe(ptr noundef %7108)
  %7110 = icmp eq i32 %7109, -1
  br i1 %7110, label %7111, label %7164

7111:                                             ; preds = %7104
  br label %7112

7112:                                             ; preds = %7111
  br label %7113

7113:                                             ; preds = %7112
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7114 = call ptr @__errno_location() #12
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  store i32 %7115, ptr %148, align 4, !tbaa !5
  %7116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7117 = call i32 @s2n_print_stacktrace(ptr noundef %7116)
  %7118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7119 = trunc i8 %7118 to i1
  br i1 %7119, label %7120, label %7142

7120:                                             ; preds = %7113
  %7121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7122 = call i32 @fileno(ptr noundef %7121) #11
  %7123 = call i32 @isatty(i32 noundef %7122) #11
  %7124 = icmp ne i32 %7123, 0
  br i1 %7124, label %7125, label %7142

7125:                                             ; preds = %7120
  %7126 = load i32, ptr %148, align 4, !tbaa !5
  %7127 = call ptr @__errno_location() #12
  store i32 %7126, ptr %7127, align 4, !tbaa !5
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = load i32, ptr @test_count, align 4, !tbaa !5
  %7130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call ptr @s2n_strerror(i32 noundef %7131, ptr noundef @.str.4)
  %7133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  %7135 = call ptr @s2n_strerror_debug(i32 noundef %7134, ptr noundef @.str.4)
  %7136 = call ptr @__errno_location() #12
  %7137 = load i32, ptr %7136, align 4, !tbaa !5
  %7138 = call ptr @strerror(i32 noundef %7137) #11
  %7139 = call ptr @__errno_location() #12
  %7140 = load i32, ptr %7139, align 4, !tbaa !5
  %7141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7128, ptr noundef @.str.1, i32 noundef %7129, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 276, ptr noundef %7132, ptr noundef %7135, ptr noundef %7138, i32 noundef %7140) #11
  br label %7159

7142:                                             ; preds = %7120, %7113
  %7143 = load i32, ptr %148, align 4, !tbaa !5
  %7144 = call ptr @__errno_location() #12
  store i32 %7143, ptr %7144, align 4, !tbaa !5
  %7145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7146 = load i32, ptr @test_count, align 4, !tbaa !5
  %7147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror(i32 noundef %7148, ptr noundef @.str.4)
  %7150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call ptr @s2n_strerror_debug(i32 noundef %7151, ptr noundef @.str.4)
  %7153 = call ptr @__errno_location() #12
  %7154 = load i32, ptr %7153, align 4, !tbaa !5
  %7155 = call ptr @strerror(i32 noundef %7154) #11
  %7156 = call ptr @__errno_location() #12
  %7157 = load i32, ptr %7156, align 4, !tbaa !5
  %7158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7145, ptr noundef @.str.5, i32 noundef %7146, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 276, ptr noundef %7149, ptr noundef %7152, ptr noundef %7155, i32 noundef %7157) #11
  br label %7159

7159:                                             ; preds = %7142, %7125
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7160

7160:                                             ; preds = %7159
  br label %7161

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

7162:                                             ; No predecessors!
  br label %7163

7163:                                             ; preds = %7162
  br label %7164

7164:                                             ; preds = %7163, %7104
  br label %7165

7165:                                             ; preds = %7164
  br label %7166

7166:                                             ; preds = %7165
  br label %7167

7167:                                             ; preds = %7166
  %7168 = load i32, ptr @test_count, align 4, !tbaa !5
  %7169 = add nsw i32 %7168, 1
  store i32 %7169, ptr @test_count, align 4, !tbaa !5
  %7170 = load ptr, ptr %6, align 8, !tbaa !9
  %7171 = getelementptr inbounds %struct.s2n_connection, ptr %7170, i32 0, i32 38
  %7172 = call i32 @s2n_stuffer_wipe(ptr noundef %7171)
  %7173 = icmp eq i32 %7172, -1
  br i1 %7173, label %7174, label %7227

7174:                                             ; preds = %7167
  br label %7175

7175:                                             ; preds = %7174
  br label %7176

7176:                                             ; preds = %7175
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7177 = call ptr @__errno_location() #12
  %7178 = load i32, ptr %7177, align 4, !tbaa !5
  store i32 %7178, ptr %149, align 4, !tbaa !5
  %7179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7180 = call i32 @s2n_print_stacktrace(ptr noundef %7179)
  %7181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7182 = trunc i8 %7181 to i1
  br i1 %7182, label %7183, label %7205

7183:                                             ; preds = %7176
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @fileno(ptr noundef %7184) #11
  %7186 = call i32 @isatty(i32 noundef %7185) #11
  %7187 = icmp ne i32 %7186, 0
  br i1 %7187, label %7188, label %7205

7188:                                             ; preds = %7183
  %7189 = load i32, ptr %149, align 4, !tbaa !5
  %7190 = call ptr @__errno_location() #12
  store i32 %7189, ptr %7190, align 4, !tbaa !5
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = load i32, ptr @test_count, align 4, !tbaa !5
  %7193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call ptr @s2n_strerror(i32 noundef %7194, ptr noundef @.str.4)
  %7196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7197 = load i32, ptr %7196, align 4, !tbaa !5
  %7198 = call ptr @s2n_strerror_debug(i32 noundef %7197, ptr noundef @.str.4)
  %7199 = call ptr @__errno_location() #12
  %7200 = load i32, ptr %7199, align 4, !tbaa !5
  %7201 = call ptr @strerror(i32 noundef %7200) #11
  %7202 = call ptr @__errno_location() #12
  %7203 = load i32, ptr %7202, align 4, !tbaa !5
  %7204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7191, ptr noundef @.str.1, i32 noundef %7192, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 277, ptr noundef %7195, ptr noundef %7198, ptr noundef %7201, i32 noundef %7203) #11
  br label %7222

7205:                                             ; preds = %7183, %7176
  %7206 = load i32, ptr %149, align 4, !tbaa !5
  %7207 = call ptr @__errno_location() #12
  store i32 %7206, ptr %7207, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = load i32, ptr @test_count, align 4, !tbaa !5
  %7210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call ptr @s2n_strerror(i32 noundef %7211, ptr noundef @.str.4)
  %7213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call ptr @s2n_strerror_debug(i32 noundef %7214, ptr noundef @.str.4)
  %7216 = call ptr @__errno_location() #12
  %7217 = load i32, ptr %7216, align 4, !tbaa !5
  %7218 = call ptr @strerror(i32 noundef %7217) #11
  %7219 = call ptr @__errno_location() #12
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  %7221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7208, ptr noundef @.str.5, i32 noundef %7209, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 277, ptr noundef %7212, ptr noundef %7215, ptr noundef %7218, i32 noundef %7220) #11
  br label %7222

7222:                                             ; preds = %7205, %7188
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7223

7223:                                             ; preds = %7222
  br label %7224

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

7225:                                             ; No predecessors!
  br label %7226

7226:                                             ; preds = %7225
  br label %7227

7227:                                             ; preds = %7226, %7167
  br label %7228

7228:                                             ; preds = %7227
  br label %7229

7229:                                             ; preds = %7228
  br label %7230

7230:                                             ; preds = %7229
  %7231 = load i32, ptr @test_count, align 4, !tbaa !5
  %7232 = add nsw i32 %7231, 1
  store i32 %7232, ptr @test_count, align 4, !tbaa !5
  %7233 = load ptr, ptr %6, align 8, !tbaa !9
  %7234 = getelementptr inbounds %struct.s2n_connection, ptr %7233, i32 0, i32 41
  %7235 = load ptr, ptr %6, align 8, !tbaa !9
  %7236 = getelementptr inbounds %struct.s2n_connection, ptr %7235, i32 0, i32 38
  %7237 = call i32 @s2n_stuffer_copy(ptr noundef %7234, ptr noundef %7236, i32 noundef 5)
  %7238 = icmp eq i32 %7237, -1
  br i1 %7238, label %7239, label %7292

7239:                                             ; preds = %7230
  br label %7240

7240:                                             ; preds = %7239
  br label %7241

7241:                                             ; preds = %7240
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7242 = call ptr @__errno_location() #12
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  store i32 %7243, ptr %150, align 4, !tbaa !5
  %7244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7245 = call i32 @s2n_print_stacktrace(ptr noundef %7244)
  %7246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7247 = trunc i8 %7246 to i1
  br i1 %7247, label %7248, label %7270

7248:                                             ; preds = %7241
  %7249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7250 = call i32 @fileno(ptr noundef %7249) #11
  %7251 = call i32 @isatty(i32 noundef %7250) #11
  %7252 = icmp ne i32 %7251, 0
  br i1 %7252, label %7253, label %7270

7253:                                             ; preds = %7248
  %7254 = load i32, ptr %150, align 4, !tbaa !5
  %7255 = call ptr @__errno_location() #12
  store i32 %7254, ptr %7255, align 4, !tbaa !5
  %7256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7257 = load i32, ptr @test_count, align 4, !tbaa !5
  %7258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7259 = load i32, ptr %7258, align 4, !tbaa !5
  %7260 = call ptr @s2n_strerror(i32 noundef %7259, ptr noundef @.str.4)
  %7261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7262 = load i32, ptr %7261, align 4, !tbaa !5
  %7263 = call ptr @s2n_strerror_debug(i32 noundef %7262, ptr noundef @.str.4)
  %7264 = call ptr @__errno_location() #12
  %7265 = load i32, ptr %7264, align 4, !tbaa !5
  %7266 = call ptr @strerror(i32 noundef %7265) #11
  %7267 = call ptr @__errno_location() #12
  %7268 = load i32, ptr %7267, align 4, !tbaa !5
  %7269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7256, ptr noundef @.str.1, i32 noundef %7257, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 278, ptr noundef %7260, ptr noundef %7263, ptr noundef %7266, i32 noundef %7268) #11
  br label %7287

7270:                                             ; preds = %7248, %7241
  %7271 = load i32, ptr %150, align 4, !tbaa !5
  %7272 = call ptr @__errno_location() #12
  store i32 %7271, ptr %7272, align 4, !tbaa !5
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = load i32, ptr @test_count, align 4, !tbaa !5
  %7275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7276 = load i32, ptr %7275, align 4, !tbaa !5
  %7277 = call ptr @s2n_strerror(i32 noundef %7276, ptr noundef @.str.4)
  %7278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7279 = load i32, ptr %7278, align 4, !tbaa !5
  %7280 = call ptr @s2n_strerror_debug(i32 noundef %7279, ptr noundef @.str.4)
  %7281 = call ptr @__errno_location() #12
  %7282 = load i32, ptr %7281, align 4, !tbaa !5
  %7283 = call ptr @strerror(i32 noundef %7282) #11
  %7284 = call ptr @__errno_location() #12
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  %7286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7273, ptr noundef @.str.5, i32 noundef %7274, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 278, ptr noundef %7277, ptr noundef %7280, ptr noundef %7283, i32 noundef %7285) #11
  br label %7287

7287:                                             ; preds = %7270, %7253
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7288

7288:                                             ; preds = %7287
  br label %7289

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

7290:                                             ; No predecessors!
  br label %7291

7291:                                             ; preds = %7290
  br label %7292

7292:                                             ; preds = %7291, %7230
  br label %7293

7293:                                             ; preds = %7292
  br label %7294

7294:                                             ; preds = %7293
  br label %7295

7295:                                             ; preds = %7294
  %7296 = load i32, ptr @test_count, align 4, !tbaa !5
  %7297 = add nsw i32 %7296, 1
  store i32 %7297, ptr @test_count, align 4, !tbaa !5
  %7298 = load ptr, ptr %6, align 8, !tbaa !9
  %7299 = getelementptr inbounds %struct.s2n_connection, ptr %7298, i32 0, i32 41
  %7300 = load ptr, ptr %6, align 8, !tbaa !9
  %7301 = getelementptr inbounds %struct.s2n_connection, ptr %7300, i32 0, i32 40
  %7302 = load ptr, ptr %6, align 8, !tbaa !9
  %7303 = getelementptr inbounds %struct.s2n_connection, ptr %7302, i32 0, i32 41
  %7304 = getelementptr inbounds %struct.s2n_stuffer, ptr %7303, i32 0, i32 2
  %7305 = load i32, ptr %7304, align 4, !tbaa !55
  %7306 = load ptr, ptr %6, align 8, !tbaa !9
  %7307 = getelementptr inbounds %struct.s2n_connection, ptr %7306, i32 0, i32 41
  %7308 = getelementptr inbounds %struct.s2n_stuffer, ptr %7307, i32 0, i32 1
  %7309 = load i32, ptr %7308, align 8, !tbaa !56
  %7310 = sub i32 %7305, %7309
  %7311 = call i32 @s2n_stuffer_copy(ptr noundef %7299, ptr noundef %7301, i32 noundef %7310)
  %7312 = icmp eq i32 %7311, -1
  br i1 %7312, label %7313, label %7366

7313:                                             ; preds = %7295
  br label %7314

7314:                                             ; preds = %7313
  br label %7315

7315:                                             ; preds = %7314
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7316 = call ptr @__errno_location() #12
  %7317 = load i32, ptr %7316, align 4, !tbaa !5
  store i32 %7317, ptr %151, align 4, !tbaa !5
  %7318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7319 = call i32 @s2n_print_stacktrace(ptr noundef %7318)
  %7320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7321 = trunc i8 %7320 to i1
  br i1 %7321, label %7322, label %7344

7322:                                             ; preds = %7315
  %7323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7324 = call i32 @fileno(ptr noundef %7323) #11
  %7325 = call i32 @isatty(i32 noundef %7324) #11
  %7326 = icmp ne i32 %7325, 0
  br i1 %7326, label %7327, label %7344

7327:                                             ; preds = %7322
  %7328 = load i32, ptr %151, align 4, !tbaa !5
  %7329 = call ptr @__errno_location() #12
  store i32 %7328, ptr %7329, align 4, !tbaa !5
  %7330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7331 = load i32, ptr @test_count, align 4, !tbaa !5
  %7332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call ptr @s2n_strerror(i32 noundef %7333, ptr noundef @.str.4)
  %7335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  %7337 = call ptr @s2n_strerror_debug(i32 noundef %7336, ptr noundef @.str.4)
  %7338 = call ptr @__errno_location() #12
  %7339 = load i32, ptr %7338, align 4, !tbaa !5
  %7340 = call ptr @strerror(i32 noundef %7339) #11
  %7341 = call ptr @__errno_location() #12
  %7342 = load i32, ptr %7341, align 4, !tbaa !5
  %7343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7330, ptr noundef @.str.1, i32 noundef %7331, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 279, ptr noundef %7334, ptr noundef %7337, ptr noundef %7340, i32 noundef %7342) #11
  br label %7361

7344:                                             ; preds = %7322, %7315
  %7345 = load i32, ptr %151, align 4, !tbaa !5
  %7346 = call ptr @__errno_location() #12
  store i32 %7345, ptr %7346, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = load i32, ptr @test_count, align 4, !tbaa !5
  %7349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @s2n_strerror(i32 noundef %7350, ptr noundef @.str.4)
  %7352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call ptr @s2n_strerror_debug(i32 noundef %7353, ptr noundef @.str.4)
  %7355 = call ptr @__errno_location() #12
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  %7357 = call ptr @strerror(i32 noundef %7356) #11
  %7358 = call ptr @__errno_location() #12
  %7359 = load i32, ptr %7358, align 4, !tbaa !5
  %7360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7347, ptr noundef @.str.5, i32 noundef %7348, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 279, ptr noundef %7351, ptr noundef %7354, ptr noundef %7357, i32 noundef %7359) #11
  br label %7361

7361:                                             ; preds = %7344, %7327
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

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

7364:                                             ; No predecessors!
  br label %7365

7365:                                             ; preds = %7364
  br label %7366

7366:                                             ; preds = %7365, %7295
  br label %7367

7367:                                             ; preds = %7366
  br label %7368

7368:                                             ; preds = %7367
  call void @llvm.lifetime.start.p0(i64 1, ptr %152) #11
  store i8 0, ptr %152, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %153) #11
  store i16 0, ptr %153, align 2, !tbaa !57
  br label %7369

7369:                                             ; preds = %7368
  %7370 = load i32, ptr @test_count, align 4, !tbaa !5
  %7371 = add nsw i32 %7370, 1
  store i32 %7371, ptr @test_count, align 4, !tbaa !5
  %7372 = load ptr, ptr %6, align 8, !tbaa !9
  %7373 = call i32 @s2n_record_header_parse(ptr noundef %7372, ptr noundef %152, ptr noundef %153)
  %7374 = icmp eq i32 %7373, -1
  br i1 %7374, label %7375, label %7428

7375:                                             ; preds = %7369
  br label %7376

7376:                                             ; preds = %7375
  br label %7377

7377:                                             ; preds = %7376
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %7378 = call ptr @__errno_location() #12
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  store i32 %7379, ptr %154, align 4, !tbaa !5
  %7380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7381 = call i32 @s2n_print_stacktrace(ptr noundef %7380)
  %7382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7383 = trunc i8 %7382 to i1
  br i1 %7383, label %7384, label %7406

7384:                                             ; preds = %7377
  %7385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7386 = call i32 @fileno(ptr noundef %7385) #11
  %7387 = call i32 @isatty(i32 noundef %7386) #11
  %7388 = icmp ne i32 %7387, 0
  br i1 %7388, label %7389, label %7406

7389:                                             ; preds = %7384
  %7390 = load i32, ptr %154, align 4, !tbaa !5
  %7391 = call ptr @__errno_location() #12
  store i32 %7390, ptr %7391, align 4, !tbaa !5
  %7392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7393 = load i32, ptr @test_count, align 4, !tbaa !5
  %7394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @s2n_strerror(i32 noundef %7395, ptr noundef @.str.4)
  %7397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call ptr @s2n_strerror_debug(i32 noundef %7398, ptr noundef @.str.4)
  %7400 = call ptr @__errno_location() #12
  %7401 = load i32, ptr %7400, align 4, !tbaa !5
  %7402 = call ptr @strerror(i32 noundef %7401) #11
  %7403 = call ptr @__errno_location() #12
  %7404 = load i32, ptr %7403, align 4, !tbaa !5
  %7405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7392, ptr noundef @.str.1, i32 noundef %7393, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 283, ptr noundef %7396, ptr noundef %7399, ptr noundef %7402, i32 noundef %7404) #11
  br label %7423

7406:                                             ; preds = %7384, %7377
  %7407 = load i32, ptr %154, align 4, !tbaa !5
  %7408 = call ptr @__errno_location() #12
  store i32 %7407, ptr %7408, align 4, !tbaa !5
  %7409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7410 = load i32, ptr @test_count, align 4, !tbaa !5
  %7411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  %7413 = call ptr @s2n_strerror(i32 noundef %7412, ptr noundef @.str.4)
  %7414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror_debug(i32 noundef %7415, ptr noundef @.str.4)
  %7417 = call ptr @__errno_location() #12
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @strerror(i32 noundef %7418) #11
  %7420 = call ptr @__errno_location() #12
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7409, ptr noundef @.str.5, i32 noundef %7410, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 283, ptr noundef %7413, ptr noundef %7416, ptr noundef %7419, i32 noundef %7421) #11
  br label %7423

7423:                                             ; preds = %7406, %7389
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %7424

7424:                                             ; preds = %7423
  br label %7425

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

7426:                                             ; No predecessors!
  br label %7427

7427:                                             ; preds = %7426
  br label %7428

7428:                                             ; preds = %7427, %7369
  br label %7429

7429:                                             ; preds = %7428
  br label %7430

7430:                                             ; preds = %7429
  br label %7431

7431:                                             ; preds = %7430
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = add nsw i32 %7432, 1
  store i32 %7433, ptr @test_count, align 4, !tbaa !5
  %7434 = load ptr, ptr %6, align 8, !tbaa !9
  %7435 = call i32 @s2n_record_parse(ptr noundef %7434)
  %7436 = icmp eq i32 %7435, -1
  br i1 %7436, label %7437, label %7490

7437:                                             ; preds = %7431
  br label %7438

7438:                                             ; preds = %7437
  br label %7439

7439:                                             ; preds = %7438
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %7440 = call ptr @__errno_location() #12
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  store i32 %7441, ptr %155, align 4, !tbaa !5
  %7442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7443 = call i32 @s2n_print_stacktrace(ptr noundef %7442)
  %7444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7445 = trunc i8 %7444 to i1
  br i1 %7445, label %7446, label %7468

7446:                                             ; preds = %7439
  %7447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7448 = call i32 @fileno(ptr noundef %7447) #11
  %7449 = call i32 @isatty(i32 noundef %7448) #11
  %7450 = icmp ne i32 %7449, 0
  br i1 %7450, label %7451, label %7468

7451:                                             ; preds = %7446
  %7452 = load i32, ptr %155, align 4, !tbaa !5
  %7453 = call ptr @__errno_location() #12
  store i32 %7452, ptr %7453, align 4, !tbaa !5
  %7454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7455 = load i32, ptr @test_count, align 4, !tbaa !5
  %7456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror(i32 noundef %7457, ptr noundef @.str.4)
  %7459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call ptr @s2n_strerror_debug(i32 noundef %7460, ptr noundef @.str.4)
  %7462 = call ptr @__errno_location() #12
  %7463 = load i32, ptr %7462, align 4, !tbaa !5
  %7464 = call ptr @strerror(i32 noundef %7463) #11
  %7465 = call ptr @__errno_location() #12
  %7466 = load i32, ptr %7465, align 4, !tbaa !5
  %7467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7454, ptr noundef @.str.1, i32 noundef %7455, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 284, ptr noundef %7458, ptr noundef %7461, ptr noundef %7464, i32 noundef %7466) #11
  br label %7485

7468:                                             ; preds = %7446, %7439
  %7469 = load i32, ptr %155, align 4, !tbaa !5
  %7470 = call ptr @__errno_location() #12
  store i32 %7469, ptr %7470, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = load i32, ptr @test_count, align 4, !tbaa !5
  %7473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7474 = load i32, ptr %7473, align 4, !tbaa !5
  %7475 = call ptr @s2n_strerror(i32 noundef %7474, ptr noundef @.str.4)
  %7476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  %7478 = call ptr @s2n_strerror_debug(i32 noundef %7477, ptr noundef @.str.4)
  %7479 = call ptr @__errno_location() #12
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call ptr @strerror(i32 noundef %7480) #11
  %7482 = call ptr @__errno_location() #12
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  %7484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7471, ptr noundef @.str.5, i32 noundef %7472, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 284, ptr noundef %7475, ptr noundef %7478, ptr noundef %7481, i32 noundef %7483) #11
  br label %7485

7485:                                             ; preds = %7468, %7451
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

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

7488:                                             ; No predecessors!
  br label %7489

7489:                                             ; preds = %7488
  br label %7490

7490:                                             ; preds = %7489, %7431
  br label %7491

7491:                                             ; preds = %7490
  br label %7492

7492:                                             ; preds = %7491
  br label %7493

7493:                                             ; preds = %7492
  %7494 = load i32, ptr @test_count, align 4, !tbaa !5
  %7495 = add nsw i32 %7494, 1
  store i32 %7495, ptr @test_count, align 4, !tbaa !5
  %7496 = load i8, ptr %152, align 1, !tbaa !54
  %7497 = zext i8 %7496 to i32
  %7498 = icmp eq i32 %7497, 23
  br i1 %7498, label %7552, label %7499

7499:                                             ; preds = %7493
  br label %7500

7500:                                             ; preds = %7499
  br label %7501

7501:                                             ; preds = %7500
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %7502 = call ptr @__errno_location() #12
  %7503 = load i32, ptr %7502, align 4, !tbaa !5
  store i32 %7503, ptr %156, align 4, !tbaa !5
  %7504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7505 = call i32 @s2n_print_stacktrace(ptr noundef %7504)
  %7506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7507 = trunc i8 %7506 to i1
  br i1 %7507, label %7508, label %7530

7508:                                             ; preds = %7501
  %7509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7510 = call i32 @fileno(ptr noundef %7509) #11
  %7511 = call i32 @isatty(i32 noundef %7510) #11
  %7512 = icmp ne i32 %7511, 0
  br i1 %7512, label %7513, label %7530

7513:                                             ; preds = %7508
  %7514 = load i32, ptr %156, align 4, !tbaa !5
  %7515 = call ptr @__errno_location() #12
  store i32 %7514, ptr %7515, align 4, !tbaa !5
  %7516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7517 = load i32, ptr @test_count, align 4, !tbaa !5
  %7518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call ptr @s2n_strerror(i32 noundef %7519, ptr noundef @.str.4)
  %7521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7522 = load i32, ptr %7521, align 4, !tbaa !5
  %7523 = call ptr @s2n_strerror_debug(i32 noundef %7522, ptr noundef @.str.4)
  %7524 = call ptr @__errno_location() #12
  %7525 = load i32, ptr %7524, align 4, !tbaa !5
  %7526 = call ptr @strerror(i32 noundef %7525) #11
  %7527 = call ptr @__errno_location() #12
  %7528 = load i32, ptr %7527, align 4, !tbaa !5
  %7529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7516, ptr noundef @.str.1, i32 noundef %7517, ptr noundef @.str.62, ptr noundef @.str.3, i32 noundef 285, ptr noundef %7520, ptr noundef %7523, ptr noundef %7526, i32 noundef %7528) #11
  br label %7547

7530:                                             ; preds = %7508, %7501
  %7531 = load i32, ptr %156, align 4, !tbaa !5
  %7532 = call ptr @__errno_location() #12
  store i32 %7531, ptr %7532, align 4, !tbaa !5
  %7533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7534 = load i32, ptr @test_count, align 4, !tbaa !5
  %7535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @s2n_strerror(i32 noundef %7536, ptr noundef @.str.4)
  %7538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call ptr @s2n_strerror_debug(i32 noundef %7539, ptr noundef @.str.4)
  %7541 = call ptr @__errno_location() #12
  %7542 = load i32, ptr %7541, align 4, !tbaa !5
  %7543 = call ptr @strerror(i32 noundef %7542) #11
  %7544 = call ptr @__errno_location() #12
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  %7546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7533, ptr noundef @.str.5, i32 noundef %7534, ptr noundef @.str.62, ptr noundef @.str.3, i32 noundef 285, ptr noundef %7537, ptr noundef %7540, ptr noundef %7543, i32 noundef %7545) #11
  br label %7547

7547:                                             ; preds = %7530, %7513
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %7548

7548:                                             ; preds = %7547
  br label %7549

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

7550:                                             ; No predecessors!
  br label %7551

7551:                                             ; preds = %7550
  br label %7552

7552:                                             ; preds = %7551, %7493
  br label %7553

7553:                                             ; preds = %7552
  br label %7554

7554:                                             ; preds = %7553
  br label %7555

7555:                                             ; preds = %7554
  %7556 = load i32, ptr @test_count, align 4, !tbaa !5
  %7557 = add nsw i32 %7556, 1
  store i32 %7557, ptr @test_count, align 4, !tbaa !5
  %7558 = load i16, ptr %153, align 2, !tbaa !57
  %7559 = zext i16 %7558 to i32
  %7560 = load i16, ptr %127, align 2, !tbaa !57
  %7561 = zext i16 %7560 to i32
  %7562 = icmp eq i32 %7559, %7561
  br i1 %7562, label %7616, label %7563

7563:                                             ; preds = %7555
  br label %7564

7564:                                             ; preds = %7563
  br label %7565

7565:                                             ; preds = %7564
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %7566 = call ptr @__errno_location() #12
  %7567 = load i32, ptr %7566, align 4, !tbaa !5
  store i32 %7567, ptr %157, align 4, !tbaa !5
  %7568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7569 = call i32 @s2n_print_stacktrace(ptr noundef %7568)
  %7570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7571 = trunc i8 %7570 to i1
  br i1 %7571, label %7572, label %7594

7572:                                             ; preds = %7565
  %7573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7574 = call i32 @fileno(ptr noundef %7573) #11
  %7575 = call i32 @isatty(i32 noundef %7574) #11
  %7576 = icmp ne i32 %7575, 0
  br i1 %7576, label %7577, label %7594

7577:                                             ; preds = %7572
  %7578 = load i32, ptr %157, align 4, !tbaa !5
  %7579 = call ptr @__errno_location() #12
  store i32 %7578, ptr %7579, align 4, !tbaa !5
  %7580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7581 = load i32, ptr @test_count, align 4, !tbaa !5
  %7582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7583 = load i32, ptr %7582, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror(i32 noundef %7583, ptr noundef @.str.4)
  %7585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7586 = load i32, ptr %7585, align 4, !tbaa !5
  %7587 = call ptr @s2n_strerror_debug(i32 noundef %7586, ptr noundef @.str.4)
  %7588 = call ptr @__errno_location() #12
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call ptr @strerror(i32 noundef %7589) #11
  %7591 = call ptr @__errno_location() #12
  %7592 = load i32, ptr %7591, align 4, !tbaa !5
  %7593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7580, ptr noundef @.str.1, i32 noundef %7581, ptr noundef @.str.50, ptr noundef @.str.3, i32 noundef 286, ptr noundef %7584, ptr noundef %7587, ptr noundef %7590, i32 noundef %7592) #11
  br label %7611

7594:                                             ; preds = %7572, %7565
  %7595 = load i32, ptr %157, align 4, !tbaa !5
  %7596 = call ptr @__errno_location() #12
  store i32 %7595, ptr %7596, align 4, !tbaa !5
  %7597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7598 = load i32, ptr @test_count, align 4, !tbaa !5
  %7599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7600 = load i32, ptr %7599, align 4, !tbaa !5
  %7601 = call ptr @s2n_strerror(i32 noundef %7600, ptr noundef @.str.4)
  %7602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @s2n_strerror_debug(i32 noundef %7603, ptr noundef @.str.4)
  %7605 = call ptr @__errno_location() #12
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call ptr @strerror(i32 noundef %7606) #11
  %7608 = call ptr @__errno_location() #12
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7597, ptr noundef @.str.5, i32 noundef %7598, ptr noundef @.str.50, ptr noundef @.str.3, i32 noundef 286, ptr noundef %7601, ptr noundef %7604, ptr noundef %7607, i32 noundef %7609) #11
  br label %7611

7611:                                             ; preds = %7594, %7577
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %7612

7612:                                             ; preds = %7611
  br label %7613

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

7614:                                             ; No predecessors!
  br label %7615

7615:                                             ; preds = %7614
  br label %7616

7616:                                             ; preds = %7615, %7555
  br label %7617

7617:                                             ; preds = %7616
  br label %7618

7618:                                             ; preds = %7617
  call void @llvm.lifetime.end.p0(i64 2, ptr %153) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %152) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %145) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %140) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %139) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %116) #11
  br label %7619

7619:                                             ; preds = %7618
  %7620 = load i64, ptr %114, align 8, !tbaa !52
  %7621 = add i64 %7620, 1
  store i64 %7621, ptr %114, align 8, !tbaa !52
  br label %5573, !llvm.loop !65

7622:                                             ; preds = %5576
  br label %7623

7623:                                             ; preds = %7622
  %7624 = load i32, ptr @test_count, align 4, !tbaa !5
  %7625 = add nsw i32 %7624, 1
  store i32 %7625, ptr @test_count, align 4, !tbaa !5
  %7626 = load ptr, ptr %6, align 8, !tbaa !9
  %7627 = getelementptr inbounds %struct.s2n_connection, ptr %7626, i32 0, i32 26
  %7628 = load ptr, ptr %7627, align 8, !tbaa !18
  %7629 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7628, i32 0, i32 3
  %7630 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %7631 = call i32 @s2n_hmac_init(ptr noundef %7629, i32 noundef 2, ptr noundef %7630, i32 noundef 15)
  %7632 = icmp eq i32 %7631, -1
  br i1 %7632, label %7633, label %7686

7633:                                             ; preds = %7623
  br label %7634

7634:                                             ; preds = %7633
  br label %7635

7635:                                             ; preds = %7634
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7636 = call ptr @__errno_location() #12
  %7637 = load i32, ptr %7636, align 4, !tbaa !5
  store i32 %7637, ptr %158, align 4, !tbaa !5
  %7638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7639 = call i32 @s2n_print_stacktrace(ptr noundef %7638)
  %7640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7641 = trunc i8 %7640 to i1
  br i1 %7641, label %7642, label %7664

7642:                                             ; preds = %7635
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = call i32 @fileno(ptr noundef %7643) #11
  %7645 = call i32 @isatty(i32 noundef %7644) #11
  %7646 = icmp ne i32 %7645, 0
  br i1 %7646, label %7647, label %7664

7647:                                             ; preds = %7642
  %7648 = load i32, ptr %158, align 4, !tbaa !5
  %7649 = call ptr @__errno_location() #12
  store i32 %7648, ptr %7649, align 4, !tbaa !5
  %7650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7651 = load i32, ptr @test_count, align 4, !tbaa !5
  %7652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call ptr @s2n_strerror(i32 noundef %7653, ptr noundef @.str.4)
  %7655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7656 = load i32, ptr %7655, align 4, !tbaa !5
  %7657 = call ptr @s2n_strerror_debug(i32 noundef %7656, ptr noundef @.str.4)
  %7658 = call ptr @__errno_location() #12
  %7659 = load i32, ptr %7658, align 4, !tbaa !5
  %7660 = call ptr @strerror(i32 noundef %7659) #11
  %7661 = call ptr @__errno_location() #12
  %7662 = load i32, ptr %7661, align 4, !tbaa !5
  %7663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7650, ptr noundef @.str.1, i32 noundef %7651, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 290, ptr noundef %7654, ptr noundef %7657, ptr noundef %7660, i32 noundef %7662) #11
  br label %7681

7664:                                             ; preds = %7642, %7635
  %7665 = load i32, ptr %158, align 4, !tbaa !5
  %7666 = call ptr @__errno_location() #12
  store i32 %7665, ptr %7666, align 4, !tbaa !5
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = load i32, ptr @test_count, align 4, !tbaa !5
  %7669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call ptr @s2n_strerror(i32 noundef %7670, ptr noundef @.str.4)
  %7672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7673 = load i32, ptr %7672, align 4, !tbaa !5
  %7674 = call ptr @s2n_strerror_debug(i32 noundef %7673, ptr noundef @.str.4)
  %7675 = call ptr @__errno_location() #12
  %7676 = load i32, ptr %7675, align 4, !tbaa !5
  %7677 = call ptr @strerror(i32 noundef %7676) #11
  %7678 = call ptr @__errno_location() #12
  %7679 = load i32, ptr %7678, align 4, !tbaa !5
  %7680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7667, ptr noundef @.str.5, i32 noundef %7668, ptr noundef @.str.37, ptr noundef @.str.3, i32 noundef 290, ptr noundef %7671, ptr noundef %7674, ptr noundef %7677, i32 noundef %7679) #11
  br label %7681

7681:                                             ; preds = %7664, %7647
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7682

7682:                                             ; preds = %7681
  br label %7683

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

7684:                                             ; No predecessors!
  br label %7685

7685:                                             ; preds = %7684
  br label %7686

7686:                                             ; preds = %7685, %7623
  br label %7687

7687:                                             ; preds = %7686
  br label %7688

7688:                                             ; preds = %7687
  br label %7689

7689:                                             ; preds = %7688
  %7690 = load i32, ptr @test_count, align 4, !tbaa !5
  %7691 = add nsw i32 %7690, 1
  store i32 %7691, ptr @test_count, align 4, !tbaa !5
  %7692 = load ptr, ptr %6, align 8, !tbaa !9
  %7693 = getelementptr inbounds %struct.s2n_connection, ptr %7692, i32 0, i32 26
  %7694 = load ptr, ptr %7693, align 8, !tbaa !18
  %7695 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7694, i32 0, i32 4
  %7696 = getelementptr inbounds [15 x i8], ptr %7, i64 0, i64 0
  %7697 = call i32 @s2n_hmac_init(ptr noundef %7695, i32 noundef 2, ptr noundef %7696, i32 noundef 15)
  %7698 = icmp eq i32 %7697, -1
  br i1 %7698, label %7699, label %7752

7699:                                             ; preds = %7689
  br label %7700

7700:                                             ; preds = %7699
  br label %7701

7701:                                             ; preds = %7700
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %7702 = call ptr @__errno_location() #12
  %7703 = load i32, ptr %7702, align 4, !tbaa !5
  store i32 %7703, ptr %159, align 4, !tbaa !5
  %7704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7705 = call i32 @s2n_print_stacktrace(ptr noundef %7704)
  %7706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7707 = trunc i8 %7706 to i1
  br i1 %7707, label %7708, label %7730

7708:                                             ; preds = %7701
  %7709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7710 = call i32 @fileno(ptr noundef %7709) #11
  %7711 = call i32 @isatty(i32 noundef %7710) #11
  %7712 = icmp ne i32 %7711, 0
  br i1 %7712, label %7713, label %7730

7713:                                             ; preds = %7708
  %7714 = load i32, ptr %159, align 4, !tbaa !5
  %7715 = call ptr @__errno_location() #12
  store i32 %7714, ptr %7715, align 4, !tbaa !5
  %7716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7717 = load i32, ptr @test_count, align 4, !tbaa !5
  %7718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call ptr @s2n_strerror(i32 noundef %7719, ptr noundef @.str.4)
  %7721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call ptr @s2n_strerror_debug(i32 noundef %7722, ptr noundef @.str.4)
  %7724 = call ptr @__errno_location() #12
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @strerror(i32 noundef %7725) #11
  %7727 = call ptr @__errno_location() #12
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7716, ptr noundef @.str.1, i32 noundef %7717, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 291, ptr noundef %7720, ptr noundef %7723, ptr noundef %7726, i32 noundef %7728) #11
  br label %7747

7730:                                             ; preds = %7708, %7701
  %7731 = load i32, ptr %159, align 4, !tbaa !5
  %7732 = call ptr @__errno_location() #12
  store i32 %7731, ptr %7732, align 4, !tbaa !5
  %7733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7734 = load i32, ptr @test_count, align 4, !tbaa !5
  %7735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7736 = load i32, ptr %7735, align 4, !tbaa !5
  %7737 = call ptr @s2n_strerror(i32 noundef %7736, ptr noundef @.str.4)
  %7738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7739 = load i32, ptr %7738, align 4, !tbaa !5
  %7740 = call ptr @s2n_strerror_debug(i32 noundef %7739, ptr noundef @.str.4)
  %7741 = call ptr @__errno_location() #12
  %7742 = load i32, ptr %7741, align 4, !tbaa !5
  %7743 = call ptr @strerror(i32 noundef %7742) #11
  %7744 = call ptr @__errno_location() #12
  %7745 = load i32, ptr %7744, align 4, !tbaa !5
  %7746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7733, ptr noundef @.str.5, i32 noundef %7734, ptr noundef @.str.38, ptr noundef @.str.3, i32 noundef 291, ptr noundef %7737, ptr noundef %7740, ptr noundef %7743, i32 noundef %7745) #11
  br label %7747

7747:                                             ; preds = %7730, %7713
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %7748

7748:                                             ; preds = %7747
  br label %7749

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

7750:                                             ; No predecessors!
  br label %7751

7751:                                             ; preds = %7750
  br label %7752

7752:                                             ; preds = %7751, %7689
  br label %7753

7753:                                             ; preds = %7752
  br label %7754

7754:                                             ; preds = %7753
  %7755 = load ptr, ptr %6, align 8, !tbaa !9
  %7756 = getelementptr inbounds %struct.s2n_connection, ptr %7755, i32 0, i32 23
  store i8 32, ptr %7756, align 4, !tbaa !51
  %7757 = load ptr, ptr %6, align 8, !tbaa !9
  %7758 = getelementptr inbounds %struct.s2n_connection, ptr %7757, i32 0, i32 26
  %7759 = load ptr, ptr %7758, align 8, !tbaa !18
  %7760 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7759, i32 0, i32 0
  store ptr @mock_block_cipher_suite, ptr %7760, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  store i32 0, ptr %160, align 4, !tbaa !5
  br label %7761

7761:                                             ; preds = %9809, %7754
  %7762 = load i32, ptr %160, align 4, !tbaa !5
  %7763 = icmp sle i32 %7762, 8088
  br i1 %7763, label %7765, label %7764

7764:                                             ; preds = %7761
  store i32 718, ptr %115, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %9812

7765:                                             ; preds = %7761
  call void @llvm.lifetime.start.p0(i64 24, ptr %161) #11
  call void @llvm.memset.p0.i64(ptr align 8 %161, i8 0, i64 24, i1 false)
  br label %7766

7766:                                             ; preds = %7765
  %7767 = load i32, ptr @test_count, align 4, !tbaa !5
  %7768 = add nsw i32 %7767, 1
  store i32 %7768, ptr @test_count, align 4, !tbaa !5
  %7769 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %7770 = load i32, ptr %160, align 4, !tbaa !5
  %7771 = call i32 @s2n_blob_init(ptr noundef %161, ptr noundef %7769, i32 noundef %7770)
  %7772 = icmp eq i32 %7771, -1
  br i1 %7772, label %7773, label %7826

7773:                                             ; preds = %7766
  br label %7774

7774:                                             ; preds = %7773
  br label %7775

7775:                                             ; preds = %7774
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7776 = call ptr @__errno_location() #12
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  store i32 %7777, ptr %162, align 4, !tbaa !5
  %7778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7779 = call i32 @s2n_print_stacktrace(ptr noundef %7778)
  %7780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7781 = trunc i8 %7780 to i1
  br i1 %7781, label %7782, label %7804

7782:                                             ; preds = %7775
  %7783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7784 = call i32 @fileno(ptr noundef %7783) #11
  %7785 = call i32 @isatty(i32 noundef %7784) #11
  %7786 = icmp ne i32 %7785, 0
  br i1 %7786, label %7787, label %7804

7787:                                             ; preds = %7782
  %7788 = load i32, ptr %162, align 4, !tbaa !5
  %7789 = call ptr @__errno_location() #12
  store i32 %7788, ptr %7789, align 4, !tbaa !5
  %7790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7791 = load i32, ptr @test_count, align 4, !tbaa !5
  %7792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7793 = load i32, ptr %7792, align 4, !tbaa !5
  %7794 = call ptr @s2n_strerror(i32 noundef %7793, ptr noundef @.str.4)
  %7795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7796 = load i32, ptr %7795, align 4, !tbaa !5
  %7797 = call ptr @s2n_strerror_debug(i32 noundef %7796, ptr noundef @.str.4)
  %7798 = call ptr @__errno_location() #12
  %7799 = load i32, ptr %7798, align 4, !tbaa !5
  %7800 = call ptr @strerror(i32 noundef %7799) #11
  %7801 = call ptr @__errno_location() #12
  %7802 = load i32, ptr %7801, align 4, !tbaa !5
  %7803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7790, ptr noundef @.str.1, i32 noundef %7791, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 297, ptr noundef %7794, ptr noundef %7797, ptr noundef %7800, i32 noundef %7802) #11
  br label %7821

7804:                                             ; preds = %7782, %7775
  %7805 = load i32, ptr %162, align 4, !tbaa !5
  %7806 = call ptr @__errno_location() #12
  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() #12
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  %7817 = call ptr @strerror(i32 noundef %7816) #11
  %7818 = call ptr @__errno_location() #12
  %7819 = load i32, ptr %7818, align 4, !tbaa !5
  %7820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7807, ptr noundef @.str.5, i32 noundef %7808, ptr noundef @.str.16, ptr noundef @.str.3, i32 noundef 297, ptr noundef %7811, ptr noundef %7814, ptr noundef %7817, i32 noundef %7819) #11
  br label %7821

7821:                                             ; preds = %7804, %7787
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7822

7822:                                             ; preds = %7821
  br label %7823

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

7824:                                             ; No predecessors!
  br label %7825

7825:                                             ; preds = %7824
  br label %7826

7826:                                             ; preds = %7825, %7766
  br label %7827

7827:                                             ; preds = %7826
  br label %7828

7828:                                             ; preds = %7827
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  store i32 0, ptr %163, align 4, !tbaa !5
  br label %7829

7829:                                             ; preds = %7828
  %7830 = load i32, ptr @test_count, align 4, !tbaa !5
  %7831 = add nsw i32 %7830, 1
  store i32 %7831, ptr @test_count, align 4, !tbaa !5
  %7832 = call i32 @s2n_hmac_reset(ptr noundef %10)
  %7833 = icmp eq i32 %7832, -1
  br i1 %7833, label %7834, label %7887

7834:                                             ; preds = %7829
  br label %7835

7835:                                             ; preds = %7834
  br label %7836

7836:                                             ; preds = %7835
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %7837 = call ptr @__errno_location() #12
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  store i32 %7838, ptr %164, align 4, !tbaa !5
  %7839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7840 = call i32 @s2n_print_stacktrace(ptr noundef %7839)
  %7841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7842 = trunc i8 %7841 to i1
  br i1 %7842, label %7843, label %7865

7843:                                             ; preds = %7836
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @fileno(ptr noundef %7844) #11
  %7846 = call i32 @isatty(i32 noundef %7845) #11
  %7847 = icmp ne i32 %7846, 0
  br i1 %7847, label %7848, label %7865

7848:                                             ; preds = %7843
  %7849 = load i32, ptr %164, align 4, !tbaa !5
  %7850 = call ptr @__errno_location() #12
  store i32 %7849, ptr %7850, align 4, !tbaa !5
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = load i32, ptr @test_count, align 4, !tbaa !5
  %7853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call ptr @s2n_strerror(i32 noundef %7854, ptr noundef @.str.4)
  %7856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  %7858 = call ptr @s2n_strerror_debug(i32 noundef %7857, ptr noundef @.str.4)
  %7859 = call ptr @__errno_location() #12
  %7860 = load i32, ptr %7859, align 4, !tbaa !5
  %7861 = call ptr @strerror(i32 noundef %7860) #11
  %7862 = call ptr @__errno_location() #12
  %7863 = load i32, ptr %7862, align 4, !tbaa !5
  %7864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7851, ptr noundef @.str.1, i32 noundef %7852, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 300, ptr noundef %7855, ptr noundef %7858, ptr noundef %7861, i32 noundef %7863) #11
  br label %7882

7865:                                             ; preds = %7843, %7836
  %7866 = load i32, ptr %164, align 4, !tbaa !5
  %7867 = call ptr @__errno_location() #12
  store i32 %7866, ptr %7867, align 4, !tbaa !5
  %7868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @s2n_strerror(i32 noundef %7871, ptr noundef @.str.4)
  %7873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror_debug(i32 noundef %7874, ptr noundef @.str.4)
  %7876 = call ptr @__errno_location() #12
  %7877 = load i32, ptr %7876, align 4, !tbaa !5
  %7878 = call ptr @strerror(i32 noundef %7877) #11
  %7879 = call ptr @__errno_location() #12
  %7880 = load i32, ptr %7879, align 4, !tbaa !5
  %7881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7868, ptr noundef @.str.5, i32 noundef %7869, ptr noundef @.str.39, ptr noundef @.str.3, i32 noundef 300, ptr noundef %7872, ptr noundef %7875, ptr noundef %7878, i32 noundef %7880) #11
  br label %7882

7882:                                             ; preds = %7865, %7848
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

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

7885:                                             ; No predecessors!
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886, %7829
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

7889:                                             ; preds = %7888
  br label %7890

7890:                                             ; preds = %7889
  %7891 = load i32, ptr @test_count, align 4, !tbaa !5
  %7892 = add nsw i32 %7891, 1
  store i32 %7892, ptr @test_count, align 4, !tbaa !5
  %7893 = load ptr, ptr %6, align 8, !tbaa !9
  %7894 = getelementptr inbounds %struct.s2n_connection, ptr %7893, i32 0, i32 26
  %7895 = load ptr, ptr %7894, align 8, !tbaa !18
  %7896 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %7895, i32 0, i32 7
  %7897 = getelementptr inbounds [8 x i8], ptr %7896, i64 0, i64 0
  %7898 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %7897, i32 noundef 8)
  %7899 = icmp eq i32 %7898, -1
  br i1 %7899, label %7900, label %7953

7900:                                             ; preds = %7890
  br label %7901

7901:                                             ; preds = %7900
  br label %7902

7902:                                             ; preds = %7901
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %7903 = call ptr @__errno_location() #12
  %7904 = load i32, ptr %7903, align 4, !tbaa !5
  store i32 %7904, ptr %165, align 4, !tbaa !5
  %7905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7906 = call i32 @s2n_print_stacktrace(ptr noundef %7905)
  %7907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7908 = trunc i8 %7907 to i1
  br i1 %7908, label %7909, label %7931

7909:                                             ; preds = %7902
  %7910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7911 = call i32 @fileno(ptr noundef %7910) #11
  %7912 = call i32 @isatty(i32 noundef %7911) #11
  %7913 = icmp ne i32 %7912, 0
  br i1 %7913, label %7914, label %7931

7914:                                             ; preds = %7909
  %7915 = load i32, ptr %165, align 4, !tbaa !5
  %7916 = call ptr @__errno_location() #12
  store i32 %7915, ptr %7916, align 4, !tbaa !5
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = load i32, ptr @test_count, align 4, !tbaa !5
  %7919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @s2n_strerror(i32 noundef %7920, ptr noundef @.str.4)
  %7922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call ptr @s2n_strerror_debug(i32 noundef %7923, ptr noundef @.str.4)
  %7925 = call ptr @__errno_location() #12
  %7926 = load i32, ptr %7925, align 4, !tbaa !5
  %7927 = call ptr @strerror(i32 noundef %7926) #11
  %7928 = call ptr @__errno_location() #12
  %7929 = load i32, ptr %7928, align 4, !tbaa !5
  %7930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7917, ptr noundef @.str.1, i32 noundef %7918, ptr noundef @.str.57, ptr noundef @.str.3, i32 noundef 301, ptr noundef %7921, ptr noundef %7924, ptr noundef %7927, i32 noundef %7929) #11
  br label %7948

7931:                                             ; preds = %7909, %7902
  %7932 = load i32, ptr %165, align 4, !tbaa !5
  %7933 = call ptr @__errno_location() #12
  store i32 %7932, ptr %7933, align 4, !tbaa !5
  %7934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7935 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7937, ptr noundef @.str.4)
  %7939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef @.str.4)
  %7942 = call ptr @__errno_location() #12
  %7943 = load i32, ptr %7942, align 4, !tbaa !5
  %7944 = call ptr @strerror(i32 noundef %7943) #11
  %7945 = call ptr @__errno_location() #12
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  %7947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7934, ptr noundef @.str.5, i32 noundef %7935, ptr noundef @.str.57, ptr noundef @.str.3, i32 noundef 301, ptr noundef %7938, ptr noundef %7941, ptr noundef %7944, i32 noundef %7946) #11
  br label %7948

7948:                                             ; preds = %7931, %7914
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %7949

7949:                                             ; preds = %7948
  br label %7950

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

7951:                                             ; No predecessors!
  br label %7952

7952:                                             ; preds = %7951
  br label %7953

7953:                                             ; preds = %7952, %7890
  br label %7954

7954:                                             ; preds = %7953
  br label %7955

7955:                                             ; preds = %7954
  br label %7956

7956:                                             ; preds = %7955
  %7957 = load i32, ptr @test_count, align 4, !tbaa !5
  %7958 = add nsw i32 %7957, 1
  store i32 %7958, ptr @test_count, align 4, !tbaa !5
  %7959 = load ptr, ptr %6, align 8, !tbaa !9
  %7960 = getelementptr inbounds %struct.s2n_connection, ptr %7959, i32 0, i32 41
  %7961 = call i32 @s2n_stuffer_wipe(ptr noundef %7960)
  %7962 = icmp eq i32 %7961, -1
  br i1 %7962, label %7963, label %8016

7963:                                             ; preds = %7956
  br label %7964

7964:                                             ; preds = %7963
  br label %7965

7965:                                             ; preds = %7964
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %7966 = call ptr @__errno_location() #12
  %7967 = load i32, ptr %7966, align 4, !tbaa !5
  store i32 %7967, ptr %166, align 4, !tbaa !5
  %7968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7969 = call i32 @s2n_print_stacktrace(ptr noundef %7968)
  %7970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7971 = trunc i8 %7970 to i1
  br i1 %7971, label %7972, label %7994

7972:                                             ; preds = %7965
  %7973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7974 = call i32 @fileno(ptr noundef %7973) #11
  %7975 = call i32 @isatty(i32 noundef %7974) #11
  %7976 = icmp ne i32 %7975, 0
  br i1 %7976, label %7977, label %7994

7977:                                             ; preds = %7972
  %7978 = load i32, ptr %166, align 4, !tbaa !5
  %7979 = call ptr @__errno_location() #12
  store i32 %7978, ptr %7979, align 4, !tbaa !5
  %7980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7981 = load i32, ptr @test_count, align 4, !tbaa !5
  %7982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call ptr @s2n_strerror(i32 noundef %7983, ptr noundef @.str.4)
  %7985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  %7987 = call ptr @s2n_strerror_debug(i32 noundef %7986, ptr noundef @.str.4)
  %7988 = call ptr @__errno_location() #12
  %7989 = load i32, ptr %7988, align 4, !tbaa !5
  %7990 = call ptr @strerror(i32 noundef %7989) #11
  %7991 = call ptr @__errno_location() #12
  %7992 = load i32, ptr %7991, align 4, !tbaa !5
  %7993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7980, ptr noundef @.str.1, i32 noundef %7981, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 303, ptr noundef %7984, ptr noundef %7987, ptr noundef %7990, i32 noundef %7992) #11
  br label %8011

7994:                                             ; preds = %7972, %7965
  %7995 = load i32, ptr %166, align 4, !tbaa !5
  %7996 = call ptr @__errno_location() #12
  store i32 %7995, ptr %7996, align 4, !tbaa !5
  %7997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7998 = load i32, ptr @test_count, align 4, !tbaa !5
  %7999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @s2n_strerror(i32 noundef %8000, ptr noundef @.str.4)
  %8002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call ptr @s2n_strerror_debug(i32 noundef %8003, ptr noundef @.str.4)
  %8005 = call ptr @__errno_location() #12
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call ptr @strerror(i32 noundef %8006) #11
  %8008 = call ptr @__errno_location() #12
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7997, ptr noundef @.str.5, i32 noundef %7998, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 303, ptr noundef %8001, ptr noundef %8004, ptr noundef %8007, i32 noundef %8009) #11
  br label %8011

8011:                                             ; preds = %7994, %7977
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8012

8012:                                             ; preds = %8011
  br label %8013

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

8014:                                             ; No predecessors!
  br label %8015

8015:                                             ; preds = %8014
  br label %8016

8016:                                             ; preds = %8015, %7956
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

8018:                                             ; preds = %8017
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8019 = load ptr, ptr %6, align 8, !tbaa !9
  %8020 = call i32 @s2n_record_write(ptr noundef %8019, i8 noundef zeroext 23, ptr noundef %161)
  %8021 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %8020, ptr %8021, align 4
  %8022 = load i32, ptr %160, align 4, !tbaa !5
  %8023 = icmp sle i32 %8022, 8087
  br i1 %8023, label %8024, label %8088

8024:                                             ; preds = %8018
  br label %8025

8025:                                             ; preds = %8024
  %8026 = load i32, ptr @test_count, align 4, !tbaa !5
  %8027 = add nsw i32 %8026, 1
  store i32 %8027, ptr @test_count, align 4, !tbaa !5
  %8028 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %8029 = load i32, ptr %8028, align 4
  %8030 = call zeroext i1 @s2n_result_is_ok(i32 %8029)
  br i1 %8030, label %8084, label %8031

8031:                                             ; preds = %8025
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8034 = call ptr @__errno_location() #12
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  store i32 %8035, ptr %168, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = call i32 @s2n_print_stacktrace(ptr noundef %8036)
  %8038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8039 = trunc i8 %8038 to i1
  br i1 %8039, label %8040, label %8062

8040:                                             ; preds = %8033
  %8041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8042 = call i32 @fileno(ptr noundef %8041) #11
  %8043 = call i32 @isatty(i32 noundef %8042) #11
  %8044 = icmp ne i32 %8043, 0
  br i1 %8044, label %8045, label %8062

8045:                                             ; preds = %8040
  %8046 = load i32, ptr %168, align 4, !tbaa !5
  %8047 = call ptr @__errno_location() #12
  store i32 %8046, ptr %8047, align 4, !tbaa !5
  %8048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8049 = load i32, ptr @test_count, align 4, !tbaa !5
  %8050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror(i32 noundef %8051, ptr noundef @.str.4)
  %8053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8054 = load i32, ptr %8053, align 4, !tbaa !5
  %8055 = call ptr @s2n_strerror_debug(i32 noundef %8054, ptr noundef @.str.4)
  %8056 = call ptr @__errno_location() #12
  %8057 = load i32, ptr %8056, align 4, !tbaa !5
  %8058 = call ptr @strerror(i32 noundef %8057) #11
  %8059 = call ptr @__errno_location() #12
  %8060 = load i32, ptr %8059, align 4, !tbaa !5
  %8061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8048, ptr noundef @.str.1, i32 noundef %8049, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 307, ptr noundef %8052, ptr noundef %8055, ptr noundef %8058, i32 noundef %8060) #11
  br label %8079

8062:                                             ; preds = %8040, %8033
  %8063 = load i32, ptr %168, align 4, !tbaa !5
  %8064 = call ptr @__errno_location() #12
  store i32 %8063, ptr %8064, align 4, !tbaa !5
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = load i32, ptr @test_count, align 4, !tbaa !5
  %8067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call ptr @s2n_strerror(i32 noundef %8068, ptr noundef @.str.4)
  %8070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8071 = load i32, ptr %8070, align 4, !tbaa !5
  %8072 = call ptr @s2n_strerror_debug(i32 noundef %8071, ptr noundef @.str.4)
  %8073 = call ptr @__errno_location() #12
  %8074 = load i32, ptr %8073, align 4, !tbaa !5
  %8075 = call ptr @strerror(i32 noundef %8074) #11
  %8076 = call ptr @__errno_location() #12
  %8077 = load i32, ptr %8076, align 4, !tbaa !5
  %8078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8065, ptr noundef @.str.5, i32 noundef %8066, ptr noundef @.str.18, ptr noundef @.str.3, i32 noundef 307, ptr noundef %8069, ptr noundef %8072, ptr noundef %8075, i32 noundef %8077) #11
  br label %8079

8079:                                             ; preds = %8062, %8045
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

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

8082:                                             ; No predecessors!
  br label %8083

8083:                                             ; preds = %8082
  br label %8084

8084:                                             ; preds = %8083, %8025
  br label %8085

8085:                                             ; preds = %8084
  br label %8086

8086:                                             ; preds = %8085
  %8087 = load i32, ptr %160, align 4, !tbaa !5
  store i32 %8087, ptr %163, align 4, !tbaa !5
  br label %8287

8088:                                             ; preds = %8018
  br label %8089

8089:                                             ; preds = %8088
  br label %8090

8090:                                             ; preds = %8089
  br label %8091

8091:                                             ; preds = %8090
  %8092 = load i32, ptr @test_count, align 4, !tbaa !5
  %8093 = add nsw i32 %8092, 1
  store i32 %8093, ptr @test_count, align 4, !tbaa !5
  %8094 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %8095 = load i32, ptr %8094, align 4
  %8096 = call zeroext i1 @s2n_result_is_error(i32 %8095)
  br i1 %8096, label %8150, label %8097

8097:                                             ; preds = %8091
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

8099:                                             ; preds = %8098
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8100 = call ptr @__errno_location() #12
  %8101 = load i32, ptr %8100, align 4, !tbaa !5
  store i32 %8101, ptr %169, align 4, !tbaa !5
  %8102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8103 = call i32 @s2n_print_stacktrace(ptr noundef %8102)
  %8104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8105 = trunc i8 %8104 to i1
  br i1 %8105, label %8106, label %8128

8106:                                             ; preds = %8099
  %8107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8108 = call i32 @fileno(ptr noundef %8107) #11
  %8109 = call i32 @isatty(i32 noundef %8108) #11
  %8110 = icmp ne i32 %8109, 0
  br i1 %8110, label %8111, label %8128

8111:                                             ; preds = %8106
  %8112 = load i32, ptr %169, align 4, !tbaa !5
  %8113 = call ptr @__errno_location() #12
  store i32 %8112, ptr %8113, align 4, !tbaa !5
  %8114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8115 = load i32, ptr @test_count, align 4, !tbaa !5
  %8116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8117 = load i32, ptr %8116, align 4, !tbaa !5
  %8118 = call ptr @s2n_strerror(i32 noundef %8117, ptr noundef @.str.4)
  %8119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8120 = load i32, ptr %8119, align 4, !tbaa !5
  %8121 = call ptr @s2n_strerror_debug(i32 noundef %8120, ptr noundef @.str.4)
  %8122 = call ptr @__errno_location() #12
  %8123 = load i32, ptr %8122, align 4, !tbaa !5
  %8124 = call ptr @strerror(i32 noundef %8123) #11
  %8125 = call ptr @__errno_location() #12
  %8126 = load i32, ptr %8125, align 4, !tbaa !5
  %8127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8114, ptr noundef @.str.1, i32 noundef %8115, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8118, ptr noundef %8121, ptr noundef %8124, i32 noundef %8126) #11
  br label %8145

8128:                                             ; preds = %8106, %8099
  %8129 = load i32, ptr %169, align 4, !tbaa !5
  %8130 = call ptr @__errno_location() #12
  store i32 %8129, ptr %8130, align 4, !tbaa !5
  %8131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8132 = load i32, ptr @test_count, align 4, !tbaa !5
  %8133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call ptr @s2n_strerror(i32 noundef %8134, ptr noundef @.str.4)
  %8136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8137 = load i32, ptr %8136, align 4, !tbaa !5
  %8138 = call ptr @s2n_strerror_debug(i32 noundef %8137, ptr noundef @.str.4)
  %8139 = call ptr @__errno_location() #12
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call ptr @strerror(i32 noundef %8140) #11
  %8142 = call ptr @__errno_location() #12
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8131, ptr noundef @.str.5, i32 noundef %8132, ptr noundef @.str.19, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8135, ptr noundef %8138, ptr noundef %8141, i32 noundef %8143) #11
  br label %8145

8145:                                             ; preds = %8128, %8111
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8146

8146:                                             ; preds = %8145
  br label %8147

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

8148:                                             ; No predecessors!
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149, %8091
  br label %8151

8151:                                             ; preds = %8150
  br label %8152

8152:                                             ; preds = %8151
  br label %8153

8153:                                             ; preds = %8152
  %8154 = load i32, ptr @test_count, align 4, !tbaa !5
  %8155 = add nsw i32 %8154, 1
  store i32 %8155, ptr @test_count, align 4, !tbaa !5
  %8156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  %8158 = icmp eq i32 %8157, 335544390
  br i1 %8158, label %8212, label %8159

8159:                                             ; preds = %8153
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

8161:                                             ; preds = %8160
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8162 = call ptr @__errno_location() #12
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  store i32 %8163, ptr %170, align 4, !tbaa !5
  %8164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8165 = call i32 @s2n_print_stacktrace(ptr noundef %8164)
  %8166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8167 = trunc i8 %8166 to i1
  br i1 %8167, label %8168, label %8190

8168:                                             ; preds = %8161
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = call i32 @fileno(ptr noundef %8169) #11
  %8171 = call i32 @isatty(i32 noundef %8170) #11
  %8172 = icmp ne i32 %8171, 0
  br i1 %8172, label %8173, label %8190

8173:                                             ; preds = %8168
  %8174 = load i32, ptr %170, align 4, !tbaa !5
  %8175 = call ptr @__errno_location() #12
  store i32 %8174, ptr %8175, align 4, !tbaa !5
  %8176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8177 = load i32, ptr @test_count, align 4, !tbaa !5
  %8178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @s2n_strerror(i32 noundef %8179, ptr noundef @.str.4)
  %8181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call ptr @s2n_strerror_debug(i32 noundef %8182, ptr noundef @.str.4)
  %8184 = call ptr @__errno_location() #12
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call ptr @strerror(i32 noundef %8185) #11
  %8187 = call ptr @__errno_location() #12
  %8188 = load i32, ptr %8187, align 4, !tbaa !5
  %8189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8176, ptr noundef @.str.1, i32 noundef %8177, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8180, ptr noundef %8183, ptr noundef %8186, i32 noundef %8188) #11
  br label %8207

8190:                                             ; preds = %8168, %8161
  %8191 = load i32, ptr %170, align 4, !tbaa !5
  %8192 = call ptr @__errno_location() #12
  store i32 %8191, ptr %8192, align 4, !tbaa !5
  %8193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8194 = load i32, ptr @test_count, align 4, !tbaa !5
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror(i32 noundef %8196, ptr noundef @.str.4)
  %8198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @s2n_strerror_debug(i32 noundef %8199, ptr noundef @.str.4)
  %8201 = call ptr @__errno_location() #12
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call ptr @strerror(i32 noundef %8202) #11
  %8204 = call ptr @__errno_location() #12
  %8205 = load i32, ptr %8204, align 4, !tbaa !5
  %8206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8193, ptr noundef @.str.5, i32 noundef %8194, ptr noundef @.str.20, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8197, ptr noundef %8200, ptr noundef %8203, i32 noundef %8205) #11
  br label %8207

8207:                                             ; preds = %8190, %8173
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

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

8210:                                             ; No predecessors!
  br label %8211

8211:                                             ; preds = %8210
  br label %8212

8212:                                             ; preds = %8211, %8153
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

8214:                                             ; preds = %8213
  br label %8215

8215:                                             ; preds = %8214
  %8216 = load i32, ptr @test_count, align 4, !tbaa !5
  %8217 = add nsw i32 %8216, 1
  store i32 %8217, ptr @test_count, align 4, !tbaa !5
  %8218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call ptr @s2n_strerror_debug(i32 noundef %8219, ptr noundef @.str.4)
  %8221 = icmp eq ptr %8220, null
  br i1 %8221, label %8222, label %8275

8222:                                             ; preds = %8215
  br label %8223

8223:                                             ; preds = %8222
  br label %8224

8224:                                             ; preds = %8223
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8225 = call ptr @__errno_location() #12
  %8226 = load i32, ptr %8225, align 4, !tbaa !5
  store i32 %8226, ptr %171, align 4, !tbaa !5
  %8227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8228 = call i32 @s2n_print_stacktrace(ptr noundef %8227)
  %8229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8230 = trunc i8 %8229 to i1
  br i1 %8230, label %8231, label %8253

8231:                                             ; preds = %8224
  %8232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8233 = call i32 @fileno(ptr noundef %8232) #11
  %8234 = call i32 @isatty(i32 noundef %8233) #11
  %8235 = icmp ne i32 %8234, 0
  br i1 %8235, label %8236, label %8253

8236:                                             ; preds = %8231
  %8237 = load i32, ptr %171, align 4, !tbaa !5
  %8238 = call ptr @__errno_location() #12
  store i32 %8237, ptr %8238, align 4, !tbaa !5
  %8239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8240 = load i32, ptr @test_count, align 4, !tbaa !5
  %8241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call ptr @s2n_strerror(i32 noundef %8242, ptr noundef @.str.4)
  %8244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call ptr @s2n_strerror_debug(i32 noundef %8245, ptr noundef @.str.4)
  %8247 = call ptr @__errno_location() #12
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call ptr @strerror(i32 noundef %8248) #11
  %8250 = call ptr @__errno_location() #12
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8239, ptr noundef @.str.1, i32 noundef %8240, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8243, ptr noundef %8246, ptr noundef %8249, i32 noundef %8251) #11
  br label %8270

8253:                                             ; preds = %8231, %8224
  %8254 = load i32, ptr %171, align 4, !tbaa !5
  %8255 = call ptr @__errno_location() #12
  store i32 %8254, ptr %8255, align 4, !tbaa !5
  %8256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8257 = load i32, ptr @test_count, align 4, !tbaa !5
  %8258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @s2n_strerror(i32 noundef %8259, ptr noundef @.str.4)
  %8261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call ptr @s2n_strerror_debug(i32 noundef %8262, ptr noundef @.str.4)
  %8264 = call ptr @__errno_location() #12
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @strerror(i32 noundef %8265) #11
  %8267 = call ptr @__errno_location() #12
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8256, ptr noundef @.str.5, i32 noundef %8257, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 310, ptr noundef %8260, ptr noundef %8263, ptr noundef %8266, i32 noundef %8268) #11
  br label %8270

8270:                                             ; preds = %8253, %8236
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8271

8271:                                             ; preds = %8270
  br label %8272

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

8273:                                             ; No predecessors!
  br label %8274

8274:                                             ; preds = %8273
  br label %8275

8275:                                             ; preds = %8274, %8215
  br label %8276

8276:                                             ; preds = %8275
  br label %8277

8277:                                             ; preds = %8276
  br label %8278

8278:                                             ; preds = %8277
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

8280:                                             ; preds = %8279
  %8281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8281, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8282 = call ptr @__errno_location() #12
  store i32 0, ptr %8282, align 4, !tbaa !5
  br label %8283

8283:                                             ; preds = %8280
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

8285:                                             ; preds = %8284
  br label %8286

8286:                                             ; preds = %8285
  store i32 8087, ptr %163, align 4, !tbaa !5
  br label %8287

8287:                                             ; preds = %8286, %8086
  call void @llvm.lifetime.start.p0(i64 2, ptr %172) #11
  %8288 = load i32, ptr %163, align 4, !tbaa !5
  %8289 = add nsw i32 %8288, 1
  %8290 = add nsw i32 %8289, 20
  %8291 = add nsw i32 %8290, 16
  %8292 = trunc i32 %8291 to i16
  store i16 %8292, ptr %172, align 2, !tbaa !57
  %8293 = load i16, ptr %172, align 2, !tbaa !57
  %8294 = zext i16 %8293 to i32
  %8295 = srem i32 %8294, 16
  %8296 = icmp ne i32 %8295, 0
  br i1 %8296, label %8297, label %8306

8297:                                             ; preds = %8287
  %8298 = load i16, ptr %172, align 2, !tbaa !57
  %8299 = zext i16 %8298 to i32
  %8300 = srem i32 %8299, 16
  %8301 = sub nsw i32 16, %8300
  %8302 = load i16, ptr %172, align 2, !tbaa !57
  %8303 = zext i16 %8302 to i32
  %8304 = add nsw i32 %8303, %8301
  %8305 = trunc i32 %8304 to i16
  store i16 %8305, ptr %172, align 2, !tbaa !57
  br label %8306

8306:                                             ; preds = %8297, %8287
  br label %8307

8307:                                             ; preds = %8306
  %8308 = load i32, ptr @test_count, align 4, !tbaa !5
  %8309 = add nsw i32 %8308, 1
  store i32 %8309, ptr @test_count, align 4, !tbaa !5
  %8310 = load ptr, ptr %6, align 8, !tbaa !9
  %8311 = getelementptr inbounds %struct.s2n_connection, ptr %8310, i32 0, i32 41
  %8312 = getelementptr inbounds %struct.s2n_stuffer, ptr %8311, i32 0, i32 0
  %8313 = getelementptr inbounds %struct.s2n_blob, ptr %8312, i32 0, i32 0
  %8314 = load ptr, ptr %8313, align 8, !tbaa !53
  %8315 = getelementptr inbounds i8, ptr %8314, i64 0
  %8316 = load i8, ptr %8315, align 1, !tbaa !54
  %8317 = zext i8 %8316 to i32
  %8318 = icmp eq i32 %8317, 23
  br i1 %8318, label %8372, label %8319

8319:                                             ; preds = %8307
  br label %8320

8320:                                             ; preds = %8319
  br label %8321

8321:                                             ; preds = %8320
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %8322 = call ptr @__errno_location() #12
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  store i32 %8323, ptr %173, align 4, !tbaa !5
  %8324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8325 = call i32 @s2n_print_stacktrace(ptr noundef %8324)
  %8326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8327 = trunc i8 %8326 to i1
  br i1 %8327, label %8328, label %8350

8328:                                             ; preds = %8321
  %8329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8330 = call i32 @fileno(ptr noundef %8329) #11
  %8331 = call i32 @isatty(i32 noundef %8330) #11
  %8332 = icmp ne i32 %8331, 0
  br i1 %8332, label %8333, label %8350

8333:                                             ; preds = %8328
  %8334 = load i32, ptr %173, align 4, !tbaa !5
  %8335 = call ptr @__errno_location() #12
  store i32 %8334, ptr %8335, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror(i32 noundef %8339, ptr noundef @.str.4)
  %8341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call ptr @s2n_strerror_debug(i32 noundef %8342, ptr noundef @.str.4)
  %8344 = call ptr @__errno_location() #12
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call ptr @strerror(i32 noundef %8345) #11
  %8347 = call ptr @__errno_location() #12
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  %8349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8336, ptr noundef @.str.1, i32 noundef %8337, ptr noundef @.str.58, ptr noundef @.str.3, i32 noundef 318, ptr noundef %8340, ptr noundef %8343, ptr noundef %8346, i32 noundef %8348) #11
  br label %8367

8350:                                             ; preds = %8328, %8321
  %8351 = load i32, ptr %173, align 4, !tbaa !5
  %8352 = call ptr @__errno_location() #12
  store i32 %8351, ptr %8352, align 4, !tbaa !5
  %8353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8354 = load i32, ptr @test_count, align 4, !tbaa !5
  %8355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8356 = load i32, ptr %8355, align 4, !tbaa !5
  %8357 = call ptr @s2n_strerror(i32 noundef %8356, ptr noundef @.str.4)
  %8358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call ptr @s2n_strerror_debug(i32 noundef %8359, ptr noundef @.str.4)
  %8361 = call ptr @__errno_location() #12
  %8362 = load i32, ptr %8361, align 4, !tbaa !5
  %8363 = call ptr @strerror(i32 noundef %8362) #11
  %8364 = call ptr @__errno_location() #12
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8353, ptr noundef @.str.5, i32 noundef %8354, ptr noundef @.str.58, ptr noundef @.str.3, i32 noundef 318, ptr noundef %8357, ptr noundef %8360, ptr noundef %8363, i32 noundef %8365) #11
  br label %8367

8367:                                             ; preds = %8350, %8333
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %8368

8368:                                             ; preds = %8367
  br label %8369

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

8370:                                             ; No predecessors!
  br label %8371

8371:                                             ; preds = %8370
  br label %8372

8372:                                             ; preds = %8371, %8307
  br label %8373

8373:                                             ; preds = %8372
  br label %8374

8374:                                             ; preds = %8373
  br label %8375

8375:                                             ; preds = %8374
  %8376 = load i32, ptr @test_count, align 4, !tbaa !5
  %8377 = add nsw i32 %8376, 1
  store i32 %8377, ptr @test_count, align 4, !tbaa !5
  %8378 = load ptr, ptr %6, align 8, !tbaa !9
  %8379 = getelementptr inbounds %struct.s2n_connection, ptr %8378, i32 0, i32 41
  %8380 = getelementptr inbounds %struct.s2n_stuffer, ptr %8379, i32 0, i32 0
  %8381 = getelementptr inbounds %struct.s2n_blob, ptr %8380, i32 0, i32 0
  %8382 = load ptr, ptr %8381, align 8, !tbaa !53
  %8383 = getelementptr inbounds i8, ptr %8382, i64 1
  %8384 = load i8, ptr %8383, align 1, !tbaa !54
  %8385 = zext i8 %8384 to i32
  %8386 = icmp eq i32 %8385, 3
  br i1 %8386, label %8440, label %8387

8387:                                             ; preds = %8375
  br label %8388

8388:                                             ; preds = %8387
  br label %8389

8389:                                             ; preds = %8388
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %8390 = call ptr @__errno_location() #12
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  store i32 %8391, ptr %174, align 4, !tbaa !5
  %8392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8393 = call i32 @s2n_print_stacktrace(ptr noundef %8392)
  %8394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8395 = trunc i8 %8394 to i1
  br i1 %8395, label %8396, label %8418

8396:                                             ; preds = %8389
  %8397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8398 = call i32 @fileno(ptr noundef %8397) #11
  %8399 = call i32 @isatty(i32 noundef %8398) #11
  %8400 = icmp ne i32 %8399, 0
  br i1 %8400, label %8401, label %8418

8401:                                             ; preds = %8396
  %8402 = load i32, ptr %174, align 4, !tbaa !5
  %8403 = call ptr @__errno_location() #12
  store i32 %8402, ptr %8403, align 4, !tbaa !5
  %8404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8405 = load i32, ptr @test_count, align 4, !tbaa !5
  %8406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8407 = load i32, ptr %8406, align 4, !tbaa !5
  %8408 = call ptr @s2n_strerror(i32 noundef %8407, ptr noundef @.str.4)
  %8409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8410 = load i32, ptr %8409, align 4, !tbaa !5
  %8411 = call ptr @s2n_strerror_debug(i32 noundef %8410, ptr noundef @.str.4)
  %8412 = call ptr @__errno_location() #12
  %8413 = load i32, ptr %8412, align 4, !tbaa !5
  %8414 = call ptr @strerror(i32 noundef %8413) #11
  %8415 = call ptr @__errno_location() #12
  %8416 = load i32, ptr %8415, align 4, !tbaa !5
  %8417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8404, ptr noundef @.str.1, i32 noundef %8405, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 319, ptr noundef %8408, ptr noundef %8411, ptr noundef %8414, i32 noundef %8416) #11
  br label %8435

8418:                                             ; preds = %8396, %8389
  %8419 = load i32, ptr %174, align 4, !tbaa !5
  %8420 = call ptr @__errno_location() #12
  store i32 %8419, ptr %8420, align 4, !tbaa !5
  %8421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8422 = load i32, ptr @test_count, align 4, !tbaa !5
  %8423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8424 = load i32, ptr %8423, align 4, !tbaa !5
  %8425 = call ptr @s2n_strerror(i32 noundef %8424, ptr noundef @.str.4)
  %8426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8427 = load i32, ptr %8426, align 4, !tbaa !5
  %8428 = call ptr @s2n_strerror_debug(i32 noundef %8427, ptr noundef @.str.4)
  %8429 = call ptr @__errno_location() #12
  %8430 = load i32, ptr %8429, align 4, !tbaa !5
  %8431 = call ptr @strerror(i32 noundef %8430) #11
  %8432 = call ptr @__errno_location() #12
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  %8434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8421, ptr noundef @.str.5, i32 noundef %8422, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 319, ptr noundef %8425, ptr noundef %8428, ptr noundef %8431, i32 noundef %8433) #11
  br label %8435

8435:                                             ; preds = %8418, %8401
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %8436

8436:                                             ; preds = %8435
  br label %8437

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

8438:                                             ; No predecessors!
  br label %8439

8439:                                             ; preds = %8438
  br label %8440

8440:                                             ; preds = %8439, %8375
  br label %8441

8441:                                             ; preds = %8440
  br label %8442

8442:                                             ; preds = %8441
  br label %8443

8443:                                             ; preds = %8442
  %8444 = load i32, ptr @test_count, align 4, !tbaa !5
  %8445 = add nsw i32 %8444, 1
  store i32 %8445, ptr @test_count, align 4, !tbaa !5
  %8446 = load ptr, ptr %6, align 8, !tbaa !9
  %8447 = getelementptr inbounds %struct.s2n_connection, ptr %8446, i32 0, i32 41
  %8448 = getelementptr inbounds %struct.s2n_stuffer, ptr %8447, i32 0, i32 0
  %8449 = getelementptr inbounds %struct.s2n_blob, ptr %8448, i32 0, i32 0
  %8450 = load ptr, ptr %8449, align 8, !tbaa !53
  %8451 = getelementptr inbounds i8, ptr %8450, i64 2
  %8452 = load i8, ptr %8451, align 1, !tbaa !54
  %8453 = zext i8 %8452 to i32
  %8454 = icmp eq i32 %8453, 2
  br i1 %8454, label %8508, label %8455

8455:                                             ; preds = %8443
  br label %8456

8456:                                             ; preds = %8455
  br label %8457

8457:                                             ; preds = %8456
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %8458 = call ptr @__errno_location() #12
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  store i32 %8459, ptr %175, align 4, !tbaa !5
  %8460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8461 = call i32 @s2n_print_stacktrace(ptr noundef %8460)
  %8462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8463 = trunc i8 %8462 to i1
  br i1 %8463, label %8464, label %8486

8464:                                             ; preds = %8457
  %8465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8466 = call i32 @fileno(ptr noundef %8465) #11
  %8467 = call i32 @isatty(i32 noundef %8466) #11
  %8468 = icmp ne i32 %8467, 0
  br i1 %8468, label %8469, label %8486

8469:                                             ; preds = %8464
  %8470 = load i32, ptr %175, align 4, !tbaa !5
  %8471 = call ptr @__errno_location() #12
  store i32 %8470, ptr %8471, align 4, !tbaa !5
  %8472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8473 = load i32, ptr @test_count, align 4, !tbaa !5
  %8474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8475 = load i32, ptr %8474, align 4, !tbaa !5
  %8476 = call ptr @s2n_strerror(i32 noundef %8475, ptr noundef @.str.4)
  %8477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8478 = load i32, ptr %8477, align 4, !tbaa !5
  %8479 = call ptr @s2n_strerror_debug(i32 noundef %8478, ptr noundef @.str.4)
  %8480 = call ptr @__errno_location() #12
  %8481 = load i32, ptr %8480, align 4, !tbaa !5
  %8482 = call ptr @strerror(i32 noundef %8481) #11
  %8483 = call ptr @__errno_location() #12
  %8484 = load i32, ptr %8483, align 4, !tbaa !5
  %8485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8472, ptr noundef @.str.1, i32 noundef %8473, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 320, ptr noundef %8476, ptr noundef %8479, ptr noundef %8482, i32 noundef %8484) #11
  br label %8503

8486:                                             ; preds = %8464, %8457
  %8487 = load i32, ptr %175, align 4, !tbaa !5
  %8488 = call ptr @__errno_location() #12
  store i32 %8487, ptr %8488, align 4, !tbaa !5
  %8489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8490 = load i32, ptr @test_count, align 4, !tbaa !5
  %8491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8492 = load i32, ptr %8491, align 4, !tbaa !5
  %8493 = call ptr @s2n_strerror(i32 noundef %8492, ptr noundef @.str.4)
  %8494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8495 = load i32, ptr %8494, align 4, !tbaa !5
  %8496 = call ptr @s2n_strerror_debug(i32 noundef %8495, ptr noundef @.str.4)
  %8497 = call ptr @__errno_location() #12
  %8498 = load i32, ptr %8497, align 4, !tbaa !5
  %8499 = call ptr @strerror(i32 noundef %8498) #11
  %8500 = call ptr @__errno_location() #12
  %8501 = load i32, ptr %8500, align 4, !tbaa !5
  %8502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8489, ptr noundef @.str.5, i32 noundef %8490, ptr noundef @.str.24, ptr noundef @.str.3, i32 noundef 320, ptr noundef %8493, ptr noundef %8496, ptr noundef %8499, i32 noundef %8501) #11
  br label %8503

8503:                                             ; preds = %8486, %8469
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %8504

8504:                                             ; preds = %8503
  br label %8505

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

8506:                                             ; No predecessors!
  br label %8507

8507:                                             ; preds = %8506
  br label %8508

8508:                                             ; preds = %8507, %8443
  br label %8509

8509:                                             ; preds = %8508
  br label %8510

8510:                                             ; preds = %8509
  br label %8511

8511:                                             ; preds = %8510
  %8512 = load i32, ptr @test_count, align 4, !tbaa !5
  %8513 = add nsw i32 %8512, 1
  store i32 %8513, ptr @test_count, align 4, !tbaa !5
  %8514 = load ptr, ptr %6, align 8, !tbaa !9
  %8515 = getelementptr inbounds %struct.s2n_connection, ptr %8514, i32 0, i32 41
  %8516 = getelementptr inbounds %struct.s2n_stuffer, ptr %8515, i32 0, i32 0
  %8517 = getelementptr inbounds %struct.s2n_blob, ptr %8516, i32 0, i32 0
  %8518 = load ptr, ptr %8517, align 8, !tbaa !53
  %8519 = getelementptr inbounds i8, ptr %8518, i64 3
  %8520 = load i8, ptr %8519, align 1, !tbaa !54
  %8521 = zext i8 %8520 to i32
  %8522 = load i16, ptr %172, align 2, !tbaa !57
  %8523 = zext i16 %8522 to i32
  %8524 = ashr i32 %8523, 8
  %8525 = and i32 %8524, 255
  %8526 = icmp eq i32 %8521, %8525
  br i1 %8526, label %8580, label %8527

8527:                                             ; preds = %8511
  br label %8528

8528:                                             ; preds = %8527
  br label %8529

8529:                                             ; preds = %8528
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %8530 = call ptr @__errno_location() #12
  %8531 = load i32, ptr %8530, align 4, !tbaa !5
  store i32 %8531, ptr %176, align 4, !tbaa !5
  %8532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8533 = call i32 @s2n_print_stacktrace(ptr noundef %8532)
  %8534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8535 = trunc i8 %8534 to i1
  br i1 %8535, label %8536, label %8558

8536:                                             ; preds = %8529
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @fileno(ptr noundef %8537) #11
  %8539 = call i32 @isatty(i32 noundef %8538) #11
  %8540 = icmp ne i32 %8539, 0
  br i1 %8540, label %8541, label %8558

8541:                                             ; preds = %8536
  %8542 = load i32, ptr %176, align 4, !tbaa !5
  %8543 = call ptr @__errno_location() #12
  store i32 %8542, ptr %8543, align 4, !tbaa !5
  %8544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8545 = load i32, ptr @test_count, align 4, !tbaa !5
  %8546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8547 = load i32, ptr %8546, align 4, !tbaa !5
  %8548 = call ptr @s2n_strerror(i32 noundef %8547, ptr noundef @.str.4)
  %8549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8550 = load i32, ptr %8549, align 4, !tbaa !5
  %8551 = call ptr @s2n_strerror_debug(i32 noundef %8550, ptr noundef @.str.4)
  %8552 = call ptr @__errno_location() #12
  %8553 = load i32, ptr %8552, align 4, !tbaa !5
  %8554 = call ptr @strerror(i32 noundef %8553) #11
  %8555 = call ptr @__errno_location() #12
  %8556 = load i32, ptr %8555, align 4, !tbaa !5
  %8557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8544, ptr noundef @.str.1, i32 noundef %8545, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 321, ptr noundef %8548, ptr noundef %8551, ptr noundef %8554, i32 noundef %8556) #11
  br label %8575

8558:                                             ; preds = %8536, %8529
  %8559 = load i32, ptr %176, align 4, !tbaa !5
  %8560 = call ptr @__errno_location() #12
  store i32 %8559, ptr %8560, align 4, !tbaa !5
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = load i32, ptr @test_count, align 4, !tbaa !5
  %8563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8564 = load i32, ptr %8563, align 4, !tbaa !5
  %8565 = call ptr @s2n_strerror(i32 noundef %8564, ptr noundef @.str.4)
  %8566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8567 = load i32, ptr %8566, align 4, !tbaa !5
  %8568 = call ptr @s2n_strerror_debug(i32 noundef %8567, ptr noundef @.str.4)
  %8569 = call ptr @__errno_location() #12
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = call ptr @strerror(i32 noundef %8570) #11
  %8572 = call ptr @__errno_location() #12
  %8573 = load i32, ptr %8572, align 4, !tbaa !5
  %8574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8561, ptr noundef @.str.5, i32 noundef %8562, ptr noundef @.str.41, ptr noundef @.str.3, i32 noundef 321, ptr noundef %8565, ptr noundef %8568, ptr noundef %8571, i32 noundef %8573) #11
  br label %8575

8575:                                             ; preds = %8558, %8541
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %8576

8576:                                             ; preds = %8575
  br label %8577

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

8578:                                             ; No predecessors!
  br label %8579

8579:                                             ; preds = %8578
  br label %8580

8580:                                             ; preds = %8579, %8511
  br label %8581

8581:                                             ; preds = %8580
  br label %8582

8582:                                             ; preds = %8581
  br label %8583

8583:                                             ; preds = %8582
  %8584 = load i32, ptr @test_count, align 4, !tbaa !5
  %8585 = add nsw i32 %8584, 1
  store i32 %8585, ptr @test_count, align 4, !tbaa !5
  %8586 = load ptr, ptr %6, align 8, !tbaa !9
  %8587 = getelementptr inbounds %struct.s2n_connection, ptr %8586, i32 0, i32 41
  %8588 = getelementptr inbounds %struct.s2n_stuffer, ptr %8587, i32 0, i32 0
  %8589 = getelementptr inbounds %struct.s2n_blob, ptr %8588, i32 0, i32 0
  %8590 = load ptr, ptr %8589, align 8, !tbaa !53
  %8591 = getelementptr inbounds i8, ptr %8590, i64 4
  %8592 = load i8, ptr %8591, align 1, !tbaa !54
  %8593 = zext i8 %8592 to i32
  %8594 = load i16, ptr %172, align 2, !tbaa !57
  %8595 = zext i16 %8594 to i32
  %8596 = and i32 %8595, 255
  %8597 = icmp eq i32 %8593, %8596
  br i1 %8597, label %8651, label %8598

8598:                                             ; preds = %8583
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %8601 = call ptr @__errno_location() #12
  %8602 = load i32, ptr %8601, align 4, !tbaa !5
  store i32 %8602, ptr %177, align 4, !tbaa !5
  %8603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8604 = call i32 @s2n_print_stacktrace(ptr noundef %8603)
  %8605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8606 = trunc i8 %8605 to i1
  br i1 %8606, label %8607, label %8629

8607:                                             ; preds = %8600
  %8608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8609 = call i32 @fileno(ptr noundef %8608) #11
  %8610 = call i32 @isatty(i32 noundef %8609) #11
  %8611 = icmp ne i32 %8610, 0
  br i1 %8611, label %8612, label %8629

8612:                                             ; preds = %8607
  %8613 = load i32, ptr %177, align 4, !tbaa !5
  %8614 = call ptr @__errno_location() #12
  store i32 %8613, ptr %8614, align 4, !tbaa !5
  %8615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8616 = load i32, ptr @test_count, align 4, !tbaa !5
  %8617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8618 = load i32, ptr %8617, align 4, !tbaa !5
  %8619 = call ptr @s2n_strerror(i32 noundef %8618, ptr noundef @.str.4)
  %8620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror_debug(i32 noundef %8621, ptr noundef @.str.4)
  %8623 = call ptr @__errno_location() #12
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  %8625 = call ptr @strerror(i32 noundef %8624) #11
  %8626 = call ptr @__errno_location() #12
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8615, ptr noundef @.str.1, i32 noundef %8616, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 322, ptr noundef %8619, ptr noundef %8622, ptr noundef %8625, i32 noundef %8627) #11
  br label %8646

8629:                                             ; preds = %8607, %8600
  %8630 = load i32, ptr %177, align 4, !tbaa !5
  %8631 = call ptr @__errno_location() #12
  store i32 %8630, ptr %8631, align 4, !tbaa !5
  %8632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8633 = load i32, ptr @test_count, align 4, !tbaa !5
  %8634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @s2n_strerror(i32 noundef %8635, ptr noundef @.str.4)
  %8637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call ptr @s2n_strerror_debug(i32 noundef %8638, ptr noundef @.str.4)
  %8640 = call ptr @__errno_location() #12
  %8641 = load i32, ptr %8640, align 4, !tbaa !5
  %8642 = call ptr @strerror(i32 noundef %8641) #11
  %8643 = call ptr @__errno_location() #12
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8632, ptr noundef @.str.5, i32 noundef %8633, ptr noundef @.str.42, ptr noundef @.str.3, i32 noundef 322, ptr noundef %8636, ptr noundef %8639, ptr noundef %8642, i32 noundef %8644) #11
  br label %8646

8646:                                             ; preds = %8629, %8612
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %8647

8647:                                             ; preds = %8646
  br label %8648

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

8649:                                             ; No predecessors!
  br label %8650

8650:                                             ; preds = %8649
  br label %8651

8651:                                             ; preds = %8650, %8583
  br label %8652

8652:                                             ; preds = %8651
  br label %8653

8653:                                             ; preds = %8652
  br label %8654

8654:                                             ; preds = %8653
  %8655 = load i32, ptr @test_count, align 4, !tbaa !5
  %8656 = add nsw i32 %8655, 1
  store i32 %8656, ptr @test_count, align 4, !tbaa !5
  %8657 = load ptr, ptr %6, align 8, !tbaa !9
  %8658 = getelementptr inbounds %struct.s2n_connection, ptr %8657, i32 0, i32 41
  %8659 = getelementptr inbounds %struct.s2n_stuffer, ptr %8658, i32 0, i32 0
  %8660 = getelementptr inbounds %struct.s2n_blob, ptr %8659, i32 0, i32 0
  %8661 = load ptr, ptr %8660, align 8, !tbaa !53
  %8662 = getelementptr inbounds i8, ptr %8661, i64 16
  %8663 = getelementptr inbounds i8, ptr %8662, i64 5
  %8664 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %8665 = load i32, ptr %163, align 4, !tbaa !5
  %8666 = sext i32 %8665 to i64
  %8667 = call i32 @memcmp(ptr noundef %8663, ptr noundef %8664, i64 noundef %8666) #14
  %8668 = icmp eq i32 %8667, 0
  br i1 %8668, label %8722, label %8669

8669:                                             ; preds = %8654
  br label %8670

8670:                                             ; preds = %8669
  br label %8671

8671:                                             ; preds = %8670
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %8672 = call ptr @__errno_location() #12
  %8673 = load i32, ptr %8672, align 4, !tbaa !5
  store i32 %8673, ptr %178, align 4, !tbaa !5
  %8674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8675 = call i32 @s2n_print_stacktrace(ptr noundef %8674)
  %8676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8677 = trunc i8 %8676 to i1
  br i1 %8677, label %8678, label %8700

8678:                                             ; preds = %8671
  %8679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8680 = call i32 @fileno(ptr noundef %8679) #11
  %8681 = call i32 @isatty(i32 noundef %8680) #11
  %8682 = icmp ne i32 %8681, 0
  br i1 %8682, label %8683, label %8700

8683:                                             ; preds = %8678
  %8684 = load i32, ptr %178, align 4, !tbaa !5
  %8685 = call ptr @__errno_location() #12
  store i32 %8684, ptr %8685, align 4, !tbaa !5
  %8686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8687 = load i32, ptr @test_count, align 4, !tbaa !5
  %8688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8689 = load i32, ptr %8688, align 4, !tbaa !5
  %8690 = call ptr @s2n_strerror(i32 noundef %8689, ptr noundef @.str.4)
  %8691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror_debug(i32 noundef %8692, ptr noundef @.str.4)
  %8694 = call ptr @__errno_location() #12
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @strerror(i32 noundef %8695) #11
  %8697 = call ptr @__errno_location() #12
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8686, ptr noundef @.str.1, i32 noundef %8687, ptr noundef @.str.63, ptr noundef @.str.3, i32 noundef 323, ptr noundef %8690, ptr noundef %8693, ptr noundef %8696, i32 noundef %8698) #11
  br label %8717

8700:                                             ; preds = %8678, %8671
  %8701 = load i32, ptr %178, align 4, !tbaa !5
  %8702 = call ptr @__errno_location() #12
  store i32 %8701, ptr %8702, align 4, !tbaa !5
  %8703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8704 = load i32, ptr @test_count, align 4, !tbaa !5
  %8705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror(i32 noundef %8706, ptr noundef @.str.4)
  %8708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @s2n_strerror_debug(i32 noundef %8709, ptr noundef @.str.4)
  %8711 = call ptr @__errno_location() #12
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @strerror(i32 noundef %8712) #11
  %8714 = call ptr @__errno_location() #12
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8703, ptr noundef @.str.5, i32 noundef %8704, ptr noundef @.str.63, ptr noundef @.str.3, i32 noundef 323, ptr noundef %8707, ptr noundef %8710, ptr noundef %8713, i32 noundef %8715) #11
  br label %8717

8717:                                             ; preds = %8700, %8683
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %8718

8718:                                             ; preds = %8717
  br label %8719

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

8720:                                             ; No predecessors!
  br label %8721

8721:                                             ; preds = %8720
  br label %8722

8722:                                             ; preds = %8721, %8654
  br label %8723

8723:                                             ; preds = %8722
  br label %8724

8724:                                             ; preds = %8723
  call void @llvm.lifetime.start.p0(i64 1, ptr %179) #11
  %8725 = load ptr, ptr %6, align 8, !tbaa !9
  %8726 = getelementptr inbounds %struct.s2n_connection, ptr %8725, i32 0, i32 41
  %8727 = getelementptr inbounds %struct.s2n_stuffer, ptr %8726, i32 0, i32 0
  %8728 = getelementptr inbounds %struct.s2n_blob, ptr %8727, i32 0, i32 0
  %8729 = load ptr, ptr %8728, align 8, !tbaa !53
  %8730 = load ptr, ptr %6, align 8, !tbaa !9
  %8731 = getelementptr inbounds %struct.s2n_connection, ptr %8730, i32 0, i32 41
  %8732 = getelementptr inbounds %struct.s2n_stuffer, ptr %8731, i32 0, i32 2
  %8733 = load i32, ptr %8732, align 4, !tbaa !55
  %8734 = sub i32 %8733, 1
  %8735 = zext i32 %8734 to i64
  %8736 = getelementptr inbounds i8, ptr %8729, i64 %8735
  %8737 = load i8, ptr %8736, align 1, !tbaa !54
  store i8 %8737, ptr %179, align 1, !tbaa !54
  br label %8738

8738:                                             ; preds = %8724
  %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 i32, ptr %163, align 4, !tbaa !5
  %8742 = add nsw i32 5, %8741
  %8743 = add nsw i32 %8742, 20
  %8744 = add nsw i32 %8743, 16
  %8745 = load i8, ptr %179, align 1, !tbaa !54
  %8746 = zext i8 %8745 to i32
  %8747 = add nsw i32 %8744, %8746
  %8748 = add nsw i32 %8747, 1
  %8749 = load ptr, ptr %6, align 8, !tbaa !9
  %8750 = getelementptr inbounds %struct.s2n_connection, ptr %8749, i32 0, i32 41
  %8751 = getelementptr inbounds %struct.s2n_stuffer, ptr %8750, i32 0, i32 2
  %8752 = load i32, ptr %8751, align 4, !tbaa !55
  %8753 = load ptr, ptr %6, align 8, !tbaa !9
  %8754 = getelementptr inbounds %struct.s2n_connection, ptr %8753, i32 0, i32 41
  %8755 = getelementptr inbounds %struct.s2n_stuffer, ptr %8754, i32 0, i32 1
  %8756 = load i32, ptr %8755, align 8, !tbaa !56
  %8757 = sub i32 %8752, %8756
  %8758 = icmp eq i32 %8748, %8757
  br i1 %8758, label %8812, label %8759

8759:                                             ; preds = %8738
  br label %8760

8760:                                             ; preds = %8759
  br label %8761

8761:                                             ; preds = %8760
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %8762 = call ptr @__errno_location() #12
  %8763 = load i32, ptr %8762, align 4, !tbaa !5
  store i32 %8763, ptr %180, align 4, !tbaa !5
  %8764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8765 = call i32 @s2n_print_stacktrace(ptr noundef %8764)
  %8766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8767 = trunc i8 %8766 to i1
  br i1 %8767, label %8768, label %8790

8768:                                             ; preds = %8761
  %8769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8770 = call i32 @fileno(ptr noundef %8769) #11
  %8771 = call i32 @isatty(i32 noundef %8770) #11
  %8772 = icmp ne i32 %8771, 0
  br i1 %8772, label %8773, label %8790

8773:                                             ; preds = %8768
  %8774 = load i32, ptr %180, align 4, !tbaa !5
  %8775 = call ptr @__errno_location() #12
  store i32 %8774, ptr %8775, align 4, !tbaa !5
  %8776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8777 = load i32, ptr @test_count, align 4, !tbaa !5
  %8778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @s2n_strerror(i32 noundef %8779, ptr noundef @.str.4)
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call ptr @s2n_strerror_debug(i32 noundef %8782, ptr noundef @.str.4)
  %8784 = call ptr @__errno_location() #12
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @strerror(i32 noundef %8785) #11
  %8787 = call ptr @__errno_location() #12
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8776, ptr noundef @.str.1, i32 noundef %8777, ptr noundef @.str.64, ptr noundef @.str.3, i32 noundef 327, ptr noundef %8780, ptr noundef %8783, ptr noundef %8786, i32 noundef %8788) #11
  br label %8807

8790:                                             ; preds = %8768, %8761
  %8791 = load i32, ptr %180, align 4, !tbaa !5
  %8792 = call ptr @__errno_location() #12
  store i32 %8791, ptr %8792, align 4, !tbaa !5
  %8793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8794 = load i32, ptr @test_count, align 4, !tbaa !5
  %8795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8796 = load i32, ptr %8795, align 4, !tbaa !5
  %8797 = call ptr @s2n_strerror(i32 noundef %8796, ptr noundef @.str.4)
  %8798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8799 = load i32, ptr %8798, align 4, !tbaa !5
  %8800 = call ptr @s2n_strerror_debug(i32 noundef %8799, ptr noundef @.str.4)
  %8801 = call ptr @__errno_location() #12
  %8802 = load i32, ptr %8801, align 4, !tbaa !5
  %8803 = call ptr @strerror(i32 noundef %8802) #11
  %8804 = call ptr @__errno_location() #12
  %8805 = load i32, ptr %8804, align 4, !tbaa !5
  %8806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8793, ptr noundef @.str.5, i32 noundef %8794, ptr noundef @.str.64, ptr noundef @.str.3, i32 noundef 327, ptr noundef %8797, ptr noundef %8800, ptr noundef %8803, i32 noundef %8805) #11
  br label %8807

8807:                                             ; preds = %8790, %8773
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %8808

8808:                                             ; preds = %8807
  br label %8809

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

8810:                                             ; No predecessors!
  br label %8811

8811:                                             ; preds = %8810
  br label %8812

8812:                                             ; preds = %8811, %8738
  br label %8813

8813:                                             ; preds = %8812
  br label %8814

8814:                                             ; preds = %8813
  call void @llvm.lifetime.start.p0(i64 8, ptr %181) #11
  store i64 0, ptr %181, align 8, !tbaa !52
  br label %8815

8815:                                             ; preds = %8899, %8814
  %8816 = load i64, ptr %181, align 8, !tbaa !52
  %8817 = load i8, ptr %179, align 1, !tbaa !54
  %8818 = zext i8 %8817 to i64
  %8819 = icmp ule i64 %8816, %8818
  br i1 %8819, label %8821, label %8820

8820:                                             ; preds = %8815
  store i32 817, ptr %115, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %181) #11
  br label %8902

8821:                                             ; preds = %8815
  br label %8822

8822:                                             ; preds = %8821
  %8823 = load i32, ptr @test_count, align 4, !tbaa !5
  %8824 = add nsw i32 %8823, 1
  store i32 %8824, ptr @test_count, align 4, !tbaa !5
  %8825 = load ptr, ptr %6, align 8, !tbaa !9
  %8826 = getelementptr inbounds %struct.s2n_connection, ptr %8825, i32 0, i32 41
  %8827 = getelementptr inbounds %struct.s2n_stuffer, ptr %8826, i32 0, i32 0
  %8828 = getelementptr inbounds %struct.s2n_blob, ptr %8827, i32 0, i32 0
  %8829 = load ptr, ptr %8828, align 8, !tbaa !53
  %8830 = load i32, ptr %163, align 4, !tbaa !5
  %8831 = add nsw i32 5, %8830
  %8832 = add nsw i32 %8831, 16
  %8833 = add nsw i32 %8832, 20
  %8834 = sext i32 %8833 to i64
  %8835 = load i64, ptr %181, align 8, !tbaa !52
  %8836 = add i64 %8834, %8835
  %8837 = getelementptr inbounds i8, ptr %8829, i64 %8836
  %8838 = load i8, ptr %8837, align 1, !tbaa !54
  %8839 = zext i8 %8838 to i32
  %8840 = load i8, ptr %179, align 1, !tbaa !54
  %8841 = zext i8 %8840 to i32
  %8842 = icmp eq i32 %8839, %8841
  br i1 %8842, label %8896, label %8843

8843:                                             ; preds = %8822
  br label %8844

8844:                                             ; preds = %8843
  br label %8845

8845:                                             ; preds = %8844
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %8846 = call ptr @__errno_location() #12
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  store i32 %8847, ptr %182, align 4, !tbaa !5
  %8848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8849 = call i32 @s2n_print_stacktrace(ptr noundef %8848)
  %8850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8851 = trunc i8 %8850 to i1
  br i1 %8851, label %8852, label %8874

8852:                                             ; preds = %8845
  %8853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8854 = call i32 @fileno(ptr noundef %8853) #11
  %8855 = call i32 @isatty(i32 noundef %8854) #11
  %8856 = icmp ne i32 %8855, 0
  br i1 %8856, label %8857, label %8874

8857:                                             ; preds = %8852
  %8858 = load i32, ptr %182, align 4, !tbaa !5
  %8859 = call ptr @__errno_location() #12
  store i32 %8858, ptr %8859, align 4, !tbaa !5
  %8860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8861 = load i32, ptr @test_count, align 4, !tbaa !5
  %8862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  %8864 = call ptr @s2n_strerror(i32 noundef %8863, ptr noundef @.str.4)
  %8865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8866 = load i32, ptr %8865, align 4, !tbaa !5
  %8867 = call ptr @s2n_strerror_debug(i32 noundef %8866, ptr noundef @.str.4)
  %8868 = call ptr @__errno_location() #12
  %8869 = load i32, ptr %8868, align 4, !tbaa !5
  %8870 = call ptr @strerror(i32 noundef %8869) #11
  %8871 = call ptr @__errno_location() #12
  %8872 = load i32, ptr %8871, align 4, !tbaa !5
  %8873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8860, ptr noundef @.str.1, i32 noundef %8861, ptr noundef @.str.65, ptr noundef @.str.3, i32 noundef 331, ptr noundef %8864, ptr noundef %8867, ptr noundef %8870, i32 noundef %8872) #11
  br label %8891

8874:                                             ; preds = %8852, %8845
  %8875 = load i32, ptr %182, align 4, !tbaa !5
  %8876 = call ptr @__errno_location() #12
  store i32 %8875, ptr %8876, align 4, !tbaa !5
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = load i32, ptr @test_count, align 4, !tbaa !5
  %8879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror(i32 noundef %8880, ptr noundef @.str.4)
  %8882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call ptr @s2n_strerror_debug(i32 noundef %8883, ptr noundef @.str.4)
  %8885 = call ptr @__errno_location() #12
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call ptr @strerror(i32 noundef %8886) #11
  %8888 = call ptr @__errno_location() #12
  %8889 = load i32, ptr %8888, align 4, !tbaa !5
  %8890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8877, ptr noundef @.str.5, i32 noundef %8878, ptr noundef @.str.65, ptr noundef @.str.3, i32 noundef 331, ptr noundef %8881, ptr noundef %8884, ptr noundef %8887, i32 noundef %8889) #11
  br label %8891

8891:                                             ; preds = %8874, %8857
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %8892

8892:                                             ; preds = %8891
  br label %8893

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

8894:                                             ; No predecessors!
  br label %8895

8895:                                             ; preds = %8894
  br label %8896

8896:                                             ; preds = %8895, %8822
  br label %8897

8897:                                             ; preds = %8896
  br label %8898

8898:                                             ; preds = %8897
  br label %8899

8899:                                             ; preds = %8898
  %8900 = load i64, ptr %181, align 8, !tbaa !52
  %8901 = add i64 %8900, 1
  store i64 %8901, ptr %181, align 8, !tbaa !52
  br label %8815, !llvm.loop !66

8902:                                             ; preds = %8820
  call void @llvm.lifetime.start.p0(i64 1, ptr %183) #11
  %8903 = load i32, ptr %163, align 4, !tbaa !5
  %8904 = ashr i32 %8903, 8
  %8905 = trunc i32 %8904 to i8
  store i8 %8905, ptr %183, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 1, ptr %184) #11
  %8906 = load i32, ptr %163, align 4, !tbaa !5
  %8907 = and i32 %8906, 255
  %8908 = trunc i32 %8907 to i8
  store i8 %8908, ptr %184, align 1, !tbaa !54
  br label %8909

8909:                                             ; preds = %8902
  %8910 = load i32, ptr @test_count, align 4, !tbaa !5
  %8911 = add nsw i32 %8910, 1
  store i32 %8911, ptr @test_count, align 4, !tbaa !5
  %8912 = load ptr, ptr %6, align 8, !tbaa !9
  %8913 = getelementptr inbounds %struct.s2n_connection, ptr %8912, i32 0, i32 41
  %8914 = getelementptr inbounds %struct.s2n_stuffer, ptr %8913, i32 0, i32 0
  %8915 = getelementptr inbounds %struct.s2n_blob, ptr %8914, i32 0, i32 0
  %8916 = load ptr, ptr %8915, align 8, !tbaa !53
  %8917 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %8916, i32 noundef 3)
  %8918 = icmp eq i32 %8917, -1
  br i1 %8918, label %8919, label %8972

8919:                                             ; preds = %8909
  br label %8920

8920:                                             ; preds = %8919
  br label %8921

8921:                                             ; preds = %8920
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8922 = call ptr @__errno_location() #12
  %8923 = load i32, ptr %8922, align 4, !tbaa !5
  store i32 %8923, ptr %185, align 4, !tbaa !5
  %8924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8925 = call i32 @s2n_print_stacktrace(ptr noundef %8924)
  %8926 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8927 = trunc i8 %8926 to i1
  br i1 %8927, label %8928, label %8950

8928:                                             ; preds = %8921
  %8929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8930 = call i32 @fileno(ptr noundef %8929) #11
  %8931 = call i32 @isatty(i32 noundef %8930) #11
  %8932 = icmp ne i32 %8931, 0
  br i1 %8932, label %8933, label %8950

8933:                                             ; preds = %8928
  %8934 = load i32, ptr %185, align 4, !tbaa !5
  %8935 = call ptr @__errno_location() #12
  store i32 %8934, ptr %8935, align 4, !tbaa !5
  %8936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8937 = load i32, ptr @test_count, align 4, !tbaa !5
  %8938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8939 = load i32, ptr %8938, align 4, !tbaa !5
  %8940 = call ptr @s2n_strerror(i32 noundef %8939, ptr noundef @.str.4)
  %8941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8942 = load i32, ptr %8941, align 4, !tbaa !5
  %8943 = call ptr @s2n_strerror_debug(i32 noundef %8942, ptr noundef @.str.4)
  %8944 = call ptr @__errno_location() #12
  %8945 = load i32, ptr %8944, align 4, !tbaa !5
  %8946 = call ptr @strerror(i32 noundef %8945) #11
  %8947 = call ptr @__errno_location() #12
  %8948 = load i32, ptr %8947, align 4, !tbaa !5
  %8949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8936, ptr noundef @.str.1, i32 noundef %8937, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 336, ptr noundef %8940, ptr noundef %8943, ptr noundef %8946, i32 noundef %8948) #11
  br label %8967

8950:                                             ; preds = %8928, %8921
  %8951 = load i32, ptr %185, align 4, !tbaa !5
  %8952 = call ptr @__errno_location() #12
  store i32 %8951, ptr %8952, align 4, !tbaa !5
  %8953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8954 = load i32, ptr @test_count, align 4, !tbaa !5
  %8955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8956 = load i32, ptr %8955, align 4, !tbaa !5
  %8957 = call ptr @s2n_strerror(i32 noundef %8956, ptr noundef @.str.4)
  %8958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8959 = load i32, ptr %8958, align 4, !tbaa !5
  %8960 = call ptr @s2n_strerror_debug(i32 noundef %8959, ptr noundef @.str.4)
  %8961 = call ptr @__errno_location() #12
  %8962 = load i32, ptr %8961, align 4, !tbaa !5
  %8963 = call ptr @strerror(i32 noundef %8962) #11
  %8964 = call ptr @__errno_location() #12
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8953, ptr noundef @.str.5, i32 noundef %8954, ptr noundef @.str.43, ptr noundef @.str.3, i32 noundef 336, ptr noundef %8957, ptr noundef %8960, ptr noundef %8963, i32 noundef %8965) #11
  br label %8967

8967:                                             ; preds = %8950, %8933
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8968

8968:                                             ; preds = %8967
  br label %8969

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

8970:                                             ; No predecessors!
  br label %8971

8971:                                             ; preds = %8970
  br label %8972

8972:                                             ; preds = %8971, %8909
  br label %8973

8973:                                             ; preds = %8972
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = add nsw i32 %8976, 1
  store i32 %8977, ptr @test_count, align 4, !tbaa !5
  %8978 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %183, i32 noundef 1)
  %8979 = icmp eq i32 %8978, -1
  br i1 %8979, label %8980, label %9033

8980:                                             ; preds = %8975
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8983 = call ptr @__errno_location() #12
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  store i32 %8984, ptr %186, align 4, !tbaa !5
  %8985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8986 = call i32 @s2n_print_stacktrace(ptr noundef %8985)
  %8987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8988 = trunc i8 %8987 to i1
  br i1 %8988, label %8989, label %9011

8989:                                             ; preds = %8982
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = call i32 @fileno(ptr noundef %8990) #11
  %8992 = call i32 @isatty(i32 noundef %8991) #11
  %8993 = icmp ne i32 %8992, 0
  br i1 %8993, label %8994, label %9011

8994:                                             ; preds = %8989
  %8995 = load i32, ptr %186, align 4, !tbaa !5
  %8996 = call ptr @__errno_location() #12
  store i32 %8995, ptr %8996, align 4, !tbaa !5
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = load i32, ptr @test_count, align 4, !tbaa !5
  %8999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9000 = load i32, ptr %8999, align 4, !tbaa !5
  %9001 = call ptr @s2n_strerror(i32 noundef %9000, ptr noundef @.str.4)
  %9002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9003 = load i32, ptr %9002, align 4, !tbaa !5
  %9004 = call ptr @s2n_strerror_debug(i32 noundef %9003, ptr noundef @.str.4)
  %9005 = call ptr @__errno_location() #12
  %9006 = load i32, ptr %9005, align 4, !tbaa !5
  %9007 = call ptr @strerror(i32 noundef %9006) #11
  %9008 = call ptr @__errno_location() #12
  %9009 = load i32, ptr %9008, align 4, !tbaa !5
  %9010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8997, ptr noundef @.str.1, i32 noundef %8998, ptr noundef @.str.44, ptr noundef @.str.3, i32 noundef 337, ptr noundef %9001, ptr noundef %9004, ptr noundef %9007, i32 noundef %9009) #11
  br label %9028

9011:                                             ; preds = %8989, %8982
  %9012 = load i32, ptr %186, align 4, !tbaa !5
  %9013 = call ptr @__errno_location() #12
  store i32 %9012, ptr %9013, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror(i32 noundef %9017, ptr noundef @.str.4)
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror_debug(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call ptr @__errno_location() #12
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @strerror(i32 noundef %9023) #11
  %9025 = call ptr @__errno_location() #12
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9014, ptr noundef @.str.5, i32 noundef %9015, ptr noundef @.str.44, ptr noundef @.str.3, i32 noundef 337, ptr noundef %9018, ptr noundef %9021, ptr noundef %9024, i32 noundef %9026) #11
  br label %9028

9028:                                             ; preds = %9011, %8994
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %9029

9029:                                             ; preds = %9028
  br label %9030

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

9031:                                             ; No predecessors!
  br label %9032

9032:                                             ; preds = %9031
  br label %9033

9033:                                             ; preds = %9032, %8975
  br label %9034

9034:                                             ; preds = %9033
  br label %9035

9035:                                             ; preds = %9034
  br label %9036

9036:                                             ; preds = %9035
  %9037 = load i32, ptr @test_count, align 4, !tbaa !5
  %9038 = add nsw i32 %9037, 1
  store i32 %9038, ptr @test_count, align 4, !tbaa !5
  %9039 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %184, i32 noundef 1)
  %9040 = icmp eq i32 %9039, -1
  br i1 %9040, label %9041, label %9094

9041:                                             ; preds = %9036
  br label %9042

9042:                                             ; preds = %9041
  br label %9043

9043:                                             ; preds = %9042
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %9044 = call ptr @__errno_location() #12
  %9045 = load i32, ptr %9044, align 4, !tbaa !5
  store i32 %9045, ptr %187, align 4, !tbaa !5
  %9046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9047 = call i32 @s2n_print_stacktrace(ptr noundef %9046)
  %9048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9049 = trunc i8 %9048 to i1
  br i1 %9049, label %9050, label %9072

9050:                                             ; preds = %9043
  %9051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9052 = call i32 @fileno(ptr noundef %9051) #11
  %9053 = call i32 @isatty(i32 noundef %9052) #11
  %9054 = icmp ne i32 %9053, 0
  br i1 %9054, label %9055, label %9072

9055:                                             ; preds = %9050
  %9056 = load i32, ptr %187, align 4, !tbaa !5
  %9057 = call ptr @__errno_location() #12
  store i32 %9056, ptr %9057, align 4, !tbaa !5
  %9058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9059 = load i32, ptr @test_count, align 4, !tbaa !5
  %9060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @s2n_strerror(i32 noundef %9061, ptr noundef @.str.4)
  %9063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call ptr @s2n_strerror_debug(i32 noundef %9064, ptr noundef @.str.4)
  %9066 = call ptr @__errno_location() #12
  %9067 = load i32, ptr %9066, align 4, !tbaa !5
  %9068 = call ptr @strerror(i32 noundef %9067) #11
  %9069 = call ptr @__errno_location() #12
  %9070 = load i32, ptr %9069, align 4, !tbaa !5
  %9071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9058, ptr noundef @.str.1, i32 noundef %9059, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 338, ptr noundef %9062, ptr noundef %9065, ptr noundef %9068, i32 noundef %9070) #11
  br label %9089

9072:                                             ; preds = %9050, %9043
  %9073 = load i32, ptr %187, align 4, !tbaa !5
  %9074 = call ptr @__errno_location() #12
  store i32 %9073, ptr %9074, align 4, !tbaa !5
  %9075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9076 = load i32, ptr @test_count, align 4, !tbaa !5
  %9077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @s2n_strerror(i32 noundef %9078, ptr noundef @.str.4)
  %9080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call ptr @s2n_strerror_debug(i32 noundef %9081, ptr noundef @.str.4)
  %9083 = call ptr @__errno_location() #12
  %9084 = load i32, ptr %9083, align 4, !tbaa !5
  %9085 = call ptr @strerror(i32 noundef %9084) #11
  %9086 = call ptr @__errno_location() #12
  %9087 = load i32, ptr %9086, align 4, !tbaa !5
  %9088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9075, ptr noundef @.str.5, i32 noundef %9076, ptr noundef @.str.45, ptr noundef @.str.3, i32 noundef 338, ptr noundef %9079, ptr noundef %9082, ptr noundef %9085, i32 noundef %9087) #11
  br label %9089

9089:                                             ; preds = %9072, %9055
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9090

9090:                                             ; preds = %9089
  br label %9091

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

9092:                                             ; No predecessors!
  br label %9093

9093:                                             ; preds = %9092
  br label %9094

9094:                                             ; preds = %9093, %9036
  br label %9095

9095:                                             ; preds = %9094
  br label %9096

9096:                                             ; preds = %9095
  br label %9097

9097:                                             ; preds = %9096
  %9098 = load i32, ptr @test_count, align 4, !tbaa !5
  %9099 = add nsw i32 %9098, 1
  store i32 %9099, ptr @test_count, align 4, !tbaa !5
  %9100 = getelementptr inbounds [8088 x i8], ptr %11, i64 0, i64 0
  %9101 = load i32, ptr %163, align 4, !tbaa !5
  %9102 = call i32 @s2n_hmac_update(ptr noundef %10, ptr noundef %9100, i32 noundef %9101)
  %9103 = icmp eq i32 %9102, -1
  br i1 %9103, label %9104, label %9157

9104:                                             ; preds = %9097
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9107 = call ptr @__errno_location() #12
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  store i32 %9108, ptr %188, align 4, !tbaa !5
  %9109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9110 = call i32 @s2n_print_stacktrace(ptr noundef %9109)
  %9111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9112 = trunc i8 %9111 to i1
  br i1 %9112, label %9113, label %9135

9113:                                             ; preds = %9106
  %9114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9115 = call i32 @fileno(ptr noundef %9114) #11
  %9116 = call i32 @isatty(i32 noundef %9115) #11
  %9117 = icmp ne i32 %9116, 0
  br i1 %9117, label %9118, label %9135

9118:                                             ; preds = %9113
  %9119 = load i32, ptr %188, align 4, !tbaa !5
  %9120 = call ptr @__errno_location() #12
  store i32 %9119, ptr %9120, align 4, !tbaa !5
  %9121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9122 = load i32, ptr @test_count, align 4, !tbaa !5
  %9123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9124 = load i32, ptr %9123, align 4, !tbaa !5
  %9125 = call ptr @s2n_strerror(i32 noundef %9124, ptr noundef @.str.4)
  %9126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9127 = load i32, ptr %9126, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror_debug(i32 noundef %9127, ptr noundef @.str.4)
  %9129 = call ptr @__errno_location() #12
  %9130 = load i32, ptr %9129, align 4, !tbaa !5
  %9131 = call ptr @strerror(i32 noundef %9130) #11
  %9132 = call ptr @__errno_location() #12
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9121, ptr noundef @.str.1, i32 noundef %9122, ptr noundef @.str.46, ptr noundef @.str.3, i32 noundef 339, ptr noundef %9125, ptr noundef %9128, ptr noundef %9131, i32 noundef %9133) #11
  br label %9152

9135:                                             ; preds = %9113, %9106
  %9136 = load i32, ptr %188, align 4, !tbaa !5
  %9137 = call ptr @__errno_location() #12
  store i32 %9136, ptr %9137, align 4, !tbaa !5
  %9138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9139 = load i32, ptr @test_count, align 4, !tbaa !5
  %9140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror(i32 noundef %9141, ptr noundef @.str.4)
  %9143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @s2n_strerror_debug(i32 noundef %9144, ptr noundef @.str.4)
  %9146 = call ptr @__errno_location() #12
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call ptr @strerror(i32 noundef %9147) #11
  %9149 = call ptr @__errno_location() #12
  %9150 = load i32, ptr %9149, align 4, !tbaa !5
  %9151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9138, ptr noundef @.str.5, i32 noundef %9139, ptr noundef @.str.46, ptr noundef @.str.3, i32 noundef 339, ptr noundef %9142, ptr noundef %9145, ptr noundef %9148, i32 noundef %9150) #11
  br label %9152

9152:                                             ; preds = %9135, %9118
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %9153

9153:                                             ; preds = %9152
  br label %9154

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

9155:                                             ; No predecessors!
  br label %9156

9156:                                             ; preds = %9155
  br label %9157

9157:                                             ; preds = %9156, %9097
  br label %9158

9158:                                             ; preds = %9157
  br label %9159

9159:                                             ; preds = %9158
  call void @llvm.lifetime.start.p0(i64 20, ptr %189) #11
  br label %9160

9160:                                             ; preds = %9159
  %9161 = load i32, ptr @test_count, align 4, !tbaa !5
  %9162 = add nsw i32 %9161, 1
  store i32 %9162, ptr @test_count, align 4, !tbaa !5
  %9163 = getelementptr inbounds [20 x i8], ptr %189, i64 0, i64 0
  %9164 = call i32 @s2n_hmac_digest(ptr noundef %10, ptr noundef %9163, i32 noundef 20)
  %9165 = icmp eq i32 %9164, -1
  br i1 %9165, label %9166, label %9219

9166:                                             ; preds = %9160
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

9168:                                             ; preds = %9167
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9169 = call ptr @__errno_location() #12
  %9170 = load i32, ptr %9169, align 4, !tbaa !5
  store i32 %9170, ptr %190, align 4, !tbaa !5
  %9171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9172 = call i32 @s2n_print_stacktrace(ptr noundef %9171)
  %9173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9174 = trunc i8 %9173 to i1
  br i1 %9174, label %9175, label %9197

9175:                                             ; preds = %9168
  %9176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9177 = call i32 @fileno(ptr noundef %9176) #11
  %9178 = call i32 @isatty(i32 noundef %9177) #11
  %9179 = icmp ne i32 %9178, 0
  br i1 %9179, label %9180, label %9197

9180:                                             ; preds = %9175
  %9181 = load i32, ptr %190, align 4, !tbaa !5
  %9182 = call ptr @__errno_location() #12
  store i32 %9181, ptr %9182, align 4, !tbaa !5
  %9183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9184 = load i32, ptr @test_count, align 4, !tbaa !5
  %9185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9186 = load i32, ptr %9185, align 4, !tbaa !5
  %9187 = call ptr @s2n_strerror(i32 noundef %9186, ptr noundef @.str.4)
  %9188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror_debug(i32 noundef %9189, ptr noundef @.str.4)
  %9191 = call ptr @__errno_location() #12
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @strerror(i32 noundef %9192) #11
  %9194 = call ptr @__errno_location() #12
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9183, ptr noundef @.str.1, i32 noundef %9184, ptr noundef @.str.47, ptr noundef @.str.3, i32 noundef 342, ptr noundef %9187, ptr noundef %9190, ptr noundef %9193, i32 noundef %9195) #11
  br label %9214

9197:                                             ; preds = %9175, %9168
  %9198 = load i32, ptr %190, align 4, !tbaa !5
  %9199 = call ptr @__errno_location() #12
  store i32 %9198, ptr %9199, align 4, !tbaa !5
  %9200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9201 = load i32, ptr @test_count, align 4, !tbaa !5
  %9202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call ptr @s2n_strerror(i32 noundef %9203, ptr noundef @.str.4)
  %9205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call ptr @s2n_strerror_debug(i32 noundef %9206, ptr noundef @.str.4)
  %9208 = call ptr @__errno_location() #12
  %9209 = load i32, ptr %9208, align 4, !tbaa !5
  %9210 = call ptr @strerror(i32 noundef %9209) #11
  %9211 = call ptr @__errno_location() #12
  %9212 = load i32, ptr %9211, align 4, !tbaa !5
  %9213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9200, ptr noundef @.str.5, i32 noundef %9201, ptr noundef @.str.47, ptr noundef @.str.3, i32 noundef 342, ptr noundef %9204, ptr noundef %9207, ptr noundef %9210, i32 noundef %9212) #11
  br label %9214

9214:                                             ; preds = %9197, %9180
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9215

9215:                                             ; preds = %9214
  br label %9216

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

9217:                                             ; No predecessors!
  br label %9218

9218:                                             ; preds = %9217
  br label %9219

9219:                                             ; preds = %9218, %9160
  br label %9220

9220:                                             ; preds = %9219
  br label %9221

9221:                                             ; preds = %9220
  br label %9222

9222:                                             ; preds = %9221
  %9223 = load i32, ptr @test_count, align 4, !tbaa !5
  %9224 = add nsw i32 %9223, 1
  store i32 %9224, ptr @test_count, align 4, !tbaa !5
  %9225 = load ptr, ptr %6, align 8, !tbaa !9
  %9226 = getelementptr inbounds %struct.s2n_connection, ptr %9225, i32 0, i32 41
  %9227 = getelementptr inbounds %struct.s2n_stuffer, ptr %9226, i32 0, i32 0
  %9228 = getelementptr inbounds %struct.s2n_blob, ptr %9227, i32 0, i32 0
  %9229 = load ptr, ptr %9228, align 8, !tbaa !53
  %9230 = getelementptr inbounds i8, ptr %9229, i64 16
  %9231 = getelementptr inbounds i8, ptr %9230, i64 5
  %9232 = load i32, ptr %163, align 4, !tbaa !5
  %9233 = sext i32 %9232 to i64
  %9234 = getelementptr inbounds i8, ptr %9231, i64 %9233
  %9235 = getelementptr inbounds [20 x i8], ptr %189, i64 0, i64 0
  %9236 = call i32 @s2n_hmac_digest_verify(ptr noundef %9234, ptr noundef %9235, i32 noundef 20)
  %9237 = icmp eq i32 %9236, -1
  br i1 %9237, label %9238, label %9291

9238:                                             ; preds = %9222
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %9241 = call ptr @__errno_location() #12
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  store i32 %9242, ptr %191, align 4, !tbaa !5
  %9243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9244 = call i32 @s2n_print_stacktrace(ptr noundef %9243)
  %9245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9246 = trunc i8 %9245 to i1
  br i1 %9246, label %9247, label %9269

9247:                                             ; preds = %9240
  %9248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9249 = call i32 @fileno(ptr noundef %9248) #11
  %9250 = call i32 @isatty(i32 noundef %9249) #11
  %9251 = icmp ne i32 %9250, 0
  br i1 %9251, label %9252, label %9269

9252:                                             ; preds = %9247
  %9253 = load i32, ptr %191, align 4, !tbaa !5
  %9254 = call ptr @__errno_location() #12
  store i32 %9253, ptr %9254, align 4, !tbaa !5
  %9255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9256 = load i32, ptr @test_count, align 4, !tbaa !5
  %9257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call ptr @s2n_strerror(i32 noundef %9258, ptr noundef @.str.4)
  %9260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  %9262 = call ptr @s2n_strerror_debug(i32 noundef %9261, ptr noundef @.str.4)
  %9263 = call ptr @__errno_location() #12
  %9264 = load i32, ptr %9263, align 4, !tbaa !5
  %9265 = call ptr @strerror(i32 noundef %9264) #11
  %9266 = call ptr @__errno_location() #12
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9255, ptr noundef @.str.1, i32 noundef %9256, ptr noundef @.str.66, ptr noundef @.str.3, i32 noundef 343, ptr noundef %9259, ptr noundef %9262, ptr noundef %9265, i32 noundef %9267) #11
  br label %9286

9269:                                             ; preds = %9247, %9240
  %9270 = load i32, ptr %191, align 4, !tbaa !5
  %9271 = call ptr @__errno_location() #12
  store i32 %9270, ptr %9271, align 4, !tbaa !5
  %9272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9273 = load i32, ptr @test_count, align 4, !tbaa !5
  %9274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call ptr @s2n_strerror(i32 noundef %9275, ptr noundef @.str.4)
  %9277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9278 = load i32, ptr %9277, align 4, !tbaa !5
  %9279 = call ptr @s2n_strerror_debug(i32 noundef %9278, ptr noundef @.str.4)
  %9280 = call ptr @__errno_location() #12
  %9281 = load i32, ptr %9280, align 4, !tbaa !5
  %9282 = call ptr @strerror(i32 noundef %9281) #11
  %9283 = call ptr @__errno_location() #12
  %9284 = load i32, ptr %9283, align 4, !tbaa !5
  %9285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9272, ptr noundef @.str.5, i32 noundef %9273, ptr noundef @.str.66, ptr noundef @.str.3, i32 noundef 343, ptr noundef %9276, ptr noundef %9279, ptr noundef %9282, i32 noundef %9284) #11
  br label %9286

9286:                                             ; preds = %9269, %9252
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %9287

9287:                                             ; preds = %9286
  br label %9288

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

9289:                                             ; No predecessors!
  br label %9290

9290:                                             ; preds = %9289
  br label %9291

9291:                                             ; preds = %9290, %9222
  br label %9292

9292:                                             ; preds = %9291
  br label %9293

9293:                                             ; preds = %9292
  br label %9294

9294:                                             ; preds = %9293
  %9295 = load i32, ptr @test_count, align 4, !tbaa !5
  %9296 = add nsw i32 %9295, 1
  store i32 %9296, ptr @test_count, align 4, !tbaa !5
  %9297 = load ptr, ptr %6, align 8, !tbaa !9
  %9298 = getelementptr inbounds %struct.s2n_connection, ptr %9297, i32 0, i32 40
  %9299 = call i32 @s2n_stuffer_wipe(ptr noundef %9298)
  %9300 = icmp eq i32 %9299, -1
  br i1 %9300, label %9301, label %9354

9301:                                             ; preds = %9294
  br label %9302

9302:                                             ; preds = %9301
  br label %9303

9303:                                             ; preds = %9302
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9304 = call ptr @__errno_location() #12
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  store i32 %9305, ptr %192, align 4, !tbaa !5
  %9306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9307 = call i32 @s2n_print_stacktrace(ptr noundef %9306)
  %9308 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9309 = trunc i8 %9308 to i1
  br i1 %9309, label %9310, label %9332

9310:                                             ; preds = %9303
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = call i32 @fileno(ptr noundef %9311) #11
  %9313 = call i32 @isatty(i32 noundef %9312) #11
  %9314 = icmp ne i32 %9313, 0
  br i1 %9314, label %9315, label %9332

9315:                                             ; preds = %9310
  %9316 = load i32, ptr %192, align 4, !tbaa !5
  %9317 = call ptr @__errno_location() #12
  store i32 %9316, ptr %9317, align 4, !tbaa !5
  %9318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9319 = load i32, ptr @test_count, align 4, !tbaa !5
  %9320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9321 = load i32, ptr %9320, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror(i32 noundef %9321, ptr noundef @.str.4)
  %9323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9324 = load i32, ptr %9323, align 4, !tbaa !5
  %9325 = call ptr @s2n_strerror_debug(i32 noundef %9324, ptr noundef @.str.4)
  %9326 = call ptr @__errno_location() #12
  %9327 = load i32, ptr %9326, align 4, !tbaa !5
  %9328 = call ptr @strerror(i32 noundef %9327) #11
  %9329 = call ptr @__errno_location() #12
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  %9331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9318, ptr noundef @.str.1, i32 noundef %9319, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 344, ptr noundef %9322, ptr noundef %9325, ptr noundef %9328, i32 noundef %9330) #11
  br label %9349

9332:                                             ; preds = %9310, %9303
  %9333 = load i32, ptr %192, align 4, !tbaa !5
  %9334 = call ptr @__errno_location() #12
  store i32 %9333, ptr %9334, align 4, !tbaa !5
  %9335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9336 = load i32, ptr @test_count, align 4, !tbaa !5
  %9337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror(i32 noundef %9338, ptr noundef @.str.4)
  %9340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9341 = load i32, ptr %9340, align 4, !tbaa !5
  %9342 = call ptr @s2n_strerror_debug(i32 noundef %9341, ptr noundef @.str.4)
  %9343 = call ptr @__errno_location() #12
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call ptr @strerror(i32 noundef %9344) #11
  %9346 = call ptr @__errno_location() #12
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  %9348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9335, ptr noundef @.str.5, i32 noundef %9336, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 344, ptr noundef %9339, ptr noundef %9342, ptr noundef %9345, i32 noundef %9347) #11
  br label %9349

9349:                                             ; preds = %9332, %9315
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9350

9350:                                             ; preds = %9349
  br label %9351

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

9352:                                             ; No predecessors!
  br label %9353

9353:                                             ; preds = %9352
  br label %9354

9354:                                             ; preds = %9353, %9294
  br label %9355

9355:                                             ; preds = %9354
  br label %9356

9356:                                             ; preds = %9355
  br label %9357

9357:                                             ; preds = %9356
  %9358 = load i32, ptr @test_count, align 4, !tbaa !5
  %9359 = add nsw i32 %9358, 1
  store i32 %9359, ptr @test_count, align 4, !tbaa !5
  %9360 = load ptr, ptr %6, align 8, !tbaa !9
  %9361 = getelementptr inbounds %struct.s2n_connection, ptr %9360, i32 0, i32 38
  %9362 = call i32 @s2n_stuffer_wipe(ptr noundef %9361)
  %9363 = icmp eq i32 %9362, -1
  br i1 %9363, label %9364, label %9417

9364:                                             ; preds = %9357
  br label %9365

9365:                                             ; preds = %9364
  br label %9366

9366:                                             ; preds = %9365
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9367 = call ptr @__errno_location() #12
  %9368 = load i32, ptr %9367, align 4, !tbaa !5
  store i32 %9368, ptr %193, align 4, !tbaa !5
  %9369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9370 = call i32 @s2n_print_stacktrace(ptr noundef %9369)
  %9371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9372 = trunc i8 %9371 to i1
  br i1 %9372, label %9373, label %9395

9373:                                             ; preds = %9366
  %9374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9375 = call i32 @fileno(ptr noundef %9374) #11
  %9376 = call i32 @isatty(i32 noundef %9375) #11
  %9377 = icmp ne i32 %9376, 0
  br i1 %9377, label %9378, label %9395

9378:                                             ; preds = %9373
  %9379 = load i32, ptr %193, align 4, !tbaa !5
  %9380 = call ptr @__errno_location() #12
  store i32 %9379, ptr %9380, align 4, !tbaa !5
  %9381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9382 = load i32, ptr @test_count, align 4, !tbaa !5
  %9383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call ptr @s2n_strerror(i32 noundef %9384, ptr noundef @.str.4)
  %9386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call ptr @s2n_strerror_debug(i32 noundef %9387, ptr noundef @.str.4)
  %9389 = call ptr @__errno_location() #12
  %9390 = load i32, ptr %9389, align 4, !tbaa !5
  %9391 = call ptr @strerror(i32 noundef %9390) #11
  %9392 = call ptr @__errno_location() #12
  %9393 = load i32, ptr %9392, align 4, !tbaa !5
  %9394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9381, ptr noundef @.str.1, i32 noundef %9382, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 345, ptr noundef %9385, ptr noundef %9388, ptr noundef %9391, i32 noundef %9393) #11
  br label %9412

9395:                                             ; preds = %9373, %9366
  %9396 = load i32, ptr %193, align 4, !tbaa !5
  %9397 = call ptr @__errno_location() #12
  store i32 %9396, ptr %9397, align 4, !tbaa !5
  %9398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9399 = load i32, ptr @test_count, align 4, !tbaa !5
  %9400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = call ptr @s2n_strerror(i32 noundef %9401, ptr noundef @.str.4)
  %9403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  %9405 = call ptr @s2n_strerror_debug(i32 noundef %9404, ptr noundef @.str.4)
  %9406 = call ptr @__errno_location() #12
  %9407 = load i32, ptr %9406, align 4, !tbaa !5
  %9408 = call ptr @strerror(i32 noundef %9407) #11
  %9409 = call ptr @__errno_location() #12
  %9410 = load i32, ptr %9409, align 4, !tbaa !5
  %9411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9398, ptr noundef @.str.5, i32 noundef %9399, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 345, ptr noundef %9402, ptr noundef %9405, ptr noundef %9408, i32 noundef %9410) #11
  br label %9412

9412:                                             ; preds = %9395, %9378
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9413

9413:                                             ; preds = %9412
  br label %9414

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

9415:                                             ; No predecessors!
  br label %9416

9416:                                             ; preds = %9415
  br label %9417

9417:                                             ; preds = %9416, %9357
  br label %9418

9418:                                             ; preds = %9417
  br label %9419

9419:                                             ; preds = %9418
  br label %9420

9420:                                             ; preds = %9419
  %9421 = load i32, ptr @test_count, align 4, !tbaa !5
  %9422 = add nsw i32 %9421, 1
  store i32 %9422, ptr @test_count, align 4, !tbaa !5
  %9423 = load ptr, ptr %6, align 8, !tbaa !9
  %9424 = getelementptr inbounds %struct.s2n_connection, ptr %9423, i32 0, i32 41
  %9425 = load ptr, ptr %6, align 8, !tbaa !9
  %9426 = getelementptr inbounds %struct.s2n_connection, ptr %9425, i32 0, i32 38
  %9427 = call i32 @s2n_stuffer_copy(ptr noundef %9424, ptr noundef %9426, i32 noundef 5)
  %9428 = icmp eq i32 %9427, -1
  br i1 %9428, label %9429, label %9482

9429:                                             ; preds = %9420
  br label %9430

9430:                                             ; preds = %9429
  br label %9431

9431:                                             ; preds = %9430
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %9432 = call ptr @__errno_location() #12
  %9433 = load i32, ptr %9432, align 4, !tbaa !5
  store i32 %9433, ptr %194, align 4, !tbaa !5
  %9434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9435 = call i32 @s2n_print_stacktrace(ptr noundef %9434)
  %9436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9437 = trunc i8 %9436 to i1
  br i1 %9437, label %9438, label %9460

9438:                                             ; preds = %9431
  %9439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9440 = call i32 @fileno(ptr noundef %9439) #11
  %9441 = call i32 @isatty(i32 noundef %9440) #11
  %9442 = icmp ne i32 %9441, 0
  br i1 %9442, label %9443, label %9460

9443:                                             ; preds = %9438
  %9444 = load i32, ptr %194, align 4, !tbaa !5
  %9445 = call ptr @__errno_location() #12
  store i32 %9444, ptr %9445, align 4, !tbaa !5
  %9446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9447 = load i32, ptr @test_count, align 4, !tbaa !5
  %9448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9449 = load i32, ptr %9448, align 4, !tbaa !5
  %9450 = call ptr @s2n_strerror(i32 noundef %9449, ptr noundef @.str.4)
  %9451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9452 = load i32, ptr %9451, align 4, !tbaa !5
  %9453 = call ptr @s2n_strerror_debug(i32 noundef %9452, ptr noundef @.str.4)
  %9454 = call ptr @__errno_location() #12
  %9455 = load i32, ptr %9454, align 4, !tbaa !5
  %9456 = call ptr @strerror(i32 noundef %9455) #11
  %9457 = call ptr @__errno_location() #12
  %9458 = load i32, ptr %9457, align 4, !tbaa !5
  %9459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9446, ptr noundef @.str.1, i32 noundef %9447, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 346, ptr noundef %9450, ptr noundef %9453, ptr noundef %9456, i32 noundef %9458) #11
  br label %9477

9460:                                             ; preds = %9438, %9431
  %9461 = load i32, ptr %194, align 4, !tbaa !5
  %9462 = call ptr @__errno_location() #12
  store i32 %9461, ptr %9462, align 4, !tbaa !5
  %9463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9464 = load i32, ptr @test_count, align 4, !tbaa !5
  %9465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  %9467 = call ptr @s2n_strerror(i32 noundef %9466, ptr noundef @.str.4)
  %9468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9469 = load i32, ptr %9468, align 4, !tbaa !5
  %9470 = call ptr @s2n_strerror_debug(i32 noundef %9469, ptr noundef @.str.4)
  %9471 = call ptr @__errno_location() #12
  %9472 = load i32, ptr %9471, align 4, !tbaa !5
  %9473 = call ptr @strerror(i32 noundef %9472) #11
  %9474 = call ptr @__errno_location() #12
  %9475 = load i32, ptr %9474, align 4, !tbaa !5
  %9476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9463, ptr noundef @.str.5, i32 noundef %9464, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 346, ptr noundef %9467, ptr noundef %9470, ptr noundef %9473, i32 noundef %9475) #11
  br label %9477

9477:                                             ; preds = %9460, %9443
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %9478

9478:                                             ; preds = %9477
  br label %9479

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

9480:                                             ; No predecessors!
  br label %9481

9481:                                             ; preds = %9480
  br label %9482

9482:                                             ; preds = %9481, %9420
  br label %9483

9483:                                             ; preds = %9482
  br label %9484

9484:                                             ; preds = %9483
  br label %9485

9485:                                             ; preds = %9484
  %9486 = load i32, ptr @test_count, align 4, !tbaa !5
  %9487 = add nsw i32 %9486, 1
  store i32 %9487, ptr @test_count, align 4, !tbaa !5
  %9488 = load ptr, ptr %6, align 8, !tbaa !9
  %9489 = getelementptr inbounds %struct.s2n_connection, ptr %9488, i32 0, i32 41
  %9490 = load ptr, ptr %6, align 8, !tbaa !9
  %9491 = getelementptr inbounds %struct.s2n_connection, ptr %9490, i32 0, i32 40
  %9492 = load ptr, ptr %6, align 8, !tbaa !9
  %9493 = getelementptr inbounds %struct.s2n_connection, ptr %9492, i32 0, i32 41
  %9494 = getelementptr inbounds %struct.s2n_stuffer, ptr %9493, i32 0, i32 2
  %9495 = load i32, ptr %9494, align 4, !tbaa !55
  %9496 = load ptr, ptr %6, align 8, !tbaa !9
  %9497 = getelementptr inbounds %struct.s2n_connection, ptr %9496, i32 0, i32 41
  %9498 = getelementptr inbounds %struct.s2n_stuffer, ptr %9497, i32 0, i32 1
  %9499 = load i32, ptr %9498, align 8, !tbaa !56
  %9500 = sub i32 %9495, %9499
  %9501 = call i32 @s2n_stuffer_copy(ptr noundef %9489, ptr noundef %9491, i32 noundef %9500)
  %9502 = icmp eq i32 %9501, -1
  br i1 %9502, label %9503, label %9556

9503:                                             ; preds = %9485
  br label %9504

9504:                                             ; preds = %9503
  br label %9505

9505:                                             ; preds = %9504
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %9506 = call ptr @__errno_location() #12
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  store i32 %9507, ptr %195, align 4, !tbaa !5
  %9508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9509 = call i32 @s2n_print_stacktrace(ptr noundef %9508)
  %9510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9511 = trunc i8 %9510 to i1
  br i1 %9511, label %9512, label %9534

9512:                                             ; preds = %9505
  %9513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9514 = call i32 @fileno(ptr noundef %9513) #11
  %9515 = call i32 @isatty(i32 noundef %9514) #11
  %9516 = icmp ne i32 %9515, 0
  br i1 %9516, label %9517, label %9534

9517:                                             ; preds = %9512
  %9518 = load i32, ptr %195, align 4, !tbaa !5
  %9519 = call ptr @__errno_location() #12
  store i32 %9518, ptr %9519, align 4, !tbaa !5
  %9520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9521 = load i32, ptr @test_count, align 4, !tbaa !5
  %9522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9523 = load i32, ptr %9522, align 4, !tbaa !5
  %9524 = call ptr @s2n_strerror(i32 noundef %9523, ptr noundef @.str.4)
  %9525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9526 = load i32, ptr %9525, align 4, !tbaa !5
  %9527 = call ptr @s2n_strerror_debug(i32 noundef %9526, ptr noundef @.str.4)
  %9528 = call ptr @__errno_location() #12
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call ptr @strerror(i32 noundef %9529) #11
  %9531 = call ptr @__errno_location() #12
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9520, ptr noundef @.str.1, i32 noundef %9521, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 347, ptr noundef %9524, ptr noundef %9527, ptr noundef %9530, i32 noundef %9532) #11
  br label %9551

9534:                                             ; preds = %9512, %9505
  %9535 = load i32, ptr %195, align 4, !tbaa !5
  %9536 = call ptr @__errno_location() #12
  store i32 %9535, ptr %9536, align 4, !tbaa !5
  %9537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9538 = load i32, ptr @test_count, align 4, !tbaa !5
  %9539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror(i32 noundef %9540, ptr noundef @.str.4)
  %9542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call ptr @s2n_strerror_debug(i32 noundef %9543, ptr noundef @.str.4)
  %9545 = call ptr @__errno_location() #12
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call ptr @strerror(i32 noundef %9546) #11
  %9548 = call ptr @__errno_location() #12
  %9549 = load i32, ptr %9548, align 4, !tbaa !5
  %9550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9537, ptr noundef @.str.5, i32 noundef %9538, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 347, ptr noundef %9541, ptr noundef %9544, ptr noundef %9547, i32 noundef %9549) #11
  br label %9551

9551:                                             ; preds = %9534, %9517
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %9552

9552:                                             ; preds = %9551
  br label %9553

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

9554:                                             ; No predecessors!
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

9556:                                             ; preds = %9555, %9485
  br label %9557

9557:                                             ; preds = %9556
  br label %9558

9558:                                             ; preds = %9557
  call void @llvm.lifetime.start.p0(i64 1, ptr %196) #11
  store i8 0, ptr %196, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %197) #11
  store i16 0, ptr %197, align 2, !tbaa !57
  br label %9559

9559:                                             ; preds = %9558
  %9560 = load i32, ptr @test_count, align 4, !tbaa !5
  %9561 = add nsw i32 %9560, 1
  store i32 %9561, ptr @test_count, align 4, !tbaa !5
  %9562 = load ptr, ptr %6, align 8, !tbaa !9
  %9563 = call i32 @s2n_record_header_parse(ptr noundef %9562, ptr noundef %196, ptr noundef %197)
  %9564 = icmp eq i32 %9563, -1
  br i1 %9564, label %9565, label %9618

9565:                                             ; preds = %9559
  br label %9566

9566:                                             ; preds = %9565
  br label %9567

9567:                                             ; preds = %9566
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %9568 = call ptr @__errno_location() #12
  %9569 = load i32, ptr %9568, align 4, !tbaa !5
  store i32 %9569, ptr %198, align 4, !tbaa !5
  %9570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9571 = call i32 @s2n_print_stacktrace(ptr noundef %9570)
  %9572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9573 = trunc i8 %9572 to i1
  br i1 %9573, label %9574, label %9596

9574:                                             ; preds = %9567
  %9575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9576 = call i32 @fileno(ptr noundef %9575) #11
  %9577 = call i32 @isatty(i32 noundef %9576) #11
  %9578 = icmp ne i32 %9577, 0
  br i1 %9578, label %9579, label %9596

9579:                                             ; preds = %9574
  %9580 = load i32, ptr %198, align 4, !tbaa !5
  %9581 = call ptr @__errno_location() #12
  store i32 %9580, ptr %9581, align 4, !tbaa !5
  %9582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9583 = load i32, ptr @test_count, align 4, !tbaa !5
  %9584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9585 = load i32, ptr %9584, align 4, !tbaa !5
  %9586 = call ptr @s2n_strerror(i32 noundef %9585, ptr noundef @.str.4)
  %9587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9588 = load i32, ptr %9587, align 4, !tbaa !5
  %9589 = call ptr @s2n_strerror_debug(i32 noundef %9588, ptr noundef @.str.4)
  %9590 = call ptr @__errno_location() #12
  %9591 = load i32, ptr %9590, align 4, !tbaa !5
  %9592 = call ptr @strerror(i32 noundef %9591) #11
  %9593 = call ptr @__errno_location() #12
  %9594 = load i32, ptr %9593, align 4, !tbaa !5
  %9595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9582, ptr noundef @.str.1, i32 noundef %9583, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 351, ptr noundef %9586, ptr noundef %9589, ptr noundef %9592, i32 noundef %9594) #11
  br label %9613

9596:                                             ; preds = %9574, %9567
  %9597 = load i32, ptr %198, align 4, !tbaa !5
  %9598 = call ptr @__errno_location() #12
  store i32 %9597, ptr %9598, align 4, !tbaa !5
  %9599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9600 = load i32, ptr @test_count, align 4, !tbaa !5
  %9601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9602 = load i32, ptr %9601, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror(i32 noundef %9602, ptr noundef @.str.4)
  %9604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9605 = load i32, ptr %9604, align 4, !tbaa !5
  %9606 = call ptr @s2n_strerror_debug(i32 noundef %9605, ptr noundef @.str.4)
  %9607 = call ptr @__errno_location() #12
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  %9609 = call ptr @strerror(i32 noundef %9608) #11
  %9610 = call ptr @__errno_location() #12
  %9611 = load i32, ptr %9610, align 4, !tbaa !5
  %9612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9599, ptr noundef @.str.5, i32 noundef %9600, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 351, ptr noundef %9603, ptr noundef %9606, ptr noundef %9609, i32 noundef %9611) #11
  br label %9613

9613:                                             ; preds = %9596, %9579
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %9614

9614:                                             ; preds = %9613
  br label %9615

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

9616:                                             ; No predecessors!
  br label %9617

9617:                                             ; preds = %9616
  br label %9618

9618:                                             ; preds = %9617, %9559
  br label %9619

9619:                                             ; preds = %9618
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  %9622 = load i32, ptr @test_count, align 4, !tbaa !5
  %9623 = add nsw i32 %9622, 1
  store i32 %9623, ptr @test_count, align 4, !tbaa !5
  %9624 = load ptr, ptr %6, align 8, !tbaa !9
  %9625 = call i32 @s2n_record_parse(ptr noundef %9624)
  %9626 = icmp eq i32 %9625, -1
  br i1 %9626, label %9627, label %9680

9627:                                             ; preds = %9621
  br label %9628

9628:                                             ; preds = %9627
  br label %9629

9629:                                             ; preds = %9628
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %9630 = call ptr @__errno_location() #12
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  store i32 %9631, ptr %199, align 4, !tbaa !5
  %9632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9633 = call i32 @s2n_print_stacktrace(ptr noundef %9632)
  %9634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9635 = trunc i8 %9634 to i1
  br i1 %9635, label %9636, label %9658

9636:                                             ; preds = %9629
  %9637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9638 = call i32 @fileno(ptr noundef %9637) #11
  %9639 = call i32 @isatty(i32 noundef %9638) #11
  %9640 = icmp ne i32 %9639, 0
  br i1 %9640, label %9641, label %9658

9641:                                             ; preds = %9636
  %9642 = load i32, ptr %199, align 4, !tbaa !5
  %9643 = call ptr @__errno_location() #12
  store i32 %9642, ptr %9643, align 4, !tbaa !5
  %9644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9645 = load i32, ptr @test_count, align 4, !tbaa !5
  %9646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call ptr @s2n_strerror(i32 noundef %9647, ptr noundef @.str.4)
  %9649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call ptr @s2n_strerror_debug(i32 noundef %9650, ptr noundef @.str.4)
  %9652 = call ptr @__errno_location() #12
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @strerror(i32 noundef %9653) #11
  %9655 = call ptr @__errno_location() #12
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9644, ptr noundef @.str.1, i32 noundef %9645, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 352, ptr noundef %9648, ptr noundef %9651, ptr noundef %9654, i32 noundef %9656) #11
  br label %9675

9658:                                             ; preds = %9636, %9629
  %9659 = load i32, ptr %199, align 4, !tbaa !5
  %9660 = call ptr @__errno_location() #12
  store i32 %9659, ptr %9660, align 4, !tbaa !5
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = load i32, ptr @test_count, align 4, !tbaa !5
  %9663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @s2n_strerror(i32 noundef %9664, ptr noundef @.str.4)
  %9666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call ptr @s2n_strerror_debug(i32 noundef %9667, ptr noundef @.str.4)
  %9669 = call ptr @__errno_location() #12
  %9670 = load i32, ptr %9669, align 4, !tbaa !5
  %9671 = call ptr @strerror(i32 noundef %9670) #11
  %9672 = call ptr @__errno_location() #12
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  %9674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9661, ptr noundef @.str.5, i32 noundef %9662, ptr noundef @.str.34, ptr noundef @.str.3, i32 noundef 352, ptr noundef %9665, ptr noundef %9668, ptr noundef %9671, i32 noundef %9673) #11
  br label %9675

9675:                                             ; preds = %9658, %9641
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %9676

9676:                                             ; preds = %9675
  br label %9677

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

9678:                                             ; No predecessors!
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679, %9621
  br label %9681

9681:                                             ; preds = %9680
  br label %9682

9682:                                             ; preds = %9681
  br label %9683

9683:                                             ; preds = %9682
  %9684 = load i32, ptr @test_count, align 4, !tbaa !5
  %9685 = add nsw i32 %9684, 1
  store i32 %9685, ptr @test_count, align 4, !tbaa !5
  %9686 = load i8, ptr %196, align 1, !tbaa !54
  %9687 = zext i8 %9686 to i32
  %9688 = icmp eq i32 %9687, 23
  br i1 %9688, label %9742, label %9689

9689:                                             ; preds = %9683
  br label %9690

9690:                                             ; preds = %9689
  br label %9691

9691:                                             ; preds = %9690
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %9692 = call ptr @__errno_location() #12
  %9693 = load i32, ptr %9692, align 4, !tbaa !5
  store i32 %9693, ptr %200, align 4, !tbaa !5
  %9694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9695 = call i32 @s2n_print_stacktrace(ptr noundef %9694)
  %9696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9697 = trunc i8 %9696 to i1
  br i1 %9697, label %9698, label %9720

9698:                                             ; preds = %9691
  %9699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9700 = call i32 @fileno(ptr noundef %9699) #11
  %9701 = call i32 @isatty(i32 noundef %9700) #11
  %9702 = icmp ne i32 %9701, 0
  br i1 %9702, label %9703, label %9720

9703:                                             ; preds = %9698
  %9704 = load i32, ptr %200, align 4, !tbaa !5
  %9705 = call ptr @__errno_location() #12
  store i32 %9704, ptr %9705, align 4, !tbaa !5
  %9706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9707 = load i32, ptr @test_count, align 4, !tbaa !5
  %9708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call ptr @s2n_strerror(i32 noundef %9709, ptr noundef @.str.4)
  %9711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9712 = load i32, ptr %9711, align 4, !tbaa !5
  %9713 = call ptr @s2n_strerror_debug(i32 noundef %9712, ptr noundef @.str.4)
  %9714 = call ptr @__errno_location() #12
  %9715 = load i32, ptr %9714, align 4, !tbaa !5
  %9716 = call ptr @strerror(i32 noundef %9715) #11
  %9717 = call ptr @__errno_location() #12
  %9718 = load i32, ptr %9717, align 4, !tbaa !5
  %9719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9706, ptr noundef @.str.1, i32 noundef %9707, ptr noundef @.str.62, ptr noundef @.str.3, i32 noundef 353, ptr noundef %9710, ptr noundef %9713, ptr noundef %9716, i32 noundef %9718) #11
  br label %9737

9720:                                             ; preds = %9698, %9691
  %9721 = load i32, ptr %200, align 4, !tbaa !5
  %9722 = call ptr @__errno_location() #12
  store i32 %9721, ptr %9722, align 4, !tbaa !5
  %9723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9724 = load i32, ptr @test_count, align 4, !tbaa !5
  %9725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9726 = load i32, ptr %9725, align 4, !tbaa !5
  %9727 = call ptr @s2n_strerror(i32 noundef %9726, ptr noundef @.str.4)
  %9728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9729 = load i32, ptr %9728, align 4, !tbaa !5
  %9730 = call ptr @s2n_strerror_debug(i32 noundef %9729, ptr noundef @.str.4)
  %9731 = call ptr @__errno_location() #12
  %9732 = load i32, ptr %9731, align 4, !tbaa !5
  %9733 = call ptr @strerror(i32 noundef %9732) #11
  %9734 = call ptr @__errno_location() #12
  %9735 = load i32, ptr %9734, align 4, !tbaa !5
  %9736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9723, ptr noundef @.str.5, i32 noundef %9724, ptr noundef @.str.62, ptr noundef @.str.3, i32 noundef 353, ptr noundef %9727, ptr noundef %9730, ptr noundef %9733, i32 noundef %9735) #11
  br label %9737

9737:                                             ; preds = %9720, %9703
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %9738

9738:                                             ; preds = %9737
  br label %9739

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

9740:                                             ; No predecessors!
  br label %9741

9741:                                             ; preds = %9740
  br label %9742

9742:                                             ; preds = %9741, %9683
  br label %9743

9743:                                             ; preds = %9742
  br label %9744

9744:                                             ; preds = %9743
  br label %9745

9745:                                             ; preds = %9744
  %9746 = load i32, ptr @test_count, align 4, !tbaa !5
  %9747 = add nsw i32 %9746, 1
  store i32 %9747, ptr @test_count, align 4, !tbaa !5
  %9748 = load i16, ptr %197, align 2, !tbaa !57
  %9749 = zext i16 %9748 to i32
  %9750 = load i16, ptr %172, align 2, !tbaa !57
  %9751 = zext i16 %9750 to i32
  %9752 = icmp eq i32 %9749, %9751
  br i1 %9752, label %9806, label %9753

9753:                                             ; preds = %9745
  br label %9754

9754:                                             ; preds = %9753
  br label %9755

9755:                                             ; preds = %9754
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %9756 = call ptr @__errno_location() #12
  %9757 = load i32, ptr %9756, align 4, !tbaa !5
  store i32 %9757, ptr %201, align 4, !tbaa !5
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = call i32 @s2n_print_stacktrace(ptr noundef %9758)
  %9760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9761 = trunc i8 %9760 to i1
  br i1 %9761, label %9762, label %9784

9762:                                             ; preds = %9755
  %9763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9764 = call i32 @fileno(ptr noundef %9763) #11
  %9765 = call i32 @isatty(i32 noundef %9764) #11
  %9766 = icmp ne i32 %9765, 0
  br i1 %9766, label %9767, label %9784

9767:                                             ; preds = %9762
  %9768 = load i32, ptr %201, align 4, !tbaa !5
  %9769 = call ptr @__errno_location() #12
  store i32 %9768, ptr %9769, align 4, !tbaa !5
  %9770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9771 = load i32, ptr @test_count, align 4, !tbaa !5
  %9772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call ptr @s2n_strerror(i32 noundef %9773, ptr noundef @.str.4)
  %9775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @s2n_strerror_debug(i32 noundef %9776, ptr noundef @.str.4)
  %9778 = call ptr @__errno_location() #12
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call ptr @strerror(i32 noundef %9779) #11
  %9781 = call ptr @__errno_location() #12
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9770, ptr noundef @.str.1, i32 noundef %9771, ptr noundef @.str.50, ptr noundef @.str.3, i32 noundef 354, ptr noundef %9774, ptr noundef %9777, ptr noundef %9780, i32 noundef %9782) #11
  br label %9801

9784:                                             ; preds = %9762, %9755
  %9785 = load i32, ptr %201, align 4, !tbaa !5
  %9786 = call ptr @__errno_location() #12
  store i32 %9785, ptr %9786, align 4, !tbaa !5
  %9787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9788 = load i32, ptr @test_count, align 4, !tbaa !5
  %9789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9790 = load i32, ptr %9789, align 4, !tbaa !5
  %9791 = call ptr @s2n_strerror(i32 noundef %9790, ptr noundef @.str.4)
  %9792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9793 = load i32, ptr %9792, align 4, !tbaa !5
  %9794 = call ptr @s2n_strerror_debug(i32 noundef %9793, ptr noundef @.str.4)
  %9795 = call ptr @__errno_location() #12
  %9796 = load i32, ptr %9795, align 4, !tbaa !5
  %9797 = call ptr @strerror(i32 noundef %9796) #11
  %9798 = call ptr @__errno_location() #12
  %9799 = load i32, ptr %9798, align 4, !tbaa !5
  %9800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9787, ptr noundef @.str.5, i32 noundef %9788, ptr noundef @.str.50, ptr noundef @.str.3, i32 noundef 354, ptr noundef %9791, ptr noundef %9794, ptr noundef %9797, i32 noundef %9799) #11
  br label %9801

9801:                                             ; preds = %9784, %9767
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9802

9802:                                             ; preds = %9801
  br label %9803

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

9804:                                             ; No predecessors!
  br label %9805

9805:                                             ; preds = %9804
  br label %9806

9806:                                             ; preds = %9805, %9745
  br label %9807

9807:                                             ; preds = %9806
  br label %9808

9808:                                             ; preds = %9807
  call void @llvm.lifetime.end.p0(i64 2, ptr %197) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %196) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %189) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %184) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %183) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %179) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %172) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %161) #11
  br label %9809

9809:                                             ; preds = %9808
  %9810 = load i32, ptr %160, align 4, !tbaa !5
  %9811 = add nsw i32 %9810, 1
  store i32 %9811, ptr %160, align 4, !tbaa !5
  br label %7761, !llvm.loop !67

9812:                                             ; preds = %7764
  call void @llvm.lifetime.start.p0(i64 24, ptr %202) #11
  call void @llvm.memset.p0.i64(ptr align 8 %202, i8 0, i64 24, i1 false)
  br label %9813

9813:                                             ; preds = %9812
  %9814 = load i32, ptr @test_count, align 4, !tbaa !5
  %9815 = add nsw i32 %9814, 1
  store i32 %9815, ptr @test_count, align 4, !tbaa !5
  %9816 = call i32 @s2n_blob_init(ptr noundef %202, ptr noundef null, i32 noundef 0)
  %9817 = icmp eq i32 %9816, -1
  br i1 %9817, label %9818, label %9871

9818:                                             ; preds = %9813
  br label %9819

9819:                                             ; preds = %9818
  br label %9820

9820:                                             ; preds = %9819
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %9821 = call ptr @__errno_location() #12
  %9822 = load i32, ptr %9821, align 4, !tbaa !5
  store i32 %9822, ptr %203, align 4, !tbaa !5
  %9823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9824 = call i32 @s2n_print_stacktrace(ptr noundef %9823)
  %9825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9826 = trunc i8 %9825 to i1
  br i1 %9826, label %9827, label %9849

9827:                                             ; preds = %9820
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = call i32 @fileno(ptr noundef %9828) #11
  %9830 = call i32 @isatty(i32 noundef %9829) #11
  %9831 = icmp ne i32 %9830, 0
  br i1 %9831, label %9832, label %9849

9832:                                             ; preds = %9827
  %9833 = load i32, ptr %203, align 4, !tbaa !5
  %9834 = call ptr @__errno_location() #12
  store i32 %9833, ptr %9834, align 4, !tbaa !5
  %9835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9836 = load i32, ptr @test_count, align 4, !tbaa !5
  %9837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9838 = load i32, ptr %9837, align 4, !tbaa !5
  %9839 = call ptr @s2n_strerror(i32 noundef %9838, ptr noundef @.str.4)
  %9840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9841 = load i32, ptr %9840, align 4, !tbaa !5
  %9842 = call ptr @s2n_strerror_debug(i32 noundef %9841, ptr noundef @.str.4)
  %9843 = call ptr @__errno_location() #12
  %9844 = load i32, ptr %9843, align 4, !tbaa !5
  %9845 = call ptr @strerror(i32 noundef %9844) #11
  %9846 = call ptr @__errno_location() #12
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9835, ptr noundef @.str.1, i32 noundef %9836, ptr noundef @.str.67, ptr noundef @.str.3, i32 noundef 359, ptr noundef %9839, ptr noundef %9842, ptr noundef %9845, i32 noundef %9847) #11
  br label %9866

9849:                                             ; preds = %9827, %9820
  %9850 = load i32, ptr %203, align 4, !tbaa !5
  %9851 = call ptr @__errno_location() #12
  store i32 %9850, ptr %9851, align 4, !tbaa !5
  %9852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9853 = load i32, ptr @test_count, align 4, !tbaa !5
  %9854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9855 = load i32, ptr %9854, align 4, !tbaa !5
  %9856 = call ptr @s2n_strerror(i32 noundef %9855, ptr noundef @.str.4)
  %9857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9858 = load i32, ptr %9857, align 4, !tbaa !5
  %9859 = call ptr @s2n_strerror_debug(i32 noundef %9858, ptr noundef @.str.4)
  %9860 = call ptr @__errno_location() #12
  %9861 = load i32, ptr %9860, align 4, !tbaa !5
  %9862 = call ptr @strerror(i32 noundef %9861) #11
  %9863 = call ptr @__errno_location() #12
  %9864 = load i32, ptr %9863, align 4, !tbaa !5
  %9865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9852, ptr noundef @.str.5, i32 noundef %9853, ptr noundef @.str.67, ptr noundef @.str.3, i32 noundef 359, ptr noundef %9856, ptr noundef %9859, ptr noundef %9862, i32 noundef %9864) #11
  br label %9866

9866:                                             ; preds = %9849, %9832
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %9867

9867:                                             ; preds = %9866
  br label %9868

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

9869:                                             ; No predecessors!
  br label %9870

9870:                                             ; preds = %9869
  br label %9871

9871:                                             ; preds = %9870, %9813
  br label %9872

9872:                                             ; preds = %9871
  br label %9873

9873:                                             ; preds = %9872
  %9874 = load ptr, ptr %6, align 8, !tbaa !9
  %9875 = getelementptr inbounds %struct.s2n_connection, ptr %9874, i32 0, i32 26
  %9876 = load ptr, ptr %9875, align 8, !tbaa !18
  %9877 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9876, i32 0, i32 0
  store ptr @s2n_null_cipher_suite, ptr %9877, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 8, ptr %204) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %204, ptr align 1 @__const.main.max_num_records, i64 8, i1 false)
  br label %9878

9878:                                             ; preds = %9873
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #11
  store i64 8, ptr %205, align 8, !tbaa !52
  %9879 = load i64, ptr %205, align 8, !tbaa !52
  %9880 = icmp ne i64 %9879, 0
  br i1 %9880, label %9881, label %9944

9881:                                             ; preds = %9878
  %9882 = load ptr, ptr %6, align 8, !tbaa !9
  %9883 = getelementptr inbounds %struct.s2n_connection, ptr %9882, i32 0, i32 26
  %9884 = load ptr, ptr %9883, align 8, !tbaa !18
  %9885 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %9884, i32 0, i32 8
  %9886 = getelementptr inbounds [8 x i8], ptr %9885, i64 0, i64 0
  %9887 = getelementptr inbounds [8 x i8], ptr %204, i64 0, i64 0
  %9888 = load i64, ptr %205, align 8, !tbaa !52
  call void @llvm.memmove.p0.p0.i64(ptr align 8 %9886, ptr align 1 %9887, i64 %9888, i1 false)
  %9889 = icmp eq ptr %9886, null
  br i1 %9889, label %9890, label %9943

9890:                                             ; preds = %9881
  br label %9891

9891:                                             ; preds = %9890
  br label %9892

9892:                                             ; preds = %9891
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9893 = call ptr @__errno_location() #12
  %9894 = load i32, ptr %9893, align 4, !tbaa !5
  store i32 %9894, ptr %206, align 4, !tbaa !5
  %9895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9896 = call i32 @s2n_print_stacktrace(ptr noundef %9895)
  %9897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9898 = trunc i8 %9897 to i1
  br i1 %9898, label %9899, label %9921

9899:                                             ; preds = %9892
  %9900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9901 = call i32 @fileno(ptr noundef %9900) #11
  %9902 = call i32 @isatty(i32 noundef %9901) #11
  %9903 = icmp ne i32 %9902, 0
  br i1 %9903, label %9904, label %9921

9904:                                             ; preds = %9899
  %9905 = load i32, ptr %206, align 4, !tbaa !5
  %9906 = call ptr @__errno_location() #12
  store i32 %9905, ptr %9906, align 4, !tbaa !5
  %9907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9908 = load i32, ptr @test_count, align 4, !tbaa !5
  %9909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror(i32 noundef %9910, ptr noundef @.str.4)
  %9912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9913 = load i32, ptr %9912, align 4, !tbaa !5
  %9914 = call ptr @s2n_strerror_debug(i32 noundef %9913, ptr noundef @.str.4)
  %9915 = call ptr @__errno_location() #12
  %9916 = load i32, ptr %9915, align 4, !tbaa !5
  %9917 = call ptr @strerror(i32 noundef %9916) #11
  %9918 = call ptr @__errno_location() #12
  %9919 = load i32, ptr %9918, align 4, !tbaa !5
  %9920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9907, ptr noundef @.str.1, i32 noundef %9908, ptr noundef @.str.68, ptr noundef @.str.3, i32 noundef 364, ptr noundef %9911, ptr noundef %9914, ptr noundef %9917, i32 noundef %9919) #11
  br label %9938

9921:                                             ; preds = %9899, %9892
  %9922 = load i32, ptr %206, align 4, !tbaa !5
  %9923 = call ptr @__errno_location() #12
  store i32 %9922, ptr %9923, align 4, !tbaa !5
  %9924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9925 = load i32, ptr @test_count, align 4, !tbaa !5
  %9926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call ptr @s2n_strerror(i32 noundef %9927, ptr noundef @.str.4)
  %9929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9930 = load i32, ptr %9929, align 4, !tbaa !5
  %9931 = call ptr @s2n_strerror_debug(i32 noundef %9930, ptr noundef @.str.4)
  %9932 = call ptr @__errno_location() #12
  %9933 = load i32, ptr %9932, align 4, !tbaa !5
  %9934 = call ptr @strerror(i32 noundef %9933) #11
  %9935 = call ptr @__errno_location() #12
  %9936 = load i32, ptr %9935, align 4, !tbaa !5
  %9937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9924, ptr noundef @.str.5, i32 noundef %9925, ptr noundef @.str.68, ptr noundef @.str.3, i32 noundef 364, ptr noundef %9928, ptr noundef %9931, ptr noundef %9934, i32 noundef %9936) #11
  br label %9938

9938:                                             ; preds = %9921, %9904
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9939

9939:                                             ; preds = %9938
  br label %9940

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

9941:                                             ; No predecessors!
  br label %9942

9942:                                             ; preds = %9941
  br label %9943

9943:                                             ; preds = %9942, %9881
  br label %9944

9944:                                             ; preds = %9943, %9878
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #11
  br label %9945

9945:                                             ; preds = %9944
  br label %9946

9946:                                             ; preds = %9945
  br label %9947

9947:                                             ; preds = %9946
  %9948 = load i32, ptr @test_count, align 4, !tbaa !5
  %9949 = add nsw i32 %9948, 1
  store i32 %9949, ptr @test_count, align 4, !tbaa !5
  %9950 = load ptr, ptr %6, align 8, !tbaa !9
  %9951 = getelementptr inbounds %struct.s2n_connection, ptr %9950, i32 0, i32 41
  %9952 = call i32 @s2n_stuffer_wipe(ptr noundef %9951)
  %9953 = icmp eq i32 %9952, -1
  br i1 %9953, label %9954, label %10007

9954:                                             ; preds = %9947
  br label %9955

9955:                                             ; preds = %9954
  br label %9956

9956:                                             ; preds = %9955
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9957 = call ptr @__errno_location() #12
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  store i32 %9958, ptr %207, align 4, !tbaa !5
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @s2n_print_stacktrace(ptr noundef %9959)
  %9961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9962 = trunc i8 %9961 to i1
  br i1 %9962, label %9963, label %9985

9963:                                             ; preds = %9956
  %9964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9965 = call i32 @fileno(ptr noundef %9964) #11
  %9966 = call i32 @isatty(i32 noundef %9965) #11
  %9967 = icmp ne i32 %9966, 0
  br i1 %9967, label %9968, label %9985

9968:                                             ; preds = %9963
  %9969 = load i32, ptr %207, align 4, !tbaa !5
  %9970 = call ptr @__errno_location() #12
  store i32 %9969, ptr %9970, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef @.str.4)
  %9979 = call ptr @__errno_location() #12
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #11
  %9982 = call ptr @__errno_location() #12
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9971, ptr noundef @.str.1, i32 noundef %9972, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 365, ptr noundef %9975, ptr noundef %9978, ptr noundef %9981, i32 noundef %9983) #11
  br label %10002

9985:                                             ; preds = %9963, %9956
  %9986 = load i32, ptr %207, align 4, !tbaa !5
  %9987 = call ptr @__errno_location() #12
  store i32 %9986, ptr %9987, align 4, !tbaa !5
  %9988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9989 = load i32, ptr @test_count, align 4, !tbaa !5
  %9990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9991 = load i32, ptr %9990, align 4, !tbaa !5
  %9992 = call ptr @s2n_strerror(i32 noundef %9991, ptr noundef @.str.4)
  %9993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = call ptr @s2n_strerror_debug(i32 noundef %9994, ptr noundef @.str.4)
  %9996 = call ptr @__errno_location() #12
  %9997 = load i32, ptr %9996, align 4, !tbaa !5
  %9998 = call ptr @strerror(i32 noundef %9997) #11
  %9999 = call ptr @__errno_location() #12
  %10000 = load i32, ptr %9999, align 4, !tbaa !5
  %10001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9988, ptr noundef @.str.5, i32 noundef %9989, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 365, ptr noundef %9992, ptr noundef %9995, ptr noundef %9998, i32 noundef %10000) #11
  br label %10002

10002:                                            ; preds = %9985, %9968
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

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

10005:                                            ; No predecessors!
  br label %10006

10006:                                            ; preds = %10005
  br label %10007

10007:                                            ; preds = %10006, %9947
  br label %10008

10008:                                            ; preds = %10007
  br label %10009

10009:                                            ; preds = %10008
  br label %10010

10010:                                            ; preds = %10009
  br label %10011

10011:                                            ; preds = %10010
  br label %10012

10012:                                            ; preds = %10011
  %10013 = load i32, ptr @test_count, align 4, !tbaa !5
  %10014 = add nsw i32 %10013, 1
  store i32 %10014, ptr @test_count, align 4, !tbaa !5
  %10015 = load ptr, ptr %6, align 8, !tbaa !9
  %10016 = call i32 @s2n_record_write(ptr noundef %10015, i8 noundef zeroext 21, ptr noundef %202)
  %10017 = getelementptr inbounds %struct.s2n_result, ptr %208, i32 0, i32 0
  store i32 %10016, ptr %10017, align 4
  %10018 = getelementptr inbounds %struct.s2n_result, ptr %208, i32 0, i32 0
  %10019 = load i32, ptr %10018, align 4
  %10020 = call zeroext i1 @s2n_result_is_error(i32 %10019)
  br i1 %10020, label %10074, label %10021

10021:                                            ; preds = %10012
  br label %10022

10022:                                            ; preds = %10021
  br label %10023

10023:                                            ; preds = %10022
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %10024 = call ptr @__errno_location() #12
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  store i32 %10025, ptr %209, align 4, !tbaa !5
  %10026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10027 = call i32 @s2n_print_stacktrace(ptr noundef %10026)
  %10028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10029 = trunc i8 %10028 to i1
  br i1 %10029, label %10030, label %10052

10030:                                            ; preds = %10023
  %10031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10032 = call i32 @fileno(ptr noundef %10031) #11
  %10033 = call i32 @isatty(i32 noundef %10032) #11
  %10034 = icmp ne i32 %10033, 0
  br i1 %10034, label %10035, label %10052

10035:                                            ; preds = %10030
  %10036 = load i32, ptr %209, align 4, !tbaa !5
  %10037 = call ptr @__errno_location() #12
  store i32 %10036, ptr %10037, align 4, !tbaa !5
  %10038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10039 = load i32, ptr @test_count, align 4, !tbaa !5
  %10040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @s2n_strerror(i32 noundef %10041, ptr noundef @.str.4)
  %10043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call ptr @s2n_strerror_debug(i32 noundef %10044, ptr noundef @.str.4)
  %10046 = call ptr @__errno_location() #12
  %10047 = load i32, ptr %10046, align 4, !tbaa !5
  %10048 = call ptr @strerror(i32 noundef %10047) #11
  %10049 = call ptr @__errno_location() #12
  %10050 = load i32, ptr %10049, align 4, !tbaa !5
  %10051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10038, ptr noundef @.str.1, i32 noundef %10039, ptr noundef @.str.69, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10042, ptr noundef %10045, ptr noundef %10048, i32 noundef %10050) #11
  br label %10069

10052:                                            ; preds = %10030, %10023
  %10053 = load i32, ptr %209, align 4, !tbaa !5
  %10054 = call ptr @__errno_location() #12
  store i32 %10053, ptr %10054, align 4, !tbaa !5
  %10055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10056 = load i32, ptr @test_count, align 4, !tbaa !5
  %10057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror(i32 noundef %10058, ptr noundef @.str.4)
  %10060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10061 = load i32, ptr %10060, align 4, !tbaa !5
  %10062 = call ptr @s2n_strerror_debug(i32 noundef %10061, ptr noundef @.str.4)
  %10063 = call ptr @__errno_location() #12
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  %10065 = call ptr @strerror(i32 noundef %10064) #11
  %10066 = call ptr @__errno_location() #12
  %10067 = load i32, ptr %10066, align 4, !tbaa !5
  %10068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10055, ptr noundef @.str.5, i32 noundef %10056, ptr noundef @.str.69, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10059, ptr noundef %10062, ptr noundef %10065, i32 noundef %10067) #11
  br label %10069

10069:                                            ; preds = %10052, %10035
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %10070

10070:                                            ; preds = %10069
  br label %10071

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

10072:                                            ; No predecessors!
  br label %10073

10073:                                            ; preds = %10072
  br label %10074

10074:                                            ; preds = %10073, %10012
  br label %10075

10075:                                            ; preds = %10074
  br label %10076

10076:                                            ; preds = %10075
  br label %10077

10077:                                            ; preds = %10076
  %10078 = load i32, ptr @test_count, align 4, !tbaa !5
  %10079 = add nsw i32 %10078, 1
  store i32 %10079, ptr @test_count, align 4, !tbaa !5
  %10080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10081 = load i32, ptr %10080, align 4, !tbaa !5
  %10082 = icmp eq i32 %10081, 335544365
  br i1 %10082, label %10136, label %10083

10083:                                            ; preds = %10077
  br label %10084

10084:                                            ; preds = %10083
  br label %10085

10085:                                            ; preds = %10084
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %10086 = call ptr @__errno_location() #12
  %10087 = load i32, ptr %10086, align 4, !tbaa !5
  store i32 %10087, ptr %210, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = call i32 @s2n_print_stacktrace(ptr noundef %10088)
  %10090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10091 = trunc i8 %10090 to i1
  br i1 %10091, label %10092, label %10114

10092:                                            ; preds = %10085
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = call i32 @fileno(ptr noundef %10093) #11
  %10095 = call i32 @isatty(i32 noundef %10094) #11
  %10096 = icmp ne i32 %10095, 0
  br i1 %10096, label %10097, label %10114

10097:                                            ; preds = %10092
  %10098 = load i32, ptr %210, align 4, !tbaa !5
  %10099 = call ptr @__errno_location() #12
  store i32 %10098, ptr %10099, align 4, !tbaa !5
  %10100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10101 = load i32, ptr @test_count, align 4, !tbaa !5
  %10102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @s2n_strerror(i32 noundef %10103, ptr noundef @.str.4)
  %10105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror_debug(i32 noundef %10106, ptr noundef @.str.4)
  %10108 = call ptr @__errno_location() #12
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @strerror(i32 noundef %10109) #11
  %10111 = call ptr @__errno_location() #12
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10100, ptr noundef @.str.1, i32 noundef %10101, ptr noundef @.str.70, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10104, ptr noundef %10107, ptr noundef %10110, i32 noundef %10112) #11
  br label %10131

10114:                                            ; preds = %10092, %10085
  %10115 = load i32, ptr %210, align 4, !tbaa !5
  %10116 = call ptr @__errno_location() #12
  store i32 %10115, ptr %10116, align 4, !tbaa !5
  %10117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10118 = load i32, ptr @test_count, align 4, !tbaa !5
  %10119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10120 = load i32, ptr %10119, align 4, !tbaa !5
  %10121 = call ptr @s2n_strerror(i32 noundef %10120, ptr noundef @.str.4)
  %10122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror_debug(i32 noundef %10123, ptr noundef @.str.4)
  %10125 = call ptr @__errno_location() #12
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  %10127 = call ptr @strerror(i32 noundef %10126) #11
  %10128 = call ptr @__errno_location() #12
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  %10130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10117, ptr noundef @.str.5, i32 noundef %10118, ptr noundef @.str.70, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10121, ptr noundef %10124, ptr noundef %10127, i32 noundef %10129) #11
  br label %10131

10131:                                            ; preds = %10114, %10097
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10132

10132:                                            ; preds = %10131
  br label %10133

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

10134:                                            ; No predecessors!
  br label %10135

10135:                                            ; preds = %10134
  br label %10136

10136:                                            ; preds = %10135, %10077
  br label %10137

10137:                                            ; preds = %10136
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = add nsw i32 %10140, 1
  store i32 %10141, ptr @test_count, align 4, !tbaa !5
  %10142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10143 = load i32, ptr %10142, align 4, !tbaa !5
  %10144 = call ptr @s2n_strerror_debug(i32 noundef %10143, ptr noundef @.str.4)
  %10145 = icmp eq ptr %10144, null
  br i1 %10145, label %10146, label %10199

10146:                                            ; preds = %10139
  br label %10147

10147:                                            ; preds = %10146
  br label %10148

10148:                                            ; preds = %10147
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %10149 = call ptr @__errno_location() #12
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  store i32 %10150, ptr %211, align 4, !tbaa !5
  %10151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10152 = call i32 @s2n_print_stacktrace(ptr noundef %10151)
  %10153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10154 = trunc i8 %10153 to i1
  br i1 %10154, label %10155, label %10177

10155:                                            ; preds = %10148
  %10156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10157 = call i32 @fileno(ptr noundef %10156) #11
  %10158 = call i32 @isatty(i32 noundef %10157) #11
  %10159 = icmp ne i32 %10158, 0
  br i1 %10159, label %10160, label %10177

10160:                                            ; preds = %10155
  %10161 = load i32, ptr %211, align 4, !tbaa !5
  %10162 = call ptr @__errno_location() #12
  store i32 %10161, ptr %10162, align 4, !tbaa !5
  %10163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10164 = load i32, ptr @test_count, align 4, !tbaa !5
  %10165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10166 = load i32, ptr %10165, align 4, !tbaa !5
  %10167 = call ptr @s2n_strerror(i32 noundef %10166, ptr noundef @.str.4)
  %10168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror_debug(i32 noundef %10169, ptr noundef @.str.4)
  %10171 = call ptr @__errno_location() #12
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @strerror(i32 noundef %10172) #11
  %10174 = call ptr @__errno_location() #12
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10163, ptr noundef @.str.1, i32 noundef %10164, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10167, ptr noundef %10170, ptr noundef %10173, i32 noundef %10175) #11
  br label %10194

10177:                                            ; preds = %10155, %10148
  %10178 = load i32, ptr %211, align 4, !tbaa !5
  %10179 = call ptr @__errno_location() #12
  store i32 %10178, ptr %10179, align 4, !tbaa !5
  %10180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10181 = load i32, ptr @test_count, align 4, !tbaa !5
  %10182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10183 = load i32, ptr %10182, align 4, !tbaa !5
  %10184 = call ptr @s2n_strerror(i32 noundef %10183, ptr noundef @.str.4)
  %10185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10186 = load i32, ptr %10185, align 4, !tbaa !5
  %10187 = call ptr @s2n_strerror_debug(i32 noundef %10186, ptr noundef @.str.4)
  %10188 = call ptr @__errno_location() #12
  %10189 = load i32, ptr %10188, align 4, !tbaa !5
  %10190 = call ptr @strerror(i32 noundef %10189) #11
  %10191 = call ptr @__errno_location() #12
  %10192 = load i32, ptr %10191, align 4, !tbaa !5
  %10193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10180, ptr noundef @.str.5, i32 noundef %10181, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 367, ptr noundef %10184, ptr noundef %10187, ptr noundef %10190, i32 noundef %10192) #11
  br label %10194

10194:                                            ; preds = %10177, %10160
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %10195

10195:                                            ; preds = %10194
  br label %10196

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

10197:                                            ; No predecessors!
  br label %10198

10198:                                            ; preds = %10197
  br label %10199

10199:                                            ; preds = %10198, %10139
  br label %10200

10200:                                            ; preds = %10199
  br label %10201

10201:                                            ; preds = %10200
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

10203:                                            ; preds = %10202
  br label %10204

10204:                                            ; preds = %10203
  %10205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10205, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10206 = call ptr @__errno_location() #12
  store i32 0, ptr %10206, align 4, !tbaa !5
  br label %10207

10207:                                            ; preds = %10204
  br label %10208

10208:                                            ; preds = %10207
  br label %10209

10209:                                            ; preds = %10208
  br label %10210

10210:                                            ; preds = %10209
  br label %10211

10211:                                            ; preds = %10210
  %10212 = load i32, ptr @test_count, align 4, !tbaa !5
  %10213 = add nsw i32 %10212, 1
  store i32 %10213, ptr @test_count, align 4, !tbaa !5
  %10214 = load ptr, ptr %6, align 8, !tbaa !9
  %10215 = getelementptr inbounds %struct.s2n_connection, ptr %10214, i32 0, i32 41
  %10216 = call i32 @s2n_stuffer_wipe(ptr noundef %10215)
  %10217 = icmp eq i32 %10216, -1
  br i1 %10217, label %10218, label %10271

10218:                                            ; preds = %10211
  br label %10219

10219:                                            ; preds = %10218
  br label %10220

10220:                                            ; preds = %10219
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  store i32 %10222, ptr %212, align 4, !tbaa !5
  %10223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10224 = call i32 @s2n_print_stacktrace(ptr noundef %10223)
  %10225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10226 = trunc i8 %10225 to i1
  br i1 %10226, label %10227, label %10249

10227:                                            ; preds = %10220
  %10228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10229 = call i32 @fileno(ptr noundef %10228) #11
  %10230 = call i32 @isatty(i32 noundef %10229) #11
  %10231 = icmp ne i32 %10230, 0
  br i1 %10231, label %10232, label %10249

10232:                                            ; preds = %10227
  %10233 = load i32, ptr %212, align 4, !tbaa !5
  %10234 = call ptr @__errno_location() #12
  store i32 %10233, ptr %10234, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = load i32, ptr @test_count, align 4, !tbaa !5
  %10237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @s2n_strerror(i32 noundef %10238, ptr noundef @.str.4)
  %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_debug(i32 noundef %10241, ptr noundef @.str.4)
  %10243 = call ptr @__errno_location() #12
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @strerror(i32 noundef %10244) #11
  %10246 = call ptr @__errno_location() #12
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef @.str.1, i32 noundef %10236, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 371, ptr noundef %10239, ptr noundef %10242, ptr noundef %10245, i32 noundef %10247) #11
  br label %10266

10249:                                            ; preds = %10227, %10220
  %10250 = load i32, ptr %212, align 4, !tbaa !5
  %10251 = call ptr @__errno_location() #12
  store i32 %10250, ptr %10251, align 4, !tbaa !5
  %10252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10253 = load i32, ptr @test_count, align 4, !tbaa !5
  %10254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10255 = load i32, ptr %10254, align 4, !tbaa !5
  %10256 = call ptr @s2n_strerror(i32 noundef %10255, ptr noundef @.str.4)
  %10257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10258 = load i32, ptr %10257, align 4, !tbaa !5
  %10259 = call ptr @s2n_strerror_debug(i32 noundef %10258, ptr noundef @.str.4)
  %10260 = call ptr @__errno_location() #12
  %10261 = load i32, ptr %10260, align 4, !tbaa !5
  %10262 = call ptr @strerror(i32 noundef %10261) #11
  %10263 = call ptr @__errno_location() #12
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  %10265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10252, ptr noundef @.str.5, i32 noundef %10253, ptr noundef @.str.17, ptr noundef @.str.3, i32 noundef 371, ptr noundef %10256, ptr noundef %10259, ptr noundef %10262, i32 noundef %10264) #11
  br label %10266

10266:                                            ; preds = %10249, %10232
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %10267

10267:                                            ; preds = %10266
  br label %10268

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

10269:                                            ; No predecessors!
  br label %10270

10270:                                            ; preds = %10269
  br label %10271

10271:                                            ; preds = %10270, %10211
  br label %10272

10272:                                            ; preds = %10271
  br label %10273

10273:                                            ; preds = %10272
  %10274 = load ptr, ptr %6, align 8, !tbaa !9
  %10275 = getelementptr inbounds %struct.s2n_connection, ptr %10274, i32 0, i32 23
  store i8 34, ptr %10275, align 4, !tbaa !51
  br label %10276

10276:                                            ; preds = %10273
  %10277 = load i32, ptr @test_count, align 4, !tbaa !5
  %10278 = add nsw i32 %10277, 1
  store i32 %10278, ptr @test_count, align 4, !tbaa !5
  %10279 = load ptr, ptr %6, align 8, !tbaa !9
  %10280 = call i32 @s2n_record_write(ptr noundef %10279, i8 noundef zeroext 21, ptr noundef %202)
  %10281 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  store i32 %10280, ptr %10281, align 4
  %10282 = getelementptr inbounds %struct.s2n_result, ptr %213, i32 0, i32 0
  %10283 = load i32, ptr %10282, align 4
  %10284 = call zeroext i1 @s2n_result_is_ok(i32 %10283)
  br i1 %10284, label %10338, label %10285

10285:                                            ; preds = %10276
  br label %10286

10286:                                            ; preds = %10285
  br label %10287

10287:                                            ; preds = %10286
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10288 = call ptr @__errno_location() #12
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  store i32 %10289, ptr %214, align 4, !tbaa !5
  %10290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10291 = call i32 @s2n_print_stacktrace(ptr noundef %10290)
  %10292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10293 = trunc i8 %10292 to i1
  br i1 %10293, label %10294, label %10316

10294:                                            ; preds = %10287
  %10295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10296 = call i32 @fileno(ptr noundef %10295) #11
  %10297 = call i32 @isatty(i32 noundef %10296) #11
  %10298 = icmp ne i32 %10297, 0
  br i1 %10298, label %10299, label %10316

10299:                                            ; preds = %10294
  %10300 = load i32, ptr %214, align 4, !tbaa !5
  %10301 = call ptr @__errno_location() #12
  store i32 %10300, ptr %10301, align 4, !tbaa !5
  %10302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10303 = load i32, ptr @test_count, align 4, !tbaa !5
  %10304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10305 = load i32, ptr %10304, align 4, !tbaa !5
  %10306 = call ptr @s2n_strerror(i32 noundef %10305, ptr noundef @.str.4)
  %10307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10308 = load i32, ptr %10307, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror_debug(i32 noundef %10308, ptr noundef @.str.4)
  %10310 = call ptr @__errno_location() #12
  %10311 = load i32, ptr %10310, align 4, !tbaa !5
  %10312 = call ptr @strerror(i32 noundef %10311) #11
  %10313 = call ptr @__errno_location() #12
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  %10315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10302, ptr noundef @.str.1, i32 noundef %10303, ptr noundef @.str.71, ptr noundef @.str.3, i32 noundef 374, ptr noundef %10306, ptr noundef %10309, ptr noundef %10312, i32 noundef %10314) #11
  br label %10333

10316:                                            ; preds = %10294, %10287
  %10317 = load i32, ptr %214, align 4, !tbaa !5
  %10318 = call ptr @__errno_location() #12
  store i32 %10317, ptr %10318, align 4, !tbaa !5
  %10319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10320 = load i32, ptr @test_count, align 4, !tbaa !5
  %10321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10322 = load i32, ptr %10321, align 4, !tbaa !5
  %10323 = call ptr @s2n_strerror(i32 noundef %10322, ptr noundef @.str.4)
  %10324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10325 = load i32, ptr %10324, align 4, !tbaa !5
  %10326 = call ptr @s2n_strerror_debug(i32 noundef %10325, ptr noundef @.str.4)
  %10327 = call ptr @__errno_location() #12
  %10328 = load i32, ptr %10327, align 4, !tbaa !5
  %10329 = call ptr @strerror(i32 noundef %10328) #11
  %10330 = call ptr @__errno_location() #12
  %10331 = load i32, ptr %10330, align 4, !tbaa !5
  %10332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10319, ptr noundef @.str.5, i32 noundef %10320, ptr noundef @.str.71, ptr noundef @.str.3, i32 noundef 374, ptr noundef %10323, ptr noundef %10326, ptr noundef %10329, i32 noundef %10331) #11
  br label %10333

10333:                                            ; preds = %10316, %10299
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10334

10334:                                            ; preds = %10333
  br label %10335

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

10336:                                            ; No predecessors!
  br label %10337

10337:                                            ; preds = %10336
  br label %10338

10338:                                            ; preds = %10337, %10276
  br label %10339

10339:                                            ; preds = %10338
  br label %10340

10340:                                            ; preds = %10339
  br label %10341

10341:                                            ; preds = %10340
  %10342 = load i32, ptr @test_count, align 4, !tbaa !5
  %10343 = add nsw i32 %10342, 1
  store i32 %10343, ptr @test_count, align 4, !tbaa !5
  %10344 = load ptr, ptr %6, align 8, !tbaa !9
  %10345 = getelementptr inbounds %struct.s2n_connection, ptr %10344, i32 0, i32 41
  %10346 = getelementptr inbounds %struct.s2n_stuffer, ptr %10345, i32 0, i32 0
  %10347 = getelementptr inbounds %struct.s2n_blob, ptr %10346, i32 0, i32 0
  %10348 = load ptr, ptr %10347, align 8, !tbaa !53
  %10349 = getelementptr inbounds i8, ptr %10348, i64 1
  %10350 = load i8, ptr %10349, align 1, !tbaa !54
  %10351 = zext i8 %10350 to i32
  %10352 = icmp eq i32 %10351, 3
  br i1 %10352, label %10406, label %10353

10353:                                            ; preds = %10341
  br label %10354

10354:                                            ; preds = %10353
  br label %10355

10355:                                            ; preds = %10354
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %10356 = call ptr @__errno_location() #12
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  store i32 %10357, ptr %215, align 4, !tbaa !5
  %10358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10359 = call i32 @s2n_print_stacktrace(ptr noundef %10358)
  %10360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10361 = trunc i8 %10360 to i1
  br i1 %10361, label %10362, label %10384

10362:                                            ; preds = %10355
  %10363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10364 = call i32 @fileno(ptr noundef %10363) #11
  %10365 = call i32 @isatty(i32 noundef %10364) #11
  %10366 = icmp ne i32 %10365, 0
  br i1 %10366, label %10367, label %10384

10367:                                            ; preds = %10362
  %10368 = load i32, ptr %215, align 4, !tbaa !5
  %10369 = call ptr @__errno_location() #12
  store i32 %10368, ptr %10369, align 4, !tbaa !5
  %10370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10371 = load i32, ptr @test_count, align 4, !tbaa !5
  %10372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call ptr @s2n_strerror(i32 noundef %10373, ptr noundef @.str.4)
  %10375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call ptr @s2n_strerror_debug(i32 noundef %10376, ptr noundef @.str.4)
  %10378 = call ptr @__errno_location() #12
  %10379 = load i32, ptr %10378, align 4, !tbaa !5
  %10380 = call ptr @strerror(i32 noundef %10379) #11
  %10381 = call ptr @__errno_location() #12
  %10382 = load i32, ptr %10381, align 4, !tbaa !5
  %10383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10370, ptr noundef @.str.1, i32 noundef %10371, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 377, ptr noundef %10374, ptr noundef %10377, ptr noundef %10380, i32 noundef %10382) #11
  br label %10401

10384:                                            ; preds = %10362, %10355
  %10385 = load i32, ptr %215, align 4, !tbaa !5
  %10386 = call ptr @__errno_location() #12
  store i32 %10385, ptr %10386, align 4, !tbaa !5
  %10387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10388 = load i32, ptr @test_count, align 4, !tbaa !5
  %10389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10390 = load i32, ptr %10389, align 4, !tbaa !5
  %10391 = call ptr @s2n_strerror(i32 noundef %10390, ptr noundef @.str.4)
  %10392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  %10394 = call ptr @s2n_strerror_debug(i32 noundef %10393, ptr noundef @.str.4)
  %10395 = call ptr @__errno_location() #12
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call ptr @strerror(i32 noundef %10396) #11
  %10398 = call ptr @__errno_location() #12
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10387, ptr noundef @.str.5, i32 noundef %10388, ptr noundef @.str.23, ptr noundef @.str.3, i32 noundef 377, ptr noundef %10391, ptr noundef %10394, ptr noundef %10397, i32 noundef %10399) #11
  br label %10401

10401:                                            ; preds = %10384, %10367
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %10402

10402:                                            ; preds = %10401
  br label %10403

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

10404:                                            ; No predecessors!
  br label %10405

10405:                                            ; preds = %10404
  br label %10406

10406:                                            ; preds = %10405, %10341
  br label %10407

10407:                                            ; preds = %10406
  br label %10408

10408:                                            ; preds = %10407
  br label %10409

10409:                                            ; preds = %10408
  %10410 = load i32, ptr @test_count, align 4, !tbaa !5
  %10411 = add nsw i32 %10410, 1
  store i32 %10411, ptr @test_count, align 4, !tbaa !5
  %10412 = load ptr, ptr %6, align 8, !tbaa !9
  %10413 = getelementptr inbounds %struct.s2n_connection, ptr %10412, i32 0, i32 41
  %10414 = getelementptr inbounds %struct.s2n_stuffer, ptr %10413, i32 0, i32 0
  %10415 = getelementptr inbounds %struct.s2n_blob, ptr %10414, i32 0, i32 0
  %10416 = load ptr, ptr %10415, align 8, !tbaa !53
  %10417 = getelementptr inbounds i8, ptr %10416, i64 2
  %10418 = load i8, ptr %10417, align 1, !tbaa !54
  %10419 = zext i8 %10418 to i32
  %10420 = icmp eq i32 %10419, 3
  br i1 %10420, label %10474, label %10421

10421:                                            ; preds = %10409
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

10423:                                            ; preds = %10422
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %10424 = call ptr @__errno_location() #12
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  store i32 %10425, ptr %216, align 4, !tbaa !5
  %10426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10427 = call i32 @s2n_print_stacktrace(ptr noundef %10426)
  %10428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10429 = trunc i8 %10428 to i1
  br i1 %10429, label %10430, label %10452

10430:                                            ; preds = %10423
  %10431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10432 = call i32 @fileno(ptr noundef %10431) #11
  %10433 = call i32 @isatty(i32 noundef %10432) #11
  %10434 = icmp ne i32 %10433, 0
  br i1 %10434, label %10435, label %10452

10435:                                            ; preds = %10430
  %10436 = load i32, ptr %216, align 4, !tbaa !5
  %10437 = call ptr @__errno_location() #12
  store i32 %10436, ptr %10437, align 4, !tbaa !5
  %10438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10439 = load i32, ptr @test_count, align 4, !tbaa !5
  %10440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  %10442 = call ptr @s2n_strerror(i32 noundef %10441, ptr noundef @.str.4)
  %10443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10444 = load i32, ptr %10443, align 4, !tbaa !5
  %10445 = call ptr @s2n_strerror_debug(i32 noundef %10444, ptr noundef @.str.4)
  %10446 = call ptr @__errno_location() #12
  %10447 = load i32, ptr %10446, align 4, !tbaa !5
  %10448 = call ptr @strerror(i32 noundef %10447) #11
  %10449 = call ptr @__errno_location() #12
  %10450 = load i32, ptr %10449, align 4, !tbaa !5
  %10451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10438, ptr noundef @.str.1, i32 noundef %10439, ptr noundef @.str.72, ptr noundef @.str.3, i32 noundef 378, ptr noundef %10442, ptr noundef %10445, ptr noundef %10448, i32 noundef %10450) #11
  br label %10469

10452:                                            ; preds = %10430, %10423
  %10453 = load i32, ptr %216, align 4, !tbaa !5
  %10454 = call ptr @__errno_location() #12
  store i32 %10453, ptr %10454, align 4, !tbaa !5
  %10455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10456 = load i32, ptr @test_count, align 4, !tbaa !5
  %10457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10458 = load i32, ptr %10457, align 4, !tbaa !5
  %10459 = call ptr @s2n_strerror(i32 noundef %10458, ptr noundef @.str.4)
  %10460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10461 = load i32, ptr %10460, align 4, !tbaa !5
  %10462 = call ptr @s2n_strerror_debug(i32 noundef %10461, ptr noundef @.str.4)
  %10463 = call ptr @__errno_location() #12
  %10464 = load i32, ptr %10463, align 4, !tbaa !5
  %10465 = call ptr @strerror(i32 noundef %10464) #11
  %10466 = call ptr @__errno_location() #12
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10455, ptr noundef @.str.5, i32 noundef %10456, ptr noundef @.str.72, ptr noundef @.str.3, i32 noundef 378, ptr noundef %10459, ptr noundef %10462, ptr noundef %10465, i32 noundef %10467) #11
  br label %10469

10469:                                            ; preds = %10452, %10435
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %10470

10470:                                            ; preds = %10469
  br label %10471

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

10472:                                            ; No predecessors!
  br label %10473

10473:                                            ; preds = %10472
  br label %10474

10474:                                            ; preds = %10473, %10409
  br label %10475

10475:                                            ; preds = %10474
  br label %10476

10476:                                            ; preds = %10475
  br label %10477

10477:                                            ; preds = %10476
  %10478 = load i32, ptr @test_count, align 4, !tbaa !5
  %10479 = add nsw i32 %10478, 1
  store i32 %10479, ptr @test_count, align 4, !tbaa !5
  %10480 = load ptr, ptr %6, align 8, !tbaa !9
  %10481 = getelementptr inbounds %struct.s2n_connection, ptr %10480, i32 0, i32 40
  %10482 = call i32 @s2n_stuffer_resize_if_empty(ptr noundef %10481, i32 noundef 16384)
  %10483 = icmp eq i32 %10482, -1
  br i1 %10483, label %10484, label %10537

10484:                                            ; preds = %10477
  br label %10485

10485:                                            ; preds = %10484
  br label %10486

10486:                                            ; preds = %10485
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %10487 = call ptr @__errno_location() #12
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  store i32 %10488, ptr %217, align 4, !tbaa !5
  %10489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10490 = call i32 @s2n_print_stacktrace(ptr noundef %10489)
  %10491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10492 = trunc i8 %10491 to i1
  br i1 %10492, label %10493, label %10515

10493:                                            ; preds = %10486
  %10494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10495 = call i32 @fileno(ptr noundef %10494) #11
  %10496 = call i32 @isatty(i32 noundef %10495) #11
  %10497 = icmp ne i32 %10496, 0
  br i1 %10497, label %10498, label %10515

10498:                                            ; preds = %10493
  %10499 = load i32, ptr %217, align 4, !tbaa !5
  %10500 = call ptr @__errno_location() #12
  store i32 %10499, ptr %10500, align 4, !tbaa !5
  %10501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10502 = load i32, ptr @test_count, align 4, !tbaa !5
  %10503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call ptr @s2n_strerror(i32 noundef %10504, ptr noundef @.str.4)
  %10506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  %10508 = call ptr @s2n_strerror_debug(i32 noundef %10507, ptr noundef @.str.4)
  %10509 = call ptr @__errno_location() #12
  %10510 = load i32, ptr %10509, align 4, !tbaa !5
  %10511 = call ptr @strerror(i32 noundef %10510) #11
  %10512 = call ptr @__errno_location() #12
  %10513 = load i32, ptr %10512, align 4, !tbaa !5
  %10514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10501, ptr noundef @.str.1, i32 noundef %10502, ptr noundef @.str.28, ptr noundef @.str.3, i32 noundef 381, ptr noundef %10505, ptr noundef %10508, ptr noundef %10511, i32 noundef %10513) #11
  br label %10532

10515:                                            ; preds = %10493, %10486
  %10516 = load i32, ptr %217, align 4, !tbaa !5
  %10517 = call ptr @__errno_location() #12
  store i32 %10516, ptr %10517, align 4, !tbaa !5
  %10518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10519 = load i32, ptr @test_count, align 4, !tbaa !5
  %10520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10521 = load i32, ptr %10520, align 4, !tbaa !5
  %10522 = call ptr @s2n_strerror(i32 noundef %10521, ptr noundef @.str.4)
  %10523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10524 = load i32, ptr %10523, align 4, !tbaa !5
  %10525 = call ptr @s2n_strerror_debug(i32 noundef %10524, ptr noundef @.str.4)
  %10526 = call ptr @__errno_location() #12
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  %10528 = call ptr @strerror(i32 noundef %10527) #11
  %10529 = call ptr @__errno_location() #12
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10518, ptr noundef @.str.5, i32 noundef %10519, ptr noundef @.str.28, ptr noundef @.str.3, i32 noundef 381, ptr noundef %10522, ptr noundef %10525, ptr noundef %10528, i32 noundef %10530) #11
  br label %10532

10532:                                            ; preds = %10515, %10498
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %10533

10533:                                            ; preds = %10532
  br label %10534

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

10535:                                            ; No predecessors!
  br label %10536

10536:                                            ; preds = %10535
  br label %10537

10537:                                            ; preds = %10536, %10477
  br label %10538

10538:                                            ; preds = %10537
  br label %10539

10539:                                            ; preds = %10538
  br label %10540

10540:                                            ; preds = %10539
  %10541 = load i32, ptr @test_count, align 4, !tbaa !5
  %10542 = add nsw i32 %10541, 1
  store i32 %10542, ptr @test_count, align 4, !tbaa !5
  %10543 = load ptr, ptr %6, align 8, !tbaa !9
  %10544 = getelementptr inbounds %struct.s2n_connection, ptr %10543, i32 0, i32 40
  %10545 = call i32 @s2n_stuffer_wipe(ptr noundef %10544)
  %10546 = icmp eq i32 %10545, -1
  br i1 %10546, label %10547, label %10600

10547:                                            ; preds = %10540
  br label %10548

10548:                                            ; preds = %10547
  br label %10549

10549:                                            ; preds = %10548
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %10550 = call ptr @__errno_location() #12
  %10551 = load i32, ptr %10550, align 4, !tbaa !5
  store i32 %10551, ptr %218, align 4, !tbaa !5
  %10552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10553 = call i32 @s2n_print_stacktrace(ptr noundef %10552)
  %10554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10555 = trunc i8 %10554 to i1
  br i1 %10555, label %10556, label %10578

10556:                                            ; preds = %10549
  %10557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10558 = call i32 @fileno(ptr noundef %10557) #11
  %10559 = call i32 @isatty(i32 noundef %10558) #11
  %10560 = icmp ne i32 %10559, 0
  br i1 %10560, label %10561, label %10578

10561:                                            ; preds = %10556
  %10562 = load i32, ptr %218, align 4, !tbaa !5
  %10563 = call ptr @__errno_location() #12
  store i32 %10562, ptr %10563, align 4, !tbaa !5
  %10564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10565 = load i32, ptr @test_count, align 4, !tbaa !5
  %10566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @s2n_strerror(i32 noundef %10567, ptr noundef @.str.4)
  %10569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call ptr @s2n_strerror_debug(i32 noundef %10570, ptr noundef @.str.4)
  %10572 = call ptr @__errno_location() #12
  %10573 = load i32, ptr %10572, align 4, !tbaa !5
  %10574 = call ptr @strerror(i32 noundef %10573) #11
  %10575 = call ptr @__errno_location() #12
  %10576 = load i32, ptr %10575, align 4, !tbaa !5
  %10577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10564, ptr noundef @.str.1, i32 noundef %10565, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 382, ptr noundef %10568, ptr noundef %10571, ptr noundef %10574, i32 noundef %10576) #11
  br label %10595

10578:                                            ; preds = %10556, %10549
  %10579 = load i32, ptr %218, align 4, !tbaa !5
  %10580 = call ptr @__errno_location() #12
  store i32 %10579, ptr %10580, align 4, !tbaa !5
  %10581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10582 = load i32, ptr @test_count, align 4, !tbaa !5
  %10583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call ptr @s2n_strerror(i32 noundef %10584, ptr noundef @.str.4)
  %10586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10587 = load i32, ptr %10586, align 4, !tbaa !5
  %10588 = call ptr @s2n_strerror_debug(i32 noundef %10587, ptr noundef @.str.4)
  %10589 = call ptr @__errno_location() #12
  %10590 = load i32, ptr %10589, align 4, !tbaa !5
  %10591 = call ptr @strerror(i32 noundef %10590) #11
  %10592 = call ptr @__errno_location() #12
  %10593 = load i32, ptr %10592, align 4, !tbaa !5
  %10594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10581, ptr noundef @.str.5, i32 noundef %10582, ptr noundef @.str.29, ptr noundef @.str.3, i32 noundef 382, ptr noundef %10585, ptr noundef %10588, ptr noundef %10591, i32 noundef %10593) #11
  br label %10595

10595:                                            ; preds = %10578, %10561
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %10596

10596:                                            ; preds = %10595
  br label %10597

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

10598:                                            ; No predecessors!
  br label %10599

10599:                                            ; preds = %10598
  br label %10600

10600:                                            ; preds = %10599, %10540
  br label %10601

10601:                                            ; preds = %10600
  br label %10602

10602:                                            ; preds = %10601
  br label %10603

10603:                                            ; preds = %10602
  %10604 = load i32, ptr @test_count, align 4, !tbaa !5
  %10605 = add nsw i32 %10604, 1
  store i32 %10605, ptr @test_count, align 4, !tbaa !5
  %10606 = load ptr, ptr %6, align 8, !tbaa !9
  %10607 = getelementptr inbounds %struct.s2n_connection, ptr %10606, i32 0, i32 38
  %10608 = call i32 @s2n_stuffer_wipe(ptr noundef %10607)
  %10609 = icmp eq i32 %10608, -1
  br i1 %10609, label %10610, label %10663

10610:                                            ; preds = %10603
  br label %10611

10611:                                            ; preds = %10610
  br label %10612

10612:                                            ; preds = %10611
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %10613 = call ptr @__errno_location() #12
  %10614 = load i32, ptr %10613, align 4, !tbaa !5
  store i32 %10614, ptr %219, align 4, !tbaa !5
  %10615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10616 = call i32 @s2n_print_stacktrace(ptr noundef %10615)
  %10617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10618 = trunc i8 %10617 to i1
  br i1 %10618, label %10619, label %10641

10619:                                            ; preds = %10612
  %10620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10621 = call i32 @fileno(ptr noundef %10620) #11
  %10622 = call i32 @isatty(i32 noundef %10621) #11
  %10623 = icmp ne i32 %10622, 0
  br i1 %10623, label %10624, label %10641

10624:                                            ; preds = %10619
  %10625 = load i32, ptr %219, align 4, !tbaa !5
  %10626 = call ptr @__errno_location() #12
  store i32 %10625, ptr %10626, align 4, !tbaa !5
  %10627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10628 = load i32, ptr @test_count, align 4, !tbaa !5
  %10629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10630 = load i32, ptr %10629, align 4, !tbaa !5
  %10631 = call ptr @s2n_strerror(i32 noundef %10630, ptr noundef @.str.4)
  %10632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10633 = load i32, ptr %10632, align 4, !tbaa !5
  %10634 = call ptr @s2n_strerror_debug(i32 noundef %10633, ptr noundef @.str.4)
  %10635 = call ptr @__errno_location() #12
  %10636 = load i32, ptr %10635, align 4, !tbaa !5
  %10637 = call ptr @strerror(i32 noundef %10636) #11
  %10638 = call ptr @__errno_location() #12
  %10639 = load i32, ptr %10638, align 4, !tbaa !5
  %10640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10627, ptr noundef @.str.1, i32 noundef %10628, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 383, ptr noundef %10631, ptr noundef %10634, ptr noundef %10637, i32 noundef %10639) #11
  br label %10658

10641:                                            ; preds = %10619, %10612
  %10642 = load i32, ptr %219, align 4, !tbaa !5
  %10643 = call ptr @__errno_location() #12
  store i32 %10642, ptr %10643, align 4, !tbaa !5
  %10644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10645 = load i32, ptr @test_count, align 4, !tbaa !5
  %10646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10647 = load i32, ptr %10646, align 4, !tbaa !5
  %10648 = call ptr @s2n_strerror(i32 noundef %10647, ptr noundef @.str.4)
  %10649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10650 = load i32, ptr %10649, align 4, !tbaa !5
  %10651 = call ptr @s2n_strerror_debug(i32 noundef %10650, ptr noundef @.str.4)
  %10652 = call ptr @__errno_location() #12
  %10653 = load i32, ptr %10652, align 4, !tbaa !5
  %10654 = call ptr @strerror(i32 noundef %10653) #11
  %10655 = call ptr @__errno_location() #12
  %10656 = load i32, ptr %10655, align 4, !tbaa !5
  %10657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10644, ptr noundef @.str.5, i32 noundef %10645, ptr noundef @.str.30, ptr noundef @.str.3, i32 noundef 383, ptr noundef %10648, ptr noundef %10651, ptr noundef %10654, i32 noundef %10656) #11
  br label %10658

10658:                                            ; preds = %10641, %10624
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %10659

10659:                                            ; preds = %10658
  br label %10660

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

10661:                                            ; No predecessors!
  br label %10662

10662:                                            ; preds = %10661
  br label %10663

10663:                                            ; preds = %10662, %10603
  br label %10664

10664:                                            ; preds = %10663
  br label %10665

10665:                                            ; preds = %10664
  br label %10666

10666:                                            ; preds = %10665
  %10667 = load i32, ptr @test_count, align 4, !tbaa !5
  %10668 = add nsw i32 %10667, 1
  store i32 %10668, ptr @test_count, align 4, !tbaa !5
  %10669 = load ptr, ptr %6, align 8, !tbaa !9
  %10670 = getelementptr inbounds %struct.s2n_connection, ptr %10669, i32 0, i32 41
  %10671 = load ptr, ptr %6, align 8, !tbaa !9
  %10672 = getelementptr inbounds %struct.s2n_connection, ptr %10671, i32 0, i32 38
  %10673 = call i32 @s2n_stuffer_copy(ptr noundef %10670, ptr noundef %10672, i32 noundef 5)
  %10674 = icmp eq i32 %10673, -1
  br i1 %10674, label %10675, label %10728

10675:                                            ; preds = %10666
  br label %10676

10676:                                            ; preds = %10675
  br label %10677

10677:                                            ; preds = %10676
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %10678 = call ptr @__errno_location() #12
  %10679 = load i32, ptr %10678, align 4, !tbaa !5
  store i32 %10679, ptr %220, align 4, !tbaa !5
  %10680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10681 = call i32 @s2n_print_stacktrace(ptr noundef %10680)
  %10682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10683 = trunc i8 %10682 to i1
  br i1 %10683, label %10684, label %10706

10684:                                            ; preds = %10677
  %10685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10686 = call i32 @fileno(ptr noundef %10685) #11
  %10687 = call i32 @isatty(i32 noundef %10686) #11
  %10688 = icmp ne i32 %10687, 0
  br i1 %10688, label %10689, label %10706

10689:                                            ; preds = %10684
  %10690 = load i32, ptr %220, align 4, !tbaa !5
  %10691 = call ptr @__errno_location() #12
  store i32 %10690, ptr %10691, align 4, !tbaa !5
  %10692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10693 = load i32, ptr @test_count, align 4, !tbaa !5
  %10694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10695 = load i32, ptr %10694, align 4, !tbaa !5
  %10696 = call ptr @s2n_strerror(i32 noundef %10695, ptr noundef @.str.4)
  %10697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10698 = load i32, ptr %10697, align 4, !tbaa !5
  %10699 = call ptr @s2n_strerror_debug(i32 noundef %10698, ptr noundef @.str.4)
  %10700 = call ptr @__errno_location() #12
  %10701 = load i32, ptr %10700, align 4, !tbaa !5
  %10702 = call ptr @strerror(i32 noundef %10701) #11
  %10703 = call ptr @__errno_location() #12
  %10704 = load i32, ptr %10703, align 4, !tbaa !5
  %10705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10692, ptr noundef @.str.1, i32 noundef %10693, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 384, ptr noundef %10696, ptr noundef %10699, ptr noundef %10702, i32 noundef %10704) #11
  br label %10723

10706:                                            ; preds = %10684, %10677
  %10707 = load i32, ptr %220, align 4, !tbaa !5
  %10708 = call ptr @__errno_location() #12
  store i32 %10707, ptr %10708, align 4, !tbaa !5
  %10709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10710 = load i32, ptr @test_count, align 4, !tbaa !5
  %10711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10712 = load i32, ptr %10711, align 4, !tbaa !5
  %10713 = call ptr @s2n_strerror(i32 noundef %10712, ptr noundef @.str.4)
  %10714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror_debug(i32 noundef %10715, ptr noundef @.str.4)
  %10717 = call ptr @__errno_location() #12
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call ptr @strerror(i32 noundef %10718) #11
  %10720 = call ptr @__errno_location() #12
  %10721 = load i32, ptr %10720, align 4, !tbaa !5
  %10722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10709, ptr noundef @.str.5, i32 noundef %10710, ptr noundef @.str.31, ptr noundef @.str.3, i32 noundef 384, ptr noundef %10713, ptr noundef %10716, ptr noundef %10719, i32 noundef %10721) #11
  br label %10723

10723:                                            ; preds = %10706, %10689
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %10724

10724:                                            ; preds = %10723
  br label %10725

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

10726:                                            ; No predecessors!
  br label %10727

10727:                                            ; preds = %10726
  br label %10728

10728:                                            ; preds = %10727, %10666
  br label %10729

10729:                                            ; preds = %10728
  br label %10730

10730:                                            ; preds = %10729
  br label %10731

10731:                                            ; preds = %10730
  %10732 = load i32, ptr @test_count, align 4, !tbaa !5
  %10733 = add nsw i32 %10732, 1
  store i32 %10733, ptr @test_count, align 4, !tbaa !5
  %10734 = load ptr, ptr %6, align 8, !tbaa !9
  %10735 = getelementptr inbounds %struct.s2n_connection, ptr %10734, i32 0, i32 41
  %10736 = load ptr, ptr %6, align 8, !tbaa !9
  %10737 = getelementptr inbounds %struct.s2n_connection, ptr %10736, i32 0, i32 40
  %10738 = load ptr, ptr %6, align 8, !tbaa !9
  %10739 = getelementptr inbounds %struct.s2n_connection, ptr %10738, i32 0, i32 41
  %10740 = getelementptr inbounds %struct.s2n_stuffer, ptr %10739, i32 0, i32 2
  %10741 = load i32, ptr %10740, align 4, !tbaa !55
  %10742 = load ptr, ptr %6, align 8, !tbaa !9
  %10743 = getelementptr inbounds %struct.s2n_connection, ptr %10742, i32 0, i32 41
  %10744 = getelementptr inbounds %struct.s2n_stuffer, ptr %10743, i32 0, i32 1
  %10745 = load i32, ptr %10744, align 8, !tbaa !56
  %10746 = sub i32 %10741, %10745
  %10747 = call i32 @s2n_stuffer_copy(ptr noundef %10735, ptr noundef %10737, i32 noundef %10746)
  %10748 = icmp eq i32 %10747, -1
  br i1 %10748, label %10749, label %10802

10749:                                            ; preds = %10731
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %10752 = call ptr @__errno_location() #12
  %10753 = load i32, ptr %10752, align 4, !tbaa !5
  store i32 %10753, ptr %221, align 4, !tbaa !5
  %10754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10755 = call i32 @s2n_print_stacktrace(ptr noundef %10754)
  %10756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10757 = trunc i8 %10756 to i1
  br i1 %10757, label %10758, label %10780

10758:                                            ; preds = %10751
  %10759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10760 = call i32 @fileno(ptr noundef %10759) #11
  %10761 = call i32 @isatty(i32 noundef %10760) #11
  %10762 = icmp ne i32 %10761, 0
  br i1 %10762, label %10763, label %10780

10763:                                            ; preds = %10758
  %10764 = load i32, ptr %221, align 4, !tbaa !5
  %10765 = call ptr @__errno_location() #12
  store i32 %10764, ptr %10765, align 4, !tbaa !5
  %10766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10767 = load i32, ptr @test_count, align 4, !tbaa !5
  %10768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10769 = load i32, ptr %10768, align 4, !tbaa !5
  %10770 = call ptr @s2n_strerror(i32 noundef %10769, ptr noundef @.str.4)
  %10771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10772 = load i32, ptr %10771, align 4, !tbaa !5
  %10773 = call ptr @s2n_strerror_debug(i32 noundef %10772, ptr noundef @.str.4)
  %10774 = call ptr @__errno_location() #12
  %10775 = load i32, ptr %10774, align 4, !tbaa !5
  %10776 = call ptr @strerror(i32 noundef %10775) #11
  %10777 = call ptr @__errno_location() #12
  %10778 = load i32, ptr %10777, align 4, !tbaa !5
  %10779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10766, ptr noundef @.str.1, i32 noundef %10767, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 385, ptr noundef %10770, ptr noundef %10773, ptr noundef %10776, i32 noundef %10778) #11
  br label %10797

10780:                                            ; preds = %10758, %10751
  %10781 = load i32, ptr %221, align 4, !tbaa !5
  %10782 = call ptr @__errno_location() #12
  store i32 %10781, ptr %10782, align 4, !tbaa !5
  %10783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10784 = load i32, ptr @test_count, align 4, !tbaa !5
  %10785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10786 = load i32, ptr %10785, align 4, !tbaa !5
  %10787 = call ptr @s2n_strerror(i32 noundef %10786, ptr noundef @.str.4)
  %10788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10789 = load i32, ptr %10788, align 4, !tbaa !5
  %10790 = call ptr @s2n_strerror_debug(i32 noundef %10789, ptr noundef @.str.4)
  %10791 = call ptr @__errno_location() #12
  %10792 = load i32, ptr %10791, align 4, !tbaa !5
  %10793 = call ptr @strerror(i32 noundef %10792) #11
  %10794 = call ptr @__errno_location() #12
  %10795 = load i32, ptr %10794, align 4, !tbaa !5
  %10796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10783, ptr noundef @.str.5, i32 noundef %10784, ptr noundef @.str.32, ptr noundef @.str.3, i32 noundef 385, ptr noundef %10787, ptr noundef %10790, ptr noundef %10793, i32 noundef %10795) #11
  br label %10797

10797:                                            ; preds = %10780, %10763
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %10798

10798:                                            ; preds = %10797
  br label %10799

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

10800:                                            ; No predecessors!
  br label %10801

10801:                                            ; preds = %10800
  br label %10802

10802:                                            ; preds = %10801, %10731
  br label %10803

10803:                                            ; preds = %10802
  br label %10804

10804:                                            ; preds = %10803
  %10805 = load ptr, ptr %6, align 8, !tbaa !9
  %10806 = getelementptr inbounds %struct.s2n_connection, ptr %10805, i32 0, i32 25
  store i8 1, ptr %10806, align 2, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 1, ptr %222) #11
  store i8 0, ptr %222, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %223) #11
  store i16 0, ptr %223, align 2, !tbaa !57
  br label %10807

10807:                                            ; preds = %10804
  %10808 = load i32, ptr @test_count, align 4, !tbaa !5
  %10809 = add nsw i32 %10808, 1
  store i32 %10809, ptr @test_count, align 4, !tbaa !5
  %10810 = load ptr, ptr %6, align 8, !tbaa !9
  %10811 = call i32 @s2n_record_header_parse(ptr noundef %10810, ptr noundef %222, ptr noundef %223)
  %10812 = icmp eq i32 %10811, -1
  br i1 %10812, label %10813, label %10866

10813:                                            ; preds = %10807
  br label %10814

10814:                                            ; preds = %10813
  br label %10815

10815:                                            ; preds = %10814
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %10816 = call ptr @__errno_location() #12
  %10817 = load i32, ptr %10816, align 4, !tbaa !5
  store i32 %10817, ptr %224, align 4, !tbaa !5
  %10818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10819 = call i32 @s2n_print_stacktrace(ptr noundef %10818)
  %10820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10821 = trunc i8 %10820 to i1
  br i1 %10821, label %10822, label %10844

10822:                                            ; preds = %10815
  %10823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10824 = call i32 @fileno(ptr noundef %10823) #11
  %10825 = call i32 @isatty(i32 noundef %10824) #11
  %10826 = icmp ne i32 %10825, 0
  br i1 %10826, label %10827, label %10844

10827:                                            ; preds = %10822
  %10828 = load i32, ptr %224, align 4, !tbaa !5
  %10829 = call ptr @__errno_location() #12
  store i32 %10828, ptr %10829, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = load i32, ptr @test_count, align 4, !tbaa !5
  %10832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10833 = load i32, ptr %10832, align 4, !tbaa !5
  %10834 = call ptr @s2n_strerror(i32 noundef %10833, ptr noundef @.str.4)
  %10835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10836 = load i32, ptr %10835, align 4, !tbaa !5
  %10837 = call ptr @s2n_strerror_debug(i32 noundef %10836, ptr noundef @.str.4)
  %10838 = call ptr @__errno_location() #12
  %10839 = load i32, ptr %10838, align 4, !tbaa !5
  %10840 = call ptr @strerror(i32 noundef %10839) #11
  %10841 = call ptr @__errno_location() #12
  %10842 = load i32, ptr %10841, align 4, !tbaa !5
  %10843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10830, ptr noundef @.str.1, i32 noundef %10831, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 391, ptr noundef %10834, ptr noundef %10837, ptr noundef %10840, i32 noundef %10842) #11
  br label %10861

10844:                                            ; preds = %10822, %10815
  %10845 = load i32, ptr %224, align 4, !tbaa !5
  %10846 = call ptr @__errno_location() #12
  store i32 %10845, ptr %10846, align 4, !tbaa !5
  %10847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10848 = load i32, ptr @test_count, align 4, !tbaa !5
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror(i32 noundef %10850, ptr noundef @.str.4)
  %10852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @s2n_strerror_debug(i32 noundef %10853, ptr noundef @.str.4)
  %10855 = call ptr @__errno_location() #12
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call ptr @strerror(i32 noundef %10856) #11
  %10858 = call ptr @__errno_location() #12
  %10859 = load i32, ptr %10858, align 4, !tbaa !5
  %10860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10847, ptr noundef @.str.5, i32 noundef %10848, ptr noundef @.str.33, ptr noundef @.str.3, i32 noundef 391, ptr noundef %10851, ptr noundef %10854, ptr noundef %10857, i32 noundef %10859) #11
  br label %10861

10861:                                            ; preds = %10844, %10827
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %10862

10862:                                            ; preds = %10861
  br label %10863

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

10864:                                            ; No predecessors!
  br label %10865

10865:                                            ; preds = %10864
  br label %10866

10866:                                            ; preds = %10865, %10807
  br label %10867

10867:                                            ; preds = %10866
  br label %10868

10868:                                            ; preds = %10867
  br label %10869

10869:                                            ; preds = %10868
  %10870 = load i32, ptr @test_count, align 4, !tbaa !5
  %10871 = add nsw i32 %10870, 1
  store i32 %10871, ptr @test_count, align 4, !tbaa !5
  %10872 = load ptr, ptr %6, align 8, !tbaa !9
  %10873 = getelementptr inbounds %struct.s2n_connection, ptr %10872, i32 0, i32 38
  %10874 = call i32 @s2n_stuffer_reread(ptr noundef %10873)
  %10875 = icmp eq i32 %10874, -1
  br i1 %10875, label %10876, label %10929

10876:                                            ; preds = %10869
  br label %10877

10877:                                            ; preds = %10876
  br label %10878

10878:                                            ; preds = %10877
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %10879 = call ptr @__errno_location() #12
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  store i32 %10880, ptr %225, align 4, !tbaa !5
  %10881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10882 = call i32 @s2n_print_stacktrace(ptr noundef %10881)
  %10883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10884 = trunc i8 %10883 to i1
  br i1 %10884, label %10885, label %10907

10885:                                            ; preds = %10878
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = call i32 @fileno(ptr noundef %10886) #11
  %10888 = call i32 @isatty(i32 noundef %10887) #11
  %10889 = icmp ne i32 %10888, 0
  br i1 %10889, label %10890, label %10907

10890:                                            ; preds = %10885
  %10891 = load i32, ptr %225, align 4, !tbaa !5
  %10892 = call ptr @__errno_location() #12
  store i32 %10891, ptr %10892, align 4, !tbaa !5
  %10893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10894 = load i32, ptr @test_count, align 4, !tbaa !5
  %10895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10896 = load i32, ptr %10895, align 4, !tbaa !5
  %10897 = call ptr @s2n_strerror(i32 noundef %10896, ptr noundef @.str.4)
  %10898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call ptr @s2n_strerror_debug(i32 noundef %10899, ptr noundef @.str.4)
  %10901 = call ptr @__errno_location() #12
  %10902 = load i32, ptr %10901, align 4, !tbaa !5
  %10903 = call ptr @strerror(i32 noundef %10902) #11
  %10904 = call ptr @__errno_location() #12
  %10905 = load i32, ptr %10904, align 4, !tbaa !5
  %10906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10893, ptr noundef @.str.1, i32 noundef %10894, ptr noundef @.str.73, ptr noundef @.str.3, i32 noundef 394, ptr noundef %10897, ptr noundef %10900, ptr noundef %10903, i32 noundef %10905) #11
  br label %10924

10907:                                            ; preds = %10885, %10878
  %10908 = load i32, ptr %225, align 4, !tbaa !5
  %10909 = call ptr @__errno_location() #12
  store i32 %10908, ptr %10909, align 4, !tbaa !5
  %10910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10911 = load i32, ptr @test_count, align 4, !tbaa !5
  %10912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10913 = load i32, ptr %10912, align 4, !tbaa !5
  %10914 = call ptr @s2n_strerror(i32 noundef %10913, ptr noundef @.str.4)
  %10915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  %10917 = call ptr @s2n_strerror_debug(i32 noundef %10916, ptr noundef @.str.4)
  %10918 = call ptr @__errno_location() #12
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  %10920 = call ptr @strerror(i32 noundef %10919) #11
  %10921 = call ptr @__errno_location() #12
  %10922 = load i32, ptr %10921, align 4, !tbaa !5
  %10923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10910, ptr noundef @.str.5, i32 noundef %10911, ptr noundef @.str.73, ptr noundef @.str.3, i32 noundef 394, ptr noundef %10914, ptr noundef %10917, ptr noundef %10920, i32 noundef %10922) #11
  br label %10924

10924:                                            ; preds = %10907, %10890
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %10925

10925:                                            ; preds = %10924
  br label %10926

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

10927:                                            ; No predecessors!
  br label %10928

10928:                                            ; preds = %10927
  br label %10929

10929:                                            ; preds = %10928, %10869
  br label %10930

10930:                                            ; preds = %10929
  br label %10931

10931:                                            ; preds = %10930
  %10932 = load ptr, ptr %6, align 8, !tbaa !9
  %10933 = getelementptr inbounds %struct.s2n_connection, ptr %10932, i32 0, i32 38
  %10934 = getelementptr inbounds %struct.s2n_stuffer, ptr %10933, i32 0, i32 0
  %10935 = getelementptr inbounds %struct.s2n_blob, ptr %10934, i32 0, i32 0
  %10936 = load ptr, ptr %10935, align 8, !tbaa !69
  %10937 = getelementptr inbounds i8, ptr %10936, i64 1
  store i8 3, ptr %10937, align 1, !tbaa !54
  %10938 = load ptr, ptr %6, align 8, !tbaa !9
  %10939 = getelementptr inbounds %struct.s2n_connection, ptr %10938, i32 0, i32 38
  %10940 = getelementptr inbounds %struct.s2n_stuffer, ptr %10939, i32 0, i32 0
  %10941 = getelementptr inbounds %struct.s2n_blob, ptr %10940, i32 0, i32 0
  %10942 = load ptr, ptr %10941, align 8, !tbaa !69
  %10943 = getelementptr inbounds i8, ptr %10942, i64 2
  store i8 4, ptr %10943, align 1, !tbaa !54
  br label %10944

10944:                                            ; preds = %10931
  br label %10945

10945:                                            ; preds = %10944
  br label %10946

10946:                                            ; preds = %10945
  %10947 = load i32, ptr @test_count, align 4, !tbaa !5
  %10948 = add nsw i32 %10947, 1
  store i32 %10948, ptr @test_count, align 4, !tbaa !5
  %10949 = load ptr, ptr %6, align 8, !tbaa !9
  %10950 = call i32 @s2n_record_header_parse(ptr noundef %10949, ptr noundef %222, ptr noundef %223)
  %10951 = icmp eq i32 %10950, -1
  br i1 %10951, label %11005, label %10952

10952:                                            ; preds = %10946
  br label %10953

10953:                                            ; preds = %10952
  br label %10954

10954:                                            ; preds = %10953
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %10955 = call ptr @__errno_location() #12
  %10956 = load i32, ptr %10955, align 4, !tbaa !5
  store i32 %10956, ptr %226, align 4, !tbaa !5
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = call i32 @s2n_print_stacktrace(ptr noundef %10957)
  %10959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10960 = trunc i8 %10959 to i1
  br i1 %10960, label %10961, label %10983

10961:                                            ; preds = %10954
  %10962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10963 = call i32 @fileno(ptr noundef %10962) #11
  %10964 = call i32 @isatty(i32 noundef %10963) #11
  %10965 = icmp ne i32 %10964, 0
  br i1 %10965, label %10966, label %10983

10966:                                            ; preds = %10961
  %10967 = load i32, ptr %226, align 4, !tbaa !5
  %10968 = call ptr @__errno_location() #12
  store i32 %10967, ptr %10968, align 4, !tbaa !5
  %10969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10970 = load i32, ptr @test_count, align 4, !tbaa !5
  %10971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10972 = load i32, ptr %10971, align 4, !tbaa !5
  %10973 = call ptr @s2n_strerror(i32 noundef %10972, ptr noundef @.str.4)
  %10974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10975 = load i32, ptr %10974, align 4, !tbaa !5
  %10976 = call ptr @s2n_strerror_debug(i32 noundef %10975, ptr noundef @.str.4)
  %10977 = call ptr @__errno_location() #12
  %10978 = load i32, ptr %10977, align 4, !tbaa !5
  %10979 = call ptr @strerror(i32 noundef %10978) #11
  %10980 = call ptr @__errno_location() #12
  %10981 = load i32, ptr %10980, align 4, !tbaa !5
  %10982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10969, ptr noundef @.str.1, i32 noundef %10970, ptr noundef @.str.74, ptr noundef @.str.3, i32 noundef 397, ptr noundef %10973, ptr noundef %10976, ptr noundef %10979, i32 noundef %10981) #11
  br label %11000

10983:                                            ; preds = %10961, %10954
  %10984 = load i32, ptr %226, align 4, !tbaa !5
  %10985 = call ptr @__errno_location() #12
  store i32 %10984, ptr %10985, align 4, !tbaa !5
  %10986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10987 = load i32, ptr @test_count, align 4, !tbaa !5
  %10988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10989 = load i32, ptr %10988, align 4, !tbaa !5
  %10990 = call ptr @s2n_strerror(i32 noundef %10989, ptr noundef @.str.4)
  %10991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10992 = load i32, ptr %10991, align 4, !tbaa !5
  %10993 = call ptr @s2n_strerror_debug(i32 noundef %10992, ptr noundef @.str.4)
  %10994 = call ptr @__errno_location() #12
  %10995 = load i32, ptr %10994, align 4, !tbaa !5
  %10996 = call ptr @strerror(i32 noundef %10995) #11
  %10997 = call ptr @__errno_location() #12
  %10998 = load i32, ptr %10997, align 4, !tbaa !5
  %10999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10986, ptr noundef @.str.5, i32 noundef %10987, ptr noundef @.str.74, ptr noundef @.str.3, i32 noundef 397, ptr noundef %10990, ptr noundef %10993, ptr noundef %10996, i32 noundef %10998) #11
  br label %11000

11000:                                            ; preds = %10983, %10966
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %11001

11001:                                            ; preds = %11000
  br label %11002

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

11003:                                            ; No predecessors!
  br label %11004

11004:                                            ; preds = %11003
  br label %11005

11005:                                            ; preds = %11004, %10946
  br label %11006

11006:                                            ; preds = %11005
  br label %11007

11007:                                            ; preds = %11006
  br label %11008

11008:                                            ; preds = %11007
  %11009 = load i32, ptr @test_count, align 4, !tbaa !5
  %11010 = add nsw i32 %11009, 1
  store i32 %11010, ptr @test_count, align 4, !tbaa !5
  %11011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11012 = load i32, ptr %11011, align 4, !tbaa !5
  %11013 = icmp eq i32 %11012, 335544322
  br i1 %11013, label %11067, label %11014

11014:                                            ; preds = %11008
  br label %11015

11015:                                            ; preds = %11014
  br label %11016

11016:                                            ; preds = %11015
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %11017 = call ptr @__errno_location() #12
  %11018 = load i32, ptr %11017, align 4, !tbaa !5
  store i32 %11018, ptr %227, align 4, !tbaa !5
  %11019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11020 = call i32 @s2n_print_stacktrace(ptr noundef %11019)
  %11021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11022 = trunc i8 %11021 to i1
  br i1 %11022, label %11023, label %11045

11023:                                            ; preds = %11016
  %11024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11025 = call i32 @fileno(ptr noundef %11024) #11
  %11026 = call i32 @isatty(i32 noundef %11025) #11
  %11027 = icmp ne i32 %11026, 0
  br i1 %11027, label %11028, label %11045

11028:                                            ; preds = %11023
  %11029 = load i32, ptr %227, align 4, !tbaa !5
  %11030 = call ptr @__errno_location() #12
  store i32 %11029, ptr %11030, align 4, !tbaa !5
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = load i32, ptr @test_count, align 4, !tbaa !5
  %11033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  %11035 = call ptr @s2n_strerror(i32 noundef %11034, ptr noundef @.str.4)
  %11036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  %11038 = call ptr @s2n_strerror_debug(i32 noundef %11037, ptr noundef @.str.4)
  %11039 = call ptr @__errno_location() #12
  %11040 = load i32, ptr %11039, align 4, !tbaa !5
  %11041 = call ptr @strerror(i32 noundef %11040) #11
  %11042 = call ptr @__errno_location() #12
  %11043 = load i32, ptr %11042, align 4, !tbaa !5
  %11044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11031, ptr noundef @.str.1, i32 noundef %11032, ptr noundef @.str.56, ptr noundef @.str.3, i32 noundef 397, ptr noundef %11035, ptr noundef %11038, ptr noundef %11041, i32 noundef %11043) #11
  br label %11062

11045:                                            ; preds = %11023, %11016
  %11046 = load i32, ptr %227, align 4, !tbaa !5
  %11047 = call ptr @__errno_location() #12
  store i32 %11046, ptr %11047, align 4, !tbaa !5
  %11048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11049 = load i32, ptr @test_count, align 4, !tbaa !5
  %11050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11051 = load i32, ptr %11050, align 4, !tbaa !5
  %11052 = call ptr @s2n_strerror(i32 noundef %11051, ptr noundef @.str.4)
  %11053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11054 = load i32, ptr %11053, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror_debug(i32 noundef %11054, ptr noundef @.str.4)
  %11056 = call ptr @__errno_location() #12
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @strerror(i32 noundef %11057) #11
  %11059 = call ptr @__errno_location() #12
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11048, ptr noundef @.str.5, i32 noundef %11049, ptr noundef @.str.56, ptr noundef @.str.3, i32 noundef 397, ptr noundef %11052, ptr noundef %11055, ptr noundef %11058, i32 noundef %11060) #11
  br label %11062

11062:                                            ; preds = %11045, %11028
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %11063

11063:                                            ; preds = %11062
  br label %11064

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

11065:                                            ; No predecessors!
  br label %11066

11066:                                            ; preds = %11065
  br label %11067

11067:                                            ; preds = %11066, %11008
  br label %11068

11068:                                            ; preds = %11067
  br label %11069

11069:                                            ; preds = %11068
  br label %11070

11070:                                            ; preds = %11069
  %11071 = load i32, ptr @test_count, align 4, !tbaa !5
  %11072 = add nsw i32 %11071, 1
  store i32 %11072, ptr @test_count, align 4, !tbaa !5
  %11073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call ptr @s2n_strerror_debug(i32 noundef %11074, ptr noundef @.str.4)
  %11076 = icmp eq ptr %11075, null
  br i1 %11076, label %11077, label %11130

11077:                                            ; preds = %11070
  br label %11078

11078:                                            ; preds = %11077
  br label %11079

11079:                                            ; preds = %11078
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %11080 = call ptr @__errno_location() #12
  %11081 = load i32, ptr %11080, align 4, !tbaa !5
  store i32 %11081, ptr %228, align 4, !tbaa !5
  %11082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11083 = call i32 @s2n_print_stacktrace(ptr noundef %11082)
  %11084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11085 = trunc i8 %11084 to i1
  br i1 %11085, label %11086, label %11108

11086:                                            ; preds = %11079
  %11087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11088 = call i32 @fileno(ptr noundef %11087) #11
  %11089 = call i32 @isatty(i32 noundef %11088) #11
  %11090 = icmp ne i32 %11089, 0
  br i1 %11090, label %11091, label %11108

11091:                                            ; preds = %11086
  %11092 = load i32, ptr %228, align 4, !tbaa !5
  %11093 = call ptr @__errno_location() #12
  store i32 %11092, ptr %11093, align 4, !tbaa !5
  %11094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11095 = load i32, ptr @test_count, align 4, !tbaa !5
  %11096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11097 = load i32, ptr %11096, align 4, !tbaa !5
  %11098 = call ptr @s2n_strerror(i32 noundef %11097, ptr noundef @.str.4)
  %11099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11100 = load i32, ptr %11099, align 4, !tbaa !5
  %11101 = call ptr @s2n_strerror_debug(i32 noundef %11100, ptr noundef @.str.4)
  %11102 = call ptr @__errno_location() #12
  %11103 = load i32, ptr %11102, align 4, !tbaa !5
  %11104 = call ptr @strerror(i32 noundef %11103) #11
  %11105 = call ptr @__errno_location() #12
  %11106 = load i32, ptr %11105, align 4, !tbaa !5
  %11107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11094, ptr noundef @.str.1, i32 noundef %11095, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 397, ptr noundef %11098, ptr noundef %11101, ptr noundef %11104, i32 noundef %11106) #11
  br label %11125

11108:                                            ; preds = %11086, %11079
  %11109 = load i32, ptr %228, align 4, !tbaa !5
  %11110 = call ptr @__errno_location() #12
  store i32 %11109, ptr %11110, align 4, !tbaa !5
  %11111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11112 = load i32, ptr @test_count, align 4, !tbaa !5
  %11113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11114 = load i32, ptr %11113, align 4, !tbaa !5
  %11115 = call ptr @s2n_strerror(i32 noundef %11114, ptr noundef @.str.4)
  %11116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11117 = load i32, ptr %11116, align 4, !tbaa !5
  %11118 = call ptr @s2n_strerror_debug(i32 noundef %11117, ptr noundef @.str.4)
  %11119 = call ptr @__errno_location() #12
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call ptr @strerror(i32 noundef %11120) #11
  %11122 = call ptr @__errno_location() #12
  %11123 = load i32, ptr %11122, align 4, !tbaa !5
  %11124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11111, ptr noundef @.str.5, i32 noundef %11112, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 397, ptr noundef %11115, ptr noundef %11118, ptr noundef %11121, i32 noundef %11123) #11
  br label %11125

11125:                                            ; preds = %11108, %11091
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %11126

11126:                                            ; preds = %11125
  br label %11127

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

11128:                                            ; No predecessors!
  br label %11129

11129:                                            ; preds = %11128
  br label %11130

11130:                                            ; preds = %11129, %11070
  br label %11131

11131:                                            ; preds = %11130
  br label %11132

11132:                                            ; preds = %11131
  br label %11133

11133:                                            ; preds = %11132
  br label %11134

11134:                                            ; preds = %11133
  br label %11135

11135:                                            ; preds = %11134
  %11136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11136, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11137 = call ptr @__errno_location() #12
  store i32 0, ptr %11137, align 4, !tbaa !5
  br label %11138

11138:                                            ; preds = %11135
  br label %11139

11139:                                            ; preds = %11138
  br label %11140

11140:                                            ; preds = %11139
  br label %11141

11141:                                            ; preds = %11140
  call void @llvm.lifetime.end.p0(i64 2, ptr %223) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %222) #11
  br label %11142

11142:                                            ; preds = %11141
  %11143 = load i32, ptr @test_count, align 4, !tbaa !5
  %11144 = add nsw i32 %11143, 1
  store i32 %11144, ptr @test_count, align 4, !tbaa !5
  %11145 = load ptr, ptr %6, align 8, !tbaa !9
  %11146 = call i32 @s2n_connection_wipe(ptr noundef %11145)
  %11147 = icmp eq i32 %11146, -1
  br i1 %11147, label %11148, label %11201

11148:                                            ; preds = %11142
  br label %11149

11149:                                            ; preds = %11148
  br label %11150

11150:                                            ; preds = %11149
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %11151 = call ptr @__errno_location() #12
  %11152 = load i32, ptr %11151, align 4, !tbaa !5
  store i32 %11152, ptr %229, align 4, !tbaa !5
  %11153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11154 = call i32 @s2n_print_stacktrace(ptr noundef %11153)
  %11155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11156 = trunc i8 %11155 to i1
  br i1 %11156, label %11157, label %11179

11157:                                            ; preds = %11150
  %11158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11159 = call i32 @fileno(ptr noundef %11158) #11
  %11160 = call i32 @isatty(i32 noundef %11159) #11
  %11161 = icmp ne i32 %11160, 0
  br i1 %11161, label %11162, label %11179

11162:                                            ; preds = %11157
  %11163 = load i32, ptr %229, align 4, !tbaa !5
  %11164 = call ptr @__errno_location() #12
  store i32 %11163, ptr %11164, align 4, !tbaa !5
  %11165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11166 = load i32, ptr @test_count, align 4, !tbaa !5
  %11167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11168 = load i32, ptr %11167, align 4, !tbaa !5
  %11169 = call ptr @s2n_strerror(i32 noundef %11168, ptr noundef @.str.4)
  %11170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11171 = load i32, ptr %11170, align 4, !tbaa !5
  %11172 = call ptr @s2n_strerror_debug(i32 noundef %11171, ptr noundef @.str.4)
  %11173 = call ptr @__errno_location() #12
  %11174 = load i32, ptr %11173, align 4, !tbaa !5
  %11175 = call ptr @strerror(i32 noundef %11174) #11
  %11176 = call ptr @__errno_location() #12
  %11177 = load i32, ptr %11176, align 4, !tbaa !5
  %11178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11165, ptr noundef @.str.1, i32 noundef %11166, ptr noundef @.str.75, ptr noundef @.str.3, i32 noundef 402, ptr noundef %11169, ptr noundef %11172, ptr noundef %11175, i32 noundef %11177) #11
  br label %11196

11179:                                            ; preds = %11157, %11150
  %11180 = load i32, ptr %229, align 4, !tbaa !5
  %11181 = call ptr @__errno_location() #12
  store i32 %11180, ptr %11181, align 4, !tbaa !5
  %11182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11183 = load i32, ptr @test_count, align 4, !tbaa !5
  %11184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  %11186 = call ptr @s2n_strerror(i32 noundef %11185, ptr noundef @.str.4)
  %11187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11188 = load i32, ptr %11187, align 4, !tbaa !5
  %11189 = call ptr @s2n_strerror_debug(i32 noundef %11188, ptr noundef @.str.4)
  %11190 = call ptr @__errno_location() #12
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  %11192 = call ptr @strerror(i32 noundef %11191) #11
  %11193 = call ptr @__errno_location() #12
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11182, ptr noundef @.str.5, i32 noundef %11183, ptr noundef @.str.75, ptr noundef @.str.3, i32 noundef 402, ptr noundef %11186, ptr noundef %11189, ptr noundef %11192, i32 noundef %11194) #11
  br label %11196

11196:                                            ; preds = %11179, %11162
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %11197

11197:                                            ; preds = %11196
  br label %11198

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

11199:                                            ; No predecessors!
  br label %11200

11200:                                            ; preds = %11199
  br label %11201

11201:                                            ; preds = %11200, %11142
  br label %11202

11202:                                            ; preds = %11201
  br label %11203

11203:                                            ; preds = %11202
  %11204 = load ptr, ptr %6, align 8, !tbaa !9
  %11205 = getelementptr inbounds %struct.s2n_connection, ptr %11204, i32 0, i32 23
  store i8 34, ptr %11205, align 4, !tbaa !51
  br label %11206

11206:                                            ; preds = %11203
  br label %11207

11207:                                            ; preds = %11206
  br label %11208

11208:                                            ; preds = %11207
  %11209 = load i32, ptr @test_count, align 4, !tbaa !5
  %11210 = add nsw i32 %11209, 1
  store i32 %11210, ptr @test_count, align 4, !tbaa !5
  %11211 = load ptr, ptr %6, align 8, !tbaa !9
  %11212 = call i32 @s2n_record_write(ptr noundef %11211, i8 noundef zeroext 23, ptr noundef %202)
  %11213 = getelementptr inbounds %struct.s2n_result, ptr %230, i32 0, i32 0
  store i32 %11212, ptr %11213, align 4
  %11214 = getelementptr inbounds %struct.s2n_result, ptr %230, i32 0, i32 0
  %11215 = load i32, ptr %11214, align 4
  %11216 = call zeroext i1 @s2n_result_is_error(i32 %11215)
  br i1 %11216, label %11270, label %11217

11217:                                            ; preds = %11208
  br label %11218

11218:                                            ; preds = %11217
  br label %11219

11219:                                            ; preds = %11218
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11220 = call ptr @__errno_location() #12
  %11221 = load i32, ptr %11220, align 4, !tbaa !5
  store i32 %11221, ptr %231, align 4, !tbaa !5
  %11222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11223 = call i32 @s2n_print_stacktrace(ptr noundef %11222)
  %11224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11225 = trunc i8 %11224 to i1
  br i1 %11225, label %11226, label %11248

11226:                                            ; preds = %11219
  %11227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11228 = call i32 @fileno(ptr noundef %11227) #11
  %11229 = call i32 @isatty(i32 noundef %11228) #11
  %11230 = icmp ne i32 %11229, 0
  br i1 %11230, label %11231, label %11248

11231:                                            ; preds = %11226
  %11232 = load i32, ptr %231, align 4, !tbaa !5
  %11233 = call ptr @__errno_location() #12
  store i32 %11232, ptr %11233, align 4, !tbaa !5
  %11234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11235 = load i32, ptr @test_count, align 4, !tbaa !5
  %11236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  %11238 = call ptr @s2n_strerror(i32 noundef %11237, ptr noundef @.str.4)
  %11239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  %11241 = call ptr @s2n_strerror_debug(i32 noundef %11240, ptr noundef @.str.4)
  %11242 = call ptr @__errno_location() #12
  %11243 = load i32, ptr %11242, align 4, !tbaa !5
  %11244 = call ptr @strerror(i32 noundef %11243) #11
  %11245 = call ptr @__errno_location() #12
  %11246 = load i32, ptr %11245, align 4, !tbaa !5
  %11247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11234, ptr noundef @.str.1, i32 noundef %11235, ptr noundef @.str.76, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11238, ptr noundef %11241, ptr noundef %11244, i32 noundef %11246) #11
  br label %11265

11248:                                            ; preds = %11226, %11219
  %11249 = load i32, ptr %231, align 4, !tbaa !5
  %11250 = call ptr @__errno_location() #12
  store i32 %11249, ptr %11250, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = load i32, ptr @test_count, align 4, !tbaa !5
  %11253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11254 = load i32, ptr %11253, align 4, !tbaa !5
  %11255 = call ptr @s2n_strerror(i32 noundef %11254, ptr noundef @.str.4)
  %11256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11257 = load i32, ptr %11256, align 4, !tbaa !5
  %11258 = call ptr @s2n_strerror_debug(i32 noundef %11257, ptr noundef @.str.4)
  %11259 = call ptr @__errno_location() #12
  %11260 = load i32, ptr %11259, align 4, !tbaa !5
  %11261 = call ptr @strerror(i32 noundef %11260) #11
  %11262 = call ptr @__errno_location() #12
  %11263 = load i32, ptr %11262, align 4, !tbaa !5
  %11264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11251, ptr noundef @.str.5, i32 noundef %11252, ptr noundef @.str.76, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11255, ptr noundef %11258, ptr noundef %11261, i32 noundef %11263) #11
  br label %11265

11265:                                            ; preds = %11248, %11231
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11266

11266:                                            ; preds = %11265
  br label %11267

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

11268:                                            ; No predecessors!
  br label %11269

11269:                                            ; preds = %11268
  br label %11270

11270:                                            ; preds = %11269, %11208
  br label %11271

11271:                                            ; preds = %11270
  br label %11272

11272:                                            ; preds = %11271
  br label %11273

11273:                                            ; preds = %11272
  %11274 = load i32, ptr @test_count, align 4, !tbaa !5
  %11275 = add nsw i32 %11274, 1
  store i32 %11275, ptr @test_count, align 4, !tbaa !5
  %11276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11277 = load i32, ptr %11276, align 4, !tbaa !5
  %11278 = icmp eq i32 %11277, 335544320
  br i1 %11278, label %11332, label %11279

11279:                                            ; preds = %11273
  br label %11280

11280:                                            ; preds = %11279
  br label %11281

11281:                                            ; preds = %11280
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %11282 = call ptr @__errno_location() #12
  %11283 = load i32, ptr %11282, align 4, !tbaa !5
  store i32 %11283, ptr %232, align 4, !tbaa !5
  %11284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11285 = call i32 @s2n_print_stacktrace(ptr noundef %11284)
  %11286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11287 = trunc i8 %11286 to i1
  br i1 %11287, label %11288, label %11310

11288:                                            ; preds = %11281
  %11289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11290 = call i32 @fileno(ptr noundef %11289) #11
  %11291 = call i32 @isatty(i32 noundef %11290) #11
  %11292 = icmp ne i32 %11291, 0
  br i1 %11292, label %11293, label %11310

11293:                                            ; preds = %11288
  %11294 = load i32, ptr %232, align 4, !tbaa !5
  %11295 = call ptr @__errno_location() #12
  store i32 %11294, ptr %11295, align 4, !tbaa !5
  %11296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11297 = load i32, ptr @test_count, align 4, !tbaa !5
  %11298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11299 = load i32, ptr %11298, align 4, !tbaa !5
  %11300 = call ptr @s2n_strerror(i32 noundef %11299, ptr noundef @.str.4)
  %11301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11302 = load i32, ptr %11301, align 4, !tbaa !5
  %11303 = call ptr @s2n_strerror_debug(i32 noundef %11302, ptr noundef @.str.4)
  %11304 = call ptr @__errno_location() #12
  %11305 = load i32, ptr %11304, align 4, !tbaa !5
  %11306 = call ptr @strerror(i32 noundef %11305) #11
  %11307 = call ptr @__errno_location() #12
  %11308 = load i32, ptr %11307, align 4, !tbaa !5
  %11309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11296, ptr noundef @.str.1, i32 noundef %11297, ptr noundef @.str.77, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11300, ptr noundef %11303, ptr noundef %11306, i32 noundef %11308) #11
  br label %11327

11310:                                            ; preds = %11288, %11281
  %11311 = load i32, ptr %232, align 4, !tbaa !5
  %11312 = call ptr @__errno_location() #12
  store i32 %11311, ptr %11312, align 4, !tbaa !5
  %11313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11314 = load i32, ptr @test_count, align 4, !tbaa !5
  %11315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11316 = load i32, ptr %11315, align 4, !tbaa !5
  %11317 = call ptr @s2n_strerror(i32 noundef %11316, ptr noundef @.str.4)
  %11318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11319 = load i32, ptr %11318, align 4, !tbaa !5
  %11320 = call ptr @s2n_strerror_debug(i32 noundef %11319, ptr noundef @.str.4)
  %11321 = call ptr @__errno_location() #12
  %11322 = load i32, ptr %11321, align 4, !tbaa !5
  %11323 = call ptr @strerror(i32 noundef %11322) #11
  %11324 = call ptr @__errno_location() #12
  %11325 = load i32, ptr %11324, align 4, !tbaa !5
  %11326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11313, ptr noundef @.str.5, i32 noundef %11314, ptr noundef @.str.77, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11317, ptr noundef %11320, ptr noundef %11323, i32 noundef %11325) #11
  br label %11327

11327:                                            ; preds = %11310, %11293
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %11328

11328:                                            ; preds = %11327
  br label %11329

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

11330:                                            ; No predecessors!
  br label %11331

11331:                                            ; preds = %11330
  br label %11332

11332:                                            ; preds = %11331, %11273
  br label %11333

11333:                                            ; preds = %11332
  br label %11334

11334:                                            ; preds = %11333
  br label %11335

11335:                                            ; preds = %11334
  %11336 = load i32, ptr @test_count, align 4, !tbaa !5
  %11337 = add nsw i32 %11336, 1
  store i32 %11337, ptr @test_count, align 4, !tbaa !5
  %11338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11339 = load i32, ptr %11338, align 4, !tbaa !5
  %11340 = call ptr @s2n_strerror_debug(i32 noundef %11339, ptr noundef @.str.4)
  %11341 = icmp eq ptr %11340, null
  br i1 %11341, label %11342, label %11395

11342:                                            ; preds = %11335
  br label %11343

11343:                                            ; preds = %11342
  br label %11344

11344:                                            ; preds = %11343
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11345 = call ptr @__errno_location() #12
  %11346 = load i32, ptr %11345, align 4, !tbaa !5
  store i32 %11346, ptr %233, align 4, !tbaa !5
  %11347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11348 = call i32 @s2n_print_stacktrace(ptr noundef %11347)
  %11349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11350 = trunc i8 %11349 to i1
  br i1 %11350, label %11351, label %11373

11351:                                            ; preds = %11344
  %11352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11353 = call i32 @fileno(ptr noundef %11352) #11
  %11354 = call i32 @isatty(i32 noundef %11353) #11
  %11355 = icmp ne i32 %11354, 0
  br i1 %11355, label %11356, label %11373

11356:                                            ; preds = %11351
  %11357 = load i32, ptr %233, align 4, !tbaa !5
  %11358 = call ptr @__errno_location() #12
  store i32 %11357, ptr %11358, align 4, !tbaa !5
  %11359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11360 = load i32, ptr @test_count, align 4, !tbaa !5
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror(i32 noundef %11362, ptr noundef @.str.4)
  %11364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call ptr @s2n_strerror_debug(i32 noundef %11365, ptr noundef @.str.4)
  %11367 = call ptr @__errno_location() #12
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call ptr @strerror(i32 noundef %11368) #11
  %11370 = call ptr @__errno_location() #12
  %11371 = load i32, ptr %11370, align 4, !tbaa !5
  %11372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11359, ptr noundef @.str.1, i32 noundef %11360, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11363, ptr noundef %11366, ptr noundef %11369, i32 noundef %11371) #11
  br label %11390

11373:                                            ; preds = %11351, %11344
  %11374 = load i32, ptr %233, align 4, !tbaa !5
  %11375 = call ptr @__errno_location() #12
  store i32 %11374, ptr %11375, align 4, !tbaa !5
  %11376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11377 = load i32, ptr @test_count, align 4, !tbaa !5
  %11378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call ptr @s2n_strerror(i32 noundef %11379, ptr noundef @.str.4)
  %11381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @s2n_strerror_debug(i32 noundef %11382, ptr noundef @.str.4)
  %11384 = call ptr @__errno_location() #12
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call ptr @strerror(i32 noundef %11385) #11
  %11387 = call ptr @__errno_location() #12
  %11388 = load i32, ptr %11387, align 4, !tbaa !5
  %11389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11376, ptr noundef @.str.5, i32 noundef %11377, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 406, ptr noundef %11380, ptr noundef %11383, ptr noundef %11386, i32 noundef %11388) #11
  br label %11390

11390:                                            ; preds = %11373, %11356
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11391

11391:                                            ; preds = %11390
  br label %11392

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

11393:                                            ; No predecessors!
  br label %11394

11394:                                            ; preds = %11393
  br label %11395

11395:                                            ; preds = %11394, %11335
  br label %11396

11396:                                            ; preds = %11395
  br label %11397

11397:                                            ; preds = %11396
  br label %11398

11398:                                            ; preds = %11397
  br label %11399

11399:                                            ; preds = %11398
  br label %11400

11400:                                            ; preds = %11399
  %11401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11401, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11402 = call ptr @__errno_location() #12
  store i32 0, ptr %11402, align 4, !tbaa !5
  br label %11403

11403:                                            ; preds = %11400
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

11405:                                            ; preds = %11404
  br label %11406

11406:                                            ; preds = %11405
  call void @llvm.lifetime.start.p0(i64 5, ptr %234) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %234, ptr align 1 @__const.main.header_bytes, i64 5, i1 false)
  br label %11407

11407:                                            ; preds = %11406
  %11408 = load i32, ptr @test_count, align 4, !tbaa !5
  %11409 = add nsw i32 %11408, 1
  store i32 %11409, ptr @test_count, align 4, !tbaa !5
  %11410 = load ptr, ptr %6, align 8, !tbaa !9
  %11411 = getelementptr inbounds %struct.s2n_connection, ptr %11410, i32 0, i32 38
  %11412 = getelementptr inbounds [5 x i8], ptr %234, i64 0, i64 0
  %11413 = call i32 @s2n_stuffer_write_bytes(ptr noundef %11411, ptr noundef %11412, i32 noundef 5)
  %11414 = icmp eq i32 %11413, -1
  br i1 %11414, label %11415, label %11468

11415:                                            ; preds = %11407
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %11418 = call ptr @__errno_location() #12
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  store i32 %11419, ptr %235, align 4, !tbaa !5
  %11420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11421 = call i32 @s2n_print_stacktrace(ptr noundef %11420)
  %11422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11423 = trunc i8 %11422 to i1
  br i1 %11423, label %11424, label %11446

11424:                                            ; preds = %11417
  %11425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11426 = call i32 @fileno(ptr noundef %11425) #11
  %11427 = call i32 @isatty(i32 noundef %11426) #11
  %11428 = icmp ne i32 %11427, 0
  br i1 %11428, label %11429, label %11446

11429:                                            ; preds = %11424
  %11430 = load i32, ptr %235, align 4, !tbaa !5
  %11431 = call ptr @__errno_location() #12
  store i32 %11430, ptr %11431, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = load i32, ptr @test_count, align 4, !tbaa !5
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror(i32 noundef %11435, ptr noundef @.str.4)
  %11437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @s2n_strerror_debug(i32 noundef %11438, ptr noundef @.str.4)
  %11440 = call ptr @__errno_location() #12
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call ptr @strerror(i32 noundef %11441) #11
  %11443 = call ptr @__errno_location() #12
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11432, ptr noundef @.str.1, i32 noundef %11433, ptr noundef @.str.78, ptr noundef @.str.3, i32 noundef 410, ptr noundef %11436, ptr noundef %11439, ptr noundef %11442, i32 noundef %11444) #11
  br label %11463

11446:                                            ; preds = %11424, %11417
  %11447 = load i32, ptr %235, align 4, !tbaa !5
  %11448 = call ptr @__errno_location() #12
  store i32 %11447, ptr %11448, align 4, !tbaa !5
  %11449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11450 = load i32, ptr @test_count, align 4, !tbaa !5
  %11451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11452 = load i32, ptr %11451, align 4, !tbaa !5
  %11453 = call ptr @s2n_strerror(i32 noundef %11452, ptr noundef @.str.4)
  %11454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  %11456 = call ptr @s2n_strerror_debug(i32 noundef %11455, ptr noundef @.str.4)
  %11457 = call ptr @__errno_location() #12
  %11458 = load i32, ptr %11457, align 4, !tbaa !5
  %11459 = call ptr @strerror(i32 noundef %11458) #11
  %11460 = call ptr @__errno_location() #12
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11449, ptr noundef @.str.5, i32 noundef %11450, ptr noundef @.str.78, ptr noundef @.str.3, i32 noundef 410, ptr noundef %11453, ptr noundef %11456, ptr noundef %11459, i32 noundef %11461) #11
  br label %11463

11463:                                            ; preds = %11446, %11429
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11464

11464:                                            ; preds = %11463
  br label %11465

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

11466:                                            ; No predecessors!
  br label %11467

11467:                                            ; preds = %11466
  br label %11468

11468:                                            ; preds = %11467, %11407
  br label %11469

11469:                                            ; preds = %11468
  br label %11470

11470:                                            ; preds = %11469
  br label %11471

11471:                                            ; preds = %11470
  br label %11472

11472:                                            ; preds = %11471
  br label %11473

11473:                                            ; preds = %11472
  %11474 = load i32, ptr @test_count, align 4, !tbaa !5
  %11475 = add nsw i32 %11474, 1
  store i32 %11475, ptr @test_count, align 4, !tbaa !5
  %11476 = load ptr, ptr %6, align 8, !tbaa !9
  %11477 = call i32 @s2n_record_parse(ptr noundef %11476)
  %11478 = icmp eq i32 %11477, -1
  br i1 %11478, label %11532, label %11479

11479:                                            ; preds = %11473
  br label %11480

11480:                                            ; preds = %11479
  br label %11481

11481:                                            ; preds = %11480
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %11482 = call ptr @__errno_location() #12
  %11483 = load i32, ptr %11482, align 4, !tbaa !5
  store i32 %11483, ptr %236, align 4, !tbaa !5
  %11484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11485 = call i32 @s2n_print_stacktrace(ptr noundef %11484)
  %11486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11487 = trunc i8 %11486 to i1
  br i1 %11487, label %11488, label %11510

11488:                                            ; preds = %11481
  %11489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11490 = call i32 @fileno(ptr noundef %11489) #11
  %11491 = call i32 @isatty(i32 noundef %11490) #11
  %11492 = icmp ne i32 %11491, 0
  br i1 %11492, label %11493, label %11510

11493:                                            ; preds = %11488
  %11494 = load i32, ptr %236, align 4, !tbaa !5
  %11495 = call ptr @__errno_location() #12
  store i32 %11494, ptr %11495, align 4, !tbaa !5
  %11496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11497 = load i32, ptr @test_count, align 4, !tbaa !5
  %11498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11499 = load i32, ptr %11498, align 4, !tbaa !5
  %11500 = call ptr @s2n_strerror(i32 noundef %11499, ptr noundef @.str.4)
  %11501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11502 = load i32, ptr %11501, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror_debug(i32 noundef %11502, ptr noundef @.str.4)
  %11504 = call ptr @__errno_location() #12
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @strerror(i32 noundef %11505) #11
  %11507 = call ptr @__errno_location() #12
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11496, ptr noundef @.str.1, i32 noundef %11497, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11500, ptr noundef %11503, ptr noundef %11506, i32 noundef %11508) #11
  br label %11527

11510:                                            ; preds = %11488, %11481
  %11511 = load i32, ptr %236, align 4, !tbaa !5
  %11512 = call ptr @__errno_location() #12
  store i32 %11511, ptr %11512, align 4, !tbaa !5
  %11513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11514 = load i32, ptr @test_count, align 4, !tbaa !5
  %11515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11516 = load i32, ptr %11515, align 4, !tbaa !5
  %11517 = call ptr @s2n_strerror(i32 noundef %11516, ptr noundef @.str.4)
  %11518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11519 = load i32, ptr %11518, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror_debug(i32 noundef %11519, ptr noundef @.str.4)
  %11521 = call ptr @__errno_location() #12
  %11522 = load i32, ptr %11521, align 4, !tbaa !5
  %11523 = call ptr @strerror(i32 noundef %11522) #11
  %11524 = call ptr @__errno_location() #12
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11513, ptr noundef @.str.5, i32 noundef %11514, ptr noundef @.str.52, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11517, ptr noundef %11520, ptr noundef %11523, i32 noundef %11525) #11
  br label %11527

11527:                                            ; preds = %11510, %11493
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %11528

11528:                                            ; preds = %11527
  br label %11529

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

11530:                                            ; No predecessors!
  br label %11531

11531:                                            ; preds = %11530
  br label %11532

11532:                                            ; preds = %11531, %11473
  br label %11533

11533:                                            ; preds = %11532
  br label %11534

11534:                                            ; preds = %11533
  br label %11535

11535:                                            ; preds = %11534
  %11536 = load i32, ptr @test_count, align 4, !tbaa !5
  %11537 = add nsw i32 %11536, 1
  store i32 %11537, ptr @test_count, align 4, !tbaa !5
  %11538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = icmp eq i32 %11539, 335544321
  br i1 %11540, label %11594, label %11541

11541:                                            ; preds = %11535
  br label %11542

11542:                                            ; preds = %11541
  br label %11543

11543:                                            ; preds = %11542
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %11544 = call ptr @__errno_location() #12
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  store i32 %11545, ptr %237, align 4, !tbaa !5
  %11546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11547 = call i32 @s2n_print_stacktrace(ptr noundef %11546)
  %11548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11549 = trunc i8 %11548 to i1
  br i1 %11549, label %11550, label %11572

11550:                                            ; preds = %11543
  %11551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11552 = call i32 @fileno(ptr noundef %11551) #11
  %11553 = call i32 @isatty(i32 noundef %11552) #11
  %11554 = icmp ne i32 %11553, 0
  br i1 %11554, label %11555, label %11572

11555:                                            ; preds = %11550
  %11556 = load i32, ptr %237, align 4, !tbaa !5
  %11557 = call ptr @__errno_location() #12
  store i32 %11556, ptr %11557, align 4, !tbaa !5
  %11558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11559 = load i32, ptr @test_count, align 4, !tbaa !5
  %11560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11561 = load i32, ptr %11560, align 4, !tbaa !5
  %11562 = call ptr @s2n_strerror(i32 noundef %11561, ptr noundef @.str.4)
  %11563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11564 = load i32, ptr %11563, align 4, !tbaa !5
  %11565 = call ptr @s2n_strerror_debug(i32 noundef %11564, ptr noundef @.str.4)
  %11566 = call ptr @__errno_location() #12
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call ptr @strerror(i32 noundef %11567) #11
  %11569 = call ptr @__errno_location() #12
  %11570 = load i32, ptr %11569, align 4, !tbaa !5
  %11571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11558, ptr noundef @.str.1, i32 noundef %11559, ptr noundef @.str.79, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11562, ptr noundef %11565, ptr noundef %11568, i32 noundef %11570) #11
  br label %11589

11572:                                            ; preds = %11550, %11543
  %11573 = load i32, ptr %237, align 4, !tbaa !5
  %11574 = call ptr @__errno_location() #12
  store i32 %11573, ptr %11574, align 4, !tbaa !5
  %11575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11576 = load i32, ptr @test_count, align 4, !tbaa !5
  %11577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11578 = load i32, ptr %11577, align 4, !tbaa !5
  %11579 = call ptr @s2n_strerror(i32 noundef %11578, ptr noundef @.str.4)
  %11580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11581 = load i32, ptr %11580, align 4, !tbaa !5
  %11582 = call ptr @s2n_strerror_debug(i32 noundef %11581, ptr noundef @.str.4)
  %11583 = call ptr @__errno_location() #12
  %11584 = load i32, ptr %11583, align 4, !tbaa !5
  %11585 = call ptr @strerror(i32 noundef %11584) #11
  %11586 = call ptr @__errno_location() #12
  %11587 = load i32, ptr %11586, align 4, !tbaa !5
  %11588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11575, ptr noundef @.str.5, i32 noundef %11576, ptr noundef @.str.79, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11579, ptr noundef %11582, ptr noundef %11585, i32 noundef %11587) #11
  br label %11589

11589:                                            ; preds = %11572, %11555
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %11590

11590:                                            ; preds = %11589
  br label %11591

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

11592:                                            ; No predecessors!
  br label %11593

11593:                                            ; preds = %11592
  br label %11594

11594:                                            ; preds = %11593, %11535
  br label %11595

11595:                                            ; preds = %11594
  br label %11596

11596:                                            ; preds = %11595
  br label %11597

11597:                                            ; preds = %11596
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = add nsw i32 %11598, 1
  store i32 %11599, ptr @test_count, align 4, !tbaa !5
  %11600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror_debug(i32 noundef %11601, ptr noundef @.str.4)
  %11603 = icmp eq ptr %11602, null
  br i1 %11603, label %11604, label %11657

11604:                                            ; preds = %11597
  br label %11605

11605:                                            ; preds = %11604
  br label %11606

11606:                                            ; preds = %11605
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %11607 = call ptr @__errno_location() #12
  %11608 = load i32, ptr %11607, align 4, !tbaa !5
  store i32 %11608, ptr %238, align 4, !tbaa !5
  %11609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11610 = call i32 @s2n_print_stacktrace(ptr noundef %11609)
  %11611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11612 = trunc i8 %11611 to i1
  br i1 %11612, label %11613, label %11635

11613:                                            ; preds = %11606
  %11614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11615 = call i32 @fileno(ptr noundef %11614) #11
  %11616 = call i32 @isatty(i32 noundef %11615) #11
  %11617 = icmp ne i32 %11616, 0
  br i1 %11617, label %11618, label %11635

11618:                                            ; preds = %11613
  %11619 = load i32, ptr %238, align 4, !tbaa !5
  %11620 = call ptr @__errno_location() #12
  store i32 %11619, ptr %11620, align 4, !tbaa !5
  %11621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11622 = load i32, ptr @test_count, align 4, !tbaa !5
  %11623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11624 = load i32, ptr %11623, align 4, !tbaa !5
  %11625 = call ptr @s2n_strerror(i32 noundef %11624, ptr noundef @.str.4)
  %11626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11627 = load i32, ptr %11626, align 4, !tbaa !5
  %11628 = call ptr @s2n_strerror_debug(i32 noundef %11627, ptr noundef @.str.4)
  %11629 = call ptr @__errno_location() #12
  %11630 = load i32, ptr %11629, align 4, !tbaa !5
  %11631 = call ptr @strerror(i32 noundef %11630) #11
  %11632 = call ptr @__errno_location() #12
  %11633 = load i32, ptr %11632, align 4, !tbaa !5
  %11634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11621, ptr noundef @.str.1, i32 noundef %11622, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11625, ptr noundef %11628, ptr noundef %11631, i32 noundef %11633) #11
  br label %11652

11635:                                            ; preds = %11613, %11606
  %11636 = load i32, ptr %238, align 4, !tbaa !5
  %11637 = call ptr @__errno_location() #12
  store i32 %11636, ptr %11637, align 4, !tbaa !5
  %11638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11639 = load i32, ptr @test_count, align 4, !tbaa !5
  %11640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11641 = load i32, ptr %11640, align 4, !tbaa !5
  %11642 = call ptr @s2n_strerror(i32 noundef %11641, ptr noundef @.str.4)
  %11643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11644 = load i32, ptr %11643, align 4, !tbaa !5
  %11645 = call ptr @s2n_strerror_debug(i32 noundef %11644, ptr noundef @.str.4)
  %11646 = call ptr @__errno_location() #12
  %11647 = load i32, ptr %11646, align 4, !tbaa !5
  %11648 = call ptr @strerror(i32 noundef %11647) #11
  %11649 = call ptr @__errno_location() #12
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  %11651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11638, ptr noundef @.str.5, i32 noundef %11639, ptr noundef @.str.21, ptr noundef @.str.3, i32 noundef 411, ptr noundef %11642, ptr noundef %11645, ptr noundef %11648, i32 noundef %11650) #11
  br label %11652

11652:                                            ; preds = %11635, %11618
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %11653

11653:                                            ; preds = %11652
  br label %11654

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

11655:                                            ; No predecessors!
  br label %11656

11656:                                            ; preds = %11655
  br label %11657

11657:                                            ; preds = %11656, %11597
  br label %11658

11658:                                            ; preds = %11657
  br label %11659

11659:                                            ; preds = %11658
  br label %11660

11660:                                            ; preds = %11659
  br label %11661

11661:                                            ; preds = %11660
  br label %11662

11662:                                            ; preds = %11661
  %11663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11663, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11664 = call ptr @__errno_location() #12
  store i32 0, ptr %11664, align 4, !tbaa !5
  br label %11665

11665:                                            ; preds = %11662
  br label %11666

11666:                                            ; preds = %11665
  br label %11667

11667:                                            ; preds = %11666
  br label %11668

11668:                                            ; preds = %11667
  call void @llvm.lifetime.end.p0(i64 5, ptr %234) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #11
  %11669 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11669, ptr %239, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %240) #11
  store i8 0, ptr %240, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 2, ptr %241) #11
  store i16 0, ptr %241, align 2, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 5, ptr %242) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %242, ptr align 1 @__const.main.header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 5, ptr %243) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %243, ptr align 1 @__const.main.altered_header, i64 5, i1 false)
  br label %11670

11670:                                            ; preds = %11668
  %11671 = load i32, ptr @test_count, align 4, !tbaa !5
  %11672 = add nsw i32 %11671, 1
  store i32 %11672, ptr @test_count, align 4, !tbaa !5
  %11673 = load ptr, ptr %239, align 8, !tbaa !9
  %11674 = getelementptr inbounds %struct.s2n_connection, ptr %11673, i32 0, i32 38
  %11675 = getelementptr inbounds [5 x i8], ptr %242, i64 0, i64 0
  %11676 = call i32 @s2n_stuffer_write_bytes(ptr noundef %11674, ptr noundef %11675, i32 noundef 5)
  %11677 = icmp eq i32 %11676, -1
  br i1 %11677, label %11678, label %11731

11678:                                            ; preds = %11670
  br label %11679

11679:                                            ; preds = %11678
  br label %11680

11680:                                            ; preds = %11679
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %11681 = call ptr @__errno_location() #12
  %11682 = load i32, ptr %11681, align 4, !tbaa !5
  store i32 %11682, ptr %244, align 4, !tbaa !5
  %11683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11684 = call i32 @s2n_print_stacktrace(ptr noundef %11683)
  %11685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11686 = trunc i8 %11685 to i1
  br i1 %11686, label %11687, label %11709

11687:                                            ; preds = %11680
  %11688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11689 = call i32 @fileno(ptr noundef %11688) #11
  %11690 = call i32 @isatty(i32 noundef %11689) #11
  %11691 = icmp ne i32 %11690, 0
  br i1 %11691, label %11692, label %11709

11692:                                            ; preds = %11687
  %11693 = load i32, ptr %244, align 4, !tbaa !5
  %11694 = call ptr @__errno_location() #12
  store i32 %11693, ptr %11694, align 4, !tbaa !5
  %11695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11696 = load i32, ptr @test_count, align 4, !tbaa !5
  %11697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call ptr @s2n_strerror(i32 noundef %11698, ptr noundef @.str.4)
  %11700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11701 = load i32, ptr %11700, align 4, !tbaa !5
  %11702 = call ptr @s2n_strerror_debug(i32 noundef %11701, ptr noundef @.str.4)
  %11703 = call ptr @__errno_location() #12
  %11704 = load i32, ptr %11703, align 4, !tbaa !5
  %11705 = call ptr @strerror(i32 noundef %11704) #11
  %11706 = call ptr @__errno_location() #12
  %11707 = load i32, ptr %11706, align 4, !tbaa !5
  %11708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11695, ptr noundef @.str.1, i32 noundef %11696, ptr noundef @.str.80, ptr noundef @.str.3, i32 noundef 428, ptr noundef %11699, ptr noundef %11702, ptr noundef %11705, i32 noundef %11707) #11
  br label %11726

11709:                                            ; preds = %11687, %11680
  %11710 = load i32, ptr %244, align 4, !tbaa !5
  %11711 = call ptr @__errno_location() #12
  store i32 %11710, ptr %11711, align 4, !tbaa !5
  %11712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11713 = load i32, ptr @test_count, align 4, !tbaa !5
  %11714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11715 = load i32, ptr %11714, align 4, !tbaa !5
  %11716 = call ptr @s2n_strerror(i32 noundef %11715, ptr noundef @.str.4)
  %11717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11718 = load i32, ptr %11717, align 4, !tbaa !5
  %11719 = call ptr @s2n_strerror_debug(i32 noundef %11718, ptr noundef @.str.4)
  %11720 = call ptr @__errno_location() #12
  %11721 = load i32, ptr %11720, align 4, !tbaa !5
  %11722 = call ptr @strerror(i32 noundef %11721) #11
  %11723 = call ptr @__errno_location() #12
  %11724 = load i32, ptr %11723, align 4, !tbaa !5
  %11725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11712, ptr noundef @.str.5, i32 noundef %11713, ptr noundef @.str.80, ptr noundef @.str.3, i32 noundef 428, ptr noundef %11716, ptr noundef %11719, ptr noundef %11722, i32 noundef %11724) #11
  br label %11726

11726:                                            ; preds = %11709, %11692
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %11727

11727:                                            ; preds = %11726
  br label %11728

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

11729:                                            ; No predecessors!
  br label %11730

11730:                                            ; preds = %11729
  br label %11731

11731:                                            ; preds = %11730, %11670
  br label %11732

11732:                                            ; preds = %11731
  br label %11733

11733:                                            ; preds = %11732
  br label %11734

11734:                                            ; preds = %11733
  %11735 = load i32, ptr @test_count, align 4, !tbaa !5
  %11736 = add nsw i32 %11735, 1
  store i32 %11736, ptr @test_count, align 4, !tbaa !5
  %11737 = load ptr, ptr %239, align 8, !tbaa !9
  %11738 = call i32 @s2n_record_header_parse(ptr noundef %11737, ptr noundef %240, ptr noundef %241)
  %11739 = icmp eq i32 %11738, -1
  br i1 %11739, label %11740, label %11793

11740:                                            ; preds = %11734
  br label %11741

11741:                                            ; preds = %11740
  br label %11742

11742:                                            ; preds = %11741
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %11743 = call ptr @__errno_location() #12
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  store i32 %11744, ptr %245, align 4, !tbaa !5
  %11745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11746 = call i32 @s2n_print_stacktrace(ptr noundef %11745)
  %11747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11748 = trunc i8 %11747 to i1
  br i1 %11748, label %11749, label %11771

11749:                                            ; preds = %11742
  %11750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11751 = call i32 @fileno(ptr noundef %11750) #11
  %11752 = call i32 @isatty(i32 noundef %11751) #11
  %11753 = icmp ne i32 %11752, 0
  br i1 %11753, label %11754, label %11771

11754:                                            ; preds = %11749
  %11755 = load i32, ptr %245, align 4, !tbaa !5
  %11756 = call ptr @__errno_location() #12
  store i32 %11755, ptr %11756, align 4, !tbaa !5
  %11757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11758 = load i32, ptr @test_count, align 4, !tbaa !5
  %11759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11760 = load i32, ptr %11759, align 4, !tbaa !5
  %11761 = call ptr @s2n_strerror(i32 noundef %11760, ptr noundef @.str.4)
  %11762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11763 = load i32, ptr %11762, align 4, !tbaa !5
  %11764 = call ptr @s2n_strerror_debug(i32 noundef %11763, ptr noundef @.str.4)
  %11765 = call ptr @__errno_location() #12
  %11766 = load i32, ptr %11765, align 4, !tbaa !5
  %11767 = call ptr @strerror(i32 noundef %11766) #11
  %11768 = call ptr @__errno_location() #12
  %11769 = load i32, ptr %11768, align 4, !tbaa !5
  %11770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11757, ptr noundef @.str.1, i32 noundef %11758, ptr noundef @.str.81, ptr noundef @.str.3, i32 noundef 429, ptr noundef %11761, ptr noundef %11764, ptr noundef %11767, i32 noundef %11769) #11
  br label %11788

11771:                                            ; preds = %11749, %11742
  %11772 = load i32, ptr %245, align 4, !tbaa !5
  %11773 = call ptr @__errno_location() #12
  store i32 %11772, ptr %11773, align 4, !tbaa !5
  %11774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11775 = load i32, ptr @test_count, align 4, !tbaa !5
  %11776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11777 = load i32, ptr %11776, align 4, !tbaa !5
  %11778 = call ptr @s2n_strerror(i32 noundef %11777, ptr noundef @.str.4)
  %11779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  %11781 = call ptr @s2n_strerror_debug(i32 noundef %11780, ptr noundef @.str.4)
  %11782 = call ptr @__errno_location() #12
  %11783 = load i32, ptr %11782, align 4, !tbaa !5
  %11784 = call ptr @strerror(i32 noundef %11783) #11
  %11785 = call ptr @__errno_location() #12
  %11786 = load i32, ptr %11785, align 4, !tbaa !5
  %11787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11774, ptr noundef @.str.5, i32 noundef %11775, ptr noundef @.str.81, ptr noundef @.str.3, i32 noundef 429, ptr noundef %11778, ptr noundef %11781, ptr noundef %11784, i32 noundef %11786) #11
  br label %11788

11788:                                            ; preds = %11771, %11754
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %11789

11789:                                            ; preds = %11788
  br label %11790

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

11791:                                            ; No predecessors!
  br label %11792

11792:                                            ; preds = %11791
  br label %11793

11793:                                            ; preds = %11792, %11734
  br label %11794

11794:                                            ; preds = %11793
  br label %11795

11795:                                            ; preds = %11794
  br label %11796

11796:                                            ; preds = %11795
  %11797 = load i32, ptr @test_count, align 4, !tbaa !5
  %11798 = add nsw i32 %11797, 1
  store i32 %11798, ptr @test_count, align 4, !tbaa !5
  %11799 = load ptr, ptr %239, align 8, !tbaa !9
  %11800 = getelementptr inbounds %struct.s2n_connection, ptr %11799, i32 0, i32 71
  %11801 = getelementptr inbounds %struct.s2n_client_hello, ptr %11800, i32 0, i32 6
  %11802 = load i8, ptr %11801, align 1, !tbaa !70
  %11803 = zext i8 %11802 to i32
  %11804 = icmp eq i32 %11803, 31
  br i1 %11804, label %11858, label %11805

11805:                                            ; preds = %11796
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

11807:                                            ; preds = %11806
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %11808 = call ptr @__errno_location() #12
  %11809 = load i32, ptr %11808, align 4, !tbaa !5
  store i32 %11809, ptr %246, align 4, !tbaa !5
  %11810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11811 = call i32 @s2n_print_stacktrace(ptr noundef %11810)
  %11812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11813 = trunc i8 %11812 to i1
  br i1 %11813, label %11814, label %11836

11814:                                            ; preds = %11807
  %11815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11816 = call i32 @fileno(ptr noundef %11815) #11
  %11817 = call i32 @isatty(i32 noundef %11816) #11
  %11818 = icmp ne i32 %11817, 0
  br i1 %11818, label %11819, label %11836

11819:                                            ; preds = %11814
  %11820 = load i32, ptr %246, align 4, !tbaa !5
  %11821 = call ptr @__errno_location() #12
  store i32 %11820, ptr %11821, align 4, !tbaa !5
  %11822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11823 = load i32, ptr @test_count, align 4, !tbaa !5
  %11824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11825 = load i32, ptr %11824, align 4, !tbaa !5
  %11826 = call ptr @s2n_strerror(i32 noundef %11825, ptr noundef @.str.4)
  %11827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11828 = load i32, ptr %11827, align 4, !tbaa !5
  %11829 = call ptr @s2n_strerror_debug(i32 noundef %11828, ptr noundef @.str.4)
  %11830 = call ptr @__errno_location() #12
  %11831 = load i32, ptr %11830, align 4, !tbaa !5
  %11832 = call ptr @strerror(i32 noundef %11831) #11
  %11833 = call ptr @__errno_location() #12
  %11834 = load i32, ptr %11833, align 4, !tbaa !5
  %11835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11822, ptr noundef @.str.1, i32 noundef %11823, ptr noundef @.str.82, ptr noundef @.str.3, i32 noundef 431, ptr noundef %11826, ptr noundef %11829, ptr noundef %11832, i32 noundef %11834) #11
  br label %11853

11836:                                            ; preds = %11814, %11807
  %11837 = load i32, ptr %246, align 4, !tbaa !5
  %11838 = call ptr @__errno_location() #12
  store i32 %11837, ptr %11838, align 4, !tbaa !5
  %11839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11840 = load i32, ptr @test_count, align 4, !tbaa !5
  %11841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11842 = load i32, ptr %11841, align 4, !tbaa !5
  %11843 = call ptr @s2n_strerror(i32 noundef %11842, ptr noundef @.str.4)
  %11844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11845 = load i32, ptr %11844, align 4, !tbaa !5
  %11846 = call ptr @s2n_strerror_debug(i32 noundef %11845, ptr noundef @.str.4)
  %11847 = call ptr @__errno_location() #12
  %11848 = load i32, ptr %11847, align 4, !tbaa !5
  %11849 = call ptr @strerror(i32 noundef %11848) #11
  %11850 = call ptr @__errno_location() #12
  %11851 = load i32, ptr %11850, align 4, !tbaa !5
  %11852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11839, ptr noundef @.str.5, i32 noundef %11840, ptr noundef @.str.82, ptr noundef @.str.3, i32 noundef 431, ptr noundef %11843, ptr noundef %11846, ptr noundef %11849, i32 noundef %11851) #11
  br label %11853

11853:                                            ; preds = %11836, %11819
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %11854

11854:                                            ; preds = %11853
  br label %11855

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

11856:                                            ; No predecessors!
  br label %11857

11857:                                            ; preds = %11856
  br label %11858

11858:                                            ; preds = %11857, %11796
  br label %11859

11859:                                            ; preds = %11858
  br label %11860

11860:                                            ; preds = %11859
  br label %11861

11861:                                            ; preds = %11860
  %11862 = load i32, ptr @test_count, align 4, !tbaa !5
  %11863 = add nsw i32 %11862, 1
  store i32 %11863, ptr @test_count, align 4, !tbaa !5
  %11864 = load ptr, ptr %239, align 8, !tbaa !9
  %11865 = getelementptr inbounds %struct.s2n_connection, ptr %11864, i32 0, i32 38
  %11866 = call i32 @s2n_stuffer_wipe(ptr noundef %11865)
  %11867 = icmp eq i32 %11866, -1
  br i1 %11867, label %11868, label %11921

11868:                                            ; preds = %11861
  br label %11869

11869:                                            ; preds = %11868
  br label %11870

11870:                                            ; preds = %11869
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %11871 = call ptr @__errno_location() #12
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  store i32 %11872, ptr %247, align 4, !tbaa !5
  %11873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11874 = call i32 @s2n_print_stacktrace(ptr noundef %11873)
  %11875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11876 = trunc i8 %11875 to i1
  br i1 %11876, label %11877, label %11899

11877:                                            ; preds = %11870
  %11878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11879 = call i32 @fileno(ptr noundef %11878) #11
  %11880 = call i32 @isatty(i32 noundef %11879) #11
  %11881 = icmp ne i32 %11880, 0
  br i1 %11881, label %11882, label %11899

11882:                                            ; preds = %11877
  %11883 = load i32, ptr %247, align 4, !tbaa !5
  %11884 = call ptr @__errno_location() #12
  store i32 %11883, ptr %11884, align 4, !tbaa !5
  %11885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11886 = load i32, ptr @test_count, align 4, !tbaa !5
  %11887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11888 = load i32, ptr %11887, align 4, !tbaa !5
  %11889 = call ptr @s2n_strerror(i32 noundef %11888, ptr noundef @.str.4)
  %11890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11891 = load i32, ptr %11890, align 4, !tbaa !5
  %11892 = call ptr @s2n_strerror_debug(i32 noundef %11891, ptr noundef @.str.4)
  %11893 = call ptr @__errno_location() #12
  %11894 = load i32, ptr %11893, align 4, !tbaa !5
  %11895 = call ptr @strerror(i32 noundef %11894) #11
  %11896 = call ptr @__errno_location() #12
  %11897 = load i32, ptr %11896, align 4, !tbaa !5
  %11898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11885, ptr noundef @.str.1, i32 noundef %11886, ptr noundef @.str.83, ptr noundef @.str.3, i32 noundef 433, ptr noundef %11889, ptr noundef %11892, ptr noundef %11895, i32 noundef %11897) #11
  br label %11916

11899:                                            ; preds = %11877, %11870
  %11900 = load i32, ptr %247, align 4, !tbaa !5
  %11901 = call ptr @__errno_location() #12
  store i32 %11900, ptr %11901, align 4, !tbaa !5
  %11902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11903 = load i32, ptr @test_count, align 4, !tbaa !5
  %11904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11905 = load i32, ptr %11904, align 4, !tbaa !5
  %11906 = call ptr @s2n_strerror(i32 noundef %11905, ptr noundef @.str.4)
  %11907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11908 = load i32, ptr %11907, align 4, !tbaa !5
  %11909 = call ptr @s2n_strerror_debug(i32 noundef %11908, ptr noundef @.str.4)
  %11910 = call ptr @__errno_location() #12
  %11911 = load i32, ptr %11910, align 4, !tbaa !5
  %11912 = call ptr @strerror(i32 noundef %11911) #11
  %11913 = call ptr @__errno_location() #12
  %11914 = load i32, ptr %11913, align 4, !tbaa !5
  %11915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11902, ptr noundef @.str.5, i32 noundef %11903, ptr noundef @.str.83, ptr noundef @.str.3, i32 noundef 433, ptr noundef %11906, ptr noundef %11909, ptr noundef %11912, i32 noundef %11914) #11
  br label %11916

11916:                                            ; preds = %11899, %11882
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %11917

11917:                                            ; preds = %11916
  br label %11918

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

11919:                                            ; No predecessors!
  br label %11920

11920:                                            ; preds = %11919
  br label %11921

11921:                                            ; preds = %11920, %11861
  br label %11922

11922:                                            ; preds = %11921
  br label %11923

11923:                                            ; preds = %11922
  br label %11924

11924:                                            ; preds = %11923
  %11925 = load i32, ptr @test_count, align 4, !tbaa !5
  %11926 = add nsw i32 %11925, 1
  store i32 %11926, ptr @test_count, align 4, !tbaa !5
  %11927 = load ptr, ptr %239, align 8, !tbaa !9
  %11928 = getelementptr inbounds %struct.s2n_connection, ptr %11927, i32 0, i32 38
  %11929 = getelementptr inbounds [5 x i8], ptr %243, i64 0, i64 0
  %11930 = call i32 @s2n_stuffer_write_bytes(ptr noundef %11928, ptr noundef %11929, i32 noundef 5)
  %11931 = icmp eq i32 %11930, -1
  br i1 %11931, label %11932, label %11985

11932:                                            ; preds = %11924
  br label %11933

11933:                                            ; preds = %11932
  br label %11934

11934:                                            ; preds = %11933
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %11935 = call ptr @__errno_location() #12
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  store i32 %11936, ptr %248, align 4, !tbaa !5
  %11937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11938 = call i32 @s2n_print_stacktrace(ptr noundef %11937)
  %11939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11940 = trunc i8 %11939 to i1
  br i1 %11940, label %11941, label %11963

11941:                                            ; preds = %11934
  %11942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11943 = call i32 @fileno(ptr noundef %11942) #11
  %11944 = call i32 @isatty(i32 noundef %11943) #11
  %11945 = icmp ne i32 %11944, 0
  br i1 %11945, label %11946, label %11963

11946:                                            ; preds = %11941
  %11947 = load i32, ptr %248, align 4, !tbaa !5
  %11948 = call ptr @__errno_location() #12
  store i32 %11947, ptr %11948, align 4, !tbaa !5
  %11949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11950 = load i32, ptr @test_count, align 4, !tbaa !5
  %11951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call ptr @s2n_strerror(i32 noundef %11952, ptr noundef @.str.4)
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef @.str.4)
  %11957 = call ptr @__errno_location() #12
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call ptr @strerror(i32 noundef %11958) #11
  %11960 = call ptr @__errno_location() #12
  %11961 = load i32, ptr %11960, align 4, !tbaa !5
  %11962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11949, ptr noundef @.str.1, i32 noundef %11950, ptr noundef @.str.84, ptr noundef @.str.3, i32 noundef 435, ptr noundef %11953, ptr noundef %11956, ptr noundef %11959, i32 noundef %11961) #11
  br label %11980

11963:                                            ; preds = %11941, %11934
  %11964 = load i32, ptr %248, align 4, !tbaa !5
  %11965 = call ptr @__errno_location() #12
  store i32 %11964, ptr %11965, align 4, !tbaa !5
  %11966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11967 = load i32, ptr @test_count, align 4, !tbaa !5
  %11968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call ptr @s2n_strerror(i32 noundef %11969, ptr noundef @.str.4)
  %11971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11972 = load i32, ptr %11971, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror_debug(i32 noundef %11972, ptr noundef @.str.4)
  %11974 = call ptr @__errno_location() #12
  %11975 = load i32, ptr %11974, align 4, !tbaa !5
  %11976 = call ptr @strerror(i32 noundef %11975) #11
  %11977 = call ptr @__errno_location() #12
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11966, ptr noundef @.str.5, i32 noundef %11967, ptr noundef @.str.84, ptr noundef @.str.3, i32 noundef 435, ptr noundef %11970, ptr noundef %11973, ptr noundef %11976, i32 noundef %11978) #11
  br label %11980

11980:                                            ; preds = %11963, %11946
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %11981

11981:                                            ; preds = %11980
  br label %11982

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

11983:                                            ; No predecessors!
  br label %11984

11984:                                            ; preds = %11983
  br label %11985

11985:                                            ; preds = %11984, %11924
  br label %11986

11986:                                            ; preds = %11985
  br label %11987

11987:                                            ; preds = %11986
  br label %11988

11988:                                            ; preds = %11987
  %11989 = load i32, ptr @test_count, align 4, !tbaa !5
  %11990 = add nsw i32 %11989, 1
  store i32 %11990, ptr @test_count, align 4, !tbaa !5
  %11991 = load ptr, ptr %239, align 8, !tbaa !9
  %11992 = call i32 @s2n_record_header_parse(ptr noundef %11991, ptr noundef %240, ptr noundef %241)
  %11993 = icmp eq i32 %11992, -1
  br i1 %11993, label %11994, label %12047

11994:                                            ; preds = %11988
  br label %11995

11995:                                            ; preds = %11994
  br label %11996

11996:                                            ; preds = %11995
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %11997 = call ptr @__errno_location() #12
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  store i32 %11998, ptr %249, align 4, !tbaa !5
  %11999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12000 = call i32 @s2n_print_stacktrace(ptr noundef %11999)
  %12001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12002 = trunc i8 %12001 to i1
  br i1 %12002, label %12003, label %12025

12003:                                            ; preds = %11996
  %12004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12005 = call i32 @fileno(ptr noundef %12004) #11
  %12006 = call i32 @isatty(i32 noundef %12005) #11
  %12007 = icmp ne i32 %12006, 0
  br i1 %12007, label %12008, label %12025

12008:                                            ; preds = %12003
  %12009 = load i32, ptr %249, align 4, !tbaa !5
  %12010 = call ptr @__errno_location() #12
  store i32 %12009, ptr %12010, align 4, !tbaa !5
  %12011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12012 = load i32, ptr @test_count, align 4, !tbaa !5
  %12013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12014 = load i32, ptr %12013, align 4, !tbaa !5
  %12015 = call ptr @s2n_strerror(i32 noundef %12014, ptr noundef @.str.4)
  %12016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12017 = load i32, ptr %12016, align 4, !tbaa !5
  %12018 = call ptr @s2n_strerror_debug(i32 noundef %12017, ptr noundef @.str.4)
  %12019 = call ptr @__errno_location() #12
  %12020 = load i32, ptr %12019, align 4, !tbaa !5
  %12021 = call ptr @strerror(i32 noundef %12020) #11
  %12022 = call ptr @__errno_location() #12
  %12023 = load i32, ptr %12022, align 4, !tbaa !5
  %12024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12011, ptr noundef @.str.1, i32 noundef %12012, ptr noundef @.str.81, ptr noundef @.str.3, i32 noundef 436, ptr noundef %12015, ptr noundef %12018, ptr noundef %12021, i32 noundef %12023) #11
  br label %12042

12025:                                            ; preds = %12003, %11996
  %12026 = load i32, ptr %249, align 4, !tbaa !5
  %12027 = call ptr @__errno_location() #12
  store i32 %12026, ptr %12027, align 4, !tbaa !5
  %12028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12029 = load i32, ptr @test_count, align 4, !tbaa !5
  %12030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12031 = load i32, ptr %12030, align 4, !tbaa !5
  %12032 = call ptr @s2n_strerror(i32 noundef %12031, ptr noundef @.str.4)
  %12033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12034 = load i32, ptr %12033, align 4, !tbaa !5
  %12035 = call ptr @s2n_strerror_debug(i32 noundef %12034, ptr noundef @.str.4)
  %12036 = call ptr @__errno_location() #12
  %12037 = load i32, ptr %12036, align 4, !tbaa !5
  %12038 = call ptr @strerror(i32 noundef %12037) #11
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12028, ptr noundef @.str.5, i32 noundef %12029, ptr noundef @.str.81, ptr noundef @.str.3, i32 noundef 436, ptr noundef %12032, ptr noundef %12035, ptr noundef %12038, i32 noundef %12040) #11
  br label %12042

12042:                                            ; preds = %12025, %12008
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %12043

12043:                                            ; preds = %12042
  br label %12044

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

12045:                                            ; No predecessors!
  br label %12046

12046:                                            ; preds = %12045
  br label %12047

12047:                                            ; preds = %12046, %11988
  br label %12048

12048:                                            ; preds = %12047
  br label %12049

12049:                                            ; preds = %12048
  br label %12050

12050:                                            ; preds = %12049
  %12051 = load i32, ptr @test_count, align 4, !tbaa !5
  %12052 = add nsw i32 %12051, 1
  store i32 %12052, ptr @test_count, align 4, !tbaa !5
  %12053 = load ptr, ptr %239, align 8, !tbaa !9
  %12054 = getelementptr inbounds %struct.s2n_connection, ptr %12053, i32 0, i32 71
  %12055 = getelementptr inbounds %struct.s2n_client_hello, ptr %12054, i32 0, i32 6
  %12056 = load i8, ptr %12055, align 1, !tbaa !70
  %12057 = zext i8 %12056 to i32
  %12058 = icmp eq i32 %12057, 31
  br i1 %12058, label %12112, label %12059

12059:                                            ; preds = %12050
  br label %12060

12060:                                            ; preds = %12059
  br label %12061

12061:                                            ; preds = %12060
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %12062 = call ptr @__errno_location() #12
  %12063 = load i32, ptr %12062, align 4, !tbaa !5
  store i32 %12063, ptr %250, align 4, !tbaa !5
  %12064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12065 = call i32 @s2n_print_stacktrace(ptr noundef %12064)
  %12066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12067 = trunc i8 %12066 to i1
  br i1 %12067, label %12068, label %12090

12068:                                            ; preds = %12061
  %12069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12070 = call i32 @fileno(ptr noundef %12069) #11
  %12071 = call i32 @isatty(i32 noundef %12070) #11
  %12072 = icmp ne i32 %12071, 0
  br i1 %12072, label %12073, label %12090

12073:                                            ; preds = %12068
  %12074 = load i32, ptr %250, align 4, !tbaa !5
  %12075 = call ptr @__errno_location() #12
  store i32 %12074, ptr %12075, align 4, !tbaa !5
  %12076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12077 = load i32, ptr @test_count, align 4, !tbaa !5
  %12078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12079 = load i32, ptr %12078, align 4, !tbaa !5
  %12080 = call ptr @s2n_strerror(i32 noundef %12079, ptr noundef @.str.4)
  %12081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12082 = load i32, ptr %12081, align 4, !tbaa !5
  %12083 = call ptr @s2n_strerror_debug(i32 noundef %12082, ptr noundef @.str.4)
  %12084 = call ptr @__errno_location() #12
  %12085 = load i32, ptr %12084, align 4, !tbaa !5
  %12086 = call ptr @strerror(i32 noundef %12085) #11
  %12087 = call ptr @__errno_location() #12
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  %12089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12076, ptr noundef @.str.1, i32 noundef %12077, ptr noundef @.str.82, ptr noundef @.str.3, i32 noundef 438, ptr noundef %12080, ptr noundef %12083, ptr noundef %12086, i32 noundef %12088) #11
  br label %12107

12090:                                            ; preds = %12068, %12061
  %12091 = load i32, ptr %250, align 4, !tbaa !5
  %12092 = call ptr @__errno_location() #12
  store i32 %12091, ptr %12092, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = load i32, ptr @test_count, align 4, !tbaa !5
  %12095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  %12097 = call ptr @s2n_strerror(i32 noundef %12096, ptr noundef @.str.4)
  %12098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  %12100 = call ptr @s2n_strerror_debug(i32 noundef %12099, ptr noundef @.str.4)
  %12101 = call ptr @__errno_location() #12
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  %12103 = call ptr @strerror(i32 noundef %12102) #11
  %12104 = call ptr @__errno_location() #12
  %12105 = load i32, ptr %12104, align 4, !tbaa !5
  %12106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12093, ptr noundef @.str.5, i32 noundef %12094, ptr noundef @.str.82, ptr noundef @.str.3, i32 noundef 438, ptr noundef %12097, ptr noundef %12100, ptr noundef %12103, i32 noundef %12105) #11
  br label %12107

12107:                                            ; preds = %12090, %12073
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %12108

12108:                                            ; preds = %12107
  br label %12109

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

12110:                                            ; No predecessors!
  br label %12111

12111:                                            ; preds = %12110
  br label %12112

12112:                                            ; preds = %12111, %12050
  br label %12113

12113:                                            ; preds = %12112
  br label %12114

12114:                                            ; preds = %12113
  call void @llvm.lifetime.end.p0(i64 5, ptr %243) #11
  call void @llvm.lifetime.end.p0(i64 5, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %241) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %240) #11
  %12115 = call i32 @s2n_connection_ptr_free(ptr noundef %239)
  %12116 = getelementptr inbounds %struct.s2n_result, ptr %251, i32 0, i32 0
  store i32 %12115, ptr %12116, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #11
  br label %12117

12117:                                            ; preds = %12114
  %12118 = load i32, ptr @test_count, align 4, !tbaa !5
  %12119 = add nsw i32 %12118, 1
  store i32 %12119, ptr @test_count, align 4, !tbaa !5
  %12120 = call i32 @s2n_hmac_free(ptr noundef %10)
  %12121 = icmp eq i32 %12120, -1
  br i1 %12121, label %12122, label %12175

12122:                                            ; preds = %12117
  br label %12123

12123:                                            ; preds = %12122
  br label %12124

12124:                                            ; preds = %12123
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %12125 = call ptr @__errno_location() #12
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  store i32 %12126, ptr %252, align 4, !tbaa !5
  %12127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12128 = call i32 @s2n_print_stacktrace(ptr noundef %12127)
  %12129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12130 = trunc i8 %12129 to i1
  br i1 %12130, label %12131, label %12153

12131:                                            ; preds = %12124
  %12132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12133 = call i32 @fileno(ptr noundef %12132) #11
  %12134 = call i32 @isatty(i32 noundef %12133) #11
  %12135 = icmp ne i32 %12134, 0
  br i1 %12135, label %12136, label %12153

12136:                                            ; preds = %12131
  %12137 = load i32, ptr %252, align 4, !tbaa !5
  %12138 = call ptr @__errno_location() #12
  store i32 %12137, ptr %12138, align 4, !tbaa !5
  %12139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12142 = load i32, ptr %12141, align 4, !tbaa !5
  %12143 = call ptr @s2n_strerror(i32 noundef %12142, ptr noundef @.str.4)
  %12144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror_debug(i32 noundef %12145, ptr noundef @.str.4)
  %12147 = call ptr @__errno_location() #12
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call ptr @strerror(i32 noundef %12148) #11
  %12150 = call ptr @__errno_location() #12
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12139, ptr noundef @.str.1, i32 noundef %12140, ptr noundef @.str.85, ptr noundef @.str.3, i32 noundef 441, ptr noundef %12143, ptr noundef %12146, ptr noundef %12149, i32 noundef %12151) #11
  br label %12170

12153:                                            ; preds = %12131, %12124
  %12154 = load i32, ptr %252, align 4, !tbaa !5
  %12155 = call ptr @__errno_location() #12
  store i32 %12154, ptr %12155, align 4, !tbaa !5
  %12156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12157 = load i32, ptr @test_count, align 4, !tbaa !5
  %12158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12159 = load i32, ptr %12158, align 4, !tbaa !5
  %12160 = call ptr @s2n_strerror(i32 noundef %12159, ptr noundef @.str.4)
  %12161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12162 = load i32, ptr %12161, align 4, !tbaa !5
  %12163 = call ptr @s2n_strerror_debug(i32 noundef %12162, ptr noundef @.str.4)
  %12164 = call ptr @__errno_location() #12
  %12165 = load i32, ptr %12164, align 4, !tbaa !5
  %12166 = call ptr @strerror(i32 noundef %12165) #11
  %12167 = call ptr @__errno_location() #12
  %12168 = load i32, ptr %12167, align 4, !tbaa !5
  %12169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12156, ptr noundef @.str.5, i32 noundef %12157, ptr noundef @.str.85, ptr noundef @.str.3, i32 noundef 441, ptr noundef %12160, ptr noundef %12163, ptr noundef %12166, i32 noundef %12168) #11
  br label %12170

12170:                                            ; preds = %12153, %12136
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %12171

12171:                                            ; preds = %12170
  br label %12172

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

12173:                                            ; No predecessors!
  br label %12174

12174:                                            ; preds = %12173
  br label %12175

12175:                                            ; preds = %12174, %12117
  br label %12176

12176:                                            ; preds = %12175
  br label %12177

12177:                                            ; preds = %12176
  br label %12178

12178:                                            ; preds = %12177
  %12179 = load i32, ptr @test_count, align 4, !tbaa !5
  %12180 = add nsw i32 %12179, 1
  store i32 %12180, ptr @test_count, align 4, !tbaa !5
  %12181 = load ptr, ptr %6, align 8, !tbaa !9
  %12182 = call i32 @s2n_connection_free(ptr noundef %12181)
  %12183 = icmp eq i32 %12182, -1
  br i1 %12183, label %12184, label %12237

12184:                                            ; preds = %12178
  br label %12185

12185:                                            ; preds = %12184
  br label %12186

12186:                                            ; preds = %12185
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %12187 = call ptr @__errno_location() #12
  %12188 = load i32, ptr %12187, align 4, !tbaa !5
  store i32 %12188, ptr %253, align 4, !tbaa !5
  %12189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12190 = call i32 @s2n_print_stacktrace(ptr noundef %12189)
  %12191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12192 = trunc i8 %12191 to i1
  br i1 %12192, label %12193, label %12215

12193:                                            ; preds = %12186
  %12194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12195 = call i32 @fileno(ptr noundef %12194) #11
  %12196 = call i32 @isatty(i32 noundef %12195) #11
  %12197 = icmp ne i32 %12196, 0
  br i1 %12197, label %12198, label %12215

12198:                                            ; preds = %12193
  %12199 = load i32, ptr %253, align 4, !tbaa !5
  %12200 = call ptr @__errno_location() #12
  store i32 %12199, ptr %12200, align 4, !tbaa !5
  %12201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12202 = load i32, ptr @test_count, align 4, !tbaa !5
  %12203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12204 = load i32, ptr %12203, align 4, !tbaa !5
  %12205 = call ptr @s2n_strerror(i32 noundef %12204, ptr noundef @.str.4)
  %12206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12207 = load i32, ptr %12206, align 4, !tbaa !5
  %12208 = call ptr @s2n_strerror_debug(i32 noundef %12207, ptr noundef @.str.4)
  %12209 = call ptr @__errno_location() #12
  %12210 = load i32, ptr %12209, align 4, !tbaa !5
  %12211 = call ptr @strerror(i32 noundef %12210) #11
  %12212 = call ptr @__errno_location() #12
  %12213 = load i32, ptr %12212, align 4, !tbaa !5
  %12214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12201, ptr noundef @.str.1, i32 noundef %12202, ptr noundef @.str.86, ptr noundef @.str.3, i32 noundef 443, ptr noundef %12205, ptr noundef %12208, ptr noundef %12211, i32 noundef %12213) #11
  br label %12232

12215:                                            ; preds = %12193, %12186
  %12216 = load i32, ptr %253, align 4, !tbaa !5
  %12217 = call ptr @__errno_location() #12
  store i32 %12216, ptr %12217, align 4, !tbaa !5
  %12218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12219 = load i32, ptr @test_count, align 4, !tbaa !5
  %12220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12221 = load i32, ptr %12220, align 4, !tbaa !5
  %12222 = call ptr @s2n_strerror(i32 noundef %12221, ptr noundef @.str.4)
  %12223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  %12225 = call ptr @s2n_strerror_debug(i32 noundef %12224, ptr noundef @.str.4)
  %12226 = call ptr @__errno_location() #12
  %12227 = load i32, ptr %12226, align 4, !tbaa !5
  %12228 = call ptr @strerror(i32 noundef %12227) #11
  %12229 = call ptr @__errno_location() #12
  %12230 = load i32, ptr %12229, align 4, !tbaa !5
  %12231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12218, ptr noundef @.str.5, i32 noundef %12219, ptr noundef @.str.86, ptr noundef @.str.3, i32 noundef 443, ptr noundef %12222, ptr noundef %12225, ptr noundef %12228, i32 noundef %12230) #11
  br label %12232

12232:                                            ; preds = %12215, %12198
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %12233

12233:                                            ; preds = %12232
  br label %12234

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

12235:                                            ; No predecessors!
  br label %12236

12236:                                            ; preds = %12235
  br label %12237

12237:                                            ; preds = %12236, %12178
  br label %12238

12238:                                            ; preds = %12237
  br label %12239

12239:                                            ; preds = %12238
  br label %12240

12240:                                            ; preds = %12239
  br label %12241

12241:                                            ; preds = %12240
  %12242 = call i32 @s2n_cleanup()
  %12243 = icmp eq i32 %12242, -1
  br i1 %12243, label %12244, label %12297

12244:                                            ; preds = %12241
  br label %12245

12245:                                            ; preds = %12244
  br label %12246

12246:                                            ; preds = %12245
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %12247 = call ptr @__errno_location() #12
  %12248 = load i32, ptr %12247, align 4, !tbaa !5
  store i32 %12248, ptr %254, align 4, !tbaa !5
  %12249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12250 = call i32 @s2n_print_stacktrace(ptr noundef %12249)
  %12251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12252 = trunc i8 %12251 to i1
  br i1 %12252, label %12253, label %12275

12253:                                            ; preds = %12246
  %12254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12255 = call i32 @fileno(ptr noundef %12254) #11
  %12256 = call i32 @isatty(i32 noundef %12255) #11
  %12257 = icmp ne i32 %12256, 0
  br i1 %12257, label %12258, label %12275

12258:                                            ; preds = %12253
  %12259 = load i32, ptr %254, align 4, !tbaa !5
  %12260 = call ptr @__errno_location() #12
  store i32 %12259, ptr %12260, align 4, !tbaa !5
  %12261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12262 = load i32, ptr @test_count, align 4, !tbaa !5
  %12263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror(i32 noundef %12264, ptr noundef @.str.4)
  %12266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12267 = load i32, ptr %12266, align 4, !tbaa !5
  %12268 = call ptr @s2n_strerror_debug(i32 noundef %12267, ptr noundef @.str.4)
  %12269 = call ptr @__errno_location() #12
  %12270 = load i32, ptr %12269, align 4, !tbaa !5
  %12271 = call ptr @strerror(i32 noundef %12270) #11
  %12272 = call ptr @__errno_location() #12
  %12273 = load i32, ptr %12272, align 4, !tbaa !5
  %12274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12261, ptr noundef @.str.1, i32 noundef %12262, ptr noundef @.str.87, ptr noundef @.str.3, i32 noundef 445, ptr noundef %12265, ptr noundef %12268, ptr noundef %12271, i32 noundef %12273) #11
  br label %12292

12275:                                            ; preds = %12253, %12246
  %12276 = load i32, ptr %254, align 4, !tbaa !5
  %12277 = call ptr @__errno_location() #12
  store i32 %12276, ptr %12277, align 4, !tbaa !5
  %12278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12279 = load i32, ptr @test_count, align 4, !tbaa !5
  %12280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12281 = load i32, ptr %12280, align 4, !tbaa !5
  %12282 = call ptr @s2n_strerror(i32 noundef %12281, ptr noundef @.str.4)
  %12283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12284 = load i32, ptr %12283, align 4, !tbaa !5
  %12285 = call ptr @s2n_strerror_debug(i32 noundef %12284, ptr noundef @.str.4)
  %12286 = call ptr @__errno_location() #12
  %12287 = load i32, ptr %12286, align 4, !tbaa !5
  %12288 = call ptr @strerror(i32 noundef %12287) #11
  %12289 = call ptr @__errno_location() #12
  %12290 = load i32, ptr %12289, align 4, !tbaa !5
  %12291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12278, ptr noundef @.str.5, i32 noundef %12279, ptr noundef @.str.87, ptr noundef @.str.3, i32 noundef 445, ptr noundef %12282, ptr noundef %12285, ptr noundef %12288, i32 noundef %12290) #11
  br label %12292

12292:                                            ; preds = %12275, %12258
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %12293

12293:                                            ; preds = %12292
  br label %12294

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

12295:                                            ; No predecessors!
  br label %12296

12296:                                            ; preds = %12295
  br label %12297

12297:                                            ; preds = %12296, %12241
  br label %12298

12298:                                            ; preds = %12297
  br label %12299

12299:                                            ; preds = %12298
  br label %12300

12300:                                            ; preds = %12299
  br label %12301

12301:                                            ; preds = %12300
  %12302 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %12303 = icmp eq i32 %12302, -1
  br i1 %12303, label %12304, label %12357

12304:                                            ; preds = %12301
  br label %12305

12305:                                            ; preds = %12304
  br label %12306

12306:                                            ; preds = %12305
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %12307 = call ptr @__errno_location() #12
  %12308 = load i32, ptr %12307, align 4, !tbaa !5
  store i32 %12308, ptr %255, align 4, !tbaa !5
  %12309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12310 = call i32 @s2n_print_stacktrace(ptr noundef %12309)
  %12311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12312 = trunc i8 %12311 to i1
  br i1 %12312, label %12313, label %12335

12313:                                            ; preds = %12306
  %12314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12315 = call i32 @fileno(ptr noundef %12314) #11
  %12316 = call i32 @isatty(i32 noundef %12315) #11
  %12317 = icmp ne i32 %12316, 0
  br i1 %12317, label %12318, label %12335

12318:                                            ; preds = %12313
  %12319 = load i32, ptr %255, align 4, !tbaa !5
  %12320 = call ptr @__errno_location() #12
  store i32 %12319, ptr %12320, align 4, !tbaa !5
  %12321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12322 = load i32, ptr @test_count, align 4, !tbaa !5
  %12323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12324 = load i32, ptr %12323, align 4, !tbaa !5
  %12325 = call ptr @s2n_strerror(i32 noundef %12324, ptr noundef @.str.4)
  %12326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  %12328 = call ptr @s2n_strerror_debug(i32 noundef %12327, ptr noundef @.str.4)
  %12329 = call ptr @__errno_location() #12
  %12330 = load i32, ptr %12329, align 4, !tbaa !5
  %12331 = call ptr @strerror(i32 noundef %12330) #11
  %12332 = call ptr @__errno_location() #12
  %12333 = load i32, ptr %12332, align 4, !tbaa !5
  %12334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12321, ptr noundef @.str.1, i32 noundef %12322, ptr noundef @.str.88, ptr noundef @.str.3, i32 noundef 445, ptr noundef %12325, ptr noundef %12328, ptr noundef %12331, i32 noundef %12333) #11
  br label %12352

12335:                                            ; preds = %12313, %12306
  %12336 = load i32, ptr %255, align 4, !tbaa !5
  %12337 = call ptr @__errno_location() #12
  store i32 %12336, ptr %12337, align 4, !tbaa !5
  %12338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12339 = load i32, ptr @test_count, align 4, !tbaa !5
  %12340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12341 = load i32, ptr %12340, align 4, !tbaa !5
  %12342 = call ptr @s2n_strerror(i32 noundef %12341, ptr noundef @.str.4)
  %12343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12344 = load i32, ptr %12343, align 4, !tbaa !5
  %12345 = call ptr @s2n_strerror_debug(i32 noundef %12344, ptr noundef @.str.4)
  %12346 = call ptr @__errno_location() #12
  %12347 = load i32, ptr %12346, align 4, !tbaa !5
  %12348 = call ptr @strerror(i32 noundef %12347) #11
  %12349 = call ptr @__errno_location() #12
  %12350 = load i32, ptr %12349, align 4, !tbaa !5
  %12351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12338, ptr noundef @.str.5, i32 noundef %12339, ptr noundef @.str.88, ptr noundef @.str.3, i32 noundef 445, ptr noundef %12342, ptr noundef %12345, ptr noundef %12348, i32 noundef %12350) #11
  br label %12352

12352:                                            ; preds = %12335, %12318
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %12353

12353:                                            ; preds = %12352
  br label %12354

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

12355:                                            ; No predecessors!
  br label %12356

12356:                                            ; preds = %12355
  br label %12357

12357:                                            ; preds = %12356, %12301
  br label %12358

12358:                                            ; preds = %12357
  br label %12359

12359:                                            ; preds = %12358
  %12360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12361 = trunc i8 %12360 to i1
  br i1 %12361, label %12362, label %12378

12362:                                            ; preds = %12359
  %12363 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12364 = call i32 @fileno(ptr noundef %12363) #11
  %12365 = call i32 @isatty(i32 noundef %12364) #11
  %12366 = icmp ne i32 %12365, 0
  br i1 %12366, label %12367, label %12378

12367:                                            ; preds = %12362
  %12368 = load i32, ptr @test_count, align 4, !tbaa !5
  %12369 = icmp ne i32 %12368, 0
  br i1 %12369, label %12370, label %12374

12370:                                            ; preds = %12367
  %12371 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12372 = load i32, ptr @test_count, align 4, !tbaa !5
  %12373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12371, ptr noundef @.str.89, i32 noundef %12372) #11
  br label %12377

12374:                                            ; preds = %12367
  %12375 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12375, ptr noundef @.str.90) #11
  br label %12377

12377:                                            ; preds = %12374, %12370
  br label %12389

12378:                                            ; preds = %12362, %12359
  %12379 = load i32, ptr @test_count, align 4, !tbaa !5
  %12380 = icmp ne i32 %12379, 0
  br i1 %12380, label %12381, label %12385

12381:                                            ; preds = %12378
  %12382 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12383 = load i32, ptr @test_count, align 4, !tbaa !5
  %12384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12382, ptr noundef @.str.91, i32 noundef %12383) #11
  br label %12388

12385:                                            ; preds = %12378
  %12386 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12386, ptr noundef @.str.92) #11
  br label %12388

12388:                                            ; preds = %12385, %12381
  br label %12389

12389:                                            ; preds = %12388, %12377
  store i32 0, ptr %3, align 4
  store i32 1, ptr %115, align 4
  br label %12394

12390:                                            ; No predecessors!
  br label %12391

12391:                                            ; preds = %12390
  br label %12392

12392:                                            ; preds = %12391
  br label %12393

12393:                                            ; preds = %12392
  store i32 0, ptr %115, align 4
  br label %12394

12394:                                            ; preds = %12393, %12389
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %202) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 8088, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 432, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %8) #11
  call void @llvm.lifetime.end.p0(i64 15, ptr %7) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #11
  %12395 = load i32, ptr %115, align 4
  switch i32 %12395, label %12398 [
    i32 0, label %12396
    i32 1, label %12396
  ]

12396:                                            ; preds = %12394, %12394
  %12397 = load i32, ptr %3, align 4
  ret i32 %12397

12398:                                            ; preds = %12394
  unreachable
}

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

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

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

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

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

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

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

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

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

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

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

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

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

declare i32 @s2n_disable_tls13_in_test(...) #4

declare i32 @s2n_hmac_new(ptr noundef) #4

declare i32 @s2n_hmac_init(ptr noundef, i32 noundef, ptr noundef, i32 noundef) #4

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

declare i32 @s2n_get_public_random_data(ptr noundef) #4

declare ptr @s2n_connection_new(i32 noundef) #4

declare i32 @s2n_stuffer_wipe(ptr noundef) #4

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) #4

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

declare void @s2n_debug_info_reset() #4

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

declare i32 @s2n_stuffer_resize_if_empty(ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_record_header_parse(ptr noundef, ptr noundef, ptr noundef) #4

declare i32 @s2n_record_parse(ptr noundef) #4

declare i32 @s2n_hmac_reset(ptr noundef) #4

declare i32 @s2n_hmac_update(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_hmac_digest(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_hmac_digest_verify(ptr noundef, ptr noundef, i32 noundef) #4

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

declare i32 @s2n_stuffer_reread(ptr noundef) #4

declare i32 @s2n_public_random(i64 noundef, ptr noundef) #4

declare i32 @s2n_connection_wipe(ptr noundef) #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_connection_ptr_free(ptr noundef) #4

declare i32 @s2n_hmac_free(ptr noundef) #4

declare i32 @s2n_connection_free(ptr noundef) #4

declare i32 @s2n_cleanup() #4

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!17 = !{!16, !6, i64 8}
!18 = !{!19, !10, i64 224}
!19 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !20, i64 160, !21, i64 168, !21, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !22, i64 240, !10, i64 632, !10, i64 640, !23, i64 648, !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, !21, i64 1944, !7, i64 1952, !34, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !35, i64 2004, !35, i64 2008, !36, i64 2016, !33, i64 2208, !6, i64 2212, !33, i64 2216, !21, i64 2224, !7, i64 2232, !21, i64 2240, !21, i64 2248, !21, i64 2256, !35, i64 2264, !35, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !16, i64 2792, !6, i64 2816, !16, i64 2824, !16, i64 2848, !16, i64 2872, !38, i64 2896, !40, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !16, i64 3784, !6, i64 3808, !42, i64 3816, !7, i64 3848, !34, i64 3992, !16, i64 4032, !16, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !33, i64 4084, !33, i64 4086, !6, i64 4088, !6, i64 4092, !16, i64 4096, !6, i64 4120, !43, i64 4128, !35, i64 4176, !7, i64 4180, !7, i64 4181}
!20 = !{!"s2n_timer", !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!23 = !{!"s2n_kex_parameters", !24, i64 0, !25, i64 8, !7, i64 24, !25, i64 56, !26, i64 72, !26, i64 184, !7, i64 296, !27, i64 360, !16, i64 448, !16, i64 472}
!24 = !{!"s2n_dh_params", !10, i64 0}
!25 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!26 = !{!"s2n_kem_group_params", !10, i64 0, !27, i64 8, !25, i64 96}
!27 = !{!"s2n_kem_params", !10, i64 0, !16, i64 8, !16, i64 32, !16, i64 56, !12, i64 80}
!28 = !{!"s2n_handshake_parameters", !29, i64 0, !29, i64 48, !16, 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", !16, i64 0, !6, i64 24, !6, i64 28}
!33 = !{!"short", !7, i64 0}
!34 = !{!"s2n_stuffer", !16, 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", !16, i64 0, !39, i64 24, !16, i64 728, !16, i64 752, !16, 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, !16, 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", !16, i64 0, !6, i64 24}
!43 = !{!"s2n_post_handshake", !34, i64 0, !7, i64 40}
!44 = !{!19, !10, i64 640}
!45 = !{!19, !10, i64 632}
!46 = !{!47, !10, i64 0}
!47 = !{!"s2n_crypto_parameters", !10, i64 0, !48, i64 8, !48, i64 16, !49, i64 24, !49, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!48 = !{!"s2n_session_key", !10, i64 0}
!49 = !{!"s2n_hmac_state", !6, i64 0, !33, i64 4, !6, i64 8, !33, i64 12, !7, i64 14, !50, i64 16, !50, i64 72, !50, i64 128, !50, i64 184, !7, i64 240, !7, i64 368}
!50 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !21, i64 16, !7, i64 24}
!51 = !{!19, !7, i64 220}
!52 = !{!21, !21, i64 0}
!53 = !{!19, !10, i64 1896}
!54 = !{!7, !7, i64 0}
!55 = !{!19, !6, i64 1924}
!56 = !{!19, !6, i64 1920}
!57 = !{!33, !33, i64 0}
!58 = distinct !{!58, !59}
!59 = !{!"llvm.loop.mustprogress"}
!60 = !{!61, !10, i64 48}
!61 = !{!"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}
!62 = !{!19, !10, i64 1856}
!63 = distinct !{!63, !59}
!64 = distinct !{!64, !59}
!65 = distinct !{!65, !59}
!66 = distinct !{!66, !59}
!67 = distinct !{!67, !59}
!68 = !{!19, !7, i64 222}
!69 = !{!19, !10, i64 1776}
!70 = !{!19, !7, i64 3697}


; 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_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 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@mock_block_cipher_suite = external dso_local global %struct.s2n_cipher_suite, align 8
@mock_null_sha1_record_alg = external dso_local global %struct.s2n_record_algorithm, align 8
@__const.main.mac_key = external hidden unnamed_addr constant [15 x i8], align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stderr = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [74 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 [80 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.7 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [72 x i8], align 1
@s2n_null_cipher_suite = external global %struct.s2n_cipher_suite, align 8
@.str.16 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.max_num_records = external hidden unnamed_addr constant [8 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.header_bytes = external hidden unnamed_addr constant [5 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.header = external hidden unnamed_addr constant [5 x i8], align 1
@__const.main.altered_header = external hidden unnamed_addr constant [5 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.92 = 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 [15 x i8], align 1
  %4 = alloca %struct.s2n_blob, align 8
  %5 = alloca %struct.s2n_hmac_state, align 8
  %6 = alloca [8088 x i8], align 16
  %7 = alloca %struct.s2n_blob, align 8
  %8 = alloca %struct.s2n_blob, align 8
  %9 = alloca i8, align 1
  %10 = alloca i16, align 2
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca i8, align 1
  %13 = alloca i8, align 1
  %14 = alloca [20 x i8], align 16
  %15 = alloca i8, align 1
  %16 = alloca i16, align 2
  %17 = alloca i64, align 8
  %18 = alloca %struct.s2n_blob, align 8
  %19 = alloca i8, align 1
  %20 = alloca i8, align 1
  %21 = alloca [20 x i8], align 16
  %22 = alloca i8, align 1
  %23 = alloca i16, align 2
  %24 = alloca %struct.s2n_blob, align 8
  %25 = alloca i8, align 1
  %26 = alloca i8, align 1
  %27 = alloca [20 x i8], align 16
  %28 = alloca i8, align 1
  %29 = alloca i16, align 2
  %30 = alloca %struct.s2n_blob, align 8
  %31 = alloca i8, align 1
  %32 = alloca i16, align 2
  %33 = alloca [5 x i8], align 1
  %34 = alloca ptr, align 8
  %35 = alloca i8, align 1
  %36 = alloca i16, align 2
  %37 = alloca [5 x i8], align 1
  %38 = alloca [5 x i8], align 1
  call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(15) %3, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.mac_key, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false)
  %39 = load i32, ptr @test_count, align 4, !tbaa !5
  %40 = add nsw i32 %39, 1
  store i32 %40, ptr @test_count, align 4, !tbaa !5
  %41 = call i32 @s2n_blob_init(ptr noundef nonnull %4, ptr noundef nonnull %3, i32 noundef 15) #12
  %42 = icmp eq i32 %41, -1
  br i1 %42, label %43, label %67

43:                                               ; preds = %2
  %44 = tail call ptr @__errno_location() #13
  %45 = load i32, ptr %44, align 4, !tbaa !5
  %46 = load ptr, ptr @stderr, align 8, !tbaa !9
  %47 = call i32 @s2n_print_stacktrace(ptr noundef %46) #12
  %48 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %49 = trunc nuw i8 %48 to i1
  br i1 %49, label %50, label %54

50:                                               ; preds = %43
  %51 = load ptr, ptr @stderr, align 8, !tbaa !9
  %52 = call i32 @fileno(ptr noundef %51) #12
  %53 = call i32 @isatty(i32 noundef %52) #12
  %.not824 = icmp eq i32 %53, 0
  br i1 %.not824, label %54, label %55

54:                                               ; preds = %50, %43
  br label %55

55:                                               ; preds = %50, %54
  %.str.5.sink = phi ptr [ @.str.5, %54 ], [ @.str.1, %50 ]
  store i32 %45, ptr %44, align 4, !tbaa !5
  %56 = load ptr, ptr @stderr, align 8, !tbaa !9
  %57 = load i32, ptr @test_count, align 4, !tbaa !5
  %58 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %59 = load i32, ptr %58, align 4, !tbaa !5
  %60 = call ptr @s2n_strerror(i32 noundef %59, ptr noundef nonnull @.str.4) #12
  %61 = load i32, ptr %58, align 4, !tbaa !5
  %62 = call ptr @s2n_strerror_debug(i32 noundef %61, ptr noundef nonnull @.str.4) #12
  %63 = load i32, ptr %44, align 4, !tbaa !5
  %64 = call ptr @strerror(i32 noundef %63) #12
  %65 = load i32, ptr %44, align 4, !tbaa !5
  %66 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %56, ptr noundef nonnull %.str.5.sink, i32 noundef %57, ptr noundef nonnull @.str.2, ptr noundef nonnull @.str.3, i32 noundef 74, ptr noundef %60, ptr noundef %62, ptr noundef %64, i32 noundef %65) #14
  call void @exit(i32 noundef 1) #15
  unreachable

67:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 432, ptr nonnull %5) #12
  call void @llvm.lifetime.start.p0(i64 8088, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, i8 0, i64 24, i1 false)
  %68 = load i32, ptr @test_count, align 4, !tbaa !5
  %69 = add nsw i32 %68, 1
  store i32 %69, ptr @test_count, align 4, !tbaa !5
  %70 = call i32 @s2n_blob_init(ptr noundef nonnull %7, ptr noundef nonnull %6, i32 noundef 8088) #12
  %71 = icmp eq i32 %70, -1
  br i1 %71, label %72, label %96

72:                                               ; preds = %67
  %73 = tail call ptr @__errno_location() #13
  %74 = load i32, ptr %73, align 4, !tbaa !5
  %75 = load ptr, ptr @stderr, align 8, !tbaa !9
  %76 = call i32 @s2n_print_stacktrace(ptr noundef %75) #12
  %77 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %78 = trunc nuw i8 %77 to i1
  br i1 %78, label %79, label %83

79:                                               ; preds = %72
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = call i32 @fileno(ptr noundef %80) #12
  %82 = call i32 @isatty(i32 noundef %81) #12
  %.not823 = icmp eq i32 %82, 0
  br i1 %.not823, label %83, label %84

83:                                               ; preds = %79, %72
  br label %84

84:                                               ; preds = %79, %83
  %.str.5.sink908 = phi ptr [ @.str.5, %83 ], [ @.str.1, %79 ]
  store i32 %74, ptr %73, align 4, !tbaa !5
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = load i32, ptr @test_count, align 4, !tbaa !5
  %87 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %88 = load i32, ptr %87, align 4, !tbaa !5
  %89 = call ptr @s2n_strerror(i32 noundef %88, ptr noundef nonnull @.str.4) #12
  %90 = load i32, ptr %87, align 4, !tbaa !5
  %91 = call ptr @s2n_strerror_debug(i32 noundef %90, ptr noundef nonnull @.str.4) #12
  %92 = load i32, ptr %73, align 4, !tbaa !5
  %93 = call ptr @strerror(i32 noundef %92) #12
  %94 = load i32, ptr %73, align 4, !tbaa !5
  %95 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef nonnull %.str.5.sink908, i32 noundef %86, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.3, i32 noundef 78, ptr noundef %89, ptr noundef %91, ptr noundef %93, i32 noundef %94) #14
  call void @exit(i32 noundef 1) #15
  unreachable

96:                                               ; preds = %67
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %97 = load ptr, ptr @stdout, align 8, !tbaa !9
  %98 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %97, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.3) #12
  %99 = load ptr, ptr @stdout, align 8, !tbaa !9
  %100 = call i32 @fflush(ptr noundef %99)
  %101 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %102 = icmp eq i32 %101, -1
  br i1 %102, label %103, label %127

103:                                              ; preds = %96
  %104 = tail call ptr @__errno_location() #13
  %105 = load i32, ptr %104, align 4, !tbaa !5
  %106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %107 = call i32 @s2n_print_stacktrace(ptr noundef %106) #12
  %108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %109 = trunc nuw i8 %108 to i1
  br i1 %109, label %110, label %114

110:                                              ; preds = %103
  %111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %112 = call i32 @fileno(ptr noundef %111) #12
  %113 = call i32 @isatty(i32 noundef %112) #12
  %.not822 = icmp eq i32 %113, 0
  br i1 %.not822, label %114, label %115

114:                                              ; preds = %110, %103
  br label %115

115:                                              ; preds = %110, %114
  %.str.5.sink919 = phi ptr [ @.str.5, %114 ], [ @.str.1, %110 ]
  store i32 %105, ptr %104, align 4, !tbaa !5
  %116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %117 = load i32, ptr @test_count, align 4, !tbaa !5
  %118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %119 = load i32, ptr %118, align 4, !tbaa !5
  %120 = call ptr @s2n_strerror(i32 noundef %119, ptr noundef nonnull @.str.4) #12
  %121 = load i32, ptr %118, align 4, !tbaa !5
  %122 = call ptr @s2n_strerror_debug(i32 noundef %121, ptr noundef nonnull @.str.4) #12
  %123 = load i32, ptr %104, align 4, !tbaa !5
  %124 = call ptr @strerror(i32 noundef %123) #12
  %125 = load i32, ptr %104, align 4, !tbaa !5
  %126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %116, ptr noundef nonnull %.str.5.sink919, i32 noundef %117, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.3, i32 noundef 80, ptr noundef %120, ptr noundef %122, ptr noundef %124, i32 noundef %125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

127:                                              ; preds = %96
  %128 = load i32, ptr @test_count, align 4, !tbaa !5
  %129 = add nsw i32 %128, 1
  store i32 %129, ptr @test_count, align 4, !tbaa !5
  %130 = call i32 @s2n_enable_atexit() #12
  %131 = icmp eq i32 %130, -1
  br i1 %131, label %132, label %156

132:                                              ; preds = %127
  %133 = tail call ptr @__errno_location() #13
  %134 = load i32, ptr %133, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = call i32 @s2n_print_stacktrace(ptr noundef %135) #12
  %137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %138 = trunc nuw i8 %137 to i1
  br i1 %138, label %139, label %143

139:                                              ; preds = %132
  %140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %141 = call i32 @fileno(ptr noundef %140) #12
  %142 = call i32 @isatty(i32 noundef %141) #12
  %.not821 = icmp eq i32 %142, 0
  br i1 %.not821, label %143, label %144

143:                                              ; preds = %139, %132
  br label %144

144:                                              ; preds = %139, %143
  %.str.5.sink930 = phi ptr [ @.str.5, %143 ], [ @.str.1, %139 ]
  store i32 %134, ptr %133, align 4, !tbaa !5
  %145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %146 = load i32, ptr @test_count, align 4, !tbaa !5
  %147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %148 = load i32, ptr %147, align 4, !tbaa !5
  %149 = call ptr @s2n_strerror(i32 noundef %148, ptr noundef nonnull @.str.4) #12
  %150 = load i32, ptr %147, align 4, !tbaa !5
  %151 = call ptr @s2n_strerror_debug(i32 noundef %150, ptr noundef nonnull @.str.4) #12
  %152 = load i32, ptr %133, align 4, !tbaa !5
  %153 = call ptr @strerror(i32 noundef %152) #12
  %154 = load i32, ptr %133, align 4, !tbaa !5
  %155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %145, ptr noundef nonnull %.str.5.sink930, i32 noundef %146, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.3, i32 noundef 80, ptr noundef %149, ptr noundef %151, ptr noundef %153, i32 noundef %154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

156:                                              ; preds = %127
  %157 = call i32 @s2n_init() #12
  %158 = icmp eq i32 %157, -1
  br i1 %158, label %159, label %183

159:                                              ; preds = %156
  %160 = tail call ptr @__errno_location() #13
  %161 = load i32, ptr %160, align 4, !tbaa !5
  %162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %163 = call i32 @s2n_print_stacktrace(ptr noundef %162) #12
  %164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %165 = trunc nuw i8 %164 to i1
  br i1 %165, label %166, label %170

166:                                              ; preds = %159
  %167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %168 = call i32 @fileno(ptr noundef %167) #12
  %169 = call i32 @isatty(i32 noundef %168) #12
  %.not820 = icmp eq i32 %169, 0
  br i1 %.not820, label %170, label %171

170:                                              ; preds = %166, %159
  br label %171

171:                                              ; preds = %166, %170
  %.str.5.sink941 = phi ptr [ @.str.5, %170 ], [ @.str.1, %166 ]
  store i32 %161, ptr %160, align 4, !tbaa !5
  %172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %173 = load i32, ptr @test_count, align 4, !tbaa !5
  %174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %175 = load i32, ptr %174, align 4, !tbaa !5
  %176 = call ptr @s2n_strerror(i32 noundef %175, ptr noundef nonnull @.str.4) #12
  %177 = load i32, ptr %174, align 4, !tbaa !5
  %178 = call ptr @s2n_strerror_debug(i32 noundef %177, ptr noundef nonnull @.str.4) #12
  %179 = load i32, ptr %160, align 4, !tbaa !5
  %180 = call ptr @strerror(i32 noundef %179) #12
  %181 = load i32, ptr %160, align 4, !tbaa !5
  %182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull %.str.5.sink941, i32 noundef %173, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.3, i32 noundef 80, ptr noundef %176, ptr noundef %178, ptr noundef %180, i32 noundef %181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

183:                                              ; preds = %156
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = add nsw i32 %184, 1
  store i32 %185, ptr @test_count, align 4, !tbaa !5
  %186 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %187 = icmp eq i32 %186, -1
  br i1 %187, label %188, label %212

188:                                              ; preds = %183
  %189 = tail call ptr @__errno_location() #13
  %190 = load i32, ptr %189, align 4, !tbaa !5
  %191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %192 = call i32 @s2n_print_stacktrace(ptr noundef %191) #12
  %193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %194 = trunc nuw i8 %193 to i1
  br i1 %194, label %195, label %199

195:                                              ; preds = %188
  %196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %197 = call i32 @fileno(ptr noundef %196) #12
  %198 = call i32 @isatty(i32 noundef %197) #12
  %.not819 = icmp eq i32 %198, 0
  br i1 %.not819, label %199, label %200

199:                                              ; preds = %195, %188
  br label %200

200:                                              ; preds = %195, %199
  %.str.5.sink952 = phi ptr [ @.str.5, %199 ], [ @.str.1, %195 ]
  store i32 %190, ptr %189, align 4, !tbaa !5
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = load i32, ptr @test_count, align 4, !tbaa !5
  %203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %204 = load i32, ptr %203, align 4, !tbaa !5
  %205 = call ptr @s2n_strerror(i32 noundef %204, ptr noundef nonnull @.str.4) #12
  %206 = load i32, ptr %203, align 4, !tbaa !5
  %207 = call ptr @s2n_strerror_debug(i32 noundef %206, ptr noundef nonnull @.str.4) #12
  %208 = load i32, ptr %189, align 4, !tbaa !5
  %209 = call ptr @strerror(i32 noundef %208) #12
  %210 = load i32, ptr %189, align 4, !tbaa !5
  %211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %201, ptr noundef nonnull %.str.5.sink952, i32 noundef %202, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.3, i32 noundef 81, ptr noundef %205, ptr noundef %207, ptr noundef %209, i32 noundef %210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

212:                                              ; preds = %183
  %213 = load i32, ptr @test_count, align 4, !tbaa !5
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr @test_count, align 4, !tbaa !5
  %215 = call i32 @s2n_hmac_new(ptr noundef nonnull %5) #12
  %216 = icmp eq i32 %215, -1
  br i1 %216, label %217, label %241

217:                                              ; preds = %212
  %218 = tail call ptr @__errno_location() #13
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = call i32 @s2n_print_stacktrace(ptr noundef %220) #12
  %222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %223 = trunc nuw i8 %222 to i1
  br i1 %223, label %224, label %228

224:                                              ; preds = %217
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = call i32 @fileno(ptr noundef %225) #12
  %227 = call i32 @isatty(i32 noundef %226) #12
  %.not818 = icmp eq i32 %227, 0
  br i1 %.not818, label %228, label %229

228:                                              ; preds = %224, %217
  br label %229

229:                                              ; preds = %224, %228
  %.str.5.sink963 = phi ptr [ @.str.5, %228 ], [ @.str.1, %224 ]
  store i32 %219, ptr %218, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = load i32, ptr @test_count, align 4, !tbaa !5
  %232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = call ptr @s2n_strerror(i32 noundef %233, ptr noundef nonnull @.str.4) #12
  %235 = load i32, ptr %232, align 4, !tbaa !5
  %236 = call ptr @s2n_strerror_debug(i32 noundef %235, ptr noundef nonnull @.str.4) #12
  %237 = load i32, ptr %218, align 4, !tbaa !5
  %238 = call ptr @strerror(i32 noundef %237) #12
  %239 = load i32, ptr %218, align 4, !tbaa !5
  %240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %230, ptr noundef nonnull %.str.5.sink963, i32 noundef %231, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.3, i32 noundef 83, ptr noundef %234, ptr noundef %236, ptr noundef %238, i32 noundef %239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

241:                                              ; preds = %212
  %242 = load i32, ptr @test_count, align 4, !tbaa !5
  %243 = add nsw i32 %242, 1
  store i32 %243, ptr @test_count, align 4, !tbaa !5
  %244 = load ptr, ptr %4, align 8, !tbaa !15
  %245 = getelementptr inbounds i8, ptr %4, i64 8
  %246 = load i32, ptr %245, align 8, !tbaa !17
  %247 = call i32 @s2n_hmac_init(ptr noundef nonnull %5, i32 noundef 2, ptr noundef %244, i32 noundef %246) #12
  %248 = icmp eq i32 %247, -1
  br i1 %248, label %249, label %273

249:                                              ; preds = %241
  %250 = tail call ptr @__errno_location() #13
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = call i32 @s2n_print_stacktrace(ptr noundef %252) #12
  %254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %255 = trunc nuw i8 %254 to i1
  br i1 %255, label %256, label %260

256:                                              ; preds = %249
  %257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %258 = call i32 @fileno(ptr noundef %257) #12
  %259 = call i32 @isatty(i32 noundef %258) #12
  %.not817 = icmp eq i32 %259, 0
  br i1 %.not817, label %260, label %261

260:                                              ; preds = %256, %249
  br label %261

261:                                              ; preds = %256, %260
  %.str.5.sink974 = phi ptr [ @.str.5, %260 ], [ @.str.1, %256 ]
  store i32 %251, ptr %250, align 4, !tbaa !5
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = load i32, ptr @test_count, align 4, !tbaa !5
  %264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %265 = load i32, ptr %264, align 4, !tbaa !5
  %266 = call ptr @s2n_strerror(i32 noundef %265, ptr noundef nonnull @.str.4) #12
  %267 = load i32, ptr %264, align 4, !tbaa !5
  %268 = call ptr @s2n_strerror_debug(i32 noundef %267, ptr noundef nonnull @.str.4) #12
  %269 = load i32, ptr %250, align 4, !tbaa !5
  %270 = call ptr @strerror(i32 noundef %269) #12
  %271 = load i32, ptr %250, align 4, !tbaa !5
  %272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %262, ptr noundef nonnull %.str.5.sink974, i32 noundef %263, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.3, i32 noundef 85, ptr noundef %266, ptr noundef %268, ptr noundef %270, i32 noundef %271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

273:                                              ; preds = %241
  %274 = load i32, ptr @test_count, align 4, !tbaa !5
  %275 = add nsw i32 %274, 1
  store i32 %275, ptr @test_count, align 4, !tbaa !5
  %276 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %7) #12
  %277 = call zeroext i1 @s2n_result_is_ok(i32 %276)
  br i1 %277, label %302, label %278

278:                                              ; preds = %273
  %279 = tail call ptr @__errno_location() #13
  %280 = load i32, ptr %279, align 4, !tbaa !5
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = call i32 @s2n_print_stacktrace(ptr noundef %281) #12
  %283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %284 = trunc nuw i8 %283 to i1
  br i1 %284, label %285, label %289

285:                                              ; preds = %278
  %286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %287 = call i32 @fileno(ptr noundef %286) #12
  %288 = call i32 @isatty(i32 noundef %287) #12
  %.not = icmp eq i32 %288, 0
  br i1 %.not, label %289, label %290

289:                                              ; preds = %285, %278
  br label %290

290:                                              ; preds = %285, %289
  %.str.5.sink985 = phi ptr [ @.str.5, %289 ], [ @.str.1, %285 ]
  store i32 %280, ptr %279, align 4, !tbaa !5
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = load i32, ptr @test_count, align 4, !tbaa !5
  %293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %294 = load i32, ptr %293, align 4, !tbaa !5
  %295 = call ptr @s2n_strerror(i32 noundef %294, ptr noundef nonnull @.str.4) #12
  %296 = load i32, ptr %293, align 4, !tbaa !5
  %297 = call ptr @s2n_strerror_debug(i32 noundef %296, ptr noundef nonnull @.str.4) #12
  %298 = load i32, ptr %279, align 4, !tbaa !5
  %299 = call ptr @strerror(i32 noundef %298) #12
  %300 = load i32, ptr %279, align 4, !tbaa !5
  %301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %291, ptr noundef nonnull %.str.5.sink985, i32 noundef %292, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.3, i32 noundef 86, ptr noundef %295, ptr noundef %297, ptr noundef %299, i32 noundef %300) #14
  call void @exit(i32 noundef 1) #15
  unreachable

302:                                              ; preds = %273
  %303 = load i32, ptr @test_count, align 4, !tbaa !5
  %304 = add nsw i32 %303, 1
  store i32 %304, ptr @test_count, align 4, !tbaa !5
  %305 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %306 = icmp eq ptr %305, null
  br i1 %306, label %307, label %331

307:                                              ; preds = %302
  %308 = tail call ptr @__errno_location() #13
  %309 = load i32, ptr %308, align 4, !tbaa !5
  %310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %311 = call i32 @s2n_print_stacktrace(ptr noundef %310) #12
  %312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %313 = trunc nuw i8 %312 to i1
  br i1 %313, label %314, label %318

314:                                              ; preds = %307
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @fileno(ptr noundef %315) #12
  %317 = call i32 @isatty(i32 noundef %316) #12
  %.not816 = icmp eq i32 %317, 0
  br i1 %.not816, label %318, label %319

318:                                              ; preds = %314, %307
  br label %319

319:                                              ; preds = %314, %318
  %.str.5.sink996 = phi ptr [ @.str.5, %318 ], [ @.str.1, %314 ]
  store i32 %309, ptr %308, align 4, !tbaa !5
  %320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %321 = load i32, ptr @test_count, align 4, !tbaa !5
  %322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %323 = load i32, ptr %322, align 4, !tbaa !5
  %324 = call ptr @s2n_strerror(i32 noundef %323, ptr noundef nonnull @.str.4) #12
  %325 = load i32, ptr %322, align 4, !tbaa !5
  %326 = call ptr @s2n_strerror_debug(i32 noundef %325, ptr noundef nonnull @.str.4) #12
  %327 = load i32, ptr %308, align 4, !tbaa !5
  %328 = call ptr @strerror(i32 noundef %327) #12
  %329 = load i32, ptr %308, align 4, !tbaa !5
  %330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %320, ptr noundef nonnull %.str.5.sink996, i32 noundef %321, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.3, i32 noundef 87, ptr noundef %324, ptr noundef %326, ptr noundef %328, i32 noundef %329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

331:                                              ; preds = %302
  %332 = getelementptr inbounds i8, ptr %305, i64 224
  %333 = load ptr, ptr %332, align 8, !tbaa !18
  %334 = getelementptr inbounds i8, ptr %305, i64 640
  store ptr %333, ptr %334, align 8, !tbaa !44
  %335 = getelementptr inbounds i8, ptr %305, i64 632
  store ptr %333, ptr %335, align 8, !tbaa !45
  store ptr @s2n_null_cipher_suite, ptr %333, align 8, !tbaa !46
  %336 = getelementptr inbounds i8, ptr %305, i64 220
  store i8 32, ptr %336, align 4, !tbaa !51
  %337 = getelementptr inbounds i8, ptr %305, i64 1896
  %338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %339 = getelementptr inbounds i8, ptr %305, i64 1856
  %340 = getelementptr inbounds i8, ptr %305, i64 1776
  %341 = getelementptr inbounds i8, ptr %305, i64 1924
  %342 = getelementptr inbounds i8, ptr %305, i64 1920
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br label %351

343:                                              ; preds = %945
  %344 = load ptr, ptr %332, align 8, !tbaa !18
  %345 = load ptr, ptr %344, align 8, !tbaa !46
  %346 = getelementptr inbounds i8, ptr %345, i64 48
  store ptr @mock_null_sha1_record_alg, ptr %346, align 8, !tbaa !52
  %347 = add nsw i32 %890, 3
  store i32 %347, ptr @test_count, align 4, !tbaa !5
  %348 = getelementptr inbounds i8, ptr %344, i64 24
  %349 = call i32 @s2n_hmac_init(ptr noundef nonnull %348, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %350 = icmp eq i32 %349, -1
  br i1 %350, label %947, label %970

351:                                              ; preds = %331, %945
  %352 = phi i32 [ %.pre, %331 ], [ %918, %945 ]
  %.0853 = phi i64 [ 0, %331 ], [ %946, %945 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false)
  %353 = add nsw i32 %352, 1
  store i32 %353, ptr @test_count, align 4, !tbaa !5
  %354 = trunc nuw nsw i64 %.0853 to i32
  %355 = call i32 @s2n_blob_init(ptr noundef nonnull %8, ptr noundef nonnull %6, i32 noundef %354) #12
  %356 = icmp eq i32 %355, -1
  br i1 %356, label %357, label %380

357:                                              ; preds = %351
  %358 = tail call ptr @__errno_location() #13
  %359 = load i32, ptr %358, align 4, !tbaa !5
  %360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %361 = call i32 @s2n_print_stacktrace(ptr noundef %360) #12
  %362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %363 = trunc nuw i8 %362 to i1
  br i1 %363, label %364, label %368

364:                                              ; preds = %357
  %365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %366 = call i32 @fileno(ptr noundef %365) #12
  %367 = call i32 @isatty(i32 noundef %366) #12
  %.not815 = icmp eq i32 %367, 0
  br i1 %.not815, label %368, label %369

368:                                              ; preds = %364, %357
  br label %369

369:                                              ; preds = %364, %368
  %.str.5.sink1007 = phi ptr [ @.str.5, %368 ], [ @.str.1, %364 ]
  store i32 %359, ptr %358, align 4, !tbaa !5
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = load i32, ptr @test_count, align 4, !tbaa !5
  %372 = load i32, ptr %338, align 4, !tbaa !5
  %373 = call ptr @s2n_strerror(i32 noundef %372, ptr noundef nonnull @.str.4) #12
  %374 = load i32, ptr %338, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror_debug(i32 noundef %374, ptr noundef nonnull @.str.4) #12
  %376 = load i32, ptr %358, align 4, !tbaa !5
  %377 = call ptr @strerror(i32 noundef %376) #12
  %378 = load i32, ptr %358, align 4, !tbaa !5
  %379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %370, ptr noundef nonnull %.str.5.sink1007, i32 noundef %371, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.3, i32 noundef 99, ptr noundef %373, ptr noundef %375, ptr noundef %377, i32 noundef %378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

380:                                              ; preds = %351
  %381 = load i32, ptr @test_count, align 4, !tbaa !5
  %382 = add nsw i32 %381, 1
  store i32 %382, ptr @test_count, align 4, !tbaa !5
  %383 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %384 = icmp eq i32 %383, -1
  br i1 %384, label %385, label %408

385:                                              ; preds = %380
  %386 = tail call ptr @__errno_location() #13
  %387 = load i32, ptr %386, align 4, !tbaa !5
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = call i32 @s2n_print_stacktrace(ptr noundef %388) #12
  %390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %391 = trunc nuw i8 %390 to i1
  br i1 %391, label %392, label %396

392:                                              ; preds = %385
  %393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %394 = call i32 @fileno(ptr noundef %393) #12
  %395 = call i32 @isatty(i32 noundef %394) #12
  %.not814 = icmp eq i32 %395, 0
  br i1 %.not814, label %396, label %397

396:                                              ; preds = %392, %385
  br label %397

397:                                              ; preds = %392, %396
  %.str.5.sink1016 = phi ptr [ @.str.5, %396 ], [ @.str.1, %392 ]
  store i32 %387, ptr %386, align 4, !tbaa !5
  %398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %399 = load i32, ptr @test_count, align 4, !tbaa !5
  %400 = load i32, ptr %338, align 4, !tbaa !5
  %401 = call ptr @s2n_strerror(i32 noundef %400, ptr noundef nonnull @.str.4) #12
  %402 = load i32, ptr %338, align 4, !tbaa !5
  %403 = call ptr @s2n_strerror_debug(i32 noundef %402, ptr noundef nonnull @.str.4) #12
  %404 = load i32, ptr %386, align 4, !tbaa !5
  %405 = call ptr @strerror(i32 noundef %404) #12
  %406 = load i32, ptr %386, align 4, !tbaa !5
  %407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %398, ptr noundef nonnull %.str.5.sink1016, i32 noundef %399, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 102, ptr noundef %401, ptr noundef %403, ptr noundef %405, i32 noundef %406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

408:                                              ; preds = %380
  %409 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 21, ptr noundef nonnull %8) #12
  %.not793 = icmp eq i64 %.0853, 8088
  %410 = load i32, ptr @test_count, align 4, !tbaa !5
  %411 = add nsw i32 %410, 1
  store i32 %411, ptr @test_count, align 4, !tbaa !5
  br i1 %.not793, label %437, label %412

412:                                              ; preds = %408
  %413 = call zeroext i1 @s2n_result_is_ok(i32 %409)
  br i1 %413, label %519, label %414

414:                                              ; preds = %412
  %415 = tail call ptr @__errno_location() #13
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = call i32 @s2n_print_stacktrace(ptr noundef %417) #12
  %419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %420 = trunc nuw i8 %419 to i1
  br i1 %420, label %421, label %425

421:                                              ; preds = %414
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = call i32 @fileno(ptr noundef %422) #12
  %424 = call i32 @isatty(i32 noundef %423) #12
  %.not797 = icmp eq i32 %424, 0
  br i1 %.not797, label %425, label %426

425:                                              ; preds = %421, %414
  br label %426

426:                                              ; preds = %421, %425
  %.str.5.sink1025 = phi ptr [ @.str.5, %425 ], [ @.str.1, %421 ]
  store i32 %416, ptr %415, align 4, !tbaa !5
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = load i32, ptr @test_count, align 4, !tbaa !5
  %429 = load i32, ptr %338, align 4, !tbaa !5
  %430 = call ptr @s2n_strerror(i32 noundef %429, ptr noundef nonnull @.str.4) #12
  %431 = load i32, ptr %338, align 4, !tbaa !5
  %432 = call ptr @s2n_strerror_debug(i32 noundef %431, ptr noundef nonnull @.str.4) #12
  %433 = load i32, ptr %415, align 4, !tbaa !5
  %434 = call ptr @strerror(i32 noundef %433) #12
  %435 = load i32, ptr %415, align 4, !tbaa !5
  %436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %427, ptr noundef nonnull %.str.5.sink1025, i32 noundef %428, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 106, ptr noundef %430, ptr noundef %432, ptr noundef %434, i32 noundef %435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

437:                                              ; preds = %408
  %438 = call zeroext i1 @s2n_result_is_error(i32 %409)
  br i1 %438, label %462, label %439

439:                                              ; preds = %437
  %440 = tail call ptr @__errno_location() #13
  %441 = load i32, ptr %440, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = call i32 @s2n_print_stacktrace(ptr noundef %442) #12
  %444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %445 = trunc nuw i8 %444 to i1
  br i1 %445, label %446, label %450

446:                                              ; preds = %439
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = call i32 @fileno(ptr noundef %447) #12
  %449 = call i32 @isatty(i32 noundef %448) #12
  %.not794 = icmp eq i32 %449, 0
  br i1 %.not794, label %450, label %451

450:                                              ; preds = %446, %439
  br label %451

451:                                              ; preds = %446, %450
  %.str.5.sink1034 = phi ptr [ @.str.5, %450 ], [ @.str.1, %446 ]
  store i32 %441, ptr %440, align 4, !tbaa !5
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = load i32, ptr %338, align 4, !tbaa !5
  %455 = call ptr @s2n_strerror(i32 noundef %454, ptr noundef nonnull @.str.4) #12
  %456 = load i32, ptr %338, align 4, !tbaa !5
  %457 = call ptr @s2n_strerror_debug(i32 noundef %456, ptr noundef nonnull @.str.4) #12
  %458 = load i32, ptr %440, align 4, !tbaa !5
  %459 = call ptr @strerror(i32 noundef %458) #12
  %460 = load i32, ptr %440, align 4, !tbaa !5
  %461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %452, ptr noundef nonnull %.str.5.sink1034, i32 noundef %453, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.3, i32 noundef 109, ptr noundef %455, ptr noundef %457, ptr noundef %459, i32 noundef %460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

462:                                              ; preds = %437
  %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 = load i32, ptr %338, align 4, !tbaa !5
  %466 = icmp eq i32 %465, 335544390
  br i1 %466, label %490, label %467

467:                                              ; preds = %462
  %468 = tail call ptr @__errno_location() #13
  %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) #12
  %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) #12
  %477 = call i32 @isatty(i32 noundef %476) #12
  %.not795 = icmp eq i32 %477, 0
  br i1 %.not795, label %478, label %479

478:                                              ; preds = %474, %467
  br label %479

479:                                              ; preds = %474, %478
  %.str.5.sink1043 = phi ptr [ @.str.5, %478 ], [ @.str.1, %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 = load i32, ptr %338, align 4, !tbaa !5
  %483 = call ptr @s2n_strerror(i32 noundef %482, ptr noundef nonnull @.str.4) #12
  %484 = load i32, ptr %338, align 4, !tbaa !5
  %485 = call ptr @s2n_strerror_debug(i32 noundef %484, ptr noundef nonnull @.str.4) #12
  %486 = load i32, ptr %468, align 4, !tbaa !5
  %487 = call ptr @strerror(i32 noundef %486) #12
  %488 = load i32, ptr %468, align 4, !tbaa !5
  %489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %480, ptr noundef nonnull %.str.5.sink1043, i32 noundef %481, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 109, ptr noundef %483, ptr noundef %485, ptr noundef %487, i32 noundef %488) #14
  call void @exit(i32 noundef 1) #15
  unreachable

490:                                              ; preds = %462
  %491 = add nsw i32 %463, 2
  store i32 %491, ptr @test_count, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.4) #12
  %493 = icmp eq ptr %492, null
  br i1 %493, label %494, label %517

494:                                              ; preds = %490
  %495 = tail call ptr @__errno_location() #13
  %496 = load i32, ptr %495, align 4, !tbaa !5
  %497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %498 = call i32 @s2n_print_stacktrace(ptr noundef %497) #12
  %499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %500 = trunc nuw i8 %499 to i1
  br i1 %500, label %501, label %505

501:                                              ; preds = %494
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 @fileno(ptr noundef %502) #12
  %504 = call i32 @isatty(i32 noundef %503) #12
  %.not796 = icmp eq i32 %504, 0
  br i1 %.not796, label %505, label %506

505:                                              ; preds = %501, %494
  br label %506

506:                                              ; preds = %501, %505
  %.str.5.sink1052 = phi ptr [ @.str.5, %505 ], [ @.str.1, %501 ]
  store i32 %496, ptr %495, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = load i32, ptr %338, align 4, !tbaa !5
  %510 = call ptr @s2n_strerror(i32 noundef %509, ptr noundef nonnull @.str.4) #12
  %511 = load i32, ptr %338, align 4, !tbaa !5
  %512 = call ptr @s2n_strerror_debug(i32 noundef %511, ptr noundef nonnull @.str.4) #12
  %513 = load i32, ptr %495, align 4, !tbaa !5
  %514 = call ptr @strerror(i32 noundef %513) #12
  %515 = load i32, ptr %495, align 4, !tbaa !5
  %516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %507, ptr noundef nonnull %.str.5.sink1052, i32 noundef %508, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 109, ptr noundef %510, ptr noundef %512, ptr noundef %514, i32 noundef %515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

517:                                              ; preds = %490
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %518 = tail call ptr @__errno_location() #13
  store i32 0, ptr %518, align 4, !tbaa !5
  br label %519

519:                                              ; preds = %412, %517
  %.0617 = phi i32 [ 8087, %517 ], [ %354, %412 ]
  %520 = load i32, ptr @test_count, align 4, !tbaa !5
  %521 = add nsw i32 %520, 1
  store i32 %521, ptr @test_count, align 4, !tbaa !5
  %522 = load ptr, ptr %337, align 8, !tbaa !54
  %523 = load i8, ptr %522, align 1, !tbaa !55
  %524 = icmp eq i8 %523, 21
  br i1 %524, label %548, label %525

525:                                              ; preds = %519
  %526 = tail call ptr @__errno_location() #13
  %527 = load i32, ptr %526, align 4, !tbaa !5
  %528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %529 = call i32 @s2n_print_stacktrace(ptr noundef %528) #12
  %530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %531 = trunc nuw i8 %530 to i1
  br i1 %531, label %532, label %536

532:                                              ; preds = %525
  %533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %534 = call i32 @fileno(ptr noundef %533) #12
  %535 = call i32 @isatty(i32 noundef %534) #12
  %.not798 = icmp eq i32 %535, 0
  br i1 %.not798, label %536, label %537

536:                                              ; preds = %532, %525
  br label %537

537:                                              ; preds = %532, %536
  %.str.5.sink1061 = phi ptr [ @.str.5, %536 ], [ @.str.1, %532 ]
  store i32 %527, ptr %526, align 4, !tbaa !5
  %538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %539 = load i32, ptr @test_count, align 4, !tbaa !5
  %540 = load i32, ptr %338, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror(i32 noundef %540, ptr noundef nonnull @.str.4) #12
  %542 = load i32, ptr %338, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror_debug(i32 noundef %542, ptr noundef nonnull @.str.4) #12
  %544 = load i32, ptr %526, align 4, !tbaa !5
  %545 = call ptr @strerror(i32 noundef %544) #12
  %546 = load i32, ptr %526, align 4, !tbaa !5
  %547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %538, ptr noundef nonnull %.str.5.sink1061, i32 noundef %539, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.3, i32 noundef 113, ptr noundef %541, ptr noundef %543, ptr noundef %545, i32 noundef %546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

548:                                              ; preds = %519
  %549 = add nsw i32 %520, 2
  store i32 %549, ptr @test_count, align 4, !tbaa !5
  %550 = getelementptr inbounds i8, ptr %522, i64 1
  %551 = load i8, ptr %550, align 1, !tbaa !55
  %552 = icmp eq i8 %551, 3
  br i1 %552, label %576, label %553

553:                                              ; preds = %548
  %554 = tail call ptr @__errno_location() #13
  %555 = load i32, ptr %554, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @s2n_print_stacktrace(ptr noundef %556) #12
  %558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %559 = trunc nuw i8 %558 to i1
  br i1 %559, label %560, label %564

560:                                              ; preds = %553
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @fileno(ptr noundef %561) #12
  %563 = call i32 @isatty(i32 noundef %562) #12
  %.not799 = icmp eq i32 %563, 0
  br i1 %.not799, label %564, label %565

564:                                              ; preds = %560, %553
  br label %565

565:                                              ; preds = %560, %564
  %.str.5.sink1070 = phi ptr [ @.str.5, %564 ], [ @.str.1, %560 ]
  store i32 %555, ptr %554, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = load i32, ptr %338, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror(i32 noundef %568, ptr noundef nonnull @.str.4) #12
  %570 = load i32, ptr %338, align 4, !tbaa !5
  %571 = call ptr @s2n_strerror_debug(i32 noundef %570, ptr noundef nonnull @.str.4) #12
  %572 = load i32, ptr %554, align 4, !tbaa !5
  %573 = call ptr @strerror(i32 noundef %572) #12
  %574 = load i32, ptr %554, align 4, !tbaa !5
  %575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef nonnull %.str.5.sink1070, i32 noundef %567, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 114, ptr noundef %569, ptr noundef %571, ptr noundef %573, i32 noundef %574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

576:                                              ; preds = %548
  %577 = add nsw i32 %520, 3
  store i32 %577, ptr @test_count, align 4, !tbaa !5
  %578 = getelementptr inbounds i8, ptr %522, i64 2
  %579 = load i8, ptr %578, align 1, !tbaa !55
  %580 = icmp eq i8 %579, 2
  br i1 %580, label %604, label %581

581:                                              ; preds = %576
  %582 = tail call ptr @__errno_location() #13
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = call i32 @s2n_print_stacktrace(ptr noundef %584) #12
  %586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %587 = trunc nuw i8 %586 to i1
  br i1 %587, label %588, label %592

588:                                              ; preds = %581
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = call i32 @fileno(ptr noundef %589) #12
  %591 = call i32 @isatty(i32 noundef %590) #12
  %.not800 = icmp eq i32 %591, 0
  br i1 %.not800, label %592, label %593

592:                                              ; preds = %588, %581
  br label %593

593:                                              ; preds = %588, %592
  %.str.5.sink1079 = phi ptr [ @.str.5, %592 ], [ @.str.1, %588 ]
  store i32 %583, ptr %582, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = load i32, ptr %338, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror(i32 noundef %596, ptr noundef nonnull @.str.4) #12
  %598 = load i32, ptr %338, align 4, !tbaa !5
  %599 = call ptr @s2n_strerror_debug(i32 noundef %598, ptr noundef nonnull @.str.4) #12
  %600 = load i32, ptr %582, align 4, !tbaa !5
  %601 = call ptr @strerror(i32 noundef %600) #12
  %602 = load i32, ptr %582, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef nonnull %.str.5.sink1079, i32 noundef %595, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.3, i32 noundef 115, ptr noundef %597, ptr noundef %599, ptr noundef %601, i32 noundef %602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

604:                                              ; preds = %576
  %605 = add nsw i32 %520, 4
  store i32 %605, ptr @test_count, align 4, !tbaa !5
  %606 = getelementptr inbounds i8, ptr %522, i64 3
  %607 = load i8, ptr %606, align 1, !tbaa !55
  %608 = lshr i32 %.0617, 8
  %609 = trunc i32 %608 to i8
  %610 = icmp eq i8 %607, %609
  br i1 %610, label %634, label %611

611:                                              ; preds = %604
  %612 = tail call ptr @__errno_location() #13
  %613 = load i32, ptr %612, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = call i32 @s2n_print_stacktrace(ptr noundef %614) #12
  %616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %617 = trunc nuw i8 %616 to i1
  br i1 %617, label %618, label %622

618:                                              ; preds = %611
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = call i32 @fileno(ptr noundef %619) #12
  %621 = call i32 @isatty(i32 noundef %620) #12
  %.not801 = icmp eq i32 %621, 0
  br i1 %.not801, label %622, label %623

622:                                              ; preds = %618, %611
  br label %623

623:                                              ; preds = %618, %622
  %.str.5.sink1088 = phi ptr [ @.str.5, %622 ], [ @.str.1, %618 ]
  store i32 %613, ptr %612, align 4, !tbaa !5
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = load i32, ptr @test_count, align 4, !tbaa !5
  %626 = load i32, ptr %338, align 4, !tbaa !5
  %627 = call ptr @s2n_strerror(i32 noundef %626, ptr noundef nonnull @.str.4) #12
  %628 = load i32, ptr %338, align 4, !tbaa !5
  %629 = call ptr @s2n_strerror_debug(i32 noundef %628, ptr noundef nonnull @.str.4) #12
  %630 = load i32, ptr %612, align 4, !tbaa !5
  %631 = call ptr @strerror(i32 noundef %630) #12
  %632 = load i32, ptr %612, align 4, !tbaa !5
  %633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %624, ptr noundef nonnull %.str.5.sink1088, i32 noundef %625, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.3, i32 noundef 116, ptr noundef %627, ptr noundef %629, ptr noundef %631, i32 noundef %632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

634:                                              ; preds = %604
  %635 = add nsw i32 %520, 5
  store i32 %635, ptr @test_count, align 4, !tbaa !5
  %636 = getelementptr inbounds i8, ptr %522, i64 4
  %637 = load i8, ptr %636, align 1, !tbaa !55
  %638 = trunc i32 %.0617 to i8
  %639 = icmp eq i8 %637, %638
  br i1 %639, label %663, label %640

640:                                              ; preds = %634
  %641 = tail call ptr @__errno_location() #13
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %644 = call i32 @s2n_print_stacktrace(ptr noundef %643) #12
  %645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %646 = trunc nuw i8 %645 to i1
  br i1 %646, label %647, label %651

647:                                              ; preds = %640
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = call i32 @fileno(ptr noundef %648) #12
  %650 = call i32 @isatty(i32 noundef %649) #12
  %.not802 = icmp eq i32 %650, 0
  br i1 %.not802, label %651, label %652

651:                                              ; preds = %647, %640
  br label %652

652:                                              ; preds = %647, %651
  %.str.5.sink1097 = phi ptr [ @.str.5, %651 ], [ @.str.1, %647 ]
  store i32 %642, ptr %641, align 4, !tbaa !5
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = load i32, ptr @test_count, align 4, !tbaa !5
  %655 = load i32, ptr %338, align 4, !tbaa !5
  %656 = call ptr @s2n_strerror(i32 noundef %655, ptr noundef nonnull @.str.4) #12
  %657 = load i32, ptr %338, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror_debug(i32 noundef %657, ptr noundef nonnull @.str.4) #12
  %659 = load i32, ptr %641, align 4, !tbaa !5
  %660 = call ptr @strerror(i32 noundef %659) #12
  %661 = load i32, ptr %641, align 4, !tbaa !5
  %662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %653, ptr noundef nonnull %.str.5.sink1097, i32 noundef %654, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.3, i32 noundef 117, ptr noundef %656, ptr noundef %658, ptr noundef %660, i32 noundef %661) #14
  call void @exit(i32 noundef 1) #15
  unreachable

663:                                              ; preds = %634
  %664 = add nsw i32 %520, 6
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = getelementptr inbounds i8, ptr %522, i64 5
  %666 = zext nneg i32 %.0617 to i64
  %bcmp803 = call i32 @bcmp(ptr nonnull %665, ptr nonnull %6, i64 %666)
  %667 = icmp eq i32 %bcmp803, 0
  br i1 %667, label %691, label %668

668:                                              ; preds = %663
  %669 = tail call ptr @__errno_location() #13
  %670 = load i32, ptr %669, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = call i32 @s2n_print_stacktrace(ptr noundef %671) #12
  %673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %674 = trunc nuw i8 %673 to i1
  br i1 %674, label %675, label %679

675:                                              ; preds = %668
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = call i32 @fileno(ptr noundef %676) #12
  %678 = call i32 @isatty(i32 noundef %677) #12
  %.not804 = icmp eq i32 %678, 0
  br i1 %.not804, label %679, label %680

679:                                              ; preds = %675, %668
  br label %680

680:                                              ; preds = %675, %679
  %.str.5.sink1106 = phi ptr [ @.str.5, %679 ], [ @.str.1, %675 ]
  store i32 %670, ptr %669, align 4, !tbaa !5
  %681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = load i32, ptr %338, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror(i32 noundef %683, ptr noundef nonnull @.str.4) #12
  %685 = load i32, ptr %338, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror_debug(i32 noundef %685, ptr noundef nonnull @.str.4) #12
  %687 = load i32, ptr %669, align 4, !tbaa !5
  %688 = call ptr @strerror(i32 noundef %687) #12
  %689 = load i32, ptr %669, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %681, ptr noundef nonnull %.str.5.sink1106, i32 noundef %682, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.3, i32 noundef 118, ptr noundef %684, ptr noundef %686, ptr noundef %688, i32 noundef %689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

691:                                              ; preds = %663
  %692 = add nsw i32 %520, 7
  store i32 %692, ptr @test_count, align 4, !tbaa !5
  %693 = call i32 @s2n_stuffer_resize_if_empty(ptr noundef nonnull %339, i32 noundef 16384) #12
  %694 = icmp eq i32 %693, -1
  br i1 %694, label %695, label %718

695:                                              ; preds = %691
  %696 = tail call ptr @__errno_location() #13
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @s2n_print_stacktrace(ptr noundef %698) #12
  %700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %701 = trunc nuw i8 %700 to i1
  br i1 %701, label %702, label %706

702:                                              ; preds = %695
  %703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %704 = call i32 @fileno(ptr noundef %703) #12
  %705 = call i32 @isatty(i32 noundef %704) #12
  %.not813 = icmp eq i32 %705, 0
  br i1 %.not813, label %706, label %707

706:                                              ; preds = %702, %695
  br label %707

707:                                              ; preds = %702, %706
  %.str.5.sink1115 = phi ptr [ @.str.5, %706 ], [ @.str.1, %702 ]
  store i32 %697, ptr %696, align 4, !tbaa !5
  %708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %709 = load i32, ptr @test_count, align 4, !tbaa !5
  %710 = load i32, ptr %338, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror(i32 noundef %710, ptr noundef nonnull @.str.4) #12
  %712 = load i32, ptr %338, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror_debug(i32 noundef %712, ptr noundef nonnull @.str.4) #12
  %714 = load i32, ptr %696, align 4, !tbaa !5
  %715 = call ptr @strerror(i32 noundef %714) #12
  %716 = load i32, ptr %696, align 4, !tbaa !5
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %708, ptr noundef nonnull %.str.5.sink1115, i32 noundef %709, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.3, i32 noundef 120, ptr noundef %711, ptr noundef %713, ptr noundef %715, i32 noundef %716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

718:                                              ; preds = %691
  %719 = load i32, ptr @test_count, align 4, !tbaa !5
  %720 = add nsw i32 %719, 1
  store i32 %720, ptr @test_count, align 4, !tbaa !5
  %721 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %722 = icmp eq i32 %721, -1
  br i1 %722, label %723, label %746

723:                                              ; preds = %718
  %724 = tail call ptr @__errno_location() #13
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @s2n_print_stacktrace(ptr noundef %726) #12
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %729 = trunc nuw i8 %728 to i1
  br i1 %729, label %730, label %734

730:                                              ; preds = %723
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @fileno(ptr noundef %731) #12
  %733 = call i32 @isatty(i32 noundef %732) #12
  %.not812 = icmp eq i32 %733, 0
  br i1 %.not812, label %734, label %735

734:                                              ; preds = %730, %723
  br label %735

735:                                              ; preds = %730, %734
  %.str.5.sink1124 = phi ptr [ @.str.5, %734 ], [ @.str.1, %730 ]
  store i32 %725, ptr %724, align 4, !tbaa !5
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = load i32, ptr %338, align 4, !tbaa !5
  %739 = call ptr @s2n_strerror(i32 noundef %738, ptr noundef nonnull @.str.4) #12
  %740 = load i32, ptr %338, align 4, !tbaa !5
  %741 = call ptr @s2n_strerror_debug(i32 noundef %740, ptr noundef nonnull @.str.4) #12
  %742 = load i32, ptr %724, align 4, !tbaa !5
  %743 = call ptr @strerror(i32 noundef %742) #12
  %744 = load i32, ptr %724, align 4, !tbaa !5
  %745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.5.sink1124, i32 noundef %737, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 121, ptr noundef %739, ptr noundef %741, ptr noundef %743, i32 noundef %744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

746:                                              ; preds = %718
  %747 = load i32, ptr @test_count, align 4, !tbaa !5
  %748 = add nsw i32 %747, 1
  store i32 %748, ptr @test_count, align 4, !tbaa !5
  %749 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %750 = icmp eq i32 %749, -1
  br i1 %750, label %751, label %774

751:                                              ; preds = %746
  %752 = tail call ptr @__errno_location() #13
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %755 = call i32 @s2n_print_stacktrace(ptr noundef %754) #12
  %756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %757 = trunc nuw i8 %756 to i1
  br i1 %757, label %758, label %762

758:                                              ; preds = %751
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = call i32 @fileno(ptr noundef %759) #12
  %761 = call i32 @isatty(i32 noundef %760) #12
  %.not811 = icmp eq i32 %761, 0
  br i1 %.not811, label %762, label %763

762:                                              ; preds = %758, %751
  br label %763

763:                                              ; preds = %758, %762
  %.str.5.sink1133 = phi ptr [ @.str.5, %762 ], [ @.str.1, %758 ]
  store i32 %753, ptr %752, align 4, !tbaa !5
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = load i32, ptr %338, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror(i32 noundef %766, ptr noundef nonnull @.str.4) #12
  %768 = load i32, ptr %338, align 4, !tbaa !5
  %769 = call ptr @s2n_strerror_debug(i32 noundef %768, ptr noundef nonnull @.str.4) #12
  %770 = load i32, ptr %752, align 4, !tbaa !5
  %771 = call ptr @strerror(i32 noundef %770) #12
  %772 = load i32, ptr %752, align 4, !tbaa !5
  %773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef nonnull %.str.5.sink1133, i32 noundef %765, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 122, ptr noundef %767, ptr noundef %769, ptr noundef %771, i32 noundef %772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

774:                                              ; preds = %746
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = add nsw i32 %775, 1
  store i32 %776, ptr @test_count, align 4, !tbaa !5
  %777 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %778 = icmp eq i32 %777, -1
  br i1 %778, label %779, label %802

779:                                              ; preds = %774
  %780 = tail call ptr @__errno_location() #13
  %781 = load i32, ptr %780, align 4, !tbaa !5
  %782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %783 = call i32 @s2n_print_stacktrace(ptr noundef %782) #12
  %784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %785 = trunc nuw i8 %784 to i1
  br i1 %785, label %786, label %790

786:                                              ; preds = %779
  %787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %788 = call i32 @fileno(ptr noundef %787) #12
  %789 = call i32 @isatty(i32 noundef %788) #12
  %.not810 = icmp eq i32 %789, 0
  br i1 %.not810, label %790, label %791

790:                                              ; preds = %786, %779
  br label %791

791:                                              ; preds = %786, %790
  %.str.5.sink1142 = phi ptr [ @.str.5, %790 ], [ @.str.1, %786 ]
  store i32 %781, ptr %780, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = load i32, ptr %338, align 4, !tbaa !5
  %795 = call ptr @s2n_strerror(i32 noundef %794, ptr noundef nonnull @.str.4) #12
  %796 = load i32, ptr %338, align 4, !tbaa !5
  %797 = call ptr @s2n_strerror_debug(i32 noundef %796, ptr noundef nonnull @.str.4) #12
  %798 = load i32, ptr %780, align 4, !tbaa !5
  %799 = call ptr @strerror(i32 noundef %798) #12
  %800 = load i32, ptr %780, align 4, !tbaa !5
  %801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef nonnull %.str.5.sink1142, i32 noundef %793, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 123, ptr noundef %795, ptr noundef %797, ptr noundef %799, i32 noundef %800) #14
  call void @exit(i32 noundef 1) #15
  unreachable

802:                                              ; preds = %774
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = add nsw i32 %803, 1
  store i32 %804, ptr @test_count, align 4, !tbaa !5
  %805 = load i32, ptr %341, align 4, !tbaa !56
  %806 = load i32, ptr %342, align 8, !tbaa !57
  %807 = sub i32 %805, %806
  %808 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %807) #12
  %809 = icmp eq i32 %808, -1
  br i1 %809, label %810, label %833

810:                                              ; preds = %802
  %811 = tail call ptr @__errno_location() #13
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = call i32 @s2n_print_stacktrace(ptr noundef %813) #12
  %815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %816 = trunc nuw i8 %815 to i1
  br i1 %816, label %817, label %821

817:                                              ; preds = %810
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = call i32 @fileno(ptr noundef %818) #12
  %820 = call i32 @isatty(i32 noundef %819) #12
  %.not809 = icmp eq i32 %820, 0
  br i1 %.not809, label %821, label %822

821:                                              ; preds = %817, %810
  br label %822

822:                                              ; preds = %817, %821
  %.str.5.sink1151 = phi ptr [ @.str.5, %821 ], [ @.str.1, %817 ]
  store i32 %812, ptr %811, align 4, !tbaa !5
  %823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = load i32, ptr %338, align 4, !tbaa !5
  %826 = call ptr @s2n_strerror(i32 noundef %825, ptr noundef nonnull @.str.4) #12
  %827 = load i32, ptr %338, align 4, !tbaa !5
  %828 = call ptr @s2n_strerror_debug(i32 noundef %827, ptr noundef nonnull @.str.4) #12
  %829 = load i32, ptr %811, align 4, !tbaa !5
  %830 = call ptr @strerror(i32 noundef %829) #12
  %831 = load i32, ptr %811, align 4, !tbaa !5
  %832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %823, ptr noundef nonnull %.str.5.sink1151, i32 noundef %824, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 124, ptr noundef %826, ptr noundef %828, ptr noundef %830, i32 noundef %831) #14
  call void @exit(i32 noundef 1) #15
  unreachable

833:                                              ; preds = %802
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #12
  store i8 0, ptr %9, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %10) #12
  store i16 0, ptr %10, align 2, !tbaa !58
  %834 = load i32, ptr @test_count, align 4, !tbaa !5
  %835 = add nsw i32 %834, 1
  store i32 %835, ptr @test_count, align 4, !tbaa !5
  %836 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %9, ptr noundef nonnull %10) #12
  %837 = icmp eq i32 %836, -1
  br i1 %837, label %838, label %861

838:                                              ; preds = %833
  %839 = tail call ptr @__errno_location() #13
  %840 = load i32, ptr %839, align 4, !tbaa !5
  %841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %842 = call i32 @s2n_print_stacktrace(ptr noundef %841) #12
  %843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %844 = trunc nuw i8 %843 to i1
  br i1 %844, label %845, label %849

845:                                              ; preds = %838
  %846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %847 = call i32 @fileno(ptr noundef %846) #12
  %848 = call i32 @isatty(i32 noundef %847) #12
  %.not808 = icmp eq i32 %848, 0
  br i1 %.not808, label %849, label %850

849:                                              ; preds = %845, %838
  br label %850

850:                                              ; preds = %845, %849
  %.str.5.sink1160 = phi ptr [ @.str.5, %849 ], [ @.str.1, %845 ]
  store i32 %840, ptr %839, align 4, !tbaa !5
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = load i32, ptr @test_count, align 4, !tbaa !5
  %853 = load i32, ptr %338, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror(i32 noundef %853, ptr noundef nonnull @.str.4) #12
  %855 = load i32, ptr %338, align 4, !tbaa !5
  %856 = call ptr @s2n_strerror_debug(i32 noundef %855, ptr noundef nonnull @.str.4) #12
  %857 = load i32, ptr %839, align 4, !tbaa !5
  %858 = call ptr @strerror(i32 noundef %857) #12
  %859 = load i32, ptr %839, align 4, !tbaa !5
  %860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %851, ptr noundef nonnull %.str.5.sink1160, i32 noundef %852, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 128, ptr noundef %854, ptr noundef %856, ptr noundef %858, i32 noundef %859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

861:                                              ; preds = %833
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = add nsw i32 %862, 1
  store i32 %863, ptr @test_count, align 4, !tbaa !5
  %864 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %865 = icmp eq i32 %864, -1
  br i1 %865, label %866, label %889

866:                                              ; preds = %861
  %867 = tail call ptr @__errno_location() #13
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = call i32 @s2n_print_stacktrace(ptr noundef %869) #12
  %871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %872 = trunc nuw i8 %871 to i1
  br i1 %872, label %873, label %877

873:                                              ; preds = %866
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = call i32 @fileno(ptr noundef %874) #12
  %876 = call i32 @isatty(i32 noundef %875) #12
  %.not807 = icmp eq i32 %876, 0
  br i1 %.not807, label %877, label %878

877:                                              ; preds = %873, %866
  br label %878

878:                                              ; preds = %873, %877
  %.str.5.sink1169 = phi ptr [ @.str.5, %877 ], [ @.str.1, %873 ]
  store i32 %868, ptr %867, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = load i32, ptr %338, align 4, !tbaa !5
  %882 = call ptr @s2n_strerror(i32 noundef %881, ptr noundef nonnull @.str.4) #12
  %883 = load i32, ptr %338, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror_debug(i32 noundef %883, ptr noundef nonnull @.str.4) #12
  %885 = load i32, ptr %867, align 4, !tbaa !5
  %886 = call ptr @strerror(i32 noundef %885) #12
  %887 = load i32, ptr %867, align 4, !tbaa !5
  %888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef nonnull %.str.5.sink1169, i32 noundef %880, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 129, ptr noundef %882, ptr noundef %884, ptr noundef %886, i32 noundef %887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

889:                                              ; preds = %861
  %890 = load i32, ptr @test_count, align 4, !tbaa !5
  %891 = add nsw i32 %890, 1
  store i32 %891, ptr @test_count, align 4, !tbaa !5
  %892 = load i8, ptr %9, align 1, !tbaa !55
  %893 = icmp eq i8 %892, 21
  br i1 %893, label %917, label %894

894:                                              ; preds = %889
  %895 = tail call ptr @__errno_location() #13
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = call i32 @s2n_print_stacktrace(ptr noundef %897) #12
  %899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc nuw i8 %899 to i1
  br i1 %900, label %901, label %905

901:                                              ; preds = %894
  %902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %903 = call i32 @fileno(ptr noundef %902) #12
  %904 = call i32 @isatty(i32 noundef %903) #12
  %.not805 = icmp eq i32 %904, 0
  br i1 %.not805, label %905, label %906

905:                                              ; preds = %901, %894
  br label %906

906:                                              ; preds = %901, %905
  %.str.5.sink1178 = phi ptr [ @.str.5, %905 ], [ @.str.1, %901 ]
  store i32 %896, ptr %895, align 4, !tbaa !5
  %907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %908 = load i32, ptr @test_count, align 4, !tbaa !5
  %909 = load i32, ptr %338, align 4, !tbaa !5
  %910 = call ptr @s2n_strerror(i32 noundef %909, ptr noundef nonnull @.str.4) #12
  %911 = load i32, ptr %338, align 4, !tbaa !5
  %912 = call ptr @s2n_strerror_debug(i32 noundef %911, ptr noundef nonnull @.str.4) #12
  %913 = load i32, ptr %895, align 4, !tbaa !5
  %914 = call ptr @strerror(i32 noundef %913) #12
  %915 = load i32, ptr %895, align 4, !tbaa !5
  %916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %907, ptr noundef nonnull %.str.5.sink1178, i32 noundef %908, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.3, i32 noundef 130, ptr noundef %910, ptr noundef %912, ptr noundef %914, i32 noundef %915) #14
  call void @exit(i32 noundef 1) #15
  unreachable

917:                                              ; preds = %889
  %918 = add nsw i32 %890, 2
  store i32 %918, ptr @test_count, align 4, !tbaa !5
  %919 = load i16, ptr %10, align 2, !tbaa !58
  %920 = zext i16 %919 to i32
  %921 = icmp eq i32 %.0617, %920
  br i1 %921, label %945, label %922

922:                                              ; preds = %917
  %923 = tail call ptr @__errno_location() #13
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %926 = call i32 @s2n_print_stacktrace(ptr noundef %925) #12
  %927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %928 = trunc nuw i8 %927 to i1
  br i1 %928, label %929, label %933

929:                                              ; preds = %922
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = call i32 @fileno(ptr noundef %930) #12
  %932 = call i32 @isatty(i32 noundef %931) #12
  %.not806 = icmp eq i32 %932, 0
  br i1 %.not806, label %933, label %934

933:                                              ; preds = %929, %922
  br label %934

934:                                              ; preds = %929, %933
  %.str.5.sink1187 = phi ptr [ @.str.5, %933 ], [ @.str.1, %929 ]
  store i32 %924, ptr %923, align 4, !tbaa !5
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = load i32, ptr @test_count, align 4, !tbaa !5
  %937 = load i32, ptr %338, align 4, !tbaa !5
  %938 = call ptr @s2n_strerror(i32 noundef %937, ptr noundef nonnull @.str.4) #12
  %939 = load i32, ptr %338, align 4, !tbaa !5
  %940 = call ptr @s2n_strerror_debug(i32 noundef %939, ptr noundef nonnull @.str.4) #12
  %941 = load i32, ptr %923, align 4, !tbaa !5
  %942 = call ptr @strerror(i32 noundef %941) #12
  %943 = load i32, ptr %923, align 4, !tbaa !5
  %944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %935, ptr noundef nonnull %.str.5.sink1187, i32 noundef %936, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.3, i32 noundef 131, ptr noundef %938, ptr noundef %940, ptr noundef %942, i32 noundef %943) #14
  call void @exit(i32 noundef 1) #15
  unreachable

945:                                              ; preds = %917
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #12
  %946 = add nuw nsw i64 %.0853, 1
  %exitcond.not = icmp eq i64 %946, 8089
  br i1 %exitcond.not, label %343, label %351, !llvm.loop !59

947:                                              ; preds = %343
  %948 = tail call ptr @__errno_location() #13
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %951 = call i32 @s2n_print_stacktrace(ptr noundef %950) #12
  %952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %953 = trunc nuw i8 %952 to i1
  br i1 %953, label %954, label %958

954:                                              ; preds = %947
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = call i32 @fileno(ptr noundef %955) #12
  %957 = call i32 @isatty(i32 noundef %956) #12
  %.not792 = icmp eq i32 %957, 0
  br i1 %.not792, label %958, label %959

958:                                              ; preds = %954, %947
  br label %959

959:                                              ; preds = %954, %958
  %.str.5.sink1196 = phi ptr [ @.str.5, %958 ], [ @.str.1, %954 ]
  store i32 %949, ptr %948, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = load i32, ptr @test_count, align 4, !tbaa !5
  %962 = load i32, ptr %338, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror(i32 noundef %962, ptr noundef nonnull @.str.4) #12
  %964 = load i32, ptr %338, align 4, !tbaa !5
  %965 = call ptr @s2n_strerror_debug(i32 noundef %964, ptr noundef nonnull @.str.4) #12
  %966 = load i32, ptr %948, align 4, !tbaa !5
  %967 = call ptr @strerror(i32 noundef %966) #12
  %968 = load i32, ptr %948, align 4, !tbaa !5
  %969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %960, ptr noundef nonnull %.str.5.sink1196, i32 noundef %961, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.3, i32 noundef 136, ptr noundef %963, ptr noundef %965, ptr noundef %967, i32 noundef %968) #14
  call void @exit(i32 noundef 1) #15
  unreachable

970:                                              ; preds = %343
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = add nsw i32 %971, 1
  store i32 %972, ptr @test_count, align 4, !tbaa !5
  %973 = load ptr, ptr %332, align 8, !tbaa !18
  %974 = getelementptr inbounds i8, ptr %973, i64 456
  %975 = call i32 @s2n_hmac_init(ptr noundef nonnull %974, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %976 = icmp eq i32 %975, -1
  br i1 %976, label %977, label %1000

977:                                              ; preds = %970
  %978 = tail call ptr @__errno_location() #13
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @s2n_print_stacktrace(ptr noundef %980) #12
  %982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %983 = trunc nuw i8 %982 to i1
  br i1 %983, label %984, label %988

984:                                              ; preds = %977
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = call i32 @fileno(ptr noundef %985) #12
  %987 = call i32 @isatty(i32 noundef %986) #12
  %.not791 = icmp eq i32 %987, 0
  br i1 %.not791, label %988, label %989

988:                                              ; preds = %984, %977
  br label %989

989:                                              ; preds = %984, %988
  %.str.5.sink1205 = phi ptr [ @.str.5, %988 ], [ @.str.1, %984 ]
  store i32 %979, ptr %978, align 4, !tbaa !5
  %990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = load i32, ptr %338, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror(i32 noundef %992, ptr noundef nonnull @.str.4) #12
  %994 = load i32, ptr %338, align 4, !tbaa !5
  %995 = call ptr @s2n_strerror_debug(i32 noundef %994, ptr noundef nonnull @.str.4) #12
  %996 = load i32, ptr %978, align 4, !tbaa !5
  %997 = call ptr @strerror(i32 noundef %996) #12
  %998 = load i32, ptr %978, align 4, !tbaa !5
  %999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %990, ptr noundef nonnull %.str.5.sink1205, i32 noundef %991, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.3, i32 noundef 137, ptr noundef %993, ptr noundef %995, ptr noundef %997, i32 noundef %998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1000:                                             ; preds = %970
  %1001 = load ptr, ptr %332, align 8, !tbaa !18
  store ptr @s2n_null_cipher_suite, ptr %1001, align 8, !tbaa !46
  store i8 32, ptr %336, align 4, !tbaa !51
  br label %1009

1002:                                             ; preds = %2235
  %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 ptr, ptr %332, align 8, !tbaa !18
  %1006 = getelementptr inbounds i8, ptr %1005, i64 24
  %1007 = call i32 @s2n_hmac_init(ptr noundef nonnull %1006, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %1008 = icmp eq i32 %1007, -1
  br i1 %1008, label %2237, label %2259

1009:                                             ; preds = %1000, %2235
  %.0618854 = phi i64 [ 0, %1000 ], [ %2236, %2235 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, i8 0, i64 24, i1 false)
  %1010 = load i32, ptr @test_count, align 4, !tbaa !5
  %1011 = add nsw i32 %1010, 1
  store i32 %1011, ptr @test_count, align 4, !tbaa !5
  %1012 = trunc nuw nsw i64 %.0618854 to i32
  %1013 = call i32 @s2n_blob_init(ptr noundef nonnull %11, ptr noundef nonnull %6, i32 noundef %1012) #12
  %1014 = icmp eq i32 %1013, -1
  br i1 %1014, label %1015, label %1038

1015:                                             ; preds = %1009
  %1016 = tail call ptr @__errno_location() #13
  %1017 = load i32, ptr %1016, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #12
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1015
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #12
  %1025 = call i32 @isatty(i32 noundef %1024) #12
  %.not790 = icmp eq i32 %1025, 0
  br i1 %.not790, label %1026, label %1027

1026:                                             ; preds = %1022, %1015
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.5.sink1214 = phi ptr [ @.str.5, %1026 ], [ @.str.1, %1022 ]
  store i32 %1017, ptr %1016, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = load i32, ptr %338, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.4) #12
  %1032 = load i32, ptr %338, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.4) #12
  %1034 = load i32, ptr %1016, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #12
  %1036 = load i32, ptr %1016, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.5.sink1214, i32 noundef %1029, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.3, i32 noundef 143, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1038:                                             ; preds = %1009
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = add nsw i32 %1039, 1
  store i32 %1040, ptr @test_count, align 4, !tbaa !5
  %1041 = call i32 @s2n_hmac_reset(ptr noundef nonnull %5) #12
  %1042 = icmp eq i32 %1041, -1
  br i1 %1042, label %1043, label %1066

1043:                                             ; preds = %1038
  %1044 = tail call ptr @__errno_location() #13
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1047 = call i32 @s2n_print_stacktrace(ptr noundef %1046) #12
  %1048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1049 = trunc nuw i8 %1048 to i1
  br i1 %1049, label %1050, label %1054

1050:                                             ; preds = %1043
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = call i32 @fileno(ptr noundef %1051) #12
  %1053 = call i32 @isatty(i32 noundef %1052) #12
  %.not789 = icmp eq i32 %1053, 0
  br i1 %.not789, label %1054, label %1055

1054:                                             ; preds = %1050, %1043
  br label %1055

1055:                                             ; preds = %1050, %1054
  %.str.5.sink1223 = phi ptr [ @.str.5, %1054 ], [ @.str.1, %1050 ]
  store i32 %1045, ptr %1044, align 4, !tbaa !5
  %1056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1057 = load i32, ptr @test_count, align 4, !tbaa !5
  %1058 = load i32, ptr %338, align 4, !tbaa !5
  %1059 = call ptr @s2n_strerror(i32 noundef %1058, ptr noundef nonnull @.str.4) #12
  %1060 = load i32, ptr %338, align 4, !tbaa !5
  %1061 = call ptr @s2n_strerror_debug(i32 noundef %1060, ptr noundef nonnull @.str.4) #12
  %1062 = load i32, ptr %1044, align 4, !tbaa !5
  %1063 = call ptr @strerror(i32 noundef %1062) #12
  %1064 = load i32, ptr %1044, align 4, !tbaa !5
  %1065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1056, ptr noundef nonnull %.str.5.sink1223, i32 noundef %1057, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.3, i32 noundef 146, ptr noundef %1059, ptr noundef %1061, ptr noundef %1063, i32 noundef %1064) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1066:                                             ; preds = %1038
  %1067 = load i32, ptr @test_count, align 4, !tbaa !5
  %1068 = add nsw i32 %1067, 1
  store i32 %1068, ptr @test_count, align 4, !tbaa !5
  %1069 = load ptr, ptr %332, align 8, !tbaa !18
  %1070 = getelementptr inbounds i8, ptr %1069, i64 928
  %1071 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %1070, i32 noundef 8) #12
  %1072 = icmp eq i32 %1071, -1
  br i1 %1072, label %1073, label %1096

1073:                                             ; preds = %1066
  %1074 = tail call ptr @__errno_location() #13
  %1075 = load i32, ptr %1074, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = call i32 @s2n_print_stacktrace(ptr noundef %1076) #12
  %1078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1079 = trunc nuw i8 %1078 to i1
  br i1 %1079, label %1080, label %1084

1080:                                             ; preds = %1073
  %1081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1082 = call i32 @fileno(ptr noundef %1081) #12
  %1083 = call i32 @isatty(i32 noundef %1082) #12
  %.not788 = icmp eq i32 %1083, 0
  br i1 %.not788, label %1084, label %1085

1084:                                             ; preds = %1080, %1073
  br label %1085

1085:                                             ; preds = %1080, %1084
  %.str.5.sink1232 = phi ptr [ @.str.5, %1084 ], [ @.str.1, %1080 ]
  store i32 %1075, ptr %1074, align 4, !tbaa !5
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = load i32, ptr @test_count, align 4, !tbaa !5
  %1088 = load i32, ptr %338, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror(i32 noundef %1088, ptr noundef nonnull @.str.4) #12
  %1090 = load i32, ptr %338, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror_debug(i32 noundef %1090, ptr noundef nonnull @.str.4) #12
  %1092 = load i32, ptr %1074, align 4, !tbaa !5
  %1093 = call ptr @strerror(i32 noundef %1092) #12
  %1094 = load i32, ptr %1074, align 4, !tbaa !5
  %1095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1086, ptr noundef nonnull %.str.5.sink1232, i32 noundef %1087, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.3, i32 noundef 147, ptr noundef %1089, ptr noundef %1091, ptr noundef %1093, i32 noundef %1094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1096:                                             ; preds = %1066
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = add nsw i32 %1097, 1
  store i32 %1098, ptr @test_count, align 4, !tbaa !5
  %1099 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %1100 = icmp eq i32 %1099, -1
  br i1 %1100, label %1101, label %1124

1101:                                             ; preds = %1096
  %1102 = tail call ptr @__errno_location() #13
  %1103 = load i32, ptr %1102, align 4, !tbaa !5
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 @s2n_print_stacktrace(ptr noundef %1104) #12
  %1106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1107 = trunc nuw i8 %1106 to i1
  br i1 %1107, label %1108, label %1112

1108:                                             ; preds = %1101
  %1109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1110 = call i32 @fileno(ptr noundef %1109) #12
  %1111 = call i32 @isatty(i32 noundef %1110) #12
  %.not787 = icmp eq i32 %1111, 0
  br i1 %.not787, label %1112, label %1113

1112:                                             ; preds = %1108, %1101
  br label %1113

1113:                                             ; preds = %1108, %1112
  %.str.5.sink1241 = phi ptr [ @.str.5, %1112 ], [ @.str.1, %1108 ]
  store i32 %1103, ptr %1102, align 4, !tbaa !5
  %1114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1115 = load i32, ptr @test_count, align 4, !tbaa !5
  %1116 = load i32, ptr %338, align 4, !tbaa !5
  %1117 = call ptr @s2n_strerror(i32 noundef %1116, ptr noundef nonnull @.str.4) #12
  %1118 = load i32, ptr %338, align 4, !tbaa !5
  %1119 = call ptr @s2n_strerror_debug(i32 noundef %1118, ptr noundef nonnull @.str.4) #12
  %1120 = load i32, ptr %1102, align 4, !tbaa !5
  %1121 = call ptr @strerror(i32 noundef %1120) #12
  %1122 = load i32, ptr %1102, align 4, !tbaa !5
  %1123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1114, ptr noundef nonnull %.str.5.sink1241, i32 noundef %1115, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 149, ptr noundef %1117, ptr noundef %1119, ptr noundef %1121, i32 noundef %1122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1124:                                             ; preds = %1096
  %1125 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 21, ptr noundef nonnull %11) #12
  %.not746 = icmp eq i64 %.0618854, 8088
  %1126 = load i32, ptr @test_count, align 4, !tbaa !5
  %1127 = add nsw i32 %1126, 1
  store i32 %1127, ptr @test_count, align 4, !tbaa !5
  br i1 %.not746, label %1153, label %1128

1128:                                             ; preds = %1124
  %1129 = call zeroext i1 @s2n_result_is_ok(i32 %1125)
  br i1 %1129, label %1235, label %1130

1130:                                             ; preds = %1128
  %1131 = tail call ptr @__errno_location() #13
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = call i32 @s2n_print_stacktrace(ptr noundef %1133) #12
  %1135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1136 = trunc nuw i8 %1135 to i1
  br i1 %1136, label %1137, label %1141

1137:                                             ; preds = %1130
  %1138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1139 = call i32 @fileno(ptr noundef %1138) #12
  %1140 = call i32 @isatty(i32 noundef %1139) #12
  %.not750 = icmp eq i32 %1140, 0
  br i1 %.not750, label %1141, label %1142

1141:                                             ; preds = %1137, %1130
  br label %1142

1142:                                             ; preds = %1137, %1141
  %.str.5.sink1250 = phi ptr [ @.str.5, %1141 ], [ @.str.1, %1137 ]
  store i32 %1132, ptr %1131, align 4, !tbaa !5
  %1143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1144 = load i32, ptr @test_count, align 4, !tbaa !5
  %1145 = load i32, ptr %338, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef nonnull @.str.4) #12
  %1147 = load i32, ptr %338, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef nonnull @.str.4) #12
  %1149 = load i32, ptr %1131, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #12
  %1151 = load i32, ptr %1131, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1143, ptr noundef nonnull %.str.5.sink1250, i32 noundef %1144, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 153, ptr noundef %1146, ptr noundef %1148, ptr noundef %1150, i32 noundef %1151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1153:                                             ; preds = %1124
  %1154 = call zeroext i1 @s2n_result_is_error(i32 %1125)
  br i1 %1154, label %1178, label %1155

1155:                                             ; preds = %1153
  %1156 = tail call ptr @__errno_location() #13
  %1157 = load i32, ptr %1156, align 4, !tbaa !5
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @s2n_print_stacktrace(ptr noundef %1158) #12
  %1160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1161 = trunc nuw i8 %1160 to i1
  br i1 %1161, label %1162, label %1166

1162:                                             ; preds = %1155
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @fileno(ptr noundef %1163) #12
  %1165 = call i32 @isatty(i32 noundef %1164) #12
  %.not747 = icmp eq i32 %1165, 0
  br i1 %.not747, label %1166, label %1167

1166:                                             ; preds = %1162, %1155
  br label %1167

1167:                                             ; preds = %1162, %1166
  %.str.5.sink1259 = phi ptr [ @.str.5, %1166 ], [ @.str.1, %1162 ]
  store i32 %1157, ptr %1156, align 4, !tbaa !5
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = load i32, ptr %338, align 4, !tbaa !5
  %1171 = call ptr @s2n_strerror(i32 noundef %1170, ptr noundef nonnull @.str.4) #12
  %1172 = load i32, ptr %338, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror_debug(i32 noundef %1172, ptr noundef nonnull @.str.4) #12
  %1174 = load i32, ptr %1156, align 4, !tbaa !5
  %1175 = call ptr @strerror(i32 noundef %1174) #12
  %1176 = load i32, ptr %1156, align 4, !tbaa !5
  %1177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1168, ptr noundef nonnull %.str.5.sink1259, i32 noundef %1169, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.3, i32 noundef 156, ptr noundef %1171, ptr noundef %1173, ptr noundef %1175, i32 noundef %1176) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1178:                                             ; preds = %1153
  %1179 = load i32, ptr @test_count, align 4, !tbaa !5
  %1180 = add nsw i32 %1179, 1
  store i32 %1180, ptr @test_count, align 4, !tbaa !5
  %1181 = load i32, ptr %338, align 4, !tbaa !5
  %1182 = icmp eq i32 %1181, 335544390
  br i1 %1182, label %1206, label %1183

1183:                                             ; preds = %1178
  %1184 = tail call ptr @__errno_location() #13
  %1185 = load i32, ptr %1184, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = call i32 @s2n_print_stacktrace(ptr noundef %1186) #12
  %1188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1189 = trunc nuw i8 %1188 to i1
  br i1 %1189, label %1190, label %1194

1190:                                             ; preds = %1183
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = call i32 @fileno(ptr noundef %1191) #12
  %1193 = call i32 @isatty(i32 noundef %1192) #12
  %.not748 = icmp eq i32 %1193, 0
  br i1 %.not748, label %1194, label %1195

1194:                                             ; preds = %1190, %1183
  br label %1195

1195:                                             ; preds = %1190, %1194
  %.str.5.sink1268 = phi ptr [ @.str.5, %1194 ], [ @.str.1, %1190 ]
  store i32 %1185, ptr %1184, align 4, !tbaa !5
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = load i32, ptr @test_count, align 4, !tbaa !5
  %1198 = load i32, ptr %338, align 4, !tbaa !5
  %1199 = call ptr @s2n_strerror(i32 noundef %1198, ptr noundef nonnull @.str.4) #12
  %1200 = load i32, ptr %338, align 4, !tbaa !5
  %1201 = call ptr @s2n_strerror_debug(i32 noundef %1200, ptr noundef nonnull @.str.4) #12
  %1202 = load i32, ptr %1184, align 4, !tbaa !5
  %1203 = call ptr @strerror(i32 noundef %1202) #12
  %1204 = load i32, ptr %1184, align 4, !tbaa !5
  %1205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1196, ptr noundef nonnull %.str.5.sink1268, i32 noundef %1197, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 156, ptr noundef %1199, ptr noundef %1201, ptr noundef %1203, i32 noundef %1204) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1206:                                             ; preds = %1178
  %1207 = add nsw i32 %1179, 2
  store i32 %1207, ptr @test_count, align 4, !tbaa !5
  %1208 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.4) #12
  %1209 = icmp eq ptr %1208, null
  br i1 %1209, label %1210, label %1233

1210:                                             ; preds = %1206
  %1211 = tail call ptr @__errno_location() #13
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = call i32 @s2n_print_stacktrace(ptr noundef %1213) #12
  %1215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1216 = trunc nuw i8 %1215 to i1
  br i1 %1216, label %1217, label %1221

1217:                                             ; preds = %1210
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 @fileno(ptr noundef %1218) #12
  %1220 = call i32 @isatty(i32 noundef %1219) #12
  %.not749 = icmp eq i32 %1220, 0
  br i1 %.not749, label %1221, label %1222

1221:                                             ; preds = %1217, %1210
  br label %1222

1222:                                             ; preds = %1217, %1221
  %.str.5.sink1277 = phi ptr [ @.str.5, %1221 ], [ @.str.1, %1217 ]
  store i32 %1212, ptr %1211, align 4, !tbaa !5
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1224 = load i32, ptr @test_count, align 4, !tbaa !5
  %1225 = load i32, ptr %338, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror(i32 noundef %1225, ptr noundef nonnull @.str.4) #12
  %1227 = load i32, ptr %338, align 4, !tbaa !5
  %1228 = call ptr @s2n_strerror_debug(i32 noundef %1227, ptr noundef nonnull @.str.4) #12
  %1229 = load i32, ptr %1211, align 4, !tbaa !5
  %1230 = call ptr @strerror(i32 noundef %1229) #12
  %1231 = load i32, ptr %1211, align 4, !tbaa !5
  %1232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1223, ptr noundef nonnull %.str.5.sink1277, i32 noundef %1224, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 156, ptr noundef %1226, ptr noundef %1228, ptr noundef %1230, i32 noundef %1231) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1233:                                             ; preds = %1206
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1234 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1234, align 4, !tbaa !5
  br label %1235

1235:                                             ; preds = %1128, %1233
  %.0619 = phi i32 [ 8087, %1233 ], [ %1012, %1128 ]
  %1236 = add nuw nsw i32 %.0619, 20
  %1237 = load i32, ptr @test_count, align 4, !tbaa !5
  %1238 = add nsw i32 %1237, 1
  store i32 %1238, ptr @test_count, align 4, !tbaa !5
  %1239 = load ptr, ptr %337, align 8, !tbaa !54
  %1240 = load i8, ptr %1239, align 1, !tbaa !55
  %1241 = icmp eq i8 %1240, 21
  br i1 %1241, label %1265, label %1242

1242:                                             ; preds = %1235
  %1243 = tail call ptr @__errno_location() #13
  %1244 = load i32, ptr %1243, align 4, !tbaa !5
  %1245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1246 = call i32 @s2n_print_stacktrace(ptr noundef %1245) #12
  %1247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1248 = trunc nuw i8 %1247 to i1
  br i1 %1248, label %1249, label %1253

1249:                                             ; preds = %1242
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = call i32 @fileno(ptr noundef %1250) #12
  %1252 = call i32 @isatty(i32 noundef %1251) #12
  %.not751 = icmp eq i32 %1252, 0
  br i1 %.not751, label %1253, label %1254

1253:                                             ; preds = %1249, %1242
  br label %1254

1254:                                             ; preds = %1249, %1253
  %.str.5.sink1286 = phi ptr [ @.str.5, %1253 ], [ @.str.1, %1249 ]
  store i32 %1244, ptr %1243, align 4, !tbaa !5
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = load i32, ptr @test_count, align 4, !tbaa !5
  %1257 = load i32, ptr %338, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror(i32 noundef %1257, ptr noundef nonnull @.str.4) #12
  %1259 = load i32, ptr %338, align 4, !tbaa !5
  %1260 = call ptr @s2n_strerror_debug(i32 noundef %1259, ptr noundef nonnull @.str.4) #12
  %1261 = load i32, ptr %1243, align 4, !tbaa !5
  %1262 = call ptr @strerror(i32 noundef %1261) #12
  %1263 = load i32, ptr %1243, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1255, ptr noundef nonnull %.str.5.sink1286, i32 noundef %1256, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.3, i32 noundef 161, ptr noundef %1258, ptr noundef %1260, ptr noundef %1262, i32 noundef %1263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1265:                                             ; preds = %1235
  %1266 = add nsw i32 %1237, 2
  store i32 %1266, ptr @test_count, align 4, !tbaa !5
  %1267 = getelementptr inbounds i8, ptr %1239, i64 1
  %1268 = load i8, ptr %1267, align 1, !tbaa !55
  %1269 = icmp eq i8 %1268, 3
  br i1 %1269, label %1293, label %1270

1270:                                             ; preds = %1265
  %1271 = tail call ptr @__errno_location() #13
  %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) #12
  %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) #12
  %1280 = call i32 @isatty(i32 noundef %1279) #12
  %.not752 = icmp eq i32 %1280, 0
  br i1 %.not752, label %1281, label %1282

1281:                                             ; preds = %1277, %1270
  br label %1282

1282:                                             ; preds = %1277, %1281
  %.str.5.sink1295 = phi ptr [ @.str.5, %1281 ], [ @.str.1, %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 = load i32, ptr %338, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror(i32 noundef %1285, ptr noundef nonnull @.str.4) #12
  %1287 = load i32, ptr %338, align 4, !tbaa !5
  %1288 = call ptr @s2n_strerror_debug(i32 noundef %1287, ptr noundef nonnull @.str.4) #12
  %1289 = load i32, ptr %1271, align 4, !tbaa !5
  %1290 = call ptr @strerror(i32 noundef %1289) #12
  %1291 = load i32, ptr %1271, align 4, !tbaa !5
  %1292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1283, ptr noundef nonnull %.str.5.sink1295, i32 noundef %1284, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 162, ptr noundef %1286, ptr noundef %1288, ptr noundef %1290, i32 noundef %1291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1293:                                             ; preds = %1265
  %1294 = add nsw i32 %1237, 3
  store i32 %1294, ptr @test_count, align 4, !tbaa !5
  %1295 = getelementptr inbounds i8, ptr %1239, i64 2
  %1296 = load i8, ptr %1295, align 1, !tbaa !55
  %1297 = icmp eq i8 %1296, 2
  br i1 %1297, label %1321, label %1298

1298:                                             ; preds = %1293
  %1299 = tail call ptr @__errno_location() #13
  %1300 = load i32, ptr %1299, align 4, !tbaa !5
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @s2n_print_stacktrace(ptr noundef %1301) #12
  %1303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1304 = trunc nuw i8 %1303 to i1
  br i1 %1304, label %1305, label %1309

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

1309:                                             ; preds = %1305, %1298
  br label %1310

1310:                                             ; preds = %1305, %1309
  %.str.5.sink1304 = phi ptr [ @.str.5, %1309 ], [ @.str.1, %1305 ]
  store i32 %1300, ptr %1299, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = load i32, ptr @test_count, align 4, !tbaa !5
  %1313 = load i32, ptr %338, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror(i32 noundef %1313, ptr noundef nonnull @.str.4) #12
  %1315 = load i32, ptr %338, align 4, !tbaa !5
  %1316 = call ptr @s2n_strerror_debug(i32 noundef %1315, ptr noundef nonnull @.str.4) #12
  %1317 = load i32, ptr %1299, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #12
  %1319 = load i32, ptr %1299, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1311, ptr noundef nonnull %.str.5.sink1304, i32 noundef %1312, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.3, i32 noundef 163, ptr noundef %1314, ptr noundef %1316, ptr noundef %1318, i32 noundef %1319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1321:                                             ; preds = %1293
  %1322 = add nsw i32 %1237, 4
  store i32 %1322, ptr @test_count, align 4, !tbaa !5
  %1323 = getelementptr inbounds i8, ptr %1239, i64 3
  %1324 = load i8, ptr %1323, align 1, !tbaa !55
  %1325 = lshr i32 %1236, 8
  %1326 = trunc i32 %1325 to i8
  %1327 = icmp eq i8 %1324, %1326
  br i1 %1327, label %1351, label %1328

1328:                                             ; preds = %1321
  %1329 = tail call ptr @__errno_location() #13
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @s2n_print_stacktrace(ptr noundef %1331) #12
  %1333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1334 = trunc nuw i8 %1333 to i1
  br i1 %1334, label %1335, label %1339

1335:                                             ; preds = %1328
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = call i32 @fileno(ptr noundef %1336) #12
  %1338 = call i32 @isatty(i32 noundef %1337) #12
  %.not754 = icmp eq i32 %1338, 0
  br i1 %.not754, label %1339, label %1340

1339:                                             ; preds = %1335, %1328
  br label %1340

1340:                                             ; preds = %1335, %1339
  %.str.5.sink1313 = phi ptr [ @.str.5, %1339 ], [ @.str.1, %1335 ]
  store i32 %1330, ptr %1329, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = load i32, ptr @test_count, align 4, !tbaa !5
  %1343 = load i32, ptr %338, align 4, !tbaa !5
  %1344 = call ptr @s2n_strerror(i32 noundef %1343, ptr noundef nonnull @.str.4) #12
  %1345 = load i32, ptr %338, align 4, !tbaa !5
  %1346 = call ptr @s2n_strerror_debug(i32 noundef %1345, ptr noundef nonnull @.str.4) #12
  %1347 = load i32, ptr %1329, align 4, !tbaa !5
  %1348 = call ptr @strerror(i32 noundef %1347) #12
  %1349 = load i32, ptr %1329, align 4, !tbaa !5
  %1350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1341, ptr noundef nonnull %.str.5.sink1313, i32 noundef %1342, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.3, i32 noundef 164, ptr noundef %1344, ptr noundef %1346, ptr noundef %1348, i32 noundef %1349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1351:                                             ; preds = %1321
  %1352 = add nsw i32 %1237, 5
  store i32 %1352, ptr @test_count, align 4, !tbaa !5
  %1353 = getelementptr inbounds i8, ptr %1239, i64 4
  %1354 = load i8, ptr %1353, align 1, !tbaa !55
  %1355 = trunc i32 %1236 to i8
  %1356 = icmp eq i8 %1354, %1355
  br i1 %1356, label %1380, label %1357

1357:                                             ; preds = %1351
  %1358 = tail call ptr @__errno_location() #13
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = call i32 @s2n_print_stacktrace(ptr noundef %1360) #12
  %1362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1363 = trunc nuw i8 %1362 to i1
  br i1 %1363, label %1364, label %1368

1364:                                             ; preds = %1357
  %1365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1366 = call i32 @fileno(ptr noundef %1365) #12
  %1367 = call i32 @isatty(i32 noundef %1366) #12
  %.not755 = icmp eq i32 %1367, 0
  br i1 %.not755, label %1368, label %1369

1368:                                             ; preds = %1364, %1357
  br label %1369

1369:                                             ; preds = %1364, %1368
  %.str.5.sink1322 = phi ptr [ @.str.5, %1368 ], [ @.str.1, %1364 ]
  store i32 %1359, ptr %1358, align 4, !tbaa !5
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = load i32, ptr @test_count, align 4, !tbaa !5
  %1372 = load i32, ptr %338, align 4, !tbaa !5
  %1373 = call ptr @s2n_strerror(i32 noundef %1372, ptr noundef nonnull @.str.4) #12
  %1374 = load i32, ptr %338, align 4, !tbaa !5
  %1375 = call ptr @s2n_strerror_debug(i32 noundef %1374, ptr noundef nonnull @.str.4) #12
  %1376 = load i32, ptr %1358, align 4, !tbaa !5
  %1377 = call ptr @strerror(i32 noundef %1376) #12
  %1378 = load i32, ptr %1358, align 4, !tbaa !5
  %1379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1370, ptr noundef nonnull %.str.5.sink1322, i32 noundef %1371, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.3, i32 noundef 165, ptr noundef %1373, ptr noundef %1375, ptr noundef %1377, i32 noundef %1378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1380:                                             ; preds = %1351
  %1381 = add nsw i32 %1237, 6
  store i32 %1381, ptr @test_count, align 4, !tbaa !5
  %1382 = getelementptr inbounds i8, ptr %1239, i64 5
  %1383 = zext nneg i32 %.0619 to i64
  %bcmp756 = call i32 @bcmp(ptr nonnull %1382, ptr nonnull %6, i64 %1383)
  %1384 = icmp eq i32 %bcmp756, 0
  br i1 %1384, label %1408, label %1385

1385:                                             ; preds = %1380
  %1386 = tail call ptr @__errno_location() #13
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = call i32 @s2n_print_stacktrace(ptr noundef %1388) #12
  %1390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1391 = trunc nuw i8 %1390 to i1
  br i1 %1391, label %1392, label %1396

1392:                                             ; preds = %1385
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = call i32 @fileno(ptr noundef %1393) #12
  %1395 = call i32 @isatty(i32 noundef %1394) #12
  %.not757 = icmp eq i32 %1395, 0
  br i1 %.not757, label %1396, label %1397

1396:                                             ; preds = %1392, %1385
  br label %1397

1397:                                             ; preds = %1392, %1396
  %.str.5.sink1331 = phi ptr [ @.str.5, %1396 ], [ @.str.1, %1392 ]
  store i32 %1387, ptr %1386, align 4, !tbaa !5
  %1398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1399 = load i32, ptr @test_count, align 4, !tbaa !5
  %1400 = load i32, ptr %338, align 4, !tbaa !5
  %1401 = call ptr @s2n_strerror(i32 noundef %1400, ptr noundef nonnull @.str.4) #12
  %1402 = load i32, ptr %338, align 4, !tbaa !5
  %1403 = call ptr @s2n_strerror_debug(i32 noundef %1402, ptr noundef nonnull @.str.4) #12
  %1404 = load i32, ptr %1386, align 4, !tbaa !5
  %1405 = call ptr @strerror(i32 noundef %1404) #12
  %1406 = load i32, ptr %1386, align 4, !tbaa !5
  %1407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1398, ptr noundef nonnull %.str.5.sink1331, i32 noundef %1399, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.3, i32 noundef 166, ptr noundef %1401, ptr noundef %1403, ptr noundef %1405, i32 noundef %1406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1408:                                             ; preds = %1380
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #12
  %1409 = lshr i32 %.0619, 8
  %1410 = trunc i32 %1409 to i8
  store i8 %1410, ptr %12, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #12
  %1411 = trunc i32 %.0619 to i8
  store i8 %1411, ptr %13, align 1, !tbaa !55
  %1412 = add nsw i32 %1237, 7
  store i32 %1412, ptr @test_count, align 4, !tbaa !5
  %1413 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %1239, i32 noundef 3) #12
  %1414 = icmp eq i32 %1413, -1
  br i1 %1414, label %1415, label %1438

1415:                                             ; preds = %1408
  %1416 = tail call ptr @__errno_location() #13
  %1417 = load i32, ptr %1416, align 4, !tbaa !5
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = call i32 @s2n_print_stacktrace(ptr noundef %1418) #12
  %1420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1421 = trunc nuw i8 %1420 to i1
  br i1 %1421, label %1422, label %1426

1422:                                             ; preds = %1415
  %1423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1424 = call i32 @fileno(ptr noundef %1423) #12
  %1425 = call i32 @isatty(i32 noundef %1424) #12
  %.not786 = icmp eq i32 %1425, 0
  br i1 %.not786, label %1426, label %1427

1426:                                             ; preds = %1422, %1415
  br label %1427

1427:                                             ; preds = %1422, %1426
  %.str.5.sink1340 = phi ptr [ @.str.5, %1426 ], [ @.str.1, %1422 ]
  store i32 %1417, ptr %1416, align 4, !tbaa !5
  %1428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1429 = load i32, ptr @test_count, align 4, !tbaa !5
  %1430 = load i32, ptr %338, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.4) #12
  %1432 = load i32, ptr %338, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.4) #12
  %1434 = load i32, ptr %1416, align 4, !tbaa !5
  %1435 = call ptr @strerror(i32 noundef %1434) #12
  %1436 = load i32, ptr %1416, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1428, ptr noundef nonnull %.str.5.sink1340, i32 noundef %1429, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.3, i32 noundef 170, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1438:                                             ; preds = %1408
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = add nsw i32 %1439, 1
  store i32 %1440, ptr @test_count, align 4, !tbaa !5
  %1441 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %12, i32 noundef 1) #12
  %1442 = icmp eq i32 %1441, -1
  br i1 %1442, label %1443, label %1466

1443:                                             ; preds = %1438
  %1444 = tail call ptr @__errno_location() #13
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = call i32 @s2n_print_stacktrace(ptr noundef %1446) #12
  %1448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1449 = trunc nuw i8 %1448 to i1
  br i1 %1449, label %1450, label %1454

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

1454:                                             ; preds = %1450, %1443
  br label %1455

1455:                                             ; preds = %1450, %1454
  %.str.5.sink1349 = phi ptr [ @.str.5, %1454 ], [ @.str.1, %1450 ]
  store i32 %1445, ptr %1444, align 4, !tbaa !5
  %1456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1457 = load i32, ptr @test_count, align 4, !tbaa !5
  %1458 = load i32, ptr %338, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror(i32 noundef %1458, ptr noundef nonnull @.str.4) #12
  %1460 = load i32, ptr %338, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror_debug(i32 noundef %1460, ptr noundef nonnull @.str.4) #12
  %1462 = load i32, ptr %1444, align 4, !tbaa !5
  %1463 = call ptr @strerror(i32 noundef %1462) #12
  %1464 = load i32, ptr %1444, align 4, !tbaa !5
  %1465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1456, ptr noundef nonnull %.str.5.sink1349, i32 noundef %1457, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.3, i32 noundef 171, ptr noundef %1459, ptr noundef %1461, ptr noundef %1463, i32 noundef %1464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1466:                                             ; preds = %1438
  %1467 = load i32, ptr @test_count, align 4, !tbaa !5
  %1468 = add nsw i32 %1467, 1
  store i32 %1468, ptr @test_count, align 4, !tbaa !5
  %1469 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %13, i32 noundef 1) #12
  %1470 = icmp eq i32 %1469, -1
  br i1 %1470, label %1471, label %1494

1471:                                             ; preds = %1466
  %1472 = tail call ptr @__errno_location() #13
  %1473 = load i32, ptr %1472, align 4, !tbaa !5
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = call i32 @s2n_print_stacktrace(ptr noundef %1474) #12
  %1476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1477 = trunc nuw i8 %1476 to i1
  br i1 %1477, label %1478, label %1482

1478:                                             ; preds = %1471
  %1479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1480 = call i32 @fileno(ptr noundef %1479) #12
  %1481 = call i32 @isatty(i32 noundef %1480) #12
  %.not784 = icmp eq i32 %1481, 0
  br i1 %.not784, label %1482, label %1483

1482:                                             ; preds = %1478, %1471
  br label %1483

1483:                                             ; preds = %1478, %1482
  %.str.5.sink1358 = phi ptr [ @.str.5, %1482 ], [ @.str.1, %1478 ]
  store i32 %1473, ptr %1472, align 4, !tbaa !5
  %1484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1485 = load i32, ptr @test_count, align 4, !tbaa !5
  %1486 = load i32, ptr %338, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror(i32 noundef %1486, ptr noundef nonnull @.str.4) #12
  %1488 = load i32, ptr %338, align 4, !tbaa !5
  %1489 = call ptr @s2n_strerror_debug(i32 noundef %1488, ptr noundef nonnull @.str.4) #12
  %1490 = load i32, ptr %1472, align 4, !tbaa !5
  %1491 = call ptr @strerror(i32 noundef %1490) #12
  %1492 = load i32, ptr %1472, align 4, !tbaa !5
  %1493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1484, ptr noundef nonnull %.str.5.sink1358, i32 noundef %1485, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.3, i32 noundef 172, ptr noundef %1487, ptr noundef %1489, ptr noundef %1491, i32 noundef %1492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1494:                                             ; preds = %1466
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = add nsw i32 %1495, 1
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %1497 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %6, i32 noundef %.0619) #12
  %1498 = icmp eq i32 %1497, -1
  br i1 %1498, label %1499, label %1522

1499:                                             ; preds = %1494
  %1500 = tail call ptr @__errno_location() #13
  %1501 = load i32, ptr %1500, align 4, !tbaa !5
  %1502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1503 = call i32 @s2n_print_stacktrace(ptr noundef %1502) #12
  %1504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1505 = trunc nuw i8 %1504 to i1
  br i1 %1505, label %1506, label %1510

1506:                                             ; preds = %1499
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = call i32 @fileno(ptr noundef %1507) #12
  %1509 = call i32 @isatty(i32 noundef %1508) #12
  %.not783 = icmp eq i32 %1509, 0
  br i1 %.not783, label %1510, label %1511

1510:                                             ; preds = %1506, %1499
  br label %1511

1511:                                             ; preds = %1506, %1510
  %.str.5.sink1367 = phi ptr [ @.str.5, %1510 ], [ @.str.1, %1506 ]
  store i32 %1501, ptr %1500, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = load i32, ptr %338, align 4, !tbaa !5
  %1515 = call ptr @s2n_strerror(i32 noundef %1514, ptr noundef nonnull @.str.4) #12
  %1516 = load i32, ptr %338, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror_debug(i32 noundef %1516, ptr noundef nonnull @.str.4) #12
  %1518 = load i32, ptr %1500, align 4, !tbaa !5
  %1519 = call ptr @strerror(i32 noundef %1518) #12
  %1520 = load i32, ptr %1500, align 4, !tbaa !5
  %1521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1512, ptr noundef nonnull %.str.5.sink1367, i32 noundef %1513, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.3, i32 noundef 173, ptr noundef %1515, ptr noundef %1517, ptr noundef %1519, i32 noundef %1520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1522:                                             ; preds = %1494
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %14) #12
  %1523 = load i32, ptr @test_count, align 4, !tbaa !5
  %1524 = add nsw i32 %1523, 1
  store i32 %1524, ptr @test_count, align 4, !tbaa !5
  %1525 = call i32 @s2n_hmac_digest(ptr noundef nonnull %5, ptr noundef nonnull %14, i32 noundef 20) #12
  %1526 = icmp eq i32 %1525, -1
  br i1 %1526, label %1527, label %1550

1527:                                             ; preds = %1522
  %1528 = tail call ptr @__errno_location() #13
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1531 = call i32 @s2n_print_stacktrace(ptr noundef %1530) #12
  %1532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1533 = trunc nuw i8 %1532 to i1
  br i1 %1533, label %1534, label %1538

1534:                                             ; preds = %1527
  %1535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1536 = call i32 @fileno(ptr noundef %1535) #12
  %1537 = call i32 @isatty(i32 noundef %1536) #12
  %.not782 = icmp eq i32 %1537, 0
  br i1 %.not782, label %1538, label %1539

1538:                                             ; preds = %1534, %1527
  br label %1539

1539:                                             ; preds = %1534, %1538
  %.str.5.sink1376 = phi ptr [ @.str.5, %1538 ], [ @.str.1, %1534 ]
  store i32 %1529, ptr %1528, align 4, !tbaa !5
  %1540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1541 = load i32, ptr @test_count, align 4, !tbaa !5
  %1542 = load i32, ptr %338, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror(i32 noundef %1542, ptr noundef nonnull @.str.4) #12
  %1544 = load i32, ptr %338, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror_debug(i32 noundef %1544, ptr noundef nonnull @.str.4) #12
  %1546 = load i32, ptr %1528, align 4, !tbaa !5
  %1547 = call ptr @strerror(i32 noundef %1546) #12
  %1548 = load i32, ptr %1528, align 4, !tbaa !5
  %1549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1540, ptr noundef nonnull %.str.5.sink1376, i32 noundef %1541, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.3, i32 noundef 176, ptr noundef %1543, ptr noundef %1545, ptr noundef %1547, i32 noundef %1548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1550:                                             ; preds = %1522
  %1551 = load i32, ptr @test_count, align 4, !tbaa !5
  %1552 = add nsw i32 %1551, 1
  store i32 %1552, ptr @test_count, align 4, !tbaa !5
  %1553 = load ptr, ptr %337, align 8, !tbaa !54
  %1554 = getelementptr inbounds i8, ptr %1553, i64 5
  %1555 = getelementptr inbounds i8, ptr %1554, i64 %1383
  %1556 = call i32 @s2n_hmac_digest_verify(ptr noundef nonnull %1555, ptr noundef nonnull %14, i32 noundef 20) #12
  %1557 = icmp eq i32 %1556, -1
  br i1 %1557, label %1558, label %1581

1558:                                             ; preds = %1550
  %1559 = tail call ptr @__errno_location() #13
  %1560 = load i32, ptr %1559, align 4, !tbaa !5
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = call i32 @s2n_print_stacktrace(ptr noundef %1561) #12
  %1563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1564 = trunc nuw i8 %1563 to i1
  br i1 %1564, label %1565, label %1569

1565:                                             ; preds = %1558
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = call i32 @fileno(ptr noundef %1566) #12
  %1568 = call i32 @isatty(i32 noundef %1567) #12
  %.not781 = icmp eq i32 %1568, 0
  br i1 %.not781, label %1569, label %1570

1569:                                             ; preds = %1565, %1558
  br label %1570

1570:                                             ; preds = %1565, %1569
  %.str.5.sink1385 = phi ptr [ @.str.5, %1569 ], [ @.str.1, %1565 ]
  store i32 %1560, ptr %1559, align 4, !tbaa !5
  %1571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1572 = load i32, ptr @test_count, align 4, !tbaa !5
  %1573 = load i32, ptr %338, align 4, !tbaa !5
  %1574 = call ptr @s2n_strerror(i32 noundef %1573, ptr noundef nonnull @.str.4) #12
  %1575 = load i32, ptr %338, align 4, !tbaa !5
  %1576 = call ptr @s2n_strerror_debug(i32 noundef %1575, ptr noundef nonnull @.str.4) #12
  %1577 = load i32, ptr %1559, align 4, !tbaa !5
  %1578 = call ptr @strerror(i32 noundef %1577) #12
  %1579 = load i32, ptr %1559, align 4, !tbaa !5
  %1580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1571, ptr noundef nonnull %.str.5.sink1385, i32 noundef %1572, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.3, i32 noundef 177, ptr noundef %1574, ptr noundef %1576, ptr noundef %1578, i32 noundef %1579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1581:                                             ; preds = %1550
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = add nsw i32 %1582, 1
  store i32 %1583, ptr @test_count, align 4, !tbaa !5
  %1584 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %1585 = icmp eq i32 %1584, -1
  br i1 %1585, label %1586, label %1609

1586:                                             ; preds = %1581
  %1587 = tail call ptr @__errno_location() #13
  %1588 = load i32, ptr %1587, align 4, !tbaa !5
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = call i32 @s2n_print_stacktrace(ptr noundef %1589) #12
  %1591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1592 = trunc nuw i8 %1591 to i1
  br i1 %1592, label %1593, label %1597

1593:                                             ; preds = %1586
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = call i32 @fileno(ptr noundef %1594) #12
  %1596 = call i32 @isatty(i32 noundef %1595) #12
  %.not780 = icmp eq i32 %1596, 0
  br i1 %.not780, label %1597, label %1598

1597:                                             ; preds = %1593, %1586
  br label %1598

1598:                                             ; preds = %1593, %1597
  %.str.5.sink1394 = phi ptr [ @.str.5, %1597 ], [ @.str.1, %1593 ]
  store i32 %1588, ptr %1587, align 4, !tbaa !5
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1600 = load i32, ptr @test_count, align 4, !tbaa !5
  %1601 = load i32, ptr %338, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror(i32 noundef %1601, ptr noundef nonnull @.str.4) #12
  %1603 = load i32, ptr %338, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror_debug(i32 noundef %1603, ptr noundef nonnull @.str.4) #12
  %1605 = load i32, ptr %1587, align 4, !tbaa !5
  %1606 = call ptr @strerror(i32 noundef %1605) #12
  %1607 = load i32, ptr %1587, align 4, !tbaa !5
  %1608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1599, ptr noundef nonnull %.str.5.sink1394, i32 noundef %1600, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 179, ptr noundef %1602, ptr noundef %1604, ptr noundef %1606, i32 noundef %1607) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1609:                                             ; preds = %1581
  %1610 = load i32, ptr @test_count, align 4, !tbaa !5
  %1611 = add nsw i32 %1610, 1
  store i32 %1611, ptr @test_count, align 4, !tbaa !5
  %1612 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %1613 = icmp eq i32 %1612, -1
  br i1 %1613, label %1614, label %1637

1614:                                             ; preds = %1609
  %1615 = tail call ptr @__errno_location() #13
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = call i32 @s2n_print_stacktrace(ptr noundef %1617) #12
  %1619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1620 = trunc nuw i8 %1619 to i1
  br i1 %1620, label %1621, label %1625

1621:                                             ; preds = %1614
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = call i32 @fileno(ptr noundef %1622) #12
  %1624 = call i32 @isatty(i32 noundef %1623) #12
  %.not779 = icmp eq i32 %1624, 0
  br i1 %.not779, label %1625, label %1626

1625:                                             ; preds = %1621, %1614
  br label %1626

1626:                                             ; preds = %1621, %1625
  %.str.5.sink1403 = phi ptr [ @.str.5, %1625 ], [ @.str.1, %1621 ]
  store i32 %1616, ptr %1615, align 4, !tbaa !5
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = load i32, ptr @test_count, align 4, !tbaa !5
  %1629 = load i32, ptr %338, align 4, !tbaa !5
  %1630 = call ptr @s2n_strerror(i32 noundef %1629, ptr noundef nonnull @.str.4) #12
  %1631 = load i32, ptr %338, align 4, !tbaa !5
  %1632 = call ptr @s2n_strerror_debug(i32 noundef %1631, ptr noundef nonnull @.str.4) #12
  %1633 = load i32, ptr %1615, align 4, !tbaa !5
  %1634 = call ptr @strerror(i32 noundef %1633) #12
  %1635 = load i32, ptr %1615, align 4, !tbaa !5
  %1636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1627, ptr noundef nonnull %.str.5.sink1403, i32 noundef %1628, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 180, ptr noundef %1630, ptr noundef %1632, ptr noundef %1634, i32 noundef %1635) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1637:                                             ; preds = %1609
  %1638 = load i32, ptr @test_count, align 4, !tbaa !5
  %1639 = add nsw i32 %1638, 1
  store i32 %1639, ptr @test_count, align 4, !tbaa !5
  %1640 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %1641 = icmp eq i32 %1640, -1
  br i1 %1641, label %1642, label %1665

1642:                                             ; preds = %1637
  %1643 = tail call ptr @__errno_location() #13
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @s2n_print_stacktrace(ptr noundef %1645) #12
  %1647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1648 = trunc nuw i8 %1647 to i1
  br i1 %1648, label %1649, label %1653

1649:                                             ; preds = %1642
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = call i32 @fileno(ptr noundef %1650) #12
  %1652 = call i32 @isatty(i32 noundef %1651) #12
  %.not778 = icmp eq i32 %1652, 0
  br i1 %.not778, label %1653, label %1654

1653:                                             ; preds = %1649, %1642
  br label %1654

1654:                                             ; preds = %1649, %1653
  %.str.5.sink1412 = phi ptr [ @.str.5, %1653 ], [ @.str.1, %1649 ]
  store i32 %1644, ptr %1643, align 4, !tbaa !5
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = load i32, ptr @test_count, align 4, !tbaa !5
  %1657 = load i32, ptr %338, align 4, !tbaa !5
  %1658 = call ptr @s2n_strerror(i32 noundef %1657, ptr noundef nonnull @.str.4) #12
  %1659 = load i32, ptr %338, align 4, !tbaa !5
  %1660 = call ptr @s2n_strerror_debug(i32 noundef %1659, ptr noundef nonnull @.str.4) #12
  %1661 = load i32, ptr %1643, align 4, !tbaa !5
  %1662 = call ptr @strerror(i32 noundef %1661) #12
  %1663 = load i32, ptr %1643, align 4, !tbaa !5
  %1664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1655, ptr noundef nonnull %.str.5.sink1412, i32 noundef %1656, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 181, ptr noundef %1658, ptr noundef %1660, ptr noundef %1662, i32 noundef %1663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1665:                                             ; preds = %1637
  %1666 = load i32, ptr @test_count, align 4, !tbaa !5
  %1667 = add nsw i32 %1666, 1
  store i32 %1667, ptr @test_count, align 4, !tbaa !5
  %1668 = load i32, ptr %341, align 4, !tbaa !56
  %1669 = load i32, ptr %342, align 8, !tbaa !57
  %1670 = sub i32 %1668, %1669
  %1671 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %1670) #12
  %1672 = icmp eq i32 %1671, -1
  br i1 %1672, label %1673, label %1696

1673:                                             ; preds = %1665
  %1674 = tail call ptr @__errno_location() #13
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @s2n_print_stacktrace(ptr noundef %1676) #12
  %1678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1679 = trunc nuw i8 %1678 to i1
  br i1 %1679, label %1680, label %1684

1680:                                             ; preds = %1673
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @fileno(ptr noundef %1681) #12
  %1683 = call i32 @isatty(i32 noundef %1682) #12
  %.not777 = icmp eq i32 %1683, 0
  br i1 %.not777, label %1684, label %1685

1684:                                             ; preds = %1680, %1673
  br label %1685

1685:                                             ; preds = %1680, %1684
  %.str.5.sink1421 = phi ptr [ @.str.5, %1684 ], [ @.str.1, %1680 ]
  store i32 %1675, ptr %1674, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = load i32, ptr @test_count, align 4, !tbaa !5
  %1688 = load i32, ptr %338, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror(i32 noundef %1688, ptr noundef nonnull @.str.4) #12
  %1690 = load i32, ptr %338, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror_debug(i32 noundef %1690, ptr noundef nonnull @.str.4) #12
  %1692 = load i32, ptr %1674, align 4, !tbaa !5
  %1693 = call ptr @strerror(i32 noundef %1692) #12
  %1694 = load i32, ptr %1674, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1686, ptr noundef nonnull %.str.5.sink1421, i32 noundef %1687, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 182, ptr noundef %1689, ptr noundef %1691, ptr noundef %1693, i32 noundef %1694) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1696:                                             ; preds = %1665
  %1697 = load ptr, ptr %334, align 8, !tbaa !44
  %1698 = getelementptr inbounds i8, ptr %1697, i64 920
  %1699 = load i64, ptr %1698, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #12
  store i8 0, ptr %15, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %16) #12
  store i16 0, ptr %16, align 2, !tbaa !58
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = add nsw i32 %1700, 1
  store i32 %1701, ptr @test_count, align 4, !tbaa !5
  %1702 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %15, ptr noundef nonnull %16) #12
  %1703 = icmp eq i32 %1702, -1
  br i1 %1703, label %1704, label %1727

1704:                                             ; preds = %1696
  %1705 = tail call ptr @__errno_location() #13
  %1706 = load i32, ptr %1705, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @s2n_print_stacktrace(ptr noundef %1707) #12
  %1709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1710 = trunc nuw i8 %1709 to i1
  br i1 %1710, label %1711, label %1715

1711:                                             ; preds = %1704
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @fileno(ptr noundef %1712) #12
  %1714 = call i32 @isatty(i32 noundef %1713) #12
  %.not776 = icmp eq i32 %1714, 0
  br i1 %.not776, label %1715, label %1716

1715:                                             ; preds = %1711, %1704
  br label %1716

1716:                                             ; preds = %1711, %1715
  %.str.5.sink1430 = phi ptr [ @.str.5, %1715 ], [ @.str.1, %1711 ]
  store i32 %1706, ptr %1705, align 4, !tbaa !5
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = load i32, ptr @test_count, align 4, !tbaa !5
  %1719 = load i32, ptr %338, align 4, !tbaa !5
  %1720 = call ptr @s2n_strerror(i32 noundef %1719, ptr noundef nonnull @.str.4) #12
  %1721 = load i32, ptr %338, align 4, !tbaa !5
  %1722 = call ptr @s2n_strerror_debug(i32 noundef %1721, ptr noundef nonnull @.str.4) #12
  %1723 = load i32, ptr %1705, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #12
  %1725 = load i32, ptr %1705, align 4, !tbaa !5
  %1726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1717, ptr noundef nonnull %.str.5.sink1430, i32 noundef %1718, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 189, ptr noundef %1720, ptr noundef %1722, ptr noundef %1724, i32 noundef %1725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1727:                                             ; preds = %1696
  %1728 = load i32, ptr @test_count, align 4, !tbaa !5
  %1729 = add nsw i32 %1728, 1
  store i32 %1729, ptr @test_count, align 4, !tbaa !5
  %1730 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %1731 = icmp eq i32 %1730, -1
  br i1 %1731, label %1732, label %1755

1732:                                             ; preds = %1727
  %1733 = tail call ptr @__errno_location() #13
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1736 = call i32 @s2n_print_stacktrace(ptr noundef %1735) #12
  %1737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1738 = trunc nuw i8 %1737 to i1
  br i1 %1738, label %1739, label %1743

1739:                                             ; preds = %1732
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = call i32 @fileno(ptr noundef %1740) #12
  %1742 = call i32 @isatty(i32 noundef %1741) #12
  %.not775 = icmp eq i32 %1742, 0
  br i1 %.not775, label %1743, label %1744

1743:                                             ; preds = %1739, %1732
  br label %1744

1744:                                             ; preds = %1739, %1743
  %.str.5.sink1439 = phi ptr [ @.str.5, %1743 ], [ @.str.1, %1739 ]
  store i32 %1734, ptr %1733, align 4, !tbaa !5
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = load i32, ptr @test_count, align 4, !tbaa !5
  %1747 = load i32, ptr %338, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror(i32 noundef %1747, ptr noundef nonnull @.str.4) #12
  %1749 = load i32, ptr %338, align 4, !tbaa !5
  %1750 = call ptr @s2n_strerror_debug(i32 noundef %1749, ptr noundef nonnull @.str.4) #12
  %1751 = load i32, ptr %1733, align 4, !tbaa !5
  %1752 = call ptr @strerror(i32 noundef %1751) #12
  %1753 = load i32, ptr %1733, align 4, !tbaa !5
  %1754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1745, ptr noundef nonnull %.str.5.sink1439, i32 noundef %1746, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 190, ptr noundef %1748, ptr noundef %1750, ptr noundef %1752, i32 noundef %1753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1755:                                             ; preds = %1727
  %1756 = load i32, ptr @test_count, align 4, !tbaa !5
  %1757 = add nsw i32 %1756, 1
  store i32 %1757, ptr @test_count, align 4, !tbaa !5
  %1758 = load i8, ptr %15, align 1, !tbaa !55
  %1759 = icmp eq i8 %1758, 21
  br i1 %1759, label %1783, label %1760

1760:                                             ; preds = %1755
  %1761 = tail call ptr @__errno_location() #13
  %1762 = load i32, ptr %1761, align 4, !tbaa !5
  %1763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1764 = call i32 @s2n_print_stacktrace(ptr noundef %1763) #12
  %1765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1766 = trunc nuw i8 %1765 to i1
  br i1 %1766, label %1767, label %1771

1767:                                             ; preds = %1760
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = call i32 @fileno(ptr noundef %1768) #12
  %1770 = call i32 @isatty(i32 noundef %1769) #12
  %.not758 = icmp eq i32 %1770, 0
  br i1 %.not758, label %1771, label %1772

1771:                                             ; preds = %1767, %1760
  br label %1772

1772:                                             ; preds = %1767, %1771
  %.str.5.sink1448 = phi ptr [ @.str.5, %1771 ], [ @.str.1, %1767 ]
  store i32 %1762, ptr %1761, align 4, !tbaa !5
  %1773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1774 = load i32, ptr @test_count, align 4, !tbaa !5
  %1775 = load i32, ptr %338, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror(i32 noundef %1775, ptr noundef nonnull @.str.4) #12
  %1777 = load i32, ptr %338, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror_debug(i32 noundef %1777, ptr noundef nonnull @.str.4) #12
  %1779 = load i32, ptr %1761, align 4, !tbaa !5
  %1780 = call ptr @strerror(i32 noundef %1779) #12
  %1781 = load i32, ptr %1761, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1773, ptr noundef nonnull %.str.5.sink1448, i32 noundef %1774, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.3, i32 noundef 191, ptr noundef %1776, ptr noundef %1778, ptr noundef %1780, i32 noundef %1781) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1783:                                             ; preds = %1755
  %1784 = add nsw i32 %1756, 2
  store i32 %1784, ptr @test_count, align 4, !tbaa !5
  %1785 = load i16, ptr %16, align 2, !tbaa !58
  %1786 = trunc i32 %1236 to i16
  %1787 = icmp eq i16 %1785, %1786
  br i1 %1787, label %1811, label %1788

1788:                                             ; preds = %1783
  %1789 = tail call ptr @__errno_location() #13
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1792 = call i32 @s2n_print_stacktrace(ptr noundef %1791) #12
  %1793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1794 = trunc nuw i8 %1793 to i1
  br i1 %1794, label %1795, label %1799

1795:                                             ; preds = %1788
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = call i32 @fileno(ptr noundef %1796) #12
  %1798 = call i32 @isatty(i32 noundef %1797) #12
  %.not759 = icmp eq i32 %1798, 0
  br i1 %.not759, label %1799, label %1800

1799:                                             ; preds = %1795, %1788
  br label %1800

1800:                                             ; preds = %1795, %1799
  %.str.5.sink1457 = phi ptr [ @.str.5, %1799 ], [ @.str.1, %1795 ]
  store i32 %1790, ptr %1789, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = load i32, ptr %338, align 4, !tbaa !5
  %1804 = call ptr @s2n_strerror(i32 noundef %1803, ptr noundef nonnull @.str.4) #12
  %1805 = load i32, ptr %338, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror_debug(i32 noundef %1805, ptr noundef nonnull @.str.4) #12
  %1807 = load i32, ptr %1789, align 4, !tbaa !5
  %1808 = call ptr @strerror(i32 noundef %1807) #12
  %1809 = load i32, ptr %1789, align 4, !tbaa !5
  %1810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1801, ptr noundef nonnull %.str.5.sink1457, i32 noundef %1802, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.3, i32 noundef 192, ptr noundef %1804, ptr noundef %1806, ptr noundef %1808, i32 noundef %1809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1811:                                             ; preds = %1783
  %1812 = add nsw i32 %1756, 3
  store i32 %1812, ptr @test_count, align 4, !tbaa !5
  %1813 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %1814 = icmp eq i32 %1813, -1
  br i1 %1814, label %1815, label %1838

1815:                                             ; preds = %1811
  %1816 = tail call ptr @__errno_location() #13
  %1817 = load i32, ptr %1816, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @s2n_print_stacktrace(ptr noundef %1818) #12
  %1820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1821 = trunc nuw i8 %1820 to i1
  br i1 %1821, label %1822, label %1826

1822:                                             ; preds = %1815
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @fileno(ptr noundef %1823) #12
  %1825 = call i32 @isatty(i32 noundef %1824) #12
  %.not774 = icmp eq i32 %1825, 0
  br i1 %.not774, label %1826, label %1827

1826:                                             ; preds = %1822, %1815
  br label %1827

1827:                                             ; preds = %1822, %1826
  %.str.5.sink1466 = phi ptr [ @.str.5, %1826 ], [ @.str.1, %1822 ]
  store i32 %1817, ptr %1816, align 4, !tbaa !5
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = load i32, ptr @test_count, align 4, !tbaa !5
  %1830 = load i32, ptr %338, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror(i32 noundef %1830, ptr noundef nonnull @.str.4) #12
  %1832 = load i32, ptr %338, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror_debug(i32 noundef %1832, ptr noundef nonnull @.str.4) #12
  %1834 = load i32, ptr %1816, align 4, !tbaa !5
  %1835 = call ptr @strerror(i32 noundef %1834) #12
  %1836 = load i32, ptr %1816, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1828, ptr noundef nonnull %.str.5.sink1466, i32 noundef %1829, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 196, ptr noundef %1831, ptr noundef %1833, ptr noundef %1835, i32 noundef %1836) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1838:                                             ; preds = %1811
  %1839 = load i32, ptr @test_count, align 4, !tbaa !5
  %1840 = add nsw i32 %1839, 1
  store i32 %1840, ptr @test_count, align 4, !tbaa !5
  %1841 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %337) #12
  %1842 = icmp eq i32 %1841, -1
  br i1 %1842, label %1843, label %1866

1843:                                             ; preds = %1838
  %1844 = tail call ptr @__errno_location() #13
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = call i32 @s2n_print_stacktrace(ptr noundef %1846) #12
  %1848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1849 = trunc nuw i8 %1848 to i1
  br i1 %1849, label %1850, label %1854

1850:                                             ; preds = %1843
  %1851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1852 = call i32 @fileno(ptr noundef %1851) #12
  %1853 = call i32 @isatty(i32 noundef %1852) #12
  %.not773 = icmp eq i32 %1853, 0
  br i1 %.not773, label %1854, label %1855

1854:                                             ; preds = %1850, %1843
  br label %1855

1855:                                             ; preds = %1850, %1854
  %.str.5.sink1475 = phi ptr [ @.str.5, %1854 ], [ @.str.1, %1850 ]
  store i32 %1845, ptr %1844, align 4, !tbaa !5
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = load i32, ptr %338, align 4, !tbaa !5
  %1859 = call ptr @s2n_strerror(i32 noundef %1858, ptr noundef nonnull @.str.4) #12
  %1860 = load i32, ptr %338, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror_debug(i32 noundef %1860, ptr noundef nonnull @.str.4) #12
  %1862 = load i32, ptr %1844, align 4, !tbaa !5
  %1863 = call ptr @strerror(i32 noundef %1862) #12
  %1864 = load i32, ptr %1844, align 4, !tbaa !5
  %1865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1856, ptr noundef nonnull %.str.5.sink1475, i32 noundef %1857, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.3, i32 noundef 197, ptr noundef %1859, ptr noundef %1861, ptr noundef %1863, i32 noundef %1864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1866:                                             ; preds = %1838
  %1867 = load i32, ptr @test_count, align 4, !tbaa !5
  %1868 = add nsw i32 %1867, 1
  store i32 %1868, ptr @test_count, align 4, !tbaa !5
  %1869 = load i32, ptr %341, align 4, !tbaa !56
  %1870 = load i32, ptr %342, align 8, !tbaa !57
  %1871 = sub i32 %1869, %1870
  %1872 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %1871) #12
  %1873 = icmp eq i32 %1872, -1
  br i1 %1873, label %1874, label %1897

1874:                                             ; preds = %1866
  %1875 = tail call ptr @__errno_location() #13
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1878 = call i32 @s2n_print_stacktrace(ptr noundef %1877) #12
  %1879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1880 = trunc nuw i8 %1879 to i1
  br i1 %1880, label %1881, label %1885

1881:                                             ; preds = %1874
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @fileno(ptr noundef %1882) #12
  %1884 = call i32 @isatty(i32 noundef %1883) #12
  %.not772 = icmp eq i32 %1884, 0
  br i1 %.not772, label %1885, label %1886

1885:                                             ; preds = %1881, %1874
  br label %1886

1886:                                             ; preds = %1881, %1885
  %.str.5.sink1484 = phi ptr [ @.str.5, %1885 ], [ @.str.1, %1881 ]
  store i32 %1876, ptr %1875, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = load i32, ptr %338, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror(i32 noundef %1889, ptr noundef nonnull @.str.4) #12
  %1891 = load i32, ptr %338, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef nonnull @.str.4) #12
  %1893 = load i32, ptr %1875, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #12
  %1895 = load i32, ptr %1875, align 4, !tbaa !5
  %1896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef nonnull %.str.5.sink1484, i32 noundef %1888, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 198, ptr noundef %1890, ptr noundef %1892, ptr noundef %1894, i32 noundef %1895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1897:                                             ; preds = %1866
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = add nsw i32 %1898, 1
  store i32 %1899, ptr @test_count, align 4, !tbaa !5
  %1900 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %1901 = icmp eq i32 %1900, -1
  br i1 %1901, label %1925, label %1902

1902:                                             ; preds = %1897
  %1903 = tail call ptr @__errno_location() #13
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @s2n_print_stacktrace(ptr noundef %1905) #12
  %1907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1908 = trunc nuw i8 %1907 to i1
  br i1 %1908, label %1909, label %1913

1909:                                             ; preds = %1902
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = call i32 @fileno(ptr noundef %1910) #12
  %1912 = call i32 @isatty(i32 noundef %1911) #12
  %.not760 = icmp eq i32 %1912, 0
  br i1 %.not760, label %1913, label %1914

1913:                                             ; preds = %1909, %1902
  br label %1914

1914:                                             ; preds = %1909, %1913
  %.str.5.sink1493 = phi ptr [ @.str.5, %1913 ], [ @.str.1, %1909 ]
  store i32 %1904, ptr %1903, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = load i32, ptr %338, align 4, !tbaa !5
  %1918 = call ptr @s2n_strerror(i32 noundef %1917, ptr noundef nonnull @.str.4) #12
  %1919 = load i32, ptr %338, align 4, !tbaa !5
  %1920 = call ptr @s2n_strerror_debug(i32 noundef %1919, ptr noundef nonnull @.str.4) #12
  %1921 = load i32, ptr %1903, align 4, !tbaa !5
  %1922 = call ptr @strerror(i32 noundef %1921) #12
  %1923 = load i32, ptr %1903, align 4, !tbaa !5
  %1924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1915, ptr noundef nonnull %.str.5.sink1493, i32 noundef %1916, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.3, i32 noundef 199, ptr noundef %1918, ptr noundef %1920, ptr noundef %1922, i32 noundef %1923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1925:                                             ; preds = %1897
  %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 i32, ptr %338, align 4, !tbaa !5
  %1929 = icmp eq i32 %1928, 0
  br i1 %1929, label %1930, label %1953

1930:                                             ; preds = %1925
  %1931 = tail call ptr @__errno_location() #13
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = call i32 @s2n_print_stacktrace(ptr noundef %1933) #12
  %1935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1936 = trunc nuw i8 %1935 to i1
  br i1 %1936, label %1937, label %1941

1937:                                             ; preds = %1930
  %1938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1939 = call i32 @fileno(ptr noundef %1938) #12
  %1940 = call i32 @isatty(i32 noundef %1939) #12
  %.not771 = icmp eq i32 %1940, 0
  br i1 %.not771, label %1941, label %1942

1941:                                             ; preds = %1937, %1930
  br label %1942

1942:                                             ; preds = %1937, %1941
  %.str.5.sink1502 = phi ptr [ @.str.5, %1941 ], [ @.str.1, %1937 ]
  store i32 %1932, ptr %1931, align 4, !tbaa !5
  %1943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1944 = load i32, ptr @test_count, align 4, !tbaa !5
  %1945 = load i32, ptr %338, align 4, !tbaa !5
  %1946 = call ptr @s2n_strerror(i32 noundef %1945, ptr noundef nonnull @.str.4) #12
  %1947 = load i32, ptr %338, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror_debug(i32 noundef %1947, ptr noundef nonnull @.str.4) #12
  %1949 = load i32, ptr %1931, align 4, !tbaa !5
  %1950 = call ptr @strerror(i32 noundef %1949) #12
  %1951 = load i32, ptr %1931, align 4, !tbaa !5
  %1952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1943, ptr noundef nonnull %.str.5.sink1502, i32 noundef %1944, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.3, i32 noundef 199, ptr noundef %1946, ptr noundef %1948, ptr noundef %1950, i32 noundef %1951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1953:                                             ; preds = %1925
  %1954 = add nsw i32 %1926, 2
  store i32 %1954, ptr @test_count, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror_debug(i32 noundef %1928, ptr noundef nonnull @.str.4) #12
  %1956 = icmp eq ptr %1955, null
  br i1 %1956, label %1957, label %1980

1957:                                             ; preds = %1953
  %1958 = tail call ptr @__errno_location() #13
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1961 = call i32 @s2n_print_stacktrace(ptr noundef %1960) #12
  %1962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1963 = trunc nuw i8 %1962 to i1
  br i1 %1963, label %1964, label %1968

1964:                                             ; preds = %1957
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = call i32 @fileno(ptr noundef %1965) #12
  %1967 = call i32 @isatty(i32 noundef %1966) #12
  %.not770 = icmp eq i32 %1967, 0
  br i1 %.not770, label %1968, label %1969

1968:                                             ; preds = %1964, %1957
  br label %1969

1969:                                             ; preds = %1964, %1968
  %.str.5.sink1511 = phi ptr [ @.str.5, %1968 ], [ @.str.1, %1964 ]
  store i32 %1959, ptr %1958, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = load i32, ptr %338, align 4, !tbaa !5
  %1973 = call ptr @s2n_strerror(i32 noundef %1972, ptr noundef nonnull @.str.4) #12
  %1974 = load i32, ptr %338, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror_debug(i32 noundef %1974, ptr noundef nonnull @.str.4) #12
  %1976 = load i32, ptr %1958, align 4, !tbaa !5
  %1977 = call ptr @strerror(i32 noundef %1976) #12
  %1978 = load i32, ptr %1958, align 4, !tbaa !5
  %1979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef nonnull %.str.5.sink1511, i32 noundef %1971, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 199, ptr noundef %1973, ptr noundef %1975, ptr noundef %1977, i32 noundef %1978) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1980:                                             ; preds = %1953
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1981 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1981, align 4, !tbaa !5
  %1982 = load ptr, ptr %334, align 8, !tbaa !44
  %1983 = getelementptr inbounds i8, ptr %1982, i64 920
  store i64 %1699, ptr %1983, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store i64 0, ptr %17, align 8, !tbaa !61
  %1984 = load i32, ptr @test_count, align 4, !tbaa !5
  %1985 = add nsw i32 %1984, 1
  store i32 %1985, ptr @test_count, align 4, !tbaa !5
  %1986 = load i16, ptr %16, align 2, !tbaa !58
  %1987 = zext i16 %1986 to i64
  %1988 = call i32 @s2n_public_random(i64 noundef %1987, ptr noundef nonnull %17) #12
  %1989 = call zeroext i1 @s2n_result_is_ok(i32 %1988)
  br i1 %1989, label %2012, label %1990

1990:                                             ; preds = %1980
  %1991 = load i32, ptr %1981, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = call i32 @s2n_print_stacktrace(ptr noundef %1992) #12
  %1994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1995 = trunc nuw i8 %1994 to i1
  br i1 %1995, label %1996, label %2000

1996:                                             ; preds = %1990
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @fileno(ptr noundef %1997) #12
  %1999 = call i32 @isatty(i32 noundef %1998) #12
  %.not761 = icmp eq i32 %1999, 0
  br i1 %.not761, label %2000, label %2001

2000:                                             ; preds = %1996, %1990
  br label %2001

2001:                                             ; preds = %1996, %2000
  %.str.5.sink1520 = phi ptr [ @.str.5, %2000 ], [ @.str.1, %1996 ]
  store i32 %1991, ptr %1981, align 4, !tbaa !5
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = load i32, ptr @test_count, align 4, !tbaa !5
  %2004 = load i32, ptr %338, align 4, !tbaa !5
  %2005 = call ptr @s2n_strerror(i32 noundef %2004, ptr noundef nonnull @.str.4) #12
  %2006 = load i32, ptr %338, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror_debug(i32 noundef %2006, ptr noundef nonnull @.str.4) #12
  %2008 = load i32, ptr %1981, align 4, !tbaa !5
  %2009 = call ptr @strerror(i32 noundef %2008) #12
  %2010 = load i32, ptr %1981, align 4, !tbaa !5
  %2011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2002, ptr noundef nonnull %.str.5.sink1520, i32 noundef %2003, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.3, i32 noundef 208, ptr noundef %2005, ptr noundef %2007, ptr noundef %2009, i32 noundef %2010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2012:                                             ; preds = %1980
  %2013 = load i32, ptr @test_count, align 4, !tbaa !5
  %2014 = add nsw i32 %2013, 1
  store i32 %2014, ptr @test_count, align 4, !tbaa !5
  %2015 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %2016 = icmp eq i32 %2015, -1
  br i1 %2016, label %2017, label %2039

2017:                                             ; preds = %2012
  %2018 = load i32, ptr %1981, align 4, !tbaa !5
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = call i32 @s2n_print_stacktrace(ptr noundef %2019) #12
  %2021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2022 = trunc nuw i8 %2021 to i1
  br i1 %2022, label %2023, label %2027

2023:                                             ; preds = %2017
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = call i32 @fileno(ptr noundef %2024) #12
  %2026 = call i32 @isatty(i32 noundef %2025) #12
  %.not769 = icmp eq i32 %2026, 0
  br i1 %.not769, label %2027, label %2028

2027:                                             ; preds = %2023, %2017
  br label %2028

2028:                                             ; preds = %2023, %2027
  %.str.5.sink1529 = phi ptr [ @.str.5, %2027 ], [ @.str.1, %2023 ]
  store i32 %2018, ptr %1981, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = load i32, ptr %338, align 4, !tbaa !5
  %2032 = call ptr @s2n_strerror(i32 noundef %2031, ptr noundef nonnull @.str.4) #12
  %2033 = load i32, ptr %338, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror_debug(i32 noundef %2033, ptr noundef nonnull @.str.4) #12
  %2035 = load i32, ptr %1981, align 4, !tbaa !5
  %2036 = call ptr @strerror(i32 noundef %2035) #12
  %2037 = load i32, ptr %1981, align 4, !tbaa !5
  %2038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2029, ptr noundef nonnull %.str.5.sink1529, i32 noundef %2030, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 209, ptr noundef %2032, ptr noundef %2034, ptr noundef %2036, i32 noundef %2037) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2039:                                             ; preds = %2012
  %2040 = load i32, ptr @test_count, align 4, !tbaa !5
  %2041 = add nsw i32 %2040, 1
  store i32 %2041, ptr @test_count, align 4, !tbaa !5
  %2042 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %2043 = icmp eq i32 %2042, -1
  br i1 %2043, label %2044, label %2066

2044:                                             ; preds = %2039
  %2045 = load i32, ptr %1981, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = call i32 @s2n_print_stacktrace(ptr noundef %2046) #12
  %2048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2049 = trunc nuw i8 %2048 to i1
  br i1 %2049, label %2050, label %2054

2050:                                             ; preds = %2044
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = call i32 @fileno(ptr noundef %2051) #12
  %2053 = call i32 @isatty(i32 noundef %2052) #12
  %.not768 = icmp eq i32 %2053, 0
  br i1 %.not768, label %2054, label %2055

2054:                                             ; preds = %2050, %2044
  br label %2055

2055:                                             ; preds = %2050, %2054
  %.str.5.sink1538 = phi ptr [ @.str.5, %2054 ], [ @.str.1, %2050 ]
  store i32 %2045, ptr %1981, align 4, !tbaa !5
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = load i32, ptr @test_count, align 4, !tbaa !5
  %2058 = load i32, ptr %338, align 4, !tbaa !5
  %2059 = call ptr @s2n_strerror(i32 noundef %2058, ptr noundef nonnull @.str.4) #12
  %2060 = load i32, ptr %338, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror_debug(i32 noundef %2060, ptr noundef nonnull @.str.4) #12
  %2062 = load i32, ptr %1981, align 4, !tbaa !5
  %2063 = call ptr @strerror(i32 noundef %2062) #12
  %2064 = load i32, ptr %1981, align 4, !tbaa !5
  %2065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2056, ptr noundef nonnull %.str.5.sink1538, i32 noundef %2057, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 210, ptr noundef %2059, ptr noundef %2061, ptr noundef %2063, i32 noundef %2064) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2066:                                             ; preds = %2039
  %2067 = load i32, ptr @test_count, align 4, !tbaa !5
  %2068 = add nsw i32 %2067, 1
  store i32 %2068, ptr @test_count, align 4, !tbaa !5
  %2069 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %337) #12
  %2070 = icmp eq i32 %2069, -1
  br i1 %2070, label %2071, label %2093

2071:                                             ; preds = %2066
  %2072 = load i32, ptr %1981, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = call i32 @s2n_print_stacktrace(ptr noundef %2073) #12
  %2075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2076 = trunc nuw i8 %2075 to i1
  br i1 %2076, label %2077, label %2081

2077:                                             ; preds = %2071
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2079 = call i32 @fileno(ptr noundef %2078) #12
  %2080 = call i32 @isatty(i32 noundef %2079) #12
  %.not767 = icmp eq i32 %2080, 0
  br i1 %.not767, label %2081, label %2082

2081:                                             ; preds = %2077, %2071
  br label %2082

2082:                                             ; preds = %2077, %2081
  %.str.5.sink1547 = phi ptr [ @.str.5, %2081 ], [ @.str.1, %2077 ]
  store i32 %2072, ptr %1981, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = load i32, ptr %338, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror(i32 noundef %2085, ptr noundef nonnull @.str.4) #12
  %2087 = load i32, ptr %338, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror_debug(i32 noundef %2087, ptr noundef nonnull @.str.4) #12
  %2089 = load i32, ptr %1981, align 4, !tbaa !5
  %2090 = call ptr @strerror(i32 noundef %2089) #12
  %2091 = load i32, ptr %1981, align 4, !tbaa !5
  %2092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2083, ptr noundef nonnull %.str.5.sink1547, i32 noundef %2084, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.3, i32 noundef 211, ptr noundef %2086, ptr noundef %2088, ptr noundef %2090, i32 noundef %2091) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2093:                                             ; preds = %2066
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = add nsw i32 %2094, 1
  store i32 %2095, ptr @test_count, align 4, !tbaa !5
  %2096 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %2097 = icmp eq i32 %2096, -1
  br i1 %2097, label %2098, label %2120

2098:                                             ; preds = %2093
  %2099 = load i32, ptr %1981, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @s2n_print_stacktrace(ptr noundef %2100) #12
  %2102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2103 = trunc nuw i8 %2102 to i1
  br i1 %2103, label %2104, label %2108

2104:                                             ; preds = %2098
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = call i32 @fileno(ptr noundef %2105) #12
  %2107 = call i32 @isatty(i32 noundef %2106) #12
  %.not766 = icmp eq i32 %2107, 0
  br i1 %.not766, label %2108, label %2109

2108:                                             ; preds = %2104, %2098
  br label %2109

2109:                                             ; preds = %2104, %2108
  %.str.5.sink1556 = phi ptr [ @.str.5, %2108 ], [ @.str.1, %2104 ]
  store i32 %2099, ptr %1981, align 4, !tbaa !5
  %2110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2111 = load i32, ptr @test_count, align 4, !tbaa !5
  %2112 = load i32, ptr %338, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror(i32 noundef %2112, ptr noundef nonnull @.str.4) #12
  %2114 = load i32, ptr %338, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror_debug(i32 noundef %2114, ptr noundef nonnull @.str.4) #12
  %2116 = load i32, ptr %1981, align 4, !tbaa !5
  %2117 = call ptr @strerror(i32 noundef %2116) #12
  %2118 = load i32, ptr %1981, align 4, !tbaa !5
  %2119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2110, ptr noundef nonnull %.str.5.sink1556, i32 noundef %2111, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 212, ptr noundef %2113, ptr noundef %2115, ptr noundef %2117, i32 noundef %2118) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2120:                                             ; preds = %2093
  %2121 = load i32, ptr @test_count, align 4, !tbaa !5
  %2122 = add nsw i32 %2121, 1
  store i32 %2122, ptr @test_count, align 4, !tbaa !5
  %2123 = load i32, ptr %341, align 4, !tbaa !56
  %2124 = load i32, ptr %342, align 8, !tbaa !57
  %2125 = sub i32 %2123, %2124
  %2126 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %2125) #12
  %2127 = icmp eq i32 %2126, -1
  br i1 %2127, label %2128, label %2150

2128:                                             ; preds = %2120
  %2129 = load i32, ptr %1981, align 4, !tbaa !5
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2131 = call i32 @s2n_print_stacktrace(ptr noundef %2130) #12
  %2132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2133 = trunc nuw i8 %2132 to i1
  br i1 %2133, label %2134, label %2138

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

2138:                                             ; preds = %2134, %2128
  br label %2139

2139:                                             ; preds = %2134, %2138
  %.str.5.sink1565 = phi ptr [ @.str.5, %2138 ], [ @.str.1, %2134 ]
  store i32 %2129, ptr %1981, align 4, !tbaa !5
  %2140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = load i32, ptr %338, align 4, !tbaa !5
  %2143 = call ptr @s2n_strerror(i32 noundef %2142, ptr noundef nonnull @.str.4) #12
  %2144 = load i32, ptr %338, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror_debug(i32 noundef %2144, ptr noundef nonnull @.str.4) #12
  %2146 = load i32, ptr %1981, align 4, !tbaa !5
  %2147 = call ptr @strerror(i32 noundef %2146) #12
  %2148 = load i32, ptr %1981, align 4, !tbaa !5
  %2149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2140, ptr noundef nonnull %.str.5.sink1565, i32 noundef %2141, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 213, ptr noundef %2143, ptr noundef %2145, ptr noundef %2147, i32 noundef %2148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2150:                                             ; preds = %2120
  %2151 = load ptr, ptr %339, align 8, !tbaa !62
  %2152 = load i64, ptr %17, align 8, !tbaa !61
  %2153 = getelementptr inbounds i8, ptr %2151, i64 %2152
  %2154 = load i8, ptr %2153, align 1, !tbaa !55
  %2155 = add i8 %2154, 1
  store i8 %2155, ptr %2153, align 1, !tbaa !55
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = add nsw i32 %2156, 1
  store i32 %2157, ptr @test_count, align 4, !tbaa !5
  %2158 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %2159 = icmp eq i32 %2158, -1
  br i1 %2159, label %2182, label %2160

2160:                                             ; preds = %2150
  %2161 = load i32, ptr %1981, align 4, !tbaa !5
  %2162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2163 = call i32 @s2n_print_stacktrace(ptr noundef %2162) #12
  %2164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2165 = trunc nuw i8 %2164 to i1
  br i1 %2165, label %2166, label %2170

2166:                                             ; preds = %2160
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = call i32 @fileno(ptr noundef %2167) #12
  %2169 = call i32 @isatty(i32 noundef %2168) #12
  %.not762 = icmp eq i32 %2169, 0
  br i1 %.not762, label %2170, label %2171

2170:                                             ; preds = %2166, %2160
  br label %2171

2171:                                             ; preds = %2166, %2170
  %.str.5.sink1574 = phi ptr [ @.str.5, %2170 ], [ @.str.1, %2166 ]
  store i32 %2161, ptr %1981, align 4, !tbaa !5
  %2172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2173 = load i32, ptr @test_count, align 4, !tbaa !5
  %2174 = load i32, ptr %338, align 4, !tbaa !5
  %2175 = call ptr @s2n_strerror(i32 noundef %2174, ptr noundef nonnull @.str.4) #12
  %2176 = load i32, ptr %338, align 4, !tbaa !5
  %2177 = call ptr @s2n_strerror_debug(i32 noundef %2176, ptr noundef nonnull @.str.4) #12
  %2178 = load i32, ptr %1981, align 4, !tbaa !5
  %2179 = call ptr @strerror(i32 noundef %2178) #12
  %2180 = load i32, ptr %1981, align 4, !tbaa !5
  %2181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2172, ptr noundef nonnull %.str.5.sink1574, i32 noundef %2173, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.3, i32 noundef 216, ptr noundef %2175, ptr noundef %2177, ptr noundef %2179, i32 noundef %2180) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2182:                                             ; preds = %2150
  %2183 = load i32, ptr @test_count, align 4, !tbaa !5
  %2184 = add nsw i32 %2183, 1
  store i32 %2184, ptr @test_count, align 4, !tbaa !5
  %2185 = load i32, ptr %338, align 4, !tbaa !5
  %2186 = icmp eq i32 %2185, 335544322
  br i1 %2186, label %2209, label %2187

2187:                                             ; preds = %2182
  %2188 = load i32, ptr %1981, align 4, !tbaa !5
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = call i32 @s2n_print_stacktrace(ptr noundef %2189) #12
  %2191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2192 = trunc nuw i8 %2191 to i1
  br i1 %2192, label %2193, label %2197

2193:                                             ; preds = %2187
  %2194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2195 = call i32 @fileno(ptr noundef %2194) #12
  %2196 = call i32 @isatty(i32 noundef %2195) #12
  %.not763 = icmp eq i32 %2196, 0
  br i1 %.not763, label %2197, label %2198

2197:                                             ; preds = %2193, %2187
  br label %2198

2198:                                             ; preds = %2193, %2197
  %.str.5.sink1583 = phi ptr [ @.str.5, %2197 ], [ @.str.1, %2193 ]
  store i32 %2188, ptr %1981, align 4, !tbaa !5
  %2199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2200 = load i32, ptr @test_count, align 4, !tbaa !5
  %2201 = load i32, ptr %338, align 4, !tbaa !5
  %2202 = call ptr @s2n_strerror(i32 noundef %2201, ptr noundef nonnull @.str.4) #12
  %2203 = load i32, ptr %338, align 4, !tbaa !5
  %2204 = call ptr @s2n_strerror_debug(i32 noundef %2203, ptr noundef nonnull @.str.4) #12
  %2205 = load i32, ptr %1981, align 4, !tbaa !5
  %2206 = call ptr @strerror(i32 noundef %2205) #12
  %2207 = load i32, ptr %1981, align 4, !tbaa !5
  %2208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2199, ptr noundef nonnull %.str.5.sink1583, i32 noundef %2200, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.3, i32 noundef 216, ptr noundef %2202, ptr noundef %2204, ptr noundef %2206, i32 noundef %2207) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2209:                                             ; preds = %2182
  %2210 = add nsw i32 %2183, 2
  store i32 %2210, ptr @test_count, align 4, !tbaa !5
  %2211 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %2212 = icmp eq ptr %2211, null
  br i1 %2212, label %2213, label %2235

2213:                                             ; preds = %2209
  %2214 = load i32, ptr %1981, align 4, !tbaa !5
  %2215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2216 = call i32 @s2n_print_stacktrace(ptr noundef %2215) #12
  %2217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2218 = trunc nuw i8 %2217 to i1
  br i1 %2218, label %2219, label %2223

2219:                                             ; preds = %2213
  %2220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2221 = call i32 @fileno(ptr noundef %2220) #12
  %2222 = call i32 @isatty(i32 noundef %2221) #12
  %.not764 = icmp eq i32 %2222, 0
  br i1 %.not764, label %2223, label %2224

2223:                                             ; preds = %2219, %2213
  br label %2224

2224:                                             ; preds = %2219, %2223
  %.str.5.sink1592 = phi ptr [ @.str.5, %2223 ], [ @.str.1, %2219 ]
  store i32 %2214, ptr %1981, align 4, !tbaa !5
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = load i32, ptr @test_count, align 4, !tbaa !5
  %2227 = load i32, ptr %338, align 4, !tbaa !5
  %2228 = call ptr @s2n_strerror(i32 noundef %2227, ptr noundef nonnull @.str.4) #12
  %2229 = load i32, ptr %338, align 4, !tbaa !5
  %2230 = call ptr @s2n_strerror_debug(i32 noundef %2229, ptr noundef nonnull @.str.4) #12
  %2231 = load i32, ptr %1981, align 4, !tbaa !5
  %2232 = call ptr @strerror(i32 noundef %2231) #12
  %2233 = load i32, ptr %1981, align 4, !tbaa !5
  %2234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2225, ptr noundef nonnull %.str.5.sink1592, i32 noundef %2226, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 216, ptr noundef %2228, ptr noundef %2230, ptr noundef %2232, i32 noundef %2233) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2235:                                             ; preds = %2209
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #12
  %2236 = add nuw nsw i64 %.0618854, 1
  %exitcond873.not = icmp eq i64 %2236, 8089
  br i1 %exitcond873.not, label %1002, label %1009, !llvm.loop !63

2237:                                             ; preds = %1002
  %2238 = load i32, ptr %1981, align 4, !tbaa !5
  %2239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2240 = call i32 @s2n_print_stacktrace(ptr noundef %2239) #12
  %2241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2242 = trunc nuw i8 %2241 to i1
  br i1 %2242, label %2243, label %2247

2243:                                             ; preds = %2237
  %2244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2245 = call i32 @fileno(ptr noundef %2244) #12
  %2246 = call i32 @isatty(i32 noundef %2245) #12
  %.not745 = icmp eq i32 %2246, 0
  br i1 %.not745, label %2247, label %2248

2247:                                             ; preds = %2243, %2237
  br label %2248

2248:                                             ; preds = %2243, %2247
  %.str.5.sink1601 = phi ptr [ @.str.5, %2247 ], [ @.str.1, %2243 ]
  store i32 %2238, ptr %1981, align 4, !tbaa !5
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = load i32, ptr %338, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror(i32 noundef %2251, ptr noundef nonnull @.str.4) #12
  %2253 = load i32, ptr %338, align 4, !tbaa !5
  %2254 = call ptr @s2n_strerror_debug(i32 noundef %2253, ptr noundef nonnull @.str.4) #12
  %2255 = load i32, ptr %1981, align 4, !tbaa !5
  %2256 = call ptr @strerror(i32 noundef %2255) #12
  %2257 = load i32, ptr %1981, align 4, !tbaa !5
  %2258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2249, ptr noundef nonnull %.str.5.sink1601, i32 noundef %2250, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.3, i32 noundef 220, ptr noundef %2252, ptr noundef %2254, ptr noundef %2256, i32 noundef %2257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2259:                                             ; preds = %1002
  %2260 = load i32, ptr @test_count, align 4, !tbaa !5
  %2261 = add nsw i32 %2260, 1
  store i32 %2261, ptr @test_count, align 4, !tbaa !5
  %2262 = load ptr, ptr %332, align 8, !tbaa !18
  %2263 = getelementptr inbounds i8, ptr %2262, i64 456
  %2264 = call i32 @s2n_hmac_init(ptr noundef nonnull %2263, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %2265 = icmp eq i32 %2264, -1
  br i1 %2265, label %2266, label %2288

2266:                                             ; preds = %2259
  %2267 = load i32, ptr %1981, align 4, !tbaa !5
  %2268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2269 = call i32 @s2n_print_stacktrace(ptr noundef %2268) #12
  %2270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2271 = trunc nuw i8 %2270 to i1
  br i1 %2271, label %2272, label %2276

2272:                                             ; preds = %2266
  %2273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2274 = call i32 @fileno(ptr noundef %2273) #12
  %2275 = call i32 @isatty(i32 noundef %2274) #12
  %.not744 = icmp eq i32 %2275, 0
  br i1 %.not744, label %2276, label %2277

2276:                                             ; preds = %2272, %2266
  br label %2277

2277:                                             ; preds = %2272, %2276
  %.str.5.sink1610 = phi ptr [ @.str.5, %2276 ], [ @.str.1, %2272 ]
  store i32 %2267, ptr %1981, align 4, !tbaa !5
  %2278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2279 = load i32, ptr @test_count, align 4, !tbaa !5
  %2280 = load i32, ptr %338, align 4, !tbaa !5
  %2281 = call ptr @s2n_strerror(i32 noundef %2280, ptr noundef nonnull @.str.4) #12
  %2282 = load i32, ptr %338, align 4, !tbaa !5
  %2283 = call ptr @s2n_strerror_debug(i32 noundef %2282, ptr noundef nonnull @.str.4) #12
  %2284 = load i32, ptr %1981, align 4, !tbaa !5
  %2285 = call ptr @strerror(i32 noundef %2284) #12
  %2286 = load i32, ptr %1981, align 4, !tbaa !5
  %2287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2278, ptr noundef nonnull %.str.5.sink1610, i32 noundef %2279, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.3, i32 noundef 221, ptr noundef %2281, ptr noundef %2283, ptr noundef %2285, i32 noundef %2286) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2288:                                             ; preds = %2259
  store i8 31, ptr %336, align 4, !tbaa !51
  %2289 = load ptr, ptr %332, align 8, !tbaa !18
  store ptr @mock_block_cipher_suite, ptr %2289, align 8, !tbaa !46
  %.pre878 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %2296

2290:                                             ; preds = %3132
  %2291 = add nsw i32 %3080, 3
  store i32 %2291, ptr @test_count, align 4, !tbaa !5
  %2292 = load ptr, ptr %332, align 8, !tbaa !18
  %2293 = getelementptr inbounds i8, ptr %2292, i64 24
  %2294 = call i32 @s2n_hmac_init(ptr noundef nonnull %2293, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %2295 = icmp eq i32 %2294, -1
  br i1 %2295, label %3134, label %3156

2296:                                             ; preds = %2288, %3132
  %2297 = phi i32 [ %.pre878, %2288 ], [ %3107, %3132 ]
  %.0620856 = phi i64 [ 0, %2288 ], [ %3133, %3132 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %18, i8 0, i64 24, i1 false)
  %2298 = add nsw i32 %2297, 1
  store i32 %2298, ptr @test_count, align 4, !tbaa !5
  %2299 = trunc nuw nsw i64 %.0620856 to i32
  %2300 = call i32 @s2n_blob_init(ptr noundef nonnull %18, ptr noundef nonnull %6, i32 noundef %2299) #12
  %2301 = icmp eq i32 %2300, -1
  br i1 %2301, label %2302, label %2324

2302:                                             ; preds = %2296
  %2303 = load i32, ptr %1981, align 4, !tbaa !5
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = call i32 @s2n_print_stacktrace(ptr noundef %2304) #12
  %2306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2307 = trunc nuw i8 %2306 to i1
  br i1 %2307, label %2308, label %2312

2308:                                             ; preds = %2302
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = call i32 @fileno(ptr noundef %2309) #12
  %2311 = call i32 @isatty(i32 noundef %2310) #12
  %.not743 = icmp eq i32 %2311, 0
  br i1 %.not743, label %2312, label %2313

2312:                                             ; preds = %2308, %2302
  br label %2313

2313:                                             ; preds = %2308, %2312
  %.str.5.sink1619 = phi ptr [ @.str.5, %2312 ], [ @.str.1, %2308 ]
  store i32 %2303, ptr %1981, align 4, !tbaa !5
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = load i32, ptr @test_count, align 4, !tbaa !5
  %2316 = load i32, ptr %338, align 4, !tbaa !5
  %2317 = call ptr @s2n_strerror(i32 noundef %2316, ptr noundef nonnull @.str.4) #12
  %2318 = load i32, ptr %338, align 4, !tbaa !5
  %2319 = call ptr @s2n_strerror_debug(i32 noundef %2318, ptr noundef nonnull @.str.4) #12
  %2320 = load i32, ptr %1981, align 4, !tbaa !5
  %2321 = call ptr @strerror(i32 noundef %2320) #12
  %2322 = load i32, ptr %1981, align 4, !tbaa !5
  %2323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2314, ptr noundef nonnull %.str.5.sink1619, i32 noundef %2315, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.3, i32 noundef 227, ptr noundef %2317, ptr noundef %2319, ptr noundef %2321, i32 noundef %2322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2324:                                             ; preds = %2296
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = add nsw i32 %2325, 1
  store i32 %2326, ptr @test_count, align 4, !tbaa !5
  %2327 = call i32 @s2n_hmac_reset(ptr noundef nonnull %5) #12
  %2328 = icmp eq i32 %2327, -1
  br i1 %2328, label %2329, label %2351

2329:                                             ; preds = %2324
  %2330 = load i32, ptr %1981, align 4, !tbaa !5
  %2331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2332 = call i32 @s2n_print_stacktrace(ptr noundef %2331) #12
  %2333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2334 = trunc nuw i8 %2333 to i1
  br i1 %2334, label %2335, label %2339

2335:                                             ; preds = %2329
  %2336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2337 = call i32 @fileno(ptr noundef %2336) #12
  %2338 = call i32 @isatty(i32 noundef %2337) #12
  %.not742 = icmp eq i32 %2338, 0
  br i1 %.not742, label %2339, label %2340

2339:                                             ; preds = %2335, %2329
  br label %2340

2340:                                             ; preds = %2335, %2339
  %.str.5.sink1628 = phi ptr [ @.str.5, %2339 ], [ @.str.1, %2335 ]
  store i32 %2330, ptr %1981, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = load i32, ptr %338, align 4, !tbaa !5
  %2344 = call ptr @s2n_strerror(i32 noundef %2343, ptr noundef nonnull @.str.4) #12
  %2345 = load i32, ptr %338, align 4, !tbaa !5
  %2346 = call ptr @s2n_strerror_debug(i32 noundef %2345, ptr noundef nonnull @.str.4) #12
  %2347 = load i32, ptr %1981, align 4, !tbaa !5
  %2348 = call ptr @strerror(i32 noundef %2347) #12
  %2349 = load i32, ptr %1981, align 4, !tbaa !5
  %2350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2341, ptr noundef nonnull %.str.5.sink1628, i32 noundef %2342, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.3, i32 noundef 230, ptr noundef %2344, ptr noundef %2346, ptr noundef %2348, i32 noundef %2349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2351:                                             ; preds = %2324
  %2352 = load i32, ptr @test_count, align 4, !tbaa !5
  %2353 = add nsw i32 %2352, 1
  store i32 %2353, ptr @test_count, align 4, !tbaa !5
  %2354 = load ptr, ptr %332, align 8, !tbaa !18
  %2355 = getelementptr inbounds i8, ptr %2354, i64 920
  %2356 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %2355, i32 noundef 8) #12
  %2357 = icmp eq i32 %2356, -1
  br i1 %2357, label %2358, label %2380

2358:                                             ; preds = %2351
  %2359 = load i32, ptr %1981, align 4, !tbaa !5
  %2360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2361 = call i32 @s2n_print_stacktrace(ptr noundef %2360) #12
  %2362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2363 = trunc nuw i8 %2362 to i1
  br i1 %2363, label %2364, label %2368

2364:                                             ; preds = %2358
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = call i32 @fileno(ptr noundef %2365) #12
  %2367 = call i32 @isatty(i32 noundef %2366) #12
  %.not741 = icmp eq i32 %2367, 0
  br i1 %.not741, label %2368, label %2369

2368:                                             ; preds = %2364, %2358
  br label %2369

2369:                                             ; preds = %2364, %2368
  %.str.5.sink1637 = phi ptr [ @.str.5, %2368 ], [ @.str.1, %2364 ]
  store i32 %2359, ptr %1981, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = load i32, ptr %338, align 4, !tbaa !5
  %2373 = call ptr @s2n_strerror(i32 noundef %2372, ptr noundef nonnull @.str.4) #12
  %2374 = load i32, ptr %338, align 4, !tbaa !5
  %2375 = call ptr @s2n_strerror_debug(i32 noundef %2374, ptr noundef nonnull @.str.4) #12
  %2376 = load i32, ptr %1981, align 4, !tbaa !5
  %2377 = call ptr @strerror(i32 noundef %2376) #12
  %2378 = load i32, ptr %1981, align 4, !tbaa !5
  %2379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2370, ptr noundef nonnull %.str.5.sink1637, i32 noundef %2371, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.3, i32 noundef 231, ptr noundef %2373, ptr noundef %2375, ptr noundef %2377, i32 noundef %2378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2380:                                             ; preds = %2351
  %2381 = load i32, ptr @test_count, align 4, !tbaa !5
  %2382 = add nsw i32 %2381, 1
  store i32 %2382, ptr @test_count, align 4, !tbaa !5
  %2383 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %2384 = icmp eq i32 %2383, -1
  br i1 %2384, label %2385, label %2407

2385:                                             ; preds = %2380
  %2386 = load i32, ptr %1981, align 4, !tbaa !5
  %2387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2388 = call i32 @s2n_print_stacktrace(ptr noundef %2387) #12
  %2389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2390 = trunc nuw i8 %2389 to i1
  br i1 %2390, label %2391, label %2395

2391:                                             ; preds = %2385
  %2392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2393 = call i32 @fileno(ptr noundef %2392) #12
  %2394 = call i32 @isatty(i32 noundef %2393) #12
  %.not740 = icmp eq i32 %2394, 0
  br i1 %.not740, label %2395, label %2396

2395:                                             ; preds = %2391, %2385
  br label %2396

2396:                                             ; preds = %2391, %2395
  %.str.5.sink1646 = phi ptr [ @.str.5, %2395 ], [ @.str.1, %2391 ]
  store i32 %2386, ptr %1981, align 4, !tbaa !5
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = load i32, ptr @test_count, align 4, !tbaa !5
  %2399 = load i32, ptr %338, align 4, !tbaa !5
  %2400 = call ptr @s2n_strerror(i32 noundef %2399, ptr noundef nonnull @.str.4) #12
  %2401 = load i32, ptr %338, align 4, !tbaa !5
  %2402 = call ptr @s2n_strerror_debug(i32 noundef %2401, ptr noundef nonnull @.str.4) #12
  %2403 = load i32, ptr %1981, align 4, !tbaa !5
  %2404 = call ptr @strerror(i32 noundef %2403) #12
  %2405 = load i32, ptr %1981, align 4, !tbaa !5
  %2406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2397, ptr noundef nonnull %.str.5.sink1646, i32 noundef %2398, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 233, ptr noundef %2400, ptr noundef %2402, ptr noundef %2404, i32 noundef %2405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2407:                                             ; preds = %2380
  %2408 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 23, ptr noundef nonnull %18) #12
  %.not709 = icmp eq i64 %.0620856, 8088
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = add nsw i32 %2409, 1
  store i32 %2410, ptr @test_count, align 4, !tbaa !5
  br i1 %.not709, label %2435, label %2411

2411:                                             ; preds = %2407
  %2412 = call zeroext i1 @s2n_result_is_ok(i32 %2408)
  br i1 %2412, label %2513, label %2413

2413:                                             ; preds = %2411
  %2414 = load i32, ptr %1981, align 4, !tbaa !5
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = call i32 @s2n_print_stacktrace(ptr noundef %2415) #12
  %2417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2418 = trunc nuw i8 %2417 to i1
  br i1 %2418, label %2419, label %2423

2419:                                             ; preds = %2413
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = call i32 @fileno(ptr noundef %2420) #12
  %2422 = call i32 @isatty(i32 noundef %2421) #12
  %.not713 = icmp eq i32 %2422, 0
  br i1 %.not713, label %2423, label %2424

2423:                                             ; preds = %2419, %2413
  br label %2424

2424:                                             ; preds = %2419, %2423
  %.str.5.sink1655 = phi ptr [ @.str.5, %2423 ], [ @.str.1, %2419 ]
  store i32 %2414, ptr %1981, align 4, !tbaa !5
  %2425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2426 = load i32, ptr @test_count, align 4, !tbaa !5
  %2427 = load i32, ptr %338, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror(i32 noundef %2427, ptr noundef nonnull @.str.4) #12
  %2429 = load i32, ptr %338, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror_debug(i32 noundef %2429, ptr noundef nonnull @.str.4) #12
  %2431 = load i32, ptr %1981, align 4, !tbaa !5
  %2432 = call ptr @strerror(i32 noundef %2431) #12
  %2433 = load i32, ptr %1981, align 4, !tbaa !5
  %2434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2425, ptr noundef nonnull %.str.5.sink1655, i32 noundef %2426, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 237, ptr noundef %2428, ptr noundef %2430, ptr noundef %2432, i32 noundef %2433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2435:                                             ; preds = %2407
  %2436 = call zeroext i1 @s2n_result_is_error(i32 %2408)
  br i1 %2436, label %2459, label %2437

2437:                                             ; preds = %2435
  %2438 = load i32, ptr %1981, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = call i32 @s2n_print_stacktrace(ptr noundef %2439) #12
  %2441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2442 = trunc nuw i8 %2441 to i1
  br i1 %2442, label %2443, label %2447

2443:                                             ; preds = %2437
  %2444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2445 = call i32 @fileno(ptr noundef %2444) #12
  %2446 = call i32 @isatty(i32 noundef %2445) #12
  %.not710 = icmp eq i32 %2446, 0
  br i1 %.not710, label %2447, label %2448

2447:                                             ; preds = %2443, %2437
  br label %2448

2448:                                             ; preds = %2443, %2447
  %.str.5.sink1664 = phi ptr [ @.str.5, %2447 ], [ @.str.1, %2443 ]
  store i32 %2438, ptr %1981, align 4, !tbaa !5
  %2449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2450 = load i32, ptr @test_count, align 4, !tbaa !5
  %2451 = load i32, ptr %338, align 4, !tbaa !5
  %2452 = call ptr @s2n_strerror(i32 noundef %2451, ptr noundef nonnull @.str.4) #12
  %2453 = load i32, ptr %338, align 4, !tbaa !5
  %2454 = call ptr @s2n_strerror_debug(i32 noundef %2453, ptr noundef nonnull @.str.4) #12
  %2455 = load i32, ptr %1981, align 4, !tbaa !5
  %2456 = call ptr @strerror(i32 noundef %2455) #12
  %2457 = load i32, ptr %1981, align 4, !tbaa !5
  %2458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2449, ptr noundef nonnull %.str.5.sink1664, i32 noundef %2450, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.3, i32 noundef 240, ptr noundef %2452, ptr noundef %2454, ptr noundef %2456, i32 noundef %2457) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2459:                                             ; preds = %2435
  %2460 = load i32, ptr @test_count, align 4, !tbaa !5
  %2461 = add nsw i32 %2460, 1
  store i32 %2461, ptr @test_count, align 4, !tbaa !5
  %2462 = load i32, ptr %338, align 4, !tbaa !5
  %2463 = icmp eq i32 %2462, 335544390
  br i1 %2463, label %2486, label %2464

2464:                                             ; preds = %2459
  %2465 = load i32, ptr %1981, align 4, !tbaa !5
  %2466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2467 = call i32 @s2n_print_stacktrace(ptr noundef %2466) #12
  %2468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2469 = trunc nuw i8 %2468 to i1
  br i1 %2469, label %2470, label %2474

2470:                                             ; preds = %2464
  %2471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2472 = call i32 @fileno(ptr noundef %2471) #12
  %2473 = call i32 @isatty(i32 noundef %2472) #12
  %.not711 = icmp eq i32 %2473, 0
  br i1 %.not711, label %2474, label %2475

2474:                                             ; preds = %2470, %2464
  br label %2475

2475:                                             ; preds = %2470, %2474
  %.str.5.sink1673 = phi ptr [ @.str.5, %2474 ], [ @.str.1, %2470 ]
  store i32 %2465, ptr %1981, align 4, !tbaa !5
  %2476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2477 = load i32, ptr @test_count, align 4, !tbaa !5
  %2478 = load i32, ptr %338, align 4, !tbaa !5
  %2479 = call ptr @s2n_strerror(i32 noundef %2478, ptr noundef nonnull @.str.4) #12
  %2480 = load i32, ptr %338, align 4, !tbaa !5
  %2481 = call ptr @s2n_strerror_debug(i32 noundef %2480, ptr noundef nonnull @.str.4) #12
  %2482 = load i32, ptr %1981, align 4, !tbaa !5
  %2483 = call ptr @strerror(i32 noundef %2482) #12
  %2484 = load i32, ptr %1981, align 4, !tbaa !5
  %2485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2476, ptr noundef nonnull %.str.5.sink1673, i32 noundef %2477, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 240, ptr noundef %2479, ptr noundef %2481, ptr noundef %2483, i32 noundef %2484) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2486:                                             ; preds = %2459
  %2487 = add nsw i32 %2460, 2
  store i32 %2487, ptr @test_count, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.4) #12
  %2489 = icmp eq ptr %2488, null
  br i1 %2489, label %2490, label %2512

2490:                                             ; preds = %2486
  %2491 = load i32, ptr %1981, align 4, !tbaa !5
  %2492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2493 = call i32 @s2n_print_stacktrace(ptr noundef %2492) #12
  %2494 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2495 = trunc nuw i8 %2494 to i1
  br i1 %2495, label %2496, label %2500

2496:                                             ; preds = %2490
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @fileno(ptr noundef %2497) #12
  %2499 = call i32 @isatty(i32 noundef %2498) #12
  %.not712 = icmp eq i32 %2499, 0
  br i1 %.not712, label %2500, label %2501

2500:                                             ; preds = %2496, %2490
  br label %2501

2501:                                             ; preds = %2496, %2500
  %.str.5.sink1682 = phi ptr [ @.str.5, %2500 ], [ @.str.1, %2496 ]
  store i32 %2491, ptr %1981, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = load i32, ptr @test_count, align 4, !tbaa !5
  %2504 = load i32, ptr %338, align 4, !tbaa !5
  %2505 = call ptr @s2n_strerror(i32 noundef %2504, ptr noundef nonnull @.str.4) #12
  %2506 = load i32, ptr %338, align 4, !tbaa !5
  %2507 = call ptr @s2n_strerror_debug(i32 noundef %2506, ptr noundef nonnull @.str.4) #12
  %2508 = load i32, ptr %1981, align 4, !tbaa !5
  %2509 = call ptr @strerror(i32 noundef %2508) #12
  %2510 = load i32, ptr %1981, align 4, !tbaa !5
  %2511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2502, ptr noundef nonnull %.str.5.sink1682, i32 noundef %2503, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 240, ptr noundef %2505, ptr noundef %2507, ptr noundef %2509, i32 noundef %2510) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2512:                                             ; preds = %2486
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  br label %2513

2513:                                             ; preds = %2411, %2512
  %.0621 = phi i32 [ 8087, %2512 ], [ %2299, %2411 ]
  %2514 = trunc i32 %.0621 to i16
  %.biased = add nsw i16 %2514, 36
  %.0622 = and i16 %.biased, -16
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = add nsw i32 %2515, 1
  store i32 %2516, ptr @test_count, align 4, !tbaa !5
  %2517 = load ptr, ptr %337, align 8, !tbaa !54
  %2518 = load i8, ptr %2517, align 1, !tbaa !55
  %2519 = icmp eq i8 %2518, 23
  br i1 %2519, label %2542, label %2520

2520:                                             ; preds = %2513
  %2521 = load i32, ptr %1981, align 4, !tbaa !5
  %2522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2523 = call i32 @s2n_print_stacktrace(ptr noundef %2522) #12
  %2524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2525 = trunc nuw i8 %2524 to i1
  br i1 %2525, label %2526, label %2530

2526:                                             ; preds = %2520
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = call i32 @fileno(ptr noundef %2527) #12
  %2529 = call i32 @isatty(i32 noundef %2528) #12
  %.not716 = icmp eq i32 %2529, 0
  br i1 %.not716, label %2530, label %2531

2530:                                             ; preds = %2526, %2520
  br label %2531

2531:                                             ; preds = %2526, %2530
  %.str.5.sink1691 = phi ptr [ @.str.5, %2530 ], [ @.str.1, %2526 ]
  store i32 %2521, ptr %1981, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = load i32, ptr %338, align 4, !tbaa !5
  %2535 = call ptr @s2n_strerror(i32 noundef %2534, ptr noundef nonnull @.str.4) #12
  %2536 = load i32, ptr %338, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror_debug(i32 noundef %2536, ptr noundef nonnull @.str.4) #12
  %2538 = load i32, ptr %1981, align 4, !tbaa !5
  %2539 = call ptr @strerror(i32 noundef %2538) #12
  %2540 = load i32, ptr %1981, align 4, !tbaa !5
  %2541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2532, ptr noundef nonnull %.str.5.sink1691, i32 noundef %2533, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.3, i32 noundef 248, ptr noundef %2535, ptr noundef %2537, ptr noundef %2539, i32 noundef %2540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2542:                                             ; preds = %2513
  %2543 = add nsw i32 %2515, 2
  store i32 %2543, ptr @test_count, align 4, !tbaa !5
  %2544 = getelementptr inbounds i8, ptr %2517, i64 1
  %2545 = load i8, ptr %2544, align 1, !tbaa !55
  %2546 = icmp eq i8 %2545, 3
  br i1 %2546, label %2569, label %2547

2547:                                             ; preds = %2542
  %2548 = load i32, ptr %1981, align 4, !tbaa !5
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = call i32 @s2n_print_stacktrace(ptr noundef %2549) #12
  %2551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2552 = trunc nuw i8 %2551 to i1
  br i1 %2552, label %2553, label %2557

2553:                                             ; preds = %2547
  %2554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2555 = call i32 @fileno(ptr noundef %2554) #12
  %2556 = call i32 @isatty(i32 noundef %2555) #12
  %.not717 = icmp eq i32 %2556, 0
  br i1 %.not717, label %2557, label %2558

2557:                                             ; preds = %2553, %2547
  br label %2558

2558:                                             ; preds = %2553, %2557
  %.str.5.sink1700 = phi ptr [ @.str.5, %2557 ], [ @.str.1, %2553 ]
  store i32 %2548, ptr %1981, align 4, !tbaa !5
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = load i32, ptr @test_count, align 4, !tbaa !5
  %2561 = load i32, ptr %338, align 4, !tbaa !5
  %2562 = call ptr @s2n_strerror(i32 noundef %2561, ptr noundef nonnull @.str.4) #12
  %2563 = load i32, ptr %338, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror_debug(i32 noundef %2563, ptr noundef nonnull @.str.4) #12
  %2565 = load i32, ptr %1981, align 4, !tbaa !5
  %2566 = call ptr @strerror(i32 noundef %2565) #12
  %2567 = load i32, ptr %1981, align 4, !tbaa !5
  %2568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2559, ptr noundef nonnull %.str.5.sink1700, i32 noundef %2560, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 249, ptr noundef %2562, ptr noundef %2564, ptr noundef %2566, i32 noundef %2567) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2569:                                             ; preds = %2542
  %2570 = add nsw i32 %2515, 3
  store i32 %2570, ptr @test_count, align 4, !tbaa !5
  %2571 = getelementptr inbounds i8, ptr %2517, i64 2
  %2572 = load i8, ptr %2571, align 1, !tbaa !55
  %2573 = icmp eq i8 %2572, 1
  br i1 %2573, label %2596, label %2574

2574:                                             ; preds = %2569
  %2575 = load i32, ptr %1981, align 4, !tbaa !5
  %2576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2577 = call i32 @s2n_print_stacktrace(ptr noundef %2576) #12
  %2578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2579 = trunc nuw i8 %2578 to i1
  br i1 %2579, label %2580, label %2584

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

2584:                                             ; preds = %2580, %2574
  br label %2585

2585:                                             ; preds = %2580, %2584
  %.str.5.sink1709 = phi ptr [ @.str.5, %2584 ], [ @.str.1, %2580 ]
  store i32 %2575, ptr %1981, align 4, !tbaa !5
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = load i32, ptr @test_count, align 4, !tbaa !5
  %2588 = load i32, ptr %338, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror(i32 noundef %2588, ptr noundef nonnull @.str.4) #12
  %2590 = load i32, ptr %338, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror_debug(i32 noundef %2590, ptr noundef nonnull @.str.4) #12
  %2592 = load i32, ptr %1981, align 4, !tbaa !5
  %2593 = call ptr @strerror(i32 noundef %2592) #12
  %2594 = load i32, ptr %1981, align 4, !tbaa !5
  %2595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2586, ptr noundef nonnull %.str.5.sink1709, i32 noundef %2587, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.3, i32 noundef 250, ptr noundef %2589, ptr noundef %2591, ptr noundef %2593, i32 noundef %2594) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2596:                                             ; preds = %2569
  %2597 = add nsw i32 %2515, 4
  store i32 %2597, ptr @test_count, align 4, !tbaa !5
  %2598 = getelementptr inbounds i8, ptr %2517, i64 3
  %2599 = load i8, ptr %2598, align 1, !tbaa !55
  %2600 = lshr i16 %.biased, 8
  %2601 = zext i8 %2599 to i16
  %2602 = icmp eq i16 %2600, %2601
  br i1 %2602, label %2625, label %2603

2603:                                             ; preds = %2596
  %2604 = load i32, ptr %1981, align 4, !tbaa !5
  %2605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2606 = call i32 @s2n_print_stacktrace(ptr noundef %2605) #12
  %2607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2608 = trunc nuw i8 %2607 to i1
  br i1 %2608, label %2609, label %2613

2609:                                             ; preds = %2603
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = call i32 @fileno(ptr noundef %2610) #12
  %2612 = call i32 @isatty(i32 noundef %2611) #12
  %.not719 = icmp eq i32 %2612, 0
  br i1 %.not719, label %2613, label %2614

2613:                                             ; preds = %2609, %2603
  br label %2614

2614:                                             ; preds = %2609, %2613
  %.str.5.sink1718 = phi ptr [ @.str.5, %2613 ], [ @.str.1, %2609 ]
  store i32 %2604, ptr %1981, align 4, !tbaa !5
  %2615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2616 = load i32, ptr @test_count, align 4, !tbaa !5
  %2617 = load i32, ptr %338, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror(i32 noundef %2617, ptr noundef nonnull @.str.4) #12
  %2619 = load i32, ptr %338, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2619, ptr noundef nonnull @.str.4) #12
  %2621 = load i32, ptr %1981, align 4, !tbaa !5
  %2622 = call ptr @strerror(i32 noundef %2621) #12
  %2623 = load i32, ptr %1981, align 4, !tbaa !5
  %2624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2615, ptr noundef nonnull %.str.5.sink1718, i32 noundef %2616, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.3, i32 noundef 251, ptr noundef %2618, ptr noundef %2620, ptr noundef %2622, i32 noundef %2623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2625:                                             ; preds = %2596
  %2626 = add nsw i32 %2515, 5
  store i32 %2626, ptr @test_count, align 4, !tbaa !5
  %2627 = getelementptr inbounds i8, ptr %2517, i64 4
  %2628 = load i8, ptr %2627, align 1, !tbaa !55
  %2629 = trunc i16 %.0622 to i8
  %2630 = icmp eq i8 %2628, %2629
  br i1 %2630, label %2653, label %2631

2631:                                             ; preds = %2625
  %2632 = load i32, ptr %1981, align 4, !tbaa !5
  %2633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2634 = call i32 @s2n_print_stacktrace(ptr noundef %2633) #12
  %2635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2636 = trunc nuw i8 %2635 to i1
  br i1 %2636, label %2637, label %2641

2637:                                             ; preds = %2631
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = call i32 @fileno(ptr noundef %2638) #12
  %2640 = call i32 @isatty(i32 noundef %2639) #12
  %.not720 = icmp eq i32 %2640, 0
  br i1 %.not720, label %2641, label %2642

2641:                                             ; preds = %2637, %2631
  br label %2642

2642:                                             ; preds = %2637, %2641
  %.str.5.sink1727 = phi ptr [ @.str.5, %2641 ], [ @.str.1, %2637 ]
  store i32 %2632, ptr %1981, align 4, !tbaa !5
  %2643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2644 = load i32, ptr @test_count, align 4, !tbaa !5
  %2645 = load i32, ptr %338, align 4, !tbaa !5
  %2646 = call ptr @s2n_strerror(i32 noundef %2645, ptr noundef nonnull @.str.4) #12
  %2647 = load i32, ptr %338, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror_debug(i32 noundef %2647, ptr noundef nonnull @.str.4) #12
  %2649 = load i32, ptr %1981, align 4, !tbaa !5
  %2650 = call ptr @strerror(i32 noundef %2649) #12
  %2651 = load i32, ptr %1981, align 4, !tbaa !5
  %2652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2643, ptr noundef nonnull %.str.5.sink1727, i32 noundef %2644, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.3, i32 noundef 252, ptr noundef %2646, ptr noundef %2648, ptr noundef %2650, i32 noundef %2651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2653:                                             ; preds = %2625
  %2654 = add nsw i32 %2515, 6
  store i32 %2654, ptr @test_count, align 4, !tbaa !5
  %2655 = getelementptr inbounds i8, ptr %2517, i64 5
  %2656 = zext nneg i32 %.0621 to i64
  %bcmp721 = call i32 @bcmp(ptr nonnull %2655, ptr nonnull %6, i64 %2656)
  %2657 = icmp eq i32 %bcmp721, 0
  br i1 %2657, label %2680, label %2658

2658:                                             ; preds = %2653
  %2659 = load i32, ptr %1981, align 4, !tbaa !5
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = call i32 @s2n_print_stacktrace(ptr noundef %2660) #12
  %2662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2663 = trunc nuw i8 %2662 to i1
  br i1 %2663, label %2664, label %2668

2664:                                             ; preds = %2658
  %2665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2666 = call i32 @fileno(ptr noundef %2665) #12
  %2667 = call i32 @isatty(i32 noundef %2666) #12
  %.not722 = icmp eq i32 %2667, 0
  br i1 %.not722, label %2668, label %2669

2668:                                             ; preds = %2664, %2658
  br label %2669

2669:                                             ; preds = %2664, %2668
  %.str.5.sink1736 = phi ptr [ @.str.5, %2668 ], [ @.str.1, %2664 ]
  store i32 %2659, ptr %1981, align 4, !tbaa !5
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = load i32, ptr @test_count, align 4, !tbaa !5
  %2672 = load i32, ptr %338, align 4, !tbaa !5
  %2673 = call ptr @s2n_strerror(i32 noundef %2672, ptr noundef nonnull @.str.4) #12
  %2674 = load i32, ptr %338, align 4, !tbaa !5
  %2675 = call ptr @s2n_strerror_debug(i32 noundef %2674, ptr noundef nonnull @.str.4) #12
  %2676 = load i32, ptr %1981, align 4, !tbaa !5
  %2677 = call ptr @strerror(i32 noundef %2676) #12
  %2678 = load i32, ptr %1981, align 4, !tbaa !5
  %2679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2670, ptr noundef nonnull %.str.5.sink1736, i32 noundef %2671, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.3, i32 noundef 253, ptr noundef %2673, ptr noundef %2675, ptr noundef %2677, i32 noundef %2678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2680:                                             ; preds = %2653
  %2681 = load i32, ptr %341, align 4, !tbaa !56
  %2682 = add i32 %2681, -1
  %2683 = zext i32 %2682 to i64
  %2684 = getelementptr inbounds i8, ptr %2517, i64 %2683
  %2685 = load i8, ptr %2684, align 1, !tbaa !55
  %2686 = zext i8 %2685 to i32
  %2687 = add nuw nsw i32 %.0621, 26
  %2688 = add nuw nsw i32 %2687, %2686
  %2689 = add nsw i32 %2515, 7
  store i32 %2689, ptr @test_count, align 4, !tbaa !5
  %2690 = load i32, ptr %342, align 8, !tbaa !57
  %2691 = sub i32 %2681, %2690
  %2692 = icmp eq i32 %2688, %2691
  br i1 %2692, label %.preheader825, label %2696

.preheader825:                                    ; preds = %2680
  %2693 = zext i8 %2685 to i64
  %2694 = sext i32 %.0621 to i64
  %2695 = getelementptr i8, ptr %2517, i64 %2694
  %invariant.gep = getelementptr i8, ptr %2695, i64 25
  br label %2727

2696:                                             ; preds = %2680
  %2697 = load i32, ptr %1981, align 4, !tbaa !5
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = call i32 @s2n_print_stacktrace(ptr noundef %2698) #12
  %2700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2701 = trunc nuw i8 %2700 to i1
  br i1 %2701, label %2702, label %2706

2702:                                             ; preds = %2696
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = call i32 @fileno(ptr noundef %2703) #12
  %2705 = call i32 @isatty(i32 noundef %2704) #12
  %.not723 = icmp eq i32 %2705, 0
  br i1 %.not723, label %2706, label %2707

2706:                                             ; preds = %2702, %2696
  br label %2707

2707:                                             ; preds = %2702, %2706
  %.str.5.sink1745 = phi ptr [ @.str.5, %2706 ], [ @.str.1, %2702 ]
  store i32 %2697, ptr %1981, align 4, !tbaa !5
  %2708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = load i32, ptr %338, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror(i32 noundef %2710, ptr noundef nonnull @.str.4) #12
  %2712 = load i32, ptr %338, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror_debug(i32 noundef %2712, ptr noundef nonnull @.str.4) #12
  %2714 = load i32, ptr %1981, align 4, !tbaa !5
  %2715 = call ptr @strerror(i32 noundef %2714) #12
  %2716 = load i32, ptr %1981, align 4, !tbaa !5
  %2717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2708, ptr noundef nonnull %.str.5.sink1745, i32 noundef %2709, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.3, i32 noundef 258, ptr noundef %2711, ptr noundef %2713, ptr noundef %2715, i32 noundef %2716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2718:                                             ; preds = %2727
  %2719 = add nuw nsw i64 %.0623855, 1
  %exitcond874.not = icmp eq i64 %.0623855, %2693
  br i1 %exitcond874.not, label %2720, label %2727, !llvm.loop !64

2720:                                             ; preds = %2718
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #12
  %2721 = lshr i32 %.0621, 8
  %2722 = trunc i32 %2721 to i8
  store i8 %2722, ptr %19, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #12
  %2723 = trunc i32 %.0621 to i8
  store i8 %2723, ptr %20, align 1, !tbaa !55
  %2724 = add nsw i32 %2728, 2
  store i32 %2724, ptr @test_count, align 4, !tbaa !5
  %2725 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %2517, i32 noundef 3) #12
  %2726 = icmp eq i32 %2725, -1
  br i1 %2726, label %2754, label %2776

2727:                                             ; preds = %.preheader825, %2718
  %.0623855 = phi i64 [ 0, %.preheader825 ], [ %2719, %2718 ]
  %2728 = phi i32 [ %2689, %.preheader825 ], [ %2729, %2718 ]
  %2729 = add nsw i32 %2728, 1
  store i32 %2729, ptr @test_count, align 4, !tbaa !5
  %gep = getelementptr i8, ptr %invariant.gep, i64 %.0623855
  %2730 = load i8, ptr %gep, align 1, !tbaa !55
  %2731 = icmp eq i8 %2730, %2685
  br i1 %2731, label %2718, label %2732

2732:                                             ; preds = %2727
  %2733 = load i32, ptr %1981, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = call i32 @s2n_print_stacktrace(ptr noundef %2734) #12
  %2736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2737 = trunc nuw i8 %2736 to i1
  br i1 %2737, label %2738, label %2742

2738:                                             ; preds = %2732
  %2739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2740 = call i32 @fileno(ptr noundef %2739) #12
  %2741 = call i32 @isatty(i32 noundef %2740) #12
  %.not739 = icmp eq i32 %2741, 0
  br i1 %.not739, label %2742, label %2743

2742:                                             ; preds = %2738, %2732
  br label %2743

2743:                                             ; preds = %2738, %2742
  %.str.5.sink1754 = phi ptr [ @.str.5, %2742 ], [ @.str.1, %2738 ]
  store i32 %2733, ptr %1981, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = load i32, ptr %338, align 4, !tbaa !5
  %2747 = call ptr @s2n_strerror(i32 noundef %2746, ptr noundef nonnull @.str.4) #12
  %2748 = load i32, ptr %338, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror_debug(i32 noundef %2748, ptr noundef nonnull @.str.4) #12
  %2750 = load i32, ptr %1981, align 4, !tbaa !5
  %2751 = call ptr @strerror(i32 noundef %2750) #12
  %2752 = load i32, ptr %1981, align 4, !tbaa !5
  %2753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2744, ptr noundef nonnull %.str.5.sink1754, i32 noundef %2745, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.3, i32 noundef 262, ptr noundef %2747, ptr noundef %2749, ptr noundef %2751, i32 noundef %2752) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2754:                                             ; preds = %2720
  %2755 = load i32, ptr %1981, align 4, !tbaa !5
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = call i32 @s2n_print_stacktrace(ptr noundef %2756) #12
  %2758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2759 = trunc nuw i8 %2758 to i1
  br i1 %2759, label %2760, label %2764

2760:                                             ; preds = %2754
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = call i32 @fileno(ptr noundef %2761) #12
  %2763 = call i32 @isatty(i32 noundef %2762) #12
  %.not738 = icmp eq i32 %2763, 0
  br i1 %.not738, label %2764, label %2765

2764:                                             ; preds = %2760, %2754
  br label %2765

2765:                                             ; preds = %2760, %2764
  %.str.5.sink1763 = phi ptr [ @.str.5, %2764 ], [ @.str.1, %2760 ]
  store i32 %2755, ptr %1981, align 4, !tbaa !5
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = load i32, ptr @test_count, align 4, !tbaa !5
  %2768 = load i32, ptr %338, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror(i32 noundef %2768, ptr noundef nonnull @.str.4) #12
  %2770 = load i32, ptr %338, align 4, !tbaa !5
  %2771 = call ptr @s2n_strerror_debug(i32 noundef %2770, ptr noundef nonnull @.str.4) #12
  %2772 = load i32, ptr %1981, align 4, !tbaa !5
  %2773 = call ptr @strerror(i32 noundef %2772) #12
  %2774 = load i32, ptr %1981, align 4, !tbaa !5
  %2775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2766, ptr noundef nonnull %.str.5.sink1763, i32 noundef %2767, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.3, i32 noundef 267, ptr noundef %2769, ptr noundef %2771, ptr noundef %2773, i32 noundef %2774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2776:                                             ; preds = %2720
  %2777 = load i32, ptr @test_count, align 4, !tbaa !5
  %2778 = add nsw i32 %2777, 1
  store i32 %2778, ptr @test_count, align 4, !tbaa !5
  %2779 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %19, i32 noundef 1) #12
  %2780 = icmp eq i32 %2779, -1
  br i1 %2780, label %2781, label %2803

2781:                                             ; preds = %2776
  %2782 = load i32, ptr %1981, align 4, !tbaa !5
  %2783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2784 = call i32 @s2n_print_stacktrace(ptr noundef %2783) #12
  %2785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2786 = trunc nuw i8 %2785 to i1
  br i1 %2786, label %2787, label %2791

2787:                                             ; preds = %2781
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = call i32 @fileno(ptr noundef %2788) #12
  %2790 = call i32 @isatty(i32 noundef %2789) #12
  %.not737 = icmp eq i32 %2790, 0
  br i1 %.not737, label %2791, label %2792

2791:                                             ; preds = %2787, %2781
  br label %2792

2792:                                             ; preds = %2787, %2791
  %.str.5.sink1772 = phi ptr [ @.str.5, %2791 ], [ @.str.1, %2787 ]
  store i32 %2782, ptr %1981, align 4, !tbaa !5
  %2793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2794 = load i32, ptr @test_count, align 4, !tbaa !5
  %2795 = load i32, ptr %338, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror(i32 noundef %2795, ptr noundef nonnull @.str.4) #12
  %2797 = load i32, ptr %338, align 4, !tbaa !5
  %2798 = call ptr @s2n_strerror_debug(i32 noundef %2797, ptr noundef nonnull @.str.4) #12
  %2799 = load i32, ptr %1981, align 4, !tbaa !5
  %2800 = call ptr @strerror(i32 noundef %2799) #12
  %2801 = load i32, ptr %1981, align 4, !tbaa !5
  %2802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2793, ptr noundef nonnull %.str.5.sink1772, i32 noundef %2794, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.3, i32 noundef 268, ptr noundef %2796, ptr noundef %2798, ptr noundef %2800, i32 noundef %2801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2803:                                             ; preds = %2776
  %2804 = load i32, ptr @test_count, align 4, !tbaa !5
  %2805 = add nsw i32 %2804, 1
  store i32 %2805, ptr @test_count, align 4, !tbaa !5
  %2806 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %20, i32 noundef 1) #12
  %2807 = icmp eq i32 %2806, -1
  br i1 %2807, label %2808, label %2830

2808:                                             ; preds = %2803
  %2809 = load i32, ptr %1981, align 4, !tbaa !5
  %2810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2811 = call i32 @s2n_print_stacktrace(ptr noundef %2810) #12
  %2812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2813 = trunc nuw i8 %2812 to i1
  br i1 %2813, label %2814, label %2818

2814:                                             ; preds = %2808
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = call i32 @fileno(ptr noundef %2815) #12
  %2817 = call i32 @isatty(i32 noundef %2816) #12
  %.not736 = icmp eq i32 %2817, 0
  br i1 %.not736, label %2818, label %2819

2818:                                             ; preds = %2814, %2808
  br label %2819

2819:                                             ; preds = %2814, %2818
  %.str.5.sink1781 = phi ptr [ @.str.5, %2818 ], [ @.str.1, %2814 ]
  store i32 %2809, ptr %1981, align 4, !tbaa !5
  %2820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2821 = load i32, ptr @test_count, align 4, !tbaa !5
  %2822 = load i32, ptr %338, align 4, !tbaa !5
  %2823 = call ptr @s2n_strerror(i32 noundef %2822, ptr noundef nonnull @.str.4) #12
  %2824 = load i32, ptr %338, align 4, !tbaa !5
  %2825 = call ptr @s2n_strerror_debug(i32 noundef %2824, ptr noundef nonnull @.str.4) #12
  %2826 = load i32, ptr %1981, align 4, !tbaa !5
  %2827 = call ptr @strerror(i32 noundef %2826) #12
  %2828 = load i32, ptr %1981, align 4, !tbaa !5
  %2829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2820, ptr noundef nonnull %.str.5.sink1781, i32 noundef %2821, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.3, i32 noundef 269, ptr noundef %2823, ptr noundef %2825, ptr noundef %2827, i32 noundef %2828) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2830:                                             ; preds = %2803
  %2831 = load i32, ptr @test_count, align 4, !tbaa !5
  %2832 = add nsw i32 %2831, 1
  store i32 %2832, ptr @test_count, align 4, !tbaa !5
  %2833 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %6, i32 noundef %.0621) #12
  %2834 = icmp eq i32 %2833, -1
  br i1 %2834, label %2835, label %2857

2835:                                             ; preds = %2830
  %2836 = load i32, ptr %1981, align 4, !tbaa !5
  %2837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2838 = call i32 @s2n_print_stacktrace(ptr noundef %2837) #12
  %2839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2840 = trunc nuw i8 %2839 to i1
  br i1 %2840, label %2841, label %2845

2841:                                             ; preds = %2835
  %2842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2843 = call i32 @fileno(ptr noundef %2842) #12
  %2844 = call i32 @isatty(i32 noundef %2843) #12
  %.not735 = icmp eq i32 %2844, 0
  br i1 %.not735, label %2845, label %2846

2845:                                             ; preds = %2841, %2835
  br label %2846

2846:                                             ; preds = %2841, %2845
  %.str.5.sink1790 = phi ptr [ @.str.5, %2845 ], [ @.str.1, %2841 ]
  store i32 %2836, ptr %1981, align 4, !tbaa !5
  %2847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2848 = load i32, ptr @test_count, align 4, !tbaa !5
  %2849 = load i32, ptr %338, align 4, !tbaa !5
  %2850 = call ptr @s2n_strerror(i32 noundef %2849, ptr noundef nonnull @.str.4) #12
  %2851 = load i32, ptr %338, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef nonnull @.str.4) #12
  %2853 = load i32, ptr %1981, align 4, !tbaa !5
  %2854 = call ptr @strerror(i32 noundef %2853) #12
  %2855 = load i32, ptr %1981, align 4, !tbaa !5
  %2856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2847, ptr noundef nonnull %.str.5.sink1790, i32 noundef %2848, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.3, i32 noundef 270, ptr noundef %2850, ptr noundef %2852, ptr noundef %2854, i32 noundef %2855) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2857:                                             ; preds = %2830
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %21) #12
  %2858 = load i32, ptr @test_count, align 4, !tbaa !5
  %2859 = add nsw i32 %2858, 1
  store i32 %2859, ptr @test_count, align 4, !tbaa !5
  %2860 = call i32 @s2n_hmac_digest(ptr noundef nonnull %5, ptr noundef nonnull %21, i32 noundef 20) #12
  %2861 = icmp eq i32 %2860, -1
  br i1 %2861, label %2862, label %2884

2862:                                             ; preds = %2857
  %2863 = load i32, ptr %1981, align 4, !tbaa !5
  %2864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2865 = call i32 @s2n_print_stacktrace(ptr noundef %2864) #12
  %2866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2867 = trunc nuw i8 %2866 to i1
  br i1 %2867, label %2868, label %2872

2868:                                             ; preds = %2862
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = call i32 @fileno(ptr noundef %2869) #12
  %2871 = call i32 @isatty(i32 noundef %2870) #12
  %.not734 = icmp eq i32 %2871, 0
  br i1 %.not734, label %2872, label %2873

2872:                                             ; preds = %2868, %2862
  br label %2873

2873:                                             ; preds = %2868, %2872
  %.str.5.sink1799 = phi ptr [ @.str.5, %2872 ], [ @.str.1, %2868 ]
  store i32 %2863, ptr %1981, align 4, !tbaa !5
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = load i32, ptr @test_count, align 4, !tbaa !5
  %2876 = load i32, ptr %338, align 4, !tbaa !5
  %2877 = call ptr @s2n_strerror(i32 noundef %2876, ptr noundef nonnull @.str.4) #12
  %2878 = load i32, ptr %338, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror_debug(i32 noundef %2878, ptr noundef nonnull @.str.4) #12
  %2880 = load i32, ptr %1981, align 4, !tbaa !5
  %2881 = call ptr @strerror(i32 noundef %2880) #12
  %2882 = load i32, ptr %1981, align 4, !tbaa !5
  %2883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2874, ptr noundef nonnull %.str.5.sink1799, i32 noundef %2875, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.3, i32 noundef 273, ptr noundef %2877, ptr noundef %2879, ptr noundef %2881, i32 noundef %2882) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2884:                                             ; preds = %2857
  %2885 = load i32, ptr @test_count, align 4, !tbaa !5
  %2886 = add nsw i32 %2885, 1
  store i32 %2886, ptr @test_count, align 4, !tbaa !5
  %2887 = load ptr, ptr %337, align 8, !tbaa !54
  %2888 = getelementptr inbounds i8, ptr %2887, i64 5
  %2889 = getelementptr inbounds i8, ptr %2888, i64 %2656
  %2890 = call i32 @s2n_hmac_digest_verify(ptr noundef nonnull %2889, ptr noundef nonnull %21, i32 noundef 20) #12
  %2891 = icmp eq i32 %2890, -1
  br i1 %2891, label %2892, label %2914

2892:                                             ; preds = %2884
  %2893 = load i32, ptr %1981, align 4, !tbaa !5
  %2894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2895 = call i32 @s2n_print_stacktrace(ptr noundef %2894) #12
  %2896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2897 = trunc nuw i8 %2896 to i1
  br i1 %2897, label %2898, label %2902

2898:                                             ; preds = %2892
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = call i32 @fileno(ptr noundef %2899) #12
  %2901 = call i32 @isatty(i32 noundef %2900) #12
  %.not733 = icmp eq i32 %2901, 0
  br i1 %.not733, label %2902, label %2903

2902:                                             ; preds = %2898, %2892
  br label %2903

2903:                                             ; preds = %2898, %2902
  %.str.5.sink1808 = phi ptr [ @.str.5, %2902 ], [ @.str.1, %2898 ]
  store i32 %2893, ptr %1981, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = load i32, ptr %338, align 4, !tbaa !5
  %2907 = call ptr @s2n_strerror(i32 noundef %2906, ptr noundef nonnull @.str.4) #12
  %2908 = load i32, ptr %338, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror_debug(i32 noundef %2908, ptr noundef nonnull @.str.4) #12
  %2910 = load i32, ptr %1981, align 4, !tbaa !5
  %2911 = call ptr @strerror(i32 noundef %2910) #12
  %2912 = load i32, ptr %1981, align 4, !tbaa !5
  %2913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2904, ptr noundef nonnull %.str.5.sink1808, i32 noundef %2905, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.3, i32 noundef 274, ptr noundef %2907, ptr noundef %2909, ptr noundef %2911, i32 noundef %2912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2914:                                             ; preds = %2884
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = add nsw i32 %2915, 1
  store i32 %2916, ptr @test_count, align 4, !tbaa !5
  %2917 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %2918 = icmp eq i32 %2917, -1
  br i1 %2918, label %2919, label %2941

2919:                                             ; preds = %2914
  %2920 = load i32, ptr %1981, align 4, !tbaa !5
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @s2n_print_stacktrace(ptr noundef %2921) #12
  %2923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2924 = trunc nuw i8 %2923 to i1
  br i1 %2924, label %2925, label %2929

2925:                                             ; preds = %2919
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = call i32 @fileno(ptr noundef %2926) #12
  %2928 = call i32 @isatty(i32 noundef %2927) #12
  %.not732 = icmp eq i32 %2928, 0
  br i1 %.not732, label %2929, label %2930

2929:                                             ; preds = %2925, %2919
  br label %2930

2930:                                             ; preds = %2925, %2929
  %.str.5.sink1817 = phi ptr [ @.str.5, %2929 ], [ @.str.1, %2925 ]
  store i32 %2920, ptr %1981, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = load i32, ptr @test_count, align 4, !tbaa !5
  %2933 = load i32, ptr %338, align 4, !tbaa !5
  %2934 = call ptr @s2n_strerror(i32 noundef %2933, ptr noundef nonnull @.str.4) #12
  %2935 = load i32, ptr %338, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror_debug(i32 noundef %2935, ptr noundef nonnull @.str.4) #12
  %2937 = load i32, ptr %1981, align 4, !tbaa !5
  %2938 = call ptr @strerror(i32 noundef %2937) #12
  %2939 = load i32, ptr %1981, align 4, !tbaa !5
  %2940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2931, ptr noundef nonnull %.str.5.sink1817, i32 noundef %2932, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 276, ptr noundef %2934, ptr noundef %2936, ptr noundef %2938, i32 noundef %2939) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2941:                                             ; preds = %2914
  %2942 = load i32, ptr @test_count, align 4, !tbaa !5
  %2943 = add nsw i32 %2942, 1
  store i32 %2943, ptr @test_count, align 4, !tbaa !5
  %2944 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %2945 = icmp eq i32 %2944, -1
  br i1 %2945, label %2946, label %2968

2946:                                             ; preds = %2941
  %2947 = load i32, ptr %1981, align 4, !tbaa !5
  %2948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2949 = call i32 @s2n_print_stacktrace(ptr noundef %2948) #12
  %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) #12
  %2955 = call i32 @isatty(i32 noundef %2954) #12
  %.not731 = icmp eq i32 %2955, 0
  br i1 %.not731, label %2956, label %2957

2956:                                             ; preds = %2952, %2946
  br label %2957

2957:                                             ; preds = %2952, %2956
  %.str.5.sink1826 = phi ptr [ @.str.5, %2956 ], [ @.str.1, %2952 ]
  store i32 %2947, ptr %1981, 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 %338, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror(i32 noundef %2960, ptr noundef nonnull @.str.4) #12
  %2962 = load i32, ptr %338, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror_debug(i32 noundef %2962, ptr noundef nonnull @.str.4) #12
  %2964 = load i32, ptr %1981, align 4, !tbaa !5
  %2965 = call ptr @strerror(i32 noundef %2964) #12
  %2966 = load i32, ptr %1981, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2958, ptr noundef nonnull %.str.5.sink1826, i32 noundef %2959, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 277, ptr noundef %2961, ptr noundef %2963, ptr noundef %2965, i32 noundef %2966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2968:                                             ; preds = %2941
  %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 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %2972 = icmp eq i32 %2971, -1
  br i1 %2972, label %2973, label %2995

2973:                                             ; preds = %2968
  %2974 = load i32, ptr %1981, align 4, !tbaa !5
  %2975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2976 = call i32 @s2n_print_stacktrace(ptr noundef %2975) #12
  %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) #12
  %2982 = call i32 @isatty(i32 noundef %2981) #12
  %.not730 = icmp eq i32 %2982, 0
  br i1 %.not730, label %2983, label %2984

2983:                                             ; preds = %2979, %2973
  br label %2984

2984:                                             ; preds = %2979, %2983
  %.str.5.sink1835 = phi ptr [ @.str.5, %2983 ], [ @.str.1, %2979 ]
  store i32 %2974, ptr %1981, 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 %338, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror(i32 noundef %2987, ptr noundef nonnull @.str.4) #12
  %2989 = load i32, ptr %338, align 4, !tbaa !5
  %2990 = call ptr @s2n_strerror_debug(i32 noundef %2989, ptr noundef nonnull @.str.4) #12
  %2991 = load i32, ptr %1981, align 4, !tbaa !5
  %2992 = call ptr @strerror(i32 noundef %2991) #12
  %2993 = load i32, ptr %1981, align 4, !tbaa !5
  %2994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2985, ptr noundef nonnull %.str.5.sink1835, i32 noundef %2986, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 278, ptr noundef %2988, ptr noundef %2990, ptr noundef %2992, i32 noundef %2993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2995:                                             ; preds = %2968
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = add nsw i32 %2996, 1
  store i32 %2997, ptr @test_count, align 4, !tbaa !5
  %2998 = load i32, ptr %341, align 4, !tbaa !56
  %2999 = load i32, ptr %342, align 8, !tbaa !57
  %3000 = sub i32 %2998, %2999
  %3001 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %3000) #12
  %3002 = icmp eq i32 %3001, -1
  br i1 %3002, label %3003, label %3025

3003:                                             ; preds = %2995
  %3004 = load i32, ptr %1981, align 4, !tbaa !5
  %3005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3006 = call i32 @s2n_print_stacktrace(ptr noundef %3005) #12
  %3007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3008 = trunc nuw i8 %3007 to i1
  br i1 %3008, label %3009, label %3013

3009:                                             ; preds = %3003
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = call i32 @fileno(ptr noundef %3010) #12
  %3012 = call i32 @isatty(i32 noundef %3011) #12
  %.not729 = icmp eq i32 %3012, 0
  br i1 %.not729, label %3013, label %3014

3013:                                             ; preds = %3009, %3003
  br label %3014

3014:                                             ; preds = %3009, %3013
  %.str.5.sink1844 = phi ptr [ @.str.5, %3013 ], [ @.str.1, %3009 ]
  store i32 %3004, ptr %1981, align 4, !tbaa !5
  %3015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3016 = load i32, ptr @test_count, align 4, !tbaa !5
  %3017 = load i32, ptr %338, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror(i32 noundef %3017, ptr noundef nonnull @.str.4) #12
  %3019 = load i32, ptr %338, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef nonnull @.str.4) #12
  %3021 = load i32, ptr %1981, align 4, !tbaa !5
  %3022 = call ptr @strerror(i32 noundef %3021) #12
  %3023 = load i32, ptr %1981, align 4, !tbaa !5
  %3024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3015, ptr noundef nonnull %.str.5.sink1844, i32 noundef %3016, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 279, ptr noundef %3018, ptr noundef %3020, ptr noundef %3022, i32 noundef %3023) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3025:                                             ; preds = %2995
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #12
  store i8 0, ptr %22, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %23) #12
  store i16 0, ptr %23, align 2, !tbaa !58
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = add nsw i32 %3026, 1
  store i32 %3027, ptr @test_count, align 4, !tbaa !5
  %3028 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %22, ptr noundef nonnull %23) #12
  %3029 = icmp eq i32 %3028, -1
  br i1 %3029, label %3030, label %3052

3030:                                             ; preds = %3025
  %3031 = load i32, ptr %1981, align 4, !tbaa !5
  %3032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3033 = call i32 @s2n_print_stacktrace(ptr noundef %3032) #12
  %3034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3035 = trunc nuw i8 %3034 to i1
  br i1 %3035, label %3036, label %3040

3036:                                             ; preds = %3030
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = call i32 @fileno(ptr noundef %3037) #12
  %3039 = call i32 @isatty(i32 noundef %3038) #12
  %.not728 = icmp eq i32 %3039, 0
  br i1 %.not728, label %3040, label %3041

3040:                                             ; preds = %3036, %3030
  br label %3041

3041:                                             ; preds = %3036, %3040
  %.str.5.sink1853 = phi ptr [ @.str.5, %3040 ], [ @.str.1, %3036 ]
  store i32 %3031, ptr %1981, align 4, !tbaa !5
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = load i32, ptr %338, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror(i32 noundef %3044, ptr noundef nonnull @.str.4) #12
  %3046 = load i32, ptr %338, align 4, !tbaa !5
  %3047 = call ptr @s2n_strerror_debug(i32 noundef %3046, ptr noundef nonnull @.str.4) #12
  %3048 = load i32, ptr %1981, align 4, !tbaa !5
  %3049 = call ptr @strerror(i32 noundef %3048) #12
  %3050 = load i32, ptr %1981, align 4, !tbaa !5
  %3051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3042, ptr noundef nonnull %.str.5.sink1853, i32 noundef %3043, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 283, ptr noundef %3045, ptr noundef %3047, ptr noundef %3049, i32 noundef %3050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3052:                                             ; preds = %3025
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = add nsw i32 %3053, 1
  store i32 %3054, ptr @test_count, align 4, !tbaa !5
  %3055 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %3056 = icmp eq i32 %3055, -1
  br i1 %3056, label %3057, label %3079

3057:                                             ; preds = %3052
  %3058 = load i32, ptr %1981, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = call i32 @s2n_print_stacktrace(ptr noundef %3059) #12
  %3061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3062 = trunc nuw i8 %3061 to i1
  br i1 %3062, label %3063, label %3067

3063:                                             ; preds = %3057
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = call i32 @fileno(ptr noundef %3064) #12
  %3066 = call i32 @isatty(i32 noundef %3065) #12
  %.not727 = icmp eq i32 %3066, 0
  br i1 %.not727, label %3067, label %3068

3067:                                             ; preds = %3063, %3057
  br label %3068

3068:                                             ; preds = %3063, %3067
  %.str.5.sink1862 = phi ptr [ @.str.5, %3067 ], [ @.str.1, %3063 ]
  store i32 %3058, ptr %1981, align 4, !tbaa !5
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = load i32, ptr @test_count, align 4, !tbaa !5
  %3071 = load i32, ptr %338, align 4, !tbaa !5
  %3072 = call ptr @s2n_strerror(i32 noundef %3071, ptr noundef nonnull @.str.4) #12
  %3073 = load i32, ptr %338, align 4, !tbaa !5
  %3074 = call ptr @s2n_strerror_debug(i32 noundef %3073, ptr noundef nonnull @.str.4) #12
  %3075 = load i32, ptr %1981, align 4, !tbaa !5
  %3076 = call ptr @strerror(i32 noundef %3075) #12
  %3077 = load i32, ptr %1981, align 4, !tbaa !5
  %3078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3069, ptr noundef nonnull %.str.5.sink1862, i32 noundef %3070, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 284, ptr noundef %3072, ptr noundef %3074, ptr noundef %3076, i32 noundef %3077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3079:                                             ; preds = %3052
  %3080 = load i32, ptr @test_count, align 4, !tbaa !5
  %3081 = add nsw i32 %3080, 1
  store i32 %3081, ptr @test_count, align 4, !tbaa !5
  %3082 = load i8, ptr %22, align 1, !tbaa !55
  %3083 = icmp eq i8 %3082, 23
  br i1 %3083, label %3106, label %3084

3084:                                             ; preds = %3079
  %3085 = load i32, ptr %1981, align 4, !tbaa !5
  %3086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3087 = call i32 @s2n_print_stacktrace(ptr noundef %3086) #12
  %3088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3089 = trunc nuw i8 %3088 to i1
  br i1 %3089, label %3090, label %3094

3090:                                             ; preds = %3084
  %3091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3092 = call i32 @fileno(ptr noundef %3091) #12
  %3093 = call i32 @isatty(i32 noundef %3092) #12
  %.not725 = icmp eq i32 %3093, 0
  br i1 %.not725, label %3094, label %3095

3094:                                             ; preds = %3090, %3084
  br label %3095

3095:                                             ; preds = %3090, %3094
  %.str.5.sink1871 = phi ptr [ @.str.5, %3094 ], [ @.str.1, %3090 ]
  store i32 %3085, ptr %1981, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = load i32, ptr %338, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror(i32 noundef %3098, ptr noundef nonnull @.str.4) #12
  %3100 = load i32, ptr %338, align 4, !tbaa !5
  %3101 = call ptr @s2n_strerror_debug(i32 noundef %3100, ptr noundef nonnull @.str.4) #12
  %3102 = load i32, ptr %1981, align 4, !tbaa !5
  %3103 = call ptr @strerror(i32 noundef %3102) #12
  %3104 = load i32, ptr %1981, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef nonnull %.str.5.sink1871, i32 noundef %3097, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.3, i32 noundef 285, ptr noundef %3099, ptr noundef %3101, ptr noundef %3103, i32 noundef %3104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3106:                                             ; preds = %3079
  %3107 = add nsw i32 %3080, 2
  store i32 %3107, ptr @test_count, align 4, !tbaa !5
  %3108 = load i16, ptr %23, align 2, !tbaa !58
  %3109 = icmp eq i16 %3108, %.0622
  br i1 %3109, label %3132, label %3110

3110:                                             ; preds = %3106
  %3111 = load i32, ptr %1981, align 4, !tbaa !5
  %3112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3113 = call i32 @s2n_print_stacktrace(ptr noundef %3112) #12
  %3114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3115 = trunc nuw i8 %3114 to i1
  br i1 %3115, label %3116, label %3120

3116:                                             ; preds = %3110
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = call i32 @fileno(ptr noundef %3117) #12
  %3119 = call i32 @isatty(i32 noundef %3118) #12
  %.not726 = icmp eq i32 %3119, 0
  br i1 %.not726, label %3120, label %3121

3120:                                             ; preds = %3116, %3110
  br label %3121

3121:                                             ; preds = %3116, %3120
  %.str.5.sink1880 = phi ptr [ @.str.5, %3120 ], [ @.str.1, %3116 ]
  store i32 %3111, ptr %1981, align 4, !tbaa !5
  %3122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3123 = load i32, ptr @test_count, align 4, !tbaa !5
  %3124 = load i32, ptr %338, align 4, !tbaa !5
  %3125 = call ptr @s2n_strerror(i32 noundef %3124, ptr noundef nonnull @.str.4) #12
  %3126 = load i32, ptr %338, align 4, !tbaa !5
  %3127 = call ptr @s2n_strerror_debug(i32 noundef %3126, ptr noundef nonnull @.str.4) #12
  %3128 = load i32, ptr %1981, align 4, !tbaa !5
  %3129 = call ptr @strerror(i32 noundef %3128) #12
  %3130 = load i32, ptr %1981, align 4, !tbaa !5
  %3131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3122, ptr noundef nonnull %.str.5.sink1880, i32 noundef %3123, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.3, i32 noundef 286, ptr noundef %3125, ptr noundef %3127, ptr noundef %3129, i32 noundef %3130) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3132:                                             ; preds = %3106
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #12
  %3133 = add nuw nsw i64 %.0620856, 1
  %exitcond875.not = icmp eq i64 %3133, 8089
  br i1 %exitcond875.not, label %2290, label %2296, !llvm.loop !65

3134:                                             ; preds = %2290
  %3135 = load i32, ptr %1981, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = call i32 @s2n_print_stacktrace(ptr noundef %3136) #12
  %3138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3139 = trunc nuw i8 %3138 to i1
  br i1 %3139, label %3140, label %3144

3140:                                             ; preds = %3134
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = call i32 @fileno(ptr noundef %3141) #12
  %3143 = call i32 @isatty(i32 noundef %3142) #12
  %.not708 = icmp eq i32 %3143, 0
  br i1 %.not708, label %3144, label %3145

3144:                                             ; preds = %3140, %3134
  br label %3145

3145:                                             ; preds = %3140, %3144
  %.str.5.sink1889 = phi ptr [ @.str.5, %3144 ], [ @.str.1, %3140 ]
  store i32 %3135, ptr %1981, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = load i32, ptr %338, align 4, !tbaa !5
  %3149 = call ptr @s2n_strerror(i32 noundef %3148, ptr noundef nonnull @.str.4) #12
  %3150 = load i32, ptr %338, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror_debug(i32 noundef %3150, ptr noundef nonnull @.str.4) #12
  %3152 = load i32, ptr %1981, align 4, !tbaa !5
  %3153 = call ptr @strerror(i32 noundef %3152) #12
  %3154 = load i32, ptr %1981, align 4, !tbaa !5
  %3155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3146, ptr noundef nonnull %.str.5.sink1889, i32 noundef %3147, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.3, i32 noundef 290, ptr noundef %3149, ptr noundef %3151, ptr noundef %3153, i32 noundef %3154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3156:                                             ; preds = %2290
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = add nsw i32 %3157, 1
  store i32 %3158, ptr @test_count, align 4, !tbaa !5
  %3159 = load ptr, ptr %332, align 8, !tbaa !18
  %3160 = getelementptr inbounds i8, ptr %3159, i64 456
  %3161 = call i32 @s2n_hmac_init(ptr noundef nonnull %3160, i32 noundef 2, ptr noundef nonnull %3, i32 noundef 15) #12
  %3162 = icmp eq i32 %3161, -1
  br i1 %3162, label %3163, label %3185

3163:                                             ; preds = %3156
  %3164 = load i32, ptr %1981, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = call i32 @s2n_print_stacktrace(ptr noundef %3165) #12
  %3167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3168 = trunc nuw i8 %3167 to i1
  br i1 %3168, label %3169, label %3173

3169:                                             ; preds = %3163
  %3170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3171 = call i32 @fileno(ptr noundef %3170) #12
  %3172 = call i32 @isatty(i32 noundef %3171) #12
  %.not707 = icmp eq i32 %3172, 0
  br i1 %.not707, label %3173, label %3174

3173:                                             ; preds = %3169, %3163
  br label %3174

3174:                                             ; preds = %3169, %3173
  %.str.5.sink1898 = phi ptr [ @.str.5, %3173 ], [ @.str.1, %3169 ]
  store i32 %3164, ptr %1981, align 4, !tbaa !5
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = load i32, ptr %338, align 4, !tbaa !5
  %3178 = call ptr @s2n_strerror(i32 noundef %3177, ptr noundef nonnull @.str.4) #12
  %3179 = load i32, ptr %338, align 4, !tbaa !5
  %3180 = call ptr @s2n_strerror_debug(i32 noundef %3179, ptr noundef nonnull @.str.4) #12
  %3181 = load i32, ptr %1981, align 4, !tbaa !5
  %3182 = call ptr @strerror(i32 noundef %3181) #12
  %3183 = load i32, ptr %1981, align 4, !tbaa !5
  %3184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3175, ptr noundef nonnull %.str.5.sink1898, i32 noundef %3176, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.3, i32 noundef 291, ptr noundef %3178, ptr noundef %3180, ptr noundef %3182, i32 noundef %3183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3185:                                             ; preds = %3156
  store i8 32, ptr %336, align 4, !tbaa !51
  %3186 = load ptr, ptr %332, align 8, !tbaa !18
  store ptr @mock_block_cipher_suite, ptr %3186, align 8, !tbaa !46
  %.pre879 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %3191

3187:                                             ; preds = %4027
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %30, i8 0, i64 24, i1 false)
  %3188 = add nsw i32 %3975, 3
  store i32 %3188, ptr @test_count, align 4, !tbaa !5
  %3189 = call i32 @s2n_blob_init(ptr noundef nonnull %30, ptr noundef null, i32 noundef 0) #12
  %3190 = icmp eq i32 %3189, -1
  br i1 %3190, label %4029, label %4051

3191:                                             ; preds = %3185, %4027
  %3192 = phi i32 [ %.pre879, %3185 ], [ %4002, %4027 ]
  %.0624863 = phi i32 [ 0, %3185 ], [ %4028, %4027 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %24, i8 0, i64 24, i1 false)
  %3193 = add nsw i32 %3192, 1
  store i32 %3193, ptr @test_count, align 4, !tbaa !5
  %3194 = call i32 @s2n_blob_init(ptr noundef nonnull %24, ptr noundef nonnull %6, i32 noundef %.0624863) #12
  %3195 = icmp eq i32 %3194, -1
  br i1 %3195, label %3196, label %3218

3196:                                             ; preds = %3191
  %3197 = load i32, ptr %1981, align 4, !tbaa !5
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @s2n_print_stacktrace(ptr noundef %3198) #12
  %3200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3201 = trunc nuw i8 %3200 to i1
  br i1 %3201, label %3202, label %3206

3202:                                             ; preds = %3196
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = call i32 @fileno(ptr noundef %3203) #12
  %3205 = call i32 @isatty(i32 noundef %3204) #12
  %.not706 = icmp eq i32 %3205, 0
  br i1 %.not706, label %3206, label %3207

3206:                                             ; preds = %3202, %3196
  br label %3207

3207:                                             ; preds = %3202, %3206
  %.str.5.sink1907 = phi ptr [ @.str.5, %3206 ], [ @.str.1, %3202 ]
  store i32 %3197, ptr %1981, align 4, !tbaa !5
  %3208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3209 = load i32, ptr @test_count, align 4, !tbaa !5
  %3210 = load i32, ptr %338, align 4, !tbaa !5
  %3211 = call ptr @s2n_strerror(i32 noundef %3210, ptr noundef nonnull @.str.4) #12
  %3212 = load i32, ptr %338, align 4, !tbaa !5
  %3213 = call ptr @s2n_strerror_debug(i32 noundef %3212, ptr noundef nonnull @.str.4) #12
  %3214 = load i32, ptr %1981, align 4, !tbaa !5
  %3215 = call ptr @strerror(i32 noundef %3214) #12
  %3216 = load i32, ptr %1981, align 4, !tbaa !5
  %3217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3208, ptr noundef nonnull %.str.5.sink1907, i32 noundef %3209, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.3, i32 noundef 297, ptr noundef %3211, ptr noundef %3213, ptr noundef %3215, i32 noundef %3216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3218:                                             ; preds = %3191
  %3219 = load i32, ptr @test_count, align 4, !tbaa !5
  %3220 = add nsw i32 %3219, 1
  store i32 %3220, ptr @test_count, align 4, !tbaa !5
  %3221 = call i32 @s2n_hmac_reset(ptr noundef nonnull %5) #12
  %3222 = icmp eq i32 %3221, -1
  br i1 %3222, label %3223, label %3245

3223:                                             ; preds = %3218
  %3224 = load i32, ptr %1981, align 4, !tbaa !5
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @s2n_print_stacktrace(ptr noundef %3225) #12
  %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) #12
  %3232 = call i32 @isatty(i32 noundef %3231) #12
  %.not705 = icmp eq i32 %3232, 0
  br i1 %.not705, label %3233, label %3234

3233:                                             ; preds = %3229, %3223
  br label %3234

3234:                                             ; preds = %3229, %3233
  %.str.5.sink1916 = phi ptr [ @.str.5, %3233 ], [ @.str.1, %3229 ]
  store i32 %3224, ptr %1981, 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 %338, align 4, !tbaa !5
  %3238 = call ptr @s2n_strerror(i32 noundef %3237, ptr noundef nonnull @.str.4) #12
  %3239 = load i32, ptr %338, align 4, !tbaa !5
  %3240 = call ptr @s2n_strerror_debug(i32 noundef %3239, ptr noundef nonnull @.str.4) #12
  %3241 = load i32, ptr %1981, align 4, !tbaa !5
  %3242 = call ptr @strerror(i32 noundef %3241) #12
  %3243 = load i32, ptr %1981, align 4, !tbaa !5
  %3244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3235, ptr noundef nonnull %.str.5.sink1916, i32 noundef %3236, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.3, i32 noundef 300, ptr noundef %3238, ptr noundef %3240, ptr noundef %3242, i32 noundef %3243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3245:                                             ; preds = %3218
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = add nsw i32 %3246, 1
  store i32 %3247, ptr @test_count, align 4, !tbaa !5
  %3248 = load ptr, ptr %332, align 8, !tbaa !18
  %3249 = getelementptr inbounds i8, ptr %3248, i64 920
  %3250 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %3249, i32 noundef 8) #12
  %3251 = icmp eq i32 %3250, -1
  br i1 %3251, label %3252, label %3274

3252:                                             ; preds = %3245
  %3253 = load i32, ptr %1981, align 4, !tbaa !5
  %3254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3255 = call i32 @s2n_print_stacktrace(ptr noundef %3254) #12
  %3256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3257 = trunc nuw i8 %3256 to i1
  br i1 %3257, label %3258, label %3262

3258:                                             ; preds = %3252
  %3259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3260 = call i32 @fileno(ptr noundef %3259) #12
  %3261 = call i32 @isatty(i32 noundef %3260) #12
  %.not704 = icmp eq i32 %3261, 0
  br i1 %.not704, label %3262, label %3263

3262:                                             ; preds = %3258, %3252
  br label %3263

3263:                                             ; preds = %3258, %3262
  %.str.5.sink1925 = phi ptr [ @.str.5, %3262 ], [ @.str.1, %3258 ]
  store i32 %3253, ptr %1981, align 4, !tbaa !5
  %3264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = load i32, ptr %338, align 4, !tbaa !5
  %3267 = call ptr @s2n_strerror(i32 noundef %3266, ptr noundef nonnull @.str.4) #12
  %3268 = load i32, ptr %338, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror_debug(i32 noundef %3268, ptr noundef nonnull @.str.4) #12
  %3270 = load i32, ptr %1981, align 4, !tbaa !5
  %3271 = call ptr @strerror(i32 noundef %3270) #12
  %3272 = load i32, ptr %1981, align 4, !tbaa !5
  %3273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3264, ptr noundef nonnull %.str.5.sink1925, i32 noundef %3265, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.3, i32 noundef 301, ptr noundef %3267, ptr noundef %3269, ptr noundef %3271, i32 noundef %3272) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3274:                                             ; preds = %3245
  %3275 = load i32, ptr @test_count, align 4, !tbaa !5
  %3276 = add nsw i32 %3275, 1
  store i32 %3276, ptr @test_count, align 4, !tbaa !5
  %3277 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %3278 = icmp eq i32 %3277, -1
  br i1 %3278, label %3279, label %3301

3279:                                             ; preds = %3274
  %3280 = load i32, ptr %1981, align 4, !tbaa !5
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @s2n_print_stacktrace(ptr noundef %3281) #12
  %3283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3284 = trunc nuw i8 %3283 to i1
  br i1 %3284, label %3285, label %3289

3285:                                             ; preds = %3279
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = call i32 @fileno(ptr noundef %3286) #12
  %3288 = call i32 @isatty(i32 noundef %3287) #12
  %.not703 = icmp eq i32 %3288, 0
  br i1 %.not703, label %3289, label %3290

3289:                                             ; preds = %3285, %3279
  br label %3290

3290:                                             ; preds = %3285, %3289
  %.str.5.sink1934 = phi ptr [ @.str.5, %3289 ], [ @.str.1, %3285 ]
  store i32 %3280, ptr %1981, align 4, !tbaa !5
  %3291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3292 = load i32, ptr @test_count, align 4, !tbaa !5
  %3293 = load i32, ptr %338, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef nonnull @.str.4) #12
  %3295 = load i32, ptr %338, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror_debug(i32 noundef %3295, ptr noundef nonnull @.str.4) #12
  %3297 = load i32, ptr %1981, align 4, !tbaa !5
  %3298 = call ptr @strerror(i32 noundef %3297) #12
  %3299 = load i32, ptr %1981, align 4, !tbaa !5
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3291, ptr noundef nonnull %.str.5.sink1934, i32 noundef %3292, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 303, ptr noundef %3294, ptr noundef %3296, ptr noundef %3298, i32 noundef %3299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3301:                                             ; preds = %3274
  %3302 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 23, ptr noundef nonnull %24) #12
  %.not674 = icmp eq i32 %.0624863, 8088
  %3303 = load i32, ptr @test_count, align 4, !tbaa !5
  %3304 = add nsw i32 %3303, 1
  store i32 %3304, ptr @test_count, align 4, !tbaa !5
  br i1 %.not674, label %3329, label %3305

3305:                                             ; preds = %3301
  %3306 = call zeroext i1 @s2n_result_is_ok(i32 %3302)
  br i1 %3306, label %3407, label %3307

3307:                                             ; preds = %3305
  %3308 = load i32, ptr %1981, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = call i32 @s2n_print_stacktrace(ptr noundef %3309) #12
  %3311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3312 = trunc nuw i8 %3311 to i1
  br i1 %3312, label %3313, label %3317

3313:                                             ; preds = %3307
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @fileno(ptr noundef %3314) #12
  %3316 = call i32 @isatty(i32 noundef %3315) #12
  %.not678 = icmp eq i32 %3316, 0
  br i1 %.not678, label %3317, label %3318

3317:                                             ; preds = %3313, %3307
  br label %3318

3318:                                             ; preds = %3313, %3317
  %.str.5.sink1943 = phi ptr [ @.str.5, %3317 ], [ @.str.1, %3313 ]
  store i32 %3308, ptr %1981, align 4, !tbaa !5
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = load i32, ptr @test_count, align 4, !tbaa !5
  %3321 = load i32, ptr %338, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror(i32 noundef %3321, ptr noundef nonnull @.str.4) #12
  %3323 = load i32, ptr %338, align 4, !tbaa !5
  %3324 = call ptr @s2n_strerror_debug(i32 noundef %3323, ptr noundef nonnull @.str.4) #12
  %3325 = load i32, ptr %1981, align 4, !tbaa !5
  %3326 = call ptr @strerror(i32 noundef %3325) #12
  %3327 = load i32, ptr %1981, align 4, !tbaa !5
  %3328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3319, ptr noundef nonnull %.str.5.sink1943, i32 noundef %3320, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.3, i32 noundef 307, ptr noundef %3322, ptr noundef %3324, ptr noundef %3326, i32 noundef %3327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3329:                                             ; preds = %3301
  %3330 = call zeroext i1 @s2n_result_is_error(i32 %3302)
  br i1 %3330, label %3353, label %3331

3331:                                             ; preds = %3329
  %3332 = load i32, ptr %1981, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = call i32 @s2n_print_stacktrace(ptr noundef %3333) #12
  %3335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3336 = trunc nuw i8 %3335 to i1
  br i1 %3336, label %3337, label %3341

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

3341:                                             ; preds = %3337, %3331
  br label %3342

3342:                                             ; preds = %3337, %3341
  %.str.5.sink1952 = phi ptr [ @.str.5, %3341 ], [ @.str.1, %3337 ]
  store i32 %3332, ptr %1981, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = load i32, ptr %338, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror(i32 noundef %3345, ptr noundef nonnull @.str.4) #12
  %3347 = load i32, ptr %338, align 4, !tbaa !5
  %3348 = call ptr @s2n_strerror_debug(i32 noundef %3347, ptr noundef nonnull @.str.4) #12
  %3349 = load i32, ptr %1981, align 4, !tbaa !5
  %3350 = call ptr @strerror(i32 noundef %3349) #12
  %3351 = load i32, ptr %1981, align 4, !tbaa !5
  %3352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3343, ptr noundef nonnull %.str.5.sink1952, i32 noundef %3344, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.3, i32 noundef 310, ptr noundef %3346, ptr noundef %3348, ptr noundef %3350, i32 noundef %3351) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3353:                                             ; preds = %3329
  %3354 = load i32, ptr @test_count, align 4, !tbaa !5
  %3355 = add nsw i32 %3354, 1
  store i32 %3355, ptr @test_count, align 4, !tbaa !5
  %3356 = load i32, ptr %338, align 4, !tbaa !5
  %3357 = icmp eq i32 %3356, 335544390
  br i1 %3357, label %3380, label %3358

3358:                                             ; preds = %3353
  %3359 = load i32, ptr %1981, align 4, !tbaa !5
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = call i32 @s2n_print_stacktrace(ptr noundef %3360) #12
  %3362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3363 = trunc nuw i8 %3362 to i1
  br i1 %3363, label %3364, label %3368

3364:                                             ; preds = %3358
  %3365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3366 = call i32 @fileno(ptr noundef %3365) #12
  %3367 = call i32 @isatty(i32 noundef %3366) #12
  %.not676 = icmp eq i32 %3367, 0
  br i1 %.not676, label %3368, label %3369

3368:                                             ; preds = %3364, %3358
  br label %3369

3369:                                             ; preds = %3364, %3368
  %.str.5.sink1961 = phi ptr [ @.str.5, %3368 ], [ @.str.1, %3364 ]
  store i32 %3359, ptr %1981, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = load i32, ptr %338, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror(i32 noundef %3372, ptr noundef nonnull @.str.4) #12
  %3374 = load i32, ptr %338, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror_debug(i32 noundef %3374, ptr noundef nonnull @.str.4) #12
  %3376 = load i32, ptr %1981, align 4, !tbaa !5
  %3377 = call ptr @strerror(i32 noundef %3376) #12
  %3378 = load i32, ptr %1981, align 4, !tbaa !5
  %3379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3370, ptr noundef nonnull %.str.5.sink1961, i32 noundef %3371, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.3, i32 noundef 310, ptr noundef %3373, ptr noundef %3375, ptr noundef %3377, i32 noundef %3378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3380:                                             ; preds = %3353
  %3381 = add nsw i32 %3354, 2
  store i32 %3381, ptr @test_count, align 4, !tbaa !5
  %3382 = call ptr @s2n_strerror_debug(i32 noundef 335544390, ptr noundef nonnull @.str.4) #12
  %3383 = icmp eq ptr %3382, null
  br i1 %3383, label %3384, label %3406

3384:                                             ; preds = %3380
  %3385 = load i32, ptr %1981, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @s2n_print_stacktrace(ptr noundef %3386) #12
  %3388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3389 = trunc nuw i8 %3388 to i1
  br i1 %3389, label %3390, label %3394

3390:                                             ; preds = %3384
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = call i32 @fileno(ptr noundef %3391) #12
  %3393 = call i32 @isatty(i32 noundef %3392) #12
  %.not677 = icmp eq i32 %3393, 0
  br i1 %.not677, label %3394, label %3395

3394:                                             ; preds = %3390, %3384
  br label %3395

3395:                                             ; preds = %3390, %3394
  %.str.5.sink1970 = phi ptr [ @.str.5, %3394 ], [ @.str.1, %3390 ]
  store i32 %3385, ptr %1981, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = load i32, ptr %338, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror(i32 noundef %3398, ptr noundef nonnull @.str.4) #12
  %3400 = load i32, ptr %338, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror_debug(i32 noundef %3400, ptr noundef nonnull @.str.4) #12
  %3402 = load i32, ptr %1981, align 4, !tbaa !5
  %3403 = call ptr @strerror(i32 noundef %3402) #12
  %3404 = load i32, ptr %1981, align 4, !tbaa !5
  %3405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef nonnull %.str.5.sink1970, i32 noundef %3397, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 310, ptr noundef %3399, ptr noundef %3401, ptr noundef %3403, i32 noundef %3404) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3406:                                             ; preds = %3380
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  br label %3407

3407:                                             ; preds = %3305, %3406
  %.0625 = phi i32 [ 8087, %3406 ], [ %.0624863, %3305 ]
  %3408 = trunc nuw i32 %.0625 to i16
  %3409 = add nuw nsw i16 %3408, 37
  %3410 = and i16 %3409, 15
  %.not679 = icmp eq i16 %3410, 0
  %reass.sub = and i16 %3409, 16368
  %3411 = add nuw nsw i16 %reass.sub, 16
  %.0626 = select i1 %.not679, i16 %3409, i16 %3411
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = add nsw i32 %3412, 1
  store i32 %3413, ptr @test_count, align 4, !tbaa !5
  %3414 = load ptr, ptr %337, align 8, !tbaa !54
  %3415 = load i8, ptr %3414, align 1, !tbaa !55
  %3416 = icmp eq i8 %3415, 23
  br i1 %3416, label %3439, label %3417

3417:                                             ; preds = %3407
  %3418 = load i32, ptr %1981, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @s2n_print_stacktrace(ptr noundef %3419) #12
  %3421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3422 = trunc nuw i8 %3421 to i1
  br i1 %3422, label %3423, label %3427

3423:                                             ; preds = %3417
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = call i32 @fileno(ptr noundef %3424) #12
  %3426 = call i32 @isatty(i32 noundef %3425) #12
  %.not680 = icmp eq i32 %3426, 0
  br i1 %.not680, label %3427, label %3428

3427:                                             ; preds = %3423, %3417
  br label %3428

3428:                                             ; preds = %3423, %3427
  %.str.5.sink1979 = phi ptr [ @.str.5, %3427 ], [ @.str.1, %3423 ]
  store i32 %3418, ptr %1981, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = load i32, ptr %338, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror(i32 noundef %3431, ptr noundef nonnull @.str.4) #12
  %3433 = load i32, ptr %338, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror_debug(i32 noundef %3433, ptr noundef nonnull @.str.4) #12
  %3435 = load i32, ptr %1981, align 4, !tbaa !5
  %3436 = call ptr @strerror(i32 noundef %3435) #12
  %3437 = load i32, ptr %1981, align 4, !tbaa !5
  %3438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef nonnull %.str.5.sink1979, i32 noundef %3430, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.3, i32 noundef 318, ptr noundef %3432, ptr noundef %3434, ptr noundef %3436, i32 noundef %3437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3439:                                             ; preds = %3407
  %3440 = add nsw i32 %3412, 2
  store i32 %3440, ptr @test_count, align 4, !tbaa !5
  %3441 = getelementptr inbounds i8, ptr %3414, i64 1
  %3442 = load i8, ptr %3441, align 1, !tbaa !55
  %3443 = icmp eq i8 %3442, 3
  br i1 %3443, label %3466, label %3444

3444:                                             ; preds = %3439
  %3445 = load i32, ptr %1981, align 4, !tbaa !5
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @s2n_print_stacktrace(ptr noundef %3446) #12
  %3448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3449 = trunc nuw i8 %3448 to i1
  br i1 %3449, label %3450, label %3454

3450:                                             ; preds = %3444
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = call i32 @fileno(ptr noundef %3451) #12
  %3453 = call i32 @isatty(i32 noundef %3452) #12
  %.not681 = icmp eq i32 %3453, 0
  br i1 %.not681, label %3454, label %3455

3454:                                             ; preds = %3450, %3444
  br label %3455

3455:                                             ; preds = %3450, %3454
  %.str.5.sink1988 = phi ptr [ @.str.5, %3454 ], [ @.str.1, %3450 ]
  store i32 %3445, ptr %1981, align 4, !tbaa !5
  %3456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3457 = load i32, ptr @test_count, align 4, !tbaa !5
  %3458 = load i32, ptr %338, align 4, !tbaa !5
  %3459 = call ptr @s2n_strerror(i32 noundef %3458, ptr noundef nonnull @.str.4) #12
  %3460 = load i32, ptr %338, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror_debug(i32 noundef %3460, ptr noundef nonnull @.str.4) #12
  %3462 = load i32, ptr %1981, align 4, !tbaa !5
  %3463 = call ptr @strerror(i32 noundef %3462) #12
  %3464 = load i32, ptr %1981, align 4, !tbaa !5
  %3465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3456, ptr noundef nonnull %.str.5.sink1988, i32 noundef %3457, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 319, ptr noundef %3459, ptr noundef %3461, ptr noundef %3463, i32 noundef %3464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3466:                                             ; preds = %3439
  %3467 = add nsw i32 %3412, 3
  store i32 %3467, ptr @test_count, align 4, !tbaa !5
  %3468 = getelementptr inbounds i8, ptr %3414, i64 2
  %3469 = load i8, ptr %3468, align 1, !tbaa !55
  %3470 = icmp eq i8 %3469, 2
  br i1 %3470, label %3493, label %3471

3471:                                             ; preds = %3466
  %3472 = load i32, ptr %1981, align 4, !tbaa !5
  %3473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3474 = call i32 @s2n_print_stacktrace(ptr noundef %3473) #12
  %3475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3476 = trunc nuw i8 %3475 to i1
  br i1 %3476, label %3477, label %3481

3477:                                             ; preds = %3471
  %3478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3479 = call i32 @fileno(ptr noundef %3478) #12
  %3480 = call i32 @isatty(i32 noundef %3479) #12
  %.not682 = icmp eq i32 %3480, 0
  br i1 %.not682, label %3481, label %3482

3481:                                             ; preds = %3477, %3471
  br label %3482

3482:                                             ; preds = %3477, %3481
  %.str.5.sink1997 = phi ptr [ @.str.5, %3481 ], [ @.str.1, %3477 ]
  store i32 %3472, ptr %1981, align 4, !tbaa !5
  %3483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3484 = load i32, ptr @test_count, align 4, !tbaa !5
  %3485 = load i32, ptr %338, align 4, !tbaa !5
  %3486 = call ptr @s2n_strerror(i32 noundef %3485, ptr noundef nonnull @.str.4) #12
  %3487 = load i32, ptr %338, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror_debug(i32 noundef %3487, ptr noundef nonnull @.str.4) #12
  %3489 = load i32, ptr %1981, align 4, !tbaa !5
  %3490 = call ptr @strerror(i32 noundef %3489) #12
  %3491 = load i32, ptr %1981, align 4, !tbaa !5
  %3492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3483, ptr noundef nonnull %.str.5.sink1997, i32 noundef %3484, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.3, i32 noundef 320, ptr noundef %3486, ptr noundef %3488, ptr noundef %3490, i32 noundef %3491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3493:                                             ; preds = %3466
  %3494 = add nsw i32 %3412, 4
  store i32 %3494, ptr @test_count, align 4, !tbaa !5
  %3495 = getelementptr inbounds i8, ptr %3414, i64 3
  %3496 = load i8, ptr %3495, align 1, !tbaa !55
  %3497 = lshr i16 %.0626, 8
  %3498 = zext i8 %3496 to i16
  %3499 = icmp eq i16 %3497, %3498
  br i1 %3499, label %3522, label %3500

3500:                                             ; preds = %3493
  %3501 = load i32, ptr %1981, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @s2n_print_stacktrace(ptr noundef %3502) #12
  %3504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc nuw i8 %3504 to i1
  br i1 %3505, label %3506, label %3510

3506:                                             ; preds = %3500
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = call i32 @fileno(ptr noundef %3507) #12
  %3509 = call i32 @isatty(i32 noundef %3508) #12
  %.not683 = icmp eq i32 %3509, 0
  br i1 %.not683, label %3510, label %3511

3510:                                             ; preds = %3506, %3500
  br label %3511

3511:                                             ; preds = %3506, %3510
  %.str.5.sink2006 = phi ptr [ @.str.5, %3510 ], [ @.str.1, %3506 ]
  store i32 %3501, ptr %1981, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = load i32, ptr %338, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror(i32 noundef %3514, ptr noundef nonnull @.str.4) #12
  %3516 = load i32, ptr %338, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror_debug(i32 noundef %3516, ptr noundef nonnull @.str.4) #12
  %3518 = load i32, ptr %1981, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #12
  %3520 = load i32, ptr %1981, align 4, !tbaa !5
  %3521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3512, ptr noundef nonnull %.str.5.sink2006, i32 noundef %3513, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.3, i32 noundef 321, ptr noundef %3515, ptr noundef %3517, ptr noundef %3519, i32 noundef %3520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3522:                                             ; preds = %3493
  %3523 = add nsw i32 %3412, 5
  store i32 %3523, ptr @test_count, align 4, !tbaa !5
  %3524 = getelementptr inbounds i8, ptr %3414, i64 4
  %3525 = load i8, ptr %3524, align 1, !tbaa !55
  %3526 = trunc i16 %.0626 to i8
  %3527 = icmp eq i8 %3525, %3526
  br i1 %3527, label %3550, label %3528

3528:                                             ; preds = %3522
  %3529 = load i32, ptr %1981, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = call i32 @s2n_print_stacktrace(ptr noundef %3530) #12
  %3532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3533 = trunc nuw i8 %3532 to i1
  br i1 %3533, label %3534, label %3538

3534:                                             ; preds = %3528
  %3535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3536 = call i32 @fileno(ptr noundef %3535) #12
  %3537 = call i32 @isatty(i32 noundef %3536) #12
  %.not684 = icmp eq i32 %3537, 0
  br i1 %.not684, label %3538, label %3539

3538:                                             ; preds = %3534, %3528
  br label %3539

3539:                                             ; preds = %3534, %3538
  %.str.5.sink2015 = phi ptr [ @.str.5, %3538 ], [ @.str.1, %3534 ]
  store i32 %3529, ptr %1981, align 4, !tbaa !5
  %3540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = load i32, ptr %338, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef nonnull @.str.4) #12
  %3544 = load i32, ptr %338, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef nonnull @.str.4) #12
  %3546 = load i32, ptr %1981, align 4, !tbaa !5
  %3547 = call ptr @strerror(i32 noundef %3546) #12
  %3548 = load i32, ptr %1981, align 4, !tbaa !5
  %3549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3540, ptr noundef nonnull %.str.5.sink2015, i32 noundef %3541, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.3, i32 noundef 322, ptr noundef %3543, ptr noundef %3545, ptr noundef %3547, i32 noundef %3548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3550:                                             ; preds = %3522
  %3551 = add nsw i32 %3412, 6
  store i32 %3551, ptr @test_count, align 4, !tbaa !5
  %3552 = getelementptr inbounds i8, ptr %3414, i64 21
  %3553 = zext nneg i32 %.0625 to i64
  %bcmp = call i32 @bcmp(ptr nonnull %3552, ptr nonnull %6, i64 %3553)
  %3554 = icmp eq i32 %bcmp, 0
  br i1 %3554, label %3577, label %3555

3555:                                             ; preds = %3550
  %3556 = load i32, ptr %1981, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @s2n_print_stacktrace(ptr noundef %3557) #12
  %3559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3560 = trunc nuw i8 %3559 to i1
  br i1 %3560, label %3561, label %3565

3561:                                             ; preds = %3555
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = call i32 @fileno(ptr noundef %3562) #12
  %3564 = call i32 @isatty(i32 noundef %3563) #12
  %.not685 = icmp eq i32 %3564, 0
  br i1 %.not685, label %3565, label %3566

3565:                                             ; preds = %3561, %3555
  br label %3566

3566:                                             ; preds = %3561, %3565
  %.str.5.sink2024 = phi ptr [ @.str.5, %3565 ], [ @.str.1, %3561 ]
  store i32 %3556, ptr %1981, align 4, !tbaa !5
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %3569 = load i32, ptr %338, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror(i32 noundef %3569, ptr noundef nonnull @.str.4) #12
  %3571 = load i32, ptr %338, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror_debug(i32 noundef %3571, ptr noundef nonnull @.str.4) #12
  %3573 = load i32, ptr %1981, align 4, !tbaa !5
  %3574 = call ptr @strerror(i32 noundef %3573) #12
  %3575 = load i32, ptr %1981, align 4, !tbaa !5
  %3576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3567, ptr noundef nonnull %.str.5.sink2024, i32 noundef %3568, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.3, i32 noundef 323, ptr noundef %3570, ptr noundef %3572, ptr noundef %3574, i32 noundef %3575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3577:                                             ; preds = %3550
  %3578 = load i32, ptr %341, align 4, !tbaa !56
  %3579 = add i32 %3578, -1
  %3580 = zext i32 %3579 to i64
  %3581 = getelementptr inbounds i8, ptr %3414, i64 %3580
  %3582 = load i8, ptr %3581, align 1, !tbaa !55
  %3583 = add nsw i32 %3412, 7
  store i32 %3583, ptr @test_count, align 4, !tbaa !5
  %3584 = zext i8 %3582 to i32
  %3585 = add nuw nsw i32 %.0625, 42
  %3586 = add nuw nsw i32 %3585, %3584
  %3587 = load i32, ptr %342, align 8, !tbaa !57
  %3588 = sub i32 %3578, %3587
  %3589 = icmp eq i32 %3586, %3588
  br i1 %3589, label %.preheader, label %3591

.preheader:                                       ; preds = %3577
  %3590 = zext i8 %3582 to i64
  %invariant.gep857 = getelementptr inbounds i8, ptr %3414, i64 %3553
  %invariant.gep859 = getelementptr inbounds i8, ptr %invariant.gep857, i64 41
  br label %3622

3591:                                             ; preds = %3577
  %3592 = load i32, ptr %1981, align 4, !tbaa !5
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = call i32 @s2n_print_stacktrace(ptr noundef %3593) #12
  %3595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3596 = trunc nuw i8 %3595 to i1
  br i1 %3596, label %3597, label %3601

3597:                                             ; preds = %3591
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = call i32 @fileno(ptr noundef %3598) #12
  %3600 = call i32 @isatty(i32 noundef %3599) #12
  %.not686 = icmp eq i32 %3600, 0
  br i1 %.not686, label %3601, label %3602

3601:                                             ; preds = %3597, %3591
  br label %3602

3602:                                             ; preds = %3597, %3601
  %.str.5.sink2033 = phi ptr [ @.str.5, %3601 ], [ @.str.1, %3597 ]
  store i32 %3592, ptr %1981, align 4, !tbaa !5
  %3603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3604 = load i32, ptr @test_count, align 4, !tbaa !5
  %3605 = load i32, ptr %338, align 4, !tbaa !5
  %3606 = call ptr @s2n_strerror(i32 noundef %3605, ptr noundef nonnull @.str.4) #12
  %3607 = load i32, ptr %338, align 4, !tbaa !5
  %3608 = call ptr @s2n_strerror_debug(i32 noundef %3607, ptr noundef nonnull @.str.4) #12
  %3609 = load i32, ptr %1981, align 4, !tbaa !5
  %3610 = call ptr @strerror(i32 noundef %3609) #12
  %3611 = load i32, ptr %1981, align 4, !tbaa !5
  %3612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3603, ptr noundef nonnull %.str.5.sink2033, i32 noundef %3604, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.3, i32 noundef 327, ptr noundef %3606, ptr noundef %3608, ptr noundef %3610, i32 noundef %3611) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3613:                                             ; preds = %3622
  %3614 = add nuw nsw i64 %.0627862, 1
  %exitcond876.not = icmp eq i64 %.0627862, %3590
  br i1 %exitcond876.not, label %3615, label %3622, !llvm.loop !66

3615:                                             ; preds = %3613
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #12
  %3616 = lshr i32 %.0625, 8
  %3617 = trunc nuw i32 %3616 to i8
  store i8 %3617, ptr %25, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #12
  %3618 = trunc i32 %.0625 to i8
  store i8 %3618, ptr %26, align 1, !tbaa !55
  %3619 = add nsw i32 %3623, 2
  store i32 %3619, ptr @test_count, align 4, !tbaa !5
  %3620 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %3414, i32 noundef 3) #12
  %3621 = icmp eq i32 %3620, -1
  br i1 %3621, label %3649, label %3671

3622:                                             ; preds = %.preheader, %3613
  %.0627862 = phi i64 [ 0, %.preheader ], [ %3614, %3613 ]
  %3623 = phi i32 [ %3583, %.preheader ], [ %3624, %3613 ]
  %3624 = add nsw i32 %3623, 1
  store i32 %3624, ptr @test_count, align 4, !tbaa !5
  %gep860 = getelementptr inbounds i8, ptr %invariant.gep859, i64 %.0627862
  %3625 = load i8, ptr %gep860, align 1, !tbaa !55
  %3626 = icmp eq i8 %3625, %3582
  br i1 %3626, label %3613, label %3627

3627:                                             ; preds = %3622
  %3628 = load i32, ptr %1981, align 4, !tbaa !5
  %3629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3630 = call i32 @s2n_print_stacktrace(ptr noundef %3629) #12
  %3631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3632 = trunc nuw i8 %3631 to i1
  br i1 %3632, label %3633, label %3637

3633:                                             ; preds = %3627
  %3634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3635 = call i32 @fileno(ptr noundef %3634) #12
  %3636 = call i32 @isatty(i32 noundef %3635) #12
  %.not702 = icmp eq i32 %3636, 0
  br i1 %.not702, label %3637, label %3638

3637:                                             ; preds = %3633, %3627
  br label %3638

3638:                                             ; preds = %3633, %3637
  %.str.5.sink2042 = phi ptr [ @.str.5, %3637 ], [ @.str.1, %3633 ]
  store i32 %3628, ptr %1981, align 4, !tbaa !5
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = load i32, ptr @test_count, align 4, !tbaa !5
  %3641 = load i32, ptr %338, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror(i32 noundef %3641, ptr noundef nonnull @.str.4) #12
  %3643 = load i32, ptr %338, align 4, !tbaa !5
  %3644 = call ptr @s2n_strerror_debug(i32 noundef %3643, ptr noundef nonnull @.str.4) #12
  %3645 = load i32, ptr %1981, align 4, !tbaa !5
  %3646 = call ptr @strerror(i32 noundef %3645) #12
  %3647 = load i32, ptr %1981, align 4, !tbaa !5
  %3648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3639, ptr noundef nonnull %.str.5.sink2042, i32 noundef %3640, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.3, i32 noundef 331, ptr noundef %3642, ptr noundef %3644, ptr noundef %3646, i32 noundef %3647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3649:                                             ; preds = %3615
  %3650 = load i32, ptr %1981, align 4, !tbaa !5
  %3651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3652 = call i32 @s2n_print_stacktrace(ptr noundef %3651) #12
  %3653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3654 = trunc nuw i8 %3653 to i1
  br i1 %3654, label %3655, label %3659

3655:                                             ; preds = %3649
  %3656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3657 = call i32 @fileno(ptr noundef %3656) #12
  %3658 = call i32 @isatty(i32 noundef %3657) #12
  %.not701 = icmp eq i32 %3658, 0
  br i1 %.not701, label %3659, label %3660

3659:                                             ; preds = %3655, %3649
  br label %3660

3660:                                             ; preds = %3655, %3659
  %.str.5.sink2051 = phi ptr [ @.str.5, %3659 ], [ @.str.1, %3655 ]
  store i32 %3650, ptr %1981, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = load i32, ptr @test_count, align 4, !tbaa !5
  %3663 = load i32, ptr %338, align 4, !tbaa !5
  %3664 = call ptr @s2n_strerror(i32 noundef %3663, ptr noundef nonnull @.str.4) #12
  %3665 = load i32, ptr %338, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror_debug(i32 noundef %3665, ptr noundef nonnull @.str.4) #12
  %3667 = load i32, ptr %1981, align 4, !tbaa !5
  %3668 = call ptr @strerror(i32 noundef %3667) #12
  %3669 = load i32, ptr %1981, align 4, !tbaa !5
  %3670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3661, ptr noundef nonnull %.str.5.sink2051, i32 noundef %3662, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.3, i32 noundef 336, ptr noundef %3664, ptr noundef %3666, ptr noundef %3668, i32 noundef %3669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3671:                                             ; preds = %3615
  %3672 = load i32, ptr @test_count, align 4, !tbaa !5
  %3673 = add nsw i32 %3672, 1
  store i32 %3673, ptr @test_count, align 4, !tbaa !5
  %3674 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %25, i32 noundef 1) #12
  %3675 = icmp eq i32 %3674, -1
  br i1 %3675, label %3676, label %3698

3676:                                             ; preds = %3671
  %3677 = load i32, ptr %1981, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = call i32 @s2n_print_stacktrace(ptr noundef %3678) #12
  %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) #12
  %3685 = call i32 @isatty(i32 noundef %3684) #12
  %.not700 = icmp eq i32 %3685, 0
  br i1 %.not700, label %3686, label %3687

3686:                                             ; preds = %3682, %3676
  br label %3687

3687:                                             ; preds = %3682, %3686
  %.str.5.sink2060 = phi ptr [ @.str.5, %3686 ], [ @.str.1, %3682 ]
  store i32 %3677, ptr %1981, 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 %338, align 4, !tbaa !5
  %3691 = call ptr @s2n_strerror(i32 noundef %3690, ptr noundef nonnull @.str.4) #12
  %3692 = load i32, ptr %338, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror_debug(i32 noundef %3692, ptr noundef nonnull @.str.4) #12
  %3694 = load i32, ptr %1981, align 4, !tbaa !5
  %3695 = call ptr @strerror(i32 noundef %3694) #12
  %3696 = load i32, ptr %1981, align 4, !tbaa !5
  %3697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3688, ptr noundef nonnull %.str.5.sink2060, i32 noundef %3689, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.3, i32 noundef 337, ptr noundef %3691, ptr noundef %3693, ptr noundef %3695, i32 noundef %3696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3698:                                             ; preds = %3671
  %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 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %26, i32 noundef 1) #12
  %3702 = icmp eq i32 %3701, -1
  br i1 %3702, label %3703, label %3725

3703:                                             ; preds = %3698
  %3704 = load i32, ptr %1981, align 4, !tbaa !5
  %3705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3706 = call i32 @s2n_print_stacktrace(ptr noundef %3705) #12
  %3707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3708 = trunc nuw i8 %3707 to i1
  br i1 %3708, label %3709, label %3713

3709:                                             ; preds = %3703
  %3710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3711 = call i32 @fileno(ptr noundef %3710) #12
  %3712 = call i32 @isatty(i32 noundef %3711) #12
  %.not699 = icmp eq i32 %3712, 0
  br i1 %.not699, label %3713, label %3714

3713:                                             ; preds = %3709, %3703
  br label %3714

3714:                                             ; preds = %3709, %3713
  %.str.5.sink2069 = phi ptr [ @.str.5, %3713 ], [ @.str.1, %3709 ]
  store i32 %3704, ptr %1981, align 4, !tbaa !5
  %3715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3716 = load i32, ptr @test_count, align 4, !tbaa !5
  %3717 = load i32, ptr %338, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror(i32 noundef %3717, ptr noundef nonnull @.str.4) #12
  %3719 = load i32, ptr %338, align 4, !tbaa !5
  %3720 = call ptr @s2n_strerror_debug(i32 noundef %3719, ptr noundef nonnull @.str.4) #12
  %3721 = load i32, ptr %1981, align 4, !tbaa !5
  %3722 = call ptr @strerror(i32 noundef %3721) #12
  %3723 = load i32, ptr %1981, align 4, !tbaa !5
  %3724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3715, ptr noundef nonnull %.str.5.sink2069, i32 noundef %3716, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.3, i32 noundef 338, ptr noundef %3718, ptr noundef %3720, ptr noundef %3722, i32 noundef %3723) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3725:                                             ; preds = %3698
  %3726 = load i32, ptr @test_count, align 4, !tbaa !5
  %3727 = add nsw i32 %3726, 1
  store i32 %3727, ptr @test_count, align 4, !tbaa !5
  %3728 = call i32 @s2n_hmac_update(ptr noundef nonnull %5, ptr noundef nonnull %6, i32 noundef %.0625) #12
  %3729 = icmp eq i32 %3728, -1
  br i1 %3729, label %3730, label %3752

3730:                                             ; preds = %3725
  %3731 = load i32, ptr %1981, align 4, !tbaa !5
  %3732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3733 = call i32 @s2n_print_stacktrace(ptr noundef %3732) #12
  %3734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3735 = trunc nuw i8 %3734 to i1
  br i1 %3735, label %3736, label %3740

3736:                                             ; preds = %3730
  %3737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3738 = call i32 @fileno(ptr noundef %3737) #12
  %3739 = call i32 @isatty(i32 noundef %3738) #12
  %.not698 = icmp eq i32 %3739, 0
  br i1 %.not698, label %3740, label %3741

3740:                                             ; preds = %3736, %3730
  br label %3741

3741:                                             ; preds = %3736, %3740
  %.str.5.sink2078 = phi ptr [ @.str.5, %3740 ], [ @.str.1, %3736 ]
  store i32 %3731, ptr %1981, align 4, !tbaa !5
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = load i32, ptr %338, align 4, !tbaa !5
  %3745 = call ptr @s2n_strerror(i32 noundef %3744, ptr noundef nonnull @.str.4) #12
  %3746 = load i32, ptr %338, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror_debug(i32 noundef %3746, ptr noundef nonnull @.str.4) #12
  %3748 = load i32, ptr %1981, align 4, !tbaa !5
  %3749 = call ptr @strerror(i32 noundef %3748) #12
  %3750 = load i32, ptr %1981, align 4, !tbaa !5
  %3751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3742, ptr noundef nonnull %.str.5.sink2078, i32 noundef %3743, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.3, i32 noundef 339, ptr noundef %3745, ptr noundef %3747, ptr noundef %3749, i32 noundef %3750) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3752:                                             ; preds = %3725
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %27) #12
  %3753 = load i32, ptr @test_count, align 4, !tbaa !5
  %3754 = add nsw i32 %3753, 1
  store i32 %3754, ptr @test_count, align 4, !tbaa !5
  %3755 = call i32 @s2n_hmac_digest(ptr noundef nonnull %5, ptr noundef nonnull %27, i32 noundef 20) #12
  %3756 = icmp eq i32 %3755, -1
  br i1 %3756, label %3757, label %3779

3757:                                             ; preds = %3752
  %3758 = load i32, ptr %1981, align 4, !tbaa !5
  %3759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3760 = call i32 @s2n_print_stacktrace(ptr noundef %3759) #12
  %3761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3762 = trunc nuw i8 %3761 to i1
  br i1 %3762, label %3763, label %3767

3763:                                             ; preds = %3757
  %3764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3765 = call i32 @fileno(ptr noundef %3764) #12
  %3766 = call i32 @isatty(i32 noundef %3765) #12
  %.not697 = icmp eq i32 %3766, 0
  br i1 %.not697, label %3767, label %3768

3767:                                             ; preds = %3763, %3757
  br label %3768

3768:                                             ; preds = %3763, %3767
  %.str.5.sink2087 = phi ptr [ @.str.5, %3767 ], [ @.str.1, %3763 ]
  store i32 %3758, ptr %1981, align 4, !tbaa !5
  %3769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3770 = load i32, ptr @test_count, align 4, !tbaa !5
  %3771 = load i32, ptr %338, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror(i32 noundef %3771, ptr noundef nonnull @.str.4) #12
  %3773 = load i32, ptr %338, align 4, !tbaa !5
  %3774 = call ptr @s2n_strerror_debug(i32 noundef %3773, ptr noundef nonnull @.str.4) #12
  %3775 = load i32, ptr %1981, align 4, !tbaa !5
  %3776 = call ptr @strerror(i32 noundef %3775) #12
  %3777 = load i32, ptr %1981, align 4, !tbaa !5
  %3778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3769, ptr noundef nonnull %.str.5.sink2087, i32 noundef %3770, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.3, i32 noundef 342, ptr noundef %3772, ptr noundef %3774, ptr noundef %3776, i32 noundef %3777) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3779:                                             ; preds = %3752
  %3780 = load i32, ptr @test_count, align 4, !tbaa !5
  %3781 = add nsw i32 %3780, 1
  store i32 %3781, ptr @test_count, align 4, !tbaa !5
  %3782 = load ptr, ptr %337, align 8, !tbaa !54
  %3783 = getelementptr inbounds i8, ptr %3782, i64 21
  %3784 = getelementptr inbounds i8, ptr %3783, i64 %3553
  %3785 = call i32 @s2n_hmac_digest_verify(ptr noundef nonnull %3784, ptr noundef nonnull %27, i32 noundef 20) #12
  %3786 = icmp eq i32 %3785, -1
  br i1 %3786, label %3787, label %3809

3787:                                             ; preds = %3779
  %3788 = load i32, ptr %1981, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @s2n_print_stacktrace(ptr noundef %3789) #12
  %3791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3792 = trunc nuw i8 %3791 to i1
  br i1 %3792, label %3793, label %3797

3793:                                             ; preds = %3787
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @fileno(ptr noundef %3794) #12
  %3796 = call i32 @isatty(i32 noundef %3795) #12
  %.not696 = icmp eq i32 %3796, 0
  br i1 %.not696, label %3797, label %3798

3797:                                             ; preds = %3793, %3787
  br label %3798

3798:                                             ; preds = %3793, %3797
  %.str.5.sink2096 = phi ptr [ @.str.5, %3797 ], [ @.str.1, %3793 ]
  store i32 %3788, ptr %1981, align 4, !tbaa !5
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = load i32, ptr %338, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror(i32 noundef %3801, ptr noundef nonnull @.str.4) #12
  %3803 = load i32, ptr %338, align 4, !tbaa !5
  %3804 = call ptr @s2n_strerror_debug(i32 noundef %3803, ptr noundef nonnull @.str.4) #12
  %3805 = load i32, ptr %1981, align 4, !tbaa !5
  %3806 = call ptr @strerror(i32 noundef %3805) #12
  %3807 = load i32, ptr %1981, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3799, ptr noundef nonnull %.str.5.sink2096, i32 noundef %3800, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.3, i32 noundef 343, ptr noundef %3802, ptr noundef %3804, ptr noundef %3806, i32 noundef %3807) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3809:                                             ; preds = %3779
  %3810 = load i32, ptr @test_count, align 4, !tbaa !5
  %3811 = add nsw i32 %3810, 1
  store i32 %3811, ptr @test_count, align 4, !tbaa !5
  %3812 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %3813 = icmp eq i32 %3812, -1
  br i1 %3813, label %3814, label %3836

3814:                                             ; preds = %3809
  %3815 = load i32, ptr %1981, align 4, !tbaa !5
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = call i32 @s2n_print_stacktrace(ptr noundef %3816) #12
  %3818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3819 = trunc nuw i8 %3818 to i1
  br i1 %3819, label %3820, label %3824

3820:                                             ; preds = %3814
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = call i32 @fileno(ptr noundef %3821) #12
  %3823 = call i32 @isatty(i32 noundef %3822) #12
  %.not695 = icmp eq i32 %3823, 0
  br i1 %.not695, label %3824, label %3825

3824:                                             ; preds = %3820, %3814
  br label %3825

3825:                                             ; preds = %3820, %3824
  %.str.5.sink2105 = phi ptr [ @.str.5, %3824 ], [ @.str.1, %3820 ]
  store i32 %3815, ptr %1981, align 4, !tbaa !5
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = load i32, ptr %338, align 4, !tbaa !5
  %3829 = call ptr @s2n_strerror(i32 noundef %3828, ptr noundef nonnull @.str.4) #12
  %3830 = load i32, ptr %338, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror_debug(i32 noundef %3830, ptr noundef nonnull @.str.4) #12
  %3832 = load i32, ptr %1981, align 4, !tbaa !5
  %3833 = call ptr @strerror(i32 noundef %3832) #12
  %3834 = load i32, ptr %1981, align 4, !tbaa !5
  %3835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3826, ptr noundef nonnull %.str.5.sink2105, i32 noundef %3827, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 344, ptr noundef %3829, ptr noundef %3831, ptr noundef %3833, i32 noundef %3834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3836:                                             ; preds = %3809
  %3837 = load i32, ptr @test_count, align 4, !tbaa !5
  %3838 = add nsw i32 %3837, 1
  store i32 %3838, ptr @test_count, align 4, !tbaa !5
  %3839 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %3840 = icmp eq i32 %3839, -1
  br i1 %3840, label %3841, label %3863

3841:                                             ; preds = %3836
  %3842 = load i32, ptr %1981, align 4, !tbaa !5
  %3843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3844 = call i32 @s2n_print_stacktrace(ptr noundef %3843) #12
  %3845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3846 = trunc nuw i8 %3845 to i1
  br i1 %3846, label %3847, label %3851

3847:                                             ; preds = %3841
  %3848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3849 = call i32 @fileno(ptr noundef %3848) #12
  %3850 = call i32 @isatty(i32 noundef %3849) #12
  %.not694 = icmp eq i32 %3850, 0
  br i1 %.not694, label %3851, label %3852

3851:                                             ; preds = %3847, %3841
  br label %3852

3852:                                             ; preds = %3847, %3851
  %.str.5.sink2114 = phi ptr [ @.str.5, %3851 ], [ @.str.1, %3847 ]
  store i32 %3842, ptr %1981, align 4, !tbaa !5
  %3853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3854 = load i32, ptr @test_count, align 4, !tbaa !5
  %3855 = load i32, ptr %338, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror(i32 noundef %3855, ptr noundef nonnull @.str.4) #12
  %3857 = load i32, ptr %338, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror_debug(i32 noundef %3857, ptr noundef nonnull @.str.4) #12
  %3859 = load i32, ptr %1981, align 4, !tbaa !5
  %3860 = call ptr @strerror(i32 noundef %3859) #12
  %3861 = load i32, ptr %1981, align 4, !tbaa !5
  %3862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3853, ptr noundef nonnull %.str.5.sink2114, i32 noundef %3854, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 345, ptr noundef %3856, ptr noundef %3858, ptr noundef %3860, i32 noundef %3861) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3863:                                             ; preds = %3836
  %3864 = load i32, ptr @test_count, align 4, !tbaa !5
  %3865 = add nsw i32 %3864, 1
  store i32 %3865, ptr @test_count, align 4, !tbaa !5
  %3866 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %3867 = icmp eq i32 %3866, -1
  br i1 %3867, label %3868, label %3890

3868:                                             ; preds = %3863
  %3869 = load i32, ptr %1981, align 4, !tbaa !5
  %3870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3871 = call i32 @s2n_print_stacktrace(ptr noundef %3870) #12
  %3872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3873 = trunc nuw i8 %3872 to i1
  br i1 %3873, label %3874, label %3878

3874:                                             ; preds = %3868
  %3875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3876 = call i32 @fileno(ptr noundef %3875) #12
  %3877 = call i32 @isatty(i32 noundef %3876) #12
  %.not693 = icmp eq i32 %3877, 0
  br i1 %.not693, label %3878, label %3879

3878:                                             ; preds = %3874, %3868
  br label %3879

3879:                                             ; preds = %3874, %3878
  %.str.5.sink2123 = phi ptr [ @.str.5, %3878 ], [ @.str.1, %3874 ]
  store i32 %3869, ptr %1981, align 4, !tbaa !5
  %3880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3881 = load i32, ptr @test_count, align 4, !tbaa !5
  %3882 = load i32, ptr %338, align 4, !tbaa !5
  %3883 = call ptr @s2n_strerror(i32 noundef %3882, ptr noundef nonnull @.str.4) #12
  %3884 = load i32, ptr %338, align 4, !tbaa !5
  %3885 = call ptr @s2n_strerror_debug(i32 noundef %3884, ptr noundef nonnull @.str.4) #12
  %3886 = load i32, ptr %1981, align 4, !tbaa !5
  %3887 = call ptr @strerror(i32 noundef %3886) #12
  %3888 = load i32, ptr %1981, align 4, !tbaa !5
  %3889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3880, ptr noundef nonnull %.str.5.sink2123, i32 noundef %3881, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 346, ptr noundef %3883, ptr noundef %3885, ptr noundef %3887, i32 noundef %3888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3890:                                             ; preds = %3863
  %3891 = load i32, ptr @test_count, align 4, !tbaa !5
  %3892 = add nsw i32 %3891, 1
  store i32 %3892, ptr @test_count, align 4, !tbaa !5
  %3893 = load i32, ptr %341, align 4, !tbaa !56
  %3894 = load i32, ptr %342, align 8, !tbaa !57
  %3895 = sub i32 %3893, %3894
  %3896 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %3895) #12
  %3897 = icmp eq i32 %3896, -1
  br i1 %3897, label %3898, label %3920

3898:                                             ; preds = %3890
  %3899 = load i32, ptr %1981, align 4, !tbaa !5
  %3900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3901 = call i32 @s2n_print_stacktrace(ptr noundef %3900) #12
  %3902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3903 = trunc nuw i8 %3902 to i1
  br i1 %3903, label %3904, label %3908

3904:                                             ; preds = %3898
  %3905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3906 = call i32 @fileno(ptr noundef %3905) #12
  %3907 = call i32 @isatty(i32 noundef %3906) #12
  %.not692 = icmp eq i32 %3907, 0
  br i1 %.not692, label %3908, label %3909

3908:                                             ; preds = %3904, %3898
  br label %3909

3909:                                             ; preds = %3904, %3908
  %.str.5.sink2132 = phi ptr [ @.str.5, %3908 ], [ @.str.1, %3904 ]
  store i32 %3899, ptr %1981, align 4, !tbaa !5
  %3910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3911 = load i32, ptr @test_count, align 4, !tbaa !5
  %3912 = load i32, ptr %338, align 4, !tbaa !5
  %3913 = call ptr @s2n_strerror(i32 noundef %3912, ptr noundef nonnull @.str.4) #12
  %3914 = load i32, ptr %338, align 4, !tbaa !5
  %3915 = call ptr @s2n_strerror_debug(i32 noundef %3914, ptr noundef nonnull @.str.4) #12
  %3916 = load i32, ptr %1981, align 4, !tbaa !5
  %3917 = call ptr @strerror(i32 noundef %3916) #12
  %3918 = load i32, ptr %1981, align 4, !tbaa !5
  %3919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3910, ptr noundef nonnull %.str.5.sink2132, i32 noundef %3911, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 347, ptr noundef %3913, ptr noundef %3915, ptr noundef %3917, i32 noundef %3918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3920:                                             ; preds = %3890
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %28) #12
  store i8 0, ptr %28, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %29) #12
  store i16 0, ptr %29, align 2, !tbaa !58
  %3921 = load i32, ptr @test_count, align 4, !tbaa !5
  %3922 = add nsw i32 %3921, 1
  store i32 %3922, ptr @test_count, align 4, !tbaa !5
  %3923 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %28, ptr noundef nonnull %29) #12
  %3924 = icmp eq i32 %3923, -1
  br i1 %3924, label %3925, label %3947

3925:                                             ; preds = %3920
  %3926 = load i32, ptr %1981, align 4, !tbaa !5
  %3927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3928 = call i32 @s2n_print_stacktrace(ptr noundef %3927) #12
  %3929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3930 = trunc nuw i8 %3929 to i1
  br i1 %3930, label %3931, label %3935

3931:                                             ; preds = %3925
  %3932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3933 = call i32 @fileno(ptr noundef %3932) #12
  %3934 = call i32 @isatty(i32 noundef %3933) #12
  %.not691 = icmp eq i32 %3934, 0
  br i1 %.not691, label %3935, label %3936

3935:                                             ; preds = %3931, %3925
  br label %3936

3936:                                             ; preds = %3931, %3935
  %.str.5.sink2141 = phi ptr [ @.str.5, %3935 ], [ @.str.1, %3931 ]
  store i32 %3926, ptr %1981, align 4, !tbaa !5
  %3937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3938 = load i32, ptr @test_count, align 4, !tbaa !5
  %3939 = load i32, ptr %338, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror(i32 noundef %3939, ptr noundef nonnull @.str.4) #12
  %3941 = load i32, ptr %338, align 4, !tbaa !5
  %3942 = call ptr @s2n_strerror_debug(i32 noundef %3941, ptr noundef nonnull @.str.4) #12
  %3943 = load i32, ptr %1981, align 4, !tbaa !5
  %3944 = call ptr @strerror(i32 noundef %3943) #12
  %3945 = load i32, ptr %1981, align 4, !tbaa !5
  %3946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3937, ptr noundef nonnull %.str.5.sink2141, i32 noundef %3938, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 351, ptr noundef %3940, ptr noundef %3942, ptr noundef %3944, i32 noundef %3945) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3947:                                             ; preds = %3920
  %3948 = load i32, ptr @test_count, align 4, !tbaa !5
  %3949 = add nsw i32 %3948, 1
  store i32 %3949, ptr @test_count, align 4, !tbaa !5
  %3950 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %3951 = icmp eq i32 %3950, -1
  br i1 %3951, label %3952, label %3974

3952:                                             ; preds = %3947
  %3953 = load i32, ptr %1981, align 4, !tbaa !5
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = call i32 @s2n_print_stacktrace(ptr noundef %3954) #12
  %3956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3957 = trunc nuw i8 %3956 to i1
  br i1 %3957, label %3958, label %3962

3958:                                             ; preds = %3952
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = call i32 @fileno(ptr noundef %3959) #12
  %3961 = call i32 @isatty(i32 noundef %3960) #12
  %.not690 = icmp eq i32 %3961, 0
  br i1 %.not690, label %3962, label %3963

3962:                                             ; preds = %3958, %3952
  br label %3963

3963:                                             ; preds = %3958, %3962
  %.str.5.sink2150 = phi ptr [ @.str.5, %3962 ], [ @.str.1, %3958 ]
  store i32 %3953, ptr %1981, align 4, !tbaa !5
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = load i32, ptr @test_count, align 4, !tbaa !5
  %3966 = load i32, ptr %338, align 4, !tbaa !5
  %3967 = call ptr @s2n_strerror(i32 noundef %3966, ptr noundef nonnull @.str.4) #12
  %3968 = load i32, ptr %338, align 4, !tbaa !5
  %3969 = call ptr @s2n_strerror_debug(i32 noundef %3968, ptr noundef nonnull @.str.4) #12
  %3970 = load i32, ptr %1981, align 4, !tbaa !5
  %3971 = call ptr @strerror(i32 noundef %3970) #12
  %3972 = load i32, ptr %1981, align 4, !tbaa !5
  %3973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3964, ptr noundef nonnull %.str.5.sink2150, i32 noundef %3965, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.3, i32 noundef 352, ptr noundef %3967, ptr noundef %3969, ptr noundef %3971, i32 noundef %3972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3974:                                             ; preds = %3947
  %3975 = load i32, ptr @test_count, align 4, !tbaa !5
  %3976 = add nsw i32 %3975, 1
  store i32 %3976, ptr @test_count, align 4, !tbaa !5
  %3977 = load i8, ptr %28, align 1, !tbaa !55
  %3978 = icmp eq i8 %3977, 23
  br i1 %3978, label %4001, label %3979

3979:                                             ; preds = %3974
  %3980 = load i32, ptr %1981, align 4, !tbaa !5
  %3981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3982 = call i32 @s2n_print_stacktrace(ptr noundef %3981) #12
  %3983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3984 = trunc nuw i8 %3983 to i1
  br i1 %3984, label %3985, label %3989

3985:                                             ; preds = %3979
  %3986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3987 = call i32 @fileno(ptr noundef %3986) #12
  %3988 = call i32 @isatty(i32 noundef %3987) #12
  %.not688 = icmp eq i32 %3988, 0
  br i1 %.not688, label %3989, label %3990

3989:                                             ; preds = %3985, %3979
  br label %3990

3990:                                             ; preds = %3985, %3989
  %.str.5.sink2159 = phi ptr [ @.str.5, %3989 ], [ @.str.1, %3985 ]
  store i32 %3980, ptr %1981, align 4, !tbaa !5
  %3991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3992 = load i32, ptr @test_count, align 4, !tbaa !5
  %3993 = load i32, ptr %338, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror(i32 noundef %3993, ptr noundef nonnull @.str.4) #12
  %3995 = load i32, ptr %338, align 4, !tbaa !5
  %3996 = call ptr @s2n_strerror_debug(i32 noundef %3995, ptr noundef nonnull @.str.4) #12
  %3997 = load i32, ptr %1981, align 4, !tbaa !5
  %3998 = call ptr @strerror(i32 noundef %3997) #12
  %3999 = load i32, ptr %1981, align 4, !tbaa !5
  %4000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3991, ptr noundef nonnull %.str.5.sink2159, i32 noundef %3992, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.3, i32 noundef 353, ptr noundef %3994, ptr noundef %3996, ptr noundef %3998, i32 noundef %3999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4001:                                             ; preds = %3974
  %4002 = add nsw i32 %3975, 2
  store i32 %4002, ptr @test_count, align 4, !tbaa !5
  %4003 = load i16, ptr %29, align 2, !tbaa !58
  %4004 = icmp eq i16 %4003, %.0626
  br i1 %4004, label %4027, label %4005

4005:                                             ; preds = %4001
  %4006 = load i32, ptr %1981, align 4, !tbaa !5
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = call i32 @s2n_print_stacktrace(ptr noundef %4007) #12
  %4009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4010 = trunc nuw i8 %4009 to i1
  br i1 %4010, label %4011, label %4015

4011:                                             ; preds = %4005
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = call i32 @fileno(ptr noundef %4012) #12
  %4014 = call i32 @isatty(i32 noundef %4013) #12
  %.not689 = icmp eq i32 %4014, 0
  br i1 %.not689, label %4015, label %4016

4015:                                             ; preds = %4011, %4005
  br label %4016

4016:                                             ; preds = %4011, %4015
  %.str.5.sink2168 = phi ptr [ @.str.5, %4015 ], [ @.str.1, %4011 ]
  store i32 %4006, ptr %1981, align 4, !tbaa !5
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = load i32, ptr @test_count, align 4, !tbaa !5
  %4019 = load i32, ptr %338, align 4, !tbaa !5
  %4020 = call ptr @s2n_strerror(i32 noundef %4019, ptr noundef nonnull @.str.4) #12
  %4021 = load i32, ptr %338, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror_debug(i32 noundef %4021, ptr noundef nonnull @.str.4) #12
  %4023 = load i32, ptr %1981, align 4, !tbaa !5
  %4024 = call ptr @strerror(i32 noundef %4023) #12
  %4025 = load i32, ptr %1981, align 4, !tbaa !5
  %4026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4017, ptr noundef nonnull %.str.5.sink2168, i32 noundef %4018, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.3, i32 noundef 354, ptr noundef %4020, ptr noundef %4022, ptr noundef %4024, i32 noundef %4025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4027:                                             ; preds = %4001
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %24) #12
  %4028 = add nuw nsw i32 %.0624863, 1
  %exitcond877.not = icmp eq i32 %4028, 8089
  br i1 %exitcond877.not, label %3187, label %3191, !llvm.loop !67

4029:                                             ; preds = %3187
  %4030 = load i32, ptr %1981, align 4, !tbaa !5
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @s2n_print_stacktrace(ptr noundef %4031) #12
  %4033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4034 = trunc nuw i8 %4033 to i1
  br i1 %4034, label %4035, label %4039

4035:                                             ; preds = %4029
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @fileno(ptr noundef %4036) #12
  %4038 = call i32 @isatty(i32 noundef %4037) #12
  %.not673 = icmp eq i32 %4038, 0
  br i1 %.not673, label %4039, label %4040

4039:                                             ; preds = %4035, %4029
  br label %4040

4040:                                             ; preds = %4035, %4039
  %.str.5.sink2177 = phi ptr [ @.str.5, %4039 ], [ @.str.1, %4035 ]
  store i32 %4030, ptr %1981, align 4, !tbaa !5
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = load i32, ptr @test_count, align 4, !tbaa !5
  %4043 = load i32, ptr %338, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror(i32 noundef %4043, ptr noundef nonnull @.str.4) #12
  %4045 = load i32, ptr %338, align 4, !tbaa !5
  %4046 = call ptr @s2n_strerror_debug(i32 noundef %4045, ptr noundef nonnull @.str.4) #12
  %4047 = load i32, ptr %1981, align 4, !tbaa !5
  %4048 = call ptr @strerror(i32 noundef %4047) #12
  %4049 = load i32, ptr %1981, align 4, !tbaa !5
  %4050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4041, ptr noundef nonnull %.str.5.sink2177, i32 noundef %4042, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.3, i32 noundef 359, ptr noundef %4044, ptr noundef %4046, ptr noundef %4048, i32 noundef %4049) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4051:                                             ; preds = %3187
  %4052 = load ptr, ptr %332, align 8, !tbaa !18
  store ptr @s2n_null_cipher_suite, ptr %4052, align 8, !tbaa !46
  %.sroa.081.0.copyload = load i64, ptr @__const.main.max_num_records, align 1
  %4053 = getelementptr inbounds i8, ptr %4052, i64 928
  store i64 %.sroa.081.0.copyload, ptr %4053, align 8
  %4054 = load i32, ptr @test_count, align 4, !tbaa !5
  %4055 = add nsw i32 %4054, 1
  store i32 %4055, ptr @test_count, align 4, !tbaa !5
  %4056 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %4057 = icmp eq i32 %4056, -1
  br i1 %4057, label %4058, label %4080

4058:                                             ; preds = %4051
  %4059 = load i32, ptr %1981, align 4, !tbaa !5
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = call i32 @s2n_print_stacktrace(ptr noundef %4060) #12
  %4062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4063 = trunc nuw i8 %4062 to i1
  br i1 %4063, label %4064, label %4068

4064:                                             ; preds = %4058
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = call i32 @fileno(ptr noundef %4065) #12
  %4067 = call i32 @isatty(i32 noundef %4066) #12
  %.not672 = icmp eq i32 %4067, 0
  br i1 %.not672, label %4068, label %4069

4068:                                             ; preds = %4064, %4058
  br label %4069

4069:                                             ; preds = %4064, %4068
  %.str.5.sink2186 = phi ptr [ @.str.5, %4068 ], [ @.str.1, %4064 ]
  store i32 %4059, ptr %1981, align 4, !tbaa !5
  %4070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4071 = load i32, ptr @test_count, align 4, !tbaa !5
  %4072 = load i32, ptr %338, align 4, !tbaa !5
  %4073 = call ptr @s2n_strerror(i32 noundef %4072, ptr noundef nonnull @.str.4) #12
  %4074 = load i32, ptr %338, align 4, !tbaa !5
  %4075 = call ptr @s2n_strerror_debug(i32 noundef %4074, ptr noundef nonnull @.str.4) #12
  %4076 = load i32, ptr %1981, align 4, !tbaa !5
  %4077 = call ptr @strerror(i32 noundef %4076) #12
  %4078 = load i32, ptr %1981, align 4, !tbaa !5
  %4079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4070, ptr noundef nonnull %.str.5.sink2186, i32 noundef %4071, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 365, ptr noundef %4073, ptr noundef %4075, ptr noundef %4077, i32 noundef %4078) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4080:                                             ; preds = %4051
  %4081 = load i32, ptr @test_count, align 4, !tbaa !5
  %4082 = add nsw i32 %4081, 1
  store i32 %4082, ptr @test_count, align 4, !tbaa !5
  %4083 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 21, ptr noundef nonnull %30) #12
  %4084 = call zeroext i1 @s2n_result_is_error(i32 %4083)
  br i1 %4084, label %4107, label %4085

4085:                                             ; preds = %4080
  %4086 = load i32, ptr %1981, align 4, !tbaa !5
  %4087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4088 = call i32 @s2n_print_stacktrace(ptr noundef %4087) #12
  %4089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4090 = trunc nuw i8 %4089 to i1
  br i1 %4090, label %4091, label %4095

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

4095:                                             ; preds = %4091, %4085
  br label %4096

4096:                                             ; preds = %4091, %4095
  %.str.5.sink2195 = phi ptr [ @.str.5, %4095 ], [ @.str.1, %4091 ]
  store i32 %4086, ptr %1981, align 4, !tbaa !5
  %4097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4098 = load i32, ptr @test_count, align 4, !tbaa !5
  %4099 = load i32, ptr %338, align 4, !tbaa !5
  %4100 = call ptr @s2n_strerror(i32 noundef %4099, ptr noundef nonnull @.str.4) #12
  %4101 = load i32, ptr %338, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror_debug(i32 noundef %4101, ptr noundef nonnull @.str.4) #12
  %4103 = load i32, ptr %1981, align 4, !tbaa !5
  %4104 = call ptr @strerror(i32 noundef %4103) #12
  %4105 = load i32, ptr %1981, align 4, !tbaa !5
  %4106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4097, ptr noundef nonnull %.str.5.sink2195, i32 noundef %4098, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.3, i32 noundef 367, ptr noundef %4100, ptr noundef %4102, ptr noundef %4104, i32 noundef %4105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4107:                                             ; preds = %4080
  %4108 = load i32, ptr @test_count, align 4, !tbaa !5
  %4109 = add nsw i32 %4108, 1
  store i32 %4109, ptr @test_count, align 4, !tbaa !5
  %4110 = load i32, ptr %338, align 4, !tbaa !5
  %4111 = icmp eq i32 %4110, 335544365
  br i1 %4111, label %4134, label %4112

4112:                                             ; preds = %4107
  %4113 = load i32, ptr %1981, align 4, !tbaa !5
  %4114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4115 = call i32 @s2n_print_stacktrace(ptr noundef %4114) #12
  %4116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4117 = trunc nuw i8 %4116 to i1
  br i1 %4117, label %4118, label %4122

4118:                                             ; preds = %4112
  %4119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4120 = call i32 @fileno(ptr noundef %4119) #12
  %4121 = call i32 @isatty(i32 noundef %4120) #12
  %.not634 = icmp eq i32 %4121, 0
  br i1 %.not634, label %4122, label %4123

4122:                                             ; preds = %4118, %4112
  br label %4123

4123:                                             ; preds = %4118, %4122
  %.str.5.sink2204 = phi ptr [ @.str.5, %4122 ], [ @.str.1, %4118 ]
  store i32 %4113, ptr %1981, align 4, !tbaa !5
  %4124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4125 = load i32, ptr @test_count, align 4, !tbaa !5
  %4126 = load i32, ptr %338, align 4, !tbaa !5
  %4127 = call ptr @s2n_strerror(i32 noundef %4126, ptr noundef nonnull @.str.4) #12
  %4128 = load i32, ptr %338, align 4, !tbaa !5
  %4129 = call ptr @s2n_strerror_debug(i32 noundef %4128, ptr noundef nonnull @.str.4) #12
  %4130 = load i32, ptr %1981, align 4, !tbaa !5
  %4131 = call ptr @strerror(i32 noundef %4130) #12
  %4132 = load i32, ptr %1981, align 4, !tbaa !5
  %4133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4124, ptr noundef nonnull %.str.5.sink2204, i32 noundef %4125, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.3, i32 noundef 367, ptr noundef %4127, ptr noundef %4129, ptr noundef %4131, i32 noundef %4132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4134:                                             ; preds = %4107
  %4135 = add nsw i32 %4108, 2
  store i32 %4135, ptr @test_count, align 4, !tbaa !5
  %4136 = call ptr @s2n_strerror_debug(i32 noundef 335544365, ptr noundef nonnull @.str.4) #12
  %4137 = icmp eq ptr %4136, null
  br i1 %4137, label %4138, label %4160

4138:                                             ; preds = %4134
  %4139 = load i32, ptr %1981, align 4, !tbaa !5
  %4140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4141 = call i32 @s2n_print_stacktrace(ptr noundef %4140) #12
  %4142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4143 = trunc nuw i8 %4142 to i1
  br i1 %4143, label %4144, label %4148

4144:                                             ; preds = %4138
  %4145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4146 = call i32 @fileno(ptr noundef %4145) #12
  %4147 = call i32 @isatty(i32 noundef %4146) #12
  %.not671 = icmp eq i32 %4147, 0
  br i1 %.not671, label %4148, label %4149

4148:                                             ; preds = %4144, %4138
  br label %4149

4149:                                             ; preds = %4144, %4148
  %.str.5.sink2213 = phi ptr [ @.str.5, %4148 ], [ @.str.1, %4144 ]
  store i32 %4139, ptr %1981, align 4, !tbaa !5
  %4150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4151 = load i32, ptr @test_count, align 4, !tbaa !5
  %4152 = load i32, ptr %338, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror(i32 noundef %4152, ptr noundef nonnull @.str.4) #12
  %4154 = load i32, ptr %338, align 4, !tbaa !5
  %4155 = call ptr @s2n_strerror_debug(i32 noundef %4154, ptr noundef nonnull @.str.4) #12
  %4156 = load i32, ptr %1981, align 4, !tbaa !5
  %4157 = call ptr @strerror(i32 noundef %4156) #12
  %4158 = load i32, ptr %1981, align 4, !tbaa !5
  %4159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4150, ptr noundef nonnull %.str.5.sink2213, i32 noundef %4151, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 367, ptr noundef %4153, ptr noundef %4155, ptr noundef %4157, i32 noundef %4158) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4160:                                             ; preds = %4134
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  %4161 = load i32, ptr @test_count, align 4, !tbaa !5
  %4162 = add nsw i32 %4161, 1
  store i32 %4162, ptr @test_count, align 4, !tbaa !5
  %4163 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %337) #12
  %4164 = icmp eq i32 %4163, -1
  br i1 %4164, label %4165, label %4187

4165:                                             ; preds = %4160
  %4166 = load i32, ptr %1981, align 4, !tbaa !5
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = call i32 @s2n_print_stacktrace(ptr noundef %4167) #12
  %4169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4170 = trunc nuw i8 %4169 to i1
  br i1 %4170, label %4171, label %4175

4171:                                             ; preds = %4165
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = call i32 @fileno(ptr noundef %4172) #12
  %4174 = call i32 @isatty(i32 noundef %4173) #12
  %.not670 = icmp eq i32 %4174, 0
  br i1 %.not670, label %4175, label %4176

4175:                                             ; preds = %4171, %4165
  br label %4176

4176:                                             ; preds = %4171, %4175
  %.str.5.sink2222 = phi ptr [ @.str.5, %4175 ], [ @.str.1, %4171 ]
  store i32 %4166, ptr %1981, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = load i32, ptr %338, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror(i32 noundef %4179, ptr noundef nonnull @.str.4) #12
  %4181 = load i32, ptr %338, align 4, !tbaa !5
  %4182 = call ptr @s2n_strerror_debug(i32 noundef %4181, ptr noundef nonnull @.str.4) #12
  %4183 = load i32, ptr %1981, align 4, !tbaa !5
  %4184 = call ptr @strerror(i32 noundef %4183) #12
  %4185 = load i32, ptr %1981, align 4, !tbaa !5
  %4186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4177, ptr noundef nonnull %.str.5.sink2222, i32 noundef %4178, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.3, i32 noundef 371, ptr noundef %4180, ptr noundef %4182, ptr noundef %4184, i32 noundef %4185) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4187:                                             ; preds = %4160
  store i8 34, ptr %336, align 4, !tbaa !51
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = add nsw i32 %4188, 1
  store i32 %4189, ptr @test_count, align 4, !tbaa !5
  %4190 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 21, ptr noundef nonnull %30) #12
  %4191 = call zeroext i1 @s2n_result_is_ok(i32 %4190)
  br i1 %4191, label %4214, label %4192

4192:                                             ; preds = %4187
  %4193 = load i32, ptr %1981, align 4, !tbaa !5
  %4194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4195 = call i32 @s2n_print_stacktrace(ptr noundef %4194) #12
  %4196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4197 = trunc nuw i8 %4196 to i1
  br i1 %4197, label %4198, label %4202

4198:                                             ; preds = %4192
  %4199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4200 = call i32 @fileno(ptr noundef %4199) #12
  %4201 = call i32 @isatty(i32 noundef %4200) #12
  %.not635 = icmp eq i32 %4201, 0
  br i1 %.not635, label %4202, label %4203

4202:                                             ; preds = %4198, %4192
  br label %4203

4203:                                             ; preds = %4198, %4202
  %.str.5.sink2231 = phi ptr [ @.str.5, %4202 ], [ @.str.1, %4198 ]
  store i32 %4193, ptr %1981, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = load i32, ptr %338, align 4, !tbaa !5
  %4207 = call ptr @s2n_strerror(i32 noundef %4206, ptr noundef nonnull @.str.4) #12
  %4208 = load i32, ptr %338, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror_debug(i32 noundef %4208, ptr noundef nonnull @.str.4) #12
  %4210 = load i32, ptr %1981, align 4, !tbaa !5
  %4211 = call ptr @strerror(i32 noundef %4210) #12
  %4212 = load i32, ptr %1981, align 4, !tbaa !5
  %4213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef nonnull %.str.5.sink2231, i32 noundef %4205, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.3, i32 noundef 374, ptr noundef %4207, ptr noundef %4209, ptr noundef %4211, i32 noundef %4212) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4214:                                             ; preds = %4187
  %4215 = load i32, ptr @test_count, align 4, !tbaa !5
  %4216 = add nsw i32 %4215, 1
  store i32 %4216, ptr @test_count, align 4, !tbaa !5
  %4217 = load ptr, ptr %337, align 8, !tbaa !54
  %4218 = getelementptr inbounds i8, ptr %4217, i64 1
  %4219 = load i8, ptr %4218, align 1, !tbaa !55
  %4220 = icmp eq i8 %4219, 3
  br i1 %4220, label %4243, label %4221

4221:                                             ; preds = %4214
  %4222 = load i32, ptr %1981, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = call i32 @s2n_print_stacktrace(ptr noundef %4223) #12
  %4225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4226 = trunc nuw i8 %4225 to i1
  br i1 %4226, label %4227, label %4231

4227:                                             ; preds = %4221
  %4228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4229 = call i32 @fileno(ptr noundef %4228) #12
  %4230 = call i32 @isatty(i32 noundef %4229) #12
  %.not636 = icmp eq i32 %4230, 0
  br i1 %.not636, label %4231, label %4232

4231:                                             ; preds = %4227, %4221
  br label %4232

4232:                                             ; preds = %4227, %4231
  %.str.5.sink2240 = phi ptr [ @.str.5, %4231 ], [ @.str.1, %4227 ]
  store i32 %4222, ptr %1981, align 4, !tbaa !5
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = load i32, ptr @test_count, align 4, !tbaa !5
  %4235 = load i32, ptr %338, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror(i32 noundef %4235, ptr noundef nonnull @.str.4) #12
  %4237 = load i32, ptr %338, align 4, !tbaa !5
  %4238 = call ptr @s2n_strerror_debug(i32 noundef %4237, ptr noundef nonnull @.str.4) #12
  %4239 = load i32, ptr %1981, align 4, !tbaa !5
  %4240 = call ptr @strerror(i32 noundef %4239) #12
  %4241 = load i32, ptr %1981, align 4, !tbaa !5
  %4242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4233, ptr noundef nonnull %.str.5.sink2240, i32 noundef %4234, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.3, i32 noundef 377, ptr noundef %4236, ptr noundef %4238, ptr noundef %4240, i32 noundef %4241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4243:                                             ; preds = %4214
  %4244 = add nsw i32 %4215, 2
  store i32 %4244, ptr @test_count, align 4, !tbaa !5
  %4245 = getelementptr inbounds i8, ptr %4217, i64 2
  %4246 = load i8, ptr %4245, align 1, !tbaa !55
  %4247 = icmp eq i8 %4246, 3
  br i1 %4247, label %4270, label %4248

4248:                                             ; preds = %4243
  %4249 = load i32, ptr %1981, align 4, !tbaa !5
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @s2n_print_stacktrace(ptr noundef %4250) #12
  %4252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4253 = trunc nuw i8 %4252 to i1
  br i1 %4253, label %4254, label %4258

4254:                                             ; preds = %4248
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = call i32 @fileno(ptr noundef %4255) #12
  %4257 = call i32 @isatty(i32 noundef %4256) #12
  %.not637 = icmp eq i32 %4257, 0
  br i1 %.not637, label %4258, label %4259

4258:                                             ; preds = %4254, %4248
  br label %4259

4259:                                             ; preds = %4254, %4258
  %.str.5.sink2249 = phi ptr [ @.str.5, %4258 ], [ @.str.1, %4254 ]
  store i32 %4249, ptr %1981, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = load i32, ptr %338, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror(i32 noundef %4262, ptr noundef nonnull @.str.4) #12
  %4264 = load i32, ptr %338, align 4, !tbaa !5
  %4265 = call ptr @s2n_strerror_debug(i32 noundef %4264, ptr noundef nonnull @.str.4) #12
  %4266 = load i32, ptr %1981, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #12
  %4268 = load i32, ptr %1981, align 4, !tbaa !5
  %4269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef nonnull %.str.5.sink2249, i32 noundef %4261, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.3, i32 noundef 378, ptr noundef %4263, ptr noundef %4265, ptr noundef %4267, i32 noundef %4268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4270:                                             ; preds = %4243
  %4271 = add nsw i32 %4215, 3
  store i32 %4271, ptr @test_count, align 4, !tbaa !5
  %4272 = call i32 @s2n_stuffer_resize_if_empty(ptr noundef nonnull %339, i32 noundef 16384) #12
  %4273 = icmp eq i32 %4272, -1
  br i1 %4273, label %4274, label %4296

4274:                                             ; preds = %4270
  %4275 = load i32, ptr %1981, align 4, !tbaa !5
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = call i32 @s2n_print_stacktrace(ptr noundef %4276) #12
  %4278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4279 = trunc nuw i8 %4278 to i1
  br i1 %4279, label %4280, label %4284

4280:                                             ; preds = %4274
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = call i32 @fileno(ptr noundef %4281) #12
  %4283 = call i32 @isatty(i32 noundef %4282) #12
  %.not669 = icmp eq i32 %4283, 0
  br i1 %.not669, label %4284, label %4285

4284:                                             ; preds = %4280, %4274
  br label %4285

4285:                                             ; preds = %4280, %4284
  %.str.5.sink2258 = phi ptr [ @.str.5, %4284 ], [ @.str.1, %4280 ]
  store i32 %4275, ptr %1981, align 4, !tbaa !5
  %4286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4287 = load i32, ptr @test_count, align 4, !tbaa !5
  %4288 = load i32, ptr %338, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror(i32 noundef %4288, ptr noundef nonnull @.str.4) #12
  %4290 = load i32, ptr %338, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror_debug(i32 noundef %4290, ptr noundef nonnull @.str.4) #12
  %4292 = load i32, ptr %1981, align 4, !tbaa !5
  %4293 = call ptr @strerror(i32 noundef %4292) #12
  %4294 = load i32, ptr %1981, align 4, !tbaa !5
  %4295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4286, ptr noundef nonnull %.str.5.sink2258, i32 noundef %4287, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.3, i32 noundef 381, ptr noundef %4289, ptr noundef %4291, ptr noundef %4293, i32 noundef %4294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4296:                                             ; preds = %4270
  %4297 = load i32, ptr @test_count, align 4, !tbaa !5
  %4298 = add nsw i32 %4297, 1
  store i32 %4298, ptr @test_count, align 4, !tbaa !5
  %4299 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %339) #12
  %4300 = icmp eq i32 %4299, -1
  br i1 %4300, label %4301, label %4323

4301:                                             ; preds = %4296
  %4302 = load i32, ptr %1981, align 4, !tbaa !5
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = call i32 @s2n_print_stacktrace(ptr noundef %4303) #12
  %4305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4306 = trunc nuw i8 %4305 to i1
  br i1 %4306, label %4307, label %4311

4307:                                             ; preds = %4301
  %4308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4309 = call i32 @fileno(ptr noundef %4308) #12
  %4310 = call i32 @isatty(i32 noundef %4309) #12
  %.not668 = icmp eq i32 %4310, 0
  br i1 %.not668, label %4311, label %4312

4311:                                             ; preds = %4307, %4301
  br label %4312

4312:                                             ; preds = %4307, %4311
  %.str.5.sink2267 = phi ptr [ @.str.5, %4311 ], [ @.str.1, %4307 ]
  store i32 %4302, ptr %1981, align 4, !tbaa !5
  %4313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4314 = load i32, ptr @test_count, align 4, !tbaa !5
  %4315 = load i32, ptr %338, align 4, !tbaa !5
  %4316 = call ptr @s2n_strerror(i32 noundef %4315, ptr noundef nonnull @.str.4) #12
  %4317 = load i32, ptr %338, align 4, !tbaa !5
  %4318 = call ptr @s2n_strerror_debug(i32 noundef %4317, ptr noundef nonnull @.str.4) #12
  %4319 = load i32, ptr %1981, align 4, !tbaa !5
  %4320 = call ptr @strerror(i32 noundef %4319) #12
  %4321 = load i32, ptr %1981, align 4, !tbaa !5
  %4322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4313, ptr noundef nonnull %.str.5.sink2267, i32 noundef %4314, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.3, i32 noundef 382, ptr noundef %4316, ptr noundef %4318, ptr noundef %4320, i32 noundef %4321) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4323:                                             ; preds = %4296
  %4324 = load i32, ptr @test_count, align 4, !tbaa !5
  %4325 = add nsw i32 %4324, 1
  store i32 %4325, ptr @test_count, align 4, !tbaa !5
  %4326 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %340) #12
  %4327 = icmp eq i32 %4326, -1
  br i1 %4327, label %4328, label %4350

4328:                                             ; preds = %4323
  %4329 = load i32, ptr %1981, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @s2n_print_stacktrace(ptr noundef %4330) #12
  %4332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4333 = trunc nuw i8 %4332 to i1
  br i1 %4333, label %4334, label %4338

4334:                                             ; preds = %4328
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = call i32 @fileno(ptr noundef %4335) #12
  %4337 = call i32 @isatty(i32 noundef %4336) #12
  %.not667 = icmp eq i32 %4337, 0
  br i1 %.not667, label %4338, label %4339

4338:                                             ; preds = %4334, %4328
  br label %4339

4339:                                             ; preds = %4334, %4338
  %.str.5.sink2276 = phi ptr [ @.str.5, %4338 ], [ @.str.1, %4334 ]
  store i32 %4329, ptr %1981, align 4, !tbaa !5
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = load i32, ptr @test_count, align 4, !tbaa !5
  %4342 = load i32, ptr %338, align 4, !tbaa !5
  %4343 = call ptr @s2n_strerror(i32 noundef %4342, ptr noundef nonnull @.str.4) #12
  %4344 = load i32, ptr %338, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror_debug(i32 noundef %4344, ptr noundef nonnull @.str.4) #12
  %4346 = load i32, ptr %1981, align 4, !tbaa !5
  %4347 = call ptr @strerror(i32 noundef %4346) #12
  %4348 = load i32, ptr %1981, align 4, !tbaa !5
  %4349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4340, ptr noundef nonnull %.str.5.sink2276, i32 noundef %4341, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.3, i32 noundef 383, ptr noundef %4343, ptr noundef %4345, ptr noundef %4347, i32 noundef %4348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4350:                                             ; preds = %4323
  %4351 = load i32, ptr @test_count, align 4, !tbaa !5
  %4352 = add nsw i32 %4351, 1
  store i32 %4352, ptr @test_count, align 4, !tbaa !5
  %4353 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %340, i32 noundef 5) #12
  %4354 = icmp eq i32 %4353, -1
  br i1 %4354, label %4355, label %4377

4355:                                             ; preds = %4350
  %4356 = load i32, ptr %1981, align 4, !tbaa !5
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = call i32 @s2n_print_stacktrace(ptr noundef %4357) #12
  %4359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4360 = trunc nuw i8 %4359 to i1
  br i1 %4360, label %4361, label %4365

4361:                                             ; preds = %4355
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = call i32 @fileno(ptr noundef %4362) #12
  %4364 = call i32 @isatty(i32 noundef %4363) #12
  %.not666 = icmp eq i32 %4364, 0
  br i1 %.not666, label %4365, label %4366

4365:                                             ; preds = %4361, %4355
  br label %4366

4366:                                             ; preds = %4361, %4365
  %.str.5.sink2285 = phi ptr [ @.str.5, %4365 ], [ @.str.1, %4361 ]
  store i32 %4356, ptr %1981, align 4, !tbaa !5
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = load i32, ptr @test_count, align 4, !tbaa !5
  %4369 = load i32, ptr %338, align 4, !tbaa !5
  %4370 = call ptr @s2n_strerror(i32 noundef %4369, ptr noundef nonnull @.str.4) #12
  %4371 = load i32, ptr %338, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror_debug(i32 noundef %4371, ptr noundef nonnull @.str.4) #12
  %4373 = load i32, ptr %1981, align 4, !tbaa !5
  %4374 = call ptr @strerror(i32 noundef %4373) #12
  %4375 = load i32, ptr %1981, align 4, !tbaa !5
  %4376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4367, ptr noundef nonnull %.str.5.sink2285, i32 noundef %4368, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.3, i32 noundef 384, ptr noundef %4370, ptr noundef %4372, ptr noundef %4374, i32 noundef %4375) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4377:                                             ; preds = %4350
  %4378 = load i32, ptr @test_count, align 4, !tbaa !5
  %4379 = add nsw i32 %4378, 1
  store i32 %4379, ptr @test_count, align 4, !tbaa !5
  %4380 = load i32, ptr %341, align 4, !tbaa !56
  %4381 = load i32, ptr %342, align 8, !tbaa !57
  %4382 = sub i32 %4380, %4381
  %4383 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %337, ptr noundef nonnull %339, i32 noundef %4382) #12
  %4384 = icmp eq i32 %4383, -1
  br i1 %4384, label %4385, label %4407

4385:                                             ; preds = %4377
  %4386 = load i32, ptr %1981, align 4, !tbaa !5
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = call i32 @s2n_print_stacktrace(ptr noundef %4387) #12
  %4389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4390 = trunc nuw i8 %4389 to i1
  br i1 %4390, label %4391, label %4395

4391:                                             ; preds = %4385
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @fileno(ptr noundef %4392) #12
  %4394 = call i32 @isatty(i32 noundef %4393) #12
  %.not665 = icmp eq i32 %4394, 0
  br i1 %.not665, label %4395, label %4396

4395:                                             ; preds = %4391, %4385
  br label %4396

4396:                                             ; preds = %4391, %4395
  %.str.5.sink2294 = phi ptr [ @.str.5, %4395 ], [ @.str.1, %4391 ]
  store i32 %4386, ptr %1981, align 4, !tbaa !5
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = load i32, ptr @test_count, align 4, !tbaa !5
  %4399 = load i32, ptr %338, align 4, !tbaa !5
  %4400 = call ptr @s2n_strerror(i32 noundef %4399, ptr noundef nonnull @.str.4) #12
  %4401 = load i32, ptr %338, align 4, !tbaa !5
  %4402 = call ptr @s2n_strerror_debug(i32 noundef %4401, ptr noundef nonnull @.str.4) #12
  %4403 = load i32, ptr %1981, align 4, !tbaa !5
  %4404 = call ptr @strerror(i32 noundef %4403) #12
  %4405 = load i32, ptr %1981, align 4, !tbaa !5
  %4406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4397, ptr noundef nonnull %.str.5.sink2294, i32 noundef %4398, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.3, i32 noundef 385, ptr noundef %4400, ptr noundef %4402, ptr noundef %4404, i32 noundef %4405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4407:                                             ; preds = %4377
  %4408 = getelementptr inbounds i8, ptr %305, i64 222
  store i8 1, ptr %4408, align 2, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #12
  store i8 0, ptr %31, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %32) #12
  store i16 0, ptr %32, align 2, !tbaa !58
  %4409 = load i32, ptr @test_count, align 4, !tbaa !5
  %4410 = add nsw i32 %4409, 1
  store i32 %4410, ptr @test_count, align 4, !tbaa !5
  %4411 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %4412 = icmp eq i32 %4411, -1
  br i1 %4412, label %4413, label %4435

4413:                                             ; preds = %4407
  %4414 = load i32, ptr %1981, align 4, !tbaa !5
  %4415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4416 = call i32 @s2n_print_stacktrace(ptr noundef %4415) #12
  %4417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4418 = trunc nuw i8 %4417 to i1
  br i1 %4418, label %4419, label %4423

4419:                                             ; preds = %4413
  %4420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4421 = call i32 @fileno(ptr noundef %4420) #12
  %4422 = call i32 @isatty(i32 noundef %4421) #12
  %.not664 = icmp eq i32 %4422, 0
  br i1 %.not664, label %4423, label %4424

4423:                                             ; preds = %4419, %4413
  br label %4424

4424:                                             ; preds = %4419, %4423
  %.str.5.sink2303 = phi ptr [ @.str.5, %4423 ], [ @.str.1, %4419 ]
  store i32 %4414, ptr %1981, align 4, !tbaa !5
  %4425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4426 = load i32, ptr @test_count, align 4, !tbaa !5
  %4427 = load i32, ptr %338, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef nonnull @.str.4) #12
  %4429 = load i32, ptr %338, align 4, !tbaa !5
  %4430 = call ptr @s2n_strerror_debug(i32 noundef %4429, ptr noundef nonnull @.str.4) #12
  %4431 = load i32, ptr %1981, align 4, !tbaa !5
  %4432 = call ptr @strerror(i32 noundef %4431) #12
  %4433 = load i32, ptr %1981, align 4, !tbaa !5
  %4434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4425, ptr noundef nonnull %.str.5.sink2303, i32 noundef %4426, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.3, i32 noundef 391, ptr noundef %4428, ptr noundef %4430, ptr noundef %4432, i32 noundef %4433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4435:                                             ; preds = %4407
  %4436 = load i32, ptr @test_count, align 4, !tbaa !5
  %4437 = add nsw i32 %4436, 1
  store i32 %4437, ptr @test_count, align 4, !tbaa !5
  %4438 = call i32 @s2n_stuffer_reread(ptr noundef nonnull %340) #12
  %4439 = icmp eq i32 %4438, -1
  br i1 %4439, label %4440, label %4462

4440:                                             ; preds = %4435
  %4441 = load i32, ptr %1981, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = call i32 @s2n_print_stacktrace(ptr noundef %4442) #12
  %4444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4445 = trunc nuw i8 %4444 to i1
  br i1 %4445, label %4446, label %4450

4446:                                             ; preds = %4440
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @fileno(ptr noundef %4447) #12
  %4449 = call i32 @isatty(i32 noundef %4448) #12
  %.not663 = icmp eq i32 %4449, 0
  br i1 %.not663, label %4450, label %4451

4450:                                             ; preds = %4446, %4440
  br label %4451

4451:                                             ; preds = %4446, %4450
  %.str.5.sink2312 = phi ptr [ @.str.5, %4450 ], [ @.str.1, %4446 ]
  store i32 %4441, ptr %1981, align 4, !tbaa !5
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = load i32, ptr @test_count, align 4, !tbaa !5
  %4454 = load i32, ptr %338, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror(i32 noundef %4454, ptr noundef nonnull @.str.4) #12
  %4456 = load i32, ptr %338, align 4, !tbaa !5
  %4457 = call ptr @s2n_strerror_debug(i32 noundef %4456, ptr noundef nonnull @.str.4) #12
  %4458 = load i32, ptr %1981, align 4, !tbaa !5
  %4459 = call ptr @strerror(i32 noundef %4458) #12
  %4460 = load i32, ptr %1981, align 4, !tbaa !5
  %4461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4452, ptr noundef nonnull %.str.5.sink2312, i32 noundef %4453, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.3, i32 noundef 394, ptr noundef %4455, ptr noundef %4457, ptr noundef %4459, i32 noundef %4460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4462:                                             ; preds = %4435
  %4463 = load ptr, ptr %340, align 8, !tbaa !69
  %4464 = getelementptr inbounds i8, ptr %4463, i64 1
  store i8 3, ptr %4464, align 1, !tbaa !55
  %4465 = load ptr, ptr %340, align 8, !tbaa !69
  %4466 = getelementptr inbounds i8, ptr %4465, i64 2
  store i8 4, ptr %4466, align 1, !tbaa !55
  %4467 = load i32, ptr @test_count, align 4, !tbaa !5
  %4468 = add nsw i32 %4467, 1
  store i32 %4468, ptr @test_count, align 4, !tbaa !5
  %4469 = call i32 @s2n_record_header_parse(ptr noundef nonnull %305, ptr noundef nonnull %31, ptr noundef nonnull %32) #12
  %4470 = icmp eq i32 %4469, -1
  br i1 %4470, label %4493, label %4471

4471:                                             ; preds = %4462
  %4472 = load i32, ptr %1981, align 4, !tbaa !5
  %4473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4474 = call i32 @s2n_print_stacktrace(ptr noundef %4473) #12
  %4475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4476 = trunc nuw i8 %4475 to i1
  br i1 %4476, label %4477, label %4481

4477:                                             ; preds = %4471
  %4478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4479 = call i32 @fileno(ptr noundef %4478) #12
  %4480 = call i32 @isatty(i32 noundef %4479) #12
  %.not638 = icmp eq i32 %4480, 0
  br i1 %.not638, label %4481, label %4482

4481:                                             ; preds = %4477, %4471
  br label %4482

4482:                                             ; preds = %4477, %4481
  %.str.5.sink2321 = phi ptr [ @.str.5, %4481 ], [ @.str.1, %4477 ]
  store i32 %4472, ptr %1981, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = load i32, ptr @test_count, align 4, !tbaa !5
  %4485 = load i32, ptr %338, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror(i32 noundef %4485, ptr noundef nonnull @.str.4) #12
  %4487 = load i32, ptr %338, align 4, !tbaa !5
  %4488 = call ptr @s2n_strerror_debug(i32 noundef %4487, ptr noundef nonnull @.str.4) #12
  %4489 = load i32, ptr %1981, align 4, !tbaa !5
  %4490 = call ptr @strerror(i32 noundef %4489) #12
  %4491 = load i32, ptr %1981, align 4, !tbaa !5
  %4492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4483, ptr noundef nonnull %.str.5.sink2321, i32 noundef %4484, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.3, i32 noundef 397, ptr noundef %4486, ptr noundef %4488, ptr noundef %4490, i32 noundef %4491) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4493:                                             ; preds = %4462
  %4494 = load i32, ptr @test_count, align 4, !tbaa !5
  %4495 = add nsw i32 %4494, 1
  store i32 %4495, ptr @test_count, align 4, !tbaa !5
  %4496 = load i32, ptr %338, align 4, !tbaa !5
  %4497 = icmp eq i32 %4496, 335544322
  br i1 %4497, label %4520, label %4498

4498:                                             ; preds = %4493
  %4499 = load i32, ptr %1981, align 4, !tbaa !5
  %4500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4501 = call i32 @s2n_print_stacktrace(ptr noundef %4500) #12
  %4502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4503 = trunc nuw i8 %4502 to i1
  br i1 %4503, label %4504, label %4508

4504:                                             ; preds = %4498
  %4505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4506 = call i32 @fileno(ptr noundef %4505) #12
  %4507 = call i32 @isatty(i32 noundef %4506) #12
  %.not639 = icmp eq i32 %4507, 0
  br i1 %.not639, label %4508, label %4509

4508:                                             ; preds = %4504, %4498
  br label %4509

4509:                                             ; preds = %4504, %4508
  %.str.5.sink2330 = phi ptr [ @.str.5, %4508 ], [ @.str.1, %4504 ]
  store i32 %4499, ptr %1981, align 4, !tbaa !5
  %4510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4511 = load i32, ptr @test_count, align 4, !tbaa !5
  %4512 = load i32, ptr %338, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror(i32 noundef %4512, ptr noundef nonnull @.str.4) #12
  %4514 = load i32, ptr %338, align 4, !tbaa !5
  %4515 = call ptr @s2n_strerror_debug(i32 noundef %4514, ptr noundef nonnull @.str.4) #12
  %4516 = load i32, ptr %1981, align 4, !tbaa !5
  %4517 = call ptr @strerror(i32 noundef %4516) #12
  %4518 = load i32, ptr %1981, align 4, !tbaa !5
  %4519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4510, ptr noundef nonnull %.str.5.sink2330, i32 noundef %4511, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.3, i32 noundef 397, ptr noundef %4513, ptr noundef %4515, ptr noundef %4517, i32 noundef %4518) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4520:                                             ; preds = %4493
  %4521 = add nsw i32 %4494, 2
  store i32 %4521, ptr @test_count, align 4, !tbaa !5
  %4522 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %4523 = icmp eq ptr %4522, null
  br i1 %4523, label %4524, label %4546

4524:                                             ; preds = %4520
  %4525 = load i32, ptr %1981, align 4, !tbaa !5
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @s2n_print_stacktrace(ptr noundef %4526) #12
  %4528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4529 = trunc nuw i8 %4528 to i1
  br i1 %4529, label %4530, label %4534

4530:                                             ; preds = %4524
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @fileno(ptr noundef %4531) #12
  %4533 = call i32 @isatty(i32 noundef %4532) #12
  %.not662 = icmp eq i32 %4533, 0
  br i1 %.not662, label %4534, label %4535

4534:                                             ; preds = %4530, %4524
  br label %4535

4535:                                             ; preds = %4530, %4534
  %.str.5.sink2339 = phi ptr [ @.str.5, %4534 ], [ @.str.1, %4530 ]
  store i32 %4525, ptr %1981, align 4, !tbaa !5
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = load i32, ptr %338, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef nonnull @.str.4) #12
  %4540 = load i32, ptr %338, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror_debug(i32 noundef %4540, ptr noundef nonnull @.str.4) #12
  %4542 = load i32, ptr %1981, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #12
  %4544 = load i32, ptr %1981, align 4, !tbaa !5
  %4545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4536, ptr noundef nonnull %.str.5.sink2339, i32 noundef %4537, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 397, ptr noundef %4539, ptr noundef %4541, ptr noundef %4543, i32 noundef %4544) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4546:                                             ; preds = %4520
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #12
  %4547 = load i32, ptr @test_count, align 4, !tbaa !5
  %4548 = add nsw i32 %4547, 1
  store i32 %4548, ptr @test_count, align 4, !tbaa !5
  %4549 = call i32 @s2n_connection_wipe(ptr noundef nonnull %305) #12
  %4550 = icmp eq i32 %4549, -1
  br i1 %4550, label %4551, label %4573

4551:                                             ; preds = %4546
  %4552 = load i32, ptr %1981, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = call i32 @s2n_print_stacktrace(ptr noundef %4553) #12
  %4555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4556 = trunc nuw i8 %4555 to i1
  br i1 %4556, label %4557, label %4561

4557:                                             ; preds = %4551
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = call i32 @fileno(ptr noundef %4558) #12
  %4560 = call i32 @isatty(i32 noundef %4559) #12
  %.not661 = icmp eq i32 %4560, 0
  br i1 %.not661, label %4561, label %4562

4561:                                             ; preds = %4557, %4551
  br label %4562

4562:                                             ; preds = %4557, %4561
  %.str.5.sink2348 = phi ptr [ @.str.5, %4561 ], [ @.str.1, %4557 ]
  store i32 %4552, ptr %1981, align 4, !tbaa !5
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4564 = load i32, ptr @test_count, align 4, !tbaa !5
  %4565 = load i32, ptr %338, align 4, !tbaa !5
  %4566 = call ptr @s2n_strerror(i32 noundef %4565, ptr noundef nonnull @.str.4) #12
  %4567 = load i32, ptr %338, align 4, !tbaa !5
  %4568 = call ptr @s2n_strerror_debug(i32 noundef %4567, ptr noundef nonnull @.str.4) #12
  %4569 = load i32, ptr %1981, align 4, !tbaa !5
  %4570 = call ptr @strerror(i32 noundef %4569) #12
  %4571 = load i32, ptr %1981, align 4, !tbaa !5
  %4572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4563, ptr noundef nonnull %.str.5.sink2348, i32 noundef %4564, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.3, i32 noundef 402, ptr noundef %4566, ptr noundef %4568, ptr noundef %4570, i32 noundef %4571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4573:                                             ; preds = %4546
  store i8 34, ptr %336, align 4, !tbaa !51
  %4574 = load i32, ptr @test_count, align 4, !tbaa !5
  %4575 = add nsw i32 %4574, 1
  store i32 %4575, ptr @test_count, align 4, !tbaa !5
  %4576 = call i32 @s2n_record_write(ptr noundef nonnull %305, i8 noundef zeroext 23, ptr noundef nonnull %30) #12
  %4577 = call zeroext i1 @s2n_result_is_error(i32 %4576)
  br i1 %4577, label %4600, label %4578

4578:                                             ; preds = %4573
  %4579 = load i32, ptr %1981, align 4, !tbaa !5
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = call i32 @s2n_print_stacktrace(ptr noundef %4580) #12
  %4582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4583 = trunc nuw i8 %4582 to i1
  br i1 %4583, label %4584, label %4588

4584:                                             ; preds = %4578
  %4585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4586 = call i32 @fileno(ptr noundef %4585) #12
  %4587 = call i32 @isatty(i32 noundef %4586) #12
  %.not640 = icmp eq i32 %4587, 0
  br i1 %.not640, label %4588, label %4589

4588:                                             ; preds = %4584, %4578
  br label %4589

4589:                                             ; preds = %4584, %4588
  %.str.5.sink2357 = phi ptr [ @.str.5, %4588 ], [ @.str.1, %4584 ]
  store i32 %4579, ptr %1981, align 4, !tbaa !5
  %4590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4591 = load i32, ptr @test_count, align 4, !tbaa !5
  %4592 = load i32, ptr %338, align 4, !tbaa !5
  %4593 = call ptr @s2n_strerror(i32 noundef %4592, ptr noundef nonnull @.str.4) #12
  %4594 = load i32, ptr %338, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror_debug(i32 noundef %4594, ptr noundef nonnull @.str.4) #12
  %4596 = load i32, ptr %1981, align 4, !tbaa !5
  %4597 = call ptr @strerror(i32 noundef %4596) #12
  %4598 = load i32, ptr %1981, align 4, !tbaa !5
  %4599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4590, ptr noundef nonnull %.str.5.sink2357, i32 noundef %4591, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.3, i32 noundef 406, ptr noundef %4593, ptr noundef %4595, ptr noundef %4597, i32 noundef %4598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4600:                                             ; preds = %4573
  %4601 = load i32, ptr @test_count, align 4, !tbaa !5
  %4602 = add nsw i32 %4601, 1
  store i32 %4602, ptr @test_count, align 4, !tbaa !5
  %4603 = load i32, ptr %338, align 4, !tbaa !5
  %4604 = icmp eq i32 %4603, 335544320
  br i1 %4604, label %4627, label %4605

4605:                                             ; preds = %4600
  %4606 = load i32, ptr %1981, align 4, !tbaa !5
  %4607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4608 = call i32 @s2n_print_stacktrace(ptr noundef %4607) #12
  %4609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4610 = trunc nuw i8 %4609 to i1
  br i1 %4610, label %4611, label %4615

4611:                                             ; preds = %4605
  %4612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4613 = call i32 @fileno(ptr noundef %4612) #12
  %4614 = call i32 @isatty(i32 noundef %4613) #12
  %.not641 = icmp eq i32 %4614, 0
  br i1 %.not641, label %4615, label %4616

4615:                                             ; preds = %4611, %4605
  br label %4616

4616:                                             ; preds = %4611, %4615
  %.str.5.sink2366 = phi ptr [ @.str.5, %4615 ], [ @.str.1, %4611 ]
  store i32 %4606, ptr %1981, align 4, !tbaa !5
  %4617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4618 = load i32, ptr @test_count, align 4, !tbaa !5
  %4619 = load i32, ptr %338, align 4, !tbaa !5
  %4620 = call ptr @s2n_strerror(i32 noundef %4619, ptr noundef nonnull @.str.4) #12
  %4621 = load i32, ptr %338, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror_debug(i32 noundef %4621, ptr noundef nonnull @.str.4) #12
  %4623 = load i32, ptr %1981, align 4, !tbaa !5
  %4624 = call ptr @strerror(i32 noundef %4623) #12
  %4625 = load i32, ptr %1981, align 4, !tbaa !5
  %4626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4617, ptr noundef nonnull %.str.5.sink2366, i32 noundef %4618, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.3, i32 noundef 406, ptr noundef %4620, ptr noundef %4622, ptr noundef %4624, i32 noundef %4625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4627:                                             ; preds = %4600
  %4628 = add nsw i32 %4601, 2
  store i32 %4628, ptr @test_count, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror_debug(i32 noundef 335544320, ptr noundef nonnull @.str.4) #12
  %4630 = icmp eq ptr %4629, null
  br i1 %4630, label %4631, label %4653

4631:                                             ; preds = %4627
  %4632 = load i32, ptr %1981, align 4, !tbaa !5
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = call i32 @s2n_print_stacktrace(ptr noundef %4633) #12
  %4635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4636 = trunc nuw i8 %4635 to i1
  br i1 %4636, label %4637, label %4641

4637:                                             ; preds = %4631
  %4638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4639 = call i32 @fileno(ptr noundef %4638) #12
  %4640 = call i32 @isatty(i32 noundef %4639) #12
  %.not660 = icmp eq i32 %4640, 0
  br i1 %.not660, label %4641, label %4642

4641:                                             ; preds = %4637, %4631
  br label %4642

4642:                                             ; preds = %4637, %4641
  %.str.5.sink2375 = phi ptr [ @.str.5, %4641 ], [ @.str.1, %4637 ]
  store i32 %4632, ptr %1981, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = load i32, ptr @test_count, align 4, !tbaa !5
  %4645 = load i32, ptr %338, align 4, !tbaa !5
  %4646 = call ptr @s2n_strerror(i32 noundef %4645, ptr noundef nonnull @.str.4) #12
  %4647 = load i32, ptr %338, align 4, !tbaa !5
  %4648 = call ptr @s2n_strerror_debug(i32 noundef %4647, ptr noundef nonnull @.str.4) #12
  %4649 = load i32, ptr %1981, align 4, !tbaa !5
  %4650 = call ptr @strerror(i32 noundef %4649) #12
  %4651 = load i32, ptr %1981, align 4, !tbaa !5
  %4652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4643, ptr noundef nonnull %.str.5.sink2375, i32 noundef %4644, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 406, ptr noundef %4646, ptr noundef %4648, ptr noundef %4650, i32 noundef %4651) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4653:                                             ; preds = %4627
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %33) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %33, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.header_bytes, i64 5, i1 false)
  %4654 = load i32, ptr @test_count, align 4, !tbaa !5
  %4655 = add nsw i32 %4654, 1
  store i32 %4655, ptr @test_count, align 4, !tbaa !5
  %4656 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %340, ptr noundef nonnull %33, i32 noundef 5) #12
  %4657 = icmp eq i32 %4656, -1
  br i1 %4657, label %4658, label %4680

4658:                                             ; preds = %4653
  %4659 = load i32, ptr %1981, align 4, !tbaa !5
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = call i32 @s2n_print_stacktrace(ptr noundef %4660) #12
  %4662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4663 = trunc nuw i8 %4662 to i1
  br i1 %4663, label %4664, label %4668

4664:                                             ; preds = %4658
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = call i32 @fileno(ptr noundef %4665) #12
  %4667 = call i32 @isatty(i32 noundef %4666) #12
  %.not659 = icmp eq i32 %4667, 0
  br i1 %.not659, label %4668, label %4669

4668:                                             ; preds = %4664, %4658
  br label %4669

4669:                                             ; preds = %4664, %4668
  %.str.5.sink2384 = phi ptr [ @.str.5, %4668 ], [ @.str.1, %4664 ]
  store i32 %4659, ptr %1981, align 4, !tbaa !5
  %4670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4671 = load i32, ptr @test_count, align 4, !tbaa !5
  %4672 = load i32, ptr %338, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror(i32 noundef %4672, ptr noundef nonnull @.str.4) #12
  %4674 = load i32, ptr %338, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror_debug(i32 noundef %4674, ptr noundef nonnull @.str.4) #12
  %4676 = load i32, ptr %1981, align 4, !tbaa !5
  %4677 = call ptr @strerror(i32 noundef %4676) #12
  %4678 = load i32, ptr %1981, align 4, !tbaa !5
  %4679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4670, ptr noundef nonnull %.str.5.sink2384, i32 noundef %4671, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.3, i32 noundef 410, ptr noundef %4673, ptr noundef %4675, ptr noundef %4677, i32 noundef %4678) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4680:                                             ; preds = %4653
  %4681 = load i32, ptr @test_count, align 4, !tbaa !5
  %4682 = add nsw i32 %4681, 1
  store i32 %4682, ptr @test_count, align 4, !tbaa !5
  %4683 = call i32 @s2n_record_parse(ptr noundef nonnull %305) #12
  %4684 = icmp eq i32 %4683, -1
  br i1 %4684, label %4707, label %4685

4685:                                             ; preds = %4680
  %4686 = load i32, ptr %1981, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = call i32 @s2n_print_stacktrace(ptr noundef %4687) #12
  %4689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4690 = trunc nuw i8 %4689 to i1
  br i1 %4690, label %4691, label %4695

4691:                                             ; preds = %4685
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = call i32 @fileno(ptr noundef %4692) #12
  %4694 = call i32 @isatty(i32 noundef %4693) #12
  %.not642 = icmp eq i32 %4694, 0
  br i1 %.not642, label %4695, label %4696

4695:                                             ; preds = %4691, %4685
  br label %4696

4696:                                             ; preds = %4691, %4695
  %.str.5.sink2393 = phi ptr [ @.str.5, %4695 ], [ @.str.1, %4691 ]
  store i32 %4686, ptr %1981, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = load i32, ptr @test_count, align 4, !tbaa !5
  %4699 = load i32, ptr %338, align 4, !tbaa !5
  %4700 = call ptr @s2n_strerror(i32 noundef %4699, ptr noundef nonnull @.str.4) #12
  %4701 = load i32, ptr %338, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror_debug(i32 noundef %4701, ptr noundef nonnull @.str.4) #12
  %4703 = load i32, ptr %1981, align 4, !tbaa !5
  %4704 = call ptr @strerror(i32 noundef %4703) #12
  %4705 = load i32, ptr %1981, align 4, !tbaa !5
  %4706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4697, ptr noundef nonnull %.str.5.sink2393, i32 noundef %4698, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.3, i32 noundef 411, ptr noundef %4700, ptr noundef %4702, ptr noundef %4704, i32 noundef %4705) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4707:                                             ; preds = %4680
  %4708 = load i32, ptr @test_count, align 4, !tbaa !5
  %4709 = add nsw i32 %4708, 1
  store i32 %4709, ptr @test_count, align 4, !tbaa !5
  %4710 = load i32, ptr %338, align 4, !tbaa !5
  %4711 = icmp eq i32 %4710, 335544321
  br i1 %4711, label %4734, label %4712

4712:                                             ; preds = %4707
  %4713 = load i32, ptr %1981, align 4, !tbaa !5
  %4714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4715 = call i32 @s2n_print_stacktrace(ptr noundef %4714) #12
  %4716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4717 = trunc nuw i8 %4716 to i1
  br i1 %4717, label %4718, label %4722

4718:                                             ; preds = %4712
  %4719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4720 = call i32 @fileno(ptr noundef %4719) #12
  %4721 = call i32 @isatty(i32 noundef %4720) #12
  %.not643 = icmp eq i32 %4721, 0
  br i1 %.not643, label %4722, label %4723

4722:                                             ; preds = %4718, %4712
  br label %4723

4723:                                             ; preds = %4718, %4722
  %.str.5.sink2402 = phi ptr [ @.str.5, %4722 ], [ @.str.1, %4718 ]
  store i32 %4713, ptr %1981, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = load i32, ptr %338, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror(i32 noundef %4726, ptr noundef nonnull @.str.4) #12
  %4728 = load i32, ptr %338, align 4, !tbaa !5
  %4729 = call ptr @s2n_strerror_debug(i32 noundef %4728, ptr noundef nonnull @.str.4) #12
  %4730 = load i32, ptr %1981, align 4, !tbaa !5
  %4731 = call ptr @strerror(i32 noundef %4730) #12
  %4732 = load i32, ptr %1981, align 4, !tbaa !5
  %4733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4724, ptr noundef nonnull %.str.5.sink2402, i32 noundef %4725, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.3, i32 noundef 411, ptr noundef %4727, ptr noundef %4729, ptr noundef %4731, i32 noundef %4732) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4734:                                             ; preds = %4707
  %4735 = add nsw i32 %4708, 2
  store i32 %4735, ptr @test_count, align 4, !tbaa !5
  %4736 = call ptr @s2n_strerror_debug(i32 noundef 335544321, ptr noundef nonnull @.str.4) #12
  %4737 = icmp eq ptr %4736, null
  br i1 %4737, label %4738, label %4760

4738:                                             ; preds = %4734
  %4739 = load i32, ptr %1981, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @s2n_print_stacktrace(ptr noundef %4740) #12
  %4742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4743 = trunc nuw i8 %4742 to i1
  br i1 %4743, label %4744, label %4748

4744:                                             ; preds = %4738
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = call i32 @fileno(ptr noundef %4745) #12
  %4747 = call i32 @isatty(i32 noundef %4746) #12
  %.not658 = icmp eq i32 %4747, 0
  br i1 %.not658, label %4748, label %4749

4748:                                             ; preds = %4744, %4738
  br label %4749

4749:                                             ; preds = %4744, %4748
  %.str.5.sink2411 = phi ptr [ @.str.5, %4748 ], [ @.str.1, %4744 ]
  store i32 %4739, ptr %1981, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr %338, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror(i32 noundef %4752, ptr noundef nonnull @.str.4) #12
  %4754 = load i32, ptr %338, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef nonnull @.str.4) #12
  %4756 = load i32, ptr %1981, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #12
  %4758 = load i32, ptr %1981, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef nonnull %.str.5.sink2411, i32 noundef %4751, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.3, i32 noundef 411, ptr noundef %4753, ptr noundef %4755, ptr noundef %4757, i32 noundef %4758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4760:                                             ; preds = %4734
  store i32 0, ptr %338, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1981, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %33) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  %4761 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4761, ptr %34, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #12
  store i8 0, ptr %35, align 1, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %36) #12
  store i16 0, ptr %36, align 2, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %37) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %37, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.header, i64 5, i1 false)
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %38) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %38, ptr noundef nonnull align 1 dereferenceable(5) @__const.main.altered_header, i64 5, i1 false)
  %4762 = load i32, ptr @test_count, align 4, !tbaa !5
  %4763 = add nsw i32 %4762, 1
  store i32 %4763, ptr @test_count, align 4, !tbaa !5
  %4764 = getelementptr inbounds i8, ptr %4761, i64 1776
  %4765 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %4764, ptr noundef nonnull %37, i32 noundef 5) #12
  %4766 = icmp eq i32 %4765, -1
  br i1 %4766, label %4767, label %4789

4767:                                             ; preds = %4760
  %4768 = load i32, ptr %1981, align 4, !tbaa !5
  %4769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4770 = call i32 @s2n_print_stacktrace(ptr noundef %4769) #12
  %4771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4772 = trunc nuw i8 %4771 to i1
  br i1 %4772, label %4773, label %4777

4773:                                             ; preds = %4767
  %4774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4775 = call i32 @fileno(ptr noundef %4774) #12
  %4776 = call i32 @isatty(i32 noundef %4775) #12
  %.not657 = icmp eq i32 %4776, 0
  br i1 %.not657, label %4777, label %4778

4777:                                             ; preds = %4773, %4767
  br label %4778

4778:                                             ; preds = %4773, %4777
  %.str.5.sink2420 = phi ptr [ @.str.5, %4777 ], [ @.str.1, %4773 ]
  store i32 %4768, ptr %1981, align 4, !tbaa !5
  %4779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4780 = load i32, ptr @test_count, align 4, !tbaa !5
  %4781 = load i32, ptr %338, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror(i32 noundef %4781, ptr noundef nonnull @.str.4) #12
  %4783 = load i32, ptr %338, align 4, !tbaa !5
  %4784 = call ptr @s2n_strerror_debug(i32 noundef %4783, ptr noundef nonnull @.str.4) #12
  %4785 = load i32, ptr %1981, align 4, !tbaa !5
  %4786 = call ptr @strerror(i32 noundef %4785) #12
  %4787 = load i32, ptr %1981, align 4, !tbaa !5
  %4788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4779, ptr noundef nonnull %.str.5.sink2420, i32 noundef %4780, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.3, i32 noundef 428, ptr noundef %4782, ptr noundef %4784, ptr noundef %4786, i32 noundef %4787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4789:                                             ; preds = %4760
  %4790 = load i32, ptr @test_count, align 4, !tbaa !5
  %4791 = add nsw i32 %4790, 1
  store i32 %4791, ptr @test_count, align 4, !tbaa !5
  %4792 = load ptr, ptr %34, align 8, !tbaa !9
  %4793 = call i32 @s2n_record_header_parse(ptr noundef %4792, ptr noundef nonnull %35, ptr noundef nonnull %36) #12
  %4794 = icmp eq i32 %4793, -1
  br i1 %4794, label %4795, label %4817

4795:                                             ; preds = %4789
  %4796 = load i32, ptr %1981, align 4, !tbaa !5
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @s2n_print_stacktrace(ptr noundef %4797) #12
  %4799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4800 = trunc nuw i8 %4799 to i1
  br i1 %4800, label %4801, label %4805

4801:                                             ; preds = %4795
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = call i32 @fileno(ptr noundef %4802) #12
  %4804 = call i32 @isatty(i32 noundef %4803) #12
  %.not656 = icmp eq i32 %4804, 0
  br i1 %.not656, label %4805, label %4806

4805:                                             ; preds = %4801, %4795
  br label %4806

4806:                                             ; preds = %4801, %4805
  %.str.5.sink2429 = phi ptr [ @.str.5, %4805 ], [ @.str.1, %4801 ]
  store i32 %4796, ptr %1981, align 4, !tbaa !5
  %4807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4808 = load i32, ptr @test_count, align 4, !tbaa !5
  %4809 = load i32, ptr %338, align 4, !tbaa !5
  %4810 = call ptr @s2n_strerror(i32 noundef %4809, ptr noundef nonnull @.str.4) #12
  %4811 = load i32, ptr %338, align 4, !tbaa !5
  %4812 = call ptr @s2n_strerror_debug(i32 noundef %4811, ptr noundef nonnull @.str.4) #12
  %4813 = load i32, ptr %1981, align 4, !tbaa !5
  %4814 = call ptr @strerror(i32 noundef %4813) #12
  %4815 = load i32, ptr %1981, align 4, !tbaa !5
  %4816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4807, ptr noundef nonnull %.str.5.sink2429, i32 noundef %4808, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.3, i32 noundef 429, ptr noundef %4810, ptr noundef %4812, ptr noundef %4814, i32 noundef %4815) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4817:                                             ; preds = %4789
  %4818 = load i32, ptr @test_count, align 4, !tbaa !5
  %4819 = add nsw i32 %4818, 1
  store i32 %4819, ptr @test_count, align 4, !tbaa !5
  %4820 = load ptr, ptr %34, align 8, !tbaa !9
  %4821 = getelementptr inbounds i8, ptr %4820, i64 3697
  %4822 = load i8, ptr %4821, align 1, !tbaa !70
  %4823 = icmp eq i8 %4822, 31
  br i1 %4823, label %4846, label %4824

4824:                                             ; preds = %4817
  %4825 = load i32, ptr %1981, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = call i32 @s2n_print_stacktrace(ptr noundef %4826) #12
  %4828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4829 = trunc nuw i8 %4828 to i1
  br i1 %4829, label %4830, label %4834

4830:                                             ; preds = %4824
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = call i32 @fileno(ptr noundef %4831) #12
  %4833 = call i32 @isatty(i32 noundef %4832) #12
  %.not644 = icmp eq i32 %4833, 0
  br i1 %.not644, label %4834, label %4835

4834:                                             ; preds = %4830, %4824
  br label %4835

4835:                                             ; preds = %4830, %4834
  %.str.5.sink2438 = phi ptr [ @.str.5, %4834 ], [ @.str.1, %4830 ]
  store i32 %4825, ptr %1981, align 4, !tbaa !5
  %4836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4837 = load i32, ptr @test_count, align 4, !tbaa !5
  %4838 = load i32, ptr %338, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror(i32 noundef %4838, ptr noundef nonnull @.str.4) #12
  %4840 = load i32, ptr %338, align 4, !tbaa !5
  %4841 = call ptr @s2n_strerror_debug(i32 noundef %4840, ptr noundef nonnull @.str.4) #12
  %4842 = load i32, ptr %1981, align 4, !tbaa !5
  %4843 = call ptr @strerror(i32 noundef %4842) #12
  %4844 = load i32, ptr %1981, align 4, !tbaa !5
  %4845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4836, ptr noundef nonnull %.str.5.sink2438, i32 noundef %4837, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.3, i32 noundef 431, ptr noundef %4839, ptr noundef %4841, ptr noundef %4843, i32 noundef %4844) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4846:                                             ; preds = %4817
  %4847 = add nsw i32 %4818, 2
  store i32 %4847, ptr @test_count, align 4, !tbaa !5
  %4848 = getelementptr inbounds i8, ptr %4820, i64 1776
  %4849 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %4848) #12
  %4850 = icmp eq i32 %4849, -1
  br i1 %4850, label %4851, label %4873

4851:                                             ; preds = %4846
  %4852 = load i32, ptr %1981, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @s2n_print_stacktrace(ptr noundef %4853) #12
  %4855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4856 = trunc nuw i8 %4855 to i1
  br i1 %4856, label %4857, label %4861

4857:                                             ; preds = %4851
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = call i32 @fileno(ptr noundef %4858) #12
  %4860 = call i32 @isatty(i32 noundef %4859) #12
  %.not655 = icmp eq i32 %4860, 0
  br i1 %.not655, label %4861, label %4862

4861:                                             ; preds = %4857, %4851
  br label %4862

4862:                                             ; preds = %4857, %4861
  %.str.5.sink2447 = phi ptr [ @.str.5, %4861 ], [ @.str.1, %4857 ]
  store i32 %4852, ptr %1981, align 4, !tbaa !5
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = load i32, ptr %338, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef nonnull @.str.4) #12
  %4867 = load i32, ptr %338, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef nonnull @.str.4) #12
  %4869 = load i32, ptr %1981, align 4, !tbaa !5
  %4870 = call ptr @strerror(i32 noundef %4869) #12
  %4871 = load i32, ptr %1981, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4863, ptr noundef nonnull %.str.5.sink2447, i32 noundef %4864, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.3, i32 noundef 433, ptr noundef %4866, ptr noundef %4868, ptr noundef %4870, i32 noundef %4871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4873:                                             ; preds = %4846
  %4874 = load i32, ptr @test_count, align 4, !tbaa !5
  %4875 = add nsw i32 %4874, 1
  store i32 %4875, ptr @test_count, align 4, !tbaa !5
  %4876 = load ptr, ptr %34, align 8, !tbaa !9
  %4877 = getelementptr inbounds i8, ptr %4876, i64 1776
  %4878 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %4877, ptr noundef nonnull %38, i32 noundef 5) #12
  %4879 = icmp eq i32 %4878, -1
  br i1 %4879, label %4880, label %4902

4880:                                             ; preds = %4873
  %4881 = load i32, ptr %1981, align 4, !tbaa !5
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = call i32 @s2n_print_stacktrace(ptr noundef %4882) #12
  %4884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4885 = trunc nuw i8 %4884 to i1
  br i1 %4885, label %4886, label %4890

4886:                                             ; preds = %4880
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = call i32 @fileno(ptr noundef %4887) #12
  %4889 = call i32 @isatty(i32 noundef %4888) #12
  %.not654 = icmp eq i32 %4889, 0
  br i1 %.not654, label %4890, label %4891

4890:                                             ; preds = %4886, %4880
  br label %4891

4891:                                             ; preds = %4886, %4890
  %.str.5.sink2456 = phi ptr [ @.str.5, %4890 ], [ @.str.1, %4886 ]
  store i32 %4881, ptr %1981, align 4, !tbaa !5
  %4892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = load i32, ptr %338, align 4, !tbaa !5
  %4895 = call ptr @s2n_strerror(i32 noundef %4894, ptr noundef nonnull @.str.4) #12
  %4896 = load i32, ptr %338, align 4, !tbaa !5
  %4897 = call ptr @s2n_strerror_debug(i32 noundef %4896, ptr noundef nonnull @.str.4) #12
  %4898 = load i32, ptr %1981, align 4, !tbaa !5
  %4899 = call ptr @strerror(i32 noundef %4898) #12
  %4900 = load i32, ptr %1981, align 4, !tbaa !5
  %4901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4892, ptr noundef nonnull %.str.5.sink2456, i32 noundef %4893, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.3, i32 noundef 435, ptr noundef %4895, ptr noundef %4897, ptr noundef %4899, i32 noundef %4900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4902:                                             ; preds = %4873
  %4903 = load i32, ptr @test_count, align 4, !tbaa !5
  %4904 = add nsw i32 %4903, 1
  store i32 %4904, ptr @test_count, align 4, !tbaa !5
  %4905 = load ptr, ptr %34, align 8, !tbaa !9
  %4906 = call i32 @s2n_record_header_parse(ptr noundef %4905, ptr noundef nonnull %35, ptr noundef nonnull %36) #12
  %4907 = icmp eq i32 %4906, -1
  br i1 %4907, label %4908, label %4930

4908:                                             ; preds = %4902
  %4909 = load i32, ptr %1981, align 4, !tbaa !5
  %4910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4911 = call i32 @s2n_print_stacktrace(ptr noundef %4910) #12
  %4912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4913 = trunc nuw i8 %4912 to i1
  br i1 %4913, label %4914, label %4918

4914:                                             ; preds = %4908
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = call i32 @fileno(ptr noundef %4915) #12
  %4917 = call i32 @isatty(i32 noundef %4916) #12
  %.not653 = icmp eq i32 %4917, 0
  br i1 %.not653, label %4918, label %4919

4918:                                             ; preds = %4914, %4908
  br label %4919

4919:                                             ; preds = %4914, %4918
  %.str.5.sink2465 = phi ptr [ @.str.5, %4918 ], [ @.str.1, %4914 ]
  store i32 %4909, ptr %1981, align 4, !tbaa !5
  %4920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4921 = load i32, ptr @test_count, align 4, !tbaa !5
  %4922 = load i32, ptr %338, align 4, !tbaa !5
  %4923 = call ptr @s2n_strerror(i32 noundef %4922, ptr noundef nonnull @.str.4) #12
  %4924 = load i32, ptr %338, align 4, !tbaa !5
  %4925 = call ptr @s2n_strerror_debug(i32 noundef %4924, ptr noundef nonnull @.str.4) #12
  %4926 = load i32, ptr %1981, align 4, !tbaa !5
  %4927 = call ptr @strerror(i32 noundef %4926) #12
  %4928 = load i32, ptr %1981, align 4, !tbaa !5
  %4929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4920, ptr noundef nonnull %.str.5.sink2465, i32 noundef %4921, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.3, i32 noundef 436, ptr noundef %4923, ptr noundef %4925, ptr noundef %4927, i32 noundef %4928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4930:                                             ; preds = %4902
  %4931 = load i32, ptr @test_count, align 4, !tbaa !5
  %4932 = add nsw i32 %4931, 1
  store i32 %4932, ptr @test_count, align 4, !tbaa !5
  %4933 = load ptr, ptr %34, align 8, !tbaa !9
  %4934 = getelementptr inbounds i8, ptr %4933, i64 3697
  %4935 = load i8, ptr %4934, align 1, !tbaa !70
  %4936 = icmp eq i8 %4935, 31
  br i1 %4936, label %4959, label %4937

4937:                                             ; preds = %4930
  %4938 = load i32, ptr %1981, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = call i32 @s2n_print_stacktrace(ptr noundef %4939) #12
  %4941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4942 = trunc nuw i8 %4941 to i1
  br i1 %4942, label %4943, label %4947

4943:                                             ; preds = %4937
  %4944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4945 = call i32 @fileno(ptr noundef %4944) #12
  %4946 = call i32 @isatty(i32 noundef %4945) #12
  %.not645 = icmp eq i32 %4946, 0
  br i1 %.not645, label %4947, label %4948

4947:                                             ; preds = %4943, %4937
  br label %4948

4948:                                             ; preds = %4943, %4947
  %.str.5.sink2474 = phi ptr [ @.str.5, %4947 ], [ @.str.1, %4943 ]
  store i32 %4938, ptr %1981, align 4, !tbaa !5
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = load i32, ptr @test_count, align 4, !tbaa !5
  %4951 = load i32, ptr %338, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror(i32 noundef %4951, ptr noundef nonnull @.str.4) #12
  %4953 = load i32, ptr %338, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror_debug(i32 noundef %4953, ptr noundef nonnull @.str.4) #12
  %4955 = load i32, ptr %1981, align 4, !tbaa !5
  %4956 = call ptr @strerror(i32 noundef %4955) #12
  %4957 = load i32, ptr %1981, align 4, !tbaa !5
  %4958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4949, ptr noundef nonnull %.str.5.sink2474, i32 noundef %4950, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.3, i32 noundef 438, ptr noundef %4952, ptr noundef %4954, ptr noundef %4956, i32 noundef %4957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4959:                                             ; preds = %4930
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #12
  %4960 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  %4961 = load i32, ptr @test_count, align 4, !tbaa !5
  %4962 = add nsw i32 %4961, 1
  store i32 %4962, ptr @test_count, align 4, !tbaa !5
  %4963 = call i32 @s2n_hmac_free(ptr noundef nonnull %5) #12
  %4964 = icmp eq i32 %4963, -1
  br i1 %4964, label %4965, label %4987

4965:                                             ; preds = %4959
  %4966 = load i32, ptr %1981, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @s2n_print_stacktrace(ptr noundef %4967) #12
  %4969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4970 = trunc nuw i8 %4969 to i1
  br i1 %4970, label %4971, label %4975

4971:                                             ; preds = %4965
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = call i32 @fileno(ptr noundef %4972) #12
  %4974 = call i32 @isatty(i32 noundef %4973) #12
  %.not652 = icmp eq i32 %4974, 0
  br i1 %.not652, label %4975, label %4976

4975:                                             ; preds = %4971, %4965
  br label %4976

4976:                                             ; preds = %4971, %4975
  %.str.5.sink2483 = phi ptr [ @.str.5, %4975 ], [ @.str.1, %4971 ]
  store i32 %4966, ptr %1981, align 4, !tbaa !5
  %4977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4978 = load i32, ptr @test_count, align 4, !tbaa !5
  %4979 = load i32, ptr %338, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef nonnull @.str.4) #12
  %4981 = load i32, ptr %338, align 4, !tbaa !5
  %4982 = call ptr @s2n_strerror_debug(i32 noundef %4981, ptr noundef nonnull @.str.4) #12
  %4983 = load i32, ptr %1981, align 4, !tbaa !5
  %4984 = call ptr @strerror(i32 noundef %4983) #12
  %4985 = load i32, ptr %1981, align 4, !tbaa !5
  %4986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4977, ptr noundef nonnull %.str.5.sink2483, i32 noundef %4978, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.3, i32 noundef 441, ptr noundef %4980, ptr noundef %4982, ptr noundef %4984, i32 noundef %4985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4987:                                             ; preds = %4959
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = add nsw i32 %4988, 1
  store i32 %4989, ptr @test_count, align 4, !tbaa !5
  %4990 = call i32 @s2n_connection_free(ptr noundef nonnull %305) #12
  %4991 = icmp eq i32 %4990, -1
  br i1 %4991, label %4992, label %5014

4992:                                             ; preds = %4987
  %4993 = load i32, ptr %1981, align 4, !tbaa !5
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @s2n_print_stacktrace(ptr noundef %4994) #12
  %4996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4997 = trunc nuw i8 %4996 to i1
  br i1 %4997, label %4998, label %5002

4998:                                             ; preds = %4992
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = call i32 @fileno(ptr noundef %4999) #12
  %5001 = call i32 @isatty(i32 noundef %5000) #12
  %.not651 = icmp eq i32 %5001, 0
  br i1 %.not651, label %5002, label %5003

5002:                                             ; preds = %4998, %4992
  br label %5003

5003:                                             ; preds = %4998, %5002
  %.str.5.sink2492 = phi ptr [ @.str.5, %5002 ], [ @.str.1, %4998 ]
  store i32 %4993, ptr %1981, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = load i32, ptr %338, align 4, !tbaa !5
  %5007 = call ptr @s2n_strerror(i32 noundef %5006, ptr noundef nonnull @.str.4) #12
  %5008 = load i32, ptr %338, align 4, !tbaa !5
  %5009 = call ptr @s2n_strerror_debug(i32 noundef %5008, ptr noundef nonnull @.str.4) #12
  %5010 = load i32, ptr %1981, align 4, !tbaa !5
  %5011 = call ptr @strerror(i32 noundef %5010) #12
  %5012 = load i32, ptr %1981, align 4, !tbaa !5
  %5013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef nonnull %.str.5.sink2492, i32 noundef %5005, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.3, i32 noundef 443, ptr noundef %5007, ptr noundef %5009, ptr noundef %5011, i32 noundef %5012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5014:                                             ; preds = %4987
  %5015 = call i32 @s2n_cleanup() #12
  %5016 = icmp eq i32 %5015, -1
  br i1 %5016, label %5017, label %5039

5017:                                             ; preds = %5014
  %5018 = load i32, ptr %1981, align 4, !tbaa !5
  %5019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5020 = call i32 @s2n_print_stacktrace(ptr noundef %5019) #12
  %5021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5022 = trunc nuw i8 %5021 to i1
  br i1 %5022, label %5023, label %5027

5023:                                             ; preds = %5017
  %5024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5025 = call i32 @fileno(ptr noundef %5024) #12
  %5026 = call i32 @isatty(i32 noundef %5025) #12
  %.not650 = icmp eq i32 %5026, 0
  br i1 %.not650, label %5027, label %5028

5027:                                             ; preds = %5023, %5017
  br label %5028

5028:                                             ; preds = %5023, %5027
  %.str.5.sink2501 = phi ptr [ @.str.5, %5027 ], [ @.str.1, %5023 ]
  store i32 %5018, ptr %1981, align 4, !tbaa !5
  %5029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5030 = load i32, ptr @test_count, align 4, !tbaa !5
  %5031 = load i32, ptr %338, align 4, !tbaa !5
  %5032 = call ptr @s2n_strerror(i32 noundef %5031, ptr noundef nonnull @.str.4) #12
  %5033 = load i32, ptr %338, align 4, !tbaa !5
  %5034 = call ptr @s2n_strerror_debug(i32 noundef %5033, ptr noundef nonnull @.str.4) #12
  %5035 = load i32, ptr %1981, align 4, !tbaa !5
  %5036 = call ptr @strerror(i32 noundef %5035) #12
  %5037 = load i32, ptr %1981, align 4, !tbaa !5
  %5038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5029, ptr noundef nonnull %.str.5.sink2501, i32 noundef %5030, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.3, i32 noundef 445, ptr noundef %5032, ptr noundef %5034, ptr noundef %5036, i32 noundef %5037) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5039:                                             ; preds = %5014
  %5040 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %5041 = icmp eq i32 %5040, -1
  br i1 %5041, label %5042, label %5064

5042:                                             ; preds = %5039
  %5043 = load i32, ptr %1981, align 4, !tbaa !5
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = call i32 @s2n_print_stacktrace(ptr noundef %5044) #12
  %5046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5047 = trunc nuw i8 %5046 to i1
  br i1 %5047, label %5048, label %5052

5048:                                             ; preds = %5042
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = call i32 @fileno(ptr noundef %5049) #12
  %5051 = call i32 @isatty(i32 noundef %5050) #12
  %.not649 = icmp eq i32 %5051, 0
  br i1 %.not649, label %5052, label %5053

5052:                                             ; preds = %5048, %5042
  br label %5053

5053:                                             ; preds = %5048, %5052
  %.str.5.sink2510 = phi ptr [ @.str.5, %5052 ], [ @.str.1, %5048 ]
  store i32 %5043, ptr %1981, align 4, !tbaa !5
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = load i32, ptr @test_count, align 4, !tbaa !5
  %5056 = load i32, ptr %338, align 4, !tbaa !5
  %5057 = call ptr @s2n_strerror(i32 noundef %5056, ptr noundef nonnull @.str.4) #12
  %5058 = load i32, ptr %338, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror_debug(i32 noundef %5058, ptr noundef nonnull @.str.4) #12
  %5060 = load i32, ptr %1981, align 4, !tbaa !5
  %5061 = call ptr @strerror(i32 noundef %5060) #12
  %5062 = load i32, ptr %1981, align 4, !tbaa !5
  %5063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5054, ptr noundef nonnull %.str.5.sink2510, i32 noundef %5055, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.3, i32 noundef 445, ptr noundef %5057, ptr noundef %5059, ptr noundef %5061, i32 noundef %5062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5064:                                             ; preds = %5039
  %5065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5066 = trunc nuw i8 %5065 to i1
  br i1 %5066, label %5067, label %5078

5067:                                             ; preds = %5064
  %5068 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5069 = call i32 @fileno(ptr noundef %5068) #12
  %5070 = call i32 @isatty(i32 noundef %5069) #12
  %.not646 = icmp eq i32 %5070, 0
  br i1 %.not646, label %5078, label %5071

5071:                                             ; preds = %5067
  %5072 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not648 = icmp eq i32 %5072, 0
  %5073 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not648, label %5076, label %5074

5074:                                             ; preds = %5071
  %5075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5073, ptr noundef nonnull @.str.89, i32 noundef %5072) #12
  br label %5085

5076:                                             ; preds = %5071
  %5077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5073, ptr noundef nonnull @.str.90) #12
  br label %5085

5078:                                             ; preds = %5067, %5064
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not647 = icmp eq i32 %5079, 0
  %5080 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not647, label %5083, label %5081

5081:                                             ; preds = %5078
  %5082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5080, ptr noundef nonnull @.str.91, i32 noundef %5079) #12
  br label %5085

5083:                                             ; preds = %5078
  %5084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5080, ptr noundef nonnull @.str.92) #12
  br label %5085

5085:                                             ; preds = %5081, %5083, %5074, %5076
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 8088, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 432, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %3) #12
  ret i32 0
}

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

; Function Attrs: 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) #2

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #4

declare i32 @s2n_hmac_new(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_init(ptr noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

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

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) local_unnamed_addr #4

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

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare i32 @s2n_stuffer_resize_if_empty(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_record_header_parse(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_record_parse(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_reset(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_update(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_digest(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_digest_verify(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_reread(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_public_random(i64 noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hmac_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!17 = !{!16, !6, i64 8}
!18 = !{!19, !10, i64 224}
!19 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !20, i64 160, !21, i64 168, !21, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !22, i64 240, !10, i64 632, !10, i64 640, !23, i64 648, !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, !21, i64 1944, !7, i64 1952, !34, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !35, i64 2004, !35, i64 2008, !36, i64 2016, !33, i64 2208, !6, i64 2212, !33, i64 2216, !21, i64 2224, !7, i64 2232, !21, i64 2240, !21, i64 2248, !21, i64 2256, !35, i64 2264, !35, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !16, i64 2792, !6, i64 2816, !16, i64 2824, !16, i64 2848, !16, i64 2872, !38, i64 2896, !40, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !16, i64 3784, !6, i64 3808, !42, i64 3816, !7, i64 3848, !34, i64 3992, !16, i64 4032, !16, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !33, i64 4084, !33, i64 4086, !6, i64 4088, !6, i64 4092, !16, i64 4096, !6, i64 4120, !43, i64 4128, !35, i64 4176, !7, i64 4180, !7, i64 4181}
!20 = !{!"s2n_timer", !21, i64 0}
!21 = !{!"long", !7, i64 0}
!22 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!23 = !{!"s2n_kex_parameters", !24, i64 0, !25, i64 8, !7, i64 24, !25, i64 56, !26, i64 72, !26, i64 184, !7, i64 296, !27, i64 360, !16, i64 448, !16, i64 472}
!24 = !{!"s2n_dh_params", !10, i64 0}
!25 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!26 = !{!"s2n_kem_group_params", !10, i64 0, !27, i64 8, !25, i64 96}
!27 = !{!"s2n_kem_params", !10, i64 0, !16, i64 8, !16, i64 32, !16, i64 56, !12, i64 80}
!28 = !{!"s2n_handshake_parameters", !29, i64 0, !29, i64 48, !16, 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", !16, i64 0, !6, i64 24, !6, i64 28}
!33 = !{!"short", !7, i64 0}
!34 = !{!"s2n_stuffer", !16, 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", !16, i64 0, !39, i64 24, !16, i64 728, !16, i64 752, !16, 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, !16, 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", !16, i64 0, !6, i64 24}
!43 = !{!"s2n_post_handshake", !34, i64 0, !7, i64 40}
!44 = !{!19, !10, i64 640}
!45 = !{!19, !10, i64 632}
!46 = !{!47, !10, i64 0}
!47 = !{!"s2n_crypto_parameters", !10, i64 0, !48, i64 8, !48, i64 16, !49, i64 24, !49, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!48 = !{!"s2n_session_key", !10, i64 0}
!49 = !{!"s2n_hmac_state", !6, i64 0, !33, i64 4, !6, i64 8, !33, i64 12, !7, i64 14, !50, i64 16, !50, i64 72, !50, i64 128, !50, i64 184, !7, i64 240, !7, i64 368}
!50 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !21, i64 16, !7, i64 24}
!51 = !{!19, !7, i64 220}
!52 = !{!53, !10, i64 48}
!53 = !{!"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}
!54 = !{!19, !10, i64 1896}
!55 = !{!7, !7, i64 0}
!56 = !{!19, !6, i64 1924}
!57 = !{!19, !6, i64 1920}
!58 = !{!33, !33, i64 0}
!59 = distinct !{!59, !60}
!60 = !{!"llvm.loop.mustprogress"}
!61 = !{!21, !21, i64 0}
!62 = !{!19, !10, i64 1856}
!63 = distinct !{!63, !60}
!64 = distinct !{!64, !60}
!65 = distinct !{!65, !60}
!66 = distinct !{!66, !60}
!67 = distinct !{!67, !60}
!68 = !{!19, !7, i64 222}
!69 = !{!19, !10, i64 1776}
!70 = !{!19, !7, i64 3697}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass