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

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

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i8, align 1
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca [2 x i32], align 4
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca [100 x i8], align 16
  %17 = alloca %struct.s2n_blob, align 8
  %18 = alloca i32, align 4
  %19 = alloca %struct.s2n_result, align 4
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_test_iovecs, align 8
  %22 = alloca [20 x i64], align 16
  %23 = alloca %struct.s2n_result, align 4
  %24 = alloca i32, align 4
  %25 = alloca [6 x i64], align 16
  %26 = alloca ptr, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i8, align 1
  %32 = alloca i8, align 1
  %33 = alloca ptr, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca %struct.s2n_test_io_pair, align 4
  %40 = alloca %struct.s2n_result, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca %struct.s2n_result, align 4
  %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 %struct.s2n_result, align 4
  %52 = alloca %struct.s2n_result, align 4
  %53 = alloca i64, align 8
  %54 = alloca i32, align 4
  %55 = alloca ptr, align 8
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca ptr, align 8
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca %struct.s2n_test_io_pair, align 4
  %62 = alloca %struct.s2n_result, align 4
  %63 = alloca i32, align 4
  %64 = alloca %struct.s2n_result, align 4
  %65 = alloca i32, align 4
  %66 = alloca [2 x ptr], align 16
  %67 = alloca ptr, align 8
  %68 = alloca ptr, align 8
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i64, align 8
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca [100 x i8], align 16
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i64, align 8
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca [100 x i8], align 16
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i64, align 8
  %90 = alloca i64, align 8
  %91 = alloca i64, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca [100 x i8], align 16
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca [100 x i8], align 16
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i64, align 8
  %106 = alloca i64, align 8
  %107 = alloca i64, align 8
  %108 = alloca i64, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca [100 x i8], align 16
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca %struct.s2n_result, align 4
  %124 = alloca %struct.s2n_result, align 4
  %125 = alloca i64, align 8
  %126 = alloca i32, align 4
  %127 = alloca ptr, align 8
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca ptr, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca %struct.s2n_test_io_pair, align 4
  %136 = alloca %struct.s2n_result, align 4
  %137 = alloca i32, align 4
  %138 = alloca %struct.s2n_result, align 4
  %139 = alloca i32, align 4
  %140 = alloca [2 x ptr], align 16
  %141 = alloca ptr, align 8
  %142 = alloca ptr, align 8
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i64, align 8
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca [100 x i8], align 16
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i8, align 1
  %155 = alloca [20 x i8], align 16
  %156 = alloca %struct.s2n_blob, align 8
  %157 = alloca i32, align 4
  %158 = alloca i64, align 8
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca [100 x i8], align 16
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca %struct.s2n_result, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca [100 x i8], align 16
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca %struct.s2n_result, align 4
  %184 = alloca %struct.s2n_result, align 4
  %185 = alloca ptr, align 8
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca ptr, align 8
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca %struct.s2n_test_io_pair, align 4
  %194 = alloca %struct.s2n_result, align 4
  %195 = alloca i32, align 4
  %196 = alloca %struct.s2n_result, align 4
  %197 = alloca i32, align 4
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca ptr, align 8
  %201 = alloca ptr, align 8
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i8, align 1
  %205 = alloca [14 x i8], align 1
  %206 = alloca %struct.s2n_blob, align 8
  %207 = alloca i32, align 4
  %208 = alloca i64, align 8
  %209 = alloca %struct.s2n_result, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca [100 x i8], align 16
  %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 [100 x i8], align 16
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca %struct.s2n_result, align 4
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca i64, align 8
  %229 = alloca i32, align 4
  %230 = alloca ptr, align 8
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca ptr, align 8
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca [2 x ptr], align 16
  %239 = alloca ptr, align 8
  %240 = alloca ptr, align 8
  %241 = alloca i32, align 4
  %242 = alloca %struct.s2n_test_io_pair, align 4
  %243 = alloca %struct.s2n_result, align 4
  %244 = alloca i32, align 4
  %245 = alloca %struct.s2n_result, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca [10 x i8], align 1
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i32, align 4
  %260 = alloca %struct.s2n_test_io_pair, align 4
  %261 = alloca %struct.s2n_result, align 4
  %262 = alloca i32, align 4
  %263 = alloca %struct.s2n_result, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i64, align 8
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca %struct.s2n_test_io_pair, align 4
  %276 = alloca %struct.s2n_result, align 4
  %277 = alloca i32, align 4
  %278 = alloca %struct.s2n_result, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca [10 x i8], align 1
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca %struct.s2n_result, align 4
  %291 = alloca %struct.s2n_result, align 4
  %292 = alloca [4 x %struct.anon], align 16
  %293 = alloca i64, align 8
  %294 = alloca ptr, align 8
  %295 = alloca ptr, align 8
  %296 = alloca i32, align 4
  %297 = alloca i8, align 1
  %298 = alloca i64, align 8
  %299 = alloca i32, align 4
  %300 = alloca i64, align 8
  %301 = alloca ptr, align 8
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i64, align 8
  %305 = alloca i32, align 4
  %306 = alloca %struct.s2n_cipher_preferences, align 8
  %307 = alloca %struct.s2n_security_policy, align 8
  %308 = alloca ptr, align 8
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca ptr, align 8
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca %struct.s2n_test_io_pair, align 4
  %315 = alloca %struct.s2n_result, align 4
  %316 = alloca i32, align 4
  %317 = alloca %struct.s2n_result, align 4
  %318 = alloca i32, align 4
  %319 = alloca [2 x ptr], align 16
  %320 = alloca ptr, align 8
  %321 = alloca ptr, align 8
  %322 = alloca i32, align 4
  %323 = alloca [100 x i8], align 16
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca [100 x i8], align 16
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca %struct.s2n_result, align 4
  %336 = alloca %struct.s2n_result, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca %struct.s2n_result, align 4
  %340 = alloca %struct.s2n_result, align 4
  %341 = alloca %struct.s2n_result, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %342

342:                                              ; preds = %2
  br label %343

343:                                              ; preds = %342
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %344 = load ptr, ptr @stdout, align 8, !tbaa !9
  %345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %344, ptr noundef @.str, ptr noundef @.str.1) #11
  %346 = load ptr, ptr @stdout, align 8, !tbaa !9
  %347 = call i32 @fflush(ptr noundef %346)
  br label %348

348:                                              ; preds = %343
  %349 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %350 = icmp eq i32 %349, -1
  br i1 %350, label %351, label %402

351:                                              ; preds = %348
  br label %352

352:                                              ; preds = %351
  br label %353

353:                                              ; preds = %352
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %354 = call ptr @__errno_location() #12
  %355 = load i32, ptr %354, align 4, !tbaa !5
  store i32 %355, ptr %6, align 4, !tbaa !5
  %356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %357 = call i32 @s2n_print_stacktrace(ptr noundef %356)
  %358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %359 = trunc i8 %358 to i1
  br i1 %359, label %360, label %382

360:                                              ; preds = %353
  %361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %362 = call i32 @fileno(ptr noundef %361) #11
  %363 = call i32 @isatty(i32 noundef %362) #11
  %364 = icmp ne i32 %363, 0
  br i1 %364, label %365, label %382

365:                                              ; preds = %360
  %366 = load i32, ptr %6, align 4, !tbaa !5
  %367 = call ptr @__errno_location() #12
  store i32 %366, ptr %367, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %371 = load i32, ptr %370, align 4, !tbaa !5
  %372 = call ptr @s2n_strerror(i32 noundef %371, ptr noundef @.str.4)
  %373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror_debug(i32 noundef %374, ptr noundef @.str.4)
  %376 = call ptr @__errno_location() #12
  %377 = load i32, ptr %376, align 4, !tbaa !5
  %378 = call ptr @strerror(i32 noundef %377) #11
  %379 = call ptr @__errno_location() #12
  %380 = load i32, ptr %379, align 4, !tbaa !5
  %381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %368, ptr noundef @.str.2, i32 noundef %369, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 94, ptr noundef %372, ptr noundef %375, ptr noundef %378, i32 noundef %380) #11
  br label %399

382:                                              ; preds = %360, %353
  %383 = load i32, ptr %6, align 4, !tbaa !5
  %384 = call ptr @__errno_location() #12
  store i32 %383, ptr %384, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %388 = load i32, ptr %387, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror(i32 noundef %388, ptr noundef @.str.4)
  %390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef @.str.4)
  %393 = call ptr @__errno_location() #12
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @strerror(i32 noundef %394) #11
  %396 = call ptr @__errno_location() #12
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %385, ptr noundef @.str.5, i32 noundef %386, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 94, ptr noundef %389, ptr noundef %392, ptr noundef %395, i32 noundef %397) #11
  br label %399

399:                                              ; preds = %382, %365
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %400

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

401:                                              ; No predecessors!
  br label %402

402:                                              ; preds = %401, %348
  br label %403

403:                                              ; preds = %402
  br label %404

404:                                              ; preds = %403
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = add nsw i32 %405, 1
  store i32 %406, ptr @test_count, align 4, !tbaa !5
  %407 = call i32 @s2n_enable_atexit()
  %408 = icmp eq i32 %407, -1
  br i1 %408, label %409, label %460

409:                                              ; preds = %404
  br label %410

410:                                              ; preds = %409
  br label %411

411:                                              ; preds = %410
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %412 = call ptr @__errno_location() #12
  %413 = load i32, ptr %412, align 4, !tbaa !5
  store i32 %413, ptr %7, align 4, !tbaa !5
  %414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %415 = call i32 @s2n_print_stacktrace(ptr noundef %414)
  %416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %417 = trunc i8 %416 to i1
  br i1 %417, label %418, label %440

418:                                              ; preds = %411
  %419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %420 = call i32 @fileno(ptr noundef %419) #11
  %421 = call i32 @isatty(i32 noundef %420) #11
  %422 = icmp ne i32 %421, 0
  br i1 %422, label %423, label %440

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

440:                                              ; preds = %418, %411
  %441 = load i32, ptr %7, align 4, !tbaa !5
  %442 = call ptr @__errno_location() #12
  store i32 %441, ptr %442, align 4, !tbaa !5
  %443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %444 = load i32, ptr @test_count, align 4, !tbaa !5
  %445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %446 = load i32, ptr %445, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror(i32 noundef %446, ptr noundef @.str.4)
  %448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror_debug(i32 noundef %449, ptr noundef @.str.4)
  %451 = call ptr @__errno_location() #12
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call ptr @strerror(i32 noundef %452) #11
  %454 = call ptr @__errno_location() #12
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %443, ptr noundef @.str.5, i32 noundef %444, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 94, ptr noundef %447, ptr noundef %450, ptr noundef %453, i32 noundef %455) #11
  br label %457

457:                                              ; preds = %440, %423
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %458

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

459:                                              ; No predecessors!
  br label %460

460:                                              ; preds = %459, %404
  br label %461

461:                                              ; preds = %460
  br label %462

462:                                              ; preds = %461
  br label %463

463:                                              ; preds = %462
  %464 = call i32 @s2n_init()
  %465 = icmp eq i32 %464, -1
  br i1 %465, label %466, label %517

466:                                              ; preds = %463
  br label %467

467:                                              ; preds = %466
  br label %468

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

475:                                              ; preds = %468
  %476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %477 = call i32 @fileno(ptr noundef %476) #11
  %478 = call i32 @isatty(i32 noundef %477) #11
  %479 = icmp ne i32 %478, 0
  br i1 %479, label %480, label %497

480:                                              ; preds = %475
  %481 = load i32, ptr %8, align 4, !tbaa !5
  %482 = call ptr @__errno_location() #12
  store i32 %481, ptr %482, align 4, !tbaa !5
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = load i32, ptr @test_count, align 4, !tbaa !5
  %485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror(i32 noundef %486, ptr noundef @.str.4)
  %488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call ptr @s2n_strerror_debug(i32 noundef %489, ptr noundef @.str.4)
  %491 = call ptr @__errno_location() #12
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call ptr @strerror(i32 noundef %492) #11
  %494 = call ptr @__errno_location() #12
  %495 = load i32, ptr %494, align 4, !tbaa !5
  %496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %483, ptr noundef @.str.2, i32 noundef %484, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 94, ptr noundef %487, ptr noundef %490, ptr noundef %493, i32 noundef %495) #11
  br label %514

497:                                              ; preds = %475, %468
  %498 = load i32, ptr %8, align 4, !tbaa !5
  %499 = call ptr @__errno_location() #12
  store i32 %498, ptr %499, align 4, !tbaa !5
  %500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %501 = load i32, ptr @test_count, align 4, !tbaa !5
  %502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %503 = load i32, ptr %502, align 4, !tbaa !5
  %504 = call ptr @s2n_strerror(i32 noundef %503, ptr noundef @.str.4)
  %505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = call ptr @s2n_strerror_debug(i32 noundef %506, ptr noundef @.str.4)
  %508 = call ptr @__errno_location() #12
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = call ptr @strerror(i32 noundef %509) #11
  %511 = call ptr @__errno_location() #12
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %500, ptr noundef @.str.5, i32 noundef %501, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 94, ptr noundef %504, ptr noundef %507, ptr noundef %510, i32 noundef %512) #11
  br label %514

514:                                              ; preds = %497, %480
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %515

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

516:                                              ; No predecessors!
  br label %517

517:                                              ; preds = %516, %463
  br label %518

518:                                              ; preds = %517
  br label %519

519:                                              ; preds = %518
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #11
  %520 = call ptr @getenv(ptr noundef @.str.8) #11
  %521 = icmp ne ptr %520, null
  %522 = zext i1 %521 to i8
  store i8 %522, ptr %9, align 1, !tbaa !11
  %523 = call zeroext i1 (...) @s2n_ktls_is_supported_on_platform()
  br i1 %523, label %682, label %524

524:                                              ; preds = %519
  %525 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %526 = trunc i8 %525 to i1
  br i1 %526, label %682, label %527

527:                                              ; preds = %524
  br label %528

528:                                              ; preds = %527
  br label %529

529:                                              ; preds = %528
  %530 = call i32 @s2n_cleanup()
  %531 = icmp eq i32 %530, -1
  br i1 %531, label %532, label %585

532:                                              ; preds = %529
  br label %533

533:                                              ; preds = %532
  br label %534

534:                                              ; preds = %533
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %535 = call ptr @__errno_location() #12
  %536 = load i32, ptr %535, align 4, !tbaa !5
  store i32 %536, ptr %10, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = call i32 @s2n_print_stacktrace(ptr noundef %537)
  %539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %540 = trunc i8 %539 to i1
  br i1 %540, label %541, label %563

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @fileno(ptr noundef %542) #11
  %544 = call i32 @isatty(i32 noundef %543) #11
  %545 = icmp ne i32 %544, 0
  br i1 %545, label %546, label %563

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

563:                                              ; preds = %541, %534
  %564 = load i32, ptr %10, align 4, !tbaa !5
  %565 = call ptr @__errno_location() #12
  store i32 %564, ptr %565, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %569 = load i32, ptr %568, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror(i32 noundef %569, ptr noundef @.str.4)
  %571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %572 = load i32, ptr %571, align 4, !tbaa !5
  %573 = call ptr @s2n_strerror_debug(i32 noundef %572, ptr noundef @.str.4)
  %574 = call ptr @__errno_location() #12
  %575 = load i32, ptr %574, align 4, !tbaa !5
  %576 = call ptr @strerror(i32 noundef %575) #11
  %577 = call ptr @__errno_location() #12
  %578 = load i32, ptr %577, align 4, !tbaa !5
  %579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef @.str.5, i32 noundef %567, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 102, ptr noundef %570, ptr noundef %573, ptr noundef %576, i32 noundef %578) #11
  br label %580

580:                                              ; preds = %563, %546
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %581

581:                                              ; preds = %580
  br label %582

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

583:                                              ; No predecessors!
  br label %584

584:                                              ; preds = %583
  br label %585

585:                                              ; preds = %584, %529
  br label %586

586:                                              ; preds = %585
  br label %587

587:                                              ; preds = %586
  br label %588

588:                                              ; preds = %587
  br label %589

589:                                              ; preds = %588
  %590 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %591 = icmp eq i32 %590, -1
  br i1 %591, label %592, label %645

592:                                              ; preds = %589
  br label %593

593:                                              ; preds = %592
  br label %594

594:                                              ; preds = %593
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %595 = call ptr @__errno_location() #12
  %596 = load i32, ptr %595, align 4, !tbaa !5
  store i32 %596, ptr %11, align 4, !tbaa !5
  %597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %598 = call i32 @s2n_print_stacktrace(ptr noundef %597)
  %599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %600 = trunc i8 %599 to i1
  br i1 %600, label %601, label %623

601:                                              ; preds = %594
  %602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %603 = call i32 @fileno(ptr noundef %602) #11
  %604 = call i32 @isatty(i32 noundef %603) #11
  %605 = icmp ne i32 %604, 0
  br i1 %605, label %606, label %623

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

623:                                              ; preds = %601, %594
  %624 = load i32, ptr %11, align 4, !tbaa !5
  %625 = call ptr @__errno_location() #12
  store i32 %624, ptr %625, align 4, !tbaa !5
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = load i32, ptr @test_count, align 4, !tbaa !5
  %628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %629 = load i32, ptr %628, align 4, !tbaa !5
  %630 = call ptr @s2n_strerror(i32 noundef %629, ptr noundef @.str.4)
  %631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror_debug(i32 noundef %632, ptr noundef @.str.4)
  %634 = call ptr @__errno_location() #12
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = call ptr @strerror(i32 noundef %635) #11
  %637 = call ptr @__errno_location() #12
  %638 = load i32, ptr %637, align 4, !tbaa !5
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %626, ptr noundef @.str.5, i32 noundef %627, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 102, ptr noundef %630, ptr noundef %633, ptr noundef %636, i32 noundef %638) #11
  br label %640

640:                                              ; preds = %623, %606
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %641

641:                                              ; preds = %640
  br label %642

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

643:                                              ; No predecessors!
  br label %644

644:                                              ; preds = %643
  br label %645

645:                                              ; preds = %644, %589
  br label %646

646:                                              ; preds = %645
  br label %647

647:                                              ; preds = %646
  %648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %649 = trunc i8 %648 to i1
  br i1 %649, label %650, label %666

650:                                              ; preds = %647
  %651 = load ptr, ptr @stdout, align 8, !tbaa !9
  %652 = call i32 @fileno(ptr noundef %651) #11
  %653 = call i32 @isatty(i32 noundef %652) #11
  %654 = icmp ne i32 %653, 0
  br i1 %654, label %655, label %666

655:                                              ; preds = %650
  %656 = load i32, ptr @test_count, align 4, !tbaa !5
  %657 = icmp ne i32 %656, 0
  br i1 %657, label %658, label %662

658:                                              ; preds = %655
  %659 = load ptr, ptr @stdout, align 8, !tbaa !9
  %660 = load i32, ptr @test_count, align 4, !tbaa !5
  %661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %659, ptr noundef @.str.11, i32 noundef %660) #11
  br label %665

662:                                              ; preds = %655
  %663 = load ptr, ptr @stdout, align 8, !tbaa !9
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %663, ptr noundef @.str.12) #11
  br label %665

665:                                              ; preds = %662, %658
  br label %677

666:                                              ; preds = %650, %647
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = icmp ne i32 %667, 0
  br i1 %668, label %669, label %673

669:                                              ; preds = %666
  %670 = load ptr, ptr @stdout, align 8, !tbaa !9
  %671 = load i32, ptr @test_count, align 4, !tbaa !5
  %672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %670, ptr noundef @.str.13, i32 noundef %671) #11
  br label %676

673:                                              ; preds = %666
  %674 = load ptr, ptr @stdout, align 8, !tbaa !9
  %675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %674, ptr noundef @.str.14) #11
  br label %676

676:                                              ; preds = %673, %669
  br label %677

677:                                              ; preds = %676, %665
  store i32 0, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %11947

678:                                              ; No predecessors!
  br label %679

679:                                              ; preds = %678
  br label %680

680:                                              ; preds = %679
  br label %681

681:                                              ; preds = %680
  br label %682

682:                                              ; preds = %681, %524, %519
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %13, ptr align 4 @__const.main.modes, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #11
  store ptr null, ptr %14, align 8, !tbaa !9
  br label %683

683:                                              ; preds = %682
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = add nsw i32 %684, 1
  store i32 %685, ptr @test_count, align 4, !tbaa !5
  %686 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %14, ptr noundef @.str.15, ptr noundef @.str.16)
  %687 = icmp eq i32 %686, -1
  br i1 %687, label %688, label %741

688:                                              ; preds = %683
  br label %689

689:                                              ; preds = %688
  br label %690

690:                                              ; preds = %689
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %691 = call ptr @__errno_location() #12
  %692 = load i32, ptr %691, align 4, !tbaa !5
  store i32 %692, ptr %15, align 4, !tbaa !5
  %693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %694 = call i32 @s2n_print_stacktrace(ptr noundef %693)
  %695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %696 = trunc i8 %695 to i1
  br i1 %696, label %697, label %719

697:                                              ; preds = %690
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @fileno(ptr noundef %698) #11
  %700 = call i32 @isatty(i32 noundef %699) #11
  %701 = icmp ne i32 %700, 0
  br i1 %701, label %702, label %719

702:                                              ; preds = %697
  %703 = load i32, ptr %15, align 4, !tbaa !5
  %704 = call ptr @__errno_location() #12
  store i32 %703, ptr %704, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror(i32 noundef %708, ptr noundef @.str.4)
  %710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = call ptr @s2n_strerror_debug(i32 noundef %711, ptr noundef @.str.4)
  %713 = call ptr @__errno_location() #12
  %714 = load i32, ptr %713, align 4, !tbaa !5
  %715 = call ptr @strerror(i32 noundef %714) #11
  %716 = call ptr @__errno_location() #12
  %717 = load i32, ptr %716, align 4, !tbaa !5
  %718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %705, ptr noundef @.str.2, i32 noundef %706, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 110, ptr noundef %709, ptr noundef %712, ptr noundef %715, i32 noundef %717) #11
  br label %736

719:                                              ; preds = %697, %690
  %720 = load i32, ptr %15, align 4, !tbaa !5
  %721 = call ptr @__errno_location() #12
  store i32 %720, ptr %721, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror(i32 noundef %725, ptr noundef @.str.4)
  %727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call ptr @s2n_strerror_debug(i32 noundef %728, ptr noundef @.str.4)
  %730 = call ptr @__errno_location() #12
  %731 = load i32, ptr %730, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #11
  %733 = call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef @.str.5, i32 noundef %723, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 110, ptr noundef %726, ptr noundef %729, ptr noundef %732, i32 noundef %734) #11
  br label %736

736:                                              ; preds = %719, %702
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %737

737:                                              ; preds = %736
  br label %738

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

739:                                              ; No predecessors!
  br label %740

740:                                              ; preds = %739
  br label %741

741:                                              ; preds = %740, %683
  br label %742

742:                                              ; preds = %741
  br label %743

743:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 100, ptr %16) #11
  call void @llvm.memset.p0.i64(ptr align 16 %16, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #11
  call void @llvm.memset.p0.i64(ptr align 8 %17, i8 0, i64 24, i1 false)
  br label %744

744:                                              ; preds = %743
  %745 = load i32, ptr @test_count, align 4, !tbaa !5
  %746 = add nsw i32 %745, 1
  store i32 %746, ptr @test_count, align 4, !tbaa !5
  %747 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %748 = call i32 @s2n_blob_init(ptr noundef %17, ptr noundef %747, i32 noundef 100)
  %749 = icmp eq i32 %748, -1
  br i1 %749, label %750, label %803

750:                                              ; preds = %744
  br label %751

751:                                              ; preds = %750
  br label %752

752:                                              ; preds = %751
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %753 = call ptr @__errno_location() #12
  %754 = load i32, ptr %753, align 4, !tbaa !5
  store i32 %754, ptr %18, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = call i32 @s2n_print_stacktrace(ptr noundef %755)
  %757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %758 = trunc i8 %757 to i1
  br i1 %758, label %759, label %781

759:                                              ; preds = %752
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = call i32 @fileno(ptr noundef %760) #11
  %762 = call i32 @isatty(i32 noundef %761) #11
  %763 = icmp ne i32 %762, 0
  br i1 %763, label %764, label %781

764:                                              ; preds = %759
  %765 = load i32, ptr %18, align 4, !tbaa !5
  %766 = call ptr @__errno_location() #12
  store i32 %765, ptr %766, align 4, !tbaa !5
  %767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %768 = load i32, ptr @test_count, align 4, !tbaa !5
  %769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror(i32 noundef %770, ptr noundef @.str.4)
  %772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @s2n_strerror_debug(i32 noundef %773, ptr noundef @.str.4)
  %775 = call ptr @__errno_location() #12
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @strerror(i32 noundef %776) #11
  %778 = call ptr @__errno_location() #12
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %767, ptr noundef @.str.2, i32 noundef %768, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 114, ptr noundef %771, ptr noundef %774, ptr noundef %777, i32 noundef %779) #11
  br label %798

781:                                              ; preds = %759, %752
  %782 = load i32, ptr %18, align 4, !tbaa !5
  %783 = call ptr @__errno_location() #12
  store i32 %782, ptr %783, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = load i32, ptr @test_count, align 4, !tbaa !5
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror(i32 noundef %787, ptr noundef @.str.4)
  %789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror_debug(i32 noundef %790, ptr noundef @.str.4)
  %792 = call ptr @__errno_location() #12
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call ptr @strerror(i32 noundef %793) #11
  %795 = call ptr @__errno_location() #12
  %796 = load i32, ptr %795, align 4, !tbaa !5
  %797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %784, ptr noundef @.str.5, i32 noundef %785, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 114, ptr noundef %788, ptr noundef %791, ptr noundef %794, i32 noundef %796) #11
  br label %798

798:                                              ; preds = %781, %764
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %799

799:                                              ; preds = %798
  br label %800

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

801:                                              ; No predecessors!
  br label %802

802:                                              ; preds = %801
  br label %803

803:                                              ; preds = %802, %744
  br label %804

804:                                              ; preds = %803
  br label %805

805:                                              ; preds = %804
  br label %806

806:                                              ; preds = %805
  %807 = load i32, ptr @test_count, align 4, !tbaa !5
  %808 = add nsw i32 %807, 1
  store i32 %808, ptr @test_count, align 4, !tbaa !5
  %809 = call i32 @s2n_get_public_random_data(ptr noundef %17)
  %810 = getelementptr inbounds %struct.s2n_result, ptr %19, i32 0, i32 0
  store i32 %809, ptr %810, align 4
  %811 = getelementptr inbounds %struct.s2n_result, ptr %19, i32 0, i32 0
  %812 = load i32, ptr %811, align 4
  %813 = call zeroext i1 @s2n_result_is_ok(i32 %812)
  br i1 %813, label %867, label %814

814:                                              ; preds = %806
  br label %815

815:                                              ; preds = %814
  br label %816

816:                                              ; preds = %815
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %817 = call ptr @__errno_location() #12
  %818 = load i32, ptr %817, align 4, !tbaa !5
  store i32 %818, ptr %20, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = call i32 @s2n_print_stacktrace(ptr noundef %819)
  %821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %822 = trunc i8 %821 to i1
  br i1 %822, label %823, label %845

823:                                              ; preds = %816
  %824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %825 = call i32 @fileno(ptr noundef %824) #11
  %826 = call i32 @isatty(i32 noundef %825) #11
  %827 = icmp ne i32 %826, 0
  br i1 %827, label %828, label %845

828:                                              ; preds = %823
  %829 = load i32, ptr %20, align 4, !tbaa !5
  %830 = call ptr @__errno_location() #12
  store i32 %829, ptr %830, align 4, !tbaa !5
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = load i32, ptr @test_count, align 4, !tbaa !5
  %833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror(i32 noundef %834, ptr noundef @.str.4)
  %836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = call ptr @s2n_strerror_debug(i32 noundef %837, ptr noundef @.str.4)
  %839 = call ptr @__errno_location() #12
  %840 = load i32, ptr %839, align 4, !tbaa !5
  %841 = call ptr @strerror(i32 noundef %840) #11
  %842 = call ptr @__errno_location() #12
  %843 = load i32, ptr %842, align 4, !tbaa !5
  %844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %831, ptr noundef @.str.2, i32 noundef %832, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 115, ptr noundef %835, ptr noundef %838, ptr noundef %841, i32 noundef %843) #11
  br label %862

845:                                              ; preds = %823, %816
  %846 = load i32, ptr %20, align 4, !tbaa !5
  %847 = call ptr @__errno_location() #12
  store i32 %846, ptr %847, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror(i32 noundef %851, ptr noundef @.str.4)
  %853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %854 = load i32, ptr %853, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef @.str.4)
  %856 = call ptr @__errno_location() #12
  %857 = load i32, ptr %856, align 4, !tbaa !5
  %858 = call ptr @strerror(i32 noundef %857) #11
  %859 = call ptr @__errno_location() #12
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef @.str.5, i32 noundef %849, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 115, ptr noundef %852, ptr noundef %855, ptr noundef %858, i32 noundef %860) #11
  br label %862

862:                                              ; preds = %845, %828
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %863

863:                                              ; preds = %862
  br label %864

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

865:                                              ; No predecessors!
  br label %866

866:                                              ; preds = %865
  br label %867

867:                                              ; preds = %866, %806
  br label %868

868:                                              ; preds = %867
  br label %869

869:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #11
  call void @llvm.memset.p0.i64(ptr align 8 %21, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 160, ptr %22) #11
  call void @llvm.memset.p0.i64(ptr align 16 %22, i8 0, i64 160, i1 false)
  %870 = getelementptr inbounds <{ i64, i64, i64, i64, [16 x i64] }>, ptr %22, i32 0, i32 0
  store i64 5, ptr %870, align 16
  %871 = getelementptr inbounds <{ i64, i64, i64, i64, [16 x i64] }>, ptr %22, i32 0, i32 1
  store i64 6, ptr %871, align 8
  %872 = getelementptr inbounds <{ i64, i64, i64, i64, [16 x i64] }>, ptr %22, i32 0, i32 2
  store i64 1, ptr %872, align 16
  %873 = getelementptr inbounds <{ i64, i64, i64, i64, [16 x i64] }>, ptr %22, i32 0, i32 3
  store i64 10, ptr %873, align 8
  br label %874

874:                                              ; preds = %869
  %875 = load i32, ptr @test_count, align 4, !tbaa !5
  %876 = add nsw i32 %875, 1
  store i32 %876, ptr @test_count, align 4, !tbaa !5
  %877 = getelementptr inbounds [20 x i64], ptr %22, i64 0, i64 0
  %878 = call i32 @s2n_test_new_iovecs(ptr noundef %21, ptr noundef %17, ptr noundef %877, i64 noundef 20)
  %879 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  store i32 %878, ptr %879, align 4
  %880 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  %881 = load i32, ptr %880, align 4
  %882 = call zeroext i1 @s2n_result_is_ok(i32 %881)
  br i1 %882, label %936, label %883

883:                                              ; preds = %874
  br label %884

884:                                              ; preds = %883
  br label %885

885:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %886 = call ptr @__errno_location() #12
  %887 = load i32, ptr %886, align 4, !tbaa !5
  store i32 %887, ptr %24, align 4, !tbaa !5
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = call i32 @s2n_print_stacktrace(ptr noundef %888)
  %890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %891 = trunc i8 %890 to i1
  br i1 %891, label %892, label %914

892:                                              ; preds = %885
  %893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %894 = call i32 @fileno(ptr noundef %893) #11
  %895 = call i32 @isatty(i32 noundef %894) #11
  %896 = icmp ne i32 %895, 0
  br i1 %896, label %897, label %914

897:                                              ; preds = %892
  %898 = load i32, ptr %24, align 4, !tbaa !5
  %899 = call ptr @__errno_location() #12
  store i32 %898, ptr %899, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %903 = load i32, ptr %902, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror(i32 noundef %903, ptr noundef @.str.4)
  %905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %906 = load i32, ptr %905, align 4, !tbaa !5
  %907 = call ptr @s2n_strerror_debug(i32 noundef %906, ptr noundef @.str.4)
  %908 = call ptr @__errno_location() #12
  %909 = load i32, ptr %908, align 4, !tbaa !5
  %910 = call ptr @strerror(i32 noundef %909) #11
  %911 = call ptr @__errno_location() #12
  %912 = load i32, ptr %911, align 4, !tbaa !5
  %913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %900, ptr noundef @.str.2, i32 noundef %901, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 120, ptr noundef %904, ptr noundef %907, ptr noundef %910, i32 noundef %912) #11
  br label %931

914:                                              ; preds = %892, %885
  %915 = load i32, ptr %24, align 4, !tbaa !5
  %916 = call ptr @__errno_location() #12
  store i32 %915, ptr %916, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = load i32, ptr @test_count, align 4, !tbaa !5
  %919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %920 = load i32, ptr %919, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror(i32 noundef %920, ptr noundef @.str.4)
  %922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %923 = load i32, ptr %922, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror_debug(i32 noundef %923, ptr noundef @.str.4)
  %925 = call ptr @__errno_location() #12
  %926 = load i32, ptr %925, align 4, !tbaa !5
  %927 = call ptr @strerror(i32 noundef %926) #11
  %928 = call ptr @__errno_location() #12
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %917, ptr noundef @.str.5, i32 noundef %918, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 120, ptr noundef %921, ptr noundef %924, ptr noundef %927, i32 noundef %929) #11
  br label %931

931:                                              ; preds = %914, %897
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %932

932:                                              ; preds = %931
  br label %933

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

934:                                              ; No predecessors!
  br label %935

935:                                              ; preds = %934
  br label %936

936:                                              ; preds = %935, %874
  br label %937

937:                                              ; preds = %936
  br label %938

938:                                              ; preds = %937
  call void @llvm.lifetime.start.p0(i64 48, ptr %25) #11
  store i64 0, ptr %25, align 8, !tbaa !15
  %939 = getelementptr inbounds i64, ptr %25, i64 1
  %940 = getelementptr inbounds [20 x i64], ptr %22, i64 0, i64 0
  %941 = load i64, ptr %940, align 16, !tbaa !15
  store i64 %941, ptr %939, align 8, !tbaa !15
  %942 = getelementptr inbounds i64, ptr %25, i64 2
  %943 = getelementptr inbounds [20 x i64], ptr %22, i64 0, i64 0
  %944 = load i64, ptr %943, align 16, !tbaa !15
  %945 = add i64 %944, 1
  store i64 %945, ptr %942, align 8, !tbaa !15
  %946 = getelementptr inbounds i64, ptr %25, i64 3
  %947 = getelementptr inbounds [20 x i64], ptr %22, i64 0, i64 0
  %948 = load i64, ptr %947, align 16, !tbaa !15
  %949 = getelementptr inbounds [20 x i64], ptr %22, i64 0, i64 1
  %950 = load i64, ptr %949, align 8, !tbaa !15
  %951 = add i64 %948, %950
  store i64 %951, ptr %946, align 8, !tbaa !15
  %952 = getelementptr inbounds i64, ptr %25, i64 4
  store i64 99, ptr %952, align 8, !tbaa !15
  %953 = getelementptr inbounds i64, ptr %25, i64 5
  store i64 100, ptr %953, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #11
  %954 = call ptr @s2n_config_new()
  store ptr %954, ptr %26, align 8, !tbaa !9
  br label %955

955:                                              ; preds = %938
  %956 = load i32, ptr @test_count, align 4, !tbaa !5
  %957 = add nsw i32 %956, 1
  store i32 %957, ptr @test_count, align 4, !tbaa !5
  %958 = load ptr, ptr %26, align 8, !tbaa !9
  %959 = load ptr, ptr %14, align 8, !tbaa !9
  %960 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %958, ptr noundef %959)
  %961 = icmp eq i32 %960, -1
  br i1 %961, label %962, label %1015

962:                                              ; preds = %955
  br label %963

963:                                              ; preds = %962
  br label %964

964:                                              ; preds = %963
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %965 = call ptr @__errno_location() #12
  %966 = load i32, ptr %965, align 4, !tbaa !5
  store i32 %966, ptr %27, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = call i32 @s2n_print_stacktrace(ptr noundef %967)
  %969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %970 = trunc i8 %969 to i1
  br i1 %970, label %971, label %993

971:                                              ; preds = %964
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @fileno(ptr noundef %972) #11
  %974 = call i32 @isatty(i32 noundef %973) #11
  %975 = icmp ne i32 %974, 0
  br i1 %975, label %976, label %993

976:                                              ; preds = %971
  %977 = load i32, ptr %27, align 4, !tbaa !5
  %978 = call ptr @__errno_location() #12
  store i32 %977, ptr %978, align 4, !tbaa !5
  %979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %980 = load i32, ptr @test_count, align 4, !tbaa !5
  %981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %982 = load i32, ptr %981, align 4, !tbaa !5
  %983 = call ptr @s2n_strerror(i32 noundef %982, ptr noundef @.str.4)
  %984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %985 = load i32, ptr %984, align 4, !tbaa !5
  %986 = call ptr @s2n_strerror_debug(i32 noundef %985, ptr noundef @.str.4)
  %987 = call ptr @__errno_location() #12
  %988 = load i32, ptr %987, align 4, !tbaa !5
  %989 = call ptr @strerror(i32 noundef %988) #11
  %990 = call ptr @__errno_location() #12
  %991 = load i32, ptr %990, align 4, !tbaa !5
  %992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %979, ptr noundef @.str.2, i32 noundef %980, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 132, ptr noundef %983, ptr noundef %986, ptr noundef %989, i32 noundef %991) #11
  br label %1010

993:                                              ; preds = %971, %964
  %994 = load i32, ptr %27, align 4, !tbaa !5
  %995 = call ptr @__errno_location() #12
  store i32 %994, ptr %995, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef @.str.4)
  %1001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef @.str.4)
  %1004 = call ptr @__errno_location() #12
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @strerror(i32 noundef %1005) #11
  %1007 = call ptr @__errno_location() #12
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  %1009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef @.str.5, i32 noundef %997, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 132, ptr noundef %1000, ptr noundef %1003, ptr noundef %1006, i32 noundef %1008) #11
  br label %1010

1010:                                             ; preds = %993, %976
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

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

1013:                                             ; No predecessors!
  br label %1014

1014:                                             ; preds = %1013
  br label %1015

1015:                                             ; preds = %1014, %955
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

1017:                                             ; preds = %1016
  br label %1018

1018:                                             ; preds = %1017
  %1019 = load i32, ptr @test_count, align 4, !tbaa !5
  %1020 = add nsw i32 %1019, 1
  store i32 %1020, ptr @test_count, align 4, !tbaa !5
  %1021 = load ptr, ptr %26, align 8, !tbaa !9
  %1022 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %1021)
  %1023 = icmp eq i32 %1022, -1
  br i1 %1023, label %1024, label %1077

1024:                                             ; preds = %1018
  br label %1025

1025:                                             ; preds = %1024
  br label %1026

1026:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %1027 = call ptr @__errno_location() #12
  %1028 = load i32, ptr %1027, align 4, !tbaa !5
  store i32 %1028, ptr %28, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = call i32 @s2n_print_stacktrace(ptr noundef %1029)
  %1031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1032 = trunc i8 %1031 to i1
  br i1 %1032, label %1033, label %1055

1033:                                             ; preds = %1026
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = call i32 @fileno(ptr noundef %1034) #11
  %1036 = call i32 @isatty(i32 noundef %1035) #11
  %1037 = icmp ne i32 %1036, 0
  br i1 %1037, label %1038, label %1055

1038:                                             ; preds = %1033
  %1039 = load i32, ptr %28, align 4, !tbaa !5
  %1040 = call ptr @__errno_location() #12
  store i32 %1039, ptr %1040, align 4, !tbaa !5
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1042 = load i32, ptr @test_count, align 4, !tbaa !5
  %1043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror(i32 noundef %1044, ptr noundef @.str.4)
  %1046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = call ptr @s2n_strerror_debug(i32 noundef %1047, ptr noundef @.str.4)
  %1049 = call ptr @__errno_location() #12
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  %1051 = call ptr @strerror(i32 noundef %1050) #11
  %1052 = call ptr @__errno_location() #12
  %1053 = load i32, ptr %1052, align 4, !tbaa !5
  %1054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1041, ptr noundef @.str.2, i32 noundef %1042, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1045, ptr noundef %1048, ptr noundef %1051, i32 noundef %1053) #11
  br label %1072

1055:                                             ; preds = %1033, %1026
  %1056 = load i32, ptr %28, 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.5, i32 noundef %1059, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1062, ptr noundef %1065, ptr noundef %1068, i32 noundef %1070) #11
  br label %1072

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

1073:                                             ; preds = %1072
  br label %1074

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

1075:                                             ; No predecessors!
  br label %1076

1076:                                             ; preds = %1075
  br label %1077

1077:                                             ; preds = %1076, %1018
  br label %1078

1078:                                             ; preds = %1077
  br label %1079

1079:                                             ; preds = %1078
  br label %1080

1080:                                             ; preds = %1079
  %1081 = load i32, ptr @test_count, align 4, !tbaa !5
  %1082 = add nsw i32 %1081, 1
  store i32 %1082, ptr @test_count, align 4, !tbaa !5
  %1083 = load ptr, ptr %26, align 8, !tbaa !9
  %1084 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %1083, ptr noundef @.str.23)
  %1085 = icmp eq i32 %1084, -1
  br i1 %1085, label %1086, label %1139

1086:                                             ; preds = %1080
  br label %1087

1087:                                             ; preds = %1086
  br label %1088

1088:                                             ; preds = %1087
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1089 = call ptr @__errno_location() #12
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  store i32 %1090, ptr %29, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = call i32 @s2n_print_stacktrace(ptr noundef %1091)
  %1093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1094 = trunc i8 %1093 to i1
  br i1 %1094, label %1095, label %1117

1095:                                             ; preds = %1088
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @fileno(ptr noundef %1096) #11
  %1098 = call i32 @isatty(i32 noundef %1097) #11
  %1099 = icmp ne i32 %1098, 0
  br i1 %1099, label %1100, label %1117

1100:                                             ; preds = %1095
  %1101 = load i32, ptr %29, align 4, !tbaa !5
  %1102 = call ptr @__errno_location() #12
  store i32 %1101, ptr %1102, align 4, !tbaa !5
  %1103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1106 = load i32, ptr %1105, align 4, !tbaa !5
  %1107 = call ptr @s2n_strerror(i32 noundef %1106, ptr noundef @.str.4)
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror_debug(i32 noundef %1109, ptr noundef @.str.4)
  %1111 = call ptr @__errno_location() #12
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  %1113 = call ptr @strerror(i32 noundef %1112) #11
  %1114 = call ptr @__errno_location() #12
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1103, ptr noundef @.str.2, i32 noundef %1104, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 135, ptr noundef %1107, ptr noundef %1110, ptr noundef %1113, i32 noundef %1115) #11
  br label %1134

1117:                                             ; preds = %1095, %1088
  %1118 = load i32, ptr %29, align 4, !tbaa !5
  %1119 = call ptr @__errno_location() #12
  store i32 %1118, ptr %1119, align 4, !tbaa !5
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = load i32, ptr @test_count, align 4, !tbaa !5
  %1122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = call ptr @s2n_strerror(i32 noundef %1123, ptr noundef @.str.4)
  %1125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  %1127 = call ptr @s2n_strerror_debug(i32 noundef %1126, ptr noundef @.str.4)
  %1128 = call ptr @__errno_location() #12
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = call ptr @strerror(i32 noundef %1129) #11
  %1131 = call ptr @__errno_location() #12
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1120, ptr noundef @.str.5, i32 noundef %1121, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 135, ptr noundef %1124, ptr noundef %1127, ptr noundef %1130, i32 noundef %1132) #11
  br label %1134

1134:                                             ; preds = %1117, %1100
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1135

1135:                                             ; preds = %1134
  br label %1136

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

1137:                                             ; No predecessors!
  br label %1138

1138:                                             ; preds = %1137
  br label %1139

1139:                                             ; preds = %1138, %1080
  br label %1140

1140:                                             ; preds = %1139
  br label %1141

1141:                                             ; preds = %1140
  br label %1142

1142:                                             ; preds = %1141
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = add nsw i32 %1143, 1
  store i32 %1144, ptr @test_count, align 4, !tbaa !5
  %1145 = load ptr, ptr %26, align 8, !tbaa !9
  %1146 = call i32 @s2n_config_ktls_enable_unsafe_tls13(ptr noundef %1145)
  %1147 = icmp eq i32 %1146, -1
  br i1 %1147, label %1148, label %1201

1148:                                             ; preds = %1142
  br label %1149

1149:                                             ; preds = %1148
  br label %1150

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

1157:                                             ; preds = %1150
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @fileno(ptr noundef %1158) #11
  %1160 = call i32 @isatty(i32 noundef %1159) #11
  %1161 = icmp ne i32 %1160, 0
  br i1 %1161, label %1162, label %1179

1162:                                             ; preds = %1157
  %1163 = load i32, ptr %30, align 4, !tbaa !5
  %1164 = call ptr @__errno_location() #12
  store i32 %1163, ptr %1164, align 4, !tbaa !5
  %1165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1166 = load i32, ptr @test_count, align 4, !tbaa !5
  %1167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = call ptr @s2n_strerror(i32 noundef %1168, ptr noundef @.str.4)
  %1170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1171 = load i32, ptr %1170, align 4, !tbaa !5
  %1172 = call ptr @s2n_strerror_debug(i32 noundef %1171, ptr noundef @.str.4)
  %1173 = call ptr @__errno_location() #12
  %1174 = load i32, ptr %1173, align 4, !tbaa !5
  %1175 = call ptr @strerror(i32 noundef %1174) #11
  %1176 = call ptr @__errno_location() #12
  %1177 = load i32, ptr %1176, align 4, !tbaa !5
  %1178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1165, ptr noundef @.str.2, i32 noundef %1166, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 136, ptr noundef %1169, ptr noundef %1172, ptr noundef %1175, i32 noundef %1177) #11
  br label %1196

1179:                                             ; preds = %1157, %1150
  %1180 = load i32, ptr %30, align 4, !tbaa !5
  %1181 = call ptr @__errno_location() #12
  store i32 %1180, ptr %1181, align 4, !tbaa !5
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = load i32, ptr @test_count, align 4, !tbaa !5
  %1184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1185 = load i32, ptr %1184, align 4, !tbaa !5
  %1186 = call ptr @s2n_strerror(i32 noundef %1185, ptr noundef @.str.4)
  %1187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1188 = load i32, ptr %1187, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror_debug(i32 noundef %1188, ptr noundef @.str.4)
  %1190 = call ptr @__errno_location() #12
  %1191 = load i32, ptr %1190, align 4, !tbaa !5
  %1192 = call ptr @strerror(i32 noundef %1191) #11
  %1193 = call ptr @__errno_location() #12
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1182, ptr noundef @.str.5, i32 noundef %1183, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 136, ptr noundef %1186, ptr noundef %1189, ptr noundef %1192, i32 noundef %1194) #11
  br label %1196

1196:                                             ; preds = %1179, %1162
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1197

1197:                                             ; preds = %1196
  br label %1198

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

1199:                                             ; No predecessors!
  br label %1200

1200:                                             ; preds = %1199
  br label %1201

1201:                                             ; preds = %1200, %1142
  br label %1202

1202:                                             ; preds = %1201
  br label %1203

1203:                                             ; preds = %1202
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #11
  store i8 1, ptr %31, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #11
  store i8 1, ptr %32, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #11
  %1204 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1204, ptr %33, align 8, !tbaa !9
  br label %1205

1205:                                             ; preds = %1203
  %1206 = load i32, ptr @test_count, align 4, !tbaa !5
  %1207 = add nsw i32 %1206, 1
  store i32 %1207, ptr @test_count, align 4, !tbaa !5
  %1208 = load ptr, ptr %33, align 8, !tbaa !9
  %1209 = icmp eq ptr %1208, null
  br i1 %1209, label %1210, label %1263

1210:                                             ; preds = %1205
  br label %1211

1211:                                             ; preds = %1210
  br label %1212

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

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

1224:                                             ; preds = %1219
  %1225 = load i32, ptr %34, align 4, !tbaa !5
  %1226 = call ptr @__errno_location() #12
  store i32 %1225, ptr %1226, align 4, !tbaa !5
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = load i32, 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(i32 noundef %1230, ptr noundef @.str.4)
  %1232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror_debug(i32 noundef %1233, ptr noundef @.str.4)
  %1235 = call ptr @__errno_location() #12
  %1236 = load i32, ptr %1235, align 4, !tbaa !5
  %1237 = call ptr @strerror(i32 noundef %1236) #11
  %1238 = call ptr @__errno_location() #12
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1227, ptr noundef @.str.2, i32 noundef %1228, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 148, ptr noundef %1231, ptr noundef %1234, ptr noundef %1237, i32 noundef %1239) #11
  br label %1258

1241:                                             ; preds = %1219, %1212
  %1242 = load i32, ptr %34, align 4, !tbaa !5
  %1243 = call ptr @__errno_location() #12
  store i32 %1242, ptr %1243, align 4, !tbaa !5
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = load i32, ptr @test_count, align 4, !tbaa !5
  %1246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1247 = load i32, ptr %1246, align 4, !tbaa !5
  %1248 = call ptr @s2n_strerror(i32 noundef %1247, ptr noundef @.str.4)
  %1249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = call ptr @s2n_strerror_debug(i32 noundef %1250, ptr noundef @.str.4)
  %1252 = call ptr @__errno_location() #12
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = call ptr @strerror(i32 noundef %1253) #11
  %1255 = call ptr @__errno_location() #12
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1244, ptr noundef @.str.5, i32 noundef %1245, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 148, ptr noundef %1248, ptr noundef %1251, ptr noundef %1254, i32 noundef %1256) #11
  br label %1258

1258:                                             ; preds = %1241, %1224
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1259

1259:                                             ; preds = %1258
  br label %1260

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

1261:                                             ; No predecessors!
  br label %1262

1262:                                             ; preds = %1261
  br label %1263

1263:                                             ; preds = %1262, %1205
  br label %1264

1264:                                             ; preds = %1263
  br label %1265

1265:                                             ; preds = %1264
  br label %1266

1266:                                             ; preds = %1265
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = add nsw i32 %1267, 1
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %1269 = load ptr, ptr %33, align 8, !tbaa !9
  %1270 = load ptr, ptr %26, align 8, !tbaa !9
  %1271 = call i32 @s2n_connection_set_config(ptr noundef %1269, ptr noundef %1270)
  %1272 = icmp eq i32 %1271, -1
  br i1 %1272, label %1273, label %1326

1273:                                             ; preds = %1266
  br label %1274

1274:                                             ; preds = %1273
  br label %1275

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

1282:                                             ; preds = %1275
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = call i32 @fileno(ptr noundef %1283) #11
  %1285 = call i32 @isatty(i32 noundef %1284) #11
  %1286 = icmp ne i32 %1285, 0
  br i1 %1286, label %1287, label %1304

1287:                                             ; preds = %1282
  %1288 = load i32, ptr %35, align 4, !tbaa !5
  %1289 = call ptr @__errno_location() #12
  store i32 %1288, ptr %1289, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef @.str.4)
  %1295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror_debug(i32 noundef %1296, ptr noundef @.str.4)
  %1298 = call ptr @__errno_location() #12
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call ptr @strerror(i32 noundef %1299) #11
  %1301 = call ptr @__errno_location() #12
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1290, ptr noundef @.str.2, i32 noundef %1291, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 149, ptr noundef %1294, ptr noundef %1297, ptr noundef %1300, i32 noundef %1302) #11
  br label %1321

1304:                                             ; preds = %1282, %1275
  %1305 = load i32, ptr %35, align 4, !tbaa !5
  %1306 = call ptr @__errno_location() #12
  store i32 %1305, ptr %1306, align 4, !tbaa !5
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = load i32, ptr @test_count, align 4, !tbaa !5
  %1309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1310 = load i32, ptr %1309, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror(i32 noundef %1310, ptr noundef @.str.4)
  %1312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1313 = load i32, ptr %1312, align 4, !tbaa !5
  %1314 = call ptr @s2n_strerror_debug(i32 noundef %1313, ptr noundef @.str.4)
  %1315 = call ptr @__errno_location() #12
  %1316 = load i32, ptr %1315, align 4, !tbaa !5
  %1317 = call ptr @strerror(i32 noundef %1316) #11
  %1318 = call ptr @__errno_location() #12
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1307, ptr noundef @.str.5, i32 noundef %1308, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 149, ptr noundef %1311, ptr noundef %1314, ptr noundef %1317, i32 noundef %1319) #11
  br label %1321

1321:                                             ; preds = %1304, %1287
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1322

1322:                                             ; preds = %1321
  br label %1323

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

1324:                                             ; No predecessors!
  br label %1325

1325:                                             ; preds = %1324
  br label %1326

1326:                                             ; preds = %1325, %1266
  br label %1327

1327:                                             ; preds = %1326
  br label %1328

1328:                                             ; preds = %1327
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #11
  %1329 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1329, ptr %36, align 8, !tbaa !9
  br label %1330

1330:                                             ; preds = %1328
  %1331 = load i32, ptr @test_count, align 4, !tbaa !5
  %1332 = add nsw i32 %1331, 1
  store i32 %1332, ptr @test_count, align 4, !tbaa !5
  %1333 = load ptr, ptr %36, align 8, !tbaa !9
  %1334 = icmp eq ptr %1333, null
  br i1 %1334, label %1335, label %1388

1335:                                             ; preds = %1330
  br label %1336

1336:                                             ; preds = %1335
  br label %1337

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

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

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

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

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

1384:                                             ; preds = %1383
  br label %1385

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

1386:                                             ; No predecessors!
  br label %1387

1387:                                             ; preds = %1386
  br label %1388

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

1389:                                             ; preds = %1388
  br label %1390

1390:                                             ; preds = %1389
  br label %1391

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

1398:                                             ; preds = %1391
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

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

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

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

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

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

1447:                                             ; preds = %1446
  br label %1448

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

1449:                                             ; No predecessors!
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

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

1452:                                             ; preds = %1451
  br label %1453

1453:                                             ; preds = %1452
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #11
  call void @llvm.memset.p0.i64(ptr align 4 %39, i8 0, i64 8, i1 false)
  %1454 = call i32 @s2n_new_inet_socket_pair(ptr noundef %39)
  %1455 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  store i32 %1454, ptr %1455, align 4
  %1456 = getelementptr inbounds %struct.s2n_result, ptr %40, i32 0, i32 0
  %1457 = load i32, ptr %1456, align 4
  %1458 = call zeroext i1 @s2n_result_is_error(i32 %1457)
  br i1 %1458, label %1459, label %1736

1459:                                             ; preds = %1453
  br label %1460

1460:                                             ; preds = %1459
  %1461 = load i32, ptr @test_count, align 4, !tbaa !5
  %1462 = add nsw i32 %1461, 1
  store i32 %1462, ptr @test_count, align 4, !tbaa !5
  %1463 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %1464 = trunc i8 %1463 to i1
  br i1 %1464, label %1465, label %1518

1465:                                             ; preds = %1460
  br label %1466

1466:                                             ; preds = %1465
  br label %1467

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

1474:                                             ; preds = %1467
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @fileno(ptr noundef %1475) #11
  %1477 = call i32 @isatty(i32 noundef %1476) #11
  %1478 = icmp ne i32 %1477, 0
  br i1 %1478, label %1479, label %1496

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

1496:                                             ; preds = %1474, %1467
  %1497 = load i32, ptr %41, align 4, !tbaa !5
  %1498 = call ptr @__errno_location() #12
  store i32 %1497, ptr %1498, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror(i32 noundef %1502, ptr noundef @.str.4)
  %1504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef @.str.4)
  %1507 = call ptr @__errno_location() #12
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #11
  %1510 = call ptr @__errno_location() #12
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef @.str.5, i32 noundef %1500, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 162, ptr noundef %1503, ptr noundef %1506, ptr noundef %1509, i32 noundef %1511) #11
  br label %1513

1513:                                             ; preds = %1496, %1479
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1514

1514:                                             ; preds = %1513
  br label %1515

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

1516:                                             ; No predecessors!
  br label %1517

1517:                                             ; preds = %1516
  br label %1518

1518:                                             ; preds = %1517, %1460
  br label %1519

1519:                                             ; preds = %1518
  br label %1520

1520:                                             ; preds = %1519
  br label %1521

1521:                                             ; preds = %1520
  %1522 = load i32, ptr @test_count, align 4, !tbaa !5
  %1523 = add nsw i32 %1522, 1
  store i32 %1523, ptr @test_count, align 4, !tbaa !5
  %1524 = call i32 @s2n_io_pair_close(ptr noundef %39)
  %1525 = icmp eq i32 %1524, -1
  br i1 %1525, label %1526, label %1579

1526:                                             ; preds = %1521
  br label %1527

1527:                                             ; preds = %1526
  br label %1528

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

1535:                                             ; preds = %1528
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = call i32 @fileno(ptr noundef %1536) #11
  %1538 = call i32 @isatty(i32 noundef %1537) #11
  %1539 = icmp ne i32 %1538, 0
  br i1 %1539, label %1540, label %1557

1540:                                             ; preds = %1535
  %1541 = load i32, ptr %42, align 4, !tbaa !5
  %1542 = call ptr @__errno_location() #12
  store i32 %1541, ptr %1542, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror(i32 noundef %1546, ptr noundef @.str.4)
  %1548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror_debug(i32 noundef %1549, ptr noundef @.str.4)
  %1551 = call ptr @__errno_location() #12
  %1552 = load i32, ptr %1551, align 4, !tbaa !5
  %1553 = call ptr @strerror(i32 noundef %1552) #11
  %1554 = call ptr @__errno_location() #12
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1543, ptr noundef @.str.2, i32 noundef %1544, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 163, ptr noundef %1547, ptr noundef %1550, ptr noundef %1553, i32 noundef %1555) #11
  br label %1574

1557:                                             ; preds = %1535, %1528
  %1558 = load i32, ptr %42, align 4, !tbaa !5
  %1559 = call ptr @__errno_location() #12
  store i32 %1558, ptr %1559, align 4, !tbaa !5
  %1560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1561 = load i32, ptr @test_count, align 4, !tbaa !5
  %1562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1563 = load i32, ptr %1562, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror(i32 noundef %1563, ptr noundef @.str.4)
  %1565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1566 = load i32, ptr %1565, align 4, !tbaa !5
  %1567 = call ptr @s2n_strerror_debug(i32 noundef %1566, ptr noundef @.str.4)
  %1568 = call ptr @__errno_location() #12
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #11
  %1571 = call ptr @__errno_location() #12
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1560, ptr noundef @.str.5, i32 noundef %1561, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 163, ptr noundef %1564, ptr noundef %1567, ptr noundef %1570, i32 noundef %1572) #11
  br label %1574

1574:                                             ; preds = %1557, %1540
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1575

1575:                                             ; preds = %1574
  br label %1576

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

1577:                                             ; No predecessors!
  br label %1578

1578:                                             ; preds = %1577
  br label %1579

1579:                                             ; preds = %1578, %1521
  br label %1580

1580:                                             ; preds = %1579
  br label %1581

1581:                                             ; preds = %1580
  br label %1582

1582:                                             ; preds = %1581
  br label %1583

1583:                                             ; preds = %1582
  %1584 = call i32 @s2n_cleanup()
  %1585 = icmp eq i32 %1584, -1
  br i1 %1585, label %1586, label %1639

1586:                                             ; preds = %1583
  br label %1587

1587:                                             ; preds = %1586
  br label %1588

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

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

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

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

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

1635:                                             ; preds = %1634
  br label %1636

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

1637:                                             ; No predecessors!
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

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

1640:                                             ; preds = %1639
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

1642:                                             ; preds = %1641
  br label %1643

1643:                                             ; preds = %1642
  %1644 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %1645 = icmp eq i32 %1644, -1
  br i1 %1645, label %1646, label %1699

1646:                                             ; preds = %1643
  br label %1647

1647:                                             ; preds = %1646
  br label %1648

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

1655:                                             ; preds = %1648
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = call i32 @fileno(ptr noundef %1656) #11
  %1658 = call i32 @isatty(i32 noundef %1657) #11
  %1659 = icmp ne i32 %1658, 0
  br i1 %1659, label %1660, label %1677

1660:                                             ; preds = %1655
  %1661 = load i32, ptr %44, align 4, !tbaa !5
  %1662 = call ptr @__errno_location() #12
  store i32 %1661, ptr %1662, align 4, !tbaa !5
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = load i32, ptr @test_count, align 4, !tbaa !5
  %1665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @s2n_strerror(i32 noundef %1666, ptr noundef @.str.4)
  %1668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call ptr @s2n_strerror_debug(i32 noundef %1669, ptr noundef @.str.4)
  %1671 = call ptr @__errno_location() #12
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @strerror(i32 noundef %1672) #11
  %1674 = call ptr @__errno_location() #12
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1663, ptr noundef @.str.2, i32 noundef %1664, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 164, ptr noundef %1667, ptr noundef %1670, ptr noundef %1673, i32 noundef %1675) #11
  br label %1694

1677:                                             ; preds = %1655, %1648
  %1678 = load i32, ptr %44, align 4, !tbaa !5
  %1679 = call ptr @__errno_location() #12
  store i32 %1678, ptr %1679, align 4, !tbaa !5
  %1680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1683 = load i32, ptr %1682, align 4, !tbaa !5
  %1684 = call ptr @s2n_strerror(i32 noundef %1683, ptr noundef @.str.4)
  %1685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1686 = load i32, ptr %1685, align 4, !tbaa !5
  %1687 = call ptr @s2n_strerror_debug(i32 noundef %1686, ptr noundef @.str.4)
  %1688 = call ptr @__errno_location() #12
  %1689 = load i32, ptr %1688, align 4, !tbaa !5
  %1690 = call ptr @strerror(i32 noundef %1689) #11
  %1691 = call ptr @__errno_location() #12
  %1692 = load i32, ptr %1691, align 4, !tbaa !5
  %1693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1680, ptr noundef @.str.5, i32 noundef %1681, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 164, ptr noundef %1684, ptr noundef %1687, ptr noundef %1690, i32 noundef %1692) #11
  br label %1694

1694:                                             ; preds = %1677, %1660
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %1695

1695:                                             ; preds = %1694
  br label %1696

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

1697:                                             ; No predecessors!
  br label %1698

1698:                                             ; preds = %1697
  br label %1699

1699:                                             ; preds = %1698, %1643
  br label %1700

1700:                                             ; preds = %1699
  br label %1701

1701:                                             ; preds = %1700
  %1702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1703 = trunc i8 %1702 to i1
  br i1 %1703, label %1704, label %1720

1704:                                             ; preds = %1701
  %1705 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1706 = call i32 @fileno(ptr noundef %1705) #11
  %1707 = call i32 @isatty(i32 noundef %1706) #11
  %1708 = icmp ne i32 %1707, 0
  br i1 %1708, label %1709, label %1720

1709:                                             ; preds = %1704
  %1710 = load i32, ptr @test_count, align 4, !tbaa !5
  %1711 = icmp ne i32 %1710, 0
  br i1 %1711, label %1712, label %1716

1712:                                             ; preds = %1709
  %1713 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef @.str.11, i32 noundef %1714) #11
  br label %1719

1716:                                             ; preds = %1709
  %1717 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1717, ptr noundef @.str.12) #11
  br label %1719

1719:                                             ; preds = %1716, %1712
  br label %1731

1720:                                             ; preds = %1704, %1701
  %1721 = load i32, ptr @test_count, align 4, !tbaa !5
  %1722 = icmp ne i32 %1721, 0
  br i1 %1722, label %1723, label %1727

1723:                                             ; preds = %1720
  %1724 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1725 = load i32, ptr @test_count, align 4, !tbaa !5
  %1726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1724, ptr noundef @.str.13, i32 noundef %1725) #11
  br label %1730

1727:                                             ; preds = %1720
  %1728 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1728, ptr noundef @.str.14) #11
  br label %1730

1730:                                             ; preds = %1727, %1723
  br label %1731

1731:                                             ; preds = %1730, %1719
  store i32 0, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %2061

1732:                                             ; No predecessors!
  br label %1733

1733:                                             ; preds = %1732
  br label %1734

1734:                                             ; preds = %1733
  br label %1735

1735:                                             ; preds = %1734
  br label %1736

1736:                                             ; preds = %1735, %1453
  br label %1737

1737:                                             ; preds = %1736
  %1738 = load i32, ptr @test_count, align 4, !tbaa !5
  %1739 = add nsw i32 %1738, 1
  store i32 %1739, ptr @test_count, align 4, !tbaa !5
  %1740 = load ptr, ptr %36, align 8, !tbaa !9
  %1741 = load ptr, ptr %33, align 8, !tbaa !9
  %1742 = call i32 @s2n_setup_connections(ptr noundef %1740, ptr noundef %1741, ptr noundef %39)
  %1743 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  store i32 %1742, ptr %1743, align 4
  %1744 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  %1745 = load i32, ptr %1744, align 4
  %1746 = call zeroext i1 @s2n_result_is_ok(i32 %1745)
  br i1 %1746, label %1800, label %1747

1747:                                             ; preds = %1737
  br label %1748

1748:                                             ; preds = %1747
  br label %1749

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

1756:                                             ; preds = %1749
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @fileno(ptr noundef %1757) #11
  %1759 = call i32 @isatty(i32 noundef %1758) #11
  %1760 = icmp ne i32 %1759, 0
  br i1 %1760, label %1761, label %1778

1761:                                             ; preds = %1756
  %1762 = load i32, ptr %46, align 4, !tbaa !5
  %1763 = call ptr @__errno_location() #12
  store i32 %1762, ptr %1763, align 4, !tbaa !5
  %1764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1765 = load i32, ptr @test_count, align 4, !tbaa !5
  %1766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1767 = load i32, ptr %1766, align 4, !tbaa !5
  %1768 = call ptr @s2n_strerror(i32 noundef %1767, ptr noundef @.str.4)
  %1769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1770 = load i32, ptr %1769, align 4, !tbaa !5
  %1771 = call ptr @s2n_strerror_debug(i32 noundef %1770, ptr noundef @.str.4)
  %1772 = call ptr @__errno_location() #12
  %1773 = load i32, ptr %1772, align 4, !tbaa !5
  %1774 = call ptr @strerror(i32 noundef %1773) #11
  %1775 = call ptr @__errno_location() #12
  %1776 = load i32, ptr %1775, align 4, !tbaa !5
  %1777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1764, ptr noundef @.str.2, i32 noundef %1765, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 166, ptr noundef %1768, ptr noundef %1771, ptr noundef %1774, i32 noundef %1776) #11
  br label %1795

1778:                                             ; preds = %1756, %1749
  %1779 = load i32, ptr %46, align 4, !tbaa !5
  %1780 = call ptr @__errno_location() #12
  store i32 %1779, ptr %1780, align 4, !tbaa !5
  %1781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1782 = load i32, ptr @test_count, align 4, !tbaa !5
  %1783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1784 = load i32, ptr %1783, align 4, !tbaa !5
  %1785 = call ptr @s2n_strerror(i32 noundef %1784, ptr noundef @.str.4)
  %1786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1787 = load i32, ptr %1786, align 4, !tbaa !5
  %1788 = call ptr @s2n_strerror_debug(i32 noundef %1787, ptr noundef @.str.4)
  %1789 = call ptr @__errno_location() #12
  %1790 = load i32, ptr %1789, align 4, !tbaa !5
  %1791 = call ptr @strerror(i32 noundef %1790) #11
  %1792 = call ptr @__errno_location() #12
  %1793 = load i32, ptr %1792, align 4, !tbaa !5
  %1794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1781, ptr noundef @.str.5, i32 noundef %1782, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 166, ptr noundef %1785, ptr noundef %1788, ptr noundef %1791, i32 noundef %1793) #11
  br label %1795

1795:                                             ; preds = %1778, %1761
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %1796

1796:                                             ; preds = %1795
  br label %1797

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

1798:                                             ; No predecessors!
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799, %1737
  br label %1801

1801:                                             ; preds = %1800
  br label %1802

1802:                                             ; preds = %1801
  %1803 = load ptr, ptr %33, align 8, !tbaa !9
  %1804 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %1803)
  %1805 = icmp eq i32 %1804, 0
  br i1 %1805, label %1806, label %1869

1806:                                             ; preds = %1802
  br label %1807

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

1813:                                             ; preds = %1807
  br label %1814

1814:                                             ; preds = %1813
  br label %1815

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

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

1827:                                             ; preds = %1822
  %1828 = load i32, ptr %47, align 4, !tbaa !5
  %1829 = call ptr @__errno_location() #12
  store i32 %1828, ptr %1829, align 4, !tbaa !5
  %1830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1831 = load i32, ptr @test_count, align 4, !tbaa !5
  %1832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1833 = load i32, ptr %1832, align 4, !tbaa !5
  %1834 = call ptr @s2n_strerror(i32 noundef %1833, ptr noundef @.str.4)
  %1835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1836 = load i32, ptr %1835, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror_debug(i32 noundef %1836, ptr noundef @.str.4)
  %1838 = call ptr @__errno_location() #12
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @strerror(i32 noundef %1839) #11
  %1841 = call ptr @__errno_location() #12
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1830, ptr noundef @.str.2, i32 noundef %1831, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 169, ptr noundef %1834, ptr noundef %1837, ptr noundef %1840, i32 noundef %1842) #11
  br label %1861

1844:                                             ; preds = %1822, %1815
  %1845 = load i32, ptr %47, align 4, !tbaa !5
  %1846 = call ptr @__errno_location() #12
  store i32 %1845, ptr %1846, align 4, !tbaa !5
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1850 = load i32, ptr %1849, align 4, !tbaa !5
  %1851 = call ptr @s2n_strerror(i32 noundef %1850, ptr noundef @.str.4)
  %1852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = call ptr @s2n_strerror_debug(i32 noundef %1853, ptr noundef @.str.4)
  %1855 = call ptr @__errno_location() #12
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @strerror(i32 noundef %1856) #11
  %1858 = call ptr @__errno_location() #12
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1847, ptr noundef @.str.5, i32 noundef %1848, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 169, ptr noundef %1851, ptr noundef %1854, ptr noundef %1857, i32 noundef %1859) #11
  br label %1861

1861:                                             ; preds = %1844, %1827
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %1862

1862:                                             ; preds = %1861
  br label %1863

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

1864:                                             ; No predecessors!
  br label %1865

1865:                                             ; preds = %1864
  br label %1866

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

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867
  br label %1931

1869:                                             ; preds = %1802
  br label %1870

1870:                                             ; preds = %1869
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = add nsw i32 %1871, 1
  store i32 %1872, ptr @test_count, align 4, !tbaa !5
  %1873 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %1874 = trunc i8 %1873 to i1
  br i1 %1874, label %1875, label %1928

1875:                                             ; preds = %1870
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

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

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

1889:                                             ; preds = %1884
  %1890 = load i32, ptr %48, align 4, !tbaa !5
  %1891 = call ptr @__errno_location() #12
  store i32 %1890, ptr %1891, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1895 = load i32, ptr %1894, align 4, !tbaa !5
  %1896 = call ptr @s2n_strerror(i32 noundef %1895, ptr noundef @.str.4)
  %1897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1898 = load i32, ptr %1897, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror_debug(i32 noundef %1898, ptr noundef @.str.4)
  %1900 = call ptr @__errno_location() #12
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @strerror(i32 noundef %1901) #11
  %1903 = call ptr @__errno_location() #12
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef @.str.2, i32 noundef %1893, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 171, ptr noundef %1896, ptr noundef %1899, ptr noundef %1902, i32 noundef %1904) #11
  br label %1923

1906:                                             ; preds = %1884, %1877
  %1907 = load i32, ptr %48, align 4, !tbaa !5
  %1908 = call ptr @__errno_location() #12
  store i32 %1907, ptr %1908, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef @.str.4)
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror_debug(i32 noundef %1915, ptr noundef @.str.4)
  %1917 = call ptr @__errno_location() #12
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @strerror(i32 noundef %1918) #11
  %1920 = call ptr @__errno_location() #12
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1909, ptr noundef @.str.5, i32 noundef %1910, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 171, ptr noundef %1913, ptr noundef %1916, ptr noundef %1919, i32 noundef %1921) #11
  br label %1923

1923:                                             ; preds = %1906, %1889
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %1924

1924:                                             ; preds = %1923
  br label %1925

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

1926:                                             ; No predecessors!
  br label %1927

1927:                                             ; preds = %1926
  br label %1928

1928:                                             ; preds = %1927, %1870
  br label %1929

1929:                                             ; preds = %1928
  br label %1930

1930:                                             ; preds = %1929
  store i8 0, ptr %31, align 1, !tbaa !11
  br label %1931

1931:                                             ; preds = %1930, %1868
  %1932 = load ptr, ptr %33, align 8, !tbaa !9
  %1933 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %1932)
  %1934 = icmp eq i32 %1933, 0
  br i1 %1934, label %1935, label %1998

1935:                                             ; preds = %1931
  br label %1936

1936:                                             ; preds = %1935
  %1937 = load i32, ptr @test_count, align 4, !tbaa !5
  %1938 = add nsw i32 %1937, 1
  store i32 %1938, ptr @test_count, align 4, !tbaa !5
  %1939 = load ptr, ptr %36, align 8, !tbaa !9
  %1940 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %1939)
  %1941 = icmp eq i32 %1940, -1
  br i1 %1941, label %1942, label %1995

1942:                                             ; preds = %1936
  br label %1943

1943:                                             ; preds = %1942
  br label %1944

1944:                                             ; preds = %1943
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %1945 = call ptr @__errno_location() #12
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  store i32 %1946, ptr %49, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = call i32 @s2n_print_stacktrace(ptr noundef %1947)
  %1949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1950 = trunc i8 %1949 to i1
  br i1 %1950, label %1951, label %1973

1951:                                             ; preds = %1944
  %1952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1953 = call i32 @fileno(ptr noundef %1952) #11
  %1954 = call i32 @isatty(i32 noundef %1953) #11
  %1955 = icmp ne i32 %1954, 0
  br i1 %1955, label %1956, label %1973

1956:                                             ; preds = %1951
  %1957 = load i32, ptr %49, align 4, !tbaa !5
  %1958 = call ptr @__errno_location() #12
  store i32 %1957, ptr %1958, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror(i32 noundef %1962, ptr noundef @.str.4)
  %1964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1965 = load i32, ptr %1964, align 4, !tbaa !5
  %1966 = call ptr @s2n_strerror_debug(i32 noundef %1965, ptr noundef @.str.4)
  %1967 = call ptr @__errno_location() #12
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #11
  %1970 = call ptr @__errno_location() #12
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1959, ptr noundef @.str.2, i32 noundef %1960, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 176, ptr noundef %1963, ptr noundef %1966, ptr noundef %1969, i32 noundef %1971) #11
  br label %1990

1973:                                             ; preds = %1951, %1944
  %1974 = load i32, ptr %49, align 4, !tbaa !5
  %1975 = call ptr @__errno_location() #12
  store i32 %1974, ptr %1975, align 4, !tbaa !5
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = load i32, ptr @test_count, align 4, !tbaa !5
  %1978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @s2n_strerror(i32 noundef %1979, ptr noundef @.str.4)
  %1981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call ptr @s2n_strerror_debug(i32 noundef %1982, ptr noundef @.str.4)
  %1984 = call ptr @__errno_location() #12
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @strerror(i32 noundef %1985) #11
  %1987 = call ptr @__errno_location() #12
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1976, ptr noundef @.str.5, i32 noundef %1977, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 176, ptr noundef %1980, ptr noundef %1983, ptr noundef %1986, i32 noundef %1988) #11
  br label %1990

1990:                                             ; preds = %1973, %1956
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %1991

1991:                                             ; preds = %1990
  br label %1992

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

1993:                                             ; No predecessors!
  br label %1994

1994:                                             ; preds = %1993
  br label %1995

1995:                                             ; preds = %1994, %1936
  br label %1996

1996:                                             ; preds = %1995
  br label %1997

1997:                                             ; preds = %1996
  br label %2060

1998:                                             ; preds = %1931
  br label %1999

1999:                                             ; preds = %1998
  %2000 = load i32, ptr @test_count, align 4, !tbaa !5
  %2001 = add nsw i32 %2000, 1
  store i32 %2001, ptr @test_count, align 4, !tbaa !5
  %2002 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %2003 = trunc i8 %2002 to i1
  br i1 %2003, label %2004, label %2057

2004:                                             ; preds = %1999
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

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

2013:                                             ; preds = %2006
  %2014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2015 = call i32 @fileno(ptr noundef %2014) #11
  %2016 = call i32 @isatty(i32 noundef %2015) #11
  %2017 = icmp ne i32 %2016, 0
  br i1 %2017, label %2018, label %2035

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

2035:                                             ; preds = %2013, %2006
  %2036 = load i32, ptr %50, align 4, !tbaa !5
  %2037 = call ptr @__errno_location() #12
  store i32 %2036, ptr %2037, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = load i32, ptr @test_count, align 4, !tbaa !5
  %2040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call ptr @s2n_strerror(i32 noundef %2041, ptr noundef @.str.4)
  %2043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2044 = load i32, ptr %2043, align 4, !tbaa !5
  %2045 = call ptr @s2n_strerror_debug(i32 noundef %2044, ptr noundef @.str.4)
  %2046 = call ptr @__errno_location() #12
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @strerror(i32 noundef %2047) #11
  %2049 = call ptr @__errno_location() #12
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2038, ptr noundef @.str.5, i32 noundef %2039, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 178, ptr noundef %2042, ptr noundef %2045, ptr noundef %2048, i32 noundef %2050) #11
  br label %2052

2052:                                             ; preds = %2035, %2018
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2053

2053:                                             ; preds = %2052
  br label %2054

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

2055:                                             ; No predecessors!
  br label %2056

2056:                                             ; preds = %2055
  br label %2057

2057:                                             ; preds = %2056, %1999
  br label %2058

2058:                                             ; preds = %2057
  br label %2059

2059:                                             ; preds = %2058
  store i8 0, ptr %32, align 1, !tbaa !11
  br label %2060

2060:                                             ; preds = %2059, %1997
  store i32 0, ptr %12, align 4
  br label %2061

2061:                                             ; preds = %2060, %1731
  %2062 = call i32 @s2n_io_pair_close(ptr noundef %39)
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #11
  %2063 = call i32 @s2n_connection_ptr_free(ptr noundef %36)
  %2064 = getelementptr inbounds %struct.s2n_result, ptr %51, i32 0, i32 0
  store i32 %2063, ptr %2064, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #11
  %2065 = call i32 @s2n_connection_ptr_free(ptr noundef %33)
  %2066 = getelementptr inbounds %struct.s2n_result, ptr %52, i32 0, i32 0
  store i32 %2065, ptr %2066, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #11
  %2067 = load i32, ptr %12, align 4
  switch i32 %2067, label %11940 [
    i32 0, label %2068
  ]

2068:                                             ; preds = %2061
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #11
  store i64 0, ptr %53, align 8, !tbaa !15
  br label %2069

2069:                                             ; preds = %4468, %2068
  %2070 = load i64, ptr %53, align 8, !tbaa !15
  %2071 = icmp ult i64 %2070, 2
  br i1 %2071, label %2073, label %2072

2072:                                             ; preds = %2069
  store i32 170, ptr %12, align 4
  br label %4471

2073:                                             ; preds = %2069
  %2074 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %2075 = trunc i8 %2074 to i1
  br i1 %2075, label %2077, label %2076

2076:                                             ; preds = %2073
  store i32 170, ptr %12, align 4
  br label %4471

2077:                                             ; preds = %2073
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2078 = load i64, ptr %53, align 8, !tbaa !15
  %2079 = getelementptr inbounds [2 x i32], ptr %13, i64 0, i64 %2078
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  store i32 %2080, ptr %54, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #11
  %2081 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2081, ptr %55, align 8, !tbaa !9
  br label %2082

2082:                                             ; preds = %2077
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = add nsw i32 %2083, 1
  store i32 %2084, ptr @test_count, align 4, !tbaa !5
  %2085 = load ptr, ptr %55, align 8, !tbaa !9
  %2086 = icmp eq ptr %2085, null
  br i1 %2086, label %2087, label %2140

2087:                                             ; preds = %2082
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

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

2096:                                             ; preds = %2089
  %2097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2098 = call i32 @fileno(ptr noundef %2097) #11
  %2099 = call i32 @isatty(i32 noundef %2098) #11
  %2100 = icmp ne i32 %2099, 0
  br i1 %2100, label %2101, label %2118

2101:                                             ; preds = %2096
  %2102 = load i32, ptr %56, align 4, !tbaa !5
  %2103 = call ptr @__errno_location() #12
  store i32 %2102, ptr %2103, align 4, !tbaa !5
  %2104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2107 = load i32, ptr %2106, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef @.str.4)
  %2109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror_debug(i32 noundef %2110, ptr noundef @.str.4)
  %2112 = call ptr @__errno_location() #12
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = call ptr @strerror(i32 noundef %2113) #11
  %2115 = call ptr @__errno_location() #12
  %2116 = load i32, ptr %2115, align 4, !tbaa !5
  %2117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2104, ptr noundef @.str.2, i32 noundef %2105, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 193, ptr noundef %2108, ptr noundef %2111, ptr noundef %2114, i32 noundef %2116) #11
  br label %2135

2118:                                             ; preds = %2096, %2089
  %2119 = load i32, ptr %56, align 4, !tbaa !5
  %2120 = call ptr @__errno_location() #12
  store i32 %2119, ptr %2120, align 4, !tbaa !5
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = load i32, ptr @test_count, align 4, !tbaa !5
  %2123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror(i32 noundef %2124, ptr noundef @.str.4)
  %2126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror_debug(i32 noundef %2127, ptr noundef @.str.4)
  %2129 = call ptr @__errno_location() #12
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #11
  %2132 = call ptr @__errno_location() #12
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2121, ptr noundef @.str.5, i32 noundef %2122, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 193, ptr noundef %2125, ptr noundef %2128, ptr noundef %2131, i32 noundef %2133) #11
  br label %2135

2135:                                             ; preds = %2118, %2101
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2136

2136:                                             ; preds = %2135
  br label %2137

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

2138:                                             ; No predecessors!
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

2140:                                             ; preds = %2139, %2082
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  br label %2143

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

2150:                                             ; preds = %2143
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

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

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

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

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

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

2199:                                             ; preds = %2198
  br label %2200

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

2201:                                             ; No predecessors!
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

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

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #11
  %2206 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2206, ptr %58, align 8, !tbaa !9
  br label %2207

2207:                                             ; preds = %2205
  %2208 = load i32, ptr @test_count, align 4, !tbaa !5
  %2209 = add nsw i32 %2208, 1
  store i32 %2209, ptr @test_count, align 4, !tbaa !5
  %2210 = load ptr, ptr %58, align 8, !tbaa !9
  %2211 = icmp eq ptr %2210, null
  br i1 %2211, label %2212, label %2265

2212:                                             ; preds = %2207
  br label %2213

2213:                                             ; preds = %2212
  br label %2214

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

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

2226:                                             ; preds = %2221
  %2227 = load i32, ptr %59, align 4, !tbaa !5
  %2228 = call ptr @__errno_location() #12
  store i32 %2227, ptr %2228, align 4, !tbaa !5
  %2229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2230 = load i32, ptr @test_count, align 4, !tbaa !5
  %2231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2232 = load i32, ptr %2231, align 4, !tbaa !5
  %2233 = call ptr @s2n_strerror(i32 noundef %2232, ptr noundef @.str.4)
  %2234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror_debug(i32 noundef %2235, ptr noundef @.str.4)
  %2237 = call ptr @__errno_location() #12
  %2238 = load i32, ptr %2237, align 4, !tbaa !5
  %2239 = call ptr @strerror(i32 noundef %2238) #11
  %2240 = call ptr @__errno_location() #12
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2229, ptr noundef @.str.2, i32 noundef %2230, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2233, ptr noundef %2236, ptr noundef %2239, i32 noundef %2241) #11
  br label %2260

2243:                                             ; preds = %2221, %2214
  %2244 = load i32, ptr %59, align 4, !tbaa !5
  %2245 = call ptr @__errno_location() #12
  store i32 %2244, ptr %2245, align 4, !tbaa !5
  %2246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2247 = load i32, ptr @test_count, align 4, !tbaa !5
  %2248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call ptr @s2n_strerror(i32 noundef %2249, ptr noundef @.str.4)
  %2251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror_debug(i32 noundef %2252, ptr noundef @.str.4)
  %2254 = call ptr @__errno_location() #12
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call ptr @strerror(i32 noundef %2255) #11
  %2257 = call ptr @__errno_location() #12
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2246, ptr noundef @.str.5, i32 noundef %2247, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 198, ptr noundef %2250, ptr noundef %2253, ptr noundef %2256, i32 noundef %2258) #11
  br label %2260

2260:                                             ; preds = %2243, %2226
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2261

2261:                                             ; preds = %2260
  br label %2262

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

2263:                                             ; No predecessors!
  br label %2264

2264:                                             ; preds = %2263
  br label %2265

2265:                                             ; preds = %2264, %2207
  br label %2266

2266:                                             ; preds = %2265
  br label %2267

2267:                                             ; preds = %2266
  br label %2268

2268:                                             ; preds = %2267
  %2269 = load i32, ptr @test_count, align 4, !tbaa !5
  %2270 = add nsw i32 %2269, 1
  store i32 %2270, ptr @test_count, align 4, !tbaa !5
  %2271 = load ptr, ptr %58, align 8, !tbaa !9
  %2272 = load ptr, ptr %26, align 8, !tbaa !9
  %2273 = call i32 @s2n_connection_set_config(ptr noundef %2271, ptr noundef %2272)
  %2274 = icmp eq i32 %2273, -1
  br i1 %2274, label %2275, label %2328

2275:                                             ; preds = %2268
  br label %2276

2276:                                             ; preds = %2275
  br label %2277

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

2284:                                             ; preds = %2277
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = call i32 @fileno(ptr noundef %2285) #11
  %2287 = call i32 @isatty(i32 noundef %2286) #11
  %2288 = icmp ne i32 %2287, 0
  br i1 %2288, label %2289, label %2306

2289:                                             ; preds = %2284
  %2290 = load i32, ptr %60, align 4, !tbaa !5
  %2291 = call ptr @__errno_location() #12
  store i32 %2290, ptr %2291, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = load i32, ptr @test_count, align 4, !tbaa !5
  %2294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2295 = load i32, ptr %2294, align 4, !tbaa !5
  %2296 = call ptr @s2n_strerror(i32 noundef %2295, ptr noundef @.str.4)
  %2297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2298 = load i32, ptr %2297, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror_debug(i32 noundef %2298, ptr noundef @.str.4)
  %2300 = call ptr @__errno_location() #12
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call ptr @strerror(i32 noundef %2301) #11
  %2303 = call ptr @__errno_location() #12
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2292, ptr noundef @.str.2, i32 noundef %2293, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 199, ptr noundef %2296, ptr noundef %2299, ptr noundef %2302, i32 noundef %2304) #11
  br label %2323

2306:                                             ; preds = %2284, %2277
  %2307 = load i32, ptr %60, align 4, !tbaa !5
  %2308 = call ptr @__errno_location() #12
  store i32 %2307, ptr %2308, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = load i32, ptr @test_count, align 4, !tbaa !5
  %2311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror(i32 noundef %2312, ptr noundef @.str.4)
  %2314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @s2n_strerror_debug(i32 noundef %2315, ptr noundef @.str.4)
  %2317 = call ptr @__errno_location() #12
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call ptr @strerror(i32 noundef %2318) #11
  %2320 = call ptr @__errno_location() #12
  %2321 = load i32, ptr %2320, align 4, !tbaa !5
  %2322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2309, ptr noundef @.str.5, i32 noundef %2310, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 199, ptr noundef %2313, ptr noundef %2316, ptr noundef %2319, i32 noundef %2321) #11
  br label %2323

2323:                                             ; preds = %2306, %2289
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2324

2324:                                             ; preds = %2323
  br label %2325

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

2326:                                             ; No predecessors!
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

2328:                                             ; preds = %2327, %2268
  br label %2329

2329:                                             ; preds = %2328
  br label %2330

2330:                                             ; preds = %2329
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #11
  call void @llvm.memset.p0.i64(ptr align 4 %61, i8 0, i64 8, i1 false)
  br label %2331

2331:                                             ; preds = %2330
  %2332 = load i32, ptr @test_count, align 4, !tbaa !5
  %2333 = add nsw i32 %2332, 1
  store i32 %2333, ptr @test_count, align 4, !tbaa !5
  %2334 = call i32 @s2n_new_inet_socket_pair(ptr noundef %61)
  %2335 = getelementptr inbounds %struct.s2n_result, ptr %62, i32 0, i32 0
  store i32 %2334, ptr %2335, align 4
  %2336 = getelementptr inbounds %struct.s2n_result, ptr %62, i32 0, i32 0
  %2337 = load i32, ptr %2336, align 4
  %2338 = call zeroext i1 @s2n_result_is_ok(i32 %2337)
  br i1 %2338, label %2392, label %2339

2339:                                             ; preds = %2331
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

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

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

2353:                                             ; preds = %2348
  %2354 = load i32, ptr %63, align 4, !tbaa !5
  %2355 = call ptr @__errno_location() #12
  store i32 %2354, ptr %2355, align 4, !tbaa !5
  %2356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2357 = load i32, ptr @test_count, align 4, !tbaa !5
  %2358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call ptr @s2n_strerror(i32 noundef %2359, ptr noundef @.str.4)
  %2361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror_debug(i32 noundef %2362, ptr noundef @.str.4)
  %2364 = call ptr @__errno_location() #12
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call ptr @strerror(i32 noundef %2365) #11
  %2367 = call ptr @__errno_location() #12
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  %2369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2356, ptr noundef @.str.2, i32 noundef %2357, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2360, ptr noundef %2363, ptr noundef %2366, i32 noundef %2368) #11
  br label %2387

2370:                                             ; preds = %2348, %2341
  %2371 = load i32, ptr %63, align 4, !tbaa !5
  %2372 = call ptr @__errno_location() #12
  store i32 %2371, ptr %2372, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef @.str.4)
  %2381 = call ptr @__errno_location() #12
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call ptr @strerror(i32 noundef %2382) #11
  %2384 = call ptr @__errno_location() #12
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef @.str.5, i32 noundef %2374, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 202, ptr noundef %2377, ptr noundef %2380, ptr noundef %2383, i32 noundef %2385) #11
  br label %2387

2387:                                             ; preds = %2370, %2353
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %2388

2388:                                             ; preds = %2387
  br label %2389

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

2390:                                             ; No predecessors!
  br label %2391

2391:                                             ; preds = %2390
  br label %2392

2392:                                             ; preds = %2391, %2331
  br label %2393

2393:                                             ; preds = %2392
  br label %2394

2394:                                             ; preds = %2393
  br label %2395

2395:                                             ; preds = %2394
  %2396 = load i32, ptr @test_count, align 4, !tbaa !5
  %2397 = add nsw i32 %2396, 1
  store i32 %2397, ptr @test_count, align 4, !tbaa !5
  %2398 = load ptr, ptr %58, align 8, !tbaa !9
  %2399 = load ptr, ptr %55, align 8, !tbaa !9
  %2400 = call i32 @s2n_setup_connections(ptr noundef %2398, ptr noundef %2399, ptr noundef %61)
  %2401 = getelementptr inbounds %struct.s2n_result, ptr %64, i32 0, i32 0
  store i32 %2400, ptr %2401, align 4
  %2402 = getelementptr inbounds %struct.s2n_result, ptr %64, i32 0, i32 0
  %2403 = load i32, ptr %2402, align 4
  %2404 = call zeroext i1 @s2n_result_is_ok(i32 %2403)
  br i1 %2404, label %2458, label %2405

2405:                                             ; preds = %2395
  br label %2406

2406:                                             ; preds = %2405
  br label %2407

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

2414:                                             ; preds = %2407
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = call i32 @fileno(ptr noundef %2415) #11
  %2417 = call i32 @isatty(i32 noundef %2416) #11
  %2418 = icmp ne i32 %2417, 0
  br i1 %2418, label %2419, label %2436

2419:                                             ; preds = %2414
  %2420 = load i32, ptr %65, align 4, !tbaa !5
  %2421 = call ptr @__errno_location() #12
  store i32 %2420, ptr %2421, align 4, !tbaa !5
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2425 = load i32, ptr %2424, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror(i32 noundef %2425, ptr noundef @.str.4)
  %2427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2428 = load i32, ptr %2427, align 4, !tbaa !5
  %2429 = call ptr @s2n_strerror_debug(i32 noundef %2428, ptr noundef @.str.4)
  %2430 = call ptr @__errno_location() #12
  %2431 = load i32, ptr %2430, align 4, !tbaa !5
  %2432 = call ptr @strerror(i32 noundef %2431) #11
  %2433 = call ptr @__errno_location() #12
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2422, ptr noundef @.str.2, i32 noundef %2423, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 203, ptr noundef %2426, ptr noundef %2429, ptr noundef %2432, i32 noundef %2434) #11
  br label %2453

2436:                                             ; preds = %2414, %2407
  %2437 = load i32, ptr %65, align 4, !tbaa !5
  %2438 = call ptr @__errno_location() #12
  store i32 %2437, ptr %2438, align 4, !tbaa !5
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = load i32, ptr @test_count, align 4, !tbaa !5
  %2441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror(i32 noundef %2442, ptr noundef @.str.4)
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call ptr @s2n_strerror_debug(i32 noundef %2445, ptr noundef @.str.4)
  %2447 = call ptr @__errno_location() #12
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @strerror(i32 noundef %2448) #11
  %2450 = call ptr @__errno_location() #12
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2439, ptr noundef @.str.5, i32 noundef %2440, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 203, ptr noundef %2443, ptr noundef %2446, ptr noundef %2449, i32 noundef %2451) #11
  br label %2453

2453:                                             ; preds = %2436, %2419
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2454

2454:                                             ; preds = %2453
  br label %2455

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

2456:                                             ; No predecessors!
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457, %2395
  br label %2459

2459:                                             ; preds = %2458
  br label %2460

2460:                                             ; preds = %2459
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #11
  %2461 = load ptr, ptr %58, align 8, !tbaa !9
  store ptr %2461, ptr %66, align 8, !tbaa !9
  %2462 = getelementptr inbounds ptr, ptr %66, i64 1
  %2463 = load ptr, ptr %55, align 8, !tbaa !9
  store ptr %2463, ptr %2462, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #11
  %2464 = load i32, ptr %54, align 4, !tbaa !5
  %2465 = zext i32 %2464 to i64
  %2466 = getelementptr inbounds [2 x ptr], ptr %66, i64 0, i64 %2465
  %2467 = load ptr, ptr %2466, align 8, !tbaa !9
  store ptr %2467, ptr %67, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #11
  %2468 = load i32, ptr %54, align 4, !tbaa !5
  %2469 = add i32 %2468, 1
  %2470 = urem i32 %2469, 2
  %2471 = zext i32 %2470 to i64
  %2472 = getelementptr inbounds [2 x ptr], ptr %66, i64 0, i64 %2471
  %2473 = load ptr, ptr %2472, align 8, !tbaa !9
  store ptr %2473, ptr %68, align 8, !tbaa !9
  br label %2474

2474:                                             ; preds = %2460
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = add nsw i32 %2475, 1
  store i32 %2476, ptr @test_count, align 4, !tbaa !5
  %2477 = load ptr, ptr %67, align 8, !tbaa !9
  %2478 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %2477)
  %2479 = icmp eq i32 %2478, -1
  br i1 %2479, label %2480, label %2533

2480:                                             ; preds = %2474
  br label %2481

2481:                                             ; preds = %2480
  br label %2482

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

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

2494:                                             ; preds = %2489
  %2495 = load i32, ptr %69, align 4, !tbaa !5
  %2496 = call ptr @__errno_location() #12
  store i32 %2495, ptr %2496, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call ptr @s2n_strerror(i32 noundef %2500, ptr noundef @.str.4)
  %2502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2503 = load i32, ptr %2502, align 4, !tbaa !5
  %2504 = call ptr @s2n_strerror_debug(i32 noundef %2503, ptr noundef @.str.4)
  %2505 = call ptr @__errno_location() #12
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  %2507 = call ptr @strerror(i32 noundef %2506) #11
  %2508 = call ptr @__errno_location() #12
  %2509 = load i32, ptr %2508, align 4, !tbaa !5
  %2510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2497, ptr noundef @.str.2, i32 noundef %2498, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 211, ptr noundef %2501, ptr noundef %2504, ptr noundef %2507, i32 noundef %2509) #11
  br label %2528

2511:                                             ; preds = %2489, %2482
  %2512 = load i32, ptr %69, align 4, !tbaa !5
  %2513 = call ptr @__errno_location() #12
  store i32 %2512, ptr %2513, align 4, !tbaa !5
  %2514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2515 = load i32, ptr @test_count, align 4, !tbaa !5
  %2516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef @.str.4)
  %2519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2520 = load i32, ptr %2519, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef @.str.4)
  %2522 = call ptr @__errno_location() #12
  %2523 = load i32, ptr %2522, align 4, !tbaa !5
  %2524 = call ptr @strerror(i32 noundef %2523) #11
  %2525 = call ptr @__errno_location() #12
  %2526 = load i32, ptr %2525, align 4, !tbaa !5
  %2527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2514, ptr noundef @.str.5, i32 noundef %2515, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 211, ptr noundef %2518, ptr noundef %2521, ptr noundef %2524, i32 noundef %2526) #11
  br label %2528

2528:                                             ; preds = %2511, %2494
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %2529

2529:                                             ; preds = %2528
  br label %2530

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

2531:                                             ; No predecessors!
  br label %2532

2532:                                             ; preds = %2531
  br label %2533

2533:                                             ; preds = %2532, %2474
  br label %2534

2534:                                             ; preds = %2533
  br label %2535

2535:                                             ; preds = %2534
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  store i32 0, ptr %70, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #11
  store i64 0, ptr %71, align 8, !tbaa !15
  br label %2536

2536:                                             ; preds = %2867, %2535
  %2537 = load i64, ptr %71, align 8, !tbaa !15
  %2538 = icmp ult i64 %2537, 5
  br i1 %2538, label %2540, label %2539

2539:                                             ; preds = %2536
  store i32 215, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #11
  br label %2870

2540:                                             ; preds = %2536
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #11
  %2541 = load ptr, ptr %67, align 8, !tbaa !9
  %2542 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %2543 = call i64 @s2n_send(ptr noundef %2541, ptr noundef %2542, i64 noundef 100, ptr noundef %70)
  %2544 = trunc i64 %2543 to i32
  store i32 %2544, ptr %72, align 4, !tbaa !5
  br label %2545

2545:                                             ; preds = %2540
  %2546 = load i32, ptr @test_count, align 4, !tbaa !5
  %2547 = add nsw i32 %2546, 1
  store i32 %2547, ptr @test_count, align 4, !tbaa !5
  %2548 = load i32, ptr %72, align 4, !tbaa !5
  %2549 = sext i32 %2548 to i64
  %2550 = icmp eq i64 %2549, 100
  br i1 %2550, label %2604, label %2551

2551:                                             ; preds = %2545
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

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

2560:                                             ; preds = %2553
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @fileno(ptr noundef %2561) #11
  %2563 = call i32 @isatty(i32 noundef %2562) #11
  %2564 = icmp ne i32 %2563, 0
  br i1 %2564, label %2565, label %2582

2565:                                             ; preds = %2560
  %2566 = load i32, ptr %73, align 4, !tbaa !5
  %2567 = call ptr @__errno_location() #12
  store i32 %2566, ptr %2567, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = load i32, ptr @test_count, align 4, !tbaa !5
  %2570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef @.str.4)
  %2573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef @.str.4)
  %2576 = call ptr @__errno_location() #12
  %2577 = load i32, ptr %2576, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #11
  %2579 = call ptr @__errno_location() #12
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef @.str.2, i32 noundef %2569, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 218, ptr noundef %2572, ptr noundef %2575, ptr noundef %2578, i32 noundef %2580) #11
  br label %2599

2582:                                             ; preds = %2560, %2553
  %2583 = load i32, ptr %73, align 4, !tbaa !5
  %2584 = call ptr @__errno_location() #12
  store i32 %2583, ptr %2584, align 4, !tbaa !5
  %2585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2586 = load i32, ptr @test_count, align 4, !tbaa !5
  %2587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2588 = load i32, ptr %2587, align 4, !tbaa !5
  %2589 = call ptr @s2n_strerror(i32 noundef %2588, ptr noundef @.str.4)
  %2590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror_debug(i32 noundef %2591, ptr noundef @.str.4)
  %2593 = call ptr @__errno_location() #12
  %2594 = load i32, ptr %2593, align 4, !tbaa !5
  %2595 = call ptr @strerror(i32 noundef %2594) #11
  %2596 = call ptr @__errno_location() #12
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  %2598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2585, ptr noundef @.str.5, i32 noundef %2586, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 218, ptr noundef %2589, ptr noundef %2592, ptr noundef %2595, i32 noundef %2597) #11
  br label %2599

2599:                                             ; preds = %2582, %2565
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %2600

2600:                                             ; preds = %2599
  br label %2601

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

2602:                                             ; No predecessors!
  br label %2603

2603:                                             ; preds = %2602
  br label %2604

2604:                                             ; preds = %2603, %2545
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605
  br label %2607

2607:                                             ; preds = %2606
  %2608 = load i32, ptr @test_count, align 4, !tbaa !5
  %2609 = add nsw i32 %2608, 1
  store i32 %2609, ptr @test_count, align 4, !tbaa !5
  %2610 = load i32, ptr %70, align 4, !tbaa !5
  %2611 = icmp eq i32 %2610, 0
  br i1 %2611, label %2665, label %2612

2612:                                             ; preds = %2607
  br label %2613

2613:                                             ; preds = %2612
  br label %2614

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

2621:                                             ; preds = %2614
  %2622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2623 = call i32 @fileno(ptr noundef %2622) #11
  %2624 = call i32 @isatty(i32 noundef %2623) #11
  %2625 = icmp ne i32 %2624, 0
  br i1 %2625, label %2626, label %2643

2626:                                             ; preds = %2621
  %2627 = load i32, ptr %74, align 4, !tbaa !5
  %2628 = call ptr @__errno_location() #12
  store i32 %2627, ptr %2628, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2632 = load i32, ptr %2631, align 4, !tbaa !5
  %2633 = call ptr @s2n_strerror(i32 noundef %2632, ptr noundef @.str.4)
  %2634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2635 = load i32, ptr %2634, align 4, !tbaa !5
  %2636 = call ptr @s2n_strerror_debug(i32 noundef %2635, ptr noundef @.str.4)
  %2637 = call ptr @__errno_location() #12
  %2638 = load i32, ptr %2637, align 4, !tbaa !5
  %2639 = call ptr @strerror(i32 noundef %2638) #11
  %2640 = call ptr @__errno_location() #12
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef @.str.2, i32 noundef %2630, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 219, ptr noundef %2633, ptr noundef %2636, ptr noundef %2639, i32 noundef %2641) #11
  br label %2660

2643:                                             ; preds = %2621, %2614
  %2644 = load i32, ptr %74, align 4, !tbaa !5
  %2645 = call ptr @__errno_location() #12
  store i32 %2644, ptr %2645, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = load i32, ptr @test_count, align 4, !tbaa !5
  %2648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2649 = load i32, ptr %2648, align 4, !tbaa !5
  %2650 = call ptr @s2n_strerror(i32 noundef %2649, ptr noundef @.str.4)
  %2651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2652 = load i32, ptr %2651, align 4, !tbaa !5
  %2653 = call ptr @s2n_strerror_debug(i32 noundef %2652, ptr noundef @.str.4)
  %2654 = call ptr @__errno_location() #12
  %2655 = load i32, ptr %2654, align 4, !tbaa !5
  %2656 = call ptr @strerror(i32 noundef %2655) #11
  %2657 = call ptr @__errno_location() #12
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2646, ptr noundef @.str.5, i32 noundef %2647, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 219, ptr noundef %2650, ptr noundef %2653, ptr noundef %2656, i32 noundef %2658) #11
  br label %2660

2660:                                             ; preds = %2643, %2626
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %2661

2661:                                             ; preds = %2660
  br label %2662

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

2663:                                             ; No predecessors!
  br label %2664

2664:                                             ; preds = %2663
  br label %2665

2665:                                             ; preds = %2664, %2607
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

2667:                                             ; preds = %2666
  call void @llvm.lifetime.start.p0(i64 100, ptr %75) #11
  call void @llvm.memset.p0.i64(ptr align 16 %75, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %2668 = load ptr, ptr %68, align 8, !tbaa !9
  %2669 = getelementptr inbounds [100 x i8], ptr %75, i64 0, i64 0
  %2670 = call i64 @s2n_recv(ptr noundef %2668, ptr noundef %2669, i64 noundef 100, ptr noundef %70)
  %2671 = trunc i64 %2670 to i32
  store i32 %2671, ptr %76, align 4, !tbaa !5
  br label %2672

2672:                                             ; preds = %2667
  %2673 = load i32, ptr @test_count, align 4, !tbaa !5
  %2674 = add nsw i32 %2673, 1
  store i32 %2674, ptr @test_count, align 4, !tbaa !5
  %2675 = load i32, ptr %76, align 4, !tbaa !5
  %2676 = sext i32 %2675 to i64
  %2677 = icmp eq i64 %2676, 100
  br i1 %2677, label %2731, label %2678

2678:                                             ; preds = %2672
  br label %2679

2679:                                             ; preds = %2678
  br label %2680

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

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

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

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

2726:                                             ; preds = %2709, %2692
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %2727

2727:                                             ; preds = %2726
  br label %2728

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

2729:                                             ; No predecessors!
  br label %2730

2730:                                             ; preds = %2729
  br label %2731

2731:                                             ; preds = %2730, %2672
  br label %2732

2732:                                             ; preds = %2731
  br label %2733

2733:                                             ; preds = %2732
  br label %2734

2734:                                             ; preds = %2733
  %2735 = load i32, ptr @test_count, align 4, !tbaa !5
  %2736 = add nsw i32 %2735, 1
  store i32 %2736, ptr @test_count, align 4, !tbaa !5
  %2737 = load i32, ptr %70, align 4, !tbaa !5
  %2738 = icmp eq i32 %2737, 0
  br i1 %2738, label %2792, label %2739

2739:                                             ; preds = %2734
  br label %2740

2740:                                             ; preds = %2739
  br label %2741

2741:                                             ; preds = %2740
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %2742 = call ptr @__errno_location() #12
  %2743 = load i32, ptr %2742, align 4, !tbaa !5
  store i32 %2743, ptr %78, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @s2n_print_stacktrace(ptr noundef %2744)
  %2746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2747 = trunc i8 %2746 to i1
  br i1 %2747, label %2748, label %2770

2748:                                             ; preds = %2741
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @fileno(ptr noundef %2749) #11
  %2751 = call i32 @isatty(i32 noundef %2750) #11
  %2752 = icmp ne i32 %2751, 0
  br i1 %2752, label %2753, label %2770

2753:                                             ; preds = %2748
  %2754 = load i32, ptr %78, align 4, !tbaa !5
  %2755 = call ptr @__errno_location() #12
  store i32 %2754, ptr %2755, align 4, !tbaa !5
  %2756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2757 = load i32, ptr @test_count, align 4, !tbaa !5
  %2758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror(i32 noundef %2759, ptr noundef @.str.4)
  %2761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2762 = load i32, ptr %2761, align 4, !tbaa !5
  %2763 = call ptr @s2n_strerror_debug(i32 noundef %2762, ptr noundef @.str.4)
  %2764 = call ptr @__errno_location() #12
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call ptr @strerror(i32 noundef %2765) #11
  %2767 = call ptr @__errno_location() #12
  %2768 = load i32, ptr %2767, align 4, !tbaa !5
  %2769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2756, ptr noundef @.str.2, i32 noundef %2757, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2760, ptr noundef %2763, ptr noundef %2766, i32 noundef %2768) #11
  br label %2787

2770:                                             ; preds = %2748, %2741
  %2771 = load i32, ptr %78, align 4, !tbaa !5
  %2772 = call ptr @__errno_location() #12
  store i32 %2771, ptr %2772, align 4, !tbaa !5
  %2773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2774 = load i32, ptr @test_count, align 4, !tbaa !5
  %2775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call ptr @s2n_strerror(i32 noundef %2776, ptr noundef @.str.4)
  %2778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = call ptr @s2n_strerror_debug(i32 noundef %2779, ptr noundef @.str.4)
  %2781 = call ptr @__errno_location() #12
  %2782 = load i32, ptr %2781, align 4, !tbaa !5
  %2783 = call ptr @strerror(i32 noundef %2782) #11
  %2784 = call ptr @__errno_location() #12
  %2785 = load i32, ptr %2784, align 4, !tbaa !5
  %2786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2773, ptr noundef @.str.5, i32 noundef %2774, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 224, ptr noundef %2777, ptr noundef %2780, ptr noundef %2783, i32 noundef %2785) #11
  br label %2787

2787:                                             ; preds = %2770, %2753
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

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

2790:                                             ; No predecessors!
  br label %2791

2791:                                             ; preds = %2790
  br label %2792

2792:                                             ; preds = %2791, %2734
  br label %2793

2793:                                             ; preds = %2792
  br label %2794

2794:                                             ; preds = %2793
  br label %2795

2795:                                             ; preds = %2794
  %2796 = load i32, ptr %76, align 4, !tbaa !5
  %2797 = icmp ne i32 %2796, 0
  br i1 %2797, label %2798, label %2864

2798:                                             ; preds = %2795
  br label %2799

2799:                                             ; preds = %2798
  %2800 = load i32, ptr @test_count, align 4, !tbaa !5
  %2801 = add nsw i32 %2800, 1
  store i32 %2801, ptr @test_count, align 4, !tbaa !5
  %2802 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %2803 = getelementptr inbounds [100 x i8], ptr %75, i64 0, i64 0
  %2804 = load i32, ptr %76, align 4, !tbaa !5
  %2805 = sext i32 %2804 to i64
  %2806 = call i32 @memcmp(ptr noundef %2802, ptr noundef %2803, i64 noundef %2805) #14
  %2807 = icmp eq i32 %2806, 0
  br i1 %2807, label %2861, label %2808

2808:                                             ; preds = %2799
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

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

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

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

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

2856:                                             ; preds = %2839, %2822
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %2857

2857:                                             ; preds = %2856
  br label %2858

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

2859:                                             ; No predecessors!
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

2861:                                             ; preds = %2860, %2799
  br label %2862

2862:                                             ; preds = %2861
  br label %2863

2863:                                             ; preds = %2862
  br label %2864

2864:                                             ; preds = %2863, %2795
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

2866:                                             ; preds = %2865
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %75) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %2867

2867:                                             ; preds = %2866
  %2868 = load i64, ptr %71, align 8, !tbaa !15
  %2869 = add i64 %2868, 1
  store i64 %2869, ptr %71, align 8, !tbaa !15
  br label %2536, !llvm.loop !17

2870:                                             ; preds = %2539
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #11
  store i64 0, ptr %80, align 8, !tbaa !15
  br label %2871

2871:                                             ; preds = %3205, %2870
  %2872 = load i64, ptr %80, align 8, !tbaa !15
  %2873 = icmp ult i64 %2872, 5
  br i1 %2873, label %2875, label %2874

2874:                                             ; preds = %2871
  store i32 250, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  br label %3208

2875:                                             ; preds = %2871
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %2876 = load ptr, ptr %67, align 8, !tbaa !9
  %2877 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %21, i32 0, i32 0
  %2878 = load ptr, ptr %2877, align 8, !tbaa !19
  %2879 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %21, i32 0, i32 1
  %2880 = load i64, ptr %2879, align 8, !tbaa !21
  %2881 = call i64 @s2n_sendv(ptr noundef %2876, ptr noundef %2878, i64 noundef %2880, ptr noundef %70)
  %2882 = trunc i64 %2881 to i32
  store i32 %2882, ptr %81, align 4, !tbaa !5
  br label %2883

2883:                                             ; preds = %2875
  %2884 = load i32, ptr @test_count, align 4, !tbaa !5
  %2885 = add nsw i32 %2884, 1
  store i32 %2885, ptr @test_count, align 4, !tbaa !5
  %2886 = load i32, ptr %81, align 4, !tbaa !5
  %2887 = sext i32 %2886 to i64
  %2888 = icmp eq i64 %2887, 100
  br i1 %2888, label %2942, label %2889

2889:                                             ; preds = %2883
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

2891:                                             ; preds = %2890
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %2892 = call ptr @__errno_location() #12
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  store i32 %2893, ptr %82, align 4, !tbaa !5
  %2894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2895 = call i32 @s2n_print_stacktrace(ptr noundef %2894)
  %2896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2897 = trunc i8 %2896 to i1
  br i1 %2897, label %2898, label %2920

2898:                                             ; preds = %2891
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = call i32 @fileno(ptr noundef %2899) #11
  %2901 = call i32 @isatty(i32 noundef %2900) #11
  %2902 = icmp ne i32 %2901, 0
  br i1 %2902, label %2903, label %2920

2903:                                             ; preds = %2898
  %2904 = load i32, ptr %82, align 4, !tbaa !5
  %2905 = call ptr @__errno_location() #12
  store i32 %2904, ptr %2905, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2909 = load i32, ptr %2908, align 4, !tbaa !5
  %2910 = call ptr @s2n_strerror(i32 noundef %2909, ptr noundef @.str.4)
  %2911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror_debug(i32 noundef %2912, ptr noundef @.str.4)
  %2914 = call ptr @__errno_location() #12
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call ptr @strerror(i32 noundef %2915) #11
  %2917 = call ptr @__errno_location() #12
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef @.str.2, i32 noundef %2907, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 233, ptr noundef %2910, ptr noundef %2913, ptr noundef %2916, i32 noundef %2918) #11
  br label %2937

2920:                                             ; preds = %2898, %2891
  %2921 = load i32, ptr %82, align 4, !tbaa !5
  %2922 = call ptr @__errno_location() #12
  store i32 %2921, ptr %2922, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = load i32, ptr @test_count, align 4, !tbaa !5
  %2925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call ptr @s2n_strerror(i32 noundef %2926, ptr noundef @.str.4)
  %2928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror_debug(i32 noundef %2929, ptr noundef @.str.4)
  %2931 = call ptr @__errno_location() #12
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @strerror(i32 noundef %2932) #11
  %2934 = call ptr @__errno_location() #12
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2923, ptr noundef @.str.5, i32 noundef %2924, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 233, ptr noundef %2927, ptr noundef %2930, ptr noundef %2933, i32 noundef %2935) #11
  br label %2937

2937:                                             ; preds = %2920, %2903
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

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

2940:                                             ; No predecessors!
  br label %2941

2941:                                             ; preds = %2940
  br label %2942

2942:                                             ; preds = %2941, %2883
  br label %2943

2943:                                             ; preds = %2942
  br label %2944

2944:                                             ; preds = %2943
  br label %2945

2945:                                             ; preds = %2944
  %2946 = load i32, ptr @test_count, align 4, !tbaa !5
  %2947 = add nsw i32 %2946, 1
  store i32 %2947, ptr @test_count, align 4, !tbaa !5
  %2948 = load i32, ptr %70, align 4, !tbaa !5
  %2949 = icmp eq i32 %2948, 0
  br i1 %2949, label %3003, label %2950

2950:                                             ; preds = %2945
  br label %2951

2951:                                             ; preds = %2950
  br label %2952

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

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

2964:                                             ; preds = %2959
  %2965 = load i32, ptr %83, align 4, !tbaa !5
  %2966 = call ptr @__errno_location() #12
  store i32 %2965, ptr %2966, align 4, !tbaa !5
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror(i32 noundef %2970, ptr noundef @.str.4)
  %2972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror_debug(i32 noundef %2973, ptr noundef @.str.4)
  %2975 = call ptr @__errno_location() #12
  %2976 = load i32, ptr %2975, align 4, !tbaa !5
  %2977 = call ptr @strerror(i32 noundef %2976) #11
  %2978 = call ptr @__errno_location() #12
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2967, ptr noundef @.str.2, i32 noundef %2968, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 234, ptr noundef %2971, ptr noundef %2974, ptr noundef %2977, i32 noundef %2979) #11
  br label %2998

2981:                                             ; preds = %2959, %2952
  %2982 = load i32, ptr %83, align 4, !tbaa !5
  %2983 = call ptr @__errno_location() #12
  store i32 %2982, ptr %2983, align 4, !tbaa !5
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = load i32, ptr @test_count, align 4, !tbaa !5
  %2986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror(i32 noundef %2987, ptr noundef @.str.4)
  %2989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call ptr @s2n_strerror_debug(i32 noundef %2990, ptr noundef @.str.4)
  %2992 = call ptr @__errno_location() #12
  %2993 = load i32, ptr %2992, align 4, !tbaa !5
  %2994 = call ptr @strerror(i32 noundef %2993) #11
  %2995 = call ptr @__errno_location() #12
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2984, ptr noundef @.str.5, i32 noundef %2985, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 234, ptr noundef %2988, ptr noundef %2991, ptr noundef %2994, i32 noundef %2996) #11
  br label %2998

2998:                                             ; preds = %2981, %2964
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %2999

2999:                                             ; preds = %2998
  br label %3000

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

3001:                                             ; No predecessors!
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

3003:                                             ; preds = %3002, %2945
  br label %3004

3004:                                             ; preds = %3003
  br label %3005

3005:                                             ; preds = %3004
  call void @llvm.lifetime.start.p0(i64 100, ptr %84) #11
  call void @llvm.memset.p0.i64(ptr align 16 %84, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %3006 = load ptr, ptr %68, align 8, !tbaa !9
  %3007 = getelementptr inbounds [100 x i8], ptr %84, i64 0, i64 0
  %3008 = call i64 @s2n_recv(ptr noundef %3006, ptr noundef %3007, i64 noundef 100, ptr noundef %70)
  %3009 = trunc i64 %3008 to i32
  store i32 %3009, ptr %85, align 4, !tbaa !5
  br label %3010

3010:                                             ; preds = %3005
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = add nsw i32 %3011, 1
  store i32 %3012, ptr @test_count, align 4, !tbaa !5
  %3013 = load i32, ptr %85, align 4, !tbaa !5
  %3014 = sext i32 %3013 to i64
  %3015 = icmp eq i64 %3014, 100
  br i1 %3015, label %3069, label %3016

3016:                                             ; preds = %3010
  br label %3017

3017:                                             ; preds = %3016
  br label %3018

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

3025:                                             ; preds = %3018
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = call i32 @fileno(ptr noundef %3026) #11
  %3028 = call i32 @isatty(i32 noundef %3027) #11
  %3029 = icmp ne i32 %3028, 0
  br i1 %3029, label %3030, label %3047

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

3047:                                             ; preds = %3025, %3018
  %3048 = load i32, ptr %86, align 4, !tbaa !5
  %3049 = call ptr @__errno_location() #12
  store i32 %3048, ptr %3049, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = load i32, ptr @test_count, align 4, !tbaa !5
  %3052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3053 = load i32, ptr %3052, align 4, !tbaa !5
  %3054 = call ptr @s2n_strerror(i32 noundef %3053, ptr noundef @.str.4)
  %3055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3056 = load i32, ptr %3055, align 4, !tbaa !5
  %3057 = call ptr @s2n_strerror_debug(i32 noundef %3056, ptr noundef @.str.4)
  %3058 = call ptr @__errno_location() #12
  %3059 = load i32, ptr %3058, align 4, !tbaa !5
  %3060 = call ptr @strerror(i32 noundef %3059) #11
  %3061 = call ptr @__errno_location() #12
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  %3063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3050, ptr noundef @.str.5, i32 noundef %3051, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 238, ptr noundef %3054, ptr noundef %3057, ptr noundef %3060, i32 noundef %3062) #11
  br label %3064

3064:                                             ; preds = %3047, %3030
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3065

3065:                                             ; preds = %3064
  br label %3066

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

3067:                                             ; No predecessors!
  br label %3068

3068:                                             ; preds = %3067
  br label %3069

3069:                                             ; preds = %3068, %3010
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

3071:                                             ; preds = %3070
  br label %3072

3072:                                             ; preds = %3071
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = add nsw i32 %3073, 1
  store i32 %3074, ptr @test_count, align 4, !tbaa !5
  %3075 = load i32, ptr %70, align 4, !tbaa !5
  %3076 = icmp eq i32 %3075, 0
  br i1 %3076, label %3130, label %3077

3077:                                             ; preds = %3072
  br label %3078

3078:                                             ; preds = %3077
  br label %3079

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

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

3091:                                             ; preds = %3086
  %3092 = load i32, ptr %87, align 4, !tbaa !5
  %3093 = call ptr @__errno_location() #12
  store i32 %3092, ptr %3093, align 4, !tbaa !5
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = load i32, ptr @test_count, align 4, !tbaa !5
  %3096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3097 = load i32, ptr %3096, align 4, !tbaa !5
  %3098 = call ptr @s2n_strerror(i32 noundef %3097, ptr noundef @.str.4)
  %3099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3100 = load i32, ptr %3099, align 4, !tbaa !5
  %3101 = call ptr @s2n_strerror_debug(i32 noundef %3100, ptr noundef @.str.4)
  %3102 = call ptr @__errno_location() #12
  %3103 = load i32, ptr %3102, align 4, !tbaa !5
  %3104 = call ptr @strerror(i32 noundef %3103) #11
  %3105 = call ptr @__errno_location() #12
  %3106 = load i32, ptr %3105, align 4, !tbaa !5
  %3107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3094, ptr noundef @.str.2, i32 noundef %3095, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 239, ptr noundef %3098, ptr noundef %3101, ptr noundef %3104, i32 noundef %3106) #11
  br label %3125

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

3125:                                             ; preds = %3108, %3091
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %3126

3126:                                             ; preds = %3125
  br label %3127

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

3128:                                             ; No predecessors!
  br label %3129

3129:                                             ; preds = %3128
  br label %3130

3130:                                             ; preds = %3129, %3072
  br label %3131

3131:                                             ; preds = %3130
  br label %3132

3132:                                             ; preds = %3131
  br label %3133

3133:                                             ; preds = %3132
  %3134 = load i32, ptr %85, align 4, !tbaa !5
  %3135 = icmp ne i32 %3134, 0
  br i1 %3135, label %3136, label %3202

3136:                                             ; preds = %3133
  br label %3137

3137:                                             ; preds = %3136
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %3139 = add nsw i32 %3138, 1
  store i32 %3139, ptr @test_count, align 4, !tbaa !5
  %3140 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %3141 = getelementptr inbounds [100 x i8], ptr %84, i64 0, i64 0
  %3142 = load i32, ptr %85, align 4, !tbaa !5
  %3143 = sext i32 %3142 to i64
  %3144 = call i32 @memcmp(ptr noundef %3140, ptr noundef %3141, i64 noundef %3143) #14
  %3145 = icmp eq i32 %3144, 0
  br i1 %3145, label %3199, label %3146

3146:                                             ; preds = %3137
  br label %3147

3147:                                             ; preds = %3146
  br label %3148

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

3155:                                             ; preds = %3148
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @fileno(ptr noundef %3156) #11
  %3158 = call i32 @isatty(i32 noundef %3157) #11
  %3159 = icmp ne i32 %3158, 0
  br i1 %3159, label %3160, label %3177

3160:                                             ; preds = %3155
  %3161 = load i32, ptr %88, align 4, !tbaa !5
  %3162 = call ptr @__errno_location() #12
  store i32 %3161, ptr %3162, align 4, !tbaa !5
  %3163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3164 = load i32, ptr @test_count, align 4, !tbaa !5
  %3165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call ptr @s2n_strerror(i32 noundef %3166, ptr noundef @.str.4)
  %3168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3169 = load i32, ptr %3168, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror_debug(i32 noundef %3169, ptr noundef @.str.4)
  %3171 = call ptr @__errno_location() #12
  %3172 = load i32, ptr %3171, align 4, !tbaa !5
  %3173 = call ptr @strerror(i32 noundef %3172) #11
  %3174 = call ptr @__errno_location() #12
  %3175 = load i32, ptr %3174, align 4, !tbaa !5
  %3176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3163, ptr noundef @.str.2, i32 noundef %3164, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 241, ptr noundef %3167, ptr noundef %3170, ptr noundef %3173, i32 noundef %3175) #11
  br label %3194

3177:                                             ; preds = %3155, %3148
  %3178 = load i32, ptr %88, align 4, !tbaa !5
  %3179 = call ptr @__errno_location() #12
  store i32 %3178, ptr %3179, align 4, !tbaa !5
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3181 = load i32, ptr @test_count, align 4, !tbaa !5
  %3182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3183 = load i32, ptr %3182, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror(i32 noundef %3183, ptr noundef @.str.4)
  %3185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3186 = load i32, ptr %3185, align 4, !tbaa !5
  %3187 = call ptr @s2n_strerror_debug(i32 noundef %3186, ptr noundef @.str.4)
  %3188 = call ptr @__errno_location() #12
  %3189 = load i32, ptr %3188, align 4, !tbaa !5
  %3190 = call ptr @strerror(i32 noundef %3189) #11
  %3191 = call ptr @__errno_location() #12
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3180, ptr noundef @.str.5, i32 noundef %3181, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 241, ptr noundef %3184, ptr noundef %3187, ptr noundef %3190, i32 noundef %3192) #11
  br label %3194

3194:                                             ; preds = %3177, %3160
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %3195

3195:                                             ; preds = %3194
  br label %3196

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

3197:                                             ; No predecessors!
  br label %3198

3198:                                             ; preds = %3197
  br label %3199

3199:                                             ; preds = %3198, %3137
  br label %3200

3200:                                             ; preds = %3199
  br label %3201

3201:                                             ; preds = %3200
  br label %3202

3202:                                             ; preds = %3201, %3133
  br label %3203

3203:                                             ; preds = %3202
  br label %3204

3204:                                             ; preds = %3203
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %84) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3205

3205:                                             ; preds = %3204
  %3206 = load i64, ptr %80, align 8, !tbaa !15
  %3207 = add i64 %3206, 1
  store i64 %3207, ptr %80, align 8, !tbaa !15
  br label %2871, !llvm.loop !22

3208:                                             ; preds = %2874
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  store i64 0, ptr %89, align 8, !tbaa !15
  br label %3209

3209:                                             ; preds = %3554, %3208
  %3210 = load i64, ptr %89, align 8, !tbaa !15
  %3211 = icmp ult i64 %3210, 6
  br i1 %3211, label %3213, label %3212

3212:                                             ; preds = %3209
  store i32 285, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  br label %3557

3213:                                             ; preds = %3209
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #11
  %3214 = load i64, ptr %89, align 8, !tbaa !15
  %3215 = getelementptr inbounds [6 x i64], ptr %25, i64 0, i64 %3214
  %3216 = load i64, ptr %3215, align 8, !tbaa !15
  store i64 %3216, ptr %90, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #11
  %3217 = load i64, ptr %90, align 8, !tbaa !15
  %3218 = sub i64 100, %3217
  store i64 %3218, ptr %91, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %3219 = load ptr, ptr %67, align 8, !tbaa !9
  %3220 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %21, i32 0, i32 0
  %3221 = load ptr, ptr %3220, align 8, !tbaa !19
  %3222 = getelementptr inbounds %struct.s2n_test_iovecs, ptr %21, i32 0, i32 1
  %3223 = load i64, ptr %3222, align 8, !tbaa !21
  %3224 = load i64, ptr %90, align 8, !tbaa !15
  %3225 = call i64 @s2n_sendv_with_offset(ptr noundef %3219, ptr noundef %3221, i64 noundef %3223, i64 noundef %3224, ptr noundef %70)
  %3226 = trunc i64 %3225 to i32
  store i32 %3226, ptr %92, align 4, !tbaa !5
  br label %3227

3227:                                             ; preds = %3213
  %3228 = load i32, ptr @test_count, align 4, !tbaa !5
  %3229 = add nsw i32 %3228, 1
  store i32 %3229, ptr @test_count, align 4, !tbaa !5
  %3230 = load i32, ptr %92, align 4, !tbaa !5
  %3231 = sext i32 %3230 to i64
  %3232 = load i64, ptr %91, align 8, !tbaa !15
  %3233 = icmp eq i64 %3231, %3232
  br i1 %3233, label %3287, label %3234

3234:                                             ; preds = %3227
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

3236:                                             ; preds = %3235
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %3237 = call ptr @__errno_location() #12
  %3238 = load i32, ptr %3237, align 4, !tbaa !5
  store i32 %3238, ptr %93, align 4, !tbaa !5
  %3239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3240 = call i32 @s2n_print_stacktrace(ptr noundef %3239)
  %3241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3242 = trunc i8 %3241 to i1
  br i1 %3242, label %3243, label %3265

3243:                                             ; preds = %3236
  %3244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3245 = call i32 @fileno(ptr noundef %3244) #11
  %3246 = call i32 @isatty(i32 noundef %3245) #11
  %3247 = icmp ne i32 %3246, 0
  br i1 %3247, label %3248, label %3265

3248:                                             ; preds = %3243
  %3249 = load i32, ptr %93, align 4, !tbaa !5
  %3250 = call ptr @__errno_location() #12
  store i32 %3249, ptr %3250, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = load i32, ptr @test_count, align 4, !tbaa !5
  %3253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3254 = load i32, ptr %3253, align 4, !tbaa !5
  %3255 = call ptr @s2n_strerror(i32 noundef %3254, ptr noundef @.str.4)
  %3256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror_debug(i32 noundef %3257, ptr noundef @.str.4)
  %3259 = call ptr @__errno_location() #12
  %3260 = load i32, ptr %3259, align 4, !tbaa !5
  %3261 = call ptr @strerror(i32 noundef %3260) #11
  %3262 = call ptr @__errno_location() #12
  %3263 = load i32, ptr %3262, align 4, !tbaa !5
  %3264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3251, ptr noundef @.str.2, i32 noundef %3252, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 251, ptr noundef %3255, ptr noundef %3258, ptr noundef %3261, i32 noundef %3263) #11
  br label %3282

3265:                                             ; preds = %3243, %3236
  %3266 = load i32, ptr %93, align 4, !tbaa !5
  %3267 = call ptr @__errno_location() #12
  store i32 %3266, ptr %3267, align 4, !tbaa !5
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = call ptr @s2n_strerror(i32 noundef %3271, ptr noundef @.str.4)
  %3273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3274 = load i32, ptr %3273, align 4, !tbaa !5
  %3275 = call ptr @s2n_strerror_debug(i32 noundef %3274, ptr noundef @.str.4)
  %3276 = call ptr @__errno_location() #12
  %3277 = load i32, ptr %3276, align 4, !tbaa !5
  %3278 = call ptr @strerror(i32 noundef %3277) #11
  %3279 = call ptr @__errno_location() #12
  %3280 = load i32, ptr %3279, align 4, !tbaa !5
  %3281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3268, ptr noundef @.str.5, i32 noundef %3269, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 251, ptr noundef %3272, ptr noundef %3275, ptr noundef %3278, i32 noundef %3280) #11
  br label %3282

3282:                                             ; preds = %3265, %3248
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %3283

3283:                                             ; preds = %3282
  br label %3284

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

3285:                                             ; No predecessors!
  br label %3286

3286:                                             ; preds = %3285
  br label %3287

3287:                                             ; preds = %3286, %3227
  br label %3288

3288:                                             ; preds = %3287
  br label %3289

3289:                                             ; preds = %3288
  br label %3290

3290:                                             ; preds = %3289
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %3292 = add nsw i32 %3291, 1
  store i32 %3292, ptr @test_count, align 4, !tbaa !5
  %3293 = load i32, ptr %70, align 4, !tbaa !5
  %3294 = icmp eq i32 %3293, 0
  br i1 %3294, label %3348, label %3295

3295:                                             ; preds = %3290
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

3297:                                             ; preds = %3296
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %3298 = call ptr @__errno_location() #12
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  store i32 %3299, ptr %94, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = call i32 @s2n_print_stacktrace(ptr noundef %3300)
  %3302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3303 = trunc i8 %3302 to i1
  br i1 %3303, label %3304, label %3326

3304:                                             ; preds = %3297
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = call i32 @fileno(ptr noundef %3305) #11
  %3307 = call i32 @isatty(i32 noundef %3306) #11
  %3308 = icmp ne i32 %3307, 0
  br i1 %3308, label %3309, label %3326

3309:                                             ; preds = %3304
  %3310 = load i32, ptr %94, align 4, !tbaa !5
  %3311 = call ptr @__errno_location() #12
  store i32 %3310, ptr %3311, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = load i32, ptr @test_count, align 4, !tbaa !5
  %3314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror(i32 noundef %3315, ptr noundef @.str.4)
  %3317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @s2n_strerror_debug(i32 noundef %3318, ptr noundef @.str.4)
  %3320 = call ptr @__errno_location() #12
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call ptr @strerror(i32 noundef %3321) #11
  %3323 = call ptr @__errno_location() #12
  %3324 = load i32, ptr %3323, align 4, !tbaa !5
  %3325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3312, ptr noundef @.str.2, i32 noundef %3313, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 252, ptr noundef %3316, ptr noundef %3319, ptr noundef %3322, i32 noundef %3324) #11
  br label %3343

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

3343:                                             ; preds = %3326, %3309
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %3344

3344:                                             ; preds = %3343
  br label %3345

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

3346:                                             ; No predecessors!
  br label %3347

3347:                                             ; preds = %3346
  br label %3348

3348:                                             ; preds = %3347, %3290
  br label %3349

3349:                                             ; preds = %3348
  br label %3350

3350:                                             ; preds = %3349
  call void @llvm.lifetime.start.p0(i64 100, ptr %95) #11
  call void @llvm.memset.p0.i64(ptr align 16 %95, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %3351 = load ptr, ptr %68, align 8, !tbaa !9
  %3352 = getelementptr inbounds [100 x i8], ptr %95, i64 0, i64 0
  %3353 = load i64, ptr %91, align 8, !tbaa !15
  %3354 = call i64 @s2n_recv(ptr noundef %3351, ptr noundef %3352, i64 noundef %3353, ptr noundef %70)
  %3355 = trunc i64 %3354 to i32
  store i32 %3355, ptr %96, align 4, !tbaa !5
  br label %3356

3356:                                             ; preds = %3350
  %3357 = load i32, ptr @test_count, align 4, !tbaa !5
  %3358 = add nsw i32 %3357, 1
  store i32 %3358, ptr @test_count, align 4, !tbaa !5
  %3359 = load i32, ptr %96, align 4, !tbaa !5
  %3360 = sext i32 %3359 to i64
  %3361 = load i64, ptr %91, align 8, !tbaa !15
  %3362 = icmp eq i64 %3360, %3361
  br i1 %3362, label %3416, label %3363

3363:                                             ; preds = %3356
  br label %3364

3364:                                             ; preds = %3363
  br label %3365

3365:                                             ; preds = %3364
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %3366 = call ptr @__errno_location() #12
  %3367 = load i32, ptr %3366, align 4, !tbaa !5
  store i32 %3367, ptr %97, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = call i32 @s2n_print_stacktrace(ptr noundef %3368)
  %3370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3371 = trunc i8 %3370 to i1
  br i1 %3371, label %3372, label %3394

3372:                                             ; preds = %3365
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = call i32 @fileno(ptr noundef %3373) #11
  %3375 = call i32 @isatty(i32 noundef %3374) #11
  %3376 = icmp ne i32 %3375, 0
  br i1 %3376, label %3377, label %3394

3377:                                             ; preds = %3372
  %3378 = load i32, ptr %97, align 4, !tbaa !5
  %3379 = call ptr @__errno_location() #12
  store i32 %3378, ptr %3379, align 4, !tbaa !5
  %3380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call ptr @s2n_strerror(i32 noundef %3383, ptr noundef @.str.4)
  %3385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3386 = load i32, ptr %3385, align 4, !tbaa !5
  %3387 = call ptr @s2n_strerror_debug(i32 noundef %3386, ptr noundef @.str.4)
  %3388 = call ptr @__errno_location() #12
  %3389 = load i32, ptr %3388, align 4, !tbaa !5
  %3390 = call ptr @strerror(i32 noundef %3389) #11
  %3391 = call ptr @__errno_location() #12
  %3392 = load i32, ptr %3391, align 4, !tbaa !5
  %3393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3380, ptr noundef @.str.2, i32 noundef %3381, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3384, ptr noundef %3387, ptr noundef %3390, i32 noundef %3392) #11
  br label %3411

3394:                                             ; preds = %3372, %3365
  %3395 = load i32, ptr %97, align 4, !tbaa !5
  %3396 = call ptr @__errno_location() #12
  store i32 %3395, ptr %3396, align 4, !tbaa !5
  %3397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3398 = load i32, ptr @test_count, align 4, !tbaa !5
  %3399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3400 = load i32, ptr %3399, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror(i32 noundef %3400, ptr noundef @.str.4)
  %3402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call ptr @s2n_strerror_debug(i32 noundef %3403, ptr noundef @.str.4)
  %3405 = call ptr @__errno_location() #12
  %3406 = load i32, ptr %3405, align 4, !tbaa !5
  %3407 = call ptr @strerror(i32 noundef %3406) #11
  %3408 = call ptr @__errno_location() #12
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  %3410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3397, ptr noundef @.str.5, i32 noundef %3398, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 256, ptr noundef %3401, ptr noundef %3404, ptr noundef %3407, i32 noundef %3409) #11
  br label %3411

3411:                                             ; preds = %3394, %3377
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %3412

3412:                                             ; preds = %3411
  br label %3413

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

3414:                                             ; No predecessors!
  br label %3415

3415:                                             ; preds = %3414
  br label %3416

3416:                                             ; preds = %3415, %3356
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  br label %3419

3419:                                             ; preds = %3418
  %3420 = load i32, ptr @test_count, align 4, !tbaa !5
  %3421 = add nsw i32 %3420, 1
  store i32 %3421, ptr @test_count, align 4, !tbaa !5
  %3422 = load i32, ptr %70, align 4, !tbaa !5
  %3423 = icmp eq i32 %3422, 0
  br i1 %3423, label %3477, label %3424

3424:                                             ; preds = %3419
  br label %3425

3425:                                             ; preds = %3424
  br label %3426

3426:                                             ; preds = %3425
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %3427 = call ptr @__errno_location() #12
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  store i32 %3428, ptr %98, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = call i32 @s2n_print_stacktrace(ptr noundef %3429)
  %3431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3432 = trunc i8 %3431 to i1
  br i1 %3432, label %3433, label %3455

3433:                                             ; preds = %3426
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @fileno(ptr noundef %3434) #11
  %3436 = call i32 @isatty(i32 noundef %3435) #11
  %3437 = icmp ne i32 %3436, 0
  br i1 %3437, label %3438, label %3455

3438:                                             ; preds = %3433
  %3439 = load i32, ptr %98, align 4, !tbaa !5
  %3440 = call ptr @__errno_location() #12
  store i32 %3439, ptr %3440, align 4, !tbaa !5
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3444, ptr noundef @.str.4)
  %3446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @s2n_strerror_debug(i32 noundef %3447, ptr noundef @.str.4)
  %3449 = call ptr @__errno_location() #12
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call ptr @strerror(i32 noundef %3450) #11
  %3452 = call ptr @__errno_location() #12
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  %3454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3441, ptr noundef @.str.2, i32 noundef %3442, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 257, ptr noundef %3445, ptr noundef %3448, ptr noundef %3451, i32 noundef %3453) #11
  br label %3472

3455:                                             ; preds = %3433, %3426
  %3456 = load i32, ptr %98, align 4, !tbaa !5
  %3457 = call ptr @__errno_location() #12
  store i32 %3456, ptr %3457, align 4, !tbaa !5
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  %3462 = call ptr @s2n_strerror(i32 noundef %3461, ptr noundef @.str.4)
  %3463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror_debug(i32 noundef %3464, ptr noundef @.str.4)
  %3466 = call ptr @__errno_location() #12
  %3467 = load i32, ptr %3466, align 4, !tbaa !5
  %3468 = call ptr @strerror(i32 noundef %3467) #11
  %3469 = call ptr @__errno_location() #12
  %3470 = load i32, ptr %3469, align 4, !tbaa !5
  %3471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3458, ptr noundef @.str.5, i32 noundef %3459, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 257, ptr noundef %3462, ptr noundef %3465, ptr noundef %3468, i32 noundef %3470) #11
  br label %3472

3472:                                             ; preds = %3455, %3438
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

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

3475:                                             ; No predecessors!
  br label %3476

3476:                                             ; preds = %3475
  br label %3477

3477:                                             ; preds = %3476, %3419
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478
  br label %3480

3480:                                             ; preds = %3479
  %3481 = load i32, ptr %96, align 4, !tbaa !5
  %3482 = icmp ne i32 %3481, 0
  br i1 %3482, label %3483, label %3551

3483:                                             ; preds = %3480
  br label %3484

3484:                                             ; preds = %3483
  %3485 = load i32, ptr @test_count, align 4, !tbaa !5
  %3486 = add nsw i32 %3485, 1
  store i32 %3486, ptr @test_count, align 4, !tbaa !5
  %3487 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %3488 = load i64, ptr %90, align 8, !tbaa !15
  %3489 = getelementptr inbounds i8, ptr %3487, i64 %3488
  %3490 = getelementptr inbounds [100 x i8], ptr %95, i64 0, i64 0
  %3491 = load i32, ptr %96, align 4, !tbaa !5
  %3492 = sext i32 %3491 to i64
  %3493 = call i32 @memcmp(ptr noundef %3489, ptr noundef %3490, i64 noundef %3492) #14
  %3494 = icmp eq i32 %3493, 0
  br i1 %3494, label %3548, label %3495

3495:                                             ; preds = %3484
  br label %3496

3496:                                             ; preds = %3495
  br label %3497

3497:                                             ; preds = %3496
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %3498 = call ptr @__errno_location() #12
  %3499 = load i32, ptr %3498, align 4, !tbaa !5
  store i32 %3499, ptr %99, align 4, !tbaa !5
  %3500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3501 = call i32 @s2n_print_stacktrace(ptr noundef %3500)
  %3502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3503 = trunc i8 %3502 to i1
  br i1 %3503, label %3504, label %3526

3504:                                             ; preds = %3497
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = call i32 @fileno(ptr noundef %3505) #11
  %3507 = call i32 @isatty(i32 noundef %3506) #11
  %3508 = icmp ne i32 %3507, 0
  br i1 %3508, label %3509, label %3526

3509:                                             ; preds = %3504
  %3510 = load i32, ptr %99, align 4, !tbaa !5
  %3511 = call ptr @__errno_location() #12
  store i32 %3510, ptr %3511, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3515 = load i32, ptr %3514, align 4, !tbaa !5
  %3516 = call ptr @s2n_strerror(i32 noundef %3515, ptr noundef @.str.4)
  %3517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3518 = load i32, ptr %3517, align 4, !tbaa !5
  %3519 = call ptr @s2n_strerror_debug(i32 noundef %3518, ptr noundef @.str.4)
  %3520 = call ptr @__errno_location() #12
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = call ptr @strerror(i32 noundef %3521) #11
  %3523 = call ptr @__errno_location() #12
  %3524 = load i32, ptr %3523, align 4, !tbaa !5
  %3525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3512, ptr noundef @.str.2, i32 noundef %3513, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 259, ptr noundef %3516, ptr noundef %3519, ptr noundef %3522, i32 noundef %3524) #11
  br label %3543

3526:                                             ; preds = %3504, %3497
  %3527 = load i32, ptr %99, align 4, !tbaa !5
  %3528 = call ptr @__errno_location() #12
  store i32 %3527, ptr %3528, align 4, !tbaa !5
  %3529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3530 = load i32, ptr @test_count, align 4, !tbaa !5
  %3531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3532 = load i32, ptr %3531, align 4, !tbaa !5
  %3533 = call ptr @s2n_strerror(i32 noundef %3532, ptr noundef @.str.4)
  %3534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3535 = load i32, ptr %3534, align 4, !tbaa !5
  %3536 = call ptr @s2n_strerror_debug(i32 noundef %3535, ptr noundef @.str.4)
  %3537 = call ptr @__errno_location() #12
  %3538 = load i32, ptr %3537, align 4, !tbaa !5
  %3539 = call ptr @strerror(i32 noundef %3538) #11
  %3540 = call ptr @__errno_location() #12
  %3541 = load i32, ptr %3540, align 4, !tbaa !5
  %3542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3529, ptr noundef @.str.5, i32 noundef %3530, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 259, ptr noundef %3533, ptr noundef %3536, ptr noundef %3539, i32 noundef %3541) #11
  br label %3543

3543:                                             ; preds = %3526, %3509
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %3544

3544:                                             ; preds = %3543
  br label %3545

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

3546:                                             ; No predecessors!
  br label %3547

3547:                                             ; preds = %3546
  br label %3548

3548:                                             ; preds = %3547, %3484
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550, %3480
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

3553:                                             ; preds = %3552
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %95) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #11
  br label %3554

3554:                                             ; preds = %3553
  %3555 = load i64, ptr %89, align 8, !tbaa !15
  %3556 = add i64 %3555, 1
  store i64 %3556, ptr %89, align 8, !tbaa !15
  br label %3209, !llvm.loop !23

3557:                                             ; preds = %3212
  call void @llvm.lifetime.start.p0(i64 100, ptr %100) #11
  call void @llvm.memset.p0.i64(ptr align 16 %100, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %3558 = load ptr, ptr %5, align 8, !tbaa !9
  %3559 = getelementptr inbounds ptr, ptr %3558, i64 0
  %3560 = load ptr, ptr %3559, align 8, !tbaa !9
  %3561 = call i32 (ptr, i32, ...) @open(ptr noundef %3560, i32 noundef 0)
  store i32 %3561, ptr %101, align 4, !tbaa !5
  br label %3562

3562:                                             ; preds = %3557
  %3563 = load i32, ptr @test_count, align 4, !tbaa !5
  %3564 = add nsw i32 %3563, 1
  store i32 %3564, ptr @test_count, align 4, !tbaa !5
  %3565 = load i32, ptr %101, align 4, !tbaa !5
  %3566 = icmp sgt i32 %3565, 0
  br i1 %3566, label %3620, label %3567

3567:                                             ; preds = %3562
  br label %3568

3568:                                             ; preds = %3567
  br label %3569

3569:                                             ; preds = %3568
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %3570 = call ptr @__errno_location() #12
  %3571 = load i32, ptr %3570, align 4, !tbaa !5
  store i32 %3571, ptr %102, align 4, !tbaa !5
  %3572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3573 = call i32 @s2n_print_stacktrace(ptr noundef %3572)
  %3574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3575 = trunc i8 %3574 to i1
  br i1 %3575, label %3576, label %3598

3576:                                             ; preds = %3569
  %3577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3578 = call i32 @fileno(ptr noundef %3577) #11
  %3579 = call i32 @isatty(i32 noundef %3578) #11
  %3580 = icmp ne i32 %3579, 0
  br i1 %3580, label %3581, label %3598

3581:                                             ; preds = %3576
  %3582 = load i32, ptr %102, align 4, !tbaa !5
  %3583 = call ptr @__errno_location() #12
  store i32 %3582, ptr %3583, align 4, !tbaa !5
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = load i32, ptr @test_count, align 4, !tbaa !5
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror(i32 noundef %3587, ptr noundef @.str.4)
  %3589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @s2n_strerror_debug(i32 noundef %3590, ptr noundef @.str.4)
  %3592 = call ptr @__errno_location() #12
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call ptr @strerror(i32 noundef %3593) #11
  %3595 = call ptr @__errno_location() #12
  %3596 = load i32, ptr %3595, align 4, !tbaa !5
  %3597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3584, ptr noundef @.str.2, i32 noundef %3585, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 266, ptr noundef %3588, ptr noundef %3591, ptr noundef %3594, i32 noundef %3596) #11
  br label %3615

3598:                                             ; preds = %3576, %3569
  %3599 = load i32, ptr %102, align 4, !tbaa !5
  %3600 = call ptr @__errno_location() #12
  store i32 %3599, ptr %3600, align 4, !tbaa !5
  %3601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3602 = load i32, ptr @test_count, align 4, !tbaa !5
  %3603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call ptr @s2n_strerror(i32 noundef %3604, ptr noundef @.str.4)
  %3606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call ptr @s2n_strerror_debug(i32 noundef %3607, ptr noundef @.str.4)
  %3609 = call ptr @__errno_location() #12
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call ptr @strerror(i32 noundef %3610) #11
  %3612 = call ptr @__errno_location() #12
  %3613 = load i32, ptr %3612, align 4, !tbaa !5
  %3614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3601, ptr noundef @.str.5, i32 noundef %3602, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 266, ptr noundef %3605, ptr noundef %3608, ptr noundef %3611, i32 noundef %3613) #11
  br label %3615

3615:                                             ; preds = %3598, %3581
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %3616

3616:                                             ; preds = %3615
  br label %3617

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

3618:                                             ; No predecessors!
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

3620:                                             ; preds = %3619, %3562
  br label %3621

3621:                                             ; preds = %3620
  br label %3622

3622:                                             ; preds = %3621
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %3623 = load i32, ptr %101, align 4, !tbaa !5
  %3624 = getelementptr inbounds [100 x i8], ptr %100, i64 0, i64 0
  %3625 = call i64 @pread(i32 noundef %3623, ptr noundef %3624, i64 noundef 100, i64 noundef 0)
  %3626 = trunc i64 %3625 to i32
  store i32 %3626, ptr %103, align 4, !tbaa !5
  br label %3627

3627:                                             ; preds = %3622
  %3628 = load i32, ptr @test_count, align 4, !tbaa !5
  %3629 = add nsw i32 %3628, 1
  store i32 %3629, ptr @test_count, align 4, !tbaa !5
  %3630 = load i32, ptr %103, align 4, !tbaa !5
  %3631 = sext i32 %3630 to i64
  %3632 = icmp eq i64 %3631, 100
  br i1 %3632, label %3686, label %3633

3633:                                             ; preds = %3627
  br label %3634

3634:                                             ; preds = %3633
  br label %3635

3635:                                             ; preds = %3634
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %3636 = call ptr @__errno_location() #12
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  store i32 %3637, ptr %104, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = call i32 @s2n_print_stacktrace(ptr noundef %3638)
  %3640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3641 = trunc i8 %3640 to i1
  br i1 %3641, label %3642, label %3664

3642:                                             ; preds = %3635
  %3643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3644 = call i32 @fileno(ptr noundef %3643) #11
  %3645 = call i32 @isatty(i32 noundef %3644) #11
  %3646 = icmp ne i32 %3645, 0
  br i1 %3646, label %3647, label %3664

3647:                                             ; preds = %3642
  %3648 = load i32, ptr %104, align 4, !tbaa !5
  %3649 = call ptr @__errno_location() #12
  store i32 %3648, ptr %3649, align 4, !tbaa !5
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = load i32, ptr @test_count, align 4, !tbaa !5
  %3652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3653 = load i32, ptr %3652, align 4, !tbaa !5
  %3654 = call ptr @s2n_strerror(i32 noundef %3653, ptr noundef @.str.4)
  %3655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror_debug(i32 noundef %3656, ptr noundef @.str.4)
  %3658 = call ptr @__errno_location() #12
  %3659 = load i32, ptr %3658, align 4, !tbaa !5
  %3660 = call ptr @strerror(i32 noundef %3659) #11
  %3661 = call ptr @__errno_location() #12
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3650, ptr noundef @.str.2, i32 noundef %3651, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 268, ptr noundef %3654, ptr noundef %3657, ptr noundef %3660, i32 noundef %3662) #11
  br label %3681

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

3681:                                             ; preds = %3664, %3647
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %3682

3682:                                             ; preds = %3681
  br label %3683

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

3684:                                             ; No predecessors!
  br label %3685

3685:                                             ; preds = %3684
  br label %3686

3686:                                             ; preds = %3685, %3627
  br label %3687

3687:                                             ; preds = %3686
  br label %3688

3688:                                             ; preds = %3687
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #11
  store i64 0, ptr %105, align 8, !tbaa !15
  br label %3689

3689:                                             ; preds = %4090, %3688
  %3690 = load i64, ptr %105, align 8, !tbaa !15
  %3691 = icmp ult i64 %3690, 6
  br i1 %3691, label %3693, label %3692

3692:                                             ; preds = %3689
  store i32 332, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #11
  br label %4093

3693:                                             ; preds = %3689
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  %3694 = load i64, ptr %105, align 8, !tbaa !15
  %3695 = getelementptr inbounds [6 x i64], ptr %25, i64 0, i64 %3694
  %3696 = load i64, ptr %3695, align 8, !tbaa !15
  store i64 %3696, ptr %106, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %107) #11
  %3697 = load i64, ptr %106, align 8, !tbaa !15
  %3698 = sub i64 100, %3697
  store i64 %3698, ptr %107, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #11
  store i64 0, ptr %108, align 8, !tbaa !15
  br label %3699

3699:                                             ; preds = %3693
  %3700 = load i32, ptr @test_count, align 4, !tbaa !5
  %3701 = add nsw i32 %3700, 1
  store i32 %3701, ptr @test_count, align 4, !tbaa !5
  %3702 = load ptr, ptr %67, align 8, !tbaa !9
  %3703 = load i32, ptr %101, align 4, !tbaa !5
  %3704 = load i64, ptr %106, align 8, !tbaa !15
  %3705 = load i64, ptr %107, align 8, !tbaa !15
  %3706 = call i32 @s2n_sendfile(ptr noundef %3702, i32 noundef %3703, i64 noundef %3704, i64 noundef %3705, ptr noundef %108, ptr noundef %70)
  %3707 = icmp eq i32 %3706, -1
  br i1 %3707, label %3708, label %3761

3708:                                             ; preds = %3699
  br label %3709

3709:                                             ; preds = %3708
  br label %3710

3710:                                             ; preds = %3709
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %3711 = call ptr @__errno_location() #12
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  store i32 %3712, ptr %109, align 4, !tbaa !5
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = call i32 @s2n_print_stacktrace(ptr noundef %3713)
  %3715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3716 = trunc i8 %3715 to i1
  br i1 %3716, label %3717, label %3739

3717:                                             ; preds = %3710
  %3718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3719 = call i32 @fileno(ptr noundef %3718) #11
  %3720 = call i32 @isatty(i32 noundef %3719) #11
  %3721 = icmp ne i32 %3720, 0
  br i1 %3721, label %3722, label %3739

3722:                                             ; preds = %3717
  %3723 = load i32, ptr %109, align 4, !tbaa !5
  %3724 = call ptr @__errno_location() #12
  store i32 %3723, ptr %3724, align 4, !tbaa !5
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = load i32, ptr @test_count, align 4, !tbaa !5
  %3727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3728 = load i32, ptr %3727, align 4, !tbaa !5
  %3729 = call ptr @s2n_strerror(i32 noundef %3728, ptr noundef @.str.4)
  %3730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3731 = load i32, ptr %3730, align 4, !tbaa !5
  %3732 = call ptr @s2n_strerror_debug(i32 noundef %3731, ptr noundef @.str.4)
  %3733 = call ptr @__errno_location() #12
  %3734 = load i32, ptr %3733, align 4, !tbaa !5
  %3735 = call ptr @strerror(i32 noundef %3734) #11
  %3736 = call ptr @__errno_location() #12
  %3737 = load i32, ptr %3736, align 4, !tbaa !5
  %3738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3725, ptr noundef @.str.2, i32 noundef %3726, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 276, ptr noundef %3729, ptr noundef %3732, ptr noundef %3735, i32 noundef %3737) #11
  br label %3756

3739:                                             ; preds = %3717, %3710
  %3740 = load i32, ptr %109, align 4, !tbaa !5
  %3741 = call ptr @__errno_location() #12
  store i32 %3740, ptr %3741, align 4, !tbaa !5
  %3742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3745, ptr noundef @.str.4)
  %3747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3748 = load i32, ptr %3747, align 4, !tbaa !5
  %3749 = call ptr @s2n_strerror_debug(i32 noundef %3748, ptr noundef @.str.4)
  %3750 = call ptr @__errno_location() #12
  %3751 = load i32, ptr %3750, align 4, !tbaa !5
  %3752 = call ptr @strerror(i32 noundef %3751) #11
  %3753 = call ptr @__errno_location() #12
  %3754 = load i32, ptr %3753, align 4, !tbaa !5
  %3755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3742, ptr noundef @.str.5, i32 noundef %3743, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 276, ptr noundef %3746, ptr noundef %3749, ptr noundef %3752, i32 noundef %3754) #11
  br label %3756

3756:                                             ; preds = %3739, %3722
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %3757

3757:                                             ; preds = %3756
  br label %3758

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

3759:                                             ; No predecessors!
  br label %3760

3760:                                             ; preds = %3759
  br label %3761

3761:                                             ; preds = %3760, %3699
  br label %3762

3762:                                             ; preds = %3761
  br label %3763

3763:                                             ; preds = %3762
  br label %3764

3764:                                             ; preds = %3763
  %3765 = load i32, ptr @test_count, align 4, !tbaa !5
  %3766 = add nsw i32 %3765, 1
  store i32 %3766, ptr @test_count, align 4, !tbaa !5
  %3767 = load i64, ptr %108, align 8, !tbaa !15
  %3768 = load i64, ptr %107, align 8, !tbaa !15
  %3769 = icmp eq i64 %3767, %3768
  br i1 %3769, label %3823, label %3770

3770:                                             ; preds = %3764
  br label %3771

3771:                                             ; preds = %3770
  br label %3772

3772:                                             ; preds = %3771
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %3773 = call ptr @__errno_location() #12
  %3774 = load i32, ptr %3773, align 4, !tbaa !5
  store i32 %3774, ptr %110, align 4, !tbaa !5
  %3775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3776 = call i32 @s2n_print_stacktrace(ptr noundef %3775)
  %3777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3778 = trunc i8 %3777 to i1
  br i1 %3778, label %3779, label %3801

3779:                                             ; preds = %3772
  %3780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3781 = call i32 @fileno(ptr noundef %3780) #11
  %3782 = call i32 @isatty(i32 noundef %3781) #11
  %3783 = icmp ne i32 %3782, 0
  br i1 %3783, label %3784, label %3801

3784:                                             ; preds = %3779
  %3785 = load i32, ptr %110, align 4, !tbaa !5
  %3786 = call ptr @__errno_location() #12
  store i32 %3785, ptr %3786, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = load i32, ptr @test_count, align 4, !tbaa !5
  %3789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call ptr @s2n_strerror(i32 noundef %3790, ptr noundef @.str.4)
  %3792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror_debug(i32 noundef %3793, ptr noundef @.str.4)
  %3795 = call ptr @__errno_location() #12
  %3796 = load i32, ptr %3795, align 4, !tbaa !5
  %3797 = call ptr @strerror(i32 noundef %3796) #11
  %3798 = call ptr @__errno_location() #12
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  %3800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3787, ptr noundef @.str.2, i32 noundef %3788, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 277, ptr noundef %3791, ptr noundef %3794, ptr noundef %3797, i32 noundef %3799) #11
  br label %3818

3801:                                             ; preds = %3779, %3772
  %3802 = load i32, ptr %110, align 4, !tbaa !5
  %3803 = call ptr @__errno_location() #12
  store i32 %3802, ptr %3803, align 4, !tbaa !5
  %3804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3807 = load i32, ptr %3806, align 4, !tbaa !5
  %3808 = call ptr @s2n_strerror(i32 noundef %3807, ptr noundef @.str.4)
  %3809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3810 = load i32, ptr %3809, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror_debug(i32 noundef %3810, ptr noundef @.str.4)
  %3812 = call ptr @__errno_location() #12
  %3813 = load i32, ptr %3812, align 4, !tbaa !5
  %3814 = call ptr @strerror(i32 noundef %3813) #11
  %3815 = call ptr @__errno_location() #12
  %3816 = load i32, ptr %3815, align 4, !tbaa !5
  %3817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3804, ptr noundef @.str.5, i32 noundef %3805, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 277, ptr noundef %3808, ptr noundef %3811, ptr noundef %3814, i32 noundef %3816) #11
  br label %3818

3818:                                             ; preds = %3801, %3784
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %3819

3819:                                             ; preds = %3818
  br label %3820

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

3821:                                             ; No predecessors!
  br label %3822

3822:                                             ; preds = %3821
  br label %3823

3823:                                             ; preds = %3822, %3764
  br label %3824

3824:                                             ; preds = %3823
  br label %3825

3825:                                             ; preds = %3824
  br label %3826

3826:                                             ; preds = %3825
  %3827 = load i32, ptr @test_count, align 4, !tbaa !5
  %3828 = add nsw i32 %3827, 1
  store i32 %3828, ptr @test_count, align 4, !tbaa !5
  %3829 = load i32, ptr %70, align 4, !tbaa !5
  %3830 = icmp eq i32 %3829, 0
  br i1 %3830, label %3884, label %3831

3831:                                             ; preds = %3826
  br label %3832

3832:                                             ; preds = %3831
  br label %3833

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

3840:                                             ; preds = %3833
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @fileno(ptr noundef %3841) #11
  %3843 = call i32 @isatty(i32 noundef %3842) #11
  %3844 = icmp ne i32 %3843, 0
  br i1 %3844, label %3845, label %3862

3845:                                             ; preds = %3840
  %3846 = load i32, ptr %111, align 4, !tbaa !5
  %3847 = call ptr @__errno_location() #12
  store i32 %3846, ptr %3847, align 4, !tbaa !5
  %3848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3849 = load i32, ptr @test_count, align 4, !tbaa !5
  %3850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3851 = load i32, ptr %3850, align 4, !tbaa !5
  %3852 = call ptr @s2n_strerror(i32 noundef %3851, ptr noundef @.str.4)
  %3853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3854 = load i32, ptr %3853, align 4, !tbaa !5
  %3855 = call ptr @s2n_strerror_debug(i32 noundef %3854, ptr noundef @.str.4)
  %3856 = call ptr @__errno_location() #12
  %3857 = load i32, ptr %3856, align 4, !tbaa !5
  %3858 = call ptr @strerror(i32 noundef %3857) #11
  %3859 = call ptr @__errno_location() #12
  %3860 = load i32, ptr %3859, align 4, !tbaa !5
  %3861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3848, ptr noundef @.str.2, i32 noundef %3849, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3852, ptr noundef %3855, ptr noundef %3858, i32 noundef %3860) #11
  br label %3879

3862:                                             ; preds = %3840, %3833
  %3863 = load i32, ptr %111, 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.5, i32 noundef %3866, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 278, ptr noundef %3869, ptr noundef %3872, ptr noundef %3875, i32 noundef %3877) #11
  br label %3879

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

3880:                                             ; preds = %3879
  br label %3881

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

3882:                                             ; No predecessors!
  br label %3883

3883:                                             ; preds = %3882
  br label %3884

3884:                                             ; preds = %3883, %3826
  br label %3885

3885:                                             ; preds = %3884
  br label %3886

3886:                                             ; preds = %3885
  call void @llvm.lifetime.start.p0(i64 100, ptr %112) #11
  call void @llvm.memset.p0.i64(ptr align 16 %112, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %3887 = load ptr, ptr %68, align 8, !tbaa !9
  %3888 = getelementptr inbounds [100 x i8], ptr %112, i64 0, i64 0
  %3889 = load i64, ptr %107, align 8, !tbaa !15
  %3890 = call i64 @s2n_recv(ptr noundef %3887, ptr noundef %3888, i64 noundef %3889, ptr noundef %70)
  %3891 = trunc i64 %3890 to i32
  store i32 %3891, ptr %113, align 4, !tbaa !5
  br label %3892

3892:                                             ; preds = %3886
  %3893 = load i32, ptr @test_count, align 4, !tbaa !5
  %3894 = add nsw i32 %3893, 1
  store i32 %3894, ptr @test_count, align 4, !tbaa !5
  %3895 = load i32, ptr %113, align 4, !tbaa !5
  %3896 = sext i32 %3895 to i64
  %3897 = load i64, ptr %107, align 8, !tbaa !15
  %3898 = icmp eq i64 %3896, %3897
  br i1 %3898, label %3952, label %3899

3899:                                             ; preds = %3892
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

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

3908:                                             ; preds = %3901
  %3909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3910 = call i32 @fileno(ptr noundef %3909) #11
  %3911 = call i32 @isatty(i32 noundef %3910) #11
  %3912 = icmp ne i32 %3911, 0
  br i1 %3912, label %3913, label %3930

3913:                                             ; preds = %3908
  %3914 = load i32, ptr %114, align 4, !tbaa !5
  %3915 = call ptr @__errno_location() #12
  store i32 %3914, ptr %3915, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = load i32, ptr @test_count, align 4, !tbaa !5
  %3918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call ptr @s2n_strerror(i32 noundef %3919, ptr noundef @.str.4)
  %3921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3922 = load i32, ptr %3921, align 4, !tbaa !5
  %3923 = call ptr @s2n_strerror_debug(i32 noundef %3922, ptr noundef @.str.4)
  %3924 = call ptr @__errno_location() #12
  %3925 = load i32, ptr %3924, align 4, !tbaa !5
  %3926 = call ptr @strerror(i32 noundef %3925) #11
  %3927 = call ptr @__errno_location() #12
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  %3929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3916, ptr noundef @.str.2, i32 noundef %3917, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 282, ptr noundef %3920, ptr noundef %3923, ptr noundef %3926, i32 noundef %3928) #11
  br label %3947

3930:                                             ; preds = %3908, %3901
  %3931 = load i32, ptr %114, align 4, !tbaa !5
  %3932 = call ptr @__errno_location() #12
  store i32 %3931, ptr %3932, align 4, !tbaa !5
  %3933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3934 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3936, ptr noundef @.str.4)
  %3938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3939 = load i32, ptr %3938, align 4, !tbaa !5
  %3940 = call ptr @s2n_strerror_debug(i32 noundef %3939, ptr noundef @.str.4)
  %3941 = call ptr @__errno_location() #12
  %3942 = load i32, ptr %3941, align 4, !tbaa !5
  %3943 = call ptr @strerror(i32 noundef %3942) #11
  %3944 = call ptr @__errno_location() #12
  %3945 = load i32, ptr %3944, align 4, !tbaa !5
  %3946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3933, ptr noundef @.str.5, i32 noundef %3934, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 282, ptr noundef %3937, ptr noundef %3940, ptr noundef %3943, i32 noundef %3945) #11
  br label %3947

3947:                                             ; preds = %3930, %3913
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %3948

3948:                                             ; preds = %3947
  br label %3949

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

3950:                                             ; No predecessors!
  br label %3951

3951:                                             ; preds = %3950
  br label %3952

3952:                                             ; preds = %3951, %3892
  br label %3953

3953:                                             ; preds = %3952
  br label %3954

3954:                                             ; preds = %3953
  br label %3955

3955:                                             ; preds = %3954
  %3956 = load i32, ptr @test_count, align 4, !tbaa !5
  %3957 = add nsw i32 %3956, 1
  store i32 %3957, ptr @test_count, align 4, !tbaa !5
  %3958 = load i32, ptr %70, align 4, !tbaa !5
  %3959 = icmp eq i32 %3958, 0
  br i1 %3959, label %4013, label %3960

3960:                                             ; preds = %3955
  br label %3961

3961:                                             ; preds = %3960
  br label %3962

3962:                                             ; preds = %3961
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %3963 = call ptr @__errno_location() #12
  %3964 = load i32, ptr %3963, align 4, !tbaa !5
  store i32 %3964, ptr %115, align 4, !tbaa !5
  %3965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3966 = call i32 @s2n_print_stacktrace(ptr noundef %3965)
  %3967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3968 = trunc i8 %3967 to i1
  br i1 %3968, label %3969, label %3991

3969:                                             ; preds = %3962
  %3970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3971 = call i32 @fileno(ptr noundef %3970) #11
  %3972 = call i32 @isatty(i32 noundef %3971) #11
  %3973 = icmp ne i32 %3972, 0
  br i1 %3973, label %3974, label %3991

3974:                                             ; preds = %3969
  %3975 = load i32, ptr %115, align 4, !tbaa !5
  %3976 = call ptr @__errno_location() #12
  store i32 %3975, ptr %3976, align 4, !tbaa !5
  %3977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3978 = load i32, ptr @test_count, align 4, !tbaa !5
  %3979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3980 = load i32, ptr %3979, align 4, !tbaa !5
  %3981 = call ptr @s2n_strerror(i32 noundef %3980, ptr noundef @.str.4)
  %3982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3983 = load i32, ptr %3982, align 4, !tbaa !5
  %3984 = call ptr @s2n_strerror_debug(i32 noundef %3983, ptr noundef @.str.4)
  %3985 = call ptr @__errno_location() #12
  %3986 = load i32, ptr %3985, align 4, !tbaa !5
  %3987 = call ptr @strerror(i32 noundef %3986) #11
  %3988 = call ptr @__errno_location() #12
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  %3990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3977, ptr noundef @.str.2, i32 noundef %3978, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 283, ptr noundef %3981, ptr noundef %3984, ptr noundef %3987, i32 noundef %3989) #11
  br label %4008

3991:                                             ; preds = %3969, %3962
  %3992 = load i32, ptr %115, align 4, !tbaa !5
  %3993 = call ptr @__errno_location() #12
  store i32 %3992, ptr %3993, align 4, !tbaa !5
  %3994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3995 = load i32, ptr @test_count, align 4, !tbaa !5
  %3996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3997 = load i32, ptr %3996, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror(i32 noundef %3997, ptr noundef @.str.4)
  %3999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4000 = load i32, ptr %3999, align 4, !tbaa !5
  %4001 = call ptr @s2n_strerror_debug(i32 noundef %4000, ptr noundef @.str.4)
  %4002 = call ptr @__errno_location() #12
  %4003 = load i32, ptr %4002, align 4, !tbaa !5
  %4004 = call ptr @strerror(i32 noundef %4003) #11
  %4005 = call ptr @__errno_location() #12
  %4006 = load i32, ptr %4005, align 4, !tbaa !5
  %4007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3994, ptr noundef @.str.5, i32 noundef %3995, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 283, ptr noundef %3998, ptr noundef %4001, ptr noundef %4004, i32 noundef %4006) #11
  br label %4008

4008:                                             ; preds = %3991, %3974
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %4009

4009:                                             ; preds = %4008
  br label %4010

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

4011:                                             ; No predecessors!
  br label %4012

4012:                                             ; preds = %4011
  br label %4013

4013:                                             ; preds = %4012, %3955
  br label %4014

4014:                                             ; preds = %4013
  br label %4015

4015:                                             ; preds = %4014
  br label %4016

4016:                                             ; preds = %4015
  %4017 = load i32, ptr %113, align 4, !tbaa !5
  %4018 = icmp ne i32 %4017, 0
  br i1 %4018, label %4019, label %4087

4019:                                             ; preds = %4016
  br label %4020

4020:                                             ; preds = %4019
  %4021 = load i32, ptr @test_count, align 4, !tbaa !5
  %4022 = add nsw i32 %4021, 1
  store i32 %4022, ptr @test_count, align 4, !tbaa !5
  %4023 = getelementptr inbounds [100 x i8], ptr %100, i64 0, i64 0
  %4024 = load i64, ptr %106, align 8, !tbaa !15
  %4025 = getelementptr inbounds i8, ptr %4023, i64 %4024
  %4026 = getelementptr inbounds [100 x i8], ptr %112, i64 0, i64 0
  %4027 = load i32, ptr %113, align 4, !tbaa !5
  %4028 = sext i32 %4027 to i64
  %4029 = call i32 @memcmp(ptr noundef %4025, ptr noundef %4026, i64 noundef %4028) #14
  %4030 = icmp eq i32 %4029, 0
  br i1 %4030, label %4084, label %4031

4031:                                             ; preds = %4020
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %4034 = call ptr @__errno_location() #12
  %4035 = load i32, ptr %4034, align 4, !tbaa !5
  store i32 %4035, ptr %116, align 4, !tbaa !5
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @s2n_print_stacktrace(ptr noundef %4036)
  %4038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4039 = trunc i8 %4038 to i1
  br i1 %4039, label %4040, label %4062

4040:                                             ; preds = %4033
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = call i32 @fileno(ptr noundef %4041) #11
  %4043 = call i32 @isatty(i32 noundef %4042) #11
  %4044 = icmp ne i32 %4043, 0
  br i1 %4044, label %4045, label %4062

4045:                                             ; preds = %4040
  %4046 = load i32, ptr %116, align 4, !tbaa !5
  %4047 = call ptr @__errno_location() #12
  store i32 %4046, ptr %4047, align 4, !tbaa !5
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4049 = load i32, ptr @test_count, align 4, !tbaa !5
  %4050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4051 = load i32, ptr %4050, align 4, !tbaa !5
  %4052 = call ptr @s2n_strerror(i32 noundef %4051, ptr noundef @.str.4)
  %4053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4054 = load i32, ptr %4053, align 4, !tbaa !5
  %4055 = call ptr @s2n_strerror_debug(i32 noundef %4054, ptr noundef @.str.4)
  %4056 = call ptr @__errno_location() #12
  %4057 = load i32, ptr %4056, align 4, !tbaa !5
  %4058 = call ptr @strerror(i32 noundef %4057) #11
  %4059 = call ptr @__errno_location() #12
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4048, ptr noundef @.str.2, i32 noundef %4049, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 285, ptr noundef %4052, ptr noundef %4055, ptr noundef %4058, i32 noundef %4060) #11
  br label %4079

4062:                                             ; preds = %4040, %4033
  %4063 = load i32, ptr %116, align 4, !tbaa !5
  %4064 = call ptr @__errno_location() #12
  store i32 %4063, ptr %4064, align 4, !tbaa !5
  %4065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4068 = load i32, ptr %4067, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror(i32 noundef %4068, ptr noundef @.str.4)
  %4070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  %4072 = call ptr @s2n_strerror_debug(i32 noundef %4071, ptr noundef @.str.4)
  %4073 = call ptr @__errno_location() #12
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #11
  %4076 = call ptr @__errno_location() #12
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4065, ptr noundef @.str.5, i32 noundef %4066, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 285, ptr noundef %4069, ptr noundef %4072, ptr noundef %4075, i32 noundef %4077) #11
  br label %4079

4079:                                             ; preds = %4062, %4045
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %4080

4080:                                             ; preds = %4079
  br label %4081

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

4082:                                             ; No predecessors!
  br label %4083

4083:                                             ; preds = %4082
  br label %4084

4084:                                             ; preds = %4083, %4020
  br label %4085

4085:                                             ; preds = %4084
  br label %4086

4086:                                             ; preds = %4085
  br label %4087

4087:                                             ; preds = %4086, %4016
  br label %4088

4088:                                             ; preds = %4087
  br label %4089

4089:                                             ; preds = %4088
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %112) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %107) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  br label %4090

4090:                                             ; preds = %4089
  %4091 = load i64, ptr %105, align 8, !tbaa !15
  %4092 = add i64 %4091, 1
  store i64 %4092, ptr %105, align 8, !tbaa !15
  br label %3689, !llvm.loop !24

4093:                                             ; preds = %3692
  br label %4094

4094:                                             ; preds = %4093
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = add nsw i32 %4095, 1
  store i32 %4096, ptr @test_count, align 4, !tbaa !5
  %4097 = load i32, ptr %101, align 4, !tbaa !5
  %4098 = call i32 @close(i32 noundef %4097)
  %4099 = icmp eq i32 %4098, -1
  br i1 %4099, label %4100, label %4153

4100:                                             ; preds = %4094
  br label %4101

4101:                                             ; preds = %4100
  br label %4102

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

4109:                                             ; preds = %4102
  %4110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4111 = call i32 @fileno(ptr noundef %4110) #11
  %4112 = call i32 @isatty(i32 noundef %4111) #11
  %4113 = icmp ne i32 %4112, 0
  br i1 %4113, label %4114, label %4131

4114:                                             ; preds = %4109
  %4115 = load i32, ptr %117, align 4, !tbaa !5
  %4116 = call ptr @__errno_location() #12
  store i32 %4115, ptr %4116, align 4, !tbaa !5
  %4117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4118 = load i32, ptr @test_count, align 4, !tbaa !5
  %4119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4120 = load i32, ptr %4119, align 4, !tbaa !5
  %4121 = call ptr @s2n_strerror(i32 noundef %4120, ptr noundef @.str.4)
  %4122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4123 = load i32, ptr %4122, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror_debug(i32 noundef %4123, ptr noundef @.str.4)
  %4125 = call ptr @__errno_location() #12
  %4126 = load i32, ptr %4125, align 4, !tbaa !5
  %4127 = call ptr @strerror(i32 noundef %4126) #11
  %4128 = call ptr @__errno_location() #12
  %4129 = load i32, ptr %4128, align 4, !tbaa !5
  %4130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4117, ptr noundef @.str.2, i32 noundef %4118, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 288, ptr noundef %4121, ptr noundef %4124, ptr noundef %4127, i32 noundef %4129) #11
  br label %4148

4131:                                             ; preds = %4109, %4102
  %4132 = load i32, ptr %117, align 4, !tbaa !5
  %4133 = call ptr @__errno_location() #12
  store i32 %4132, ptr %4133, align 4, !tbaa !5
  %4134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4135 = load i32, ptr @test_count, align 4, !tbaa !5
  %4136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4137 = load i32, ptr %4136, align 4, !tbaa !5
  %4138 = call ptr @s2n_strerror(i32 noundef %4137, ptr noundef @.str.4)
  %4139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4140 = load i32, ptr %4139, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror_debug(i32 noundef %4140, ptr noundef @.str.4)
  %4142 = call ptr @__errno_location() #12
  %4143 = load i32, ptr %4142, align 4, !tbaa !5
  %4144 = call ptr @strerror(i32 noundef %4143) #11
  %4145 = call ptr @__errno_location() #12
  %4146 = load i32, ptr %4145, align 4, !tbaa !5
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4134, ptr noundef @.str.5, i32 noundef %4135, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 288, ptr noundef %4138, ptr noundef %4141, ptr noundef %4144, i32 noundef %4146) #11
  br label %4148

4148:                                             ; preds = %4131, %4114
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %4149

4149:                                             ; preds = %4148
  br label %4150

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

4151:                                             ; No predecessors!
  br label %4152

4152:                                             ; preds = %4151
  br label %4153

4153:                                             ; preds = %4152, %4094
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

4155:                                             ; preds = %4154
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %100) #11
  br label %4156

4156:                                             ; preds = %4155
  %4157 = load i32, ptr @test_count, align 4, !tbaa !5
  %4158 = add nsw i32 %4157, 1
  store i32 %4158, ptr @test_count, align 4, !tbaa !5
  %4159 = load ptr, ptr %67, align 8, !tbaa !9
  %4160 = call i32 @s2n_shutdown_send(ptr noundef %4159, ptr noundef %70)
  %4161 = icmp eq i32 %4160, -1
  br i1 %4161, label %4162, label %4215

4162:                                             ; preds = %4156
  br label %4163

4163:                                             ; preds = %4162
  br label %4164

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

4171:                                             ; preds = %4164
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = call i32 @fileno(ptr noundef %4172) #11
  %4174 = call i32 @isatty(i32 noundef %4173) #11
  %4175 = icmp ne i32 %4174, 0
  br i1 %4175, label %4176, label %4193

4176:                                             ; preds = %4171
  %4177 = load i32, ptr %118, align 4, !tbaa !5
  %4178 = call ptr @__errno_location() #12
  store i32 %4177, ptr %4178, align 4, !tbaa !5
  %4179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4180 = load i32, ptr @test_count, align 4, !tbaa !5
  %4181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4182 = load i32, ptr %4181, align 4, !tbaa !5
  %4183 = call ptr @s2n_strerror(i32 noundef %4182, ptr noundef @.str.4)
  %4184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4185 = load i32, ptr %4184, align 4, !tbaa !5
  %4186 = call ptr @s2n_strerror_debug(i32 noundef %4185, ptr noundef @.str.4)
  %4187 = call ptr @__errno_location() #12
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @strerror(i32 noundef %4188) #11
  %4190 = call ptr @__errno_location() #12
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4179, ptr noundef @.str.2, i32 noundef %4180, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 293, ptr noundef %4183, ptr noundef %4186, ptr noundef %4189, i32 noundef %4191) #11
  br label %4210

4193:                                             ; preds = %4171, %4164
  %4194 = load i32, ptr %118, align 4, !tbaa !5
  %4195 = call ptr @__errno_location() #12
  store i32 %4194, ptr %4195, align 4, !tbaa !5
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = load i32, ptr @test_count, align 4, !tbaa !5
  %4198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4199 = load i32, ptr %4198, align 4, !tbaa !5
  %4200 = call ptr @s2n_strerror(i32 noundef %4199, ptr noundef @.str.4)
  %4201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4202 = load i32, ptr %4201, align 4, !tbaa !5
  %4203 = call ptr @s2n_strerror_debug(i32 noundef %4202, ptr noundef @.str.4)
  %4204 = call ptr @__errno_location() #12
  %4205 = load i32, ptr %4204, align 4, !tbaa !5
  %4206 = call ptr @strerror(i32 noundef %4205) #11
  %4207 = call ptr @__errno_location() #12
  %4208 = load i32, ptr %4207, align 4, !tbaa !5
  %4209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4196, ptr noundef @.str.5, i32 noundef %4197, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 293, ptr noundef %4200, ptr noundef %4203, ptr noundef %4206, i32 noundef %4208) #11
  br label %4210

4210:                                             ; preds = %4193, %4176
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %4211

4211:                                             ; preds = %4210
  br label %4212

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

4213:                                             ; No predecessors!
  br label %4214

4214:                                             ; preds = %4213
  br label %4215

4215:                                             ; preds = %4214, %4156
  br label %4216

4216:                                             ; preds = %4215
  br label %4217

4217:                                             ; preds = %4216
  br label %4218

4218:                                             ; preds = %4217
  %4219 = load i32, ptr @test_count, align 4, !tbaa !5
  %4220 = add nsw i32 %4219, 1
  store i32 %4220, ptr @test_count, align 4, !tbaa !5
  %4221 = load i32, ptr %70, align 4, !tbaa !5
  %4222 = icmp eq i32 %4221, 0
  br i1 %4222, label %4276, label %4223

4223:                                             ; preds = %4218
  br label %4224

4224:                                             ; preds = %4223
  br label %4225

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

4232:                                             ; preds = %4225
  %4233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4234 = call i32 @fileno(ptr noundef %4233) #11
  %4235 = call i32 @isatty(i32 noundef %4234) #11
  %4236 = icmp ne i32 %4235, 0
  br i1 %4236, label %4237, label %4254

4237:                                             ; preds = %4232
  %4238 = load i32, ptr %119, align 4, !tbaa !5
  %4239 = call ptr @__errno_location() #12
  store i32 %4238, ptr %4239, align 4, !tbaa !5
  %4240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4241 = load i32, ptr @test_count, align 4, !tbaa !5
  %4242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call ptr @s2n_strerror(i32 noundef %4243, ptr noundef @.str.4)
  %4245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4246 = load i32, ptr %4245, align 4, !tbaa !5
  %4247 = call ptr @s2n_strerror_debug(i32 noundef %4246, ptr noundef @.str.4)
  %4248 = call ptr @__errno_location() #12
  %4249 = load i32, ptr %4248, align 4, !tbaa !5
  %4250 = call ptr @strerror(i32 noundef %4249) #11
  %4251 = call ptr @__errno_location() #12
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4240, ptr noundef @.str.2, i32 noundef %4241, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4244, ptr noundef %4247, ptr noundef %4250, i32 noundef %4252) #11
  br label %4271

4254:                                             ; preds = %4232, %4225
  %4255 = load i32, ptr %119, align 4, !tbaa !5
  %4256 = call ptr @__errno_location() #12
  store i32 %4255, ptr %4256, align 4, !tbaa !5
  %4257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4258 = load i32, ptr @test_count, align 4, !tbaa !5
  %4259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4260 = load i32, ptr %4259, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror(i32 noundef %4260, ptr noundef @.str.4)
  %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_debug(i32 noundef %4263, ptr noundef @.str.4)
  %4265 = call ptr @__errno_location() #12
  %4266 = load i32, ptr %4265, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #11
  %4268 = call ptr @__errno_location() #12
  %4269 = load i32, ptr %4268, align 4, !tbaa !5
  %4270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4257, ptr noundef @.str.5, i32 noundef %4258, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 294, ptr noundef %4261, ptr noundef %4264, ptr noundef %4267, i32 noundef %4269) #11
  br label %4271

4271:                                             ; preds = %4254, %4237
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %4272

4272:                                             ; preds = %4271
  br label %4273

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

4274:                                             ; No predecessors!
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

4276:                                             ; preds = %4275, %4218
  br label %4277

4277:                                             ; preds = %4276
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

4279:                                             ; preds = %4278
  %4280 = load i32, ptr @test_count, align 4, !tbaa !5
  %4281 = add nsw i32 %4280, 1
  store i32 %4281, ptr @test_count, align 4, !tbaa !5
  %4282 = load ptr, ptr %68, align 8, !tbaa !9
  %4283 = call i32 @s2n_shutdown(ptr noundef %4282, ptr noundef %70)
  %4284 = icmp eq i32 %4283, -1
  br i1 %4284, label %4285, label %4338

4285:                                             ; preds = %4279
  br label %4286

4286:                                             ; preds = %4285
  br label %4287

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

4294:                                             ; preds = %4287
  %4295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4296 = call i32 @fileno(ptr noundef %4295) #11
  %4297 = call i32 @isatty(i32 noundef %4296) #11
  %4298 = icmp ne i32 %4297, 0
  br i1 %4298, label %4299, label %4316

4299:                                             ; preds = %4294
  %4300 = load i32, ptr %120, align 4, !tbaa !5
  %4301 = call ptr @__errno_location() #12
  store i32 %4300, ptr %4301, align 4, !tbaa !5
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = load i32, ptr @test_count, align 4, !tbaa !5
  %4304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4305 = load i32, ptr %4304, align 4, !tbaa !5
  %4306 = call ptr @s2n_strerror(i32 noundef %4305, ptr noundef @.str.4)
  %4307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4308 = load i32, ptr %4307, align 4, !tbaa !5
  %4309 = call ptr @s2n_strerror_debug(i32 noundef %4308, ptr noundef @.str.4)
  %4310 = call ptr @__errno_location() #12
  %4311 = load i32, ptr %4310, align 4, !tbaa !5
  %4312 = call ptr @strerror(i32 noundef %4311) #11
  %4313 = call ptr @__errno_location() #12
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  %4315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4302, ptr noundef @.str.2, i32 noundef %4303, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 296, ptr noundef %4306, ptr noundef %4309, ptr noundef %4312, i32 noundef %4314) #11
  br label %4333

4316:                                             ; preds = %4294, %4287
  %4317 = load i32, ptr %120, align 4, !tbaa !5
  %4318 = call ptr @__errno_location() #12
  store i32 %4317, ptr %4318, align 4, !tbaa !5
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror(i32 noundef %4322, ptr noundef @.str.4)
  %4324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4325 = load i32, ptr %4324, align 4, !tbaa !5
  %4326 = call ptr @s2n_strerror_debug(i32 noundef %4325, ptr noundef @.str.4)
  %4327 = call ptr @__errno_location() #12
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call ptr @strerror(i32 noundef %4328) #11
  %4330 = call ptr @__errno_location() #12
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4319, ptr noundef @.str.5, i32 noundef %4320, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 296, ptr noundef %4323, ptr noundef %4326, ptr noundef %4329, i32 noundef %4331) #11
  br label %4333

4333:                                             ; preds = %4316, %4299
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %4334

4334:                                             ; preds = %4333
  br label %4335

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

4336:                                             ; No predecessors!
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337, %4279
  br label %4339

4339:                                             ; preds = %4338
  br label %4340

4340:                                             ; preds = %4339
  br label %4341

4341:                                             ; preds = %4340
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = add nsw i32 %4342, 1
  store i32 %4343, ptr @test_count, align 4, !tbaa !5
  %4344 = load i32, ptr %70, align 4, !tbaa !5
  %4345 = icmp eq i32 %4344, 0
  br i1 %4345, label %4399, label %4346

4346:                                             ; preds = %4341
  br label %4347

4347:                                             ; preds = %4346
  br label %4348

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

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

4360:                                             ; preds = %4355
  %4361 = load i32, ptr %121, align 4, !tbaa !5
  %4362 = call ptr @__errno_location() #12
  store i32 %4361, ptr %4362, align 4, !tbaa !5
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = load i32, ptr @test_count, align 4, !tbaa !5
  %4365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  %4367 = call ptr @s2n_strerror(i32 noundef %4366, ptr noundef @.str.4)
  %4368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4369 = load i32, ptr %4368, align 4, !tbaa !5
  %4370 = call ptr @s2n_strerror_debug(i32 noundef %4369, ptr noundef @.str.4)
  %4371 = call ptr @__errno_location() #12
  %4372 = load i32, ptr %4371, align 4, !tbaa !5
  %4373 = call ptr @strerror(i32 noundef %4372) #11
  %4374 = call ptr @__errno_location() #12
  %4375 = load i32, ptr %4374, align 4, !tbaa !5
  %4376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4363, ptr noundef @.str.2, i32 noundef %4364, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 297, ptr noundef %4367, ptr noundef %4370, ptr noundef %4373, i32 noundef %4375) #11
  br label %4394

4377:                                             ; preds = %4355, %4348
  %4378 = load i32, ptr %121, align 4, !tbaa !5
  %4379 = call ptr @__errno_location() #12
  store i32 %4378, ptr %4379, align 4, !tbaa !5
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4381 = load i32, ptr @test_count, align 4, !tbaa !5
  %4382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4383 = load i32, ptr %4382, align 4, !tbaa !5
  %4384 = call ptr @s2n_strerror(i32 noundef %4383, ptr noundef @.str.4)
  %4385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4386 = load i32, ptr %4385, align 4, !tbaa !5
  %4387 = call ptr @s2n_strerror_debug(i32 noundef %4386, ptr noundef @.str.4)
  %4388 = call ptr @__errno_location() #12
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = call ptr @strerror(i32 noundef %4389) #11
  %4391 = call ptr @__errno_location() #12
  %4392 = load i32, ptr %4391, align 4, !tbaa !5
  %4393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4380, ptr noundef @.str.5, i32 noundef %4381, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 297, ptr noundef %4384, ptr noundef %4387, ptr noundef %4390, i32 noundef %4392) #11
  br label %4394

4394:                                             ; preds = %4377, %4360
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

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

4397:                                             ; No predecessors!
  br label %4398

4398:                                             ; preds = %4397
  br label %4399

4399:                                             ; preds = %4398, %4341
  br label %4400

4400:                                             ; preds = %4399
  br label %4401

4401:                                             ; preds = %4400
  br label %4402

4402:                                             ; preds = %4401
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = add nsw i32 %4403, 1
  store i32 %4404, ptr @test_count, align 4, !tbaa !5
  %4405 = load ptr, ptr %68, align 8, !tbaa !9
  %4406 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4405, i32 noundef 3)
  br i1 %4406, label %4460, label %4407

4407:                                             ; preds = %4402
  br label %4408

4408:                                             ; preds = %4407
  br label %4409

4409:                                             ; preds = %4408
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %4410 = call ptr @__errno_location() #12
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  store i32 %4411, ptr %122, align 4, !tbaa !5
  %4412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4413 = call i32 @s2n_print_stacktrace(ptr noundef %4412)
  %4414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4415 = trunc i8 %4414 to i1
  br i1 %4415, label %4416, label %4438

4416:                                             ; preds = %4409
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @fileno(ptr noundef %4417) #11
  %4419 = call i32 @isatty(i32 noundef %4418) #11
  %4420 = icmp ne i32 %4419, 0
  br i1 %4420, label %4421, label %4438

4421:                                             ; preds = %4416
  %4422 = load i32, ptr %122, align 4, !tbaa !5
  %4423 = call ptr @__errno_location() #12
  store i32 %4422, ptr %4423, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = load i32, ptr @test_count, align 4, !tbaa !5
  %4426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror(i32 noundef %4427, ptr noundef @.str.4)
  %4429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror_debug(i32 noundef %4430, ptr noundef @.str.4)
  %4432 = call ptr @__errno_location() #12
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call ptr @strerror(i32 noundef %4433) #11
  %4435 = call ptr @__errno_location() #12
  %4436 = load i32, ptr %4435, align 4, !tbaa !5
  %4437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4424, ptr noundef @.str.2, i32 noundef %4425, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 298, ptr noundef %4428, ptr noundef %4431, ptr noundef %4434, i32 noundef %4436) #11
  br label %4455

4438:                                             ; preds = %4416, %4409
  %4439 = load i32, ptr %122, align 4, !tbaa !5
  %4440 = call ptr @__errno_location() #12
  store i32 %4439, ptr %4440, align 4, !tbaa !5
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call ptr @s2n_strerror(i32 noundef %4444, ptr noundef @.str.4)
  %4446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4447 = load i32, ptr %4446, align 4, !tbaa !5
  %4448 = call ptr @s2n_strerror_debug(i32 noundef %4447, ptr noundef @.str.4)
  %4449 = call ptr @__errno_location() #12
  %4450 = load i32, ptr %4449, align 4, !tbaa !5
  %4451 = call ptr @strerror(i32 noundef %4450) #11
  %4452 = call ptr @__errno_location() #12
  %4453 = load i32, ptr %4452, align 4, !tbaa !5
  %4454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4441, ptr noundef @.str.5, i32 noundef %4442, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 298, ptr noundef %4445, ptr noundef %4448, ptr noundef %4451, i32 noundef %4453) #11
  br label %4455

4455:                                             ; preds = %4438, %4421
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

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

4458:                                             ; No predecessors!
  br label %4459

4459:                                             ; preds = %4458
  br label %4460

4460:                                             ; preds = %4459, %4402
  br label %4461

4461:                                             ; preds = %4460
  br label %4462

4462:                                             ; preds = %4461
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #11
  %4463 = call i32 @s2n_io_pair_close(ptr noundef %61)
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #11
  %4464 = call i32 @s2n_connection_ptr_free(ptr noundef %58)
  %4465 = getelementptr inbounds %struct.s2n_result, ptr %123, i32 0, i32 0
  store i32 %4464, ptr %4465, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #11
  %4466 = call i32 @s2n_connection_ptr_free(ptr noundef %55)
  %4467 = getelementptr inbounds %struct.s2n_result, ptr %124, i32 0, i32 0
  store i32 %4466, ptr %4467, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %4468

4468:                                             ; preds = %4462
  %4469 = load i64, ptr %53, align 8, !tbaa !15
  %4470 = add i64 %4469, 1
  store i64 %4470, ptr %53, align 8, !tbaa !15
  br label %2069, !llvm.loop !25

4471:                                             ; preds = %2076, %2072
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #11
  br label %4472

4472:                                             ; preds = %4471
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #11
  store i64 0, ptr %125, align 8, !tbaa !15
  br label %4473

4473:                                             ; preds = %6570, %4472
  %4474 = load i64, ptr %125, align 8, !tbaa !15
  %4475 = icmp ult i64 %4474, 2
  br i1 %4475, label %4477, label %4476

4476:                                             ; preds = %4473
  store i32 409, ptr %12, align 4
  br label %6573

4477:                                             ; preds = %4473
  %4478 = load i8, ptr %32, align 1, !tbaa !11, !range !13, !noundef !14
  %4479 = trunc i8 %4478 to i1
  br i1 %4479, label %4481, label %4480

4480:                                             ; preds = %4477
  store i32 409, ptr %12, align 4
  br label %6573

4481:                                             ; preds = %4477
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %4482 = load i64, ptr %125, align 8, !tbaa !15
  %4483 = getelementptr inbounds [2 x i32], ptr %13, i64 0, i64 %4482
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  store i32 %4484, ptr %126, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #11
  %4485 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4485, ptr %127, align 8, !tbaa !9
  br label %4486

4486:                                             ; preds = %4481
  %4487 = load i32, ptr @test_count, align 4, !tbaa !5
  %4488 = add nsw i32 %4487, 1
  store i32 %4488, ptr @test_count, align 4, !tbaa !5
  %4489 = load ptr, ptr %127, align 8, !tbaa !9
  %4490 = icmp eq ptr %4489, null
  br i1 %4490, label %4491, label %4544

4491:                                             ; preds = %4486
  br label %4492

4492:                                             ; preds = %4491
  br label %4493

4493:                                             ; preds = %4492
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %4494 = call ptr @__errno_location() #12
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  store i32 %4495, ptr %128, align 4, !tbaa !5
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = call i32 @s2n_print_stacktrace(ptr noundef %4496)
  %4498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4499 = trunc i8 %4498 to i1
  br i1 %4499, label %4500, label %4522

4500:                                             ; preds = %4493
  %4501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4502 = call i32 @fileno(ptr noundef %4501) #11
  %4503 = call i32 @isatty(i32 noundef %4502) #11
  %4504 = icmp ne i32 %4503, 0
  br i1 %4504, label %4505, label %4522

4505:                                             ; preds = %4500
  %4506 = load i32, ptr %128, align 4, !tbaa !5
  %4507 = call ptr @__errno_location() #12
  store i32 %4506, ptr %4507, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = load i32, ptr @test_count, align 4, !tbaa !5
  %4510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4511 = load i32, ptr %4510, align 4, !tbaa !5
  %4512 = call ptr @s2n_strerror(i32 noundef %4511, ptr noundef @.str.4)
  %4513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4514 = load i32, ptr %4513, align 4, !tbaa !5
  %4515 = call ptr @s2n_strerror_debug(i32 noundef %4514, ptr noundef @.str.4)
  %4516 = call ptr @__errno_location() #12
  %4517 = load i32, ptr %4516, align 4, !tbaa !5
  %4518 = call ptr @strerror(i32 noundef %4517) #11
  %4519 = call ptr @__errno_location() #12
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  %4521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4508, ptr noundef @.str.2, i32 noundef %4509, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 312, ptr noundef %4512, ptr noundef %4515, ptr noundef %4518, i32 noundef %4520) #11
  br label %4539

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

4539:                                             ; preds = %4522, %4505
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %4540

4540:                                             ; preds = %4539
  br label %4541

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

4542:                                             ; No predecessors!
  br label %4543

4543:                                             ; preds = %4542
  br label %4544

4544:                                             ; preds = %4543, %4486
  br label %4545

4545:                                             ; preds = %4544
  br label %4546

4546:                                             ; preds = %4545
  br label %4547

4547:                                             ; preds = %4546
  %4548 = load i32, ptr @test_count, align 4, !tbaa !5
  %4549 = add nsw i32 %4548, 1
  store i32 %4549, ptr @test_count, align 4, !tbaa !5
  %4550 = load ptr, ptr %127, align 8, !tbaa !9
  %4551 = load ptr, ptr %26, align 8, !tbaa !9
  %4552 = call i32 @s2n_connection_set_config(ptr noundef %4550, ptr noundef %4551)
  %4553 = icmp eq i32 %4552, -1
  br i1 %4553, label %4554, label %4607

4554:                                             ; preds = %4547
  br label %4555

4555:                                             ; preds = %4554
  br label %4556

4556:                                             ; preds = %4555
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %4557 = call ptr @__errno_location() #12
  %4558 = load i32, ptr %4557, align 4, !tbaa !5
  store i32 %4558, ptr %129, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @s2n_print_stacktrace(ptr noundef %4559)
  %4561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4562 = trunc i8 %4561 to i1
  br i1 %4562, label %4563, label %4585

4563:                                             ; preds = %4556
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @fileno(ptr noundef %4564) #11
  %4566 = call i32 @isatty(i32 noundef %4565) #11
  %4567 = icmp ne i32 %4566, 0
  br i1 %4567, label %4568, label %4585

4568:                                             ; preds = %4563
  %4569 = load i32, ptr %129, align 4, !tbaa !5
  %4570 = call ptr @__errno_location() #12
  store i32 %4569, ptr %4570, align 4, !tbaa !5
  %4571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4572 = load i32, ptr @test_count, align 4, !tbaa !5
  %4573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4574 = load i32, ptr %4573, align 4, !tbaa !5
  %4575 = call ptr @s2n_strerror(i32 noundef %4574, ptr noundef @.str.4)
  %4576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef @.str.4)
  %4579 = call ptr @__errno_location() #12
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call ptr @strerror(i32 noundef %4580) #11
  %4582 = call ptr @__errno_location() #12
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4571, ptr noundef @.str.2, i32 noundef %4572, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 313, ptr noundef %4575, ptr noundef %4578, ptr noundef %4581, i32 noundef %4583) #11
  br label %4602

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

4602:                                             ; preds = %4585, %4568
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %4603

4603:                                             ; preds = %4602
  br label %4604

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

4605:                                             ; No predecessors!
  br label %4606

4606:                                             ; preds = %4605
  br label %4607

4607:                                             ; preds = %4606, %4547
  br label %4608

4608:                                             ; preds = %4607
  br label %4609

4609:                                             ; preds = %4608
  br label %4610

4610:                                             ; preds = %4609
  %4611 = load i32, ptr @test_count, align 4, !tbaa !5
  %4612 = add nsw i32 %4611, 1
  store i32 %4612, ptr @test_count, align 4, !tbaa !5
  %4613 = load ptr, ptr %127, align 8, !tbaa !9
  %4614 = call i32 @s2n_connection_set_blinding(ptr noundef %4613, i32 noundef 1)
  %4615 = icmp eq i32 %4614, -1
  br i1 %4615, label %4616, label %4669

4616:                                             ; preds = %4610
  br label %4617

4617:                                             ; preds = %4616
  br label %4618

4618:                                             ; preds = %4617
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %4619 = call ptr @__errno_location() #12
  %4620 = load i32, ptr %4619, align 4, !tbaa !5
  store i32 %4620, ptr %130, align 4, !tbaa !5
  %4621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4622 = call i32 @s2n_print_stacktrace(ptr noundef %4621)
  %4623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4624 = trunc i8 %4623 to i1
  br i1 %4624, label %4625, label %4647

4625:                                             ; preds = %4618
  %4626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4627 = call i32 @fileno(ptr noundef %4626) #11
  %4628 = call i32 @isatty(i32 noundef %4627) #11
  %4629 = icmp ne i32 %4628, 0
  br i1 %4629, label %4630, label %4647

4630:                                             ; preds = %4625
  %4631 = load i32, ptr %130, align 4, !tbaa !5
  %4632 = call ptr @__errno_location() #12
  store i32 %4631, ptr %4632, align 4, !tbaa !5
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4636 = load i32, ptr %4635, align 4, !tbaa !5
  %4637 = call ptr @s2n_strerror(i32 noundef %4636, ptr noundef @.str.4)
  %4638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4639 = load i32, ptr %4638, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror_debug(i32 noundef %4639, ptr noundef @.str.4)
  %4641 = call ptr @__errno_location() #12
  %4642 = load i32, ptr %4641, align 4, !tbaa !5
  %4643 = call ptr @strerror(i32 noundef %4642) #11
  %4644 = call ptr @__errno_location() #12
  %4645 = load i32, ptr %4644, align 4, !tbaa !5
  %4646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4633, ptr noundef @.str.2, i32 noundef %4634, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 314, ptr noundef %4637, ptr noundef %4640, ptr noundef %4643, i32 noundef %4645) #11
  br label %4664

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

4664:                                             ; preds = %4647, %4630
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %4665

4665:                                             ; preds = %4664
  br label %4666

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

4667:                                             ; No predecessors!
  br label %4668

4668:                                             ; preds = %4667
  br label %4669

4669:                                             ; preds = %4668, %4610
  br label %4670

4670:                                             ; preds = %4669
  br label %4671

4671:                                             ; preds = %4670
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  %4672 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4672, ptr %131, align 8, !tbaa !9
  br label %4673

4673:                                             ; preds = %4671
  %4674 = load i32, ptr @test_count, align 4, !tbaa !5
  %4675 = add nsw i32 %4674, 1
  store i32 %4675, ptr @test_count, align 4, !tbaa !5
  %4676 = load ptr, ptr %131, align 8, !tbaa !9
  %4677 = icmp eq ptr %4676, null
  br i1 %4677, label %4678, label %4731

4678:                                             ; preds = %4673
  br label %4679

4679:                                             ; preds = %4678
  br label %4680

4680:                                             ; preds = %4679
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %4681 = call ptr @__errno_location() #12
  %4682 = load i32, ptr %4681, align 4, !tbaa !5
  store i32 %4682, ptr %132, align 4, !tbaa !5
  %4683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4684 = call i32 @s2n_print_stacktrace(ptr noundef %4683)
  %4685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4686 = trunc i8 %4685 to i1
  br i1 %4686, label %4687, label %4709

4687:                                             ; preds = %4680
  %4688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4689 = call i32 @fileno(ptr noundef %4688) #11
  %4690 = call i32 @isatty(i32 noundef %4689) #11
  %4691 = icmp ne i32 %4690, 0
  br i1 %4691, label %4692, label %4709

4692:                                             ; preds = %4687
  %4693 = load i32, ptr %132, align 4, !tbaa !5
  %4694 = call ptr @__errno_location() #12
  store i32 %4693, ptr %4694, align 4, !tbaa !5
  %4695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4698 = load i32, ptr %4697, align 4, !tbaa !5
  %4699 = call ptr @s2n_strerror(i32 noundef %4698, ptr noundef @.str.4)
  %4700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4701 = load i32, ptr %4700, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror_debug(i32 noundef %4701, ptr noundef @.str.4)
  %4703 = call ptr @__errno_location() #12
  %4704 = load i32, ptr %4703, align 4, !tbaa !5
  %4705 = call ptr @strerror(i32 noundef %4704) #11
  %4706 = call ptr @__errno_location() #12
  %4707 = load i32, ptr %4706, align 4, !tbaa !5
  %4708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4695, ptr noundef @.str.2, i32 noundef %4696, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 318, ptr noundef %4699, ptr noundef %4702, ptr noundef %4705, i32 noundef %4707) #11
  br label %4726

4709:                                             ; preds = %4687, %4680
  %4710 = load i32, ptr %132, 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.5, i32 noundef %4713, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 318, ptr noundef %4716, ptr noundef %4719, ptr noundef %4722, i32 noundef %4724) #11
  br label %4726

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

4727:                                             ; preds = %4726
  br label %4728

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

4729:                                             ; No predecessors!
  br label %4730

4730:                                             ; preds = %4729
  br label %4731

4731:                                             ; preds = %4730, %4673
  br label %4732

4732:                                             ; preds = %4731
  br label %4733

4733:                                             ; preds = %4732
  br label %4734

4734:                                             ; preds = %4733
  %4735 = load i32, ptr @test_count, align 4, !tbaa !5
  %4736 = add nsw i32 %4735, 1
  store i32 %4736, ptr @test_count, align 4, !tbaa !5
  %4737 = load ptr, ptr %131, align 8, !tbaa !9
  %4738 = load ptr, ptr %26, align 8, !tbaa !9
  %4739 = call i32 @s2n_connection_set_config(ptr noundef %4737, ptr noundef %4738)
  %4740 = icmp eq i32 %4739, -1
  br i1 %4740, label %4741, label %4794

4741:                                             ; preds = %4734
  br label %4742

4742:                                             ; preds = %4741
  br label %4743

4743:                                             ; preds = %4742
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %4744 = call ptr @__errno_location() #12
  %4745 = load i32, ptr %4744, align 4, !tbaa !5
  store i32 %4745, ptr %133, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = call i32 @s2n_print_stacktrace(ptr noundef %4746)
  %4748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4749 = trunc i8 %4748 to i1
  br i1 %4749, label %4750, label %4772

4750:                                             ; preds = %4743
  %4751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4752 = call i32 @fileno(ptr noundef %4751) #11
  %4753 = call i32 @isatty(i32 noundef %4752) #11
  %4754 = icmp ne i32 %4753, 0
  br i1 %4754, label %4755, label %4772

4755:                                             ; preds = %4750
  %4756 = load i32, ptr %133, align 4, !tbaa !5
  %4757 = call ptr @__errno_location() #12
  store i32 %4756, ptr %4757, align 4, !tbaa !5
  %4758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4759 = load i32, ptr @test_count, align 4, !tbaa !5
  %4760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror(i32 noundef %4761, ptr noundef @.str.4)
  %4763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4764 = load i32, ptr %4763, align 4, !tbaa !5
  %4765 = call ptr @s2n_strerror_debug(i32 noundef %4764, ptr noundef @.str.4)
  %4766 = call ptr @__errno_location() #12
  %4767 = load i32, ptr %4766, align 4, !tbaa !5
  %4768 = call ptr @strerror(i32 noundef %4767) #11
  %4769 = call ptr @__errno_location() #12
  %4770 = load i32, ptr %4769, align 4, !tbaa !5
  %4771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4758, ptr noundef @.str.2, i32 noundef %4759, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 319, ptr noundef %4762, ptr noundef %4765, ptr noundef %4768, i32 noundef %4770) #11
  br label %4789

4772:                                             ; preds = %4750, %4743
  %4773 = load i32, ptr %133, align 4, !tbaa !5
  %4774 = call ptr @__errno_location() #12
  store i32 %4773, ptr %4774, align 4, !tbaa !5
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4778 = load i32, ptr %4777, align 4, !tbaa !5
  %4779 = call ptr @s2n_strerror(i32 noundef %4778, ptr noundef @.str.4)
  %4780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4781 = load i32, ptr %4780, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror_debug(i32 noundef %4781, ptr noundef @.str.4)
  %4783 = call ptr @__errno_location() #12
  %4784 = load i32, ptr %4783, align 4, !tbaa !5
  %4785 = call ptr @strerror(i32 noundef %4784) #11
  %4786 = call ptr @__errno_location() #12
  %4787 = load i32, ptr %4786, align 4, !tbaa !5
  %4788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4775, ptr noundef @.str.5, i32 noundef %4776, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 319, ptr noundef %4779, ptr noundef %4782, ptr noundef %4785, i32 noundef %4787) #11
  br label %4789

4789:                                             ; preds = %4772, %4755
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %4790

4790:                                             ; preds = %4789
  br label %4791

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

4792:                                             ; No predecessors!
  br label %4793

4793:                                             ; preds = %4792
  br label %4794

4794:                                             ; preds = %4793, %4734
  br label %4795

4795:                                             ; preds = %4794
  br label %4796

4796:                                             ; preds = %4795
  br label %4797

4797:                                             ; preds = %4796
  %4798 = load i32, ptr @test_count, align 4, !tbaa !5
  %4799 = add nsw i32 %4798, 1
  store i32 %4799, ptr @test_count, align 4, !tbaa !5
  %4800 = load ptr, ptr %131, align 8, !tbaa !9
  %4801 = call i32 @s2n_connection_set_blinding(ptr noundef %4800, i32 noundef 1)
  %4802 = icmp eq i32 %4801, -1
  br i1 %4802, label %4803, label %4856

4803:                                             ; preds = %4797
  br label %4804

4804:                                             ; preds = %4803
  br label %4805

4805:                                             ; preds = %4804
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %4806 = call ptr @__errno_location() #12
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  store i32 %4807, ptr %134, align 4, !tbaa !5
  %4808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4809 = call i32 @s2n_print_stacktrace(ptr noundef %4808)
  %4810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4811 = trunc i8 %4810 to i1
  br i1 %4811, label %4812, label %4834

4812:                                             ; preds = %4805
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = call i32 @fileno(ptr noundef %4813) #11
  %4815 = call i32 @isatty(i32 noundef %4814) #11
  %4816 = icmp ne i32 %4815, 0
  br i1 %4816, label %4817, label %4834

4817:                                             ; preds = %4812
  %4818 = load i32, ptr %134, align 4, !tbaa !5
  %4819 = call ptr @__errno_location() #12
  store i32 %4818, ptr %4819, align 4, !tbaa !5
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = load i32, ptr @test_count, align 4, !tbaa !5
  %4822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4823 = load i32, ptr %4822, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror(i32 noundef %4823, ptr noundef @.str.4)
  %4825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4826 = load i32, ptr %4825, align 4, !tbaa !5
  %4827 = call ptr @s2n_strerror_debug(i32 noundef %4826, ptr noundef @.str.4)
  %4828 = call ptr @__errno_location() #12
  %4829 = load i32, ptr %4828, align 4, !tbaa !5
  %4830 = call ptr @strerror(i32 noundef %4829) #11
  %4831 = call ptr @__errno_location() #12
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  %4833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4820, ptr noundef @.str.2, i32 noundef %4821, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 320, ptr noundef %4824, ptr noundef %4827, ptr noundef %4830, i32 noundef %4832) #11
  br label %4851

4834:                                             ; preds = %4812, %4805
  %4835 = load i32, ptr %134, align 4, !tbaa !5
  %4836 = call ptr @__errno_location() #12
  store i32 %4835, ptr %4836, align 4, !tbaa !5
  %4837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4838 = load i32, ptr @test_count, align 4, !tbaa !5
  %4839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4840 = load i32, ptr %4839, align 4, !tbaa !5
  %4841 = call ptr @s2n_strerror(i32 noundef %4840, ptr noundef @.str.4)
  %4842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4843 = load i32, ptr %4842, align 4, !tbaa !5
  %4844 = call ptr @s2n_strerror_debug(i32 noundef %4843, ptr noundef @.str.4)
  %4845 = call ptr @__errno_location() #12
  %4846 = load i32, ptr %4845, align 4, !tbaa !5
  %4847 = call ptr @strerror(i32 noundef %4846) #11
  %4848 = call ptr @__errno_location() #12
  %4849 = load i32, ptr %4848, align 4, !tbaa !5
  %4850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4837, ptr noundef @.str.5, i32 noundef %4838, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 320, ptr noundef %4841, ptr noundef %4844, ptr noundef %4847, i32 noundef %4849) #11
  br label %4851

4851:                                             ; preds = %4834, %4817
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %4852

4852:                                             ; preds = %4851
  br label %4853

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

4854:                                             ; No predecessors!
  br label %4855

4855:                                             ; preds = %4854
  br label %4856

4856:                                             ; preds = %4855, %4797
  br label %4857

4857:                                             ; preds = %4856
  br label %4858

4858:                                             ; preds = %4857
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #11
  call void @llvm.memset.p0.i64(ptr align 4 %135, i8 0, i64 8, i1 false)
  br label %4859

4859:                                             ; preds = %4858
  %4860 = load i32, ptr @test_count, align 4, !tbaa !5
  %4861 = add nsw i32 %4860, 1
  store i32 %4861, ptr @test_count, align 4, !tbaa !5
  %4862 = call i32 @s2n_new_inet_socket_pair(ptr noundef %135)
  %4863 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  store i32 %4862, ptr %4863, align 4
  %4864 = getelementptr inbounds %struct.s2n_result, ptr %136, i32 0, i32 0
  %4865 = load i32, ptr %4864, align 4
  %4866 = call zeroext i1 @s2n_result_is_ok(i32 %4865)
  br i1 %4866, label %4920, label %4867

4867:                                             ; preds = %4859
  br label %4868

4868:                                             ; preds = %4867
  br label %4869

4869:                                             ; preds = %4868
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %4870 = call ptr @__errno_location() #12
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  store i32 %4871, ptr %137, align 4, !tbaa !5
  %4872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4873 = call i32 @s2n_print_stacktrace(ptr noundef %4872)
  %4874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4875 = trunc i8 %4874 to i1
  br i1 %4875, label %4876, label %4898

4876:                                             ; preds = %4869
  %4877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4878 = call i32 @fileno(ptr noundef %4877) #11
  %4879 = call i32 @isatty(i32 noundef %4878) #11
  %4880 = icmp ne i32 %4879, 0
  br i1 %4880, label %4881, label %4898

4881:                                             ; preds = %4876
  %4882 = load i32, ptr %137, align 4, !tbaa !5
  %4883 = call ptr @__errno_location() #12
  store i32 %4882, ptr %4883, align 4, !tbaa !5
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = load i32, ptr @test_count, align 4, !tbaa !5
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef @.str.4)
  %4889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror_debug(i32 noundef %4890, ptr noundef @.str.4)
  %4892 = call ptr @__errno_location() #12
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #11
  %4895 = call ptr @__errno_location() #12
  %4896 = load i32, ptr %4895, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4884, ptr noundef @.str.2, i32 noundef %4885, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 323, ptr noundef %4888, ptr noundef %4891, ptr noundef %4894, i32 noundef %4896) #11
  br label %4915

4898:                                             ; preds = %4876, %4869
  %4899 = load i32, ptr %137, align 4, !tbaa !5
  %4900 = call ptr @__errno_location() #12
  store i32 %4899, ptr %4900, align 4, !tbaa !5
  %4901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4902 = load i32, ptr @test_count, align 4, !tbaa !5
  %4903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4904 = load i32, ptr %4903, align 4, !tbaa !5
  %4905 = call ptr @s2n_strerror(i32 noundef %4904, ptr noundef @.str.4)
  %4906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = call ptr @s2n_strerror_debug(i32 noundef %4907, ptr noundef @.str.4)
  %4909 = call ptr @__errno_location() #12
  %4910 = load i32, ptr %4909, align 4, !tbaa !5
  %4911 = call ptr @strerror(i32 noundef %4910) #11
  %4912 = call ptr @__errno_location() #12
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  %4914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4901, ptr noundef @.str.5, i32 noundef %4902, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 323, ptr noundef %4905, ptr noundef %4908, ptr noundef %4911, i32 noundef %4913) #11
  br label %4915

4915:                                             ; preds = %4898, %4881
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %4916

4916:                                             ; preds = %4915
  br label %4917

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

4918:                                             ; No predecessors!
  br label %4919

4919:                                             ; preds = %4918
  br label %4920

4920:                                             ; preds = %4919, %4859
  br label %4921

4921:                                             ; preds = %4920
  br label %4922

4922:                                             ; preds = %4921
  br label %4923

4923:                                             ; preds = %4922
  %4924 = load i32, ptr @test_count, align 4, !tbaa !5
  %4925 = add nsw i32 %4924, 1
  store i32 %4925, ptr @test_count, align 4, !tbaa !5
  %4926 = load ptr, ptr %131, align 8, !tbaa !9
  %4927 = load ptr, ptr %127, align 8, !tbaa !9
  %4928 = call i32 @s2n_setup_connections(ptr noundef %4926, ptr noundef %4927, ptr noundef %135)
  %4929 = getelementptr inbounds %struct.s2n_result, ptr %138, i32 0, i32 0
  store i32 %4928, ptr %4929, align 4
  %4930 = getelementptr inbounds %struct.s2n_result, ptr %138, i32 0, i32 0
  %4931 = load i32, ptr %4930, align 4
  %4932 = call zeroext i1 @s2n_result_is_ok(i32 %4931)
  br i1 %4932, label %4986, label %4933

4933:                                             ; preds = %4923
  br label %4934

4934:                                             ; preds = %4933
  br label %4935

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

4942:                                             ; preds = %4935
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = call i32 @fileno(ptr noundef %4943) #11
  %4945 = call i32 @isatty(i32 noundef %4944) #11
  %4946 = icmp ne i32 %4945, 0
  br i1 %4946, label %4947, label %4964

4947:                                             ; preds = %4942
  %4948 = load i32, ptr %139, align 4, !tbaa !5
  %4949 = call ptr @__errno_location() #12
  store i32 %4948, ptr %4949, align 4, !tbaa !5
  %4950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4951 = load i32, ptr @test_count, align 4, !tbaa !5
  %4952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4953 = load i32, ptr %4952, align 4, !tbaa !5
  %4954 = call ptr @s2n_strerror(i32 noundef %4953, ptr noundef @.str.4)
  %4955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4956 = load i32, ptr %4955, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror_debug(i32 noundef %4956, ptr noundef @.str.4)
  %4958 = call ptr @__errno_location() #12
  %4959 = load i32, ptr %4958, align 4, !tbaa !5
  %4960 = call ptr @strerror(i32 noundef %4959) #11
  %4961 = call ptr @__errno_location() #12
  %4962 = load i32, ptr %4961, align 4, !tbaa !5
  %4963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4950, ptr noundef @.str.2, i32 noundef %4951, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 324, ptr noundef %4954, ptr noundef %4957, ptr noundef %4960, i32 noundef %4962) #11
  br label %4981

4964:                                             ; preds = %4942, %4935
  %4965 = load i32, ptr %139, align 4, !tbaa !5
  %4966 = call ptr @__errno_location() #12
  store i32 %4965, ptr %4966, align 4, !tbaa !5
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = load i32, ptr @test_count, align 4, !tbaa !5
  %4969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4970 = load i32, ptr %4969, align 4, !tbaa !5
  %4971 = call ptr @s2n_strerror(i32 noundef %4970, ptr noundef @.str.4)
  %4972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4973 = load i32, ptr %4972, align 4, !tbaa !5
  %4974 = call ptr @s2n_strerror_debug(i32 noundef %4973, ptr noundef @.str.4)
  %4975 = call ptr @__errno_location() #12
  %4976 = load i32, ptr %4975, align 4, !tbaa !5
  %4977 = call ptr @strerror(i32 noundef %4976) #11
  %4978 = call ptr @__errno_location() #12
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4967, ptr noundef @.str.5, i32 noundef %4968, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 324, ptr noundef %4971, ptr noundef %4974, ptr noundef %4977, i32 noundef %4979) #11
  br label %4981

4981:                                             ; preds = %4964, %4947
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %4982

4982:                                             ; preds = %4981
  br label %4983

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

4984:                                             ; No predecessors!
  br label %4985

4985:                                             ; preds = %4984
  br label %4986

4986:                                             ; preds = %4985, %4923
  br label %4987

4987:                                             ; preds = %4986
  br label %4988

4988:                                             ; preds = %4987
  call void @llvm.lifetime.start.p0(i64 16, ptr %140) #11
  %4989 = load ptr, ptr %131, align 8, !tbaa !9
  store ptr %4989, ptr %140, align 8, !tbaa !9
  %4990 = getelementptr inbounds ptr, ptr %140, i64 1
  %4991 = load ptr, ptr %127, align 8, !tbaa !9
  store ptr %4991, ptr %4990, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #11
  %4992 = load i32, ptr %126, align 4, !tbaa !5
  %4993 = zext i32 %4992 to i64
  %4994 = getelementptr inbounds [2 x ptr], ptr %140, i64 0, i64 %4993
  %4995 = load ptr, ptr %4994, align 8, !tbaa !9
  store ptr %4995, ptr %141, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #11
  %4996 = load i32, ptr %126, align 4, !tbaa !5
  %4997 = add i32 %4996, 1
  %4998 = urem i32 %4997, 2
  %4999 = zext i32 %4998 to i64
  %5000 = getelementptr inbounds [2 x ptr], ptr %140, i64 0, i64 %4999
  %5001 = load ptr, ptr %5000, align 8, !tbaa !9
  store ptr %5001, ptr %142, align 8, !tbaa !9
  br label %5002

5002:                                             ; preds = %4988
  %5003 = load i32, ptr @test_count, align 4, !tbaa !5
  %5004 = add nsw i32 %5003, 1
  store i32 %5004, ptr @test_count, align 4, !tbaa !5
  %5005 = load ptr, ptr %141, align 8, !tbaa !9
  %5006 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %5005)
  %5007 = icmp eq i32 %5006, -1
  br i1 %5007, label %5008, label %5061

5008:                                             ; preds = %5002
  br label %5009

5009:                                             ; preds = %5008
  br label %5010

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

5017:                                             ; preds = %5010
  %5018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5019 = call i32 @fileno(ptr noundef %5018) #11
  %5020 = call i32 @isatty(i32 noundef %5019) #11
  %5021 = icmp ne i32 %5020, 0
  br i1 %5021, label %5022, label %5039

5022:                                             ; preds = %5017
  %5023 = load i32, ptr %143, align 4, !tbaa !5
  %5024 = call ptr @__errno_location() #12
  store i32 %5023, ptr %5024, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = load i32, ptr @test_count, align 4, !tbaa !5
  %5027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror(i32 noundef %5028, ptr noundef @.str.4)
  %5030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  %5032 = call ptr @s2n_strerror_debug(i32 noundef %5031, ptr noundef @.str.4)
  %5033 = call ptr @__errno_location() #12
  %5034 = load i32, ptr %5033, align 4, !tbaa !5
  %5035 = call ptr @strerror(i32 noundef %5034) #11
  %5036 = call ptr @__errno_location() #12
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5025, ptr noundef @.str.2, i32 noundef %5026, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 332, ptr noundef %5029, ptr noundef %5032, ptr noundef %5035, i32 noundef %5037) #11
  br label %5056

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

5056:                                             ; preds = %5039, %5022
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %5057

5057:                                             ; preds = %5056
  br label %5058

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

5059:                                             ; No predecessors!
  br label %5060

5060:                                             ; preds = %5059
  br label %5061

5061:                                             ; preds = %5060, %5002
  br label %5062

5062:                                             ; preds = %5061
  br label %5063

5063:                                             ; preds = %5062
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  store i32 0, ptr %144, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #11
  store i64 0, ptr %145, align 8, !tbaa !15
  br label %5064

5064:                                             ; preds = %5334, %5063
  %5065 = load i64, ptr %145, align 8, !tbaa !15
  %5066 = icmp ult i64 %5065, 5
  br i1 %5066, label %5068, label %5067

5067:                                             ; preds = %5064
  store i32 466, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #11
  br label %5337

5068:                                             ; preds = %5064
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %5069 = load ptr, ptr %142, align 8, !tbaa !9
  %5070 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %5071 = call i64 @s2n_send(ptr noundef %5069, ptr noundef %5070, i64 noundef 100, ptr noundef %144)
  %5072 = trunc i64 %5071 to i32
  store i32 %5072, ptr %146, align 4, !tbaa !5
  br label %5073

5073:                                             ; preds = %5068
  %5074 = load i32, ptr @test_count, align 4, !tbaa !5
  %5075 = add nsw i32 %5074, 1
  store i32 %5075, ptr @test_count, align 4, !tbaa !5
  %5076 = load i32, ptr %146, align 4, !tbaa !5
  %5077 = sext i32 %5076 to i64
  %5078 = icmp eq i64 %5077, 100
  br i1 %5078, label %5132, label %5079

5079:                                             ; preds = %5073
  br label %5080

5080:                                             ; preds = %5079
  br label %5081

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

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

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

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

5127:                                             ; preds = %5110, %5093
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %5128

5128:                                             ; preds = %5127
  br label %5129

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

5130:                                             ; No predecessors!
  br label %5131

5131:                                             ; preds = %5130
  br label %5132

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

5133:                                             ; preds = %5132
  br label %5134

5134:                                             ; preds = %5133
  call void @llvm.lifetime.start.p0(i64 100, ptr %148) #11
  call void @llvm.memset.p0.i64(ptr align 16 %148, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %5135 = load ptr, ptr %141, align 8, !tbaa !9
  %5136 = getelementptr inbounds [100 x i8], ptr %148, i64 0, i64 0
  %5137 = call i64 @s2n_recv(ptr noundef %5135, ptr noundef %5136, i64 noundef 100, ptr noundef %144)
  %5138 = trunc i64 %5137 to i32
  store i32 %5138, ptr %149, align 4, !tbaa !5
  br label %5139

5139:                                             ; preds = %5134
  %5140 = load i32, ptr @test_count, align 4, !tbaa !5
  %5141 = add nsw i32 %5140, 1
  store i32 %5141, ptr @test_count, align 4, !tbaa !5
  %5142 = load i32, ptr %149, align 4, !tbaa !5
  %5143 = sext i32 %5142 to i64
  %5144 = icmp eq i64 %5143, 100
  br i1 %5144, label %5198, label %5145

5145:                                             ; preds = %5139
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

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

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

5159:                                             ; preds = %5154
  %5160 = load i32, ptr %150, align 4, !tbaa !5
  %5161 = call ptr @__errno_location() #12
  store i32 %5160, ptr %5161, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5165 = load i32, ptr %5164, align 4, !tbaa !5
  %5166 = call ptr @s2n_strerror(i32 noundef %5165, ptr noundef @.str.4)
  %5167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5168 = load i32, ptr %5167, align 4, !tbaa !5
  %5169 = call ptr @s2n_strerror_debug(i32 noundef %5168, ptr noundef @.str.4)
  %5170 = call ptr @__errno_location() #12
  %5171 = load i32, ptr %5170, align 4, !tbaa !5
  %5172 = call ptr @strerror(i32 noundef %5171) #11
  %5173 = call ptr @__errno_location() #12
  %5174 = load i32, ptr %5173, align 4, !tbaa !5
  %5175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5162, ptr noundef @.str.2, i32 noundef %5163, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 343, ptr noundef %5166, ptr noundef %5169, ptr noundef %5172, i32 noundef %5174) #11
  br label %5193

5176:                                             ; preds = %5154, %5147
  %5177 = load i32, ptr %150, align 4, !tbaa !5
  %5178 = call ptr @__errno_location() #12
  store i32 %5177, ptr %5178, align 4, !tbaa !5
  %5179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5180 = load i32, ptr @test_count, align 4, !tbaa !5
  %5181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call ptr @s2n_strerror(i32 noundef %5182, ptr noundef @.str.4)
  %5184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror_debug(i32 noundef %5185, ptr noundef @.str.4)
  %5187 = call ptr @__errno_location() #12
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call ptr @strerror(i32 noundef %5188) #11
  %5190 = call ptr @__errno_location() #12
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5179, ptr noundef @.str.5, i32 noundef %5180, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 343, ptr noundef %5183, ptr noundef %5186, ptr noundef %5189, i32 noundef %5191) #11
  br label %5193

5193:                                             ; preds = %5176, %5159
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %5194

5194:                                             ; preds = %5193
  br label %5195

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

5196:                                             ; No predecessors!
  br label %5197

5197:                                             ; preds = %5196
  br label %5198

5198:                                             ; preds = %5197, %5139
  br label %5199

5199:                                             ; preds = %5198
  br label %5200

5200:                                             ; preds = %5199
  br label %5201

5201:                                             ; preds = %5200
  %5202 = load i32, ptr @test_count, align 4, !tbaa !5
  %5203 = add nsw i32 %5202, 1
  store i32 %5203, ptr @test_count, align 4, !tbaa !5
  %5204 = load i32, ptr %144, align 4, !tbaa !5
  %5205 = icmp eq i32 %5204, 0
  br i1 %5205, label %5259, label %5206

5206:                                             ; preds = %5201
  br label %5207

5207:                                             ; preds = %5206
  br label %5208

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

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

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

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

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

5255:                                             ; preds = %5254
  br label %5256

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

5257:                                             ; No predecessors!
  br label %5258

5258:                                             ; preds = %5257
  br label %5259

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

5260:                                             ; preds = %5259
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

5262:                                             ; preds = %5261
  %5263 = load i32, ptr %149, align 4, !tbaa !5
  %5264 = icmp ne i32 %5263, 0
  br i1 %5264, label %5265, label %5331

5265:                                             ; preds = %5262
  br label %5266

5266:                                             ; preds = %5265
  %5267 = load i32, ptr @test_count, align 4, !tbaa !5
  %5268 = add nsw i32 %5267, 1
  store i32 %5268, ptr @test_count, align 4, !tbaa !5
  %5269 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %5270 = getelementptr inbounds [100 x i8], ptr %148, i64 0, i64 0
  %5271 = load i32, ptr %149, align 4, !tbaa !5
  %5272 = sext i32 %5271 to i64
  %5273 = call i32 @memcmp(ptr noundef %5269, ptr noundef %5270, i64 noundef %5272) #14
  %5274 = icmp eq i32 %5273, 0
  br i1 %5274, label %5328, label %5275

5275:                                             ; preds = %5266
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

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

5284:                                             ; preds = %5277
  %5285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5286 = call i32 @fileno(ptr noundef %5285) #11
  %5287 = call i32 @isatty(i32 noundef %5286) #11
  %5288 = icmp ne i32 %5287, 0
  br i1 %5288, label %5289, label %5306

5289:                                             ; preds = %5284
  %5290 = load i32, ptr %152, align 4, !tbaa !5
  %5291 = call ptr @__errno_location() #12
  store i32 %5290, ptr %5291, align 4, !tbaa !5
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = load i32, ptr @test_count, align 4, !tbaa !5
  %5294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5295 = load i32, ptr %5294, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror(i32 noundef %5295, ptr noundef @.str.4)
  %5297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  %5299 = call ptr @s2n_strerror_debug(i32 noundef %5298, ptr noundef @.str.4)
  %5300 = call ptr @__errno_location() #12
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = call ptr @strerror(i32 noundef %5301) #11
  %5303 = call ptr @__errno_location() #12
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5292, ptr noundef @.str.2, i32 noundef %5293, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 346, ptr noundef %5296, ptr noundef %5299, ptr noundef %5302, i32 noundef %5304) #11
  br label %5323

5306:                                             ; preds = %5284, %5277
  %5307 = load i32, ptr %152, align 4, !tbaa !5
  %5308 = call ptr @__errno_location() #12
  store i32 %5307, ptr %5308, align 4, !tbaa !5
  %5309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5310 = load i32, ptr @test_count, align 4, !tbaa !5
  %5311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  %5313 = call ptr @s2n_strerror(i32 noundef %5312, ptr noundef @.str.4)
  %5314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5315 = load i32, ptr %5314, align 4, !tbaa !5
  %5316 = call ptr @s2n_strerror_debug(i32 noundef %5315, ptr noundef @.str.4)
  %5317 = call ptr @__errno_location() #12
  %5318 = load i32, ptr %5317, align 4, !tbaa !5
  %5319 = call ptr @strerror(i32 noundef %5318) #11
  %5320 = call ptr @__errno_location() #12
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5309, ptr noundef @.str.5, i32 noundef %5310, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 346, ptr noundef %5313, ptr noundef %5316, ptr noundef %5319, i32 noundef %5321) #11
  br label %5323

5323:                                             ; preds = %5306, %5289
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %5324

5324:                                             ; preds = %5323
  br label %5325

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

5326:                                             ; No predecessors!
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327, %5266
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329
  br label %5331

5331:                                             ; preds = %5330, %5262
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %148) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %5334

5334:                                             ; preds = %5333
  %5335 = load i64, ptr %145, align 8, !tbaa !15
  %5336 = add i64 %5335, 1
  store i64 %5336, ptr %145, align 8, !tbaa !15
  br label %5064, !llvm.loop !26

5337:                                             ; preds = %5067
  br label %5338

5338:                                             ; preds = %5337
  %5339 = load i32, ptr @test_count, align 4, !tbaa !5
  %5340 = add nsw i32 %5339, 1
  store i32 %5340, ptr @test_count, align 4, !tbaa !5
  %5341 = load ptr, ptr %141, align 8, !tbaa !9
  %5342 = getelementptr inbounds %struct.s2n_connection, ptr %5341, i32 0, i32 23
  %5343 = load i8, ptr %5342, align 4, !tbaa !27
  %5344 = zext i8 %5343 to i32
  %5345 = icmp eq i32 %5344, 33
  br i1 %5345, label %5399, label %5346

5346:                                             ; preds = %5338
  br label %5347

5347:                                             ; preds = %5346
  br label %5348

5348:                                             ; preds = %5347
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %5349 = call ptr @__errno_location() #12
  %5350 = load i32, ptr %5349, align 4, !tbaa !5
  store i32 %5350, ptr %153, align 4, !tbaa !5
  %5351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5352 = call i32 @s2n_print_stacktrace(ptr noundef %5351)
  %5353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5354 = trunc i8 %5353 to i1
  br i1 %5354, label %5355, label %5377

5355:                                             ; preds = %5348
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = call i32 @fileno(ptr noundef %5356) #11
  %5358 = call i32 @isatty(i32 noundef %5357) #11
  %5359 = icmp ne i32 %5358, 0
  br i1 %5359, label %5360, label %5377

5360:                                             ; preds = %5355
  %5361 = load i32, ptr %153, align 4, !tbaa !5
  %5362 = call ptr @__errno_location() #12
  store i32 %5361, ptr %5362, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = load i32, ptr @test_count, align 4, !tbaa !5
  %5365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5366 = load i32, ptr %5365, align 4, !tbaa !5
  %5367 = call ptr @s2n_strerror(i32 noundef %5366, ptr noundef @.str.4)
  %5368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5369 = load i32, ptr %5368, align 4, !tbaa !5
  %5370 = call ptr @s2n_strerror_debug(i32 noundef %5369, ptr noundef @.str.4)
  %5371 = call ptr @__errno_location() #12
  %5372 = load i32, ptr %5371, align 4, !tbaa !5
  %5373 = call ptr @strerror(i32 noundef %5372) #11
  %5374 = call ptr @__errno_location() #12
  %5375 = load i32, ptr %5374, align 4, !tbaa !5
  %5376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5363, ptr noundef @.str.2, i32 noundef %5364, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 352, ptr noundef %5367, ptr noundef %5370, ptr noundef %5373, i32 noundef %5375) #11
  br label %5394

5377:                                             ; preds = %5355, %5348
  %5378 = load i32, ptr %153, align 4, !tbaa !5
  %5379 = call ptr @__errno_location() #12
  store i32 %5378, ptr %5379, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = load i32, ptr @test_count, align 4, !tbaa !5
  %5382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  %5384 = call ptr @s2n_strerror(i32 noundef %5383, ptr noundef @.str.4)
  %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_debug(i32 noundef %5386, ptr noundef @.str.4)
  %5388 = call ptr @__errno_location() #12
  %5389 = load i32, ptr %5388, align 4, !tbaa !5
  %5390 = call ptr @strerror(i32 noundef %5389) #11
  %5391 = call ptr @__errno_location() #12
  %5392 = load i32, ptr %5391, align 4, !tbaa !5
  %5393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5380, ptr noundef @.str.5, i32 noundef %5381, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 352, ptr noundef %5384, ptr noundef %5387, ptr noundef %5390, i32 noundef %5392) #11
  br label %5394

5394:                                             ; preds = %5377, %5360
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %5395

5395:                                             ; preds = %5394
  br label %5396

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

5397:                                             ; No predecessors!
  br label %5398

5398:                                             ; preds = %5397
  br label %5399

5399:                                             ; preds = %5398, %5338
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  call void @llvm.lifetime.start.p0(i64 1, ptr %154) #11
  store i8 20, ptr %154, align 1, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 20, ptr %155) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %155, ptr align 16 @__const.main.control_record_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %156) #11
  call void @llvm.memset.p0.i64(ptr align 8 %156, i8 0, i64 24, i1 false)
  br label %5402

5402:                                             ; preds = %5401
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = add nsw i32 %5403, 1
  store i32 %5404, ptr @test_count, align 4, !tbaa !5
  %5405 = getelementptr inbounds [20 x i8], ptr %155, i64 0, i64 0
  %5406 = call i32 @s2n_blob_init(ptr noundef %156, ptr noundef %5405, i32 noundef 20)
  %5407 = icmp eq i32 %5406, -1
  br i1 %5407, label %5408, label %5461

5408:                                             ; preds = %5402
  br label %5409

5409:                                             ; preds = %5408
  br label %5410

5410:                                             ; preds = %5409
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %5411 = call ptr @__errno_location() #12
  %5412 = load i32, ptr %5411, align 4, !tbaa !5
  store i32 %5412, ptr %157, align 4, !tbaa !5
  %5413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5414 = call i32 @s2n_print_stacktrace(ptr noundef %5413)
  %5415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5416 = trunc i8 %5415 to i1
  br i1 %5416, label %5417, label %5439

5417:                                             ; preds = %5410
  %5418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5419 = call i32 @fileno(ptr noundef %5418) #11
  %5420 = call i32 @isatty(i32 noundef %5419) #11
  %5421 = icmp ne i32 %5420, 0
  br i1 %5421, label %5422, label %5439

5422:                                             ; preds = %5417
  %5423 = load i32, ptr %157, align 4, !tbaa !5
  %5424 = call ptr @__errno_location() #12
  store i32 %5423, ptr %5424, align 4, !tbaa !5
  %5425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5426 = load i32, ptr @test_count, align 4, !tbaa !5
  %5427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5428 = load i32, ptr %5427, align 4, !tbaa !5
  %5429 = call ptr @s2n_strerror(i32 noundef %5428, ptr noundef @.str.4)
  %5430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5431 = load i32, ptr %5430, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror_debug(i32 noundef %5431, ptr noundef @.str.4)
  %5433 = call ptr @__errno_location() #12
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  %5435 = call ptr @strerror(i32 noundef %5434) #11
  %5436 = call ptr @__errno_location() #12
  %5437 = load i32, ptr %5436, align 4, !tbaa !5
  %5438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5425, ptr noundef @.str.2, i32 noundef %5426, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 358, ptr noundef %5429, ptr noundef %5432, ptr noundef %5435, i32 noundef %5437) #11
  br label %5456

5439:                                             ; preds = %5417, %5410
  %5440 = load i32, ptr %157, align 4, !tbaa !5
  %5441 = call ptr @__errno_location() #12
  store i32 %5440, ptr %5441, align 4, !tbaa !5
  %5442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5443 = load i32, ptr @test_count, align 4, !tbaa !5
  %5444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5445 = load i32, ptr %5444, align 4, !tbaa !5
  %5446 = call ptr @s2n_strerror(i32 noundef %5445, ptr noundef @.str.4)
  %5447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call ptr @s2n_strerror_debug(i32 noundef %5448, ptr noundef @.str.4)
  %5450 = call ptr @__errno_location() #12
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call ptr @strerror(i32 noundef %5451) #11
  %5453 = call ptr @__errno_location() #12
  %5454 = load i32, ptr %5453, align 4, !tbaa !5
  %5455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5442, ptr noundef @.str.5, i32 noundef %5443, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 358, ptr noundef %5446, ptr noundef %5449, ptr noundef %5452, i32 noundef %5454) #11
  br label %5456

5456:                                             ; preds = %5439, %5422
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %5457

5457:                                             ; preds = %5456
  br label %5458

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

5459:                                             ; No predecessors!
  br label %5460

5460:                                             ; preds = %5459
  br label %5461

5461:                                             ; preds = %5460, %5402
  br label %5462

5462:                                             ; preds = %5461
  br label %5463

5463:                                             ; preds = %5462
  call void @llvm.lifetime.start.p0(i64 8, ptr %158) #11
  store i64 0, ptr %158, align 8, !tbaa !15
  br label %5464

5464:                                             ; preds = %5861, %5463
  %5465 = load i64, ptr %158, align 8, !tbaa !15
  %5466 = icmp ult i64 %5465, 5
  br i1 %5466, label %5468, label %5467

5467:                                             ; preds = %5464
  store i32 507, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %158) #11
  br label %5864

5468:                                             ; preds = %5464
  br label %5469

5469:                                             ; preds = %5468
  %5470 = load i32, ptr @test_count, align 4, !tbaa !5
  %5471 = add nsw i32 %5470, 1
  store i32 %5471, ptr @test_count, align 4, !tbaa !5
  %5472 = load ptr, ptr %142, align 8, !tbaa !9
  %5473 = call i32 @s2n_record_write(ptr noundef %5472, i8 noundef zeroext 20, ptr noundef %156)
  %5474 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %5473, ptr %5474, align 4
  %5475 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  %5476 = load i32, ptr %5475, align 4
  %5477 = call zeroext i1 @s2n_result_is_ok(i32 %5476)
  br i1 %5477, label %5531, label %5478

5478:                                             ; preds = %5469
  br label %5479

5479:                                             ; preds = %5478
  br label %5480

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

5487:                                             ; preds = %5480
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5489 = call i32 @fileno(ptr noundef %5488) #11
  %5490 = call i32 @isatty(i32 noundef %5489) #11
  %5491 = icmp ne i32 %5490, 0
  br i1 %5491, label %5492, label %5509

5492:                                             ; preds = %5487
  %5493 = load i32, ptr %160, align 4, !tbaa !5
  %5494 = call ptr @__errno_location() #12
  store i32 %5493, ptr %5494, align 4, !tbaa !5
  %5495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5496 = load i32, ptr @test_count, align 4, !tbaa !5
  %5497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5498 = load i32, ptr %5497, align 4, !tbaa !5
  %5499 = call ptr @s2n_strerror(i32 noundef %5498, ptr noundef @.str.4)
  %5500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror_debug(i32 noundef %5501, ptr noundef @.str.4)
  %5503 = call ptr @__errno_location() #12
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @strerror(i32 noundef %5504) #11
  %5506 = call ptr @__errno_location() #12
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5495, ptr noundef @.str.2, i32 noundef %5496, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 361, ptr noundef %5499, ptr noundef %5502, ptr noundef %5505, i32 noundef %5507) #11
  br label %5526

5509:                                             ; preds = %5487, %5480
  %5510 = load i32, ptr %160, align 4, !tbaa !5
  %5511 = call ptr @__errno_location() #12
  store i32 %5510, ptr %5511, align 4, !tbaa !5
  %5512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5513 = load i32, ptr @test_count, align 4, !tbaa !5
  %5514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror(i32 noundef %5515, ptr noundef @.str.4)
  %5517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror_debug(i32 noundef %5518, ptr noundef @.str.4)
  %5520 = call ptr @__errno_location() #12
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call ptr @strerror(i32 noundef %5521) #11
  %5523 = call ptr @__errno_location() #12
  %5524 = load i32, ptr %5523, align 4, !tbaa !5
  %5525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5512, ptr noundef @.str.5, i32 noundef %5513, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 361, ptr noundef %5516, ptr noundef %5519, ptr noundef %5522, i32 noundef %5524) #11
  br label %5526

5526:                                             ; preds = %5509, %5492
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %5527

5527:                                             ; preds = %5526
  br label %5528

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

5529:                                             ; No predecessors!
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530, %5469
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %5536 = add nsw i32 %5535, 1
  store i32 %5536, ptr @test_count, align 4, !tbaa !5
  %5537 = load ptr, ptr %142, align 8, !tbaa !9
  %5538 = call i32 @s2n_flush(ptr noundef %5537, ptr noundef %144)
  %5539 = icmp eq i32 %5538, -1
  br i1 %5539, label %5540, label %5593

5540:                                             ; preds = %5534
  br label %5541

5541:                                             ; preds = %5540
  br label %5542

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

5549:                                             ; preds = %5542
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = call i32 @fileno(ptr noundef %5550) #11
  %5552 = call i32 @isatty(i32 noundef %5551) #11
  %5553 = icmp ne i32 %5552, 0
  br i1 %5553, label %5554, label %5571

5554:                                             ; preds = %5549
  %5555 = load i32, ptr %161, align 4, !tbaa !5
  %5556 = call ptr @__errno_location() #12
  store i32 %5555, ptr %5556, align 4, !tbaa !5
  %5557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5558 = load i32, ptr @test_count, align 4, !tbaa !5
  %5559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call ptr @s2n_strerror(i32 noundef %5560, ptr noundef @.str.4)
  %5562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call ptr @s2n_strerror_debug(i32 noundef %5563, ptr noundef @.str.4)
  %5565 = call ptr @__errno_location() #12
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @strerror(i32 noundef %5566) #11
  %5568 = call ptr @__errno_location() #12
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5557, ptr noundef @.str.2, i32 noundef %5558, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 362, ptr noundef %5561, ptr noundef %5564, ptr noundef %5567, i32 noundef %5569) #11
  br label %5588

5571:                                             ; preds = %5549, %5542
  %5572 = load i32, ptr %161, align 4, !tbaa !5
  %5573 = call ptr @__errno_location() #12
  store i32 %5572, ptr %5573, align 4, !tbaa !5
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = load i32, ptr @test_count, align 4, !tbaa !5
  %5576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5577 = load i32, ptr %5576, align 4, !tbaa !5
  %5578 = call ptr @s2n_strerror(i32 noundef %5577, ptr noundef @.str.4)
  %5579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call ptr @s2n_strerror_debug(i32 noundef %5580, ptr noundef @.str.4)
  %5582 = call ptr @__errno_location() #12
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call ptr @strerror(i32 noundef %5583) #11
  %5585 = call ptr @__errno_location() #12
  %5586 = load i32, ptr %5585, align 4, !tbaa !5
  %5587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5574, ptr noundef @.str.5, i32 noundef %5575, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 362, ptr noundef %5578, ptr noundef %5581, ptr noundef %5584, i32 noundef %5586) #11
  br label %5588

5588:                                             ; preds = %5571, %5554
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %5589

5589:                                             ; preds = %5588
  br label %5590

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

5591:                                             ; No predecessors!
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

5593:                                             ; preds = %5592, %5534
  br label %5594

5594:                                             ; preds = %5593
  br label %5595

5595:                                             ; preds = %5594
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %5596 = load ptr, ptr %142, align 8, !tbaa !9
  %5597 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %5598 = call i64 @s2n_send(ptr noundef %5596, ptr noundef %5597, i64 noundef 100, ptr noundef %144)
  %5599 = trunc i64 %5598 to i32
  store i32 %5599, ptr %162, align 4, !tbaa !5
  br label %5600

5600:                                             ; preds = %5595
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = add nsw i32 %5601, 1
  store i32 %5602, ptr @test_count, align 4, !tbaa !5
  %5603 = load i32, ptr %162, align 4, !tbaa !5
  %5604 = sext i32 %5603 to i64
  %5605 = icmp eq i64 %5604, 100
  br i1 %5605, label %5659, label %5606

5606:                                             ; preds = %5600
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

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

5615:                                             ; preds = %5608
  %5616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5617 = call i32 @fileno(ptr noundef %5616) #11
  %5618 = call i32 @isatty(i32 noundef %5617) #11
  %5619 = icmp ne i32 %5618, 0
  br i1 %5619, label %5620, label %5637

5620:                                             ; preds = %5615
  %5621 = load i32, ptr %163, align 4, !tbaa !5
  %5622 = call ptr @__errno_location() #12
  store i32 %5621, ptr %5622, align 4, !tbaa !5
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5624 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5626, ptr noundef @.str.4)
  %5628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5629 = load i32, ptr %5628, align 4, !tbaa !5
  %5630 = call ptr @s2n_strerror_debug(i32 noundef %5629, ptr noundef @.str.4)
  %5631 = call ptr @__errno_location() #12
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @strerror(i32 noundef %5632) #11
  %5634 = call ptr @__errno_location() #12
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5623, ptr noundef @.str.2, i32 noundef %5624, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 365, ptr noundef %5627, ptr noundef %5630, ptr noundef %5633, i32 noundef %5635) #11
  br label %5654

5637:                                             ; preds = %5615, %5608
  %5638 = load i32, ptr %163, align 4, !tbaa !5
  %5639 = call ptr @__errno_location() #12
  store i32 %5638, ptr %5639, align 4, !tbaa !5
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = load i32, ptr @test_count, align 4, !tbaa !5
  %5642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5643 = load i32, ptr %5642, align 4, !tbaa !5
  %5644 = call ptr @s2n_strerror(i32 noundef %5643, ptr noundef @.str.4)
  %5645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5646 = load i32, ptr %5645, align 4, !tbaa !5
  %5647 = call ptr @s2n_strerror_debug(i32 noundef %5646, ptr noundef @.str.4)
  %5648 = call ptr @__errno_location() #12
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @strerror(i32 noundef %5649) #11
  %5651 = call ptr @__errno_location() #12
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5640, ptr noundef @.str.5, i32 noundef %5641, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 365, ptr noundef %5644, ptr noundef %5647, ptr noundef %5650, i32 noundef %5652) #11
  br label %5654

5654:                                             ; preds = %5637, %5620
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %5655

5655:                                             ; preds = %5654
  br label %5656

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

5657:                                             ; No predecessors!
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

5659:                                             ; preds = %5658, %5600
  br label %5660

5660:                                             ; preds = %5659
  br label %5661

5661:                                             ; preds = %5660
  call void @llvm.lifetime.start.p0(i64 100, ptr %164) #11
  call void @llvm.memset.p0.i64(ptr align 16 %164, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %5662 = load ptr, ptr %141, align 8, !tbaa !9
  %5663 = getelementptr inbounds [100 x i8], ptr %164, i64 0, i64 0
  %5664 = call i64 @s2n_recv(ptr noundef %5662, ptr noundef %5663, i64 noundef 100, ptr noundef %144)
  %5665 = trunc i64 %5664 to i32
  store i32 %5665, ptr %165, align 4, !tbaa !5
  br label %5666

5666:                                             ; preds = %5661
  %5667 = load i32, ptr @test_count, align 4, !tbaa !5
  %5668 = add nsw i32 %5667, 1
  store i32 %5668, ptr @test_count, align 4, !tbaa !5
  %5669 = load i32, ptr %165, align 4, !tbaa !5
  %5670 = sext i32 %5669 to i64
  %5671 = icmp eq i64 %5670, 100
  br i1 %5671, label %5725, label %5672

5672:                                             ; preds = %5666
  br label %5673

5673:                                             ; preds = %5672
  br label %5674

5674:                                             ; preds = %5673
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %5675 = call ptr @__errno_location() #12
  %5676 = load i32, ptr %5675, align 4, !tbaa !5
  store i32 %5676, ptr %166, align 4, !tbaa !5
  %5677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5678 = call i32 @s2n_print_stacktrace(ptr noundef %5677)
  %5679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5680 = trunc i8 %5679 to i1
  br i1 %5680, label %5681, label %5703

5681:                                             ; preds = %5674
  %5682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5683 = call i32 @fileno(ptr noundef %5682) #11
  %5684 = call i32 @isatty(i32 noundef %5683) #11
  %5685 = icmp ne i32 %5684, 0
  br i1 %5685, label %5686, label %5703

5686:                                             ; preds = %5681
  %5687 = load i32, ptr %166, align 4, !tbaa !5
  %5688 = call ptr @__errno_location() #12
  store i32 %5687, ptr %5688, align 4, !tbaa !5
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = load i32, ptr @test_count, align 4, !tbaa !5
  %5691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  %5693 = call ptr @s2n_strerror(i32 noundef %5692, ptr noundef @.str.4)
  %5694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5695 = load i32, ptr %5694, align 4, !tbaa !5
  %5696 = call ptr @s2n_strerror_debug(i32 noundef %5695, ptr noundef @.str.4)
  %5697 = call ptr @__errno_location() #12
  %5698 = load i32, ptr %5697, align 4, !tbaa !5
  %5699 = call ptr @strerror(i32 noundef %5698) #11
  %5700 = call ptr @__errno_location() #12
  %5701 = load i32, ptr %5700, align 4, !tbaa !5
  %5702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5689, ptr noundef @.str.2, i32 noundef %5690, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 369, ptr noundef %5693, ptr noundef %5696, ptr noundef %5699, i32 noundef %5701) #11
  br label %5720

5703:                                             ; preds = %5681, %5674
  %5704 = load i32, ptr %166, align 4, !tbaa !5
  %5705 = call ptr @__errno_location() #12
  store i32 %5704, ptr %5705, align 4, !tbaa !5
  %5706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5707 = load i32, ptr @test_count, align 4, !tbaa !5
  %5708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call ptr @s2n_strerror(i32 noundef %5709, ptr noundef @.str.4)
  %5711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5712 = load i32, ptr %5711, align 4, !tbaa !5
  %5713 = call ptr @s2n_strerror_debug(i32 noundef %5712, ptr noundef @.str.4)
  %5714 = call ptr @__errno_location() #12
  %5715 = load i32, ptr %5714, align 4, !tbaa !5
  %5716 = call ptr @strerror(i32 noundef %5715) #11
  %5717 = call ptr @__errno_location() #12
  %5718 = load i32, ptr %5717, align 4, !tbaa !5
  %5719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5706, ptr noundef @.str.5, i32 noundef %5707, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 369, ptr noundef %5710, ptr noundef %5713, ptr noundef %5716, i32 noundef %5718) #11
  br label %5720

5720:                                             ; preds = %5703, %5686
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %5721

5721:                                             ; preds = %5720
  br label %5722

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

5723:                                             ; No predecessors!
  br label %5724

5724:                                             ; preds = %5723
  br label %5725

5725:                                             ; preds = %5724, %5666
  br label %5726

5726:                                             ; preds = %5725
  br label %5727

5727:                                             ; preds = %5726
  br label %5728

5728:                                             ; preds = %5727
  %5729 = load i32, ptr @test_count, align 4, !tbaa !5
  %5730 = add nsw i32 %5729, 1
  store i32 %5730, ptr @test_count, align 4, !tbaa !5
  %5731 = load i32, ptr %144, align 4, !tbaa !5
  %5732 = icmp eq i32 %5731, 0
  br i1 %5732, label %5786, label %5733

5733:                                             ; preds = %5728
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

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

5742:                                             ; preds = %5735
  %5743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5744 = call i32 @fileno(ptr noundef %5743) #11
  %5745 = call i32 @isatty(i32 noundef %5744) #11
  %5746 = icmp ne i32 %5745, 0
  br i1 %5746, label %5747, label %5764

5747:                                             ; preds = %5742
  %5748 = load i32, ptr %167, align 4, !tbaa !5
  %5749 = call ptr @__errno_location() #12
  store i32 %5748, ptr %5749, align 4, !tbaa !5
  %5750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5751 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5753, ptr noundef @.str.4)
  %5755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5756 = load i32, ptr %5755, align 4, !tbaa !5
  %5757 = call ptr @s2n_strerror_debug(i32 noundef %5756, ptr noundef @.str.4)
  %5758 = call ptr @__errno_location() #12
  %5759 = load i32, ptr %5758, align 4, !tbaa !5
  %5760 = call ptr @strerror(i32 noundef %5759) #11
  %5761 = call ptr @__errno_location() #12
  %5762 = load i32, ptr %5761, align 4, !tbaa !5
  %5763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5750, ptr noundef @.str.2, i32 noundef %5751, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 370, ptr noundef %5754, ptr noundef %5757, ptr noundef %5760, i32 noundef %5762) #11
  br label %5781

5764:                                             ; preds = %5742, %5735
  %5765 = load i32, ptr %167, align 4, !tbaa !5
  %5766 = call ptr @__errno_location() #12
  store i32 %5765, ptr %5766, align 4, !tbaa !5
  %5767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @s2n_strerror(i32 noundef %5770, ptr noundef @.str.4)
  %5772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5773 = load i32, ptr %5772, align 4, !tbaa !5
  %5774 = call ptr @s2n_strerror_debug(i32 noundef %5773, ptr noundef @.str.4)
  %5775 = call ptr @__errno_location() #12
  %5776 = load i32, ptr %5775, align 4, !tbaa !5
  %5777 = call ptr @strerror(i32 noundef %5776) #11
  %5778 = call ptr @__errno_location() #12
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5767, ptr noundef @.str.5, i32 noundef %5768, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 370, ptr noundef %5771, ptr noundef %5774, ptr noundef %5777, i32 noundef %5779) #11
  br label %5781

5781:                                             ; preds = %5764, %5747
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %5782

5782:                                             ; preds = %5781
  br label %5783

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

5784:                                             ; No predecessors!
  br label %5785

5785:                                             ; preds = %5784
  br label %5786

5786:                                             ; preds = %5785, %5728
  br label %5787

5787:                                             ; preds = %5786
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788
  %5790 = load i32, ptr %165, align 4, !tbaa !5
  %5791 = icmp ne i32 %5790, 0
  br i1 %5791, label %5792, label %5858

5792:                                             ; preds = %5789
  br label %5793

5793:                                             ; preds = %5792
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = add nsw i32 %5794, 1
  store i32 %5795, ptr @test_count, align 4, !tbaa !5
  %5796 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %5797 = getelementptr inbounds [100 x i8], ptr %164, i64 0, i64 0
  %5798 = load i32, ptr %165, align 4, !tbaa !5
  %5799 = sext i32 %5798 to i64
  %5800 = call i32 @memcmp(ptr noundef %5796, ptr noundef %5797, i64 noundef %5799) #14
  %5801 = icmp eq i32 %5800, 0
  br i1 %5801, label %5855, label %5802

5802:                                             ; preds = %5793
  br label %5803

5803:                                             ; preds = %5802
  br label %5804

5804:                                             ; preds = %5803
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %5805 = call ptr @__errno_location() #12
  %5806 = load i32, ptr %5805, align 4, !tbaa !5
  store i32 %5806, ptr %168, align 4, !tbaa !5
  %5807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5808 = call i32 @s2n_print_stacktrace(ptr noundef %5807)
  %5809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5810 = trunc i8 %5809 to i1
  br i1 %5810, label %5811, label %5833

5811:                                             ; preds = %5804
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = call i32 @fileno(ptr noundef %5812) #11
  %5814 = call i32 @isatty(i32 noundef %5813) #11
  %5815 = icmp ne i32 %5814, 0
  br i1 %5815, label %5816, label %5833

5816:                                             ; preds = %5811
  %5817 = load i32, ptr %168, align 4, !tbaa !5
  %5818 = call ptr @__errno_location() #12
  store i32 %5817, ptr %5818, align 4, !tbaa !5
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = load i32, ptr @test_count, align 4, !tbaa !5
  %5821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5822 = load i32, ptr %5821, align 4, !tbaa !5
  %5823 = call ptr @s2n_strerror(i32 noundef %5822, ptr noundef @.str.4)
  %5824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5825 = load i32, ptr %5824, align 4, !tbaa !5
  %5826 = call ptr @s2n_strerror_debug(i32 noundef %5825, ptr noundef @.str.4)
  %5827 = call ptr @__errno_location() #12
  %5828 = load i32, ptr %5827, align 4, !tbaa !5
  %5829 = call ptr @strerror(i32 noundef %5828) #11
  %5830 = call ptr @__errno_location() #12
  %5831 = load i32, ptr %5830, align 4, !tbaa !5
  %5832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5819, ptr noundef @.str.2, i32 noundef %5820, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 372, ptr noundef %5823, ptr noundef %5826, ptr noundef %5829, i32 noundef %5831) #11
  br label %5850

5833:                                             ; preds = %5811, %5804
  %5834 = load i32, ptr %168, align 4, !tbaa !5
  %5835 = call ptr @__errno_location() #12
  store i32 %5834, ptr %5835, align 4, !tbaa !5
  %5836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5837 = load i32, ptr @test_count, align 4, !tbaa !5
  %5838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5839 = load i32, ptr %5838, align 4, !tbaa !5
  %5840 = call ptr @s2n_strerror(i32 noundef %5839, ptr noundef @.str.4)
  %5841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5842 = load i32, ptr %5841, align 4, !tbaa !5
  %5843 = call ptr @s2n_strerror_debug(i32 noundef %5842, ptr noundef @.str.4)
  %5844 = call ptr @__errno_location() #12
  %5845 = load i32, ptr %5844, align 4, !tbaa !5
  %5846 = call ptr @strerror(i32 noundef %5845) #11
  %5847 = call ptr @__errno_location() #12
  %5848 = load i32, ptr %5847, align 4, !tbaa !5
  %5849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5836, ptr noundef @.str.5, i32 noundef %5837, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 372, ptr noundef %5840, ptr noundef %5843, ptr noundef %5846, i32 noundef %5848) #11
  br label %5850

5850:                                             ; preds = %5833, %5816
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %5851

5851:                                             ; preds = %5850
  br label %5852

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

5853:                                             ; No predecessors!
  br label %5854

5854:                                             ; preds = %5853
  br label %5855

5855:                                             ; preds = %5854, %5793
  br label %5856

5856:                                             ; preds = %5855
  br label %5857

5857:                                             ; preds = %5856
  br label %5858

5858:                                             ; preds = %5857, %5789
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

5860:                                             ; preds = %5859
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %164) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %5861

5861:                                             ; preds = %5860
  %5862 = load i64, ptr %158, align 8, !tbaa !15
  %5863 = add i64 %5862, 1
  store i64 %5863, ptr %158, align 8, !tbaa !15
  br label %5464, !llvm.loop !54

5864:                                             ; preds = %5467
  call void @llvm.lifetime.end.p0(i64 24, ptr %156) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %155) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %154) #11
  br label %5865

5865:                                             ; preds = %5864
  %5866 = load i32, ptr @test_count, align 4, !tbaa !5
  %5867 = add nsw i32 %5866, 1
  store i32 %5867, ptr @test_count, align 4, !tbaa !5
  %5868 = load ptr, ptr %142, align 8, !tbaa !9
  %5869 = call i32 @s2n_record_write(ptr noundef %5868, i8 noundef zeroext 23, ptr noundef %17)
  %5870 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  store i32 %5869, ptr %5870, align 4
  %5871 = getelementptr inbounds %struct.s2n_result, ptr %169, i32 0, i32 0
  %5872 = load i32, ptr %5871, align 4
  %5873 = call zeroext i1 @s2n_result_is_ok(i32 %5872)
  br i1 %5873, label %5927, label %5874

5874:                                             ; preds = %5865
  br label %5875

5875:                                             ; preds = %5874
  br label %5876

5876:                                             ; preds = %5875
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %5877 = call ptr @__errno_location() #12
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  store i32 %5878, ptr %170, align 4, !tbaa !5
  %5879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5880 = call i32 @s2n_print_stacktrace(ptr noundef %5879)
  %5881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5882 = trunc i8 %5881 to i1
  br i1 %5882, label %5883, label %5905

5883:                                             ; preds = %5876
  %5884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5885 = call i32 @fileno(ptr noundef %5884) #11
  %5886 = call i32 @isatty(i32 noundef %5885) #11
  %5887 = icmp ne i32 %5886, 0
  br i1 %5887, label %5888, label %5905

5888:                                             ; preds = %5883
  %5889 = load i32, ptr %170, align 4, !tbaa !5
  %5890 = call ptr @__errno_location() #12
  store i32 %5889, ptr %5890, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @s2n_strerror(i32 noundef %5894, ptr noundef @.str.4)
  %5896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call ptr @s2n_strerror_debug(i32 noundef %5897, ptr noundef @.str.4)
  %5899 = call ptr @__errno_location() #12
  %5900 = load i32, ptr %5899, align 4, !tbaa !5
  %5901 = call ptr @strerror(i32 noundef %5900) #11
  %5902 = call ptr @__errno_location() #12
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5891, ptr noundef @.str.2, i32 noundef %5892, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5895, ptr noundef %5898, ptr noundef %5901, i32 noundef %5903) #11
  br label %5922

5905:                                             ; preds = %5883, %5876
  %5906 = load i32, ptr %170, align 4, !tbaa !5
  %5907 = call ptr @__errno_location() #12
  store i32 %5906, ptr %5907, align 4, !tbaa !5
  %5908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5909 = load i32, ptr @test_count, align 4, !tbaa !5
  %5910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5911 = load i32, ptr %5910, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror(i32 noundef %5911, ptr noundef @.str.4)
  %5913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5914 = load i32, ptr %5913, align 4, !tbaa !5
  %5915 = call ptr @s2n_strerror_debug(i32 noundef %5914, ptr noundef @.str.4)
  %5916 = call ptr @__errno_location() #12
  %5917 = load i32, ptr %5916, align 4, !tbaa !5
  %5918 = call ptr @strerror(i32 noundef %5917) #11
  %5919 = call ptr @__errno_location() #12
  %5920 = load i32, ptr %5919, align 4, !tbaa !5
  %5921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5908, ptr noundef @.str.5, i32 noundef %5909, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 383, ptr noundef %5912, ptr noundef %5915, ptr noundef %5918, i32 noundef %5920) #11
  br label %5922

5922:                                             ; preds = %5905, %5888
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %5923

5923:                                             ; preds = %5922
  br label %5924

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

5925:                                             ; No predecessors!
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926, %5865
  br label %5928

5928:                                             ; preds = %5927
  br label %5929

5929:                                             ; preds = %5928
  br label %5930

5930:                                             ; preds = %5929
  %5931 = load i32, ptr @test_count, align 4, !tbaa !5
  %5932 = add nsw i32 %5931, 1
  store i32 %5932, ptr @test_count, align 4, !tbaa !5
  %5933 = load ptr, ptr %142, align 8, !tbaa !9
  %5934 = getelementptr inbounds %struct.s2n_connection, ptr %5933, i32 0, i32 41
  %5935 = call i32 @s2n_stuffer_wipe_n(ptr noundef %5934, i32 noundef 10)
  %5936 = icmp eq i32 %5935, -1
  br i1 %5936, label %5937, label %5990

5937:                                             ; preds = %5930
  br label %5938

5938:                                             ; preds = %5937
  br label %5939

5939:                                             ; preds = %5938
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %5940 = call ptr @__errno_location() #12
  %5941 = load i32, ptr %5940, align 4, !tbaa !5
  store i32 %5941, ptr %171, align 4, !tbaa !5
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5943 = call i32 @s2n_print_stacktrace(ptr noundef %5942)
  %5944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5945 = trunc i8 %5944 to i1
  br i1 %5945, label %5946, label %5968

5946:                                             ; preds = %5939
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @fileno(ptr noundef %5947) #11
  %5949 = call i32 @isatty(i32 noundef %5948) #11
  %5950 = icmp ne i32 %5949, 0
  br i1 %5950, label %5951, label %5968

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

5968:                                             ; preds = %5946, %5939
  %5969 = load i32, ptr %171, align 4, !tbaa !5
  %5970 = call ptr @__errno_location() #12
  store i32 %5969, ptr %5970, align 4, !tbaa !5
  %5971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5972 = load i32, ptr @test_count, align 4, !tbaa !5
  %5973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5974 = load i32, ptr %5973, align 4, !tbaa !5
  %5975 = call ptr @s2n_strerror(i32 noundef %5974, ptr noundef @.str.4)
  %5976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5977 = load i32, ptr %5976, align 4, !tbaa !5
  %5978 = call ptr @s2n_strerror_debug(i32 noundef %5977, ptr noundef @.str.4)
  %5979 = call ptr @__errno_location() #12
  %5980 = load i32, ptr %5979, align 4, !tbaa !5
  %5981 = call ptr @strerror(i32 noundef %5980) #11
  %5982 = call ptr @__errno_location() #12
  %5983 = load i32, ptr %5982, align 4, !tbaa !5
  %5984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5971, ptr noundef @.str.5, i32 noundef %5972, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 385, ptr noundef %5975, ptr noundef %5978, ptr noundef %5981, i32 noundef %5983) #11
  br label %5985

5985:                                             ; preds = %5968, %5951
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %5986

5986:                                             ; preds = %5985
  br label %5987

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

5988:                                             ; No predecessors!
  br label %5989

5989:                                             ; preds = %5988
  br label %5990

5990:                                             ; preds = %5989, %5930
  br label %5991

5991:                                             ; preds = %5990
  br label %5992

5992:                                             ; preds = %5991
  br label %5993

5993:                                             ; preds = %5992
  %5994 = load i32, ptr @test_count, align 4, !tbaa !5
  %5995 = add nsw i32 %5994, 1
  store i32 %5995, ptr @test_count, align 4, !tbaa !5
  %5996 = load ptr, ptr %142, align 8, !tbaa !9
  %5997 = getelementptr inbounds %struct.s2n_connection, ptr %5996, i32 0, i32 41
  %5998 = call i32 @s2n_stuffer_skip_write(ptr noundef %5997, i32 noundef 10)
  %5999 = icmp eq i32 %5998, -1
  br i1 %5999, label %6000, label %6053

6000:                                             ; preds = %5993
  br label %6001

6001:                                             ; preds = %6000
  br label %6002

6002:                                             ; preds = %6001
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %6003 = call ptr @__errno_location() #12
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  store i32 %6004, ptr %172, align 4, !tbaa !5
  %6005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6006 = call i32 @s2n_print_stacktrace(ptr noundef %6005)
  %6007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6008 = trunc i8 %6007 to i1
  br i1 %6008, label %6009, label %6031

6009:                                             ; preds = %6002
  %6010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6011 = call i32 @fileno(ptr noundef %6010) #11
  %6012 = call i32 @isatty(i32 noundef %6011) #11
  %6013 = icmp ne i32 %6012, 0
  br i1 %6013, label %6014, label %6031

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

6031:                                             ; preds = %6009, %6002
  %6032 = load i32, ptr %172, align 4, !tbaa !5
  %6033 = call ptr @__errno_location() #12
  store i32 %6032, ptr %6033, align 4, !tbaa !5
  %6034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6035 = load i32, ptr @test_count, align 4, !tbaa !5
  %6036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call ptr @s2n_strerror(i32 noundef %6037, ptr noundef @.str.4)
  %6039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6040 = load i32, ptr %6039, align 4, !tbaa !5
  %6041 = call ptr @s2n_strerror_debug(i32 noundef %6040, ptr noundef @.str.4)
  %6042 = call ptr @__errno_location() #12
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @strerror(i32 noundef %6043) #11
  %6045 = call ptr @__errno_location() #12
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6034, ptr noundef @.str.5, i32 noundef %6035, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 386, ptr noundef %6038, ptr noundef %6041, ptr noundef %6044, i32 noundef %6046) #11
  br label %6048

6048:                                             ; preds = %6031, %6014
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %6049

6049:                                             ; preds = %6048
  br label %6050

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

6051:                                             ; No predecessors!
  br label %6052

6052:                                             ; preds = %6051
  br label %6053

6053:                                             ; preds = %6052, %5993
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  %6057 = load i32, ptr @test_count, align 4, !tbaa !5
  %6058 = add nsw i32 %6057, 1
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = load ptr, ptr %142, align 8, !tbaa !9
  %6060 = call i32 @s2n_flush(ptr noundef %6059, ptr noundef %144)
  %6061 = icmp eq i32 %6060, -1
  br i1 %6061, label %6062, label %6115

6062:                                             ; preds = %6056
  br label %6063

6063:                                             ; preds = %6062
  br label %6064

6064:                                             ; preds = %6063
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %6065 = call ptr @__errno_location() #12
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  store i32 %6066, ptr %173, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = call i32 @s2n_print_stacktrace(ptr noundef %6067)
  %6069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6070 = trunc i8 %6069 to i1
  br i1 %6070, label %6071, label %6093

6071:                                             ; preds = %6064
  %6072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6073 = call i32 @fileno(ptr noundef %6072) #11
  %6074 = call i32 @isatty(i32 noundef %6073) #11
  %6075 = icmp ne i32 %6074, 0
  br i1 %6075, label %6076, label %6093

6076:                                             ; preds = %6071
  %6077 = load i32, ptr %173, align 4, !tbaa !5
  %6078 = call ptr @__errno_location() #12
  store i32 %6077, ptr %6078, align 4, !tbaa !5
  %6079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6080 = load i32, ptr @test_count, align 4, !tbaa !5
  %6081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6082 = load i32, ptr %6081, align 4, !tbaa !5
  %6083 = call ptr @s2n_strerror(i32 noundef %6082, ptr noundef @.str.4)
  %6084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6085 = load i32, ptr %6084, align 4, !tbaa !5
  %6086 = call ptr @s2n_strerror_debug(i32 noundef %6085, ptr noundef @.str.4)
  %6087 = call ptr @__errno_location() #12
  %6088 = load i32, ptr %6087, align 4, !tbaa !5
  %6089 = call ptr @strerror(i32 noundef %6088) #11
  %6090 = call ptr @__errno_location() #12
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6079, ptr noundef @.str.2, i32 noundef %6080, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 388, ptr noundef %6083, ptr noundef %6086, ptr noundef %6089, i32 noundef %6091) #11
  br label %6110

6093:                                             ; preds = %6071, %6064
  %6094 = load i32, ptr %173, align 4, !tbaa !5
  %6095 = call ptr @__errno_location() #12
  store i32 %6094, ptr %6095, align 4, !tbaa !5
  %6096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6097 = load i32, ptr @test_count, align 4, !tbaa !5
  %6098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6099 = load i32, ptr %6098, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror(i32 noundef %6099, ptr noundef @.str.4)
  %6101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6102 = load i32, ptr %6101, align 4, !tbaa !5
  %6103 = call ptr @s2n_strerror_debug(i32 noundef %6102, ptr noundef @.str.4)
  %6104 = call ptr @__errno_location() #12
  %6105 = load i32, ptr %6104, align 4, !tbaa !5
  %6106 = call ptr @strerror(i32 noundef %6105) #11
  %6107 = call ptr @__errno_location() #12
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  %6109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6096, ptr noundef @.str.5, i32 noundef %6097, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 388, ptr noundef %6100, ptr noundef %6103, ptr noundef %6106, i32 noundef %6108) #11
  br label %6110

6110:                                             ; preds = %6093, %6076
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %6111

6111:                                             ; preds = %6110
  br label %6112

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

6113:                                             ; No predecessors!
  br label %6114

6114:                                             ; preds = %6113
  br label %6115

6115:                                             ; preds = %6114, %6056
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116
  call void @llvm.lifetime.start.p0(i64 100, ptr %174) #11
  call void @llvm.memset.p0.i64(ptr align 16 %174, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %6118 = load ptr, ptr %141, align 8, !tbaa !9
  %6119 = getelementptr inbounds [100 x i8], ptr %174, i64 0, i64 0
  %6120 = call i64 @s2n_recv(ptr noundef %6118, ptr noundef %6119, i64 noundef 100, ptr noundef %144)
  %6121 = trunc i64 %6120 to i32
  store i32 %6121, ptr %175, align 4, !tbaa !5
  br label %6122

6122:                                             ; preds = %6117
  br label %6123

6123:                                             ; preds = %6122
  br label %6124

6124:                                             ; preds = %6123
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = add nsw i32 %6125, 1
  store i32 %6126, ptr @test_count, align 4, !tbaa !5
  %6127 = load i32, ptr %175, align 4, !tbaa !5
  %6128 = icmp eq i32 %6127, -1
  br i1 %6128, label %6182, label %6129

6129:                                             ; preds = %6124
  br label %6130

6130:                                             ; preds = %6129
  br label %6131

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

6138:                                             ; preds = %6131
  %6139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6140 = call i32 @fileno(ptr noundef %6139) #11
  %6141 = call i32 @isatty(i32 noundef %6140) #11
  %6142 = icmp ne i32 %6141, 0
  br i1 %6142, label %6143, label %6160

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

6160:                                             ; preds = %6138, %6131
  %6161 = load i32, ptr %176, align 4, !tbaa !5
  %6162 = call ptr @__errno_location() #12
  store i32 %6161, ptr %6162, align 4, !tbaa !5
  %6163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6164 = load i32, ptr @test_count, align 4, !tbaa !5
  %6165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  %6167 = call ptr @s2n_strerror(i32 noundef %6166, ptr noundef @.str.4)
  %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_debug(i32 noundef %6169, ptr noundef @.str.4)
  %6171 = call ptr @__errno_location() #12
  %6172 = load i32, ptr %6171, align 4, !tbaa !5
  %6173 = call ptr @strerror(i32 noundef %6172) #11
  %6174 = call ptr @__errno_location() #12
  %6175 = load i32, ptr %6174, align 4, !tbaa !5
  %6176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6163, ptr noundef @.str.5, i32 noundef %6164, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6167, ptr noundef %6170, ptr noundef %6173, i32 noundef %6175) #11
  br label %6177

6177:                                             ; preds = %6160, %6143
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %6178

6178:                                             ; preds = %6177
  br label %6179

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

6180:                                             ; No predecessors!
  br label %6181

6181:                                             ; preds = %6180
  br label %6182

6182:                                             ; preds = %6181, %6124
  br label %6183

6183:                                             ; preds = %6182
  br label %6184

6184:                                             ; preds = %6183
  br label %6185

6185:                                             ; preds = %6184
  %6186 = load i32, ptr @test_count, align 4, !tbaa !5
  %6187 = add nsw i32 %6186, 1
  store i32 %6187, ptr @test_count, align 4, !tbaa !5
  %6188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6189 = load i32, ptr %6188, align 4, !tbaa !5
  %6190 = icmp eq i32 %6189, 67108864
  br i1 %6190, label %6244, label %6191

6191:                                             ; preds = %6185
  br label %6192

6192:                                             ; preds = %6191
  br label %6193

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

6200:                                             ; preds = %6193
  %6201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6202 = call i32 @fileno(ptr noundef %6201) #11
  %6203 = call i32 @isatty(i32 noundef %6202) #11
  %6204 = icmp ne i32 %6203, 0
  br i1 %6204, label %6205, label %6222

6205:                                             ; preds = %6200
  %6206 = load i32, ptr %177, align 4, !tbaa !5
  %6207 = call ptr @__errno_location() #12
  store i32 %6206, ptr %6207, align 4, !tbaa !5
  %6208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6209 = load i32, ptr @test_count, align 4, !tbaa !5
  %6210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror(i32 noundef %6211, ptr noundef @.str.4)
  %6213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror_debug(i32 noundef %6214, ptr noundef @.str.4)
  %6216 = call ptr @__errno_location() #12
  %6217 = load i32, ptr %6216, align 4, !tbaa !5
  %6218 = call ptr @strerror(i32 noundef %6217) #11
  %6219 = call ptr @__errno_location() #12
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef @.str.2, i32 noundef %6209, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6212, ptr noundef %6215, ptr noundef %6218, i32 noundef %6220) #11
  br label %6239

6222:                                             ; preds = %6200, %6193
  %6223 = load i32, ptr %177, align 4, !tbaa !5
  %6224 = call ptr @__errno_location() #12
  store i32 %6223, ptr %6224, align 4, !tbaa !5
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = load i32, ptr @test_count, align 4, !tbaa !5
  %6227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call ptr @s2n_strerror(i32 noundef %6228, ptr noundef @.str.4)
  %6230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @s2n_strerror_debug(i32 noundef %6231, ptr noundef @.str.4)
  %6233 = call ptr @__errno_location() #12
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call ptr @strerror(i32 noundef %6234) #11
  %6236 = call ptr @__errno_location() #12
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6225, ptr noundef @.str.5, i32 noundef %6226, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6229, ptr noundef %6232, ptr noundef %6235, i32 noundef %6237) #11
  br label %6239

6239:                                             ; preds = %6222, %6205
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

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

6242:                                             ; No predecessors!
  br label %6243

6243:                                             ; preds = %6242
  br label %6244

6244:                                             ; preds = %6243, %6185
  br label %6245

6245:                                             ; preds = %6244
  br label %6246

6246:                                             ; preds = %6245
  br label %6247

6247:                                             ; preds = %6246
  %6248 = load i32, ptr @test_count, align 4, !tbaa !5
  %6249 = add nsw i32 %6248, 1
  store i32 %6249, ptr @test_count, align 4, !tbaa !5
  %6250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6251 = load i32, ptr %6250, align 4, !tbaa !5
  %6252 = call ptr @s2n_strerror_debug(i32 noundef %6251, ptr noundef @.str.4)
  %6253 = icmp eq ptr %6252, null
  br i1 %6253, label %6254, label %6307

6254:                                             ; preds = %6247
  br label %6255

6255:                                             ; preds = %6254
  br label %6256

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

6263:                                             ; preds = %6256
  %6264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6265 = call i32 @fileno(ptr noundef %6264) #11
  %6266 = call i32 @isatty(i32 noundef %6265) #11
  %6267 = icmp ne i32 %6266, 0
  br i1 %6267, label %6268, label %6285

6268:                                             ; preds = %6263
  %6269 = load i32, ptr %178, align 4, !tbaa !5
  %6270 = call ptr @__errno_location() #12
  store i32 %6269, ptr %6270, align 4, !tbaa !5
  %6271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6274 = load i32, ptr %6273, align 4, !tbaa !5
  %6275 = call ptr @s2n_strerror(i32 noundef %6274, ptr noundef @.str.4)
  %6276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6277 = load i32, ptr %6276, align 4, !tbaa !5
  %6278 = call ptr @s2n_strerror_debug(i32 noundef %6277, ptr noundef @.str.4)
  %6279 = call ptr @__errno_location() #12
  %6280 = load i32, ptr %6279, align 4, !tbaa !5
  %6281 = call ptr @strerror(i32 noundef %6280) #11
  %6282 = call ptr @__errno_location() #12
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  %6284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6271, ptr noundef @.str.2, i32 noundef %6272, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6275, ptr noundef %6278, ptr noundef %6281, i32 noundef %6283) #11
  br label %6302

6285:                                             ; preds = %6263, %6256
  %6286 = load i32, ptr %178, align 4, !tbaa !5
  %6287 = call ptr @__errno_location() #12
  store i32 %6286, ptr %6287, align 4, !tbaa !5
  %6288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6289 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6291, ptr noundef @.str.4)
  %6293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6294 = load i32, ptr %6293, align 4, !tbaa !5
  %6295 = call ptr @s2n_strerror_debug(i32 noundef %6294, ptr noundef @.str.4)
  %6296 = call ptr @__errno_location() #12
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call ptr @strerror(i32 noundef %6297) #11
  %6299 = call ptr @__errno_location() #12
  %6300 = load i32, ptr %6299, align 4, !tbaa !5
  %6301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6288, ptr noundef @.str.5, i32 noundef %6289, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 392, ptr noundef %6292, ptr noundef %6295, ptr noundef %6298, i32 noundef %6300) #11
  br label %6302

6302:                                             ; preds = %6285, %6268
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %6303

6303:                                             ; preds = %6302
  br label %6304

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

6305:                                             ; No predecessors!
  br label %6306

6306:                                             ; preds = %6305
  br label %6307

6307:                                             ; preds = %6306, %6247
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311
  %6313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6313, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6314 = call ptr @__errno_location() #12
  store i32 0, ptr %6314, align 4, !tbaa !5
  br label %6315

6315:                                             ; preds = %6312
  br label %6316

6316:                                             ; preds = %6315
  br label %6317

6317:                                             ; preds = %6316
  br label %6318

6318:                                             ; preds = %6317
  br label %6319

6319:                                             ; preds = %6318
  %6320 = load i32, ptr @test_count, align 4, !tbaa !5
  %6321 = add nsw i32 %6320, 1
  store i32 %6321, ptr @test_count, align 4, !tbaa !5
  %6322 = load i32, ptr %144, align 4, !tbaa !5
  %6323 = icmp eq i32 %6322, 1
  br i1 %6323, label %6377, label %6324

6324:                                             ; preds = %6319
  br label %6325

6325:                                             ; preds = %6324
  br label %6326

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

6333:                                             ; preds = %6326
  %6334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6335 = call i32 @fileno(ptr noundef %6334) #11
  %6336 = call i32 @isatty(i32 noundef %6335) #11
  %6337 = icmp ne i32 %6336, 0
  br i1 %6337, label %6338, label %6355

6338:                                             ; preds = %6333
  %6339 = load i32, ptr %179, align 4, !tbaa !5
  %6340 = call ptr @__errno_location() #12
  store i32 %6339, ptr %6340, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = load i32, ptr @test_count, align 4, !tbaa !5
  %6343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6344 = load i32, ptr %6343, align 4, !tbaa !5
  %6345 = call ptr @s2n_strerror(i32 noundef %6344, ptr noundef @.str.4)
  %6346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6347 = load i32, ptr %6346, align 4, !tbaa !5
  %6348 = call ptr @s2n_strerror_debug(i32 noundef %6347, ptr noundef @.str.4)
  %6349 = call ptr @__errno_location() #12
  %6350 = load i32, ptr %6349, align 4, !tbaa !5
  %6351 = call ptr @strerror(i32 noundef %6350) #11
  %6352 = call ptr @__errno_location() #12
  %6353 = load i32, ptr %6352, align 4, !tbaa !5
  %6354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6341, ptr noundef @.str.2, i32 noundef %6342, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 393, ptr noundef %6345, ptr noundef %6348, ptr noundef %6351, i32 noundef %6353) #11
  br label %6372

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

6372:                                             ; preds = %6355, %6338
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

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

6375:                                             ; No predecessors!
  br label %6376

6376:                                             ; preds = %6375
  br label %6377

6377:                                             ; preds = %6376, %6319
  br label %6378

6378:                                             ; preds = %6377
  br label %6379

6379:                                             ; preds = %6378
  br label %6380

6380:                                             ; preds = %6379
  %6381 = load i32, ptr @test_count, align 4, !tbaa !5
  %6382 = add nsw i32 %6381, 1
  store i32 %6382, ptr @test_count, align 4, !tbaa !5
  %6383 = load ptr, ptr %141, align 8, !tbaa !9
  %6384 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %6383, i32 noundef 3)
  br i1 %6384, label %6438, label %6385

6385:                                             ; preds = %6380
  br label %6386

6386:                                             ; preds = %6385
  br label %6387

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

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

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

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

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

6434:                                             ; preds = %6433
  br label %6435

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

6436:                                             ; No predecessors!
  br label %6437

6437:                                             ; preds = %6436
  br label %6438

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

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439
  br label %6441

6441:                                             ; preds = %6440
  %6442 = load i32, ptr @test_count, align 4, !tbaa !5
  %6443 = add nsw i32 %6442, 1
  store i32 %6443, ptr @test_count, align 4, !tbaa !5
  %6444 = load ptr, ptr %141, align 8, !tbaa !9
  %6445 = call i64 @s2n_connection_get_delay(ptr noundef %6444)
  %6446 = icmp ugt i64 %6445, 0
  br i1 %6446, label %6500, label %6447

6447:                                             ; preds = %6441
  br label %6448

6448:                                             ; preds = %6447
  br label %6449

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

6456:                                             ; preds = %6449
  %6457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6458 = call i32 @fileno(ptr noundef %6457) #11
  %6459 = call i32 @isatty(i32 noundef %6458) #11
  %6460 = icmp ne i32 %6459, 0
  br i1 %6460, label %6461, label %6478

6461:                                             ; preds = %6456
  %6462 = load i32, ptr %181, align 4, !tbaa !5
  %6463 = call ptr @__errno_location() #12
  store i32 %6462, ptr %6463, align 4, !tbaa !5
  %6464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6465 = load i32, ptr @test_count, align 4, !tbaa !5
  %6466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6467 = load i32, ptr %6466, align 4, !tbaa !5
  %6468 = call ptr @s2n_strerror(i32 noundef %6467, ptr noundef @.str.4)
  %6469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = call ptr @s2n_strerror_debug(i32 noundef %6470, ptr noundef @.str.4)
  %6472 = call ptr @__errno_location() #12
  %6473 = load i32, ptr %6472, align 4, !tbaa !5
  %6474 = call ptr @strerror(i32 noundef %6473) #11
  %6475 = call ptr @__errno_location() #12
  %6476 = load i32, ptr %6475, align 4, !tbaa !5
  %6477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6464, ptr noundef @.str.2, i32 noundef %6465, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 397, ptr noundef %6468, ptr noundef %6471, ptr noundef %6474, i32 noundef %6476) #11
  br label %6495

6478:                                             ; preds = %6456, %6449
  %6479 = load i32, ptr %181, align 4, !tbaa !5
  %6480 = call ptr @__errno_location() #12
  store i32 %6479, ptr %6480, align 4, !tbaa !5
  %6481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6482 = load i32, ptr @test_count, align 4, !tbaa !5
  %6483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6484 = load i32, ptr %6483, align 4, !tbaa !5
  %6485 = call ptr @s2n_strerror(i32 noundef %6484, ptr noundef @.str.4)
  %6486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6487 = load i32, ptr %6486, align 4, !tbaa !5
  %6488 = call ptr @s2n_strerror_debug(i32 noundef %6487, ptr noundef @.str.4)
  %6489 = call ptr @__errno_location() #12
  %6490 = load i32, ptr %6489, align 4, !tbaa !5
  %6491 = call ptr @strerror(i32 noundef %6490) #11
  %6492 = call ptr @__errno_location() #12
  %6493 = load i32, ptr %6492, align 4, !tbaa !5
  %6494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6481, ptr noundef @.str.5, i32 noundef %6482, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 397, ptr noundef %6485, ptr noundef %6488, ptr noundef %6491, i32 noundef %6493) #11
  br label %6495

6495:                                             ; preds = %6478, %6461
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %6496

6496:                                             ; preds = %6495
  br label %6497

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

6498:                                             ; No predecessors!
  br label %6499

6499:                                             ; preds = %6498
  br label %6500

6500:                                             ; preds = %6499, %6441
  br label %6501

6501:                                             ; preds = %6500
  br label %6502

6502:                                             ; preds = %6501
  br label %6503

6503:                                             ; preds = %6502
  %6504 = load i32, ptr @test_count, align 4, !tbaa !5
  %6505 = add nsw i32 %6504, 1
  store i32 %6505, ptr @test_count, align 4, !tbaa !5
  %6506 = load ptr, ptr %141, align 8, !tbaa !9
  %6507 = call i64 @s2n_connection_get_delay(ptr noundef %6506)
  %6508 = icmp ult i64 %6507, -1
  br i1 %6508, label %6562, label %6509

6509:                                             ; preds = %6503
  br label %6510

6510:                                             ; preds = %6509
  br label %6511

6511:                                             ; preds = %6510
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %6512 = call ptr @__errno_location() #12
  %6513 = load i32, ptr %6512, align 4, !tbaa !5
  store i32 %6513, ptr %182, align 4, !tbaa !5
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = call i32 @s2n_print_stacktrace(ptr noundef %6514)
  %6516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6517 = trunc i8 %6516 to i1
  br i1 %6517, label %6518, label %6540

6518:                                             ; preds = %6511
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = call i32 @fileno(ptr noundef %6519) #11
  %6521 = call i32 @isatty(i32 noundef %6520) #11
  %6522 = icmp ne i32 %6521, 0
  br i1 %6522, label %6523, label %6540

6523:                                             ; preds = %6518
  %6524 = load i32, ptr %182, align 4, !tbaa !5
  %6525 = call ptr @__errno_location() #12
  store i32 %6524, ptr %6525, align 4, !tbaa !5
  %6526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6527 = load i32, ptr @test_count, align 4, !tbaa !5
  %6528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror(i32 noundef %6529, ptr noundef @.str.4)
  %6531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = call ptr @s2n_strerror_debug(i32 noundef %6532, ptr noundef @.str.4)
  %6534 = call ptr @__errno_location() #12
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call ptr @strerror(i32 noundef %6535) #11
  %6537 = call ptr @__errno_location() #12
  %6538 = load i32, ptr %6537, align 4, !tbaa !5
  %6539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6526, ptr noundef @.str.2, i32 noundef %6527, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 398, ptr noundef %6530, ptr noundef %6533, ptr noundef %6536, i32 noundef %6538) #11
  br label %6557

6540:                                             ; preds = %6518, %6511
  %6541 = load i32, ptr %182, align 4, !tbaa !5
  %6542 = call ptr @__errno_location() #12
  store i32 %6541, ptr %6542, align 4, !tbaa !5
  %6543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6544 = load i32, ptr @test_count, align 4, !tbaa !5
  %6545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror(i32 noundef %6546, ptr noundef @.str.4)
  %6548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6549 = load i32, ptr %6548, align 4, !tbaa !5
  %6550 = call ptr @s2n_strerror_debug(i32 noundef %6549, ptr noundef @.str.4)
  %6551 = call ptr @__errno_location() #12
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call ptr @strerror(i32 noundef %6552) #11
  %6554 = call ptr @__errno_location() #12
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6543, ptr noundef @.str.5, i32 noundef %6544, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 398, ptr noundef %6547, ptr noundef %6550, ptr noundef %6553, i32 noundef %6555) #11
  br label %6557

6557:                                             ; preds = %6540, %6523
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %6558

6558:                                             ; preds = %6557
  br label %6559

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

6560:                                             ; No predecessors!
  br label %6561

6561:                                             ; preds = %6560
  br label %6562

6562:                                             ; preds = %6561, %6503
  br label %6563

6563:                                             ; preds = %6562
  br label %6564

6564:                                             ; preds = %6563
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %174) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %140) #11
  %6565 = call i32 @s2n_io_pair_close(ptr noundef %135)
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #11
  %6566 = call i32 @s2n_connection_ptr_free(ptr noundef %131)
  %6567 = getelementptr inbounds %struct.s2n_result, ptr %183, i32 0, i32 0
  store i32 %6566, ptr %6567, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  %6568 = call i32 @s2n_connection_ptr_free(ptr noundef %127)
  %6569 = getelementptr inbounds %struct.s2n_result, ptr %184, i32 0, i32 0
  store i32 %6568, ptr %6569, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6570

6570:                                             ; preds = %6564
  %6571 = load i64, ptr %125, align 8, !tbaa !15
  %6572 = add i64 %6571, 1
  store i64 %6572, ptr %125, align 8, !tbaa !15
  br label %4473, !llvm.loop !55

6573:                                             ; preds = %4480, %4476
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #11
  br label %6574

6574:                                             ; preds = %6573
  %6575 = load i8, ptr %32, align 1, !tbaa !11, !range !13, !noundef !14
  %6576 = trunc i8 %6575 to i1
  br i1 %6576, label %6577, label %8073

6577:                                             ; preds = %6574
  %6578 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %6578, label %6579, label %8073

6579:                                             ; preds = %6577
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #11
  %6580 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6580, ptr %185, align 8, !tbaa !9
  br label %6581

6581:                                             ; preds = %6579
  %6582 = load i32, ptr @test_count, align 4, !tbaa !5
  %6583 = add nsw i32 %6582, 1
  store i32 %6583, ptr @test_count, align 4, !tbaa !5
  %6584 = load ptr, ptr %185, align 8, !tbaa !9
  %6585 = icmp eq ptr %6584, null
  br i1 %6585, label %6586, label %6639

6586:                                             ; preds = %6581
  br label %6587

6587:                                             ; preds = %6586
  br label %6588

6588:                                             ; preds = %6587
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %6589 = call ptr @__errno_location() #12
  %6590 = load i32, ptr %6589, align 4, !tbaa !5
  store i32 %6590, ptr %186, align 4, !tbaa !5
  %6591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6592 = call i32 @s2n_print_stacktrace(ptr noundef %6591)
  %6593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6594 = trunc i8 %6593 to i1
  br i1 %6594, label %6595, label %6617

6595:                                             ; preds = %6588
  %6596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6597 = call i32 @fileno(ptr noundef %6596) #11
  %6598 = call i32 @isatty(i32 noundef %6597) #11
  %6599 = icmp ne i32 %6598, 0
  br i1 %6599, label %6600, label %6617

6600:                                             ; preds = %6595
  %6601 = load i32, ptr %186, align 4, !tbaa !5
  %6602 = call ptr @__errno_location() #12
  store i32 %6601, ptr %6602, align 4, !tbaa !5
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = load i32, ptr @test_count, align 4, !tbaa !5
  %6605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6606 = load i32, ptr %6605, align 4, !tbaa !5
  %6607 = call ptr @s2n_strerror(i32 noundef %6606, ptr noundef @.str.4)
  %6608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6609 = load i32, ptr %6608, align 4, !tbaa !5
  %6610 = call ptr @s2n_strerror_debug(i32 noundef %6609, ptr noundef @.str.4)
  %6611 = call ptr @__errno_location() #12
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @strerror(i32 noundef %6612) #11
  %6614 = call ptr @__errno_location() #12
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6603, ptr noundef @.str.2, i32 noundef %6604, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 406, ptr noundef %6607, ptr noundef %6610, ptr noundef %6613, i32 noundef %6615) #11
  br label %6634

6617:                                             ; preds = %6595, %6588
  %6618 = load i32, ptr %186, align 4, !tbaa !5
  %6619 = call ptr @__errno_location() #12
  store i32 %6618, ptr %6619, align 4, !tbaa !5
  %6620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6623 = load i32, ptr %6622, align 4, !tbaa !5
  %6624 = call ptr @s2n_strerror(i32 noundef %6623, ptr noundef @.str.4)
  %6625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6626 = load i32, ptr %6625, align 4, !tbaa !5
  %6627 = call ptr @s2n_strerror_debug(i32 noundef %6626, ptr noundef @.str.4)
  %6628 = call ptr @__errno_location() #12
  %6629 = load i32, ptr %6628, align 4, !tbaa !5
  %6630 = call ptr @strerror(i32 noundef %6629) #11
  %6631 = call ptr @__errno_location() #12
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  %6633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6620, ptr noundef @.str.5, i32 noundef %6621, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 406, ptr noundef %6624, ptr noundef %6627, ptr noundef %6630, i32 noundef %6632) #11
  br label %6634

6634:                                             ; preds = %6617, %6600
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %6635

6635:                                             ; preds = %6634
  br label %6636

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

6637:                                             ; No predecessors!
  br label %6638

6638:                                             ; preds = %6637
  br label %6639

6639:                                             ; preds = %6638, %6581
  br label %6640

6640:                                             ; preds = %6639
  br label %6641

6641:                                             ; preds = %6640
  br label %6642

6642:                                             ; preds = %6641
  %6643 = load i32, ptr @test_count, align 4, !tbaa !5
  %6644 = add nsw i32 %6643, 1
  store i32 %6644, ptr @test_count, align 4, !tbaa !5
  %6645 = load ptr, ptr %185, align 8, !tbaa !9
  %6646 = load ptr, ptr %26, align 8, !tbaa !9
  %6647 = call i32 @s2n_connection_set_config(ptr noundef %6645, ptr noundef %6646)
  %6648 = icmp eq i32 %6647, -1
  br i1 %6648, label %6649, label %6702

6649:                                             ; preds = %6642
  br label %6650

6650:                                             ; preds = %6649
  br label %6651

6651:                                             ; preds = %6650
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %6652 = call ptr @__errno_location() #12
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  store i32 %6653, ptr %187, align 4, !tbaa !5
  %6654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6655 = call i32 @s2n_print_stacktrace(ptr noundef %6654)
  %6656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6657 = trunc i8 %6656 to i1
  br i1 %6657, label %6658, label %6680

6658:                                             ; preds = %6651
  %6659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6660 = call i32 @fileno(ptr noundef %6659) #11
  %6661 = call i32 @isatty(i32 noundef %6660) #11
  %6662 = icmp ne i32 %6661, 0
  br i1 %6662, label %6663, label %6680

6663:                                             ; preds = %6658
  %6664 = load i32, ptr %187, align 4, !tbaa !5
  %6665 = call ptr @__errno_location() #12
  store i32 %6664, ptr %6665, align 4, !tbaa !5
  %6666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6669 = load i32, ptr %6668, align 4, !tbaa !5
  %6670 = call ptr @s2n_strerror(i32 noundef %6669, ptr noundef @.str.4)
  %6671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6672 = load i32, ptr %6671, align 4, !tbaa !5
  %6673 = call ptr @s2n_strerror_debug(i32 noundef %6672, ptr noundef @.str.4)
  %6674 = call ptr @__errno_location() #12
  %6675 = load i32, ptr %6674, align 4, !tbaa !5
  %6676 = call ptr @strerror(i32 noundef %6675) #11
  %6677 = call ptr @__errno_location() #12
  %6678 = load i32, ptr %6677, align 4, !tbaa !5
  %6679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6666, ptr noundef @.str.2, i32 noundef %6667, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 407, ptr noundef %6670, ptr noundef %6673, ptr noundef %6676, i32 noundef %6678) #11
  br label %6697

6680:                                             ; preds = %6658, %6651
  %6681 = load i32, ptr %187, align 4, !tbaa !5
  %6682 = call ptr @__errno_location() #12
  store i32 %6681, ptr %6682, align 4, !tbaa !5
  %6683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6684 = load i32, ptr @test_count, align 4, !tbaa !5
  %6685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  %6687 = call ptr @s2n_strerror(i32 noundef %6686, ptr noundef @.str.4)
  %6688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6689 = load i32, ptr %6688, align 4, !tbaa !5
  %6690 = call ptr @s2n_strerror_debug(i32 noundef %6689, ptr noundef @.str.4)
  %6691 = call ptr @__errno_location() #12
  %6692 = load i32, ptr %6691, align 4, !tbaa !5
  %6693 = call ptr @strerror(i32 noundef %6692) #11
  %6694 = call ptr @__errno_location() #12
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  %6696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6683, ptr noundef @.str.5, i32 noundef %6684, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 407, ptr noundef %6687, ptr noundef %6690, ptr noundef %6693, i32 noundef %6695) #11
  br label %6697

6697:                                             ; preds = %6680, %6663
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %6698

6698:                                             ; preds = %6697
  br label %6699

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

6700:                                             ; No predecessors!
  br label %6701

6701:                                             ; preds = %6700
  br label %6702

6702:                                             ; preds = %6701, %6642
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

6704:                                             ; preds = %6703
  br label %6705

6705:                                             ; preds = %6704
  %6706 = load i32, ptr @test_count, align 4, !tbaa !5
  %6707 = add nsw i32 %6706, 1
  store i32 %6707, ptr @test_count, align 4, !tbaa !5
  %6708 = load ptr, ptr %185, align 8, !tbaa !9
  %6709 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %6708, ptr noundef @.str.68)
  %6710 = icmp eq i32 %6709, -1
  br i1 %6710, label %6711, label %6764

6711:                                             ; preds = %6705
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %6714 = call ptr @__errno_location() #12
  %6715 = load i32, ptr %6714, align 4, !tbaa !5
  store i32 %6715, ptr %188, align 4, !tbaa !5
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @s2n_print_stacktrace(ptr noundef %6716)
  %6718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6719 = trunc i8 %6718 to i1
  br i1 %6719, label %6720, label %6742

6720:                                             ; preds = %6713
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = call i32 @fileno(ptr noundef %6721) #11
  %6723 = call i32 @isatty(i32 noundef %6722) #11
  %6724 = icmp ne i32 %6723, 0
  br i1 %6724, label %6725, label %6742

6725:                                             ; preds = %6720
  %6726 = load i32, ptr %188, align 4, !tbaa !5
  %6727 = call ptr @__errno_location() #12
  store i32 %6726, ptr %6727, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror(i32 noundef %6731, ptr noundef @.str.4)
  %6733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef @.str.4)
  %6736 = call ptr @__errno_location() #12
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #11
  %6739 = call ptr @__errno_location() #12
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef @.str.2, i32 noundef %6729, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 408, ptr noundef %6732, ptr noundef %6735, ptr noundef %6738, i32 noundef %6740) #11
  br label %6759

6742:                                             ; preds = %6720, %6713
  %6743 = load i32, ptr %188, align 4, !tbaa !5
  %6744 = call ptr @__errno_location() #12
  store i32 %6743, ptr %6744, align 4, !tbaa !5
  %6745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6746 = load i32, ptr @test_count, align 4, !tbaa !5
  %6747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6748 = load i32, ptr %6747, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror(i32 noundef %6748, ptr noundef @.str.4)
  %6750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6751 = load i32, ptr %6750, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror_debug(i32 noundef %6751, ptr noundef @.str.4)
  %6753 = call ptr @__errno_location() #12
  %6754 = load i32, ptr %6753, align 4, !tbaa !5
  %6755 = call ptr @strerror(i32 noundef %6754) #11
  %6756 = call ptr @__errno_location() #12
  %6757 = load i32, ptr %6756, align 4, !tbaa !5
  %6758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6745, ptr noundef @.str.5, i32 noundef %6746, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 408, ptr noundef %6749, ptr noundef %6752, ptr noundef %6755, i32 noundef %6757) #11
  br label %6759

6759:                                             ; preds = %6742, %6725
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

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

6762:                                             ; No predecessors!
  br label %6763

6763:                                             ; preds = %6762
  br label %6764

6764:                                             ; preds = %6763, %6705
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

6766:                                             ; preds = %6765
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #11
  %6767 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6767, ptr %189, align 8, !tbaa !9
  br label %6768

6768:                                             ; preds = %6766
  %6769 = load i32, ptr @test_count, align 4, !tbaa !5
  %6770 = add nsw i32 %6769, 1
  store i32 %6770, ptr @test_count, align 4, !tbaa !5
  %6771 = load ptr, ptr %189, align 8, !tbaa !9
  %6772 = icmp eq ptr %6771, null
  br i1 %6772, label %6773, label %6826

6773:                                             ; preds = %6768
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

6775:                                             ; preds = %6774
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %6776 = call ptr @__errno_location() #12
  %6777 = load i32, ptr %6776, align 4, !tbaa !5
  store i32 %6777, ptr %190, align 4, !tbaa !5
  %6778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6779 = call i32 @s2n_print_stacktrace(ptr noundef %6778)
  %6780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6781 = trunc i8 %6780 to i1
  br i1 %6781, label %6782, label %6804

6782:                                             ; preds = %6775
  %6783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6784 = call i32 @fileno(ptr noundef %6783) #11
  %6785 = call i32 @isatty(i32 noundef %6784) #11
  %6786 = icmp ne i32 %6785, 0
  br i1 %6786, label %6787, label %6804

6787:                                             ; preds = %6782
  %6788 = load i32, ptr %190, align 4, !tbaa !5
  %6789 = call ptr @__errno_location() #12
  store i32 %6788, ptr %6789, align 4, !tbaa !5
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = load i32, ptr @test_count, align 4, !tbaa !5
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @s2n_strerror(i32 noundef %6793, ptr noundef @.str.4)
  %6795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @s2n_strerror_debug(i32 noundef %6796, ptr noundef @.str.4)
  %6798 = call ptr @__errno_location() #12
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @strerror(i32 noundef %6799) #11
  %6801 = call ptr @__errno_location() #12
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6790, ptr noundef @.str.2, i32 noundef %6791, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 412, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #11
  br label %6821

6804:                                             ; preds = %6782, %6775
  %6805 = load i32, ptr %190, align 4, !tbaa !5
  %6806 = call ptr @__errno_location() #12
  store i32 %6805, ptr %6806, align 4, !tbaa !5
  %6807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6808 = load i32, ptr @test_count, align 4, !tbaa !5
  %6809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @s2n_strerror(i32 noundef %6810, ptr noundef @.str.4)
  %6812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call ptr @s2n_strerror_debug(i32 noundef %6813, ptr noundef @.str.4)
  %6815 = call ptr @__errno_location() #12
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @strerror(i32 noundef %6816) #11
  %6818 = call ptr @__errno_location() #12
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6807, ptr noundef @.str.5, i32 noundef %6808, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 412, ptr noundef %6811, ptr noundef %6814, ptr noundef %6817, i32 noundef %6819) #11
  br label %6821

6821:                                             ; preds = %6804, %6787
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %6822

6822:                                             ; preds = %6821
  br label %6823

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

6824:                                             ; No predecessors!
  br label %6825

6825:                                             ; preds = %6824
  br label %6826

6826:                                             ; preds = %6825, %6768
  br label %6827

6827:                                             ; preds = %6826
  br label %6828

6828:                                             ; preds = %6827
  br label %6829

6829:                                             ; preds = %6828
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = add nsw i32 %6830, 1
  store i32 %6831, ptr @test_count, align 4, !tbaa !5
  %6832 = load ptr, ptr %189, align 8, !tbaa !9
  %6833 = load ptr, ptr %26, align 8, !tbaa !9
  %6834 = call i32 @s2n_connection_set_config(ptr noundef %6832, ptr noundef %6833)
  %6835 = icmp eq i32 %6834, -1
  br i1 %6835, label %6836, label %6889

6836:                                             ; preds = %6829
  br label %6837

6837:                                             ; preds = %6836
  br label %6838

6838:                                             ; preds = %6837
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %6839 = call ptr @__errno_location() #12
  %6840 = load i32, ptr %6839, align 4, !tbaa !5
  store i32 %6840, ptr %191, align 4, !tbaa !5
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @s2n_print_stacktrace(ptr noundef %6841)
  %6843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6844 = trunc i8 %6843 to i1
  br i1 %6844, label %6845, label %6867

6845:                                             ; preds = %6838
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @fileno(ptr noundef %6846) #11
  %6848 = call i32 @isatty(i32 noundef %6847) #11
  %6849 = icmp ne i32 %6848, 0
  br i1 %6849, label %6850, label %6867

6850:                                             ; preds = %6845
  %6851 = load i32, ptr %191, align 4, !tbaa !5
  %6852 = call ptr @__errno_location() #12
  store i32 %6851, ptr %6852, align 4, !tbaa !5
  %6853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6854 = load i32, ptr @test_count, align 4, !tbaa !5
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror(i32 noundef %6856, ptr noundef @.str.4)
  %6858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @s2n_strerror_debug(i32 noundef %6859, ptr noundef @.str.4)
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #11
  %6864 = call ptr @__errno_location() #12
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6853, ptr noundef @.str.2, i32 noundef %6854, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 413, ptr noundef %6857, ptr noundef %6860, ptr noundef %6863, i32 noundef %6865) #11
  br label %6884

6867:                                             ; preds = %6845, %6838
  %6868 = load i32, ptr %191, align 4, !tbaa !5
  %6869 = call ptr @__errno_location() #12
  store i32 %6868, ptr %6869, align 4, !tbaa !5
  %6870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6871 = load i32, ptr @test_count, align 4, !tbaa !5
  %6872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6873 = load i32, ptr %6872, align 4, !tbaa !5
  %6874 = call ptr @s2n_strerror(i32 noundef %6873, ptr noundef @.str.4)
  %6875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6876 = load i32, ptr %6875, align 4, !tbaa !5
  %6877 = call ptr @s2n_strerror_debug(i32 noundef %6876, ptr noundef @.str.4)
  %6878 = call ptr @__errno_location() #12
  %6879 = load i32, ptr %6878, align 4, !tbaa !5
  %6880 = call ptr @strerror(i32 noundef %6879) #11
  %6881 = call ptr @__errno_location() #12
  %6882 = load i32, ptr %6881, align 4, !tbaa !5
  %6883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6870, ptr noundef @.str.5, i32 noundef %6871, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 413, ptr noundef %6874, ptr noundef %6877, ptr noundef %6880, i32 noundef %6882) #11
  br label %6884

6884:                                             ; preds = %6867, %6850
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

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

6887:                                             ; No predecessors!
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888, %6829
  br label %6890

6890:                                             ; preds = %6889
  br label %6891

6891:                                             ; preds = %6890
  br label %6892

6892:                                             ; preds = %6891
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = add nsw i32 %6893, 1
  store i32 %6894, ptr @test_count, align 4, !tbaa !5
  %6895 = load ptr, ptr %189, align 8, !tbaa !9
  %6896 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %6895, ptr noundef @.str.68)
  %6897 = icmp eq i32 %6896, -1
  br i1 %6897, label %6898, label %6951

6898:                                             ; preds = %6892
  br label %6899

6899:                                             ; preds = %6898
  br label %6900

6900:                                             ; preds = %6899
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %6901 = call ptr @__errno_location() #12
  %6902 = load i32, ptr %6901, align 4, !tbaa !5
  store i32 %6902, ptr %192, align 4, !tbaa !5
  %6903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6904 = call i32 @s2n_print_stacktrace(ptr noundef %6903)
  %6905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6906 = trunc i8 %6905 to i1
  br i1 %6906, label %6907, label %6929

6907:                                             ; preds = %6900
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @fileno(ptr noundef %6908) #11
  %6910 = call i32 @isatty(i32 noundef %6909) #11
  %6911 = icmp ne i32 %6910, 0
  br i1 %6911, label %6912, label %6929

6912:                                             ; preds = %6907
  %6913 = load i32, ptr %192, align 4, !tbaa !5
  %6914 = call ptr @__errno_location() #12
  store i32 %6913, ptr %6914, align 4, !tbaa !5
  %6915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6916 = load i32, ptr @test_count, align 4, !tbaa !5
  %6917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call ptr @s2n_strerror(i32 noundef %6918, ptr noundef @.str.4)
  %6920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror_debug(i32 noundef %6921, ptr noundef @.str.4)
  %6923 = call ptr @__errno_location() #12
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @strerror(i32 noundef %6924) #11
  %6926 = call ptr @__errno_location() #12
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6915, ptr noundef @.str.2, i32 noundef %6916, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 414, ptr noundef %6919, ptr noundef %6922, ptr noundef %6925, i32 noundef %6927) #11
  br label %6946

6929:                                             ; preds = %6907, %6900
  %6930 = load i32, ptr %192, 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.5, i32 noundef %6933, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 414, ptr noundef %6936, ptr noundef %6939, ptr noundef %6942, i32 noundef %6944) #11
  br label %6946

6946:                                             ; preds = %6929, %6912
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %6947

6947:                                             ; preds = %6946
  br label %6948

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

6949:                                             ; No predecessors!
  br label %6950

6950:                                             ; preds = %6949
  br label %6951

6951:                                             ; preds = %6950, %6892
  br label %6952

6952:                                             ; preds = %6951
  br label %6953

6953:                                             ; preds = %6952
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  call void @llvm.memset.p0.i64(ptr align 4 %193, i8 0, i64 8, i1 false)
  br label %6954

6954:                                             ; preds = %6953
  %6955 = load i32, ptr @test_count, align 4, !tbaa !5
  %6956 = add nsw i32 %6955, 1
  store i32 %6956, ptr @test_count, align 4, !tbaa !5
  %6957 = call i32 @s2n_new_inet_socket_pair(ptr noundef %193)
  %6958 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  store i32 %6957, ptr %6958, align 4
  %6959 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  %6960 = load i32, ptr %6959, align 4
  %6961 = call zeroext i1 @s2n_result_is_ok(i32 %6960)
  br i1 %6961, label %7015, label %6962

6962:                                             ; preds = %6954
  br label %6963

6963:                                             ; preds = %6962
  br label %6964

6964:                                             ; preds = %6963
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %6965 = call ptr @__errno_location() #12
  %6966 = load i32, ptr %6965, align 4, !tbaa !5
  store i32 %6966, ptr %195, align 4, !tbaa !5
  %6967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6968 = call i32 @s2n_print_stacktrace(ptr noundef %6967)
  %6969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6970 = trunc i8 %6969 to i1
  br i1 %6970, label %6971, label %6993

6971:                                             ; preds = %6964
  %6972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6973 = call i32 @fileno(ptr noundef %6972) #11
  %6974 = call i32 @isatty(i32 noundef %6973) #11
  %6975 = icmp ne i32 %6974, 0
  br i1 %6975, label %6976, label %6993

6976:                                             ; preds = %6971
  %6977 = load i32, ptr %195, align 4, !tbaa !5
  %6978 = call ptr @__errno_location() #12
  store i32 %6977, ptr %6978, align 4, !tbaa !5
  %6979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call ptr @s2n_strerror(i32 noundef %6982, ptr noundef @.str.4)
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror_debug(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call ptr @__errno_location() #12
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @strerror(i32 noundef %6988) #11
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6979, ptr noundef @.str.2, i32 noundef %6980, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 417, ptr noundef %6983, ptr noundef %6986, ptr noundef %6989, i32 noundef %6991) #11
  br label %7010

6993:                                             ; preds = %6971, %6964
  %6994 = load i32, ptr %195, align 4, !tbaa !5
  %6995 = call ptr @__errno_location() #12
  store i32 %6994, ptr %6995, align 4, !tbaa !5
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = load i32, ptr @test_count, align 4, !tbaa !5
  %6998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6999 = load i32, ptr %6998, align 4, !tbaa !5
  %7000 = call ptr @s2n_strerror(i32 noundef %6999, ptr noundef @.str.4)
  %7001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7002 = load i32, ptr %7001, align 4, !tbaa !5
  %7003 = call ptr @s2n_strerror_debug(i32 noundef %7002, ptr noundef @.str.4)
  %7004 = call ptr @__errno_location() #12
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call ptr @strerror(i32 noundef %7005) #11
  %7007 = call ptr @__errno_location() #12
  %7008 = load i32, ptr %7007, align 4, !tbaa !5
  %7009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6996, ptr noundef @.str.5, i32 noundef %6997, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 417, ptr noundef %7000, ptr noundef %7003, ptr noundef %7006, i32 noundef %7008) #11
  br label %7010

7010:                                             ; preds = %6993, %6976
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %7011

7011:                                             ; preds = %7010
  br label %7012

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

7013:                                             ; No predecessors!
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

7015:                                             ; preds = %7014, %6954
  br label %7016

7016:                                             ; preds = %7015
  br label %7017

7017:                                             ; preds = %7016
  br label %7018

7018:                                             ; preds = %7017
  %7019 = load i32, ptr @test_count, align 4, !tbaa !5
  %7020 = add nsw i32 %7019, 1
  store i32 %7020, ptr @test_count, align 4, !tbaa !5
  %7021 = load ptr, ptr %189, align 8, !tbaa !9
  %7022 = load ptr, ptr %185, align 8, !tbaa !9
  %7023 = call i32 @s2n_setup_connections(ptr noundef %7021, ptr noundef %7022, ptr noundef %193)
  %7024 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  store i32 %7023, ptr %7024, align 4
  %7025 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  %7026 = load i32, ptr %7025, align 4
  %7027 = call zeroext i1 @s2n_result_is_ok(i32 %7026)
  br i1 %7027, label %7081, label %7028

7028:                                             ; preds = %7018
  br label %7029

7029:                                             ; preds = %7028
  br label %7030

7030:                                             ; preds = %7029
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %7031 = call ptr @__errno_location() #12
  %7032 = load i32, ptr %7031, align 4, !tbaa !5
  store i32 %7032, ptr %197, align 4, !tbaa !5
  %7033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7034 = call i32 @s2n_print_stacktrace(ptr noundef %7033)
  %7035 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7036 = trunc i8 %7035 to i1
  br i1 %7036, label %7037, label %7059

7037:                                             ; preds = %7030
  %7038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7039 = call i32 @fileno(ptr noundef %7038) #11
  %7040 = call i32 @isatty(i32 noundef %7039) #11
  %7041 = icmp ne i32 %7040, 0
  br i1 %7041, label %7042, label %7059

7042:                                             ; preds = %7037
  %7043 = load i32, ptr %197, align 4, !tbaa !5
  %7044 = call ptr @__errno_location() #12
  store i32 %7043, ptr %7044, align 4, !tbaa !5
  %7045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7046 = load i32, ptr @test_count, align 4, !tbaa !5
  %7047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7048 = load i32, ptr %7047, align 4, !tbaa !5
  %7049 = call ptr @s2n_strerror(i32 noundef %7048, ptr noundef @.str.4)
  %7050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @s2n_strerror_debug(i32 noundef %7051, ptr noundef @.str.4)
  %7053 = call ptr @__errno_location() #12
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @strerror(i32 noundef %7054) #11
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7045, ptr noundef @.str.2, i32 noundef %7046, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 418, ptr noundef %7049, ptr noundef %7052, ptr noundef %7055, i32 noundef %7057) #11
  br label %7076

7059:                                             ; preds = %7037, %7030
  %7060 = load i32, ptr %197, align 4, !tbaa !5
  %7061 = call ptr @__errno_location() #12
  store i32 %7060, ptr %7061, align 4, !tbaa !5
  %7062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7063 = load i32, ptr @test_count, align 4, !tbaa !5
  %7064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7065 = load i32, ptr %7064, align 4, !tbaa !5
  %7066 = call ptr @s2n_strerror(i32 noundef %7065, ptr noundef @.str.4)
  %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_debug(i32 noundef %7068, ptr noundef @.str.4)
  %7070 = call ptr @__errno_location() #12
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @strerror(i32 noundef %7071) #11
  %7073 = call ptr @__errno_location() #12
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7062, ptr noundef @.str.5, i32 noundef %7063, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 418, ptr noundef %7066, ptr noundef %7069, ptr noundef %7072, i32 noundef %7074) #11
  br label %7076

7076:                                             ; preds = %7059, %7042
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %7077

7077:                                             ; preds = %7076
  br label %7078

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

7079:                                             ; No predecessors!
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

7081:                                             ; preds = %7080, %7018
  br label %7082

7082:                                             ; preds = %7081
  br label %7083

7083:                                             ; preds = %7082
  br label %7084

7084:                                             ; preds = %7083
  %7085 = load i32, ptr @test_count, align 4, !tbaa !5
  %7086 = add nsw i32 %7085, 1
  store i32 %7086, ptr @test_count, align 4, !tbaa !5
  %7087 = load ptr, ptr %185, align 8, !tbaa !9
  %7088 = getelementptr inbounds %struct.s2n_connection, ptr %7087, i32 0, i32 23
  %7089 = load i8, ptr %7088, align 4, !tbaa !27
  %7090 = zext i8 %7089 to i32
  %7091 = icmp eq i32 %7090, 34
  br i1 %7091, label %7145, label %7092

7092:                                             ; preds = %7084
  br label %7093

7093:                                             ; preds = %7092
  br label %7094

7094:                                             ; preds = %7093
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %7095 = call ptr @__errno_location() #12
  %7096 = load i32, ptr %7095, align 4, !tbaa !5
  store i32 %7096, ptr %198, align 4, !tbaa !5
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = call i32 @s2n_print_stacktrace(ptr noundef %7097)
  %7099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7100 = trunc i8 %7099 to i1
  br i1 %7100, label %7101, label %7123

7101:                                             ; preds = %7094
  %7102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7103 = call i32 @fileno(ptr noundef %7102) #11
  %7104 = call i32 @isatty(i32 noundef %7103) #11
  %7105 = icmp ne i32 %7104, 0
  br i1 %7105, label %7106, label %7123

7106:                                             ; preds = %7101
  %7107 = load i32, ptr %198, align 4, !tbaa !5
  %7108 = call ptr @__errno_location() #12
  store i32 %7107, ptr %7108, align 4, !tbaa !5
  %7109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7110 = load i32, ptr @test_count, align 4, !tbaa !5
  %7111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  %7113 = call ptr @s2n_strerror(i32 noundef %7112, ptr noundef @.str.4)
  %7114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  %7116 = call ptr @s2n_strerror_debug(i32 noundef %7115, ptr noundef @.str.4)
  %7117 = call ptr @__errno_location() #12
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call ptr @strerror(i32 noundef %7118) #11
  %7120 = call ptr @__errno_location() #12
  %7121 = load i32, ptr %7120, align 4, !tbaa !5
  %7122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7109, ptr noundef @.str.2, i32 noundef %7110, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 419, ptr noundef %7113, ptr noundef %7116, ptr noundef %7119, i32 noundef %7121) #11
  br label %7140

7123:                                             ; preds = %7101, %7094
  %7124 = load i32, ptr %198, align 4, !tbaa !5
  %7125 = call ptr @__errno_location() #12
  store i32 %7124, ptr %7125, align 4, !tbaa !5
  %7126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7127 = load i32, ptr @test_count, align 4, !tbaa !5
  %7128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7129 = load i32, ptr %7128, align 4, !tbaa !5
  %7130 = call ptr @s2n_strerror(i32 noundef %7129, ptr noundef @.str.4)
  %7131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7132 = load i32, ptr %7131, align 4, !tbaa !5
  %7133 = call ptr @s2n_strerror_debug(i32 noundef %7132, ptr noundef @.str.4)
  %7134 = call ptr @__errno_location() #12
  %7135 = load i32, ptr %7134, align 4, !tbaa !5
  %7136 = call ptr @strerror(i32 noundef %7135) #11
  %7137 = call ptr @__errno_location() #12
  %7138 = load i32, ptr %7137, align 4, !tbaa !5
  %7139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7126, ptr noundef @.str.5, i32 noundef %7127, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 419, ptr noundef %7130, ptr noundef %7133, ptr noundef %7136, i32 noundef %7138) #11
  br label %7140

7140:                                             ; preds = %7123, %7106
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %7141

7141:                                             ; preds = %7140
  br label %7142

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

7143:                                             ; No predecessors!
  br label %7144

7144:                                             ; preds = %7143
  br label %7145

7145:                                             ; preds = %7144, %7084
  br label %7146

7146:                                             ; preds = %7145
  br label %7147

7147:                                             ; preds = %7146
  br label %7148

7148:                                             ; preds = %7147
  %7149 = load i32, ptr @test_count, align 4, !tbaa !5
  %7150 = add nsw i32 %7149, 1
  store i32 %7150, ptr @test_count, align 4, !tbaa !5
  %7151 = load ptr, ptr %189, align 8, !tbaa !9
  %7152 = getelementptr inbounds %struct.s2n_connection, ptr %7151, i32 0, i32 23
  %7153 = load i8, ptr %7152, align 4, !tbaa !27
  %7154 = zext i8 %7153 to i32
  %7155 = icmp eq i32 %7154, 34
  br i1 %7155, label %7209, label %7156

7156:                                             ; preds = %7148
  br label %7157

7157:                                             ; preds = %7156
  br label %7158

7158:                                             ; preds = %7157
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %7159 = call ptr @__errno_location() #12
  %7160 = load i32, ptr %7159, align 4, !tbaa !5
  store i32 %7160, ptr %199, align 4, !tbaa !5
  %7161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7162 = call i32 @s2n_print_stacktrace(ptr noundef %7161)
  %7163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7164 = trunc i8 %7163 to i1
  br i1 %7164, label %7165, label %7187

7165:                                             ; preds = %7158
  %7166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7167 = call i32 @fileno(ptr noundef %7166) #11
  %7168 = call i32 @isatty(i32 noundef %7167) #11
  %7169 = icmp ne i32 %7168, 0
  br i1 %7169, label %7170, label %7187

7170:                                             ; preds = %7165
  %7171 = load i32, ptr %199, align 4, !tbaa !5
  %7172 = call ptr @__errno_location() #12
  store i32 %7171, ptr %7172, align 4, !tbaa !5
  %7173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7174 = load i32, ptr @test_count, align 4, !tbaa !5
  %7175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7176 = load i32, ptr %7175, align 4, !tbaa !5
  %7177 = call ptr @s2n_strerror(i32 noundef %7176, ptr noundef @.str.4)
  %7178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror_debug(i32 noundef %7179, ptr noundef @.str.4)
  %7181 = call ptr @__errno_location() #12
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call ptr @strerror(i32 noundef %7182) #11
  %7184 = call ptr @__errno_location() #12
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7173, ptr noundef @.str.2, i32 noundef %7174, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7177, ptr noundef %7180, ptr noundef %7183, i32 noundef %7185) #11
  br label %7204

7187:                                             ; preds = %7165, %7158
  %7188 = load i32, ptr %199, align 4, !tbaa !5
  %7189 = call ptr @__errno_location() #12
  store i32 %7188, ptr %7189, align 4, !tbaa !5
  %7190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7191 = load i32, ptr @test_count, align 4, !tbaa !5
  %7192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7193 = load i32, ptr %7192, align 4, !tbaa !5
  %7194 = call ptr @s2n_strerror(i32 noundef %7193, ptr noundef @.str.4)
  %7195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7196 = load i32, ptr %7195, align 4, !tbaa !5
  %7197 = call ptr @s2n_strerror_debug(i32 noundef %7196, ptr noundef @.str.4)
  %7198 = call ptr @__errno_location() #12
  %7199 = load i32, ptr %7198, align 4, !tbaa !5
  %7200 = call ptr @strerror(i32 noundef %7199) #11
  %7201 = call ptr @__errno_location() #12
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7190, ptr noundef @.str.5, i32 noundef %7191, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 420, ptr noundef %7194, ptr noundef %7197, ptr noundef %7200, i32 noundef %7202) #11
  br label %7204

7204:                                             ; preds = %7187, %7170
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %7205

7205:                                             ; preds = %7204
  br label %7206

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

7207:                                             ; No predecessors!
  br label %7208

7208:                                             ; preds = %7207
  br label %7209

7209:                                             ; preds = %7208, %7148
  br label %7210

7210:                                             ; preds = %7209
  br label %7211

7211:                                             ; preds = %7210
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #11
  %7212 = load ptr, ptr %185, align 8, !tbaa !9
  store ptr %7212, ptr %200, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #11
  %7213 = load ptr, ptr %189, align 8, !tbaa !9
  store ptr %7213, ptr %201, align 8, !tbaa !9
  br label %7214

7214:                                             ; preds = %7211
  %7215 = load i32, ptr @test_count, align 4, !tbaa !5
  %7216 = add nsw i32 %7215, 1
  store i32 %7216, ptr @test_count, align 4, !tbaa !5
  %7217 = load ptr, ptr %200, align 8, !tbaa !9
  %7218 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %7217)
  %7219 = icmp eq i32 %7218, -1
  br i1 %7219, label %7220, label %7273

7220:                                             ; preds = %7214
  br label %7221

7221:                                             ; preds = %7220
  br label %7222

7222:                                             ; preds = %7221
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %7223 = call ptr @__errno_location() #12
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  store i32 %7224, ptr %202, align 4, !tbaa !5
  %7225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7226 = call i32 @s2n_print_stacktrace(ptr noundef %7225)
  %7227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7228 = trunc i8 %7227 to i1
  br i1 %7228, label %7229, label %7251

7229:                                             ; preds = %7222
  %7230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7231 = call i32 @fileno(ptr noundef %7230) #11
  %7232 = call i32 @isatty(i32 noundef %7231) #11
  %7233 = icmp ne i32 %7232, 0
  br i1 %7233, label %7234, label %7251

7234:                                             ; preds = %7229
  %7235 = load i32, ptr %202, align 4, !tbaa !5
  %7236 = call ptr @__errno_location() #12
  store i32 %7235, ptr %7236, align 4, !tbaa !5
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = load i32, ptr @test_count, align 4, !tbaa !5
  %7239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7240 = load i32, ptr %7239, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror(i32 noundef %7240, ptr noundef @.str.4)
  %7242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  %7244 = call ptr @s2n_strerror_debug(i32 noundef %7243, ptr noundef @.str.4)
  %7245 = call ptr @__errno_location() #12
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call ptr @strerror(i32 noundef %7246) #11
  %7248 = call ptr @__errno_location() #12
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7237, ptr noundef @.str.2, i32 noundef %7238, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 424, ptr noundef %7241, ptr noundef %7244, ptr noundef %7247, i32 noundef %7249) #11
  br label %7268

7251:                                             ; preds = %7229, %7222
  %7252 = load i32, ptr %202, align 4, !tbaa !5
  %7253 = call ptr @__errno_location() #12
  store i32 %7252, ptr %7253, align 4, !tbaa !5
  %7254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7255 = load i32, ptr @test_count, align 4, !tbaa !5
  %7256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7257 = load i32, ptr %7256, align 4, !tbaa !5
  %7258 = call ptr @s2n_strerror(i32 noundef %7257, ptr noundef @.str.4)
  %7259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7260 = load i32, ptr %7259, align 4, !tbaa !5
  %7261 = call ptr @s2n_strerror_debug(i32 noundef %7260, ptr noundef @.str.4)
  %7262 = call ptr @__errno_location() #12
  %7263 = load i32, ptr %7262, align 4, !tbaa !5
  %7264 = call ptr @strerror(i32 noundef %7263) #11
  %7265 = call ptr @__errno_location() #12
  %7266 = load i32, ptr %7265, align 4, !tbaa !5
  %7267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7254, ptr noundef @.str.5, i32 noundef %7255, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 424, ptr noundef %7258, ptr noundef %7261, ptr noundef %7264, i32 noundef %7266) #11
  br label %7268

7268:                                             ; preds = %7251, %7234
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %7269

7269:                                             ; preds = %7268
  br label %7270

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

7271:                                             ; No predecessors!
  br label %7272

7272:                                             ; preds = %7271
  br label %7273

7273:                                             ; preds = %7272, %7214
  br label %7274

7274:                                             ; preds = %7273
  br label %7275

7275:                                             ; preds = %7274
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  store i32 0, ptr %203, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %204) #11
  store i8 22, ptr %204, align 1, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 14, ptr %205) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %205, ptr align 1 @__const.main.control_record_data.73, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %206) #11
  call void @llvm.memset.p0.i64(ptr align 8 %206, i8 0, i64 24, i1 false)
  br label %7276

7276:                                             ; preds = %7275
  %7277 = load i32, ptr @test_count, align 4, !tbaa !5
  %7278 = add nsw i32 %7277, 1
  store i32 %7278, ptr @test_count, align 4, !tbaa !5
  %7279 = getelementptr inbounds [14 x i8], ptr %205, i64 0, i64 0
  %7280 = call i32 @s2n_blob_init(ptr noundef %206, ptr noundef %7279, i32 noundef 14)
  %7281 = icmp eq i32 %7280, -1
  br i1 %7281, label %7282, label %7335

7282:                                             ; preds = %7276
  br label %7283

7283:                                             ; preds = %7282
  br label %7284

7284:                                             ; preds = %7283
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %7285 = call ptr @__errno_location() #12
  %7286 = load i32, ptr %7285, align 4, !tbaa !5
  store i32 %7286, ptr %207, align 4, !tbaa !5
  %7287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7288 = call i32 @s2n_print_stacktrace(ptr noundef %7287)
  %7289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7290 = trunc i8 %7289 to i1
  br i1 %7290, label %7291, label %7313

7291:                                             ; preds = %7284
  %7292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7293 = call i32 @fileno(ptr noundef %7292) #11
  %7294 = call i32 @isatty(i32 noundef %7293) #11
  %7295 = icmp ne i32 %7294, 0
  br i1 %7295, label %7296, label %7313

7296:                                             ; preds = %7291
  %7297 = load i32, ptr %207, align 4, !tbaa !5
  %7298 = call ptr @__errno_location() #12
  store i32 %7297, ptr %7298, align 4, !tbaa !5
  %7299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7300 = load i32, ptr @test_count, align 4, !tbaa !5
  %7301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call ptr @s2n_strerror(i32 noundef %7302, ptr noundef @.str.4)
  %7304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror_debug(i32 noundef %7305, ptr noundef @.str.4)
  %7307 = call ptr @__errno_location() #12
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call ptr @strerror(i32 noundef %7308) #11
  %7310 = call ptr @__errno_location() #12
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7299, ptr noundef @.str.2, i32 noundef %7300, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 446, ptr noundef %7303, ptr noundef %7306, ptr noundef %7309, i32 noundef %7311) #11
  br label %7330

7313:                                             ; preds = %7291, %7284
  %7314 = load i32, ptr %207, align 4, !tbaa !5
  %7315 = call ptr @__errno_location() #12
  store i32 %7314, ptr %7315, align 4, !tbaa !5
  %7316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7317 = load i32, ptr @test_count, align 4, !tbaa !5
  %7318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7319 = load i32, ptr %7318, align 4, !tbaa !5
  %7320 = call ptr @s2n_strerror(i32 noundef %7319, ptr noundef @.str.4)
  %7321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7322 = load i32, ptr %7321, align 4, !tbaa !5
  %7323 = call ptr @s2n_strerror_debug(i32 noundef %7322, ptr noundef @.str.4)
  %7324 = call ptr @__errno_location() #12
  %7325 = load i32, ptr %7324, align 4, !tbaa !5
  %7326 = call ptr @strerror(i32 noundef %7325) #11
  %7327 = call ptr @__errno_location() #12
  %7328 = load i32, ptr %7327, align 4, !tbaa !5
  %7329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7316, ptr noundef @.str.5, i32 noundef %7317, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 446, ptr noundef %7320, ptr noundef %7323, ptr noundef %7326, i32 noundef %7328) #11
  br label %7330

7330:                                             ; preds = %7313, %7296
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %7331

7331:                                             ; preds = %7330
  br label %7332

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

7333:                                             ; No predecessors!
  br label %7334

7334:                                             ; preds = %7333
  br label %7335

7335:                                             ; preds = %7334, %7276
  br label %7336

7336:                                             ; preds = %7335
  br label %7337

7337:                                             ; preds = %7336
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #11
  store i64 0, ptr %208, align 8, !tbaa !15
  br label %7338

7338:                                             ; preds = %7735, %7337
  %7339 = load i64, ptr %208, align 8, !tbaa !15
  %7340 = icmp ult i64 %7339, 5
  br i1 %7340, label %7342, label %7341

7341:                                             ; preds = %7338
  store i32 692, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #11
  br label %7738

7342:                                             ; preds = %7338
  br label %7343

7343:                                             ; preds = %7342
  %7344 = load i32, ptr @test_count, align 4, !tbaa !5
  %7345 = add nsw i32 %7344, 1
  store i32 %7345, ptr @test_count, align 4, !tbaa !5
  %7346 = load ptr, ptr %201, align 8, !tbaa !9
  %7347 = call i32 @s2n_record_write(ptr noundef %7346, i8 noundef zeroext 22, ptr noundef %206)
  %7348 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  store i32 %7347, ptr %7348, align 4
  %7349 = getelementptr inbounds %struct.s2n_result, ptr %209, i32 0, i32 0
  %7350 = load i32, ptr %7349, align 4
  %7351 = call zeroext i1 @s2n_result_is_ok(i32 %7350)
  br i1 %7351, label %7405, label %7352

7352:                                             ; preds = %7343
  br label %7353

7353:                                             ; preds = %7352
  br label %7354

7354:                                             ; preds = %7353
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %7355 = call ptr @__errno_location() #12
  %7356 = load i32, ptr %7355, align 4, !tbaa !5
  store i32 %7356, ptr %210, align 4, !tbaa !5
  %7357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7358 = call i32 @s2n_print_stacktrace(ptr noundef %7357)
  %7359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7360 = trunc i8 %7359 to i1
  br i1 %7360, label %7361, label %7383

7361:                                             ; preds = %7354
  %7362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7363 = call i32 @fileno(ptr noundef %7362) #11
  %7364 = call i32 @isatty(i32 noundef %7363) #11
  %7365 = icmp ne i32 %7364, 0
  br i1 %7365, label %7366, label %7383

7366:                                             ; preds = %7361
  %7367 = load i32, ptr %210, align 4, !tbaa !5
  %7368 = call ptr @__errno_location() #12
  store i32 %7367, ptr %7368, align 4, !tbaa !5
  %7369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7370 = load i32, ptr @test_count, align 4, !tbaa !5
  %7371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call ptr @s2n_strerror(i32 noundef %7372, ptr noundef @.str.4)
  %7374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror_debug(i32 noundef %7375, ptr noundef @.str.4)
  %7377 = call ptr @__errno_location() #12
  %7378 = load i32, ptr %7377, align 4, !tbaa !5
  %7379 = call ptr @strerror(i32 noundef %7378) #11
  %7380 = call ptr @__errno_location() #12
  %7381 = load i32, ptr %7380, align 4, !tbaa !5
  %7382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7369, ptr noundef @.str.2, i32 noundef %7370, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 449, ptr noundef %7373, ptr noundef %7376, ptr noundef %7379, i32 noundef %7381) #11
  br label %7400

7383:                                             ; preds = %7361, %7354
  %7384 = load i32, ptr %210, align 4, !tbaa !5
  %7385 = call ptr @__errno_location() #12
  store i32 %7384, ptr %7385, align 4, !tbaa !5
  %7386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7387 = load i32, ptr @test_count, align 4, !tbaa !5
  %7388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call ptr @s2n_strerror(i32 noundef %7389, ptr noundef @.str.4)
  %7391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = call ptr @s2n_strerror_debug(i32 noundef %7392, ptr noundef @.str.4)
  %7394 = call ptr @__errno_location() #12
  %7395 = load i32, ptr %7394, align 4, !tbaa !5
  %7396 = call ptr @strerror(i32 noundef %7395) #11
  %7397 = call ptr @__errno_location() #12
  %7398 = load i32, ptr %7397, align 4, !tbaa !5
  %7399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7386, ptr noundef @.str.5, i32 noundef %7387, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 449, ptr noundef %7390, ptr noundef %7393, ptr noundef %7396, i32 noundef %7398) #11
  br label %7400

7400:                                             ; preds = %7383, %7366
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %7401

7401:                                             ; preds = %7400
  br label %7402

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

7403:                                             ; No predecessors!
  br label %7404

7404:                                             ; preds = %7403
  br label %7405

7405:                                             ; preds = %7404, %7343
  br label %7406

7406:                                             ; preds = %7405
  br label %7407

7407:                                             ; preds = %7406
  br label %7408

7408:                                             ; preds = %7407
  %7409 = load i32, ptr @test_count, align 4, !tbaa !5
  %7410 = add nsw i32 %7409, 1
  store i32 %7410, ptr @test_count, align 4, !tbaa !5
  %7411 = load ptr, ptr %201, align 8, !tbaa !9
  %7412 = call i32 @s2n_flush(ptr noundef %7411, ptr noundef %203)
  %7413 = icmp eq i32 %7412, -1
  br i1 %7413, label %7414, label %7467

7414:                                             ; preds = %7408
  br label %7415

7415:                                             ; preds = %7414
  br label %7416

7416:                                             ; preds = %7415
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %7417 = call ptr @__errno_location() #12
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  store i32 %7418, ptr %211, align 4, !tbaa !5
  %7419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7420 = call i32 @s2n_print_stacktrace(ptr noundef %7419)
  %7421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7422 = trunc i8 %7421 to i1
  br i1 %7422, label %7423, label %7445

7423:                                             ; preds = %7416
  %7424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7425 = call i32 @fileno(ptr noundef %7424) #11
  %7426 = call i32 @isatty(i32 noundef %7425) #11
  %7427 = icmp ne i32 %7426, 0
  br i1 %7427, label %7428, label %7445

7428:                                             ; preds = %7423
  %7429 = load i32, ptr %211, align 4, !tbaa !5
  %7430 = call ptr @__errno_location() #12
  store i32 %7429, ptr %7430, align 4, !tbaa !5
  %7431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7432 = load i32, ptr @test_count, align 4, !tbaa !5
  %7433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @s2n_strerror(i32 noundef %7434, ptr noundef @.str.4)
  %7436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call ptr @s2n_strerror_debug(i32 noundef %7437, ptr noundef @.str.4)
  %7439 = call ptr @__errno_location() #12
  %7440 = load i32, ptr %7439, align 4, !tbaa !5
  %7441 = call ptr @strerror(i32 noundef %7440) #11
  %7442 = call ptr @__errno_location() #12
  %7443 = load i32, ptr %7442, align 4, !tbaa !5
  %7444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7431, ptr noundef @.str.2, i32 noundef %7432, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 450, ptr noundef %7435, ptr noundef %7438, ptr noundef %7441, i32 noundef %7443) #11
  br label %7462

7445:                                             ; preds = %7423, %7416
  %7446 = load i32, ptr %211, align 4, !tbaa !5
  %7447 = call ptr @__errno_location() #12
  store i32 %7446, ptr %7447, align 4, !tbaa !5
  %7448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7449 = load i32, ptr @test_count, align 4, !tbaa !5
  %7450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7451 = load i32, ptr %7450, align 4, !tbaa !5
  %7452 = call ptr @s2n_strerror(i32 noundef %7451, ptr noundef @.str.4)
  %7453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror_debug(i32 noundef %7454, ptr noundef @.str.4)
  %7456 = call ptr @__errno_location() #12
  %7457 = load i32, ptr %7456, align 4, !tbaa !5
  %7458 = call ptr @strerror(i32 noundef %7457) #11
  %7459 = call ptr @__errno_location() #12
  %7460 = load i32, ptr %7459, align 4, !tbaa !5
  %7461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7448, ptr noundef @.str.5, i32 noundef %7449, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 450, ptr noundef %7452, ptr noundef %7455, ptr noundef %7458, i32 noundef %7460) #11
  br label %7462

7462:                                             ; preds = %7445, %7428
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %7463

7463:                                             ; preds = %7462
  br label %7464

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

7465:                                             ; No predecessors!
  br label %7466

7466:                                             ; preds = %7465
  br label %7467

7467:                                             ; preds = %7466, %7408
  br label %7468

7468:                                             ; preds = %7467
  br label %7469

7469:                                             ; preds = %7468
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %7470 = load ptr, ptr %201, align 8, !tbaa !9
  %7471 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %7472 = call i64 @s2n_send(ptr noundef %7470, ptr noundef %7471, i64 noundef 100, ptr noundef %203)
  %7473 = trunc i64 %7472 to i32
  store i32 %7473, ptr %212, align 4, !tbaa !5
  br label %7474

7474:                                             ; preds = %7469
  %7475 = load i32, ptr @test_count, align 4, !tbaa !5
  %7476 = add nsw i32 %7475, 1
  store i32 %7476, ptr @test_count, align 4, !tbaa !5
  %7477 = load i32, ptr %212, align 4, !tbaa !5
  %7478 = sext i32 %7477 to i64
  %7479 = icmp eq i64 %7478, 100
  br i1 %7479, label %7533, label %7480

7480:                                             ; preds = %7474
  br label %7481

7481:                                             ; preds = %7480
  br label %7482

7482:                                             ; preds = %7481
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %7483 = call ptr @__errno_location() #12
  %7484 = load i32, ptr %7483, align 4, !tbaa !5
  store i32 %7484, ptr %213, align 4, !tbaa !5
  %7485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7486 = call i32 @s2n_print_stacktrace(ptr noundef %7485)
  %7487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7488 = trunc i8 %7487 to i1
  br i1 %7488, label %7489, label %7511

7489:                                             ; preds = %7482
  %7490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7491 = call i32 @fileno(ptr noundef %7490) #11
  %7492 = call i32 @isatty(i32 noundef %7491) #11
  %7493 = icmp ne i32 %7492, 0
  br i1 %7493, label %7494, label %7511

7494:                                             ; preds = %7489
  %7495 = load i32, ptr %213, align 4, !tbaa !5
  %7496 = call ptr @__errno_location() #12
  store i32 %7495, ptr %7496, align 4, !tbaa !5
  %7497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7498 = load i32, ptr @test_count, align 4, !tbaa !5
  %7499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7500 = load i32, ptr %7499, align 4, !tbaa !5
  %7501 = call ptr @s2n_strerror(i32 noundef %7500, ptr noundef @.str.4)
  %7502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7503 = load i32, ptr %7502, align 4, !tbaa !5
  %7504 = call ptr @s2n_strerror_debug(i32 noundef %7503, ptr noundef @.str.4)
  %7505 = call ptr @__errno_location() #12
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = call ptr @strerror(i32 noundef %7506) #11
  %7508 = call ptr @__errno_location() #12
  %7509 = load i32, ptr %7508, align 4, !tbaa !5
  %7510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7497, ptr noundef @.str.2, i32 noundef %7498, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 453, ptr noundef %7501, ptr noundef %7504, ptr noundef %7507, i32 noundef %7509) #11
  br label %7528

7511:                                             ; preds = %7489, %7482
  %7512 = load i32, ptr %213, align 4, !tbaa !5
  %7513 = call ptr @__errno_location() #12
  store i32 %7512, ptr %7513, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = load i32, ptr @test_count, align 4, !tbaa !5
  %7516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call ptr @s2n_strerror(i32 noundef %7517, ptr noundef @.str.4)
  %7519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7520 = load i32, ptr %7519, align 4, !tbaa !5
  %7521 = call ptr @s2n_strerror_debug(i32 noundef %7520, ptr noundef @.str.4)
  %7522 = call ptr @__errno_location() #12
  %7523 = load i32, ptr %7522, align 4, !tbaa !5
  %7524 = call ptr @strerror(i32 noundef %7523) #11
  %7525 = call ptr @__errno_location() #12
  %7526 = load i32, ptr %7525, align 4, !tbaa !5
  %7527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7514, ptr noundef @.str.5, i32 noundef %7515, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 453, ptr noundef %7518, ptr noundef %7521, ptr noundef %7524, i32 noundef %7526) #11
  br label %7528

7528:                                             ; preds = %7511, %7494
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %7529

7529:                                             ; preds = %7528
  br label %7530

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

7531:                                             ; No predecessors!
  br label %7532

7532:                                             ; preds = %7531
  br label %7533

7533:                                             ; preds = %7532, %7474
  br label %7534

7534:                                             ; preds = %7533
  br label %7535

7535:                                             ; preds = %7534
  call void @llvm.lifetime.start.p0(i64 100, ptr %214) #11
  call void @llvm.memset.p0.i64(ptr align 16 %214, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %7536 = load ptr, ptr %200, align 8, !tbaa !9
  %7537 = getelementptr inbounds [100 x i8], ptr %214, i64 0, i64 0
  %7538 = call i64 @s2n_recv(ptr noundef %7536, ptr noundef %7537, i64 noundef 100, ptr noundef %203)
  %7539 = trunc i64 %7538 to i32
  store i32 %7539, ptr %215, align 4, !tbaa !5
  br label %7540

7540:                                             ; preds = %7535
  %7541 = load i32, ptr @test_count, align 4, !tbaa !5
  %7542 = add nsw i32 %7541, 1
  store i32 %7542, ptr @test_count, align 4, !tbaa !5
  %7543 = load i32, ptr %215, align 4, !tbaa !5
  %7544 = sext i32 %7543 to i64
  %7545 = icmp eq i64 %7544, 100
  br i1 %7545, label %7599, label %7546

7546:                                             ; preds = %7540
  br label %7547

7547:                                             ; preds = %7546
  br label %7548

7548:                                             ; preds = %7547
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %7549 = call ptr @__errno_location() #12
  %7550 = load i32, ptr %7549, align 4, !tbaa !5
  store i32 %7550, ptr %216, align 4, !tbaa !5
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = call i32 @s2n_print_stacktrace(ptr noundef %7551)
  %7553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7554 = trunc i8 %7553 to i1
  br i1 %7554, label %7555, label %7577

7555:                                             ; preds = %7548
  %7556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7557 = call i32 @fileno(ptr noundef %7556) #11
  %7558 = call i32 @isatty(i32 noundef %7557) #11
  %7559 = icmp ne i32 %7558, 0
  br i1 %7559, label %7560, label %7577

7560:                                             ; preds = %7555
  %7561 = load i32, ptr %216, align 4, !tbaa !5
  %7562 = call ptr @__errno_location() #12
  store i32 %7561, ptr %7562, align 4, !tbaa !5
  %7563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7564 = load i32, ptr @test_count, align 4, !tbaa !5
  %7565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7566 = load i32, ptr %7565, align 4, !tbaa !5
  %7567 = call ptr @s2n_strerror(i32 noundef %7566, ptr noundef @.str.4)
  %7568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7569 = load i32, ptr %7568, align 4, !tbaa !5
  %7570 = call ptr @s2n_strerror_debug(i32 noundef %7569, ptr noundef @.str.4)
  %7571 = call ptr @__errno_location() #12
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call ptr @strerror(i32 noundef %7572) #11
  %7574 = call ptr @__errno_location() #12
  %7575 = load i32, ptr %7574, align 4, !tbaa !5
  %7576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7563, ptr noundef @.str.2, i32 noundef %7564, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 457, ptr noundef %7567, ptr noundef %7570, ptr noundef %7573, i32 noundef %7575) #11
  br label %7594

7577:                                             ; preds = %7555, %7548
  %7578 = load i32, ptr %216, 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.5, i32 noundef %7581, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 457, ptr noundef %7584, ptr noundef %7587, ptr noundef %7590, i32 noundef %7592) #11
  br label %7594

7594:                                             ; preds = %7577, %7560
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %7595

7595:                                             ; preds = %7594
  br label %7596

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

7597:                                             ; No predecessors!
  br label %7598

7598:                                             ; preds = %7597
  br label %7599

7599:                                             ; preds = %7598, %7540
  br label %7600

7600:                                             ; preds = %7599
  br label %7601

7601:                                             ; preds = %7600
  br label %7602

7602:                                             ; preds = %7601
  %7603 = load i32, ptr @test_count, align 4, !tbaa !5
  %7604 = add nsw i32 %7603, 1
  store i32 %7604, ptr @test_count, align 4, !tbaa !5
  %7605 = load i32, ptr %203, align 4, !tbaa !5
  %7606 = icmp eq i32 %7605, 0
  br i1 %7606, label %7660, label %7607

7607:                                             ; preds = %7602
  br label %7608

7608:                                             ; preds = %7607
  br label %7609

7609:                                             ; preds = %7608
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %7610 = call ptr @__errno_location() #12
  %7611 = load i32, ptr %7610, align 4, !tbaa !5
  store i32 %7611, ptr %217, align 4, !tbaa !5
  %7612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7613 = call i32 @s2n_print_stacktrace(ptr noundef %7612)
  %7614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7615 = trunc i8 %7614 to i1
  br i1 %7615, label %7616, label %7638

7616:                                             ; preds = %7609
  %7617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7618 = call i32 @fileno(ptr noundef %7617) #11
  %7619 = call i32 @isatty(i32 noundef %7618) #11
  %7620 = icmp ne i32 %7619, 0
  br i1 %7620, label %7621, label %7638

7621:                                             ; preds = %7616
  %7622 = load i32, ptr %217, align 4, !tbaa !5
  %7623 = call ptr @__errno_location() #12
  store i32 %7622, ptr %7623, align 4, !tbaa !5
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = load i32, ptr @test_count, align 4, !tbaa !5
  %7626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  %7628 = call ptr @s2n_strerror(i32 noundef %7627, ptr noundef @.str.4)
  %7629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  %7631 = call ptr @s2n_strerror_debug(i32 noundef %7630, ptr noundef @.str.4)
  %7632 = call ptr @__errno_location() #12
  %7633 = load i32, ptr %7632, align 4, !tbaa !5
  %7634 = call ptr @strerror(i32 noundef %7633) #11
  %7635 = call ptr @__errno_location() #12
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7624, ptr noundef @.str.2, i32 noundef %7625, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 458, ptr noundef %7628, ptr noundef %7631, ptr noundef %7634, i32 noundef %7636) #11
  br label %7655

7638:                                             ; preds = %7616, %7609
  %7639 = load i32, ptr %217, align 4, !tbaa !5
  %7640 = call ptr @__errno_location() #12
  store i32 %7639, ptr %7640, align 4, !tbaa !5
  %7641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7642 = load i32, ptr @test_count, align 4, !tbaa !5
  %7643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @s2n_strerror(i32 noundef %7644, ptr noundef @.str.4)
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror_debug(i32 noundef %7647, ptr noundef @.str.4)
  %7649 = call ptr @__errno_location() #12
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @strerror(i32 noundef %7650) #11
  %7652 = call ptr @__errno_location() #12
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7641, ptr noundef @.str.5, i32 noundef %7642, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 458, ptr noundef %7645, ptr noundef %7648, ptr noundef %7651, i32 noundef %7653) #11
  br label %7655

7655:                                             ; preds = %7638, %7621
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %7656

7656:                                             ; preds = %7655
  br label %7657

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

7658:                                             ; No predecessors!
  br label %7659

7659:                                             ; preds = %7658
  br label %7660

7660:                                             ; preds = %7659, %7602
  br label %7661

7661:                                             ; preds = %7660
  br label %7662

7662:                                             ; preds = %7661
  br label %7663

7663:                                             ; preds = %7662
  %7664 = load i32, ptr %215, align 4, !tbaa !5
  %7665 = icmp ne i32 %7664, 0
  br i1 %7665, label %7666, label %7732

7666:                                             ; preds = %7663
  br label %7667

7667:                                             ; preds = %7666
  %7668 = load i32, ptr @test_count, align 4, !tbaa !5
  %7669 = add nsw i32 %7668, 1
  store i32 %7669, ptr @test_count, align 4, !tbaa !5
  %7670 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %7671 = getelementptr inbounds [100 x i8], ptr %214, i64 0, i64 0
  %7672 = load i32, ptr %215, align 4, !tbaa !5
  %7673 = sext i32 %7672 to i64
  %7674 = call i32 @memcmp(ptr noundef %7670, ptr noundef %7671, i64 noundef %7673) #14
  %7675 = icmp eq i32 %7674, 0
  br i1 %7675, label %7729, label %7676

7676:                                             ; preds = %7667
  br label %7677

7677:                                             ; preds = %7676
  br label %7678

7678:                                             ; preds = %7677
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %7679 = call ptr @__errno_location() #12
  %7680 = load i32, ptr %7679, align 4, !tbaa !5
  store i32 %7680, ptr %218, align 4, !tbaa !5
  %7681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7682 = call i32 @s2n_print_stacktrace(ptr noundef %7681)
  %7683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7684 = trunc i8 %7683 to i1
  br i1 %7684, label %7685, label %7707

7685:                                             ; preds = %7678
  %7686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7687 = call i32 @fileno(ptr noundef %7686) #11
  %7688 = call i32 @isatty(i32 noundef %7687) #11
  %7689 = icmp ne i32 %7688, 0
  br i1 %7689, label %7690, label %7707

7690:                                             ; preds = %7685
  %7691 = load i32, ptr %218, align 4, !tbaa !5
  %7692 = call ptr @__errno_location() #12
  store i32 %7691, ptr %7692, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = load i32, ptr @test_count, align 4, !tbaa !5
  %7695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7696 = load i32, ptr %7695, align 4, !tbaa !5
  %7697 = call ptr @s2n_strerror(i32 noundef %7696, ptr noundef @.str.4)
  %7698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call ptr @s2n_strerror_debug(i32 noundef %7699, ptr noundef @.str.4)
  %7701 = call ptr @__errno_location() #12
  %7702 = load i32, ptr %7701, align 4, !tbaa !5
  %7703 = call ptr @strerror(i32 noundef %7702) #11
  %7704 = call ptr @__errno_location() #12
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7693, ptr noundef @.str.2, i32 noundef %7694, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 460, ptr noundef %7697, ptr noundef %7700, ptr noundef %7703, i32 noundef %7705) #11
  br label %7724

7707:                                             ; preds = %7685, %7678
  %7708 = load i32, ptr %218, align 4, !tbaa !5
  %7709 = call ptr @__errno_location() #12
  store i32 %7708, ptr %7709, align 4, !tbaa !5
  %7710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7711 = load i32, ptr @test_count, align 4, !tbaa !5
  %7712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7713 = load i32, ptr %7712, align 4, !tbaa !5
  %7714 = call ptr @s2n_strerror(i32 noundef %7713, ptr noundef @.str.4)
  %7715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7716 = load i32, ptr %7715, align 4, !tbaa !5
  %7717 = call ptr @s2n_strerror_debug(i32 noundef %7716, ptr noundef @.str.4)
  %7718 = call ptr @__errno_location() #12
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  %7720 = call ptr @strerror(i32 noundef %7719) #11
  %7721 = call ptr @__errno_location() #12
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7710, ptr noundef @.str.5, i32 noundef %7711, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 460, ptr noundef %7714, ptr noundef %7717, ptr noundef %7720, i32 noundef %7722) #11
  br label %7724

7724:                                             ; preds = %7707, %7690
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %7725

7725:                                             ; preds = %7724
  br label %7726

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

7727:                                             ; No predecessors!
  br label %7728

7728:                                             ; preds = %7727
  br label %7729

7729:                                             ; preds = %7728, %7667
  br label %7730

7730:                                             ; preds = %7729
  br label %7731

7731:                                             ; preds = %7730
  br label %7732

7732:                                             ; preds = %7731, %7663
  br label %7733

7733:                                             ; preds = %7732
  br label %7734

7734:                                             ; preds = %7733
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %214) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %7735

7735:                                             ; preds = %7734
  %7736 = load i64, ptr %208, align 8, !tbaa !15
  %7737 = add i64 %7736, 1
  store i64 %7737, ptr %208, align 8, !tbaa !15
  br label %7338, !llvm.loop !56

7738:                                             ; preds = %7341
  call void @llvm.lifetime.end.p0(i64 24, ptr %206) #11
  call void @llvm.lifetime.end.p0(i64 14, ptr %205) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #11
  br label %7739

7739:                                             ; preds = %7738
  %7740 = load i32, ptr @test_count, align 4, !tbaa !5
  %7741 = add nsw i32 %7740, 1
  store i32 %7741, ptr @test_count, align 4, !tbaa !5
  %7742 = load ptr, ptr %200, align 8, !tbaa !9
  %7743 = call i32 @s2n_connection_set_blinding(ptr noundef %7742, i32 noundef 1)
  %7744 = icmp eq i32 %7743, -1
  br i1 %7744, label %7745, label %7798

7745:                                             ; preds = %7739
  br label %7746

7746:                                             ; preds = %7745
  br label %7747

7747:                                             ; preds = %7746
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  store i32 %7749, ptr %219, align 4, !tbaa !5
  %7750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7751 = call i32 @s2n_print_stacktrace(ptr noundef %7750)
  %7752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7753 = trunc i8 %7752 to i1
  br i1 %7753, label %7754, label %7776

7754:                                             ; preds = %7747
  %7755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7756 = call i32 @fileno(ptr noundef %7755) #11
  %7757 = call i32 @isatty(i32 noundef %7756) #11
  %7758 = icmp ne i32 %7757, 0
  br i1 %7758, label %7759, label %7776

7759:                                             ; preds = %7754
  %7760 = load i32, ptr %219, align 4, !tbaa !5
  %7761 = call ptr @__errno_location() #12
  store i32 %7760, ptr %7761, align 4, !tbaa !5
  %7762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7765 = load i32, ptr %7764, align 4, !tbaa !5
  %7766 = call ptr @s2n_strerror(i32 noundef %7765, ptr noundef @.str.4)
  %7767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7768 = load i32, ptr %7767, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror_debug(i32 noundef %7768, ptr noundef @.str.4)
  %7770 = call ptr @__errno_location() #12
  %7771 = load i32, ptr %7770, align 4, !tbaa !5
  %7772 = call ptr @strerror(i32 noundef %7771) #11
  %7773 = call ptr @__errno_location() #12
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  %7775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7762, ptr noundef @.str.2, i32 noundef %7763, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 466, ptr noundef %7766, ptr noundef %7769, ptr noundef %7772, i32 noundef %7774) #11
  br label %7793

7776:                                             ; preds = %7754, %7747
  %7777 = load i32, ptr %219, align 4, !tbaa !5
  %7778 = call ptr @__errno_location() #12
  store i32 %7777, ptr %7778, align 4, !tbaa !5
  %7779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7780 = load i32, ptr @test_count, align 4, !tbaa !5
  %7781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7782 = load i32, ptr %7781, align 4, !tbaa !5
  %7783 = call ptr @s2n_strerror(i32 noundef %7782, ptr noundef @.str.4)
  %7784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7785 = load i32, ptr %7784, align 4, !tbaa !5
  %7786 = call ptr @s2n_strerror_debug(i32 noundef %7785, ptr noundef @.str.4)
  %7787 = call ptr @__errno_location() #12
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @strerror(i32 noundef %7788) #11
  %7790 = call ptr @__errno_location() #12
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7779, ptr noundef @.str.5, i32 noundef %7780, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 466, ptr noundef %7783, ptr noundef %7786, ptr noundef %7789, i32 noundef %7791) #11
  br label %7793

7793:                                             ; preds = %7776, %7759
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %7794

7794:                                             ; preds = %7793
  br label %7795

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

7796:                                             ; No predecessors!
  br label %7797

7797:                                             ; preds = %7796
  br label %7798

7798:                                             ; preds = %7797, %7739
  br label %7799

7799:                                             ; preds = %7798
  br label %7800

7800:                                             ; preds = %7799
  %7801 = load ptr, ptr %201, align 8, !tbaa !9
  %7802 = getelementptr inbounds %struct.s2n_connection, ptr %7801, i32 0, i32 94
  call void @s2n_atomic_flag_set(ptr noundef %7802)
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %7803 = load ptr, ptr %201, align 8, !tbaa !9
  %7804 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %7805 = call i64 @s2n_send(ptr noundef %7803, ptr noundef %7804, i64 noundef 100, ptr noundef %203)
  %7806 = trunc i64 %7805 to i32
  store i32 %7806, ptr %220, align 4, !tbaa !5
  br label %7807

7807:                                             ; preds = %7800
  %7808 = load i32, ptr @test_count, align 4, !tbaa !5
  %7809 = add nsw i32 %7808, 1
  store i32 %7809, ptr @test_count, align 4, !tbaa !5
  %7810 = load i32, ptr %220, align 4, !tbaa !5
  %7811 = sext i32 %7810 to i64
  %7812 = icmp eq i64 %7811, 100
  br i1 %7812, label %7866, label %7813

7813:                                             ; preds = %7807
  br label %7814

7814:                                             ; preds = %7813
  br label %7815

7815:                                             ; preds = %7814
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %7816 = call ptr @__errno_location() #12
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  store i32 %7817, ptr %221, align 4, !tbaa !5
  %7818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7819 = call i32 @s2n_print_stacktrace(ptr noundef %7818)
  %7820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7821 = trunc i8 %7820 to i1
  br i1 %7821, label %7822, label %7844

7822:                                             ; preds = %7815
  %7823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7824 = call i32 @fileno(ptr noundef %7823) #11
  %7825 = call i32 @isatty(i32 noundef %7824) #11
  %7826 = icmp ne i32 %7825, 0
  br i1 %7826, label %7827, label %7844

7827:                                             ; preds = %7822
  %7828 = load i32, ptr %221, align 4, !tbaa !5
  %7829 = call ptr @__errno_location() #12
  store i32 %7828, ptr %7829, align 4, !tbaa !5
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = load i32, ptr @test_count, align 4, !tbaa !5
  %7832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7833 = load i32, ptr %7832, align 4, !tbaa !5
  %7834 = call ptr @s2n_strerror(i32 noundef %7833, ptr noundef @.str.4)
  %7835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7836 = load i32, ptr %7835, align 4, !tbaa !5
  %7837 = call ptr @s2n_strerror_debug(i32 noundef %7836, ptr noundef @.str.4)
  %7838 = call ptr @__errno_location() #12
  %7839 = load i32, ptr %7838, align 4, !tbaa !5
  %7840 = call ptr @strerror(i32 noundef %7839) #11
  %7841 = call ptr @__errno_location() #12
  %7842 = load i32, ptr %7841, align 4, !tbaa !5
  %7843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7830, ptr noundef @.str.2, i32 noundef %7831, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 471, ptr noundef %7834, ptr noundef %7837, ptr noundef %7840, i32 noundef %7842) #11
  br label %7861

7844:                                             ; preds = %7822, %7815
  %7845 = load i32, ptr %221, align 4, !tbaa !5
  %7846 = call ptr @__errno_location() #12
  store i32 %7845, ptr %7846, align 4, !tbaa !5
  %7847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7848 = load i32, ptr @test_count, align 4, !tbaa !5
  %7849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7850 = load i32, ptr %7849, align 4, !tbaa !5
  %7851 = call ptr @s2n_strerror(i32 noundef %7850, ptr noundef @.str.4)
  %7852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  %7854 = call ptr @s2n_strerror_debug(i32 noundef %7853, ptr noundef @.str.4)
  %7855 = call ptr @__errno_location() #12
  %7856 = load i32, ptr %7855, align 4, !tbaa !5
  %7857 = call ptr @strerror(i32 noundef %7856) #11
  %7858 = call ptr @__errno_location() #12
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7847, ptr noundef @.str.5, i32 noundef %7848, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 471, ptr noundef %7851, ptr noundef %7854, ptr noundef %7857, i32 noundef %7859) #11
  br label %7861

7861:                                             ; preds = %7844, %7827
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %7862

7862:                                             ; preds = %7861
  br label %7863

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

7864:                                             ; No predecessors!
  br label %7865

7865:                                             ; preds = %7864
  br label %7866

7866:                                             ; preds = %7865, %7807
  br label %7867

7867:                                             ; preds = %7866
  br label %7868

7868:                                             ; preds = %7867
  call void @llvm.lifetime.start.p0(i64 100, ptr %222) #11
  call void @llvm.memset.p0.i64(ptr align 16 %222, i8 0, i64 100, i1 false)
  br label %7869

7869:                                             ; preds = %7868
  br label %7870

7870:                                             ; preds = %7869
  br label %7871

7871:                                             ; preds = %7870
  %7872 = load i32, ptr @test_count, align 4, !tbaa !5
  %7873 = add nsw i32 %7872, 1
  store i32 %7873, ptr @test_count, align 4, !tbaa !5
  %7874 = load ptr, ptr %200, align 8, !tbaa !9
  %7875 = getelementptr inbounds [100 x i8], ptr %222, i64 0, i64 0
  %7876 = call i64 @s2n_recv(ptr noundef %7874, ptr noundef %7875, i64 noundef 100, ptr noundef %203)
  %7877 = icmp eq i64 %7876, -1
  br i1 %7877, label %7931, label %7878

7878:                                             ; preds = %7871
  br label %7879

7879:                                             ; preds = %7878
  br label %7880

7880:                                             ; preds = %7879
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %7881 = call ptr @__errno_location() #12
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  store i32 %7882, ptr %223, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = call i32 @s2n_print_stacktrace(ptr noundef %7883)
  %7885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7886 = trunc i8 %7885 to i1
  br i1 %7886, label %7887, label %7909

7887:                                             ; preds = %7880
  %7888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7889 = call i32 @fileno(ptr noundef %7888) #11
  %7890 = call i32 @isatty(i32 noundef %7889) #11
  %7891 = icmp ne i32 %7890, 0
  br i1 %7891, label %7892, label %7909

7892:                                             ; preds = %7887
  %7893 = load i32, ptr %223, align 4, !tbaa !5
  %7894 = call ptr @__errno_location() #12
  store i32 %7893, ptr %7894, align 4, !tbaa !5
  %7895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  %7899 = call ptr @s2n_strerror(i32 noundef %7898, ptr noundef @.str.4)
  %7900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7901 = load i32, ptr %7900, align 4, !tbaa !5
  %7902 = call ptr @s2n_strerror_debug(i32 noundef %7901, ptr noundef @.str.4)
  %7903 = call ptr @__errno_location() #12
  %7904 = load i32, ptr %7903, align 4, !tbaa !5
  %7905 = call ptr @strerror(i32 noundef %7904) #11
  %7906 = call ptr @__errno_location() #12
  %7907 = load i32, ptr %7906, align 4, !tbaa !5
  %7908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7895, ptr noundef @.str.2, i32 noundef %7896, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 477, ptr noundef %7899, ptr noundef %7902, ptr noundef %7905, i32 noundef %7907) #11
  br label %7926

7909:                                             ; preds = %7887, %7880
  %7910 = load i32, ptr %223, align 4, !tbaa !5
  %7911 = call ptr @__errno_location() #12
  store i32 %7910, ptr %7911, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = load i32, ptr @test_count, align 4, !tbaa !5
  %7914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @s2n_strerror(i32 noundef %7915, ptr noundef @.str.4)
  %7917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call ptr @s2n_strerror_debug(i32 noundef %7918, ptr noundef @.str.4)
  %7920 = call ptr @__errno_location() #12
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call ptr @strerror(i32 noundef %7921) #11
  %7923 = call ptr @__errno_location() #12
  %7924 = load i32, ptr %7923, align 4, !tbaa !5
  %7925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7912, ptr noundef @.str.5, i32 noundef %7913, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 477, ptr noundef %7916, ptr noundef %7919, ptr noundef %7922, i32 noundef %7924) #11
  br label %7926

7926:                                             ; preds = %7909, %7892
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %7927

7927:                                             ; preds = %7926
  br label %7928

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

7929:                                             ; No predecessors!
  br label %7930

7930:                                             ; preds = %7929
  br label %7931

7931:                                             ; preds = %7930, %7871
  br label %7932

7932:                                             ; preds = %7931
  br label %7933

7933:                                             ; preds = %7932
  br label %7934

7934:                                             ; preds = %7933
  %7935 = load i32, ptr @test_count, align 4, !tbaa !5
  %7936 = add nsw i32 %7935, 1
  store i32 %7936, ptr @test_count, align 4, !tbaa !5
  %7937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = icmp eq i32 %7938, 335544399
  br i1 %7939, label %7993, label %7940

7940:                                             ; preds = %7934
  br label %7941

7941:                                             ; preds = %7940
  br label %7942

7942:                                             ; preds = %7941
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %7943 = call ptr @__errno_location() #12
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  store i32 %7944, ptr %224, align 4, !tbaa !5
  %7945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7946 = call i32 @s2n_print_stacktrace(ptr noundef %7945)
  %7947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7948 = trunc i8 %7947 to i1
  br i1 %7948, label %7949, label %7971

7949:                                             ; preds = %7942
  %7950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7951 = call i32 @fileno(ptr noundef %7950) #11
  %7952 = call i32 @isatty(i32 noundef %7951) #11
  %7953 = icmp ne i32 %7952, 0
  br i1 %7953, label %7954, label %7971

7954:                                             ; preds = %7949
  %7955 = load i32, ptr %224, align 4, !tbaa !5
  %7956 = call ptr @__errno_location() #12
  store i32 %7955, ptr %7956, align 4, !tbaa !5
  %7957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7958 = load i32, ptr @test_count, align 4, !tbaa !5
  %7959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror(i32 noundef %7960, ptr noundef @.str.4)
  %7962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7963 = load i32, ptr %7962, align 4, !tbaa !5
  %7964 = call ptr @s2n_strerror_debug(i32 noundef %7963, ptr noundef @.str.4)
  %7965 = call ptr @__errno_location() #12
  %7966 = load i32, ptr %7965, align 4, !tbaa !5
  %7967 = call ptr @strerror(i32 noundef %7966) #11
  %7968 = call ptr @__errno_location() #12
  %7969 = load i32, ptr %7968, align 4, !tbaa !5
  %7970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7957, ptr noundef @.str.2, i32 noundef %7958, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 477, ptr noundef %7961, ptr noundef %7964, ptr noundef %7967, i32 noundef %7969) #11
  br label %7988

7971:                                             ; preds = %7949, %7942
  %7972 = load i32, ptr %224, align 4, !tbaa !5
  %7973 = call ptr @__errno_location() #12
  store i32 %7972, ptr %7973, align 4, !tbaa !5
  %7974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7977 = load i32, ptr %7976, align 4, !tbaa !5
  %7978 = call ptr @s2n_strerror(i32 noundef %7977, ptr noundef @.str.4)
  %7979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @s2n_strerror_debug(i32 noundef %7980, ptr noundef @.str.4)
  %7982 = call ptr @__errno_location() #12
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call ptr @strerror(i32 noundef %7983) #11
  %7985 = call ptr @__errno_location() #12
  %7986 = load i32, ptr %7985, align 4, !tbaa !5
  %7987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7974, ptr noundef @.str.5, i32 noundef %7975, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 477, ptr noundef %7978, ptr noundef %7981, ptr noundef %7984, i32 noundef %7986) #11
  br label %7988

7988:                                             ; preds = %7971, %7954
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %7989

7989:                                             ; preds = %7988
  br label %7990

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

7991:                                             ; No predecessors!
  br label %7992

7992:                                             ; preds = %7991
  br label %7993

7993:                                             ; preds = %7992, %7934
  br label %7994

7994:                                             ; preds = %7993
  br label %7995

7995:                                             ; preds = %7994
  br label %7996

7996:                                             ; preds = %7995
  %7997 = load i32, ptr @test_count, align 4, !tbaa !5
  %7998 = add nsw i32 %7997, 1
  store i32 %7998, 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_debug(i32 noundef %8000, ptr noundef @.str.4)
  %8002 = icmp eq ptr %8001, null
  br i1 %8002, label %8003, label %8056

8003:                                             ; preds = %7996
  br label %8004

8004:                                             ; preds = %8003
  br label %8005

8005:                                             ; preds = %8004
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %8006 = call ptr @__errno_location() #12
  %8007 = load i32, ptr %8006, align 4, !tbaa !5
  store i32 %8007, ptr %225, align 4, !tbaa !5
  %8008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8009 = call i32 @s2n_print_stacktrace(ptr noundef %8008)
  %8010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8011 = trunc i8 %8010 to i1
  br i1 %8011, label %8012, label %8034

8012:                                             ; preds = %8005
  %8013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8014 = call i32 @fileno(ptr noundef %8013) #11
  %8015 = call i32 @isatty(i32 noundef %8014) #11
  %8016 = icmp ne i32 %8015, 0
  br i1 %8016, label %8017, label %8034

8017:                                             ; preds = %8012
  %8018 = load i32, ptr %225, align 4, !tbaa !5
  %8019 = call ptr @__errno_location() #12
  store i32 %8018, ptr %8019, align 4, !tbaa !5
  %8020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8021 = load i32, ptr @test_count, align 4, !tbaa !5
  %8022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror(i32 noundef %8023, ptr noundef @.str.4)
  %8025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call ptr @s2n_strerror_debug(i32 noundef %8026, ptr noundef @.str.4)
  %8028 = call ptr @__errno_location() #12
  %8029 = load i32, ptr %8028, align 4, !tbaa !5
  %8030 = call ptr @strerror(i32 noundef %8029) #11
  %8031 = call ptr @__errno_location() #12
  %8032 = load i32, ptr %8031, align 4, !tbaa !5
  %8033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8020, ptr noundef @.str.2, i32 noundef %8021, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 477, ptr noundef %8024, ptr noundef %8027, ptr noundef %8030, i32 noundef %8032) #11
  br label %8051

8034:                                             ; preds = %8012, %8005
  %8035 = load i32, ptr %225, align 4, !tbaa !5
  %8036 = call ptr @__errno_location() #12
  store i32 %8035, ptr %8036, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = load i32, ptr @test_count, align 4, !tbaa !5
  %8039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call ptr @s2n_strerror(i32 noundef %8040, ptr noundef @.str.4)
  %8042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8043 = load i32, ptr %8042, align 4, !tbaa !5
  %8044 = call ptr @s2n_strerror_debug(i32 noundef %8043, ptr noundef @.str.4)
  %8045 = call ptr @__errno_location() #12
  %8046 = load i32, ptr %8045, align 4, !tbaa !5
  %8047 = call ptr @strerror(i32 noundef %8046) #11
  %8048 = call ptr @__errno_location() #12
  %8049 = load i32, ptr %8048, align 4, !tbaa !5
  %8050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8037, ptr noundef @.str.5, i32 noundef %8038, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 477, ptr noundef %8041, ptr noundef %8044, ptr noundef %8047, i32 noundef %8049) #11
  br label %8051

8051:                                             ; preds = %8034, %8017
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %8052

8052:                                             ; preds = %8051
  br label %8053

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

8054:                                             ; No predecessors!
  br label %8055

8055:                                             ; preds = %8054
  br label %8056

8056:                                             ; preds = %8055, %7996
  br label %8057

8057:                                             ; preds = %8056
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

8059:                                             ; preds = %8058
  br label %8060

8060:                                             ; preds = %8059
  br label %8061

8061:                                             ; preds = %8060
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8062, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8063 = call ptr @__errno_location() #12
  store i32 0, ptr %8063, align 4, !tbaa !5
  br label %8064

8064:                                             ; preds = %8061
  br label %8065

8065:                                             ; preds = %8064
  br label %8066

8066:                                             ; preds = %8065
  br label %8067

8067:                                             ; preds = %8066
  call void @llvm.lifetime.end.p0(i64 100, ptr %222) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #11
  %8068 = call i32 @s2n_io_pair_close(ptr noundef %193)
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  %8069 = call i32 @s2n_connection_ptr_free(ptr noundef %189)
  %8070 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %8069, ptr %8070, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #11
  %8071 = call i32 @s2n_connection_ptr_free(ptr noundef %185)
  %8072 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %8071, ptr %8072, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #11
  br label %8073

8073:                                             ; preds = %8067, %6577, %6574
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #11
  store i64 0, ptr %228, align 8, !tbaa !15
  br label %8074

8074:                                             ; preds = %10627, %8073
  %8075 = load i64, ptr %228, align 8, !tbaa !15
  %8076 = icmp ult i64 %8075, 2
  br i1 %8076, label %8078, label %8077

8077:                                             ; preds = %8074
  store i32 769, ptr %12, align 4
  br label %10630

8078:                                             ; preds = %8074
  %8079 = load i8, ptr %32, align 1, !tbaa !11, !range !13, !noundef !14
  %8080 = trunc i8 %8079 to i1
  br i1 %8080, label %8082, label %8081

8081:                                             ; preds = %8078
  store i32 769, ptr %12, align 4
  br label %10630

8082:                                             ; preds = %8078
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %8083 = load i64, ptr %228, align 8, !tbaa !15
  %8084 = getelementptr inbounds [2 x i32], ptr %13, i64 0, i64 %8083
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  store i32 %8085, ptr %229, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #11
  %8086 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8086, ptr %230, align 8, !tbaa !9
  br label %8087

8087:                                             ; preds = %8082
  %8088 = load i32, ptr @test_count, align 4, !tbaa !5
  %8089 = add nsw i32 %8088, 1
  store i32 %8089, ptr @test_count, align 4, !tbaa !5
  %8090 = load ptr, ptr %230, align 8, !tbaa !9
  %8091 = icmp eq ptr %8090, null
  br i1 %8091, label %8092, label %8145

8092:                                             ; preds = %8087
  br label %8093

8093:                                             ; preds = %8092
  br label %8094

8094:                                             ; preds = %8093
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %8095 = call ptr @__errno_location() #12
  %8096 = load i32, ptr %8095, align 4, !tbaa !5
  store i32 %8096, ptr %231, align 4, !tbaa !5
  %8097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8098 = call i32 @s2n_print_stacktrace(ptr noundef %8097)
  %8099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8100 = trunc i8 %8099 to i1
  br i1 %8100, label %8101, label %8123

8101:                                             ; preds = %8094
  %8102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8103 = call i32 @fileno(ptr noundef %8102) #11
  %8104 = call i32 @isatty(i32 noundef %8103) #11
  %8105 = icmp ne i32 %8104, 0
  br i1 %8105, label %8106, label %8123

8106:                                             ; preds = %8101
  %8107 = load i32, ptr %231, align 4, !tbaa !5
  %8108 = call ptr @__errno_location() #12
  store i32 %8107, ptr %8108, align 4, !tbaa !5
  %8109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8110 = load i32, ptr @test_count, align 4, !tbaa !5
  %8111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8112 = load i32, ptr %8111, align 4, !tbaa !5
  %8113 = call ptr @s2n_strerror(i32 noundef %8112, ptr noundef @.str.4)
  %8114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8115 = load i32, ptr %8114, align 4, !tbaa !5
  %8116 = call ptr @s2n_strerror_debug(i32 noundef %8115, ptr noundef @.str.4)
  %8117 = call ptr @__errno_location() #12
  %8118 = load i32, ptr %8117, align 4, !tbaa !5
  %8119 = call ptr @strerror(i32 noundef %8118) #11
  %8120 = call ptr @__errno_location() #12
  %8121 = load i32, ptr %8120, align 4, !tbaa !5
  %8122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8109, ptr noundef @.str.2, i32 noundef %8110, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 500, ptr noundef %8113, ptr noundef %8116, ptr noundef %8119, i32 noundef %8121) #11
  br label %8140

8123:                                             ; preds = %8101, %8094
  %8124 = load i32, ptr %231, align 4, !tbaa !5
  %8125 = call ptr @__errno_location() #12
  store i32 %8124, ptr %8125, align 4, !tbaa !5
  %8126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8127 = load i32, ptr @test_count, align 4, !tbaa !5
  %8128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8129 = load i32, ptr %8128, align 4, !tbaa !5
  %8130 = call ptr @s2n_strerror(i32 noundef %8129, ptr noundef @.str.4)
  %8131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8132 = load i32, ptr %8131, align 4, !tbaa !5
  %8133 = call ptr @s2n_strerror_debug(i32 noundef %8132, ptr noundef @.str.4)
  %8134 = call ptr @__errno_location() #12
  %8135 = load i32, ptr %8134, align 4, !tbaa !5
  %8136 = call ptr @strerror(i32 noundef %8135) #11
  %8137 = call ptr @__errno_location() #12
  %8138 = load i32, ptr %8137, align 4, !tbaa !5
  %8139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8126, ptr noundef @.str.5, i32 noundef %8127, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 500, ptr noundef %8130, ptr noundef %8133, ptr noundef %8136, i32 noundef %8138) #11
  br label %8140

8140:                                             ; preds = %8123, %8106
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %8141

8141:                                             ; preds = %8140
  br label %8142

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

8143:                                             ; No predecessors!
  br label %8144

8144:                                             ; preds = %8143
  br label %8145

8145:                                             ; preds = %8144, %8087
  br label %8146

8146:                                             ; preds = %8145
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147
  %8149 = load i32, ptr @test_count, align 4, !tbaa !5
  %8150 = add nsw i32 %8149, 1
  store i32 %8150, ptr @test_count, align 4, !tbaa !5
  %8151 = load ptr, ptr %230, align 8, !tbaa !9
  %8152 = load ptr, ptr %26, align 8, !tbaa !9
  %8153 = call i32 @s2n_connection_set_config(ptr noundef %8151, ptr noundef %8152)
  %8154 = icmp eq i32 %8153, -1
  br i1 %8154, label %8155, label %8208

8155:                                             ; preds = %8148
  br label %8156

8156:                                             ; preds = %8155
  br label %8157

8157:                                             ; preds = %8156
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %8158 = call ptr @__errno_location() #12
  %8159 = load i32, ptr %8158, align 4, !tbaa !5
  store i32 %8159, ptr %232, align 4, !tbaa !5
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = call i32 @s2n_print_stacktrace(ptr noundef %8160)
  %8162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8163 = trunc i8 %8162 to i1
  br i1 %8163, label %8164, label %8186

8164:                                             ; preds = %8157
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = call i32 @fileno(ptr noundef %8165) #11
  %8167 = call i32 @isatty(i32 noundef %8166) #11
  %8168 = icmp ne i32 %8167, 0
  br i1 %8168, label %8169, label %8186

8169:                                             ; preds = %8164
  %8170 = load i32, ptr %232, align 4, !tbaa !5
  %8171 = call ptr @__errno_location() #12
  store i32 %8170, ptr %8171, align 4, !tbaa !5
  %8172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef @.str.4)
  %8177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call ptr @s2n_strerror_debug(i32 noundef %8178, ptr noundef @.str.4)
  %8180 = call ptr @__errno_location() #12
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call ptr @strerror(i32 noundef %8181) #11
  %8183 = call ptr @__errno_location() #12
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8172, ptr noundef @.str.2, i32 noundef %8173, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 501, ptr noundef %8176, ptr noundef %8179, ptr noundef %8182, i32 noundef %8184) #11
  br label %8203

8186:                                             ; preds = %8164, %8157
  %8187 = load i32, ptr %232, align 4, !tbaa !5
  %8188 = call ptr @__errno_location() #12
  store i32 %8187, ptr %8188, align 4, !tbaa !5
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = load i32, ptr @test_count, align 4, !tbaa !5
  %8191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8192 = load i32, ptr %8191, align 4, !tbaa !5
  %8193 = call ptr @s2n_strerror(i32 noundef %8192, ptr noundef @.str.4)
  %8194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8195 = load i32, ptr %8194, align 4, !tbaa !5
  %8196 = call ptr @s2n_strerror_debug(i32 noundef %8195, ptr noundef @.str.4)
  %8197 = call ptr @__errno_location() #12
  %8198 = load i32, ptr %8197, align 4, !tbaa !5
  %8199 = call ptr @strerror(i32 noundef %8198) #11
  %8200 = call ptr @__errno_location() #12
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8189, ptr noundef @.str.5, i32 noundef %8190, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 501, ptr noundef %8193, ptr noundef %8196, ptr noundef %8199, i32 noundef %8201) #11
  br label %8203

8203:                                             ; preds = %8186, %8169
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

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

8206:                                             ; No predecessors!
  br label %8207

8207:                                             ; preds = %8206
  br label %8208

8208:                                             ; preds = %8207, %8148
  br label %8209

8209:                                             ; preds = %8208
  br label %8210

8210:                                             ; preds = %8209
  br label %8211

8211:                                             ; preds = %8210
  %8212 = load i32, ptr @test_count, align 4, !tbaa !5
  %8213 = add nsw i32 %8212, 1
  store i32 %8213, ptr @test_count, align 4, !tbaa !5
  %8214 = load ptr, ptr %230, align 8, !tbaa !9
  %8215 = call i32 @s2n_connection_set_blinding(ptr noundef %8214, i32 noundef 1)
  %8216 = icmp eq i32 %8215, -1
  br i1 %8216, label %8217, label %8270

8217:                                             ; preds = %8211
  br label %8218

8218:                                             ; preds = %8217
  br label %8219

8219:                                             ; preds = %8218
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %8220 = call ptr @__errno_location() #12
  %8221 = load i32, ptr %8220, align 4, !tbaa !5
  store i32 %8221, ptr %233, align 4, !tbaa !5
  %8222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8223 = call i32 @s2n_print_stacktrace(ptr noundef %8222)
  %8224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8225 = trunc i8 %8224 to i1
  br i1 %8225, label %8226, label %8248

8226:                                             ; preds = %8219
  %8227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8228 = call i32 @fileno(ptr noundef %8227) #11
  %8229 = call i32 @isatty(i32 noundef %8228) #11
  %8230 = icmp ne i32 %8229, 0
  br i1 %8230, label %8231, label %8248

8231:                                             ; preds = %8226
  %8232 = load i32, ptr %233, align 4, !tbaa !5
  %8233 = call ptr @__errno_location() #12
  store i32 %8232, ptr %8233, align 4, !tbaa !5
  %8234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8235 = load i32, ptr @test_count, align 4, !tbaa !5
  %8236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8237 = load i32, ptr %8236, align 4, !tbaa !5
  %8238 = call ptr @s2n_strerror(i32 noundef %8237, ptr noundef @.str.4)
  %8239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8240 = load i32, ptr %8239, align 4, !tbaa !5
  %8241 = call ptr @s2n_strerror_debug(i32 noundef %8240, ptr noundef @.str.4)
  %8242 = call ptr @__errno_location() #12
  %8243 = load i32, ptr %8242, align 4, !tbaa !5
  %8244 = call ptr @strerror(i32 noundef %8243) #11
  %8245 = call ptr @__errno_location() #12
  %8246 = load i32, ptr %8245, align 4, !tbaa !5
  %8247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8234, ptr noundef @.str.2, i32 noundef %8235, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 502, ptr noundef %8238, ptr noundef %8241, ptr noundef %8244, i32 noundef %8246) #11
  br label %8265

8248:                                             ; preds = %8226, %8219
  %8249 = load i32, ptr %233, align 4, !tbaa !5
  %8250 = call ptr @__errno_location() #12
  store i32 %8249, ptr %8250, align 4, !tbaa !5
  %8251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8252 = load i32, ptr @test_count, align 4, !tbaa !5
  %8253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @s2n_strerror(i32 noundef %8254, ptr noundef @.str.4)
  %8256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call ptr @s2n_strerror_debug(i32 noundef %8257, ptr noundef @.str.4)
  %8259 = call ptr @__errno_location() #12
  %8260 = load i32, ptr %8259, align 4, !tbaa !5
  %8261 = call ptr @strerror(i32 noundef %8260) #11
  %8262 = call ptr @__errno_location() #12
  %8263 = load i32, ptr %8262, align 4, !tbaa !5
  %8264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8251, ptr noundef @.str.5, i32 noundef %8252, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 502, ptr noundef %8255, ptr noundef %8258, ptr noundef %8261, i32 noundef %8263) #11
  br label %8265

8265:                                             ; preds = %8248, %8231
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %8266

8266:                                             ; preds = %8265
  br label %8267

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

8268:                                             ; No predecessors!
  br label %8269

8269:                                             ; preds = %8268
  br label %8270

8270:                                             ; preds = %8269, %8211
  br label %8271

8271:                                             ; preds = %8270
  br label %8272

8272:                                             ; preds = %8271
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #11
  %8273 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8273, ptr %234, align 8, !tbaa !9
  br label %8274

8274:                                             ; preds = %8272
  %8275 = load i32, ptr @test_count, align 4, !tbaa !5
  %8276 = add nsw i32 %8275, 1
  store i32 %8276, ptr @test_count, align 4, !tbaa !5
  %8277 = load ptr, ptr %234, align 8, !tbaa !9
  %8278 = icmp eq ptr %8277, null
  br i1 %8278, label %8279, label %8332

8279:                                             ; preds = %8274
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %8282 = call ptr @__errno_location() #12
  %8283 = load i32, ptr %8282, align 4, !tbaa !5
  store i32 %8283, ptr %235, align 4, !tbaa !5
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = call i32 @s2n_print_stacktrace(ptr noundef %8284)
  %8286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8287 = trunc i8 %8286 to i1
  br i1 %8287, label %8288, label %8310

8288:                                             ; preds = %8281
  %8289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8290 = call i32 @fileno(ptr noundef %8289) #11
  %8291 = call i32 @isatty(i32 noundef %8290) #11
  %8292 = icmp ne i32 %8291, 0
  br i1 %8292, label %8293, label %8310

8293:                                             ; preds = %8288
  %8294 = load i32, ptr %235, align 4, !tbaa !5
  %8295 = call ptr @__errno_location() #12
  store i32 %8294, ptr %8295, align 4, !tbaa !5
  %8296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8297 = load i32, ptr @test_count, align 4, !tbaa !5
  %8298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  %8300 = call ptr @s2n_strerror(i32 noundef %8299, ptr noundef @.str.4)
  %8301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8302 = load i32, ptr %8301, align 4, !tbaa !5
  %8303 = call ptr @s2n_strerror_debug(i32 noundef %8302, ptr noundef @.str.4)
  %8304 = call ptr @__errno_location() #12
  %8305 = load i32, ptr %8304, align 4, !tbaa !5
  %8306 = call ptr @strerror(i32 noundef %8305) #11
  %8307 = call ptr @__errno_location() #12
  %8308 = load i32, ptr %8307, align 4, !tbaa !5
  %8309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8296, ptr noundef @.str.2, i32 noundef %8297, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 506, ptr noundef %8300, ptr noundef %8303, ptr noundef %8306, i32 noundef %8308) #11
  br label %8327

8310:                                             ; preds = %8288, %8281
  %8311 = load i32, ptr %235, align 4, !tbaa !5
  %8312 = call ptr @__errno_location() #12
  store i32 %8311, ptr %8312, align 4, !tbaa !5
  %8313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8314 = load i32, ptr @test_count, align 4, !tbaa !5
  %8315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8316 = load i32, ptr %8315, align 4, !tbaa !5
  %8317 = call ptr @s2n_strerror(i32 noundef %8316, ptr noundef @.str.4)
  %8318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8319 = load i32, ptr %8318, align 4, !tbaa !5
  %8320 = call ptr @s2n_strerror_debug(i32 noundef %8319, ptr noundef @.str.4)
  %8321 = call ptr @__errno_location() #12
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  %8323 = call ptr @strerror(i32 noundef %8322) #11
  %8324 = call ptr @__errno_location() #12
  %8325 = load i32, ptr %8324, align 4, !tbaa !5
  %8326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8313, ptr noundef @.str.5, i32 noundef %8314, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 506, ptr noundef %8317, ptr noundef %8320, ptr noundef %8323, i32 noundef %8325) #11
  br label %8327

8327:                                             ; preds = %8310, %8293
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %8328

8328:                                             ; preds = %8327
  br label %8329

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

8330:                                             ; No predecessors!
  br label %8331

8331:                                             ; preds = %8330
  br label %8332

8332:                                             ; preds = %8331, %8274
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  br label %8335

8335:                                             ; preds = %8334
  %8336 = load i32, ptr @test_count, align 4, !tbaa !5
  %8337 = add nsw i32 %8336, 1
  store i32 %8337, ptr @test_count, align 4, !tbaa !5
  %8338 = load ptr, ptr %234, align 8, !tbaa !9
  %8339 = load ptr, ptr %26, align 8, !tbaa !9
  %8340 = call i32 @s2n_connection_set_config(ptr noundef %8338, ptr noundef %8339)
  %8341 = icmp eq i32 %8340, -1
  br i1 %8341, label %8342, label %8395

8342:                                             ; preds = %8335
  br label %8343

8343:                                             ; preds = %8342
  br label %8344

8344:                                             ; preds = %8343
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %8345 = call ptr @__errno_location() #12
  %8346 = load i32, ptr %8345, align 4, !tbaa !5
  store i32 %8346, ptr %236, align 4, !tbaa !5
  %8347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8348 = call i32 @s2n_print_stacktrace(ptr noundef %8347)
  %8349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8350 = trunc i8 %8349 to i1
  br i1 %8350, label %8351, label %8373

8351:                                             ; preds = %8344
  %8352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8353 = call i32 @fileno(ptr noundef %8352) #11
  %8354 = call i32 @isatty(i32 noundef %8353) #11
  %8355 = icmp ne i32 %8354, 0
  br i1 %8355, label %8356, label %8373

8356:                                             ; preds = %8351
  %8357 = load i32, ptr %236, align 4, !tbaa !5
  %8358 = call ptr @__errno_location() #12
  store i32 %8357, ptr %8358, align 4, !tbaa !5
  %8359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8360 = load i32, ptr @test_count, align 4, !tbaa !5
  %8361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8362 = load i32, ptr %8361, align 4, !tbaa !5
  %8363 = call ptr @s2n_strerror(i32 noundef %8362, ptr noundef @.str.4)
  %8364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  %8366 = call ptr @s2n_strerror_debug(i32 noundef %8365, ptr noundef @.str.4)
  %8367 = call ptr @__errno_location() #12
  %8368 = load i32, ptr %8367, align 4, !tbaa !5
  %8369 = call ptr @strerror(i32 noundef %8368) #11
  %8370 = call ptr @__errno_location() #12
  %8371 = load i32, ptr %8370, align 4, !tbaa !5
  %8372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8359, ptr noundef @.str.2, i32 noundef %8360, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 507, ptr noundef %8363, ptr noundef %8366, ptr noundef %8369, i32 noundef %8371) #11
  br label %8390

8373:                                             ; preds = %8351, %8344
  %8374 = load i32, ptr %236, align 4, !tbaa !5
  %8375 = call ptr @__errno_location() #12
  store i32 %8374, ptr %8375, align 4, !tbaa !5
  %8376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8377 = load i32, ptr @test_count, align 4, !tbaa !5
  %8378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8379 = load i32, ptr %8378, align 4, !tbaa !5
  %8380 = call ptr @s2n_strerror(i32 noundef %8379, ptr noundef @.str.4)
  %8381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror_debug(i32 noundef %8382, ptr noundef @.str.4)
  %8384 = call ptr @__errno_location() #12
  %8385 = load i32, ptr %8384, align 4, !tbaa !5
  %8386 = call ptr @strerror(i32 noundef %8385) #11
  %8387 = call ptr @__errno_location() #12
  %8388 = load i32, ptr %8387, align 4, !tbaa !5
  %8389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8376, ptr noundef @.str.5, i32 noundef %8377, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 507, ptr noundef %8380, ptr noundef %8383, ptr noundef %8386, i32 noundef %8388) #11
  br label %8390

8390:                                             ; preds = %8373, %8356
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %8391

8391:                                             ; preds = %8390
  br label %8392

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

8393:                                             ; No predecessors!
  br label %8394

8394:                                             ; preds = %8393
  br label %8395

8395:                                             ; preds = %8394, %8335
  br label %8396

8396:                                             ; preds = %8395
  br label %8397

8397:                                             ; preds = %8396
  br label %8398

8398:                                             ; preds = %8397
  %8399 = load i32, ptr @test_count, align 4, !tbaa !5
  %8400 = add nsw i32 %8399, 1
  store i32 %8400, ptr @test_count, align 4, !tbaa !5
  %8401 = load ptr, ptr %234, align 8, !tbaa !9
  %8402 = call i32 @s2n_connection_set_blinding(ptr noundef %8401, i32 noundef 1)
  %8403 = icmp eq i32 %8402, -1
  br i1 %8403, label %8404, label %8457

8404:                                             ; preds = %8398
  br label %8405

8405:                                             ; preds = %8404
  br label %8406

8406:                                             ; preds = %8405
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %8407 = call ptr @__errno_location() #12
  %8408 = load i32, ptr %8407, align 4, !tbaa !5
  store i32 %8408, ptr %237, align 4, !tbaa !5
  %8409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8410 = call i32 @s2n_print_stacktrace(ptr noundef %8409)
  %8411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8412 = trunc i8 %8411 to i1
  br i1 %8412, label %8413, label %8435

8413:                                             ; preds = %8406
  %8414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8415 = call i32 @fileno(ptr noundef %8414) #11
  %8416 = call i32 @isatty(i32 noundef %8415) #11
  %8417 = icmp ne i32 %8416, 0
  br i1 %8417, label %8418, label %8435

8418:                                             ; preds = %8413
  %8419 = load i32, ptr %237, 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.2, i32 noundef %8422, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 508, ptr noundef %8425, ptr noundef %8428, ptr noundef %8431, i32 noundef %8433) #11
  br label %8452

8435:                                             ; preds = %8413, %8406
  %8436 = load i32, ptr %237, align 4, !tbaa !5
  %8437 = call ptr @__errno_location() #12
  store i32 %8436, ptr %8437, align 4, !tbaa !5
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = load i32, ptr @test_count, align 4, !tbaa !5
  %8440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8441 = load i32, ptr %8440, align 4, !tbaa !5
  %8442 = call ptr @s2n_strerror(i32 noundef %8441, ptr noundef @.str.4)
  %8443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8444 = load i32, ptr %8443, align 4, !tbaa !5
  %8445 = call ptr @s2n_strerror_debug(i32 noundef %8444, ptr noundef @.str.4)
  %8446 = call ptr @__errno_location() #12
  %8447 = load i32, ptr %8446, align 4, !tbaa !5
  %8448 = call ptr @strerror(i32 noundef %8447) #11
  %8449 = call ptr @__errno_location() #12
  %8450 = load i32, ptr %8449, align 4, !tbaa !5
  %8451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8438, ptr noundef @.str.5, i32 noundef %8439, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 508, ptr noundef %8442, ptr noundef %8445, ptr noundef %8448, i32 noundef %8450) #11
  br label %8452

8452:                                             ; preds = %8435, %8418
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %8453

8453:                                             ; preds = %8452
  br label %8454

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

8455:                                             ; No predecessors!
  br label %8456

8456:                                             ; preds = %8455
  br label %8457

8457:                                             ; preds = %8456, %8398
  br label %8458

8458:                                             ; preds = %8457
  br label %8459

8459:                                             ; preds = %8458
  call void @llvm.lifetime.start.p0(i64 16, ptr %238) #11
  %8460 = load ptr, ptr %234, align 8, !tbaa !9
  store ptr %8460, ptr %238, align 8, !tbaa !9
  %8461 = getelementptr inbounds ptr, ptr %238, i64 1
  %8462 = load ptr, ptr %230, align 8, !tbaa !9
  store ptr %8462, ptr %8461, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #11
  %8463 = load i32, ptr %229, align 4, !tbaa !5
  %8464 = zext i32 %8463 to i64
  %8465 = getelementptr inbounds [2 x ptr], ptr %238, i64 0, i64 %8464
  %8466 = load ptr, ptr %8465, align 8, !tbaa !9
  store ptr %8466, ptr %239, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #11
  %8467 = load i32, ptr %229, align 4, !tbaa !5
  %8468 = add i32 %8467, 1
  %8469 = urem i32 %8468, 2
  %8470 = zext i32 %8469 to i64
  %8471 = getelementptr inbounds [2 x ptr], ptr %238, i64 0, i64 %8470
  %8472 = load ptr, ptr %8471, align 8, !tbaa !9
  store ptr %8472, ptr %240, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  store i32 0, ptr %241, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #11
  call void @llvm.memset.p0.i64(ptr align 4 %242, i8 0, i64 8, i1 false)
  br label %8473

8473:                                             ; preds = %8459
  %8474 = load i32, ptr @test_count, align 4, !tbaa !5
  %8475 = add nsw i32 %8474, 1
  store i32 %8475, ptr @test_count, align 4, !tbaa !5
  %8476 = call i32 @s2n_new_inet_socket_pair(ptr noundef %242)
  %8477 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  store i32 %8476, ptr %8477, align 4
  %8478 = getelementptr inbounds %struct.s2n_result, ptr %243, i32 0, i32 0
  %8479 = load i32, ptr %8478, align 4
  %8480 = call zeroext i1 @s2n_result_is_ok(i32 %8479)
  br i1 %8480, label %8534, label %8481

8481:                                             ; preds = %8473
  br label %8482

8482:                                             ; preds = %8481
  br label %8483

8483:                                             ; preds = %8482
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %8484 = call ptr @__errno_location() #12
  %8485 = load i32, ptr %8484, align 4, !tbaa !5
  store i32 %8485, ptr %244, align 4, !tbaa !5
  %8486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8487 = call i32 @s2n_print_stacktrace(ptr noundef %8486)
  %8488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8489 = trunc i8 %8488 to i1
  br i1 %8489, label %8490, label %8512

8490:                                             ; preds = %8483
  %8491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8492 = call i32 @fileno(ptr noundef %8491) #11
  %8493 = call i32 @isatty(i32 noundef %8492) #11
  %8494 = icmp ne i32 %8493, 0
  br i1 %8494, label %8495, label %8512

8495:                                             ; preds = %8490
  %8496 = load i32, ptr %244, align 4, !tbaa !5
  %8497 = call ptr @__errno_location() #12
  store i32 %8496, ptr %8497, align 4, !tbaa !5
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = load i32, ptr @test_count, align 4, !tbaa !5
  %8500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8501 = load i32, ptr %8500, align 4, !tbaa !5
  %8502 = call ptr @s2n_strerror(i32 noundef %8501, ptr noundef @.str.4)
  %8503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8504 = load i32, ptr %8503, align 4, !tbaa !5
  %8505 = call ptr @s2n_strerror_debug(i32 noundef %8504, ptr noundef @.str.4)
  %8506 = call ptr @__errno_location() #12
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call ptr @strerror(i32 noundef %8507) #11
  %8509 = call ptr @__errno_location() #12
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  %8511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8498, ptr noundef @.str.2, i32 noundef %8499, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 522, ptr noundef %8502, ptr noundef %8505, ptr noundef %8508, i32 noundef %8510) #11
  br label %8529

8512:                                             ; preds = %8490, %8483
  %8513 = load i32, ptr %244, align 4, !tbaa !5
  %8514 = call ptr @__errno_location() #12
  store i32 %8513, ptr %8514, align 4, !tbaa !5
  %8515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8516 = load i32, ptr @test_count, align 4, !tbaa !5
  %8517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8518 = load i32, ptr %8517, align 4, !tbaa !5
  %8519 = call ptr @s2n_strerror(i32 noundef %8518, ptr noundef @.str.4)
  %8520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8521 = load i32, ptr %8520, align 4, !tbaa !5
  %8522 = call ptr @s2n_strerror_debug(i32 noundef %8521, ptr noundef @.str.4)
  %8523 = call ptr @__errno_location() #12
  %8524 = load i32, ptr %8523, align 4, !tbaa !5
  %8525 = call ptr @strerror(i32 noundef %8524) #11
  %8526 = call ptr @__errno_location() #12
  %8527 = load i32, ptr %8526, align 4, !tbaa !5
  %8528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8515, ptr noundef @.str.5, i32 noundef %8516, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 522, ptr noundef %8519, ptr noundef %8522, ptr noundef %8525, i32 noundef %8527) #11
  br label %8529

8529:                                             ; preds = %8512, %8495
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %8530

8530:                                             ; preds = %8529
  br label %8531

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

8532:                                             ; No predecessors!
  br label %8533

8533:                                             ; preds = %8532
  br label %8534

8534:                                             ; preds = %8533, %8473
  br label %8535

8535:                                             ; preds = %8534
  br label %8536

8536:                                             ; preds = %8535
  br label %8537

8537:                                             ; preds = %8536
  %8538 = load i32, ptr @test_count, align 4, !tbaa !5
  %8539 = add nsw i32 %8538, 1
  store i32 %8539, ptr @test_count, align 4, !tbaa !5
  %8540 = load ptr, ptr %234, align 8, !tbaa !9
  %8541 = load ptr, ptr %230, align 8, !tbaa !9
  %8542 = call i32 @s2n_setup_connections(ptr noundef %8540, ptr noundef %8541, ptr noundef %242)
  %8543 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  store i32 %8542, ptr %8543, align 4
  %8544 = getelementptr inbounds %struct.s2n_result, ptr %245, i32 0, i32 0
  %8545 = load i32, ptr %8544, align 4
  %8546 = call zeroext i1 @s2n_result_is_ok(i32 %8545)
  br i1 %8546, label %8600, label %8547

8547:                                             ; preds = %8537
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %8550 = call ptr @__errno_location() #12
  %8551 = load i32, ptr %8550, align 4, !tbaa !5
  store i32 %8551, ptr %246, align 4, !tbaa !5
  %8552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8553 = call i32 @s2n_print_stacktrace(ptr noundef %8552)
  %8554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8555 = trunc i8 %8554 to i1
  br i1 %8555, label %8556, label %8578

8556:                                             ; preds = %8549
  %8557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8558 = call i32 @fileno(ptr noundef %8557) #11
  %8559 = call i32 @isatty(i32 noundef %8558) #11
  %8560 = icmp ne i32 %8559, 0
  br i1 %8560, label %8561, label %8578

8561:                                             ; preds = %8556
  %8562 = load i32, ptr %246, align 4, !tbaa !5
  %8563 = call ptr @__errno_location() #12
  store i32 %8562, ptr %8563, align 4, !tbaa !5
  %8564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8565 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8567, ptr noundef @.str.4)
  %8569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8570 = load i32, ptr %8569, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef @.str.4)
  %8572 = call ptr @__errno_location() #12
  %8573 = load i32, ptr %8572, align 4, !tbaa !5
  %8574 = call ptr @strerror(i32 noundef %8573) #11
  %8575 = call ptr @__errno_location() #12
  %8576 = load i32, ptr %8575, align 4, !tbaa !5
  %8577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8564, ptr noundef @.str.2, i32 noundef %8565, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 523, ptr noundef %8568, ptr noundef %8571, ptr noundef %8574, i32 noundef %8576) #11
  br label %8595

8578:                                             ; preds = %8556, %8549
  %8579 = load i32, ptr %246, align 4, !tbaa !5
  %8580 = call ptr @__errno_location() #12
  store i32 %8579, ptr %8580, align 4, !tbaa !5
  %8581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8582 = load i32, ptr @test_count, align 4, !tbaa !5
  %8583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @s2n_strerror(i32 noundef %8584, ptr noundef @.str.4)
  %8586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call ptr @s2n_strerror_debug(i32 noundef %8587, ptr noundef @.str.4)
  %8589 = call ptr @__errno_location() #12
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call ptr @strerror(i32 noundef %8590) #11
  %8592 = call ptr @__errno_location() #12
  %8593 = load i32, ptr %8592, align 4, !tbaa !5
  %8594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8581, ptr noundef @.str.5, i32 noundef %8582, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 523, ptr noundef %8585, ptr noundef %8588, ptr noundef %8591, i32 noundef %8593) #11
  br label %8595

8595:                                             ; preds = %8578, %8561
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %8596

8596:                                             ; preds = %8595
  br label %8597

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

8598:                                             ; No predecessors!
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599, %8537
  br label %8601

8601:                                             ; preds = %8600
  br label %8602

8602:                                             ; preds = %8601
  br label %8603

8603:                                             ; preds = %8602
  %8604 = load i32, ptr @test_count, align 4, !tbaa !5
  %8605 = add nsw i32 %8604, 1
  store i32 %8605, ptr @test_count, align 4, !tbaa !5
  %8606 = load ptr, ptr %239, align 8, !tbaa !9
  %8607 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %8606)
  %8608 = icmp eq i32 %8607, -1
  br i1 %8608, label %8609, label %8662

8609:                                             ; preds = %8603
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %8612 = call ptr @__errno_location() #12
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  store i32 %8613, ptr %247, align 4, !tbaa !5
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @s2n_print_stacktrace(ptr noundef %8614)
  %8616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8617 = trunc i8 %8616 to i1
  br i1 %8617, label %8618, label %8640

8618:                                             ; preds = %8611
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = call i32 @fileno(ptr noundef %8619) #11
  %8621 = call i32 @isatty(i32 noundef %8620) #11
  %8622 = icmp ne i32 %8621, 0
  br i1 %8622, label %8623, label %8640

8623:                                             ; preds = %8618
  %8624 = load i32, ptr %247, align 4, !tbaa !5
  %8625 = call ptr @__errno_location() #12
  store i32 %8624, ptr %8625, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8629 = load i32, ptr %8628, align 4, !tbaa !5
  %8630 = call ptr @s2n_strerror(i32 noundef %8629, ptr noundef @.str.4)
  %8631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8632 = load i32, ptr %8631, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef @.str.4)
  %8634 = call ptr @__errno_location() #12
  %8635 = load i32, ptr %8634, align 4, !tbaa !5
  %8636 = call ptr @strerror(i32 noundef %8635) #11
  %8637 = call ptr @__errno_location() #12
  %8638 = load i32, ptr %8637, align 4, !tbaa !5
  %8639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef @.str.2, i32 noundef %8627, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 524, ptr noundef %8630, ptr noundef %8633, ptr noundef %8636, i32 noundef %8638) #11
  br label %8657

8640:                                             ; preds = %8618, %8611
  %8641 = load i32, ptr %247, align 4, !tbaa !5
  %8642 = call ptr @__errno_location() #12
  store i32 %8641, ptr %8642, align 4, !tbaa !5
  %8643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8644 = load i32, ptr @test_count, align 4, !tbaa !5
  %8645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @s2n_strerror(i32 noundef %8646, ptr noundef @.str.4)
  %8648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call ptr @s2n_strerror_debug(i32 noundef %8649, ptr noundef @.str.4)
  %8651 = call ptr @__errno_location() #12
  %8652 = load i32, ptr %8651, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #11
  %8654 = call ptr @__errno_location() #12
  %8655 = load i32, ptr %8654, align 4, !tbaa !5
  %8656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8643, ptr noundef @.str.5, i32 noundef %8644, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 524, ptr noundef %8647, ptr noundef %8650, ptr noundef %8653, i32 noundef %8655) #11
  br label %8657

8657:                                             ; preds = %8640, %8623
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %8658

8658:                                             ; preds = %8657
  br label %8659

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

8660:                                             ; No predecessors!
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661, %8603
  br label %8663

8663:                                             ; preds = %8662
  br label %8664

8664:                                             ; preds = %8663
  br label %8665

8665:                                             ; preds = %8664
  %8666 = load i32, ptr @test_count, align 4, !tbaa !5
  %8667 = add nsw i32 %8666, 1
  store i32 %8667, ptr @test_count, align 4, !tbaa !5
  %8668 = load ptr, ptr %240, align 8, !tbaa !9
  %8669 = call i32 @s2n_shutdown_send(ptr noundef %8668, ptr noundef %241)
  %8670 = icmp eq i32 %8669, -1
  br i1 %8670, label %8671, label %8724

8671:                                             ; preds = %8665
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

8673:                                             ; preds = %8672
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %8674 = call ptr @__errno_location() #12
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  store i32 %8675, ptr %248, align 4, !tbaa !5
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = call i32 @s2n_print_stacktrace(ptr noundef %8676)
  %8678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8679 = trunc i8 %8678 to i1
  br i1 %8679, label %8680, label %8702

8680:                                             ; preds = %8673
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = call i32 @fileno(ptr noundef %8681) #11
  %8683 = call i32 @isatty(i32 noundef %8682) #11
  %8684 = icmp ne i32 %8683, 0
  br i1 %8684, label %8685, label %8702

8685:                                             ; preds = %8680
  %8686 = load i32, ptr %248, align 4, !tbaa !5
  %8687 = call ptr @__errno_location() #12
  store i32 %8686, ptr %8687, align 4, !tbaa !5
  %8688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8689 = load i32, ptr @test_count, align 4, !tbaa !5
  %8690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8691 = load i32, ptr %8690, align 4, !tbaa !5
  %8692 = call ptr @s2n_strerror(i32 noundef %8691, ptr noundef @.str.4)
  %8693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8694 = load i32, ptr %8693, align 4, !tbaa !5
  %8695 = call ptr @s2n_strerror_debug(i32 noundef %8694, ptr noundef @.str.4)
  %8696 = call ptr @__errno_location() #12
  %8697 = load i32, ptr %8696, align 4, !tbaa !5
  %8698 = call ptr @strerror(i32 noundef %8697) #11
  %8699 = call ptr @__errno_location() #12
  %8700 = load i32, ptr %8699, align 4, !tbaa !5
  %8701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8688, ptr noundef @.str.2, i32 noundef %8689, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 526, ptr noundef %8692, ptr noundef %8695, ptr noundef %8698, i32 noundef %8700) #11
  br label %8719

8702:                                             ; preds = %8680, %8673
  %8703 = load i32, ptr %248, align 4, !tbaa !5
  %8704 = call ptr @__errno_location() #12
  store i32 %8703, ptr %8704, align 4, !tbaa !5
  %8705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8706 = load i32, ptr @test_count, align 4, !tbaa !5
  %8707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8708 = load i32, ptr %8707, align 4, !tbaa !5
  %8709 = call ptr @s2n_strerror(i32 noundef %8708, ptr noundef @.str.4)
  %8710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8711 = load i32, ptr %8710, align 4, !tbaa !5
  %8712 = call ptr @s2n_strerror_debug(i32 noundef %8711, ptr noundef @.str.4)
  %8713 = call ptr @__errno_location() #12
  %8714 = load i32, ptr %8713, align 4, !tbaa !5
  %8715 = call ptr @strerror(i32 noundef %8714) #11
  %8716 = call ptr @__errno_location() #12
  %8717 = load i32, ptr %8716, align 4, !tbaa !5
  %8718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8705, ptr noundef @.str.5, i32 noundef %8706, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 526, ptr noundef %8709, ptr noundef %8712, ptr noundef %8715, i32 noundef %8717) #11
  br label %8719

8719:                                             ; preds = %8702, %8685
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %8720

8720:                                             ; preds = %8719
  br label %8721

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

8722:                                             ; No predecessors!
  br label %8723

8723:                                             ; preds = %8722
  br label %8724

8724:                                             ; preds = %8723, %8665
  br label %8725

8725:                                             ; preds = %8724
  br label %8726

8726:                                             ; preds = %8725
  call void @llvm.lifetime.start.p0(i64 10, ptr %249) #11
  call void @llvm.memset.p0.i64(ptr align 1 %249, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %8727 = load ptr, ptr %239, align 8, !tbaa !9
  %8728 = getelementptr inbounds [10 x i8], ptr %249, i64 0, i64 0
  %8729 = call i64 @s2n_recv(ptr noundef %8727, ptr noundef %8728, i64 noundef 10, ptr noundef %241)
  %8730 = trunc i64 %8729 to i32
  store i32 %8730, ptr %250, align 4, !tbaa !5
  br label %8731

8731:                                             ; preds = %8726
  %8732 = load i32, ptr @test_count, align 4, !tbaa !5
  %8733 = add nsw i32 %8732, 1
  store i32 %8733, ptr @test_count, align 4, !tbaa !5
  %8734 = load i32, ptr %250, align 4, !tbaa !5
  %8735 = icmp eq i32 %8734, 0
  br i1 %8735, label %8789, label %8736

8736:                                             ; preds = %8731
  br label %8737

8737:                                             ; preds = %8736
  br label %8738

8738:                                             ; preds = %8737
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %8739 = call ptr @__errno_location() #12
  %8740 = load i32, ptr %8739, align 4, !tbaa !5
  store i32 %8740, ptr %251, align 4, !tbaa !5
  %8741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8742 = call i32 @s2n_print_stacktrace(ptr noundef %8741)
  %8743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8744 = trunc i8 %8743 to i1
  br i1 %8744, label %8745, label %8767

8745:                                             ; preds = %8738
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = call i32 @fileno(ptr noundef %8746) #11
  %8748 = call i32 @isatty(i32 noundef %8747) #11
  %8749 = icmp ne i32 %8748, 0
  br i1 %8749, label %8750, label %8767

8750:                                             ; preds = %8745
  %8751 = load i32, ptr %251, align 4, !tbaa !5
  %8752 = call ptr @__errno_location() #12
  store i32 %8751, ptr %8752, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = load i32, ptr @test_count, align 4, !tbaa !5
  %8755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @s2n_strerror(i32 noundef %8756, ptr noundef @.str.4)
  %8758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror_debug(i32 noundef %8759, ptr noundef @.str.4)
  %8761 = call ptr @__errno_location() #12
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @strerror(i32 noundef %8762) #11
  %8764 = call ptr @__errno_location() #12
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8753, ptr noundef @.str.2, i32 noundef %8754, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 530, ptr noundef %8757, ptr noundef %8760, ptr noundef %8763, i32 noundef %8765) #11
  br label %8784

8767:                                             ; preds = %8745, %8738
  %8768 = load i32, ptr %251, align 4, !tbaa !5
  %8769 = call ptr @__errno_location() #12
  store i32 %8768, ptr %8769, align 4, !tbaa !5
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = load i32, ptr @test_count, align 4, !tbaa !5
  %8772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call ptr @s2n_strerror(i32 noundef %8773, ptr noundef @.str.4)
  %8775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8776 = load i32, ptr %8775, align 4, !tbaa !5
  %8777 = call ptr @s2n_strerror_debug(i32 noundef %8776, ptr noundef @.str.4)
  %8778 = call ptr @__errno_location() #12
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @strerror(i32 noundef %8779) #11
  %8781 = call ptr @__errno_location() #12
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8770, ptr noundef @.str.5, i32 noundef %8771, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 530, ptr noundef %8774, ptr noundef %8777, ptr noundef %8780, i32 noundef %8782) #11
  br label %8784

8784:                                             ; preds = %8767, %8750
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %8785

8785:                                             ; preds = %8784
  br label %8786

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

8787:                                             ; No predecessors!
  br label %8788

8788:                                             ; preds = %8787
  br label %8789

8789:                                             ; preds = %8788, %8731
  br label %8790

8790:                                             ; preds = %8789
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  %8793 = load i32, ptr @test_count, align 4, !tbaa !5
  %8794 = add nsw i32 %8793, 1
  store i32 %8794, ptr @test_count, align 4, !tbaa !5
  %8795 = load i32, ptr %241, align 4, !tbaa !5
  %8796 = icmp eq i32 %8795, 0
  br i1 %8796, label %8850, label %8797

8797:                                             ; preds = %8792
  br label %8798

8798:                                             ; preds = %8797
  br label %8799

8799:                                             ; preds = %8798
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %8800 = call ptr @__errno_location() #12
  %8801 = load i32, ptr %8800, align 4, !tbaa !5
  store i32 %8801, ptr %252, align 4, !tbaa !5
  %8802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8803 = call i32 @s2n_print_stacktrace(ptr noundef %8802)
  %8804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8805 = trunc i8 %8804 to i1
  br i1 %8805, label %8806, label %8828

8806:                                             ; preds = %8799
  %8807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8808 = call i32 @fileno(ptr noundef %8807) #11
  %8809 = call i32 @isatty(i32 noundef %8808) #11
  %8810 = icmp ne i32 %8809, 0
  br i1 %8810, label %8811, label %8828

8811:                                             ; preds = %8806
  %8812 = load i32, ptr %252, align 4, !tbaa !5
  %8813 = call ptr @__errno_location() #12
  store i32 %8812, ptr %8813, align 4, !tbaa !5
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = load i32, ptr @test_count, align 4, !tbaa !5
  %8816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8817 = load i32, ptr %8816, align 4, !tbaa !5
  %8818 = call ptr @s2n_strerror(i32 noundef %8817, ptr noundef @.str.4)
  %8819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8820 = load i32, ptr %8819, align 4, !tbaa !5
  %8821 = call ptr @s2n_strerror_debug(i32 noundef %8820, ptr noundef @.str.4)
  %8822 = call ptr @__errno_location() #12
  %8823 = load i32, ptr %8822, align 4, !tbaa !5
  %8824 = call ptr @strerror(i32 noundef %8823) #11
  %8825 = call ptr @__errno_location() #12
  %8826 = load i32, ptr %8825, align 4, !tbaa !5
  %8827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8814, ptr noundef @.str.2, i32 noundef %8815, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 531, ptr noundef %8818, ptr noundef %8821, ptr noundef %8824, i32 noundef %8826) #11
  br label %8845

8828:                                             ; preds = %8806, %8799
  %8829 = load i32, ptr %252, align 4, !tbaa !5
  %8830 = call ptr @__errno_location() #12
  store i32 %8829, ptr %8830, align 4, !tbaa !5
  %8831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8832 = load i32, ptr @test_count, align 4, !tbaa !5
  %8833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8834 = load i32, ptr %8833, align 4, !tbaa !5
  %8835 = call ptr @s2n_strerror(i32 noundef %8834, ptr noundef @.str.4)
  %8836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8837 = load i32, ptr %8836, align 4, !tbaa !5
  %8838 = call ptr @s2n_strerror_debug(i32 noundef %8837, ptr noundef @.str.4)
  %8839 = call ptr @__errno_location() #12
  %8840 = load i32, ptr %8839, align 4, !tbaa !5
  %8841 = call ptr @strerror(i32 noundef %8840) #11
  %8842 = call ptr @__errno_location() #12
  %8843 = load i32, ptr %8842, align 4, !tbaa !5
  %8844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8831, ptr noundef @.str.5, i32 noundef %8832, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 531, ptr noundef %8835, ptr noundef %8838, ptr noundef %8841, i32 noundef %8843) #11
  br label %8845

8845:                                             ; preds = %8828, %8811
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %8846

8846:                                             ; preds = %8845
  br label %8847

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

8848:                                             ; No predecessors!
  br label %8849

8849:                                             ; preds = %8848
  br label %8850

8850:                                             ; preds = %8849, %8792
  br label %8851

8851:                                             ; preds = %8850
  br label %8852

8852:                                             ; preds = %8851
  br label %8853

8853:                                             ; preds = %8852
  %8854 = load i32, ptr @test_count, align 4, !tbaa !5
  %8855 = add nsw i32 %8854, 1
  store i32 %8855, ptr @test_count, align 4, !tbaa !5
  %8856 = load ptr, ptr %239, align 8, !tbaa !9
  %8857 = getelementptr inbounds %struct.s2n_connection, ptr %8856, i32 0, i32 51
  %8858 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef %8857)
  br i1 %8858, label %8912, label %8859

8859:                                             ; preds = %8853
  br label %8860

8860:                                             ; preds = %8859
  br label %8861

8861:                                             ; preds = %8860
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %8862 = call ptr @__errno_location() #12
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  store i32 %8863, ptr %253, align 4, !tbaa !5
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @s2n_print_stacktrace(ptr noundef %8864)
  %8866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8867 = trunc i8 %8866 to i1
  br i1 %8867, label %8868, label %8890

8868:                                             ; preds = %8861
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = call i32 @fileno(ptr noundef %8869) #11
  %8871 = call i32 @isatty(i32 noundef %8870) #11
  %8872 = icmp ne i32 %8871, 0
  br i1 %8872, label %8873, label %8890

8873:                                             ; preds = %8868
  %8874 = load i32, ptr %253, align 4, !tbaa !5
  %8875 = call ptr @__errno_location() #12
  store i32 %8874, ptr %8875, align 4, !tbaa !5
  %8876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8877 = load i32, ptr @test_count, align 4, !tbaa !5
  %8878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  %8880 = call ptr @s2n_strerror(i32 noundef %8879, ptr noundef @.str.4)
  %8881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8882 = load i32, ptr %8881, align 4, !tbaa !5
  %8883 = call ptr @s2n_strerror_debug(i32 noundef %8882, ptr noundef @.str.4)
  %8884 = call ptr @__errno_location() #12
  %8885 = load i32, ptr %8884, align 4, !tbaa !5
  %8886 = call ptr @strerror(i32 noundef %8885) #11
  %8887 = call ptr @__errno_location() #12
  %8888 = load i32, ptr %8887, align 4, !tbaa !5
  %8889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8876, ptr noundef @.str.2, i32 noundef %8877, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 532, ptr noundef %8880, ptr noundef %8883, ptr noundef %8886, i32 noundef %8888) #11
  br label %8907

8890:                                             ; preds = %8868, %8861
  %8891 = load i32, ptr %253, align 4, !tbaa !5
  %8892 = call ptr @__errno_location() #12
  store i32 %8891, ptr %8892, align 4, !tbaa !5
  %8893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8894 = load i32, ptr @test_count, align 4, !tbaa !5
  %8895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8896 = load i32, ptr %8895, align 4, !tbaa !5
  %8897 = call ptr @s2n_strerror(i32 noundef %8896, ptr noundef @.str.4)
  %8898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8899 = load i32, ptr %8898, align 4, !tbaa !5
  %8900 = call ptr @s2n_strerror_debug(i32 noundef %8899, ptr noundef @.str.4)
  %8901 = call ptr @__errno_location() #12
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call ptr @strerror(i32 noundef %8902) #11
  %8904 = call ptr @__errno_location() #12
  %8905 = load i32, ptr %8904, align 4, !tbaa !5
  %8906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8893, ptr noundef @.str.5, i32 noundef %8894, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 532, ptr noundef %8897, ptr noundef %8900, ptr noundef %8903, i32 noundef %8905) #11
  br label %8907

8907:                                             ; preds = %8890, %8873
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %8908

8908:                                             ; preds = %8907
  br label %8909

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

8910:                                             ; No predecessors!
  br label %8911

8911:                                             ; preds = %8910
  br label %8912

8912:                                             ; preds = %8911, %8853
  br label %8913

8913:                                             ; preds = %8912
  br label %8914

8914:                                             ; preds = %8913
  br label %8915

8915:                                             ; preds = %8914
  %8916 = load i32, ptr @test_count, align 4, !tbaa !5
  %8917 = add nsw i32 %8916, 1
  store i32 %8917, ptr @test_count, align 4, !tbaa !5
  %8918 = load ptr, ptr %239, align 8, !tbaa !9
  %8919 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %8918, i32 noundef 1)
  br i1 %8919, label %8920, label %8973

8920:                                             ; preds = %8915
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

8922:                                             ; preds = %8921
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %8923 = call ptr @__errno_location() #12
  %8924 = load i32, ptr %8923, align 4, !tbaa !5
  store i32 %8924, ptr %254, align 4, !tbaa !5
  %8925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8926 = call i32 @s2n_print_stacktrace(ptr noundef %8925)
  %8927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8928 = trunc i8 %8927 to i1
  br i1 %8928, label %8929, label %8951

8929:                                             ; preds = %8922
  %8930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8931 = call i32 @fileno(ptr noundef %8930) #11
  %8932 = call i32 @isatty(i32 noundef %8931) #11
  %8933 = icmp ne i32 %8932, 0
  br i1 %8933, label %8934, label %8951

8934:                                             ; preds = %8929
  %8935 = load i32, ptr %254, align 4, !tbaa !5
  %8936 = call ptr @__errno_location() #12
  store i32 %8935, ptr %8936, align 4, !tbaa !5
  %8937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8938 = load i32, ptr @test_count, align 4, !tbaa !5
  %8939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @s2n_strerror(i32 noundef %8940, ptr noundef @.str.4)
  %8942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call ptr @s2n_strerror_debug(i32 noundef %8943, ptr noundef @.str.4)
  %8945 = call ptr @__errno_location() #12
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call ptr @strerror(i32 noundef %8946) #11
  %8948 = call ptr @__errno_location() #12
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8937, ptr noundef @.str.2, i32 noundef %8938, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 533, ptr noundef %8941, ptr noundef %8944, ptr noundef %8947, i32 noundef %8949) #11
  br label %8968

8951:                                             ; preds = %8929, %8922
  %8952 = load i32, ptr %254, align 4, !tbaa !5
  %8953 = call ptr @__errno_location() #12
  store i32 %8952, ptr %8953, align 4, !tbaa !5
  %8954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @s2n_strerror_debug(i32 noundef %8960, ptr noundef @.str.4)
  %8962 = call ptr @__errno_location() #12
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call ptr @strerror(i32 noundef %8963) #11
  %8965 = call ptr @__errno_location() #12
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8954, ptr noundef @.str.5, i32 noundef %8955, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 533, ptr noundef %8958, ptr noundef %8961, ptr noundef %8964, i32 noundef %8966) #11
  br label %8968

8968:                                             ; preds = %8951, %8934
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %8969

8969:                                             ; preds = %8968
  br label %8970

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

8971:                                             ; No predecessors!
  br label %8972

8972:                                             ; preds = %8971
  br label %8973

8973:                                             ; preds = %8972, %8915
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  br label %8976

8976:                                             ; preds = %8975
  %8977 = load i32, ptr @test_count, align 4, !tbaa !5
  %8978 = add nsw i32 %8977, 1
  store i32 %8978, ptr @test_count, align 4, !tbaa !5
  %8979 = load ptr, ptr %239, align 8, !tbaa !9
  %8980 = call i32 @s2n_shutdown(ptr noundef %8979, ptr noundef %241)
  %8981 = icmp eq i32 %8980, -1
  br i1 %8981, label %8982, label %9035

8982:                                             ; preds = %8976
  br label %8983

8983:                                             ; preds = %8982
  br label %8984

8984:                                             ; preds = %8983
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %8985 = call ptr @__errno_location() #12
  %8986 = load i32, ptr %8985, align 4, !tbaa !5
  store i32 %8986, ptr %255, align 4, !tbaa !5
  %8987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8988 = call i32 @s2n_print_stacktrace(ptr noundef %8987)
  %8989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8990 = trunc i8 %8989 to i1
  br i1 %8990, label %8991, label %9013

8991:                                             ; preds = %8984
  %8992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8993 = call i32 @fileno(ptr noundef %8992) #11
  %8994 = call i32 @isatty(i32 noundef %8993) #11
  %8995 = icmp ne i32 %8994, 0
  br i1 %8995, label %8996, label %9013

8996:                                             ; preds = %8991
  %8997 = load i32, ptr %255, align 4, !tbaa !5
  %8998 = call ptr @__errno_location() #12
  store i32 %8997, ptr %8998, align 4, !tbaa !5
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = load i32, ptr @test_count, align 4, !tbaa !5
  %9001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call ptr @s2n_strerror(i32 noundef %9002, ptr noundef @.str.4)
  %9004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9005 = load i32, ptr %9004, align 4, !tbaa !5
  %9006 = call ptr @s2n_strerror_debug(i32 noundef %9005, ptr noundef @.str.4)
  %9007 = call ptr @__errno_location() #12
  %9008 = load i32, ptr %9007, align 4, !tbaa !5
  %9009 = call ptr @strerror(i32 noundef %9008) #11
  %9010 = call ptr @__errno_location() #12
  %9011 = load i32, ptr %9010, align 4, !tbaa !5
  %9012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8999, ptr noundef @.str.2, i32 noundef %9000, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 535, ptr noundef %9003, ptr noundef %9006, ptr noundef %9009, i32 noundef %9011) #11
  br label %9030

9013:                                             ; preds = %8991, %8984
  %9014 = load i32, ptr %255, align 4, !tbaa !5
  %9015 = call ptr @__errno_location() #12
  store i32 %9014, ptr %9015, align 4, !tbaa !5
  %9016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9017 = load i32, ptr @test_count, align 4, !tbaa !5
  %9018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call ptr @s2n_strerror(i32 noundef %9019, ptr noundef @.str.4)
  %9021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9022 = load i32, ptr %9021, align 4, !tbaa !5
  %9023 = call ptr @s2n_strerror_debug(i32 noundef %9022, ptr noundef @.str.4)
  %9024 = call ptr @__errno_location() #12
  %9025 = load i32, ptr %9024, align 4, !tbaa !5
  %9026 = call ptr @strerror(i32 noundef %9025) #11
  %9027 = call ptr @__errno_location() #12
  %9028 = load i32, ptr %9027, align 4, !tbaa !5
  %9029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9016, ptr noundef @.str.5, i32 noundef %9017, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 535, ptr noundef %9020, ptr noundef %9023, ptr noundef %9026, i32 noundef %9028) #11
  br label %9030

9030:                                             ; preds = %9013, %8996
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %9031

9031:                                             ; preds = %9030
  br label %9032

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

9033:                                             ; No predecessors!
  br label %9034

9034:                                             ; preds = %9033
  br label %9035

9035:                                             ; preds = %9034, %8976
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

9037:                                             ; preds = %9036
  br label %9038

9038:                                             ; preds = %9037
  %9039 = load i32, ptr @test_count, align 4, !tbaa !5
  %9040 = add nsw i32 %9039, 1
  store i32 %9040, ptr @test_count, align 4, !tbaa !5
  %9041 = load i32, ptr %241, align 4, !tbaa !5
  %9042 = icmp eq i32 %9041, 0
  br i1 %9042, label %9096, label %9043

9043:                                             ; preds = %9038
  br label %9044

9044:                                             ; preds = %9043
  br label %9045

9045:                                             ; preds = %9044
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %9046 = call ptr @__errno_location() #12
  %9047 = load i32, ptr %9046, align 4, !tbaa !5
  store i32 %9047, ptr %256, align 4, !tbaa !5
  %9048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9049 = call i32 @s2n_print_stacktrace(ptr noundef %9048)
  %9050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9051 = trunc i8 %9050 to i1
  br i1 %9051, label %9052, label %9074

9052:                                             ; preds = %9045
  %9053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9054 = call i32 @fileno(ptr noundef %9053) #11
  %9055 = call i32 @isatty(i32 noundef %9054) #11
  %9056 = icmp ne i32 %9055, 0
  br i1 %9056, label %9057, label %9074

9057:                                             ; preds = %9052
  %9058 = load i32, ptr %256, align 4, !tbaa !5
  %9059 = call ptr @__errno_location() #12
  store i32 %9058, ptr %9059, align 4, !tbaa !5
  %9060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9061 = load i32, ptr @test_count, align 4, !tbaa !5
  %9062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9063 = load i32, ptr %9062, align 4, !tbaa !5
  %9064 = call ptr @s2n_strerror(i32 noundef %9063, ptr noundef @.str.4)
  %9065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9066 = load i32, ptr %9065, align 4, !tbaa !5
  %9067 = call ptr @s2n_strerror_debug(i32 noundef %9066, ptr noundef @.str.4)
  %9068 = call ptr @__errno_location() #12
  %9069 = load i32, ptr %9068, align 4, !tbaa !5
  %9070 = call ptr @strerror(i32 noundef %9069) #11
  %9071 = call ptr @__errno_location() #12
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  %9073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9060, ptr noundef @.str.2, i32 noundef %9061, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 536, ptr noundef %9064, ptr noundef %9067, ptr noundef %9070, i32 noundef %9072) #11
  br label %9091

9074:                                             ; preds = %9052, %9045
  %9075 = load i32, ptr %256, align 4, !tbaa !5
  %9076 = call ptr @__errno_location() #12
  store i32 %9075, ptr %9076, align 4, !tbaa !5
  %9077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9078 = load i32, ptr @test_count, align 4, !tbaa !5
  %9079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9080 = load i32, ptr %9079, align 4, !tbaa !5
  %9081 = call ptr @s2n_strerror(i32 noundef %9080, ptr noundef @.str.4)
  %9082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9083 = load i32, ptr %9082, align 4, !tbaa !5
  %9084 = call ptr @s2n_strerror_debug(i32 noundef %9083, ptr noundef @.str.4)
  %9085 = call ptr @__errno_location() #12
  %9086 = load i32, ptr %9085, align 4, !tbaa !5
  %9087 = call ptr @strerror(i32 noundef %9086) #11
  %9088 = call ptr @__errno_location() #12
  %9089 = load i32, ptr %9088, align 4, !tbaa !5
  %9090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9077, ptr noundef @.str.5, i32 noundef %9078, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 536, ptr noundef %9081, ptr noundef %9084, ptr noundef %9087, i32 noundef %9089) #11
  br label %9091

9091:                                             ; preds = %9074, %9057
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %9092

9092:                                             ; preds = %9091
  br label %9093

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

9094:                                             ; No predecessors!
  br label %9095

9095:                                             ; preds = %9094
  br label %9096

9096:                                             ; preds = %9095, %9038
  br label %9097

9097:                                             ; preds = %9096
  br label %9098

9098:                                             ; preds = %9097
  br label %9099

9099:                                             ; preds = %9098
  %9100 = load i32, ptr @test_count, align 4, !tbaa !5
  %9101 = add nsw i32 %9100, 1
  store i32 %9101, ptr @test_count, align 4, !tbaa !5
  %9102 = load ptr, ptr %239, align 8, !tbaa !9
  %9103 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9102, i32 noundef 3)
  br i1 %9103, label %9157, label %9104

9104:                                             ; preds = %9099
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %9107 = call ptr @__errno_location() #12
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  store i32 %9108, ptr %257, 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 %257, 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.2, i32 noundef %9122, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 537, ptr noundef %9125, ptr noundef %9128, ptr noundef %9131, i32 noundef %9133) #11
  br label %9152

9135:                                             ; preds = %9113, %9106
  %9136 = load i32, ptr %257, 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.51, ptr noundef @.str.1, i32 noundef 537, 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 %257) #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, %9099
  br label %9158

9158:                                             ; preds = %9157
  br label %9159

9159:                                             ; preds = %9158
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %249) #11
  %9160 = call i32 @s2n_io_pair_close(ptr noundef %242)
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #11
  br label %9161

9161:                                             ; preds = %9159
  %9162 = load i32, ptr @test_count, align 4, !tbaa !5
  %9163 = add nsw i32 %9162, 1
  store i32 %9163, ptr @test_count, align 4, !tbaa !5
  %9164 = load ptr, ptr %234, align 8, !tbaa !9
  %9165 = call i32 @s2n_connection_wipe(ptr noundef %9164)
  %9166 = icmp eq i32 %9165, -1
  br i1 %9166, label %9167, label %9220

9167:                                             ; preds = %9161
  br label %9168

9168:                                             ; preds = %9167
  br label %9169

9169:                                             ; preds = %9168
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %9170 = call ptr @__errno_location() #12
  %9171 = load i32, ptr %9170, align 4, !tbaa !5
  store i32 %9171, ptr %258, align 4, !tbaa !5
  %9172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9173 = call i32 @s2n_print_stacktrace(ptr noundef %9172)
  %9174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9175 = trunc i8 %9174 to i1
  br i1 %9175, label %9176, label %9198

9176:                                             ; preds = %9169
  %9177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9178 = call i32 @fileno(ptr noundef %9177) #11
  %9179 = call i32 @isatty(i32 noundef %9178) #11
  %9180 = icmp ne i32 %9179, 0
  br i1 %9180, label %9181, label %9198

9181:                                             ; preds = %9176
  %9182 = load i32, ptr %258, align 4, !tbaa !5
  %9183 = call ptr @__errno_location() #12
  store i32 %9182, ptr %9183, align 4, !tbaa !5
  %9184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9185 = load i32, ptr @test_count, align 4, !tbaa !5
  %9186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9187 = load i32, ptr %9186, align 4, !tbaa !5
  %9188 = call ptr @s2n_strerror(i32 noundef %9187, ptr noundef @.str.4)
  %9189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9190 = load i32, ptr %9189, align 4, !tbaa !5
  %9191 = call ptr @s2n_strerror_debug(i32 noundef %9190, ptr noundef @.str.4)
  %9192 = call ptr @__errno_location() #12
  %9193 = load i32, ptr %9192, align 4, !tbaa !5
  %9194 = call ptr @strerror(i32 noundef %9193) #11
  %9195 = call ptr @__errno_location() #12
  %9196 = load i32, ptr %9195, align 4, !tbaa !5
  %9197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9184, ptr noundef @.str.2, i32 noundef %9185, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 540, ptr noundef %9188, ptr noundef %9191, ptr noundef %9194, i32 noundef %9196) #11
  br label %9215

9198:                                             ; preds = %9176, %9169
  %9199 = load i32, ptr %258, align 4, !tbaa !5
  %9200 = call ptr @__errno_location() #12
  store i32 %9199, ptr %9200, align 4, !tbaa !5
  %9201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror(i32 noundef %9204, ptr noundef @.str.4)
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror_debug(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call ptr @__errno_location() #12
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @strerror(i32 noundef %9210) #11
  %9212 = call ptr @__errno_location() #12
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9201, ptr noundef @.str.5, i32 noundef %9202, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 540, ptr noundef %9205, ptr noundef %9208, ptr noundef %9211, i32 noundef %9213) #11
  br label %9215

9215:                                             ; preds = %9198, %9181
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %9216

9216:                                             ; preds = %9215
  br label %9217

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

9218:                                             ; No predecessors!
  br label %9219

9219:                                             ; preds = %9218
  br label %9220

9220:                                             ; preds = %9219, %9161
  br label %9221

9221:                                             ; preds = %9220
  br label %9222

9222:                                             ; preds = %9221
  br label %9223

9223:                                             ; preds = %9222
  %9224 = load i32, ptr @test_count, align 4, !tbaa !5
  %9225 = add nsw i32 %9224, 1
  store i32 %9225, ptr @test_count, align 4, !tbaa !5
  %9226 = load ptr, ptr %230, align 8, !tbaa !9
  %9227 = call i32 @s2n_connection_wipe(ptr noundef %9226)
  %9228 = icmp eq i32 %9227, -1
  br i1 %9228, label %9229, label %9282

9229:                                             ; preds = %9223
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

9231:                                             ; preds = %9230
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %9232 = call ptr @__errno_location() #12
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  store i32 %9233, ptr %259, align 4, !tbaa !5
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = call i32 @s2n_print_stacktrace(ptr noundef %9234)
  %9236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9237 = trunc i8 %9236 to i1
  br i1 %9237, label %9238, label %9260

9238:                                             ; preds = %9231
  %9239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9240 = call i32 @fileno(ptr noundef %9239) #11
  %9241 = call i32 @isatty(i32 noundef %9240) #11
  %9242 = icmp ne i32 %9241, 0
  br i1 %9242, label %9243, label %9260

9243:                                             ; preds = %9238
  %9244 = load i32, ptr %259, align 4, !tbaa !5
  %9245 = call ptr @__errno_location() #12
  store i32 %9244, ptr %9245, align 4, !tbaa !5
  %9246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9247 = load i32, ptr @test_count, align 4, !tbaa !5
  %9248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9249 = load i32, ptr %9248, align 4, !tbaa !5
  %9250 = call ptr @s2n_strerror(i32 noundef %9249, ptr noundef @.str.4)
  %9251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9252 = load i32, ptr %9251, align 4, !tbaa !5
  %9253 = call ptr @s2n_strerror_debug(i32 noundef %9252, ptr noundef @.str.4)
  %9254 = call ptr @__errno_location() #12
  %9255 = load i32, ptr %9254, align 4, !tbaa !5
  %9256 = call ptr @strerror(i32 noundef %9255) #11
  %9257 = call ptr @__errno_location() #12
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  %9259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9246, ptr noundef @.str.2, i32 noundef %9247, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 541, ptr noundef %9250, ptr noundef %9253, ptr noundef %9256, i32 noundef %9258) #11
  br label %9277

9260:                                             ; preds = %9238, %9231
  %9261 = load i32, ptr %259, align 4, !tbaa !5
  %9262 = call ptr @__errno_location() #12
  store i32 %9261, ptr %9262, align 4, !tbaa !5
  %9263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9264 = load i32, ptr @test_count, align 4, !tbaa !5
  %9265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9266 = load i32, ptr %9265, align 4, !tbaa !5
  %9267 = call ptr @s2n_strerror(i32 noundef %9266, ptr noundef @.str.4)
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror_debug(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call ptr @__errno_location() #12
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @strerror(i32 noundef %9272) #11
  %9274 = call ptr @__errno_location() #12
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9263, ptr noundef @.str.5, i32 noundef %9264, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 541, ptr noundef %9267, ptr noundef %9270, ptr noundef %9273, i32 noundef %9275) #11
  br label %9277

9277:                                             ; preds = %9260, %9243
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %9278

9278:                                             ; preds = %9277
  br label %9279

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

9280:                                             ; No predecessors!
  br label %9281

9281:                                             ; preds = %9280
  br label %9282

9282:                                             ; preds = %9281, %9223
  br label %9283

9283:                                             ; preds = %9282
  br label %9284

9284:                                             ; preds = %9283
  call void @llvm.lifetime.start.p0(i64 8, ptr %260) #11
  call void @llvm.memset.p0.i64(ptr align 4 %260, i8 0, i64 8, i1 false)
  br label %9285

9285:                                             ; preds = %9284
  %9286 = load i32, ptr @test_count, align 4, !tbaa !5
  %9287 = add nsw i32 %9286, 1
  store i32 %9287, ptr @test_count, align 4, !tbaa !5
  %9288 = call i32 @s2n_new_inet_socket_pair(ptr noundef %260)
  %9289 = getelementptr inbounds %struct.s2n_result, ptr %261, i32 0, i32 0
  store i32 %9288, ptr %9289, align 4
  %9290 = getelementptr inbounds %struct.s2n_result, ptr %261, i32 0, i32 0
  %9291 = load i32, ptr %9290, align 4
  %9292 = call zeroext i1 @s2n_result_is_ok(i32 %9291)
  br i1 %9292, label %9346, label %9293

9293:                                             ; preds = %9285
  br label %9294

9294:                                             ; preds = %9293
  br label %9295

9295:                                             ; preds = %9294
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %9296 = call ptr @__errno_location() #12
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  store i32 %9297, ptr %262, align 4, !tbaa !5
  %9298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9299 = call i32 @s2n_print_stacktrace(ptr noundef %9298)
  %9300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9301 = trunc i8 %9300 to i1
  br i1 %9301, label %9302, label %9324

9302:                                             ; preds = %9295
  %9303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9304 = call i32 @fileno(ptr noundef %9303) #11
  %9305 = call i32 @isatty(i32 noundef %9304) #11
  %9306 = icmp ne i32 %9305, 0
  br i1 %9306, label %9307, label %9324

9307:                                             ; preds = %9302
  %9308 = load i32, ptr %262, align 4, !tbaa !5
  %9309 = call ptr @__errno_location() #12
  store i32 %9308, ptr %9309, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = load i32, ptr @test_count, align 4, !tbaa !5
  %9312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9313 = load i32, ptr %9312, align 4, !tbaa !5
  %9314 = call ptr @s2n_strerror(i32 noundef %9313, ptr noundef @.str.4)
  %9315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9316 = load i32, ptr %9315, align 4, !tbaa !5
  %9317 = call ptr @s2n_strerror_debug(i32 noundef %9316, ptr noundef @.str.4)
  %9318 = call ptr @__errno_location() #12
  %9319 = load i32, ptr %9318, align 4, !tbaa !5
  %9320 = call ptr @strerror(i32 noundef %9319) #11
  %9321 = call ptr @__errno_location() #12
  %9322 = load i32, ptr %9321, align 4, !tbaa !5
  %9323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9310, ptr noundef @.str.2, i32 noundef %9311, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 546, ptr noundef %9314, ptr noundef %9317, ptr noundef %9320, i32 noundef %9322) #11
  br label %9341

9324:                                             ; preds = %9302, %9295
  %9325 = load i32, ptr %262, align 4, !tbaa !5
  %9326 = call ptr @__errno_location() #12
  store i32 %9325, ptr %9326, align 4, !tbaa !5
  %9327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9328 = load i32, ptr @test_count, align 4, !tbaa !5
  %9329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9330 = load i32, ptr %9329, align 4, !tbaa !5
  %9331 = call ptr @s2n_strerror(i32 noundef %9330, ptr noundef @.str.4)
  %9332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9333 = load i32, ptr %9332, align 4, !tbaa !5
  %9334 = call ptr @s2n_strerror_debug(i32 noundef %9333, ptr noundef @.str.4)
  %9335 = call ptr @__errno_location() #12
  %9336 = load i32, ptr %9335, align 4, !tbaa !5
  %9337 = call ptr @strerror(i32 noundef %9336) #11
  %9338 = call ptr @__errno_location() #12
  %9339 = load i32, ptr %9338, align 4, !tbaa !5
  %9340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9327, ptr noundef @.str.5, i32 noundef %9328, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 546, ptr noundef %9331, ptr noundef %9334, ptr noundef %9337, i32 noundef %9339) #11
  br label %9341

9341:                                             ; preds = %9324, %9307
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %9342

9342:                                             ; preds = %9341
  br label %9343

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

9344:                                             ; No predecessors!
  br label %9345

9345:                                             ; preds = %9344
  br label %9346

9346:                                             ; preds = %9345, %9285
  br label %9347

9347:                                             ; preds = %9346
  br label %9348

9348:                                             ; preds = %9347
  br label %9349

9349:                                             ; preds = %9348
  %9350 = load i32, ptr @test_count, align 4, !tbaa !5
  %9351 = add nsw i32 %9350, 1
  store i32 %9351, ptr @test_count, align 4, !tbaa !5
  %9352 = load ptr, ptr %234, align 8, !tbaa !9
  %9353 = load ptr, ptr %230, align 8, !tbaa !9
  %9354 = call i32 @s2n_setup_connections(ptr noundef %9352, ptr noundef %9353, ptr noundef %260)
  %9355 = getelementptr inbounds %struct.s2n_result, ptr %263, i32 0, i32 0
  store i32 %9354, ptr %9355, align 4
  %9356 = getelementptr inbounds %struct.s2n_result, ptr %263, i32 0, i32 0
  %9357 = load i32, ptr %9356, align 4
  %9358 = call zeroext i1 @s2n_result_is_ok(i32 %9357)
  br i1 %9358, label %9412, label %9359

9359:                                             ; preds = %9349
  br label %9360

9360:                                             ; preds = %9359
  br label %9361

9361:                                             ; preds = %9360
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %9362 = call ptr @__errno_location() #12
  %9363 = load i32, ptr %9362, align 4, !tbaa !5
  store i32 %9363, ptr %264, align 4, !tbaa !5
  %9364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9365 = call i32 @s2n_print_stacktrace(ptr noundef %9364)
  %9366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9367 = trunc i8 %9366 to i1
  br i1 %9367, label %9368, label %9390

9368:                                             ; preds = %9361
  %9369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9370 = call i32 @fileno(ptr noundef %9369) #11
  %9371 = call i32 @isatty(i32 noundef %9370) #11
  %9372 = icmp ne i32 %9371, 0
  br i1 %9372, label %9373, label %9390

9373:                                             ; preds = %9368
  %9374 = load i32, ptr %264, align 4, !tbaa !5
  %9375 = call ptr @__errno_location() #12
  store i32 %9374, ptr %9375, align 4, !tbaa !5
  %9376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9377 = load i32, ptr @test_count, align 4, !tbaa !5
  %9378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9379 = load i32, ptr %9378, align 4, !tbaa !5
  %9380 = call ptr @s2n_strerror(i32 noundef %9379, ptr noundef @.str.4)
  %9381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9382 = load i32, ptr %9381, align 4, !tbaa !5
  %9383 = call ptr @s2n_strerror_debug(i32 noundef %9382, ptr noundef @.str.4)
  %9384 = call ptr @__errno_location() #12
  %9385 = load i32, ptr %9384, align 4, !tbaa !5
  %9386 = call ptr @strerror(i32 noundef %9385) #11
  %9387 = call ptr @__errno_location() #12
  %9388 = load i32, ptr %9387, align 4, !tbaa !5
  %9389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9376, ptr noundef @.str.2, i32 noundef %9377, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 547, ptr noundef %9380, ptr noundef %9383, ptr noundef %9386, i32 noundef %9388) #11
  br label %9407

9390:                                             ; preds = %9368, %9361
  %9391 = load i32, ptr %264, align 4, !tbaa !5
  %9392 = call ptr @__errno_location() #12
  store i32 %9391, ptr %9392, align 4, !tbaa !5
  %9393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9394 = load i32, ptr @test_count, align 4, !tbaa !5
  %9395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9396 = load i32, ptr %9395, align 4, !tbaa !5
  %9397 = call ptr @s2n_strerror(i32 noundef %9396, ptr noundef @.str.4)
  %9398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9399 = load i32, ptr %9398, align 4, !tbaa !5
  %9400 = call ptr @s2n_strerror_debug(i32 noundef %9399, ptr noundef @.str.4)
  %9401 = call ptr @__errno_location() #12
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call ptr @strerror(i32 noundef %9402) #11
  %9404 = call ptr @__errno_location() #12
  %9405 = load i32, ptr %9404, align 4, !tbaa !5
  %9406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9393, ptr noundef @.str.5, i32 noundef %9394, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 547, ptr noundef %9397, ptr noundef %9400, ptr noundef %9403, i32 noundef %9405) #11
  br label %9407

9407:                                             ; preds = %9390, %9373
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %9408

9408:                                             ; preds = %9407
  br label %9409

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

9410:                                             ; No predecessors!
  br label %9411

9411:                                             ; preds = %9410
  br label %9412

9412:                                             ; preds = %9411, %9349
  br label %9413

9413:                                             ; preds = %9412
  br label %9414

9414:                                             ; preds = %9413
  br label %9415

9415:                                             ; preds = %9414
  %9416 = load i32, ptr @test_count, align 4, !tbaa !5
  %9417 = add nsw i32 %9416, 1
  store i32 %9417, ptr @test_count, align 4, !tbaa !5
  %9418 = load ptr, ptr %239, align 8, !tbaa !9
  %9419 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %9418)
  %9420 = icmp eq i32 %9419, -1
  br i1 %9420, label %9421, label %9474

9421:                                             ; preds = %9415
  br label %9422

9422:                                             ; preds = %9421
  br label %9423

9423:                                             ; preds = %9422
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %9424 = call ptr @__errno_location() #12
  %9425 = load i32, ptr %9424, align 4, !tbaa !5
  store i32 %9425, ptr %265, align 4, !tbaa !5
  %9426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9427 = call i32 @s2n_print_stacktrace(ptr noundef %9426)
  %9428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9429 = trunc i8 %9428 to i1
  br i1 %9429, label %9430, label %9452

9430:                                             ; preds = %9423
  %9431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9432 = call i32 @fileno(ptr noundef %9431) #11
  %9433 = call i32 @isatty(i32 noundef %9432) #11
  %9434 = icmp ne i32 %9433, 0
  br i1 %9434, label %9435, label %9452

9435:                                             ; preds = %9430
  %9436 = load i32, ptr %265, align 4, !tbaa !5
  %9437 = call ptr @__errno_location() #12
  store i32 %9436, ptr %9437, align 4, !tbaa !5
  %9438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9439 = load i32, ptr @test_count, align 4, !tbaa !5
  %9440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9441 = load i32, ptr %9440, align 4, !tbaa !5
  %9442 = call ptr @s2n_strerror(i32 noundef %9441, ptr noundef @.str.4)
  %9443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9444 = load i32, ptr %9443, align 4, !tbaa !5
  %9445 = call ptr @s2n_strerror_debug(i32 noundef %9444, ptr noundef @.str.4)
  %9446 = call ptr @__errno_location() #12
  %9447 = load i32, ptr %9446, align 4, !tbaa !5
  %9448 = call ptr @strerror(i32 noundef %9447) #11
  %9449 = call ptr @__errno_location() #12
  %9450 = load i32, ptr %9449, align 4, !tbaa !5
  %9451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9438, ptr noundef @.str.2, i32 noundef %9439, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9442, ptr noundef %9445, ptr noundef %9448, i32 noundef %9450) #11
  br label %9469

9452:                                             ; preds = %9430, %9423
  %9453 = load i32, ptr %265, align 4, !tbaa !5
  %9454 = call ptr @__errno_location() #12
  store i32 %9453, ptr %9454, align 4, !tbaa !5
  %9455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9456 = load i32, ptr @test_count, align 4, !tbaa !5
  %9457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9458 = load i32, ptr %9457, align 4, !tbaa !5
  %9459 = call ptr @s2n_strerror(i32 noundef %9458, ptr noundef @.str.4)
  %9460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9461 = load i32, ptr %9460, align 4, !tbaa !5
  %9462 = call ptr @s2n_strerror_debug(i32 noundef %9461, ptr noundef @.str.4)
  %9463 = call ptr @__errno_location() #12
  %9464 = load i32, ptr %9463, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #11
  %9466 = call ptr @__errno_location() #12
  %9467 = load i32, ptr %9466, align 4, !tbaa !5
  %9468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9455, ptr noundef @.str.5, i32 noundef %9456, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 548, ptr noundef %9459, ptr noundef %9462, ptr noundef %9465, i32 noundef %9467) #11
  br label %9469

9469:                                             ; preds = %9452, %9435
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %9470

9470:                                             ; preds = %9469
  br label %9471

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

9472:                                             ; No predecessors!
  br label %9473

9473:                                             ; preds = %9472
  br label %9474

9474:                                             ; preds = %9473, %9415
  br label %9475

9475:                                             ; preds = %9474
  br label %9476

9476:                                             ; preds = %9475
  call void @llvm.lifetime.start.p0(i64 8, ptr %266) #11
  store i64 0, ptr %266, align 8, !tbaa !15
  br label %9477

9477:                                             ; preds = %9545, %9476
  %9478 = load i64, ptr %266, align 8, !tbaa !15
  %9479 = icmp ult i64 %9478, 3
  br i1 %9479, label %9481, label %9480

9480:                                             ; preds = %9477
  store i32 904, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %266) #11
  br label %9548

9481:                                             ; preds = %9477
  br label %9482

9482:                                             ; preds = %9481
  %9483 = load i32, ptr @test_count, align 4, !tbaa !5
  %9484 = add nsw i32 %9483, 1
  store i32 %9484, ptr @test_count, align 4, !tbaa !5
  %9485 = load ptr, ptr %240, align 8, !tbaa !9
  %9486 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %9487 = call i64 @s2n_send(ptr noundef %9485, ptr noundef %9486, i64 noundef 10, ptr noundef %241)
  %9488 = icmp eq i64 %9487, -1
  br i1 %9488, label %9489, label %9542

9489:                                             ; preds = %9482
  br label %9490

9490:                                             ; preds = %9489
  br label %9491

9491:                                             ; preds = %9490
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %9492 = call ptr @__errno_location() #12
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  store i32 %9493, ptr %267, align 4, !tbaa !5
  %9494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9495 = call i32 @s2n_print_stacktrace(ptr noundef %9494)
  %9496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9497 = trunc i8 %9496 to i1
  br i1 %9497, label %9498, label %9520

9498:                                             ; preds = %9491
  %9499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9500 = call i32 @fileno(ptr noundef %9499) #11
  %9501 = call i32 @isatty(i32 noundef %9500) #11
  %9502 = icmp ne i32 %9501, 0
  br i1 %9502, label %9503, label %9520

9503:                                             ; preds = %9498
  %9504 = load i32, ptr %267, align 4, !tbaa !5
  %9505 = call ptr @__errno_location() #12
  store i32 %9504, ptr %9505, align 4, !tbaa !5
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = load i32, ptr @test_count, align 4, !tbaa !5
  %9508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9509 = load i32, ptr %9508, align 4, !tbaa !5
  %9510 = call ptr @s2n_strerror(i32 noundef %9509, ptr noundef @.str.4)
  %9511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9512 = load i32, ptr %9511, align 4, !tbaa !5
  %9513 = call ptr @s2n_strerror_debug(i32 noundef %9512, ptr noundef @.str.4)
  %9514 = call ptr @__errno_location() #12
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @strerror(i32 noundef %9515) #11
  %9517 = call ptr @__errno_location() #12
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9506, ptr noundef @.str.2, i32 noundef %9507, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 552, ptr noundef %9510, ptr noundef %9513, ptr noundef %9516, i32 noundef %9518) #11
  br label %9537

9520:                                             ; preds = %9498, %9491
  %9521 = load i32, ptr %267, align 4, !tbaa !5
  %9522 = call ptr @__errno_location() #12
  store i32 %9521, ptr %9522, align 4, !tbaa !5
  %9523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9524 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9526, ptr noundef @.str.4)
  %9528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call ptr @s2n_strerror_debug(i32 noundef %9529, ptr noundef @.str.4)
  %9531 = call ptr @__errno_location() #12
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call ptr @strerror(i32 noundef %9532) #11
  %9534 = call ptr @__errno_location() #12
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9523, ptr noundef @.str.5, i32 noundef %9524, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 552, ptr noundef %9527, ptr noundef %9530, ptr noundef %9533, i32 noundef %9535) #11
  br label %9537

9537:                                             ; preds = %9520, %9503
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %9538

9538:                                             ; preds = %9537
  br label %9539

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

9540:                                             ; No predecessors!
  br label %9541

9541:                                             ; preds = %9540
  br label %9542

9542:                                             ; preds = %9541, %9482
  br label %9543

9543:                                             ; preds = %9542
  br label %9544

9544:                                             ; preds = %9543
  br label %9545

9545:                                             ; preds = %9544
  %9546 = load i64, ptr %266, align 8, !tbaa !15
  %9547 = add i64 %9546, 1
  store i64 %9547, ptr %266, align 8, !tbaa !15
  br label %9477, !llvm.loop !57

9548:                                             ; preds = %9480
  br label %9549

9549:                                             ; preds = %9548
  %9550 = load i32, ptr @test_count, align 4, !tbaa !5
  %9551 = add nsw i32 %9550, 1
  store i32 %9551, ptr @test_count, align 4, !tbaa !5
  %9552 = load ptr, ptr %240, align 8, !tbaa !9
  %9553 = call i32 @s2n_shutdown_send(ptr noundef %9552, ptr noundef %241)
  %9554 = icmp eq i32 %9553, -1
  br i1 %9554, label %9555, label %9608

9555:                                             ; preds = %9549
  br label %9556

9556:                                             ; preds = %9555
  br label %9557

9557:                                             ; preds = %9556
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %9558 = call ptr @__errno_location() #12
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  store i32 %9559, ptr %268, align 4, !tbaa !5
  %9560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9561 = call i32 @s2n_print_stacktrace(ptr noundef %9560)
  %9562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9563 = trunc i8 %9562 to i1
  br i1 %9563, label %9564, label %9586

9564:                                             ; preds = %9557
  %9565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9566 = call i32 @fileno(ptr noundef %9565) #11
  %9567 = call i32 @isatty(i32 noundef %9566) #11
  %9568 = icmp ne i32 %9567, 0
  br i1 %9568, label %9569, label %9586

9569:                                             ; preds = %9564
  %9570 = load i32, ptr %268, align 4, !tbaa !5
  %9571 = call ptr @__errno_location() #12
  store i32 %9570, ptr %9571, align 4, !tbaa !5
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = load i32, ptr @test_count, align 4, !tbaa !5
  %9574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9575 = load i32, ptr %9574, align 4, !tbaa !5
  %9576 = call ptr @s2n_strerror(i32 noundef %9575, ptr noundef @.str.4)
  %9577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9578 = load i32, ptr %9577, align 4, !tbaa !5
  %9579 = call ptr @s2n_strerror_debug(i32 noundef %9578, ptr noundef @.str.4)
  %9580 = call ptr @__errno_location() #12
  %9581 = load i32, ptr %9580, align 4, !tbaa !5
  %9582 = call ptr @strerror(i32 noundef %9581) #11
  %9583 = call ptr @__errno_location() #12
  %9584 = load i32, ptr %9583, align 4, !tbaa !5
  %9585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9572, ptr noundef @.str.2, i32 noundef %9573, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 556, ptr noundef %9576, ptr noundef %9579, ptr noundef %9582, i32 noundef %9584) #11
  br label %9603

9586:                                             ; preds = %9564, %9557
  %9587 = load i32, ptr %268, align 4, !tbaa !5
  %9588 = call ptr @__errno_location() #12
  store i32 %9587, ptr %9588, align 4, !tbaa !5
  %9589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9590 = load i32, ptr @test_count, align 4, !tbaa !5
  %9591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9592 = load i32, ptr %9591, align 4, !tbaa !5
  %9593 = call ptr @s2n_strerror(i32 noundef %9592, ptr noundef @.str.4)
  %9594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call ptr @s2n_strerror_debug(i32 noundef %9595, ptr noundef @.str.4)
  %9597 = call ptr @__errno_location() #12
  %9598 = load i32, ptr %9597, align 4, !tbaa !5
  %9599 = call ptr @strerror(i32 noundef %9598) #11
  %9600 = call ptr @__errno_location() #12
  %9601 = load i32, ptr %9600, align 4, !tbaa !5
  %9602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9589, ptr noundef @.str.5, i32 noundef %9590, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 556, ptr noundef %9593, ptr noundef %9596, ptr noundef %9599, i32 noundef %9601) #11
  br label %9603

9603:                                             ; preds = %9586, %9569
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %9604

9604:                                             ; preds = %9603
  br label %9605

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

9606:                                             ; No predecessors!
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

9608:                                             ; preds = %9607, %9549
  br label %9609

9609:                                             ; preds = %9608
  br label %9610

9610:                                             ; preds = %9609
  br label %9611

9611:                                             ; preds = %9610
  %9612 = load i32, ptr @test_count, align 4, !tbaa !5
  %9613 = add nsw i32 %9612, 1
  store i32 %9613, ptr @test_count, align 4, !tbaa !5
  %9614 = load i32, ptr %241, align 4, !tbaa !5
  %9615 = icmp eq i32 %9614, 0
  br i1 %9615, label %9669, label %9616

9616:                                             ; preds = %9611
  br label %9617

9617:                                             ; preds = %9616
  br label %9618

9618:                                             ; preds = %9617
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %9619 = call ptr @__errno_location() #12
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  store i32 %9620, ptr %269, align 4, !tbaa !5
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = call i32 @s2n_print_stacktrace(ptr noundef %9621)
  %9623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9624 = trunc i8 %9623 to i1
  br i1 %9624, label %9625, label %9647

9625:                                             ; preds = %9618
  %9626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9627 = call i32 @fileno(ptr noundef %9626) #11
  %9628 = call i32 @isatty(i32 noundef %9627) #11
  %9629 = icmp ne i32 %9628, 0
  br i1 %9629, label %9630, label %9647

9630:                                             ; preds = %9625
  %9631 = load i32, ptr %269, align 4, !tbaa !5
  %9632 = call ptr @__errno_location() #12
  store i32 %9631, ptr %9632, align 4, !tbaa !5
  %9633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9634 = load i32, ptr @test_count, align 4, !tbaa !5
  %9635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9636 = load i32, ptr %9635, align 4, !tbaa !5
  %9637 = call ptr @s2n_strerror(i32 noundef %9636, ptr noundef @.str.4)
  %9638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9639 = load i32, ptr %9638, align 4, !tbaa !5
  %9640 = call ptr @s2n_strerror_debug(i32 noundef %9639, ptr noundef @.str.4)
  %9641 = call ptr @__errno_location() #12
  %9642 = load i32, ptr %9641, align 4, !tbaa !5
  %9643 = call ptr @strerror(i32 noundef %9642) #11
  %9644 = call ptr @__errno_location() #12
  %9645 = load i32, ptr %9644, align 4, !tbaa !5
  %9646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9633, ptr noundef @.str.2, i32 noundef %9634, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 557, ptr noundef %9637, ptr noundef %9640, ptr noundef %9643, i32 noundef %9645) #11
  br label %9664

9647:                                             ; preds = %9625, %9618
  %9648 = load i32, ptr %269, align 4, !tbaa !5
  %9649 = call ptr @__errno_location() #12
  store i32 %9648, ptr %9649, align 4, !tbaa !5
  %9650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9651 = load i32, ptr @test_count, align 4, !tbaa !5
  %9652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @s2n_strerror(i32 noundef %9653, ptr noundef @.str.4)
  %9655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call ptr @s2n_strerror_debug(i32 noundef %9656, ptr noundef @.str.4)
  %9658 = call ptr @__errno_location() #12
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call ptr @strerror(i32 noundef %9659) #11
  %9661 = call ptr @__errno_location() #12
  %9662 = load i32, ptr %9661, align 4, !tbaa !5
  %9663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9650, ptr noundef @.str.5, i32 noundef %9651, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 557, ptr noundef %9654, ptr noundef %9657, ptr noundef %9660, i32 noundef %9662) #11
  br label %9664

9664:                                             ; preds = %9647, %9630
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %9665

9665:                                             ; preds = %9664
  br label %9666

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

9667:                                             ; No predecessors!
  br label %9668

9668:                                             ; preds = %9667
  br label %9669

9669:                                             ; preds = %9668, %9611
  br label %9670

9670:                                             ; preds = %9669
  br label %9671

9671:                                             ; preds = %9670
  br label %9672

9672:                                             ; preds = %9671
  %9673 = load i32, ptr @test_count, align 4, !tbaa !5
  %9674 = add nsw i32 %9673, 1
  store i32 %9674, ptr @test_count, align 4, !tbaa !5
  %9675 = load ptr, ptr %239, align 8, !tbaa !9
  %9676 = call i32 @s2n_shutdown(ptr noundef %9675, ptr noundef %241)
  %9677 = icmp eq i32 %9676, -1
  br i1 %9677, label %9678, label %9731

9678:                                             ; preds = %9672
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %9681 = call ptr @__errno_location() #12
  %9682 = load i32, ptr %9681, align 4, !tbaa !5
  store i32 %9682, ptr %270, align 4, !tbaa !5
  %9683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9684 = call i32 @s2n_print_stacktrace(ptr noundef %9683)
  %9685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9686 = trunc i8 %9685 to i1
  br i1 %9686, label %9687, label %9709

9687:                                             ; preds = %9680
  %9688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9689 = call i32 @fileno(ptr noundef %9688) #11
  %9690 = call i32 @isatty(i32 noundef %9689) #11
  %9691 = icmp ne i32 %9690, 0
  br i1 %9691, label %9692, label %9709

9692:                                             ; preds = %9687
  %9693 = load i32, ptr %270, align 4, !tbaa !5
  %9694 = call ptr @__errno_location() #12
  store i32 %9693, ptr %9694, align 4, !tbaa !5
  %9695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9696 = load i32, ptr @test_count, align 4, !tbaa !5
  %9697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9698 = load i32, ptr %9697, align 4, !tbaa !5
  %9699 = call ptr @s2n_strerror(i32 noundef %9698, ptr noundef @.str.4)
  %9700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9701 = load i32, ptr %9700, align 4, !tbaa !5
  %9702 = call ptr @s2n_strerror_debug(i32 noundef %9701, ptr noundef @.str.4)
  %9703 = call ptr @__errno_location() #12
  %9704 = load i32, ptr %9703, align 4, !tbaa !5
  %9705 = call ptr @strerror(i32 noundef %9704) #11
  %9706 = call ptr @__errno_location() #12
  %9707 = load i32, ptr %9706, align 4, !tbaa !5
  %9708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9695, ptr noundef @.str.2, i32 noundef %9696, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 565, ptr noundef %9699, ptr noundef %9702, ptr noundef %9705, i32 noundef %9707) #11
  br label %9726

9709:                                             ; preds = %9687, %9680
  %9710 = load i32, ptr %270, align 4, !tbaa !5
  %9711 = call ptr @__errno_location() #12
  store i32 %9710, ptr %9711, align 4, !tbaa !5
  %9712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9713 = load i32, ptr @test_count, align 4, !tbaa !5
  %9714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9715 = load i32, ptr %9714, align 4, !tbaa !5
  %9716 = call ptr @s2n_strerror(i32 noundef %9715, ptr noundef @.str.4)
  %9717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9718 = load i32, ptr %9717, align 4, !tbaa !5
  %9719 = call ptr @s2n_strerror_debug(i32 noundef %9718, ptr noundef @.str.4)
  %9720 = call ptr @__errno_location() #12
  %9721 = load i32, ptr %9720, align 4, !tbaa !5
  %9722 = call ptr @strerror(i32 noundef %9721) #11
  %9723 = call ptr @__errno_location() #12
  %9724 = load i32, ptr %9723, align 4, !tbaa !5
  %9725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9712, ptr noundef @.str.5, i32 noundef %9713, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 565, ptr noundef %9716, ptr noundef %9719, ptr noundef %9722, i32 noundef %9724) #11
  br label %9726

9726:                                             ; preds = %9709, %9692
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %9727

9727:                                             ; preds = %9726
  br label %9728

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

9729:                                             ; No predecessors!
  br label %9730

9730:                                             ; preds = %9729
  br label %9731

9731:                                             ; preds = %9730, %9672
  br label %9732

9732:                                             ; preds = %9731
  br label %9733

9733:                                             ; preds = %9732
  br label %9734

9734:                                             ; preds = %9733
  %9735 = load i32, ptr @test_count, align 4, !tbaa !5
  %9736 = add nsw i32 %9735, 1
  store i32 %9736, ptr @test_count, align 4, !tbaa !5
  %9737 = load i32, ptr %241, align 4, !tbaa !5
  %9738 = icmp eq i32 %9737, 0
  br i1 %9738, label %9792, label %9739

9739:                                             ; preds = %9734
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %9742 = call ptr @__errno_location() #12
  %9743 = load i32, ptr %9742, align 4, !tbaa !5
  store i32 %9743, ptr %271, align 4, !tbaa !5
  %9744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9745 = call i32 @s2n_print_stacktrace(ptr noundef %9744)
  %9746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9747 = trunc i8 %9746 to i1
  br i1 %9747, label %9748, label %9770

9748:                                             ; preds = %9741
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = call i32 @fileno(ptr noundef %9749) #11
  %9751 = call i32 @isatty(i32 noundef %9750) #11
  %9752 = icmp ne i32 %9751, 0
  br i1 %9752, label %9753, label %9770

9753:                                             ; preds = %9748
  %9754 = load i32, ptr %271, align 4, !tbaa !5
  %9755 = call ptr @__errno_location() #12
  store i32 %9754, ptr %9755, align 4, !tbaa !5
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = load i32, ptr @test_count, align 4, !tbaa !5
  %9758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9759 = load i32, ptr %9758, align 4, !tbaa !5
  %9760 = call ptr @s2n_strerror(i32 noundef %9759, ptr noundef @.str.4)
  %9761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call ptr @s2n_strerror_debug(i32 noundef %9762, ptr noundef @.str.4)
  %9764 = call ptr @__errno_location() #12
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  %9766 = call ptr @strerror(i32 noundef %9765) #11
  %9767 = call ptr @__errno_location() #12
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef @.str.2, i32 noundef %9757, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 566, ptr noundef %9760, ptr noundef %9763, ptr noundef %9766, i32 noundef %9768) #11
  br label %9787

9770:                                             ; preds = %9748, %9741
  %9771 = load i32, ptr %271, align 4, !tbaa !5
  %9772 = call ptr @__errno_location() #12
  store i32 %9771, ptr %9772, align 4, !tbaa !5
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9776, ptr noundef @.str.4)
  %9778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call ptr @s2n_strerror_debug(i32 noundef %9779, ptr noundef @.str.4)
  %9781 = call ptr @__errno_location() #12
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call ptr @strerror(i32 noundef %9782) #11
  %9784 = call ptr @__errno_location() #12
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9773, ptr noundef @.str.5, i32 noundef %9774, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 566, ptr noundef %9777, ptr noundef %9780, ptr noundef %9783, i32 noundef %9785) #11
  br label %9787

9787:                                             ; preds = %9770, %9753
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %9788

9788:                                             ; preds = %9787
  br label %9789

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

9790:                                             ; No predecessors!
  br label %9791

9791:                                             ; preds = %9790
  br label %9792

9792:                                             ; preds = %9791, %9734
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

9794:                                             ; preds = %9793
  br label %9795

9795:                                             ; preds = %9794
  %9796 = load i32, ptr @test_count, align 4, !tbaa !5
  %9797 = add nsw i32 %9796, 1
  store i32 %9797, ptr @test_count, align 4, !tbaa !5
  %9798 = load ptr, ptr %239, align 8, !tbaa !9
  %9799 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %9798, i32 noundef 3)
  br i1 %9799, label %9853, label %9800

9800:                                             ; preds = %9795
  br label %9801

9801:                                             ; preds = %9800
  br label %9802

9802:                                             ; preds = %9801
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %9803 = call ptr @__errno_location() #12
  %9804 = load i32, ptr %9803, align 4, !tbaa !5
  store i32 %9804, ptr %272, align 4, !tbaa !5
  %9805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9806 = call i32 @s2n_print_stacktrace(ptr noundef %9805)
  %9807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9808 = trunc i8 %9807 to i1
  br i1 %9808, label %9809, label %9831

9809:                                             ; preds = %9802
  %9810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9811 = call i32 @fileno(ptr noundef %9810) #11
  %9812 = call i32 @isatty(i32 noundef %9811) #11
  %9813 = icmp ne i32 %9812, 0
  br i1 %9813, label %9814, label %9831

9814:                                             ; preds = %9809
  %9815 = load i32, ptr %272, align 4, !tbaa !5
  %9816 = call ptr @__errno_location() #12
  store i32 %9815, ptr %9816, align 4, !tbaa !5
  %9817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9820 = load i32, ptr %9819, align 4, !tbaa !5
  %9821 = call ptr @s2n_strerror(i32 noundef %9820, ptr noundef @.str.4)
  %9822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9823 = load i32, ptr %9822, align 4, !tbaa !5
  %9824 = call ptr @s2n_strerror_debug(i32 noundef %9823, ptr noundef @.str.4)
  %9825 = call ptr @__errno_location() #12
  %9826 = load i32, ptr %9825, align 4, !tbaa !5
  %9827 = call ptr @strerror(i32 noundef %9826) #11
  %9828 = call ptr @__errno_location() #12
  %9829 = load i32, ptr %9828, align 4, !tbaa !5
  %9830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9817, ptr noundef @.str.2, i32 noundef %9818, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 567, ptr noundef %9821, ptr noundef %9824, ptr noundef %9827, i32 noundef %9829) #11
  br label %9848

9831:                                             ; preds = %9809, %9802
  %9832 = load i32, ptr %272, align 4, !tbaa !5
  %9833 = call ptr @__errno_location() #12
  store i32 %9832, ptr %9833, align 4, !tbaa !5
  %9834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9835 = load i32, ptr @test_count, align 4, !tbaa !5
  %9836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror(i32 noundef %9837, ptr noundef @.str.4)
  %9839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @s2n_strerror_debug(i32 noundef %9840, ptr noundef @.str.4)
  %9842 = call ptr @__errno_location() #12
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call ptr @strerror(i32 noundef %9843) #11
  %9845 = call ptr @__errno_location() #12
  %9846 = load i32, ptr %9845, align 4, !tbaa !5
  %9847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9834, ptr noundef @.str.5, i32 noundef %9835, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 567, ptr noundef %9838, ptr noundef %9841, ptr noundef %9844, i32 noundef %9846) #11
  br label %9848

9848:                                             ; preds = %9831, %9814
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %9849

9849:                                             ; preds = %9848
  br label %9850

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

9851:                                             ; No predecessors!
  br label %9852

9852:                                             ; preds = %9851
  br label %9853

9853:                                             ; preds = %9852, %9795
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  %9856 = call i32 @s2n_io_pair_close(ptr noundef %260)
  call void @llvm.lifetime.end.p0(i64 8, ptr %260) #11
  br label %9857

9857:                                             ; preds = %9855
  %9858 = load i32, ptr @test_count, align 4, !tbaa !5
  %9859 = add nsw i32 %9858, 1
  store i32 %9859, ptr @test_count, align 4, !tbaa !5
  %9860 = load ptr, ptr %234, align 8, !tbaa !9
  %9861 = call i32 @s2n_connection_wipe(ptr noundef %9860)
  %9862 = icmp eq i32 %9861, -1
  br i1 %9862, label %9863, label %9916

9863:                                             ; preds = %9857
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %9866 = call ptr @__errno_location() #12
  %9867 = load i32, ptr %9866, align 4, !tbaa !5
  store i32 %9867, ptr %273, align 4, !tbaa !5
  %9868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9869 = call i32 @s2n_print_stacktrace(ptr noundef %9868)
  %9870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9871 = trunc i8 %9870 to i1
  br i1 %9871, label %9872, label %9894

9872:                                             ; preds = %9865
  %9873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9874 = call i32 @fileno(ptr noundef %9873) #11
  %9875 = call i32 @isatty(i32 noundef %9874) #11
  %9876 = icmp ne i32 %9875, 0
  br i1 %9876, label %9877, label %9894

9877:                                             ; preds = %9872
  %9878 = load i32, ptr %273, align 4, !tbaa !5
  %9879 = call ptr @__errno_location() #12
  store i32 %9878, ptr %9879, align 4, !tbaa !5
  %9880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9881 = load i32, ptr @test_count, align 4, !tbaa !5
  %9882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9883 = load i32, ptr %9882, align 4, !tbaa !5
  %9884 = call ptr @s2n_strerror(i32 noundef %9883, ptr noundef @.str.4)
  %9885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9886 = load i32, ptr %9885, align 4, !tbaa !5
  %9887 = call ptr @s2n_strerror_debug(i32 noundef %9886, ptr noundef @.str.4)
  %9888 = call ptr @__errno_location() #12
  %9889 = load i32, ptr %9888, align 4, !tbaa !5
  %9890 = call ptr @strerror(i32 noundef %9889) #11
  %9891 = call ptr @__errno_location() #12
  %9892 = load i32, ptr %9891, align 4, !tbaa !5
  %9893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9880, ptr noundef @.str.2, i32 noundef %9881, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 570, ptr noundef %9884, ptr noundef %9887, ptr noundef %9890, i32 noundef %9892) #11
  br label %9911

9894:                                             ; preds = %9872, %9865
  %9895 = load i32, ptr %273, align 4, !tbaa !5
  %9896 = call ptr @__errno_location() #12
  store i32 %9895, ptr %9896, align 4, !tbaa !5
  %9897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9898 = load i32, ptr @test_count, align 4, !tbaa !5
  %9899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9900 = load i32, ptr %9899, align 4, !tbaa !5
  %9901 = call ptr @s2n_strerror(i32 noundef %9900, ptr noundef @.str.4)
  %9902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9903 = load i32, ptr %9902, align 4, !tbaa !5
  %9904 = call ptr @s2n_strerror_debug(i32 noundef %9903, ptr noundef @.str.4)
  %9905 = call ptr @__errno_location() #12
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call ptr @strerror(i32 noundef %9906) #11
  %9908 = call ptr @__errno_location() #12
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9897, ptr noundef @.str.5, i32 noundef %9898, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 570, ptr noundef %9901, ptr noundef %9904, ptr noundef %9907, i32 noundef %9909) #11
  br label %9911

9911:                                             ; preds = %9894, %9877
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %9912

9912:                                             ; preds = %9911
  br label %9913

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

9914:                                             ; No predecessors!
  br label %9915

9915:                                             ; preds = %9914
  br label %9916

9916:                                             ; preds = %9915, %9857
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917
  br label %9919

9919:                                             ; preds = %9918
  %9920 = load i32, ptr @test_count, align 4, !tbaa !5
  %9921 = add nsw i32 %9920, 1
  store i32 %9921, ptr @test_count, align 4, !tbaa !5
  %9922 = load ptr, ptr %230, align 8, !tbaa !9
  %9923 = call i32 @s2n_connection_wipe(ptr noundef %9922)
  %9924 = icmp eq i32 %9923, -1
  br i1 %9924, label %9925, label %9978

9925:                                             ; preds = %9919
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %9928 = call ptr @__errno_location() #12
  %9929 = load i32, ptr %9928, align 4, !tbaa !5
  store i32 %9929, ptr %274, align 4, !tbaa !5
  %9930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9931 = call i32 @s2n_print_stacktrace(ptr noundef %9930)
  %9932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9933 = trunc i8 %9932 to i1
  br i1 %9933, label %9934, label %9956

9934:                                             ; preds = %9927
  %9935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9936 = call i32 @fileno(ptr noundef %9935) #11
  %9937 = call i32 @isatty(i32 noundef %9936) #11
  %9938 = icmp ne i32 %9937, 0
  br i1 %9938, label %9939, label %9956

9939:                                             ; preds = %9934
  %9940 = load i32, ptr %274, align 4, !tbaa !5
  %9941 = call ptr @__errno_location() #12
  store i32 %9940, ptr %9941, align 4, !tbaa !5
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = load i32, ptr @test_count, align 4, !tbaa !5
  %9944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9945 = load i32, ptr %9944, align 4, !tbaa !5
  %9946 = call ptr @s2n_strerror(i32 noundef %9945, ptr noundef @.str.4)
  %9947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9948 = load i32, ptr %9947, align 4, !tbaa !5
  %9949 = call ptr @s2n_strerror_debug(i32 noundef %9948, ptr noundef @.str.4)
  %9950 = call ptr @__errno_location() #12
  %9951 = load i32, ptr %9950, align 4, !tbaa !5
  %9952 = call ptr @strerror(i32 noundef %9951) #11
  %9953 = call ptr @__errno_location() #12
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9942, ptr noundef @.str.2, i32 noundef %9943, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 571, ptr noundef %9946, ptr noundef %9949, ptr noundef %9952, i32 noundef %9954) #11
  br label %9973

9956:                                             ; preds = %9934, %9927
  %9957 = load i32, ptr %274, align 4, !tbaa !5
  %9958 = call ptr @__errno_location() #12
  store i32 %9957, ptr %9958, align 4, !tbaa !5
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = load i32, ptr @test_count, align 4, !tbaa !5
  %9961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9962 = load i32, ptr %9961, align 4, !tbaa !5
  %9963 = call ptr @s2n_strerror(i32 noundef %9962, ptr noundef @.str.4)
  %9964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9965 = load i32, ptr %9964, align 4, !tbaa !5
  %9966 = call ptr @s2n_strerror_debug(i32 noundef %9965, ptr noundef @.str.4)
  %9967 = call ptr @__errno_location() #12
  %9968 = load i32, ptr %9967, align 4, !tbaa !5
  %9969 = call ptr @strerror(i32 noundef %9968) #11
  %9970 = call ptr @__errno_location() #12
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9959, ptr noundef @.str.5, i32 noundef %9960, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 571, ptr noundef %9963, ptr noundef %9966, ptr noundef %9969, i32 noundef %9971) #11
  br label %9973

9973:                                             ; preds = %9956, %9939
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %9974

9974:                                             ; preds = %9973
  br label %9975

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

9976:                                             ; No predecessors!
  br label %9977

9977:                                             ; preds = %9976
  br label %9978

9978:                                             ; preds = %9977, %9919
  br label %9979

9979:                                             ; preds = %9978
  br label %9980

9980:                                             ; preds = %9979
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #11
  call void @llvm.memset.p0.i64(ptr align 4 %275, i8 0, i64 8, i1 false)
  br label %9981

9981:                                             ; preds = %9980
  %9982 = load i32, ptr @test_count, align 4, !tbaa !5
  %9983 = add nsw i32 %9982, 1
  store i32 %9983, ptr @test_count, align 4, !tbaa !5
  %9984 = call i32 @s2n_new_inet_socket_pair(ptr noundef %275)
  %9985 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  store i32 %9984, ptr %9985, align 4
  %9986 = getelementptr inbounds %struct.s2n_result, ptr %276, i32 0, i32 0
  %9987 = load i32, ptr %9986, align 4
  %9988 = call zeroext i1 @s2n_result_is_ok(i32 %9987)
  br i1 %9988, label %10042, label %9989

9989:                                             ; preds = %9981
  br label %9990

9990:                                             ; preds = %9989
  br label %9991

9991:                                             ; preds = %9990
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %9992 = call ptr @__errno_location() #12
  %9993 = load i32, ptr %9992, align 4, !tbaa !5
  store i32 %9993, ptr %277, align 4, !tbaa !5
  %9994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9995 = call i32 @s2n_print_stacktrace(ptr noundef %9994)
  %9996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9997 = trunc i8 %9996 to i1
  br i1 %9997, label %9998, label %10020

9998:                                             ; preds = %9991
  %9999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10000 = call i32 @fileno(ptr noundef %9999) #11
  %10001 = call i32 @isatty(i32 noundef %10000) #11
  %10002 = icmp ne i32 %10001, 0
  br i1 %10002, label %10003, label %10020

10003:                                            ; preds = %9998
  %10004 = load i32, ptr %277, align 4, !tbaa !5
  %10005 = call ptr @__errno_location() #12
  store i32 %10004, ptr %10005, align 4, !tbaa !5
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = load i32, ptr @test_count, align 4, !tbaa !5
  %10008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10009 = load i32, ptr %10008, align 4, !tbaa !5
  %10010 = call ptr @s2n_strerror(i32 noundef %10009, ptr noundef @.str.4)
  %10011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10012 = load i32, ptr %10011, align 4, !tbaa !5
  %10013 = call ptr @s2n_strerror_debug(i32 noundef %10012, ptr noundef @.str.4)
  %10014 = call ptr @__errno_location() #12
  %10015 = load i32, ptr %10014, align 4, !tbaa !5
  %10016 = call ptr @strerror(i32 noundef %10015) #11
  %10017 = call ptr @__errno_location() #12
  %10018 = load i32, ptr %10017, align 4, !tbaa !5
  %10019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10006, ptr noundef @.str.2, i32 noundef %10007, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 576, ptr noundef %10010, ptr noundef %10013, ptr noundef %10016, i32 noundef %10018) #11
  br label %10037

10020:                                            ; preds = %9998, %9991
  %10021 = load i32, ptr %277, align 4, !tbaa !5
  %10022 = call ptr @__errno_location() #12
  store i32 %10021, ptr %10022, align 4, !tbaa !5
  %10023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10024 = load i32, ptr @test_count, align 4, !tbaa !5
  %10025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call ptr @s2n_strerror(i32 noundef %10026, ptr noundef @.str.4)
  %10028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call ptr @s2n_strerror_debug(i32 noundef %10029, ptr noundef @.str.4)
  %10031 = call ptr @__errno_location() #12
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call ptr @strerror(i32 noundef %10032) #11
  %10034 = call ptr @__errno_location() #12
  %10035 = load i32, ptr %10034, align 4, !tbaa !5
  %10036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10023, ptr noundef @.str.5, i32 noundef %10024, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 576, ptr noundef %10027, ptr noundef %10030, ptr noundef %10033, i32 noundef %10035) #11
  br label %10037

10037:                                            ; preds = %10020, %10003
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %10038

10038:                                            ; preds = %10037
  br label %10039

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

10040:                                            ; No predecessors!
  br label %10041

10041:                                            ; preds = %10040
  br label %10042

10042:                                            ; preds = %10041, %9981
  br label %10043

10043:                                            ; preds = %10042
  br label %10044

10044:                                            ; preds = %10043
  br label %10045

10045:                                            ; preds = %10044
  %10046 = load i32, ptr @test_count, align 4, !tbaa !5
  %10047 = add nsw i32 %10046, 1
  store i32 %10047, ptr @test_count, align 4, !tbaa !5
  %10048 = load ptr, ptr %234, align 8, !tbaa !9
  %10049 = load ptr, ptr %230, align 8, !tbaa !9
  %10050 = call i32 @s2n_setup_connections(ptr noundef %10048, ptr noundef %10049, ptr noundef %275)
  %10051 = getelementptr inbounds %struct.s2n_result, ptr %278, i32 0, i32 0
  store i32 %10050, ptr %10051, align 4
  %10052 = getelementptr inbounds %struct.s2n_result, ptr %278, i32 0, i32 0
  %10053 = load i32, ptr %10052, align 4
  %10054 = call zeroext i1 @s2n_result_is_ok(i32 %10053)
  br i1 %10054, label %10108, label %10055

10055:                                            ; preds = %10045
  br label %10056

10056:                                            ; preds = %10055
  br label %10057

10057:                                            ; preds = %10056
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %10058 = call ptr @__errno_location() #12
  %10059 = load i32, ptr %10058, align 4, !tbaa !5
  store i32 %10059, ptr %279, align 4, !tbaa !5
  %10060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10061 = call i32 @s2n_print_stacktrace(ptr noundef %10060)
  %10062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10063 = trunc i8 %10062 to i1
  br i1 %10063, label %10064, label %10086

10064:                                            ; preds = %10057
  %10065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10066 = call i32 @fileno(ptr noundef %10065) #11
  %10067 = call i32 @isatty(i32 noundef %10066) #11
  %10068 = icmp ne i32 %10067, 0
  br i1 %10068, label %10069, label %10086

10069:                                            ; preds = %10064
  %10070 = load i32, ptr %279, align 4, !tbaa !5
  %10071 = call ptr @__errno_location() #12
  store i32 %10070, ptr %10071, align 4, !tbaa !5
  %10072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10073 = load i32, ptr @test_count, align 4, !tbaa !5
  %10074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call ptr @s2n_strerror(i32 noundef %10075, ptr noundef @.str.4)
  %10077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10078 = load i32, ptr %10077, align 4, !tbaa !5
  %10079 = call ptr @s2n_strerror_debug(i32 noundef %10078, ptr noundef @.str.4)
  %10080 = call ptr @__errno_location() #12
  %10081 = load i32, ptr %10080, align 4, !tbaa !5
  %10082 = call ptr @strerror(i32 noundef %10081) #11
  %10083 = call ptr @__errno_location() #12
  %10084 = load i32, ptr %10083, align 4, !tbaa !5
  %10085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10072, ptr noundef @.str.2, i32 noundef %10073, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 577, ptr noundef %10076, ptr noundef %10079, ptr noundef %10082, i32 noundef %10084) #11
  br label %10103

10086:                                            ; preds = %10064, %10057
  %10087 = load i32, ptr %279, align 4, !tbaa !5
  %10088 = call ptr @__errno_location() #12
  store i32 %10087, ptr %10088, align 4, !tbaa !5
  %10089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10090 = load i32, ptr @test_count, align 4, !tbaa !5
  %10091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror(i32 noundef %10092, ptr noundef @.str.4)
  %10094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  %10096 = call ptr @s2n_strerror_debug(i32 noundef %10095, ptr noundef @.str.4)
  %10097 = call ptr @__errno_location() #12
  %10098 = load i32, ptr %10097, align 4, !tbaa !5
  %10099 = call ptr @strerror(i32 noundef %10098) #11
  %10100 = call ptr @__errno_location() #12
  %10101 = load i32, ptr %10100, align 4, !tbaa !5
  %10102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10089, ptr noundef @.str.5, i32 noundef %10090, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 577, ptr noundef %10093, ptr noundef %10096, ptr noundef %10099, i32 noundef %10101) #11
  br label %10103

10103:                                            ; preds = %10086, %10069
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %10104

10104:                                            ; preds = %10103
  br label %10105

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

10106:                                            ; No predecessors!
  br label %10107

10107:                                            ; preds = %10106
  br label %10108

10108:                                            ; preds = %10107, %10045
  br label %10109

10109:                                            ; preds = %10108
  br label %10110

10110:                                            ; preds = %10109
  br label %10111

10111:                                            ; preds = %10110
  %10112 = load i32, ptr @test_count, align 4, !tbaa !5
  %10113 = add nsw i32 %10112, 1
  store i32 %10113, ptr @test_count, align 4, !tbaa !5
  %10114 = load ptr, ptr %239, align 8, !tbaa !9
  %10115 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %10114)
  %10116 = icmp eq i32 %10115, -1
  br i1 %10116, label %10117, label %10170

10117:                                            ; preds = %10111
  br label %10118

10118:                                            ; preds = %10117
  br label %10119

10119:                                            ; preds = %10118
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %10120 = call ptr @__errno_location() #12
  %10121 = load i32, ptr %10120, align 4, !tbaa !5
  store i32 %10121, ptr %280, align 4, !tbaa !5
  %10122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10123 = call i32 @s2n_print_stacktrace(ptr noundef %10122)
  %10124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10125 = trunc i8 %10124 to i1
  br i1 %10125, label %10126, label %10148

10126:                                            ; preds = %10119
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = call i32 @fileno(ptr noundef %10127) #11
  %10129 = call i32 @isatty(i32 noundef %10128) #11
  %10130 = icmp ne i32 %10129, 0
  br i1 %10130, label %10131, label %10148

10131:                                            ; preds = %10126
  %10132 = load i32, ptr %280, align 4, !tbaa !5
  %10133 = call ptr @__errno_location() #12
  store i32 %10132, ptr %10133, align 4, !tbaa !5
  %10134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10135 = load i32, ptr @test_count, align 4, !tbaa !5
  %10136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10137 = load i32, ptr %10136, align 4, !tbaa !5
  %10138 = call ptr @s2n_strerror(i32 noundef %10137, ptr noundef @.str.4)
  %10139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10140 = load i32, ptr %10139, align 4, !tbaa !5
  %10141 = call ptr @s2n_strerror_debug(i32 noundef %10140, ptr noundef @.str.4)
  %10142 = call ptr @__errno_location() #12
  %10143 = load i32, ptr %10142, align 4, !tbaa !5
  %10144 = call ptr @strerror(i32 noundef %10143) #11
  %10145 = call ptr @__errno_location() #12
  %10146 = load i32, ptr %10145, align 4, !tbaa !5
  %10147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10134, ptr noundef @.str.2, i32 noundef %10135, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 578, ptr noundef %10138, ptr noundef %10141, ptr noundef %10144, i32 noundef %10146) #11
  br label %10165

10148:                                            ; preds = %10126, %10119
  %10149 = load i32, ptr %280, align 4, !tbaa !5
  %10150 = call ptr @__errno_location() #12
  store i32 %10149, ptr %10150, align 4, !tbaa !5
  %10151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10152 = load i32, ptr @test_count, align 4, !tbaa !5
  %10153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10154 = load i32, ptr %10153, align 4, !tbaa !5
  %10155 = call ptr @s2n_strerror(i32 noundef %10154, ptr noundef @.str.4)
  %10156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror_debug(i32 noundef %10157, ptr noundef @.str.4)
  %10159 = call ptr @__errno_location() #12
  %10160 = load i32, ptr %10159, align 4, !tbaa !5
  %10161 = call ptr @strerror(i32 noundef %10160) #11
  %10162 = call ptr @__errno_location() #12
  %10163 = load i32, ptr %10162, align 4, !tbaa !5
  %10164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10151, ptr noundef @.str.5, i32 noundef %10152, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 578, ptr noundef %10155, ptr noundef %10158, ptr noundef %10161, i32 noundef %10163) #11
  br label %10165

10165:                                            ; preds = %10148, %10131
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %10166

10166:                                            ; preds = %10165
  br label %10167

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

10168:                                            ; No predecessors!
  br label %10169

10169:                                            ; preds = %10168
  br label %10170

10170:                                            ; preds = %10169, %10111
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

10172:                                            ; preds = %10171
  br label %10173

10173:                                            ; preds = %10172
  %10174 = load i32, ptr @test_count, align 4, !tbaa !5
  %10175 = add nsw i32 %10174, 1
  store i32 %10175, ptr @test_count, align 4, !tbaa !5
  %10176 = load ptr, ptr %240, align 8, !tbaa !9
  %10177 = getelementptr inbounds %struct.s2n_connection, ptr %10176, i32 0, i32 13
  %10178 = load i32, ptr %10177, align 4, !tbaa !58
  %10179 = call i32 @s2n_io_pair_close_one_end(ptr noundef %275, i32 noundef %10178)
  %10180 = icmp eq i32 %10179, -1
  br i1 %10180, label %10181, label %10234

10181:                                            ; preds = %10173
  br label %10182

10182:                                            ; preds = %10181
  br label %10183

10183:                                            ; preds = %10182
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %10184 = call ptr @__errno_location() #12
  %10185 = load i32, ptr %10184, align 4, !tbaa !5
  store i32 %10185, ptr %281, align 4, !tbaa !5
  %10186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10187 = call i32 @s2n_print_stacktrace(ptr noundef %10186)
  %10188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10189 = trunc i8 %10188 to i1
  br i1 %10189, label %10190, label %10212

10190:                                            ; preds = %10183
  %10191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10192 = call i32 @fileno(ptr noundef %10191) #11
  %10193 = call i32 @isatty(i32 noundef %10192) #11
  %10194 = icmp ne i32 %10193, 0
  br i1 %10194, label %10195, label %10212

10195:                                            ; preds = %10190
  %10196 = load i32, ptr %281, align 4, !tbaa !5
  %10197 = call ptr @__errno_location() #12
  store i32 %10196, ptr %10197, align 4, !tbaa !5
  %10198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10199 = load i32, ptr @test_count, align 4, !tbaa !5
  %10200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10201 = load i32, ptr %10200, align 4, !tbaa !5
  %10202 = call ptr @s2n_strerror(i32 noundef %10201, ptr noundef @.str.4)
  %10203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror_debug(i32 noundef %10204, ptr noundef @.str.4)
  %10206 = call ptr @__errno_location() #12
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call ptr @strerror(i32 noundef %10207) #11
  %10209 = call ptr @__errno_location() #12
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10198, ptr noundef @.str.2, i32 noundef %10199, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 580, ptr noundef %10202, ptr noundef %10205, ptr noundef %10208, i32 noundef %10210) #11
  br label %10229

10212:                                            ; preds = %10190, %10183
  %10213 = load i32, ptr %281, align 4, !tbaa !5
  %10214 = call ptr @__errno_location() #12
  store i32 %10213, ptr %10214, align 4, !tbaa !5
  %10215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10216 = load i32, ptr @test_count, align 4, !tbaa !5
  %10217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10218 = load i32, ptr %10217, align 4, !tbaa !5
  %10219 = call ptr @s2n_strerror(i32 noundef %10218, ptr noundef @.str.4)
  %10220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror_debug(i32 noundef %10221, ptr noundef @.str.4)
  %10223 = call ptr @__errno_location() #12
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @strerror(i32 noundef %10224) #11
  %10226 = call ptr @__errno_location() #12
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10215, ptr noundef @.str.5, i32 noundef %10216, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 580, ptr noundef %10219, ptr noundef %10222, ptr noundef %10225, i32 noundef %10227) #11
  br label %10229

10229:                                            ; preds = %10212, %10195
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %10230

10230:                                            ; preds = %10229
  br label %10231

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

10232:                                            ; No predecessors!
  br label %10233

10233:                                            ; preds = %10232
  br label %10234

10234:                                            ; preds = %10233, %10173
  br label %10235

10235:                                            ; preds = %10234
  br label %10236

10236:                                            ; preds = %10235
  call void @llvm.lifetime.start.p0(i64 10, ptr %282) #11
  call void @llvm.memset.p0.i64(ptr align 1 %282, i8 0, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %10237 = load ptr, ptr %239, align 8, !tbaa !9
  %10238 = getelementptr inbounds [10 x i8], ptr %282, i64 0, i64 0
  %10239 = call i64 @s2n_recv(ptr noundef %10237, ptr noundef %10238, i64 noundef 10, ptr noundef %241)
  %10240 = trunc i64 %10239 to i32
  store i32 %10240, ptr %283, align 4, !tbaa !5
  br label %10241

10241:                                            ; preds = %10236
  br label %10242

10242:                                            ; preds = %10241
  br label %10243

10243:                                            ; preds = %10242
  %10244 = load i32, ptr @test_count, align 4, !tbaa !5
  %10245 = add nsw i32 %10244, 1
  store i32 %10245, ptr @test_count, align 4, !tbaa !5
  %10246 = load i32, ptr %283, align 4, !tbaa !5
  %10247 = icmp eq i32 %10246, -1
  br i1 %10247, label %10301, label %10248

10248:                                            ; preds = %10243
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %10251 = call ptr @__errno_location() #12
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  store i32 %10252, ptr %284, align 4, !tbaa !5
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @s2n_print_stacktrace(ptr noundef %10253)
  %10255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10256 = trunc i8 %10255 to i1
  br i1 %10256, label %10257, label %10279

10257:                                            ; preds = %10250
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = call i32 @fileno(ptr noundef %10258) #11
  %10260 = call i32 @isatty(i32 noundef %10259) #11
  %10261 = icmp ne i32 %10260, 0
  br i1 %10261, label %10262, label %10279

10262:                                            ; preds = %10257
  %10263 = load i32, ptr %284, align 4, !tbaa !5
  %10264 = call ptr @__errno_location() #12
  store i32 %10263, ptr %10264, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  %10269 = call ptr @s2n_strerror(i32 noundef %10268, ptr noundef @.str.4)
  %10270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  %10272 = call ptr @s2n_strerror_debug(i32 noundef %10271, ptr noundef @.str.4)
  %10273 = call ptr @__errno_location() #12
  %10274 = load i32, ptr %10273, align 4, !tbaa !5
  %10275 = call ptr @strerror(i32 noundef %10274) #11
  %10276 = call ptr @__errno_location() #12
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef @.str.2, i32 noundef %10266, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10269, ptr noundef %10272, ptr noundef %10275, i32 noundef %10277) #11
  br label %10296

10279:                                            ; preds = %10257, %10250
  %10280 = load i32, ptr %284, align 4, !tbaa !5
  %10281 = call ptr @__errno_location() #12
  store i32 %10280, ptr %10281, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10285 = load i32, ptr %10284, align 4, !tbaa !5
  %10286 = call ptr @s2n_strerror(i32 noundef %10285, ptr noundef @.str.4)
  %10287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10288 = load i32, ptr %10287, align 4, !tbaa !5
  %10289 = call ptr @s2n_strerror_debug(i32 noundef %10288, ptr noundef @.str.4)
  %10290 = call ptr @__errno_location() #12
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @strerror(i32 noundef %10291) #11
  %10293 = call ptr @__errno_location() #12
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10282, ptr noundef @.str.5, i32 noundef %10283, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10286, ptr noundef %10289, ptr noundef %10292, i32 noundef %10294) #11
  br label %10296

10296:                                            ; preds = %10279, %10262
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

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

10299:                                            ; No predecessors!
  br label %10300

10300:                                            ; preds = %10299
  br label %10301

10301:                                            ; preds = %10300, %10243
  br label %10302

10302:                                            ; preds = %10301
  br label %10303

10303:                                            ; preds = %10302
  br label %10304

10304:                                            ; preds = %10303
  %10305 = load i32, ptr @test_count, align 4, !tbaa !5
  %10306 = add nsw i32 %10305, 1
  store i32 %10306, ptr @test_count, align 4, !tbaa !5
  %10307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10308 = load i32, ptr %10307, align 4, !tbaa !5
  %10309 = icmp eq i32 %10308, 134217728
  br i1 %10309, label %10363, label %10310

10310:                                            ; preds = %10304
  br label %10311

10311:                                            ; preds = %10310
  br label %10312

10312:                                            ; preds = %10311
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %10313 = call ptr @__errno_location() #12
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  store i32 %10314, ptr %285, align 4, !tbaa !5
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = call i32 @s2n_print_stacktrace(ptr noundef %10315)
  %10317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10318 = trunc i8 %10317 to i1
  br i1 %10318, label %10319, label %10341

10319:                                            ; preds = %10312
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = call i32 @fileno(ptr noundef %10320) #11
  %10322 = call i32 @isatty(i32 noundef %10321) #11
  %10323 = icmp ne i32 %10322, 0
  br i1 %10323, label %10324, label %10341

10324:                                            ; preds = %10319
  %10325 = load i32, ptr %285, align 4, !tbaa !5
  %10326 = call ptr @__errno_location() #12
  store i32 %10325, ptr %10326, align 4, !tbaa !5
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = load i32, ptr @test_count, align 4, !tbaa !5
  %10329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10330 = load i32, ptr %10329, align 4, !tbaa !5
  %10331 = call ptr @s2n_strerror(i32 noundef %10330, ptr noundef @.str.4)
  %10332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10333 = load i32, ptr %10332, align 4, !tbaa !5
  %10334 = call ptr @s2n_strerror_debug(i32 noundef %10333, ptr noundef @.str.4)
  %10335 = call ptr @__errno_location() #12
  %10336 = load i32, ptr %10335, align 4, !tbaa !5
  %10337 = call ptr @strerror(i32 noundef %10336) #11
  %10338 = call ptr @__errno_location() #12
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  %10340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10327, ptr noundef @.str.2, i32 noundef %10328, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10331, ptr noundef %10334, ptr noundef %10337, i32 noundef %10339) #11
  br label %10358

10341:                                            ; preds = %10319, %10312
  %10342 = load i32, ptr %285, align 4, !tbaa !5
  %10343 = call ptr @__errno_location() #12
  store i32 %10342, ptr %10343, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10347 = load i32, ptr %10346, align 4, !tbaa !5
  %10348 = call ptr @s2n_strerror(i32 noundef %10347, ptr noundef @.str.4)
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror_debug(i32 noundef %10350, ptr noundef @.str.4)
  %10352 = call ptr @__errno_location() #12
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @strerror(i32 noundef %10353) #11
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef @.str.5, i32 noundef %10345, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10348, ptr noundef %10351, ptr noundef %10354, i32 noundef %10356) #11
  br label %10358

10358:                                            ; preds = %10341, %10324
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %10359

10359:                                            ; preds = %10358
  br label %10360

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

10361:                                            ; No predecessors!
  br label %10362

10362:                                            ; preds = %10361
  br label %10363

10363:                                            ; preds = %10362, %10304
  br label %10364

10364:                                            ; preds = %10363
  br label %10365

10365:                                            ; preds = %10364
  br label %10366

10366:                                            ; preds = %10365
  %10367 = load i32, ptr @test_count, align 4, !tbaa !5
  %10368 = add nsw i32 %10367, 1
  store i32 %10368, ptr @test_count, align 4, !tbaa !5
  %10369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @s2n_strerror_debug(i32 noundef %10370, ptr noundef @.str.4)
  %10372 = icmp eq ptr %10371, null
  br i1 %10372, label %10373, label %10426

10373:                                            ; preds = %10366
  br label %10374

10374:                                            ; preds = %10373
  br label %10375

10375:                                            ; preds = %10374
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %10376 = call ptr @__errno_location() #12
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  store i32 %10377, ptr %286, align 4, !tbaa !5
  %10378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10379 = call i32 @s2n_print_stacktrace(ptr noundef %10378)
  %10380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10381 = trunc i8 %10380 to i1
  br i1 %10381, label %10382, label %10404

10382:                                            ; preds = %10375
  %10383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10384 = call i32 @fileno(ptr noundef %10383) #11
  %10385 = call i32 @isatty(i32 noundef %10384) #11
  %10386 = icmp ne i32 %10385, 0
  br i1 %10386, label %10387, label %10404

10387:                                            ; preds = %10382
  %10388 = load i32, ptr %286, align 4, !tbaa !5
  %10389 = call ptr @__errno_location() #12
  store i32 %10388, ptr %10389, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10393, ptr noundef @.str.4)
  %10395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call ptr @s2n_strerror_debug(i32 noundef %10396, ptr noundef @.str.4)
  %10398 = call ptr @__errno_location() #12
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call ptr @strerror(i32 noundef %10399) #11
  %10401 = call ptr @__errno_location() #12
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  %10403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10390, ptr noundef @.str.2, i32 noundef %10391, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10394, ptr noundef %10397, ptr noundef %10400, i32 noundef %10402) #11
  br label %10421

10404:                                            ; preds = %10382, %10375
  %10405 = load i32, ptr %286, align 4, !tbaa !5
  %10406 = call ptr @__errno_location() #12
  store i32 %10405, ptr %10406, align 4, !tbaa !5
  %10407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10408 = load i32, ptr @test_count, align 4, !tbaa !5
  %10409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10410 = load i32, ptr %10409, align 4, !tbaa !5
  %10411 = call ptr @s2n_strerror(i32 noundef %10410, ptr noundef @.str.4)
  %10412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10413 = load i32, ptr %10412, align 4, !tbaa !5
  %10414 = call ptr @s2n_strerror_debug(i32 noundef %10413, ptr noundef @.str.4)
  %10415 = call ptr @__errno_location() #12
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  %10417 = call ptr @strerror(i32 noundef %10416) #11
  %10418 = call ptr @__errno_location() #12
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10407, ptr noundef @.str.5, i32 noundef %10408, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 584, ptr noundef %10411, ptr noundef %10414, ptr noundef %10417, i32 noundef %10419) #11
  br label %10421

10421:                                            ; preds = %10404, %10387
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

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

10424:                                            ; No predecessors!
  br label %10425

10425:                                            ; preds = %10424
  br label %10426

10426:                                            ; preds = %10425, %10366
  br label %10427

10427:                                            ; preds = %10426
  br label %10428

10428:                                            ; preds = %10427
  br label %10429

10429:                                            ; preds = %10428
  br label %10430

10430:                                            ; preds = %10429
  br label %10431

10431:                                            ; preds = %10430
  %10432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10432, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10433 = call ptr @__errno_location() #12
  store i32 0, ptr %10433, align 4, !tbaa !5
  br label %10434

10434:                                            ; preds = %10431
  br label %10435

10435:                                            ; preds = %10434
  br label %10436

10436:                                            ; preds = %10435
  br label %10437

10437:                                            ; preds = %10436
  br label %10438

10438:                                            ; preds = %10437
  %10439 = load i32, ptr @test_count, align 4, !tbaa !5
  %10440 = add nsw i32 %10439, 1
  store i32 %10440, ptr @test_count, align 4, !tbaa !5
  %10441 = load i32, ptr %241, align 4, !tbaa !5
  %10442 = icmp eq i32 %10441, 1
  br i1 %10442, label %10496, label %10443

10443:                                            ; preds = %10438
  br label %10444

10444:                                            ; preds = %10443
  br label %10445

10445:                                            ; preds = %10444
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %10446 = call ptr @__errno_location() #12
  %10447 = load i32, ptr %10446, align 4, !tbaa !5
  store i32 %10447, ptr %287, align 4, !tbaa !5
  %10448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10449 = call i32 @s2n_print_stacktrace(ptr noundef %10448)
  %10450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10451 = trunc i8 %10450 to i1
  br i1 %10451, label %10452, label %10474

10452:                                            ; preds = %10445
  %10453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10454 = call i32 @fileno(ptr noundef %10453) #11
  %10455 = call i32 @isatty(i32 noundef %10454) #11
  %10456 = icmp ne i32 %10455, 0
  br i1 %10456, label %10457, label %10474

10457:                                            ; preds = %10452
  %10458 = load i32, ptr %287, align 4, !tbaa !5
  %10459 = call ptr @__errno_location() #12
  store i32 %10458, ptr %10459, align 4, !tbaa !5
  %10460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10461 = load i32, ptr @test_count, align 4, !tbaa !5
  %10462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  %10464 = call ptr @s2n_strerror(i32 noundef %10463, ptr noundef @.str.4)
  %10465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10466 = load i32, ptr %10465, align 4, !tbaa !5
  %10467 = call ptr @s2n_strerror_debug(i32 noundef %10466, ptr noundef @.str.4)
  %10468 = call ptr @__errno_location() #12
  %10469 = load i32, ptr %10468, align 4, !tbaa !5
  %10470 = call ptr @strerror(i32 noundef %10469) #11
  %10471 = call ptr @__errno_location() #12
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10460, ptr noundef @.str.2, i32 noundef %10461, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 585, ptr noundef %10464, ptr noundef %10467, ptr noundef %10470, i32 noundef %10472) #11
  br label %10491

10474:                                            ; preds = %10452, %10445
  %10475 = load i32, ptr %287, align 4, !tbaa !5
  %10476 = call ptr @__errno_location() #12
  store i32 %10475, ptr %10476, align 4, !tbaa !5
  %10477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10478 = load i32, ptr @test_count, align 4, !tbaa !5
  %10479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10480 = load i32, ptr %10479, align 4, !tbaa !5
  %10481 = call ptr @s2n_strerror(i32 noundef %10480, ptr noundef @.str.4)
  %10482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10483 = load i32, ptr %10482, align 4, !tbaa !5
  %10484 = call ptr @s2n_strerror_debug(i32 noundef %10483, ptr noundef @.str.4)
  %10485 = call ptr @__errno_location() #12
  %10486 = load i32, ptr %10485, align 4, !tbaa !5
  %10487 = call ptr @strerror(i32 noundef %10486) #11
  %10488 = call ptr @__errno_location() #12
  %10489 = load i32, ptr %10488, align 4, !tbaa !5
  %10490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10477, ptr noundef @.str.5, i32 noundef %10478, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 585, ptr noundef %10481, ptr noundef %10484, ptr noundef %10487, i32 noundef %10489) #11
  br label %10491

10491:                                            ; preds = %10474, %10457
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %10492

10492:                                            ; preds = %10491
  br label %10493

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

10494:                                            ; No predecessors!
  br label %10495

10495:                                            ; preds = %10494
  br label %10496

10496:                                            ; preds = %10495, %10438
  br label %10497

10497:                                            ; preds = %10496
  br label %10498

10498:                                            ; preds = %10497
  br label %10499

10499:                                            ; preds = %10498
  %10500 = load i32, ptr @test_count, align 4, !tbaa !5
  %10501 = add nsw i32 %10500, 1
  store i32 %10501, ptr @test_count, align 4, !tbaa !5
  %10502 = load ptr, ptr %239, align 8, !tbaa !9
  %10503 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %10502, i32 noundef 3)
  br i1 %10503, label %10557, label %10504

10504:                                            ; preds = %10499
  br label %10505

10505:                                            ; preds = %10504
  br label %10506

10506:                                            ; preds = %10505
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %10507 = call ptr @__errno_location() #12
  %10508 = load i32, ptr %10507, align 4, !tbaa !5
  store i32 %10508, ptr %288, align 4, !tbaa !5
  %10509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10510 = call i32 @s2n_print_stacktrace(ptr noundef %10509)
  %10511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10512 = trunc i8 %10511 to i1
  br i1 %10512, label %10513, label %10535

10513:                                            ; preds = %10506
  %10514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10515 = call i32 @fileno(ptr noundef %10514) #11
  %10516 = call i32 @isatty(i32 noundef %10515) #11
  %10517 = icmp ne i32 %10516, 0
  br i1 %10517, label %10518, label %10535

10518:                                            ; preds = %10513
  %10519 = load i32, ptr %288, align 4, !tbaa !5
  %10520 = call ptr @__errno_location() #12
  store i32 %10519, ptr %10520, align 4, !tbaa !5
  %10521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10522 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10524, ptr noundef @.str.4)
  %10526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10527 = load i32, ptr %10526, align 4, !tbaa !5
  %10528 = call ptr @s2n_strerror_debug(i32 noundef %10527, ptr noundef @.str.4)
  %10529 = call ptr @__errno_location() #12
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @strerror(i32 noundef %10530) #11
  %10532 = call ptr @__errno_location() #12
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10521, ptr noundef @.str.2, i32 noundef %10522, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 588, ptr noundef %10525, ptr noundef %10528, ptr noundef %10531, i32 noundef %10533) #11
  br label %10552

10535:                                            ; preds = %10513, %10506
  %10536 = load i32, ptr %288, align 4, !tbaa !5
  %10537 = call ptr @__errno_location() #12
  store i32 %10536, ptr %10537, align 4, !tbaa !5
  %10538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10539 = load i32, ptr @test_count, align 4, !tbaa !5
  %10540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10541 = load i32, ptr %10540, align 4, !tbaa !5
  %10542 = call ptr @s2n_strerror(i32 noundef %10541, ptr noundef @.str.4)
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror_debug(i32 noundef %10544, ptr noundef @.str.4)
  %10546 = call ptr @__errno_location() #12
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @strerror(i32 noundef %10547) #11
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10538, ptr noundef @.str.5, i32 noundef %10539, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 588, ptr noundef %10542, ptr noundef %10545, ptr noundef %10548, i32 noundef %10550) #11
  br label %10552

10552:                                            ; preds = %10535, %10518
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %10553

10553:                                            ; preds = %10552
  br label %10554

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

10555:                                            ; No predecessors!
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

10557:                                            ; preds = %10556, %10499
  br label %10558

10558:                                            ; preds = %10557
  br label %10559

10559:                                            ; preds = %10558
  br label %10560

10560:                                            ; preds = %10559
  %10561 = load i32, ptr @test_count, align 4, !tbaa !5
  %10562 = add nsw i32 %10561, 1
  store i32 %10562, ptr @test_count, align 4, !tbaa !5
  %10563 = load ptr, ptr %239, align 8, !tbaa !9
  %10564 = call i64 @s2n_connection_get_delay(ptr noundef %10563)
  %10565 = icmp eq i64 %10564, 0
  br i1 %10565, label %10619, label %10566

10566:                                            ; preds = %10560
  br label %10567

10567:                                            ; preds = %10566
  br label %10568

10568:                                            ; preds = %10567
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %10569 = call ptr @__errno_location() #12
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  store i32 %10570, ptr %289, align 4, !tbaa !5
  %10571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10572 = call i32 @s2n_print_stacktrace(ptr noundef %10571)
  %10573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10574 = trunc i8 %10573 to i1
  br i1 %10574, label %10575, label %10597

10575:                                            ; preds = %10568
  %10576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10577 = call i32 @fileno(ptr noundef %10576) #11
  %10578 = call i32 @isatty(i32 noundef %10577) #11
  %10579 = icmp ne i32 %10578, 0
  br i1 %10579, label %10580, label %10597

10580:                                            ; preds = %10575
  %10581 = load i32, ptr %289, align 4, !tbaa !5
  %10582 = call ptr @__errno_location() #12
  store i32 %10581, ptr %10582, align 4, !tbaa !5
  %10583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10584 = load i32, ptr @test_count, align 4, !tbaa !5
  %10585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10586 = load i32, ptr %10585, align 4, !tbaa !5
  %10587 = call ptr @s2n_strerror(i32 noundef %10586, ptr noundef @.str.4)
  %10588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call ptr @s2n_strerror_debug(i32 noundef %10589, ptr noundef @.str.4)
  %10591 = call ptr @__errno_location() #12
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @strerror(i32 noundef %10592) #11
  %10594 = call ptr @__errno_location() #12
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10583, ptr noundef @.str.2, i32 noundef %10584, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 589, ptr noundef %10587, ptr noundef %10590, ptr noundef %10593, i32 noundef %10595) #11
  br label %10614

10597:                                            ; preds = %10575, %10568
  %10598 = load i32, ptr %289, align 4, !tbaa !5
  %10599 = call ptr @__errno_location() #12
  store i32 %10598, ptr %10599, align 4, !tbaa !5
  %10600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10601 = load i32, ptr @test_count, align 4, !tbaa !5
  %10602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  %10604 = call ptr @s2n_strerror(i32 noundef %10603, ptr noundef @.str.4)
  %10605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror_debug(i32 noundef %10606, ptr noundef @.str.4)
  %10608 = call ptr @__errno_location() #12
  %10609 = load i32, ptr %10608, align 4, !tbaa !5
  %10610 = call ptr @strerror(i32 noundef %10609) #11
  %10611 = call ptr @__errno_location() #12
  %10612 = load i32, ptr %10611, align 4, !tbaa !5
  %10613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10600, ptr noundef @.str.5, i32 noundef %10601, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 589, ptr noundef %10604, ptr noundef %10607, ptr noundef %10610, i32 noundef %10612) #11
  br label %10614

10614:                                            ; preds = %10597, %10580
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %10615

10615:                                            ; preds = %10614
  br label %10616

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

10617:                                            ; No predecessors!
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

10619:                                            ; preds = %10618, %10560
  br label %10620

10620:                                            ; preds = %10619
  br label %10621

10621:                                            ; preds = %10620
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %282) #11
  %10622 = call i32 @s2n_io_pair_close(ptr noundef %275)
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %238) #11
  %10623 = call i32 @s2n_connection_ptr_free(ptr noundef %234)
  %10624 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  store i32 %10623, ptr %10624, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #11
  %10625 = call i32 @s2n_connection_ptr_free(ptr noundef %230)
  %10626 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  store i32 %10625, ptr %10626, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %10627

10627:                                            ; preds = %10621
  %10628 = load i64, ptr %228, align 8, !tbaa !15
  %10629 = add i64 %10628, 1
  store i64 %10629, ptr %228, align 8, !tbaa !15
  br label %8074, !llvm.loop !59

10630:                                            ; preds = %8081, %8077
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #11
  br label %10631

10631:                                            ; preds = %10630
  %10632 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %10633 = trunc i8 %10632 to i1
  br i1 %10633, label %10637, label %10634

10634:                                            ; preds = %10631
  %10635 = load i8, ptr %32, align 1, !tbaa !11, !range !13, !noundef !14
  %10636 = trunc i8 %10635 to i1
  br i1 %10636, label %10637, label %11785

10637:                                            ; preds = %10634, %10631
  call void @llvm.lifetime.start.p0(i64 64, ptr %292) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %292, ptr align 16 @__const.main.test_cases, i64 64, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %293) #11
  store i64 0, ptr %293, align 8, !tbaa !15
  br label %10638

10638:                                            ; preds = %10810, %10637
  %10639 = load i64, ptr %293, align 8, !tbaa !15
  %10640 = load i16, ptr @cipher_preferences_test_all, align 8, !tbaa !60
  %10641 = zext i16 %10640 to i64
  %10642 = icmp ult i64 %10639, %10641
  br i1 %10642, label %10644, label %10643

10643:                                            ; preds = %10638
  store i32 1021, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #11
  br label %10813

10644:                                            ; preds = %10638
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #11
  %10645 = load ptr, ptr getelementptr inbounds (%struct.s2n_cipher_preferences, ptr @cipher_preferences_test_all, i32 0, i32 1), align 8, !tbaa !62
  %10646 = load i64, ptr %293, align 8, !tbaa !15
  %10647 = getelementptr inbounds ptr, ptr %10645, i64 %10646
  %10648 = load ptr, ptr %10647, align 8, !tbaa !9
  store ptr %10648, ptr %294, align 8, !tbaa !9
  %10649 = load ptr, ptr %294, align 8, !tbaa !9
  %10650 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %10649, i32 0, i32 6
  %10651 = load ptr, ptr %10650, align 8, !tbaa !63
  %10652 = icmp eq ptr %10651, null
  br i1 %10652, label %10653, label %10654

10653:                                            ; preds = %10644
  store i32 1023, ptr %12, align 4
  br label %10807

10654:                                            ; preds = %10644
  call void @llvm.lifetime.start.p0(i64 8, ptr %295) #11
  %10655 = load ptr, ptr %294, align 8, !tbaa !9
  %10656 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %10655, i32 0, i32 6
  %10657 = load ptr, ptr %10656, align 8, !tbaa !63
  %10658 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %10657, i32 0, i32 0
  %10659 = load ptr, ptr %10658, align 8, !tbaa !65
  store ptr %10659, ptr %295, align 8, !tbaa !9
  br label %10660

10660:                                            ; preds = %10654
  %10661 = load i32, ptr @test_count, align 4, !tbaa !5
  %10662 = add nsw i32 %10661, 1
  store i32 %10662, ptr @test_count, align 4, !tbaa !5
  %10663 = load ptr, ptr %295, align 8, !tbaa !9
  %10664 = icmp eq ptr %10663, null
  br i1 %10664, label %10665, label %10718

10665:                                            ; preds = %10660
  br label %10666

10666:                                            ; preds = %10665
  br label %10667

10667:                                            ; preds = %10666
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %10668 = call ptr @__errno_location() #12
  %10669 = load i32, ptr %10668, align 4, !tbaa !5
  store i32 %10669, ptr %296, align 4, !tbaa !5
  %10670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10671 = call i32 @s2n_print_stacktrace(ptr noundef %10670)
  %10672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10673 = trunc i8 %10672 to i1
  br i1 %10673, label %10674, label %10696

10674:                                            ; preds = %10667
  %10675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10676 = call i32 @fileno(ptr noundef %10675) #11
  %10677 = call i32 @isatty(i32 noundef %10676) #11
  %10678 = icmp ne i32 %10677, 0
  br i1 %10678, label %10679, label %10696

10679:                                            ; preds = %10674
  %10680 = load i32, ptr %296, align 4, !tbaa !5
  %10681 = call ptr @__errno_location() #12
  store i32 %10680, ptr %10681, align 4, !tbaa !5
  %10682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10683 = load i32, ptr @test_count, align 4, !tbaa !5
  %10684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10685 = load i32, ptr %10684, align 4, !tbaa !5
  %10686 = call ptr @s2n_strerror(i32 noundef %10685, ptr noundef @.str.4)
  %10687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10688 = load i32, ptr %10687, align 4, !tbaa !5
  %10689 = call ptr @s2n_strerror_debug(i32 noundef %10688, ptr noundef @.str.4)
  %10690 = call ptr @__errno_location() #12
  %10691 = load i32, ptr %10690, align 4, !tbaa !5
  %10692 = call ptr @strerror(i32 noundef %10691) #11
  %10693 = call ptr @__errno_location() #12
  %10694 = load i32, ptr %10693, align 4, !tbaa !5
  %10695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10682, ptr noundef @.str.2, i32 noundef %10683, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 613, ptr noundef %10686, ptr noundef %10689, ptr noundef %10692, i32 noundef %10694) #11
  br label %10713

10696:                                            ; preds = %10674, %10667
  %10697 = load i32, ptr %296, align 4, !tbaa !5
  %10698 = call ptr @__errno_location() #12
  store i32 %10697, ptr %10698, align 4, !tbaa !5
  %10699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10700 = load i32, ptr @test_count, align 4, !tbaa !5
  %10701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10702 = load i32, ptr %10701, align 4, !tbaa !5
  %10703 = call ptr @s2n_strerror(i32 noundef %10702, ptr noundef @.str.4)
  %10704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10705 = load i32, ptr %10704, align 4, !tbaa !5
  %10706 = call ptr @s2n_strerror_debug(i32 noundef %10705, ptr noundef @.str.4)
  %10707 = call ptr @__errno_location() #12
  %10708 = load i32, ptr %10707, align 4, !tbaa !5
  %10709 = call ptr @strerror(i32 noundef %10708) #11
  %10710 = call ptr @__errno_location() #12
  %10711 = load i32, ptr %10710, align 4, !tbaa !5
  %10712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10699, ptr noundef @.str.5, i32 noundef %10700, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 613, ptr noundef %10703, ptr noundef %10706, ptr noundef %10709, i32 noundef %10711) #11
  br label %10713

10713:                                            ; preds = %10696, %10679
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %10714

10714:                                            ; preds = %10713
  br label %10715

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

10716:                                            ; No predecessors!
  br label %10717

10717:                                            ; preds = %10716
  br label %10718

10718:                                            ; preds = %10717, %10660
  br label %10719

10719:                                            ; preds = %10718
  br label %10720

10720:                                            ; preds = %10719
  %10721 = load ptr, ptr %295, align 8, !tbaa !9
  %10722 = getelementptr inbounds %struct.s2n_cipher, ptr %10721, i32 0, i32 8
  %10723 = load ptr, ptr %10722, align 8, !tbaa !67
  %10724 = icmp ne ptr %10723, null
  br i1 %10724, label %10726, label %10725

10725:                                            ; preds = %10720
  store i32 1023, ptr %12, align 4
  br label %10806

10726:                                            ; preds = %10720
  call void @llvm.lifetime.start.p0(i64 1, ptr %297) #11
  store i8 0, ptr %297, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %298) #11
  store i64 0, ptr %298, align 8, !tbaa !15
  br label %10727

10727:                                            ; preds = %10740, %10726
  %10728 = load i64, ptr %298, align 8, !tbaa !15
  %10729 = icmp ult i64 %10728, 4
  br i1 %10729, label %10731, label %10730

10730:                                            ; preds = %10727
  store i32 1030, ptr %12, align 4
  br label %10743

10731:                                            ; preds = %10727
  %10732 = load i64, ptr %298, align 8, !tbaa !15
  %10733 = getelementptr inbounds [4 x %struct.anon], ptr %292, i64 0, i64 %10732
  %10734 = getelementptr inbounds %struct.anon, ptr %10733, i32 0, i32 0
  %10735 = load ptr, ptr %10734, align 16, !tbaa !69
  %10736 = load ptr, ptr %295, align 8, !tbaa !9
  %10737 = icmp ne ptr %10735, %10736
  br i1 %10737, label %10738, label %10739

10738:                                            ; preds = %10731
  store i8 1, ptr %297, align 1, !tbaa !11
  store i32 1030, ptr %12, align 4
  br label %10743

10739:                                            ; preds = %10731
  br label %10740

10740:                                            ; preds = %10739
  %10741 = load i64, ptr %298, align 8, !tbaa !15
  %10742 = add i64 %10741, 1
  store i64 %10742, ptr %298, align 8, !tbaa !15
  br label %10727, !llvm.loop !71

10743:                                            ; preds = %10738, %10730
  call void @llvm.lifetime.end.p0(i64 8, ptr %298) #11
  br label %10744

10744:                                            ; preds = %10743
  br label %10745

10745:                                            ; preds = %10744
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = add nsw i32 %10746, 1
  store i32 %10747, ptr @test_count, align 4, !tbaa !5
  %10748 = load i8, ptr %297, align 1, !tbaa !11, !range !13, !noundef !14
  %10749 = trunc i8 %10748 to i1
  br i1 %10749, label %10803, label %10750

10750:                                            ; preds = %10745
  br label %10751

10751:                                            ; preds = %10750
  br label %10752

10752:                                            ; preds = %10751
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  store i32 %10754, ptr %299, align 4, !tbaa !5
  %10755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10756 = call i32 @s2n_print_stacktrace(ptr noundef %10755)
  %10757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10758 = trunc i8 %10757 to i1
  br i1 %10758, label %10759, label %10781

10759:                                            ; preds = %10752
  %10760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10761 = call i32 @fileno(ptr noundef %10760) #11
  %10762 = call i32 @isatty(i32 noundef %10761) #11
  %10763 = icmp ne i32 %10762, 0
  br i1 %10763, label %10764, label %10781

10764:                                            ; preds = %10759
  %10765 = load i32, ptr %299, align 4, !tbaa !5
  %10766 = call ptr @__errno_location() #12
  store i32 %10765, ptr %10766, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @s2n_strerror(i32 noundef %10770, ptr noundef @.str.4)
  %10772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call ptr @s2n_strerror_debug(i32 noundef %10773, ptr noundef @.str.4)
  %10775 = call ptr @__errno_location() #12
  %10776 = load i32, ptr %10775, align 4, !tbaa !5
  %10777 = call ptr @strerror(i32 noundef %10776) #11
  %10778 = call ptr @__errno_location() #12
  %10779 = load i32, ptr %10778, align 4, !tbaa !5
  %10780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10767, ptr noundef @.str.2, i32 noundef %10768, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 625, ptr noundef %10771, ptr noundef %10774, ptr noundef %10777, i32 noundef %10779) #11
  br label %10798

10781:                                            ; preds = %10759, %10752
  %10782 = load i32, ptr %299, align 4, !tbaa !5
  %10783 = call ptr @__errno_location() #12
  store i32 %10782, ptr %10783, align 4, !tbaa !5
  %10784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10785 = load i32, ptr @test_count, align 4, !tbaa !5
  %10786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @s2n_strerror(i32 noundef %10787, ptr noundef @.str.4)
  %10789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call ptr @s2n_strerror_debug(i32 noundef %10790, ptr noundef @.str.4)
  %10792 = call ptr @__errno_location() #12
  %10793 = load i32, ptr %10792, align 4, !tbaa !5
  %10794 = call ptr @strerror(i32 noundef %10793) #11
  %10795 = call ptr @__errno_location() #12
  %10796 = load i32, ptr %10795, align 4, !tbaa !5
  %10797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10784, ptr noundef @.str.5, i32 noundef %10785, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 625, ptr noundef %10788, ptr noundef %10791, ptr noundef %10794, i32 noundef %10796) #11
  br label %10798

10798:                                            ; preds = %10781, %10764
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %10799

10799:                                            ; preds = %10798
  br label %10800

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

10801:                                            ; No predecessors!
  br label %10802

10802:                                            ; preds = %10801
  br label %10803

10803:                                            ; preds = %10802, %10745
  br label %10804

10804:                                            ; preds = %10803
  br label %10805

10805:                                            ; preds = %10804
  call void @llvm.lifetime.end.p0(i64 1, ptr %297) #11
  store i32 0, ptr %12, align 4
  br label %10806

10806:                                            ; preds = %10805, %10725
  call void @llvm.lifetime.end.p0(i64 8, ptr %295) #11
  br label %10807

10807:                                            ; preds = %10806, %10653
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #11
  %10808 = load i32, ptr %12, align 4
  switch i32 %10808, label %11951 [
    i32 0, label %10809
    i32 1023, label %10810
  ]

10809:                                            ; preds = %10807
  br label %10810

10810:                                            ; preds = %10809, %10807
  %10811 = load i64, ptr %293, align 8, !tbaa !15
  %10812 = add i64 %10811, 1
  store i64 %10812, ptr %293, align 8, !tbaa !15
  br label %10638, !llvm.loop !72

10813:                                            ; preds = %10643
  call void @llvm.lifetime.start.p0(i64 8, ptr %300) #11
  store i64 0, ptr %300, align 8, !tbaa !15
  br label %10814

10814:                                            ; preds = %11781, %10813
  %10815 = load i64, ptr %300, align 8, !tbaa !15
  %10816 = icmp ult i64 %10815, 4
  br i1 %10816, label %10818, label %10817

10817:                                            ; preds = %10814
  store i32 1039, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %300) #11
  br label %11784

10818:                                            ; preds = %10814
  call void @llvm.lifetime.start.p0(i64 8, ptr %301) #11
  %10819 = load i64, ptr %300, align 8, !tbaa !15
  %10820 = getelementptr inbounds [4 x %struct.anon], ptr %292, i64 0, i64 %10819
  %10821 = getelementptr inbounds %struct.anon, ptr %10820, i32 0, i32 1
  %10822 = load ptr, ptr %10821, align 8, !tbaa !73
  store ptr %10822, ptr %301, align 8, !tbaa !9
  br label %10823

10823:                                            ; preds = %10818
  %10824 = load i32, ptr @test_count, align 4, !tbaa !5
  %10825 = add nsw i32 %10824, 1
  store i32 %10825, ptr @test_count, align 4, !tbaa !5
  %10826 = load ptr, ptr %301, align 8, !tbaa !9
  %10827 = icmp eq ptr %10826, null
  br i1 %10827, label %10828, label %10881

10828:                                            ; preds = %10823
  br label %10829

10829:                                            ; preds = %10828
  br label %10830

10830:                                            ; preds = %10829
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %10831 = call ptr @__errno_location() #12
  %10832 = load i32, ptr %10831, align 4, !tbaa !5
  store i32 %10832, ptr %302, align 4, !tbaa !5
  %10833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10834 = call i32 @s2n_print_stacktrace(ptr noundef %10833)
  %10835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10836 = trunc i8 %10835 to i1
  br i1 %10836, label %10837, label %10859

10837:                                            ; preds = %10830
  %10838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10839 = call i32 @fileno(ptr noundef %10838) #11
  %10840 = call i32 @isatty(i32 noundef %10839) #11
  %10841 = icmp ne i32 %10840, 0
  br i1 %10841, label %10842, label %10859

10842:                                            ; preds = %10837
  %10843 = load i32, ptr %302, align 4, !tbaa !5
  %10844 = call ptr @__errno_location() #12
  store i32 %10843, ptr %10844, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10848 = load i32, ptr %10847, align 4, !tbaa !5
  %10849 = call ptr @s2n_strerror(i32 noundef %10848, ptr noundef @.str.4)
  %10850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10851 = load i32, ptr %10850, align 4, !tbaa !5
  %10852 = call ptr @s2n_strerror_debug(i32 noundef %10851, ptr noundef @.str.4)
  %10853 = call ptr @__errno_location() #12
  %10854 = load i32, ptr %10853, align 4, !tbaa !5
  %10855 = call ptr @strerror(i32 noundef %10854) #11
  %10856 = call ptr @__errno_location() #12
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  %10858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10845, ptr noundef @.str.2, i32 noundef %10846, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 630, ptr noundef %10849, ptr noundef %10852, ptr noundef %10855, i32 noundef %10857) #11
  br label %10876

10859:                                            ; preds = %10837, %10830
  %10860 = load i32, ptr %302, align 4, !tbaa !5
  %10861 = call ptr @__errno_location() #12
  store i32 %10860, ptr %10861, align 4, !tbaa !5
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = load i32, ptr @test_count, align 4, !tbaa !5
  %10864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call ptr @s2n_strerror(i32 noundef %10865, ptr noundef @.str.4)
  %10867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  %10869 = call ptr @s2n_strerror_debug(i32 noundef %10868, ptr noundef @.str.4)
  %10870 = call ptr @__errno_location() #12
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call ptr @strerror(i32 noundef %10871) #11
  %10873 = call ptr @__errno_location() #12
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10862, ptr noundef @.str.5, i32 noundef %10863, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 630, ptr noundef %10866, ptr noundef %10869, ptr noundef %10872, i32 noundef %10874) #11
  br label %10876

10876:                                            ; preds = %10859, %10842
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %10877

10877:                                            ; preds = %10876
  br label %10878

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

10879:                                            ; No predecessors!
  br label %10880

10880:                                            ; preds = %10879
  br label %10881

10881:                                            ; preds = %10880, %10823
  br label %10882

10882:                                            ; preds = %10881
  br label %10883

10883:                                            ; preds = %10882
  br label %10884

10884:                                            ; preds = %10883
  %10885 = load i32, ptr @test_count, align 4, !tbaa !5
  %10886 = add nsw i32 %10885, 1
  store i32 %10886, ptr @test_count, align 4, !tbaa !5
  %10887 = load i64, ptr %300, align 8, !tbaa !15
  %10888 = getelementptr inbounds [4 x %struct.anon], ptr %292, i64 0, i64 %10887
  %10889 = getelementptr inbounds %struct.anon, ptr %10888, i32 0, i32 0
  %10890 = load ptr, ptr %10889, align 16, !tbaa !69
  %10891 = load ptr, ptr %301, align 8, !tbaa !9
  %10892 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %10891, i32 0, i32 6
  %10893 = load ptr, ptr %10892, align 8, !tbaa !63
  %10894 = getelementptr inbounds %struct.s2n_record_algorithm, ptr %10893, i32 0, i32 0
  %10895 = load ptr, ptr %10894, align 8, !tbaa !65
  %10896 = icmp eq ptr %10890, %10895
  br i1 %10896, label %10950, label %10897

10897:                                            ; preds = %10884
  br label %10898

10898:                                            ; preds = %10897
  br label %10899

10899:                                            ; preds = %10898
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %10900 = call ptr @__errno_location() #12
  %10901 = load i32, ptr %10900, align 4, !tbaa !5
  store i32 %10901, ptr %303, align 4, !tbaa !5
  %10902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10903 = call i32 @s2n_print_stacktrace(ptr noundef %10902)
  %10904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10905 = trunc i8 %10904 to i1
  br i1 %10905, label %10906, label %10928

10906:                                            ; preds = %10899
  %10907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10908 = call i32 @fileno(ptr noundef %10907) #11
  %10909 = call i32 @isatty(i32 noundef %10908) #11
  %10910 = icmp ne i32 %10909, 0
  br i1 %10910, label %10911, label %10928

10911:                                            ; preds = %10906
  %10912 = load i32, ptr %303, align 4, !tbaa !5
  %10913 = call ptr @__errno_location() #12
  store i32 %10912, ptr %10913, align 4, !tbaa !5
  %10914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10917 = load i32, ptr %10916, align 4, !tbaa !5
  %10918 = call ptr @s2n_strerror(i32 noundef %10917, ptr noundef @.str.4)
  %10919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  %10921 = call ptr @s2n_strerror_debug(i32 noundef %10920, ptr noundef @.str.4)
  %10922 = call ptr @__errno_location() #12
  %10923 = load i32, ptr %10922, align 4, !tbaa !5
  %10924 = call ptr @strerror(i32 noundef %10923) #11
  %10925 = call ptr @__errno_location() #12
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10914, ptr noundef @.str.2, i32 noundef %10915, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 631, ptr noundef %10918, ptr noundef %10921, ptr noundef %10924, i32 noundef %10926) #11
  br label %10945

10928:                                            ; preds = %10906, %10899
  %10929 = load i32, ptr %303, align 4, !tbaa !5
  %10930 = call ptr @__errno_location() #12
  store i32 %10929, ptr %10930, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = load i32, ptr @test_count, align 4, !tbaa !5
  %10933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10934 = load i32, ptr %10933, align 4, !tbaa !5
  %10935 = call ptr @s2n_strerror(i32 noundef %10934, ptr noundef @.str.4)
  %10936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10937 = load i32, ptr %10936, align 4, !tbaa !5
  %10938 = call ptr @s2n_strerror_debug(i32 noundef %10937, ptr noundef @.str.4)
  %10939 = call ptr @__errno_location() #12
  %10940 = load i32, ptr %10939, align 4, !tbaa !5
  %10941 = call ptr @strerror(i32 noundef %10940) #11
  %10942 = call ptr @__errno_location() #12
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10931, ptr noundef @.str.5, i32 noundef %10932, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 631, ptr noundef %10935, ptr noundef %10938, ptr noundef %10941, i32 noundef %10943) #11
  br label %10945

10945:                                            ; preds = %10928, %10911
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %10946

10946:                                            ; preds = %10945
  br label %10947

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

10948:                                            ; No predecessors!
  br label %10949

10949:                                            ; preds = %10948
  br label %10950

10950:                                            ; preds = %10949, %10884
  br label %10951

10951:                                            ; preds = %10950
  br label %10952

10952:                                            ; preds = %10951
  %10953 = load ptr, ptr %301, align 8, !tbaa !9
  %10954 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %10953, i32 0, i32 12
  %10955 = load i8, ptr %10954, align 4, !tbaa !74
  %10956 = zext i8 %10955 to i32
  %10957 = icmp sge i32 %10956, 34
  br i1 %10957, label %10958, label %10961

10958:                                            ; preds = %10952
  %10959 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %10959, label %10961, label %10960

10960:                                            ; preds = %10958
  store i32 1041, ptr %12, align 4
  br label %11778

10961:                                            ; preds = %10958, %10952
  call void @llvm.lifetime.start.p0(i64 8, ptr %304) #11
  store i64 0, ptr %304, align 8, !tbaa !15
  br label %10962

10962:                                            ; preds = %11774, %10961
  %10963 = load i64, ptr %304, align 8, !tbaa !15
  %10964 = icmp ult i64 %10963, 2
  br i1 %10964, label %10966, label %10965

10965:                                            ; preds = %10962
  store i32 1054, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #11
  br label %11777

10966:                                            ; preds = %10962
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %10967 = load i64, ptr %304, align 8, !tbaa !15
  %10968 = getelementptr inbounds [2 x i32], ptr %13, i64 0, i64 %10967
  %10969 = load i32, ptr %10968, align 4, !tbaa !5
  store i32 %10969, ptr %305, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %306) #11
  %10970 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %306, i32 0, i32 0
  store i16 1, ptr %10970, align 8, !tbaa !60
  %10971 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %306, i32 0, i32 1
  store ptr %301, ptr %10971, align 8, !tbaa !62
  %10972 = getelementptr inbounds %struct.s2n_cipher_preferences, ptr %306, i32 0, i32 2
  store i8 0, ptr %10972, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 64, ptr %307) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %307, ptr align 8 @security_policy_test_all, i64 64, i1 false), !tbaa.struct !76
  %10973 = getelementptr inbounds %struct.s2n_security_policy, ptr %307, i32 0, i32 1
  store ptr %306, ptr %10973, align 8, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 8, ptr %308) #11
  %10974 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10974, ptr %308, align 8, !tbaa !9
  br label %10975

10975:                                            ; preds = %10966
  %10976 = load i32, ptr @test_count, align 4, !tbaa !5
  %10977 = add nsw i32 %10976, 1
  store i32 %10977, ptr @test_count, align 4, !tbaa !5
  %10978 = load ptr, ptr %308, align 8, !tbaa !9
  %10979 = icmp eq ptr %10978, null
  br i1 %10979, label %10980, label %11033

10980:                                            ; preds = %10975
  br label %10981

10981:                                            ; preds = %10980
  br label %10982

10982:                                            ; preds = %10981
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %10983 = call ptr @__errno_location() #12
  %10984 = load i32, ptr %10983, align 4, !tbaa !5
  store i32 %10984, ptr %309, align 4, !tbaa !5
  %10985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10986 = call i32 @s2n_print_stacktrace(ptr noundef %10985)
  %10987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10988 = trunc i8 %10987 to i1
  br i1 %10988, label %10989, label %11011

10989:                                            ; preds = %10982
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = call i32 @fileno(ptr noundef %10990) #11
  %10992 = call i32 @isatty(i32 noundef %10991) #11
  %10993 = icmp ne i32 %10992, 0
  br i1 %10993, label %10994, label %11011

10994:                                            ; preds = %10989
  %10995 = load i32, ptr %309, align 4, !tbaa !5
  %10996 = call ptr @__errno_location() #12
  store i32 %10995, ptr %10996, align 4, !tbaa !5
  %10997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10998 = load i32, ptr @test_count, align 4, !tbaa !5
  %10999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11000 = load i32, ptr %10999, align 4, !tbaa !5
  %11001 = call ptr @s2n_strerror(i32 noundef %11000, ptr noundef @.str.4)
  %11002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11003 = load i32, ptr %11002, align 4, !tbaa !5
  %11004 = call ptr @s2n_strerror_debug(i32 noundef %11003, ptr noundef @.str.4)
  %11005 = call ptr @__errno_location() #12
  %11006 = load i32, ptr %11005, align 4, !tbaa !5
  %11007 = call ptr @strerror(i32 noundef %11006) #11
  %11008 = call ptr @__errno_location() #12
  %11009 = load i32, ptr %11008, align 4, !tbaa !5
  %11010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10997, ptr noundef @.str.2, i32 noundef %10998, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 650, ptr noundef %11001, ptr noundef %11004, ptr noundef %11007, i32 noundef %11009) #11
  br label %11028

11011:                                            ; preds = %10989, %10982
  %11012 = load i32, ptr %309, align 4, !tbaa !5
  %11013 = call ptr @__errno_location() #12
  store i32 %11012, ptr %11013, align 4, !tbaa !5
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = load i32, ptr @test_count, align 4, !tbaa !5
  %11016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11017 = load i32, ptr %11016, align 4, !tbaa !5
  %11018 = call ptr @s2n_strerror(i32 noundef %11017, ptr noundef @.str.4)
  %11019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11020 = load i32, ptr %11019, align 4, !tbaa !5
  %11021 = call ptr @s2n_strerror_debug(i32 noundef %11020, ptr noundef @.str.4)
  %11022 = call ptr @__errno_location() #12
  %11023 = load i32, ptr %11022, align 4, !tbaa !5
  %11024 = call ptr @strerror(i32 noundef %11023) #11
  %11025 = call ptr @__errno_location() #12
  %11026 = load i32, ptr %11025, align 4, !tbaa !5
  %11027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11014, ptr noundef @.str.5, i32 noundef %11015, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 650, ptr noundef %11018, ptr noundef %11021, ptr noundef %11024, i32 noundef %11026) #11
  br label %11028

11028:                                            ; preds = %11011, %10994
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %11029

11029:                                            ; preds = %11028
  br label %11030

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

11031:                                            ; No predecessors!
  br label %11032

11032:                                            ; preds = %11031
  br label %11033

11033:                                            ; preds = %11032, %10975
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034
  br label %11036

11036:                                            ; preds = %11035
  %11037 = load i32, ptr @test_count, align 4, !tbaa !5
  %11038 = add nsw i32 %11037, 1
  store i32 %11038, ptr @test_count, align 4, !tbaa !5
  %11039 = load ptr, ptr %308, align 8, !tbaa !9
  %11040 = load ptr, ptr %26, align 8, !tbaa !9
  %11041 = call i32 @s2n_connection_set_config(ptr noundef %11039, ptr noundef %11040)
  %11042 = icmp eq i32 %11041, -1
  br i1 %11042, label %11043, label %11096

11043:                                            ; preds = %11036
  br label %11044

11044:                                            ; preds = %11043
  br label %11045

11045:                                            ; preds = %11044
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %11046 = call ptr @__errno_location() #12
  %11047 = load i32, ptr %11046, align 4, !tbaa !5
  store i32 %11047, ptr %310, align 4, !tbaa !5
  %11048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11049 = call i32 @s2n_print_stacktrace(ptr noundef %11048)
  %11050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11051 = trunc i8 %11050 to i1
  br i1 %11051, label %11052, label %11074

11052:                                            ; preds = %11045
  %11053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11054 = call i32 @fileno(ptr noundef %11053) #11
  %11055 = call i32 @isatty(i32 noundef %11054) #11
  %11056 = icmp ne i32 %11055, 0
  br i1 %11056, label %11057, label %11074

11057:                                            ; preds = %11052
  %11058 = load i32, ptr %310, align 4, !tbaa !5
  %11059 = call ptr @__errno_location() #12
  store i32 %11058, ptr %11059, align 4, !tbaa !5
  %11060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11061 = load i32, ptr @test_count, align 4, !tbaa !5
  %11062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call ptr @s2n_strerror(i32 noundef %11063, ptr noundef @.str.4)
  %11065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  %11067 = call ptr @s2n_strerror_debug(i32 noundef %11066, ptr noundef @.str.4)
  %11068 = call ptr @__errno_location() #12
  %11069 = load i32, ptr %11068, align 4, !tbaa !5
  %11070 = call ptr @strerror(i32 noundef %11069) #11
  %11071 = call ptr @__errno_location() #12
  %11072 = load i32, ptr %11071, align 4, !tbaa !5
  %11073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11060, ptr noundef @.str.2, i32 noundef %11061, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 651, ptr noundef %11064, ptr noundef %11067, ptr noundef %11070, i32 noundef %11072) #11
  br label %11091

11074:                                            ; preds = %11052, %11045
  %11075 = load i32, ptr %310, align 4, !tbaa !5
  %11076 = call ptr @__errno_location() #12
  store i32 %11075, ptr %11076, align 4, !tbaa !5
  %11077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11078 = load i32, ptr @test_count, align 4, !tbaa !5
  %11079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11080 = load i32, ptr %11079, align 4, !tbaa !5
  %11081 = call ptr @s2n_strerror(i32 noundef %11080, ptr noundef @.str.4)
  %11082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  %11084 = call ptr @s2n_strerror_debug(i32 noundef %11083, ptr noundef @.str.4)
  %11085 = call ptr @__errno_location() #12
  %11086 = load i32, ptr %11085, align 4, !tbaa !5
  %11087 = call ptr @strerror(i32 noundef %11086) #11
  %11088 = call ptr @__errno_location() #12
  %11089 = load i32, ptr %11088, align 4, !tbaa !5
  %11090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11077, ptr noundef @.str.5, i32 noundef %11078, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 651, ptr noundef %11081, ptr noundef %11084, ptr noundef %11087, i32 noundef %11089) #11
  br label %11091

11091:                                            ; preds = %11074, %11057
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %11092

11092:                                            ; preds = %11091
  br label %11093

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

11094:                                            ; No predecessors!
  br label %11095

11095:                                            ; preds = %11094
  br label %11096

11096:                                            ; preds = %11095, %11036
  br label %11097

11097:                                            ; preds = %11096
  br label %11098

11098:                                            ; preds = %11097
  %11099 = load ptr, ptr %308, align 8, !tbaa !9
  %11100 = getelementptr inbounds %struct.s2n_connection, ptr %11099, i32 0, i32 2
  store ptr %307, ptr %11100, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %311) #11
  %11101 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %11101, ptr %311, align 8, !tbaa !9
  br label %11102

11102:                                            ; preds = %11098
  %11103 = load i32, ptr @test_count, align 4, !tbaa !5
  %11104 = add nsw i32 %11103, 1
  store i32 %11104, ptr @test_count, align 4, !tbaa !5
  %11105 = load ptr, ptr %311, align 8, !tbaa !9
  %11106 = icmp eq ptr %11105, null
  br i1 %11106, label %11107, label %11160

11107:                                            ; preds = %11102
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

11109:                                            ; preds = %11108
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %11110 = call ptr @__errno_location() #12
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  store i32 %11111, ptr %312, align 4, !tbaa !5
  %11112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11113 = call i32 @s2n_print_stacktrace(ptr noundef %11112)
  %11114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11115 = trunc i8 %11114 to i1
  br i1 %11115, label %11116, label %11138

11116:                                            ; preds = %11109
  %11117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11118 = call i32 @fileno(ptr noundef %11117) #11
  %11119 = call i32 @isatty(i32 noundef %11118) #11
  %11120 = icmp ne i32 %11119, 0
  br i1 %11120, label %11121, label %11138

11121:                                            ; preds = %11116
  %11122 = load i32, ptr %312, align 4, !tbaa !5
  %11123 = call ptr @__errno_location() #12
  store i32 %11122, ptr %11123, align 4, !tbaa !5
  %11124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11127 = load i32, ptr %11126, align 4, !tbaa !5
  %11128 = call ptr @s2n_strerror(i32 noundef %11127, ptr noundef @.str.4)
  %11129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11130 = load i32, ptr %11129, align 4, !tbaa !5
  %11131 = call ptr @s2n_strerror_debug(i32 noundef %11130, ptr noundef @.str.4)
  %11132 = call ptr @__errno_location() #12
  %11133 = load i32, ptr %11132, align 4, !tbaa !5
  %11134 = call ptr @strerror(i32 noundef %11133) #11
  %11135 = call ptr @__errno_location() #12
  %11136 = load i32, ptr %11135, align 4, !tbaa !5
  %11137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11124, ptr noundef @.str.2, i32 noundef %11125, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 656, ptr noundef %11128, ptr noundef %11131, ptr noundef %11134, i32 noundef %11136) #11
  br label %11155

11138:                                            ; preds = %11116, %11109
  %11139 = load i32, ptr %312, align 4, !tbaa !5
  %11140 = call ptr @__errno_location() #12
  store i32 %11139, ptr %11140, align 4, !tbaa !5
  %11141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  %11145 = call ptr @s2n_strerror(i32 noundef %11144, ptr noundef @.str.4)
  %11146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  %11148 = call ptr @s2n_strerror_debug(i32 noundef %11147, ptr noundef @.str.4)
  %11149 = call ptr @__errno_location() #12
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call ptr @strerror(i32 noundef %11150) #11
  %11152 = call ptr @__errno_location() #12
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11141, ptr noundef @.str.5, i32 noundef %11142, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 656, ptr noundef %11145, ptr noundef %11148, ptr noundef %11151, i32 noundef %11153) #11
  br label %11155

11155:                                            ; preds = %11138, %11121
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %11156

11156:                                            ; preds = %11155
  br label %11157

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

11158:                                            ; No predecessors!
  br label %11159

11159:                                            ; preds = %11158
  br label %11160

11160:                                            ; preds = %11159, %11102
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

11162:                                            ; preds = %11161
  br label %11163

11163:                                            ; preds = %11162
  %11164 = load i32, ptr @test_count, align 4, !tbaa !5
  %11165 = add nsw i32 %11164, 1
  store i32 %11165, ptr @test_count, align 4, !tbaa !5
  %11166 = load ptr, ptr %311, align 8, !tbaa !9
  %11167 = load ptr, ptr %26, align 8, !tbaa !9
  %11168 = call i32 @s2n_connection_set_config(ptr noundef %11166, ptr noundef %11167)
  %11169 = icmp eq i32 %11168, -1
  br i1 %11169, label %11170, label %11223

11170:                                            ; preds = %11163
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

11172:                                            ; preds = %11171
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %11173 = call ptr @__errno_location() #12
  %11174 = load i32, ptr %11173, align 4, !tbaa !5
  store i32 %11174, ptr %313, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = call i32 @s2n_print_stacktrace(ptr noundef %11175)
  %11177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11178 = trunc i8 %11177 to i1
  br i1 %11178, label %11179, label %11201

11179:                                            ; preds = %11172
  %11180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11181 = call i32 @fileno(ptr noundef %11180) #11
  %11182 = call i32 @isatty(i32 noundef %11181) #11
  %11183 = icmp ne i32 %11182, 0
  br i1 %11183, label %11184, label %11201

11184:                                            ; preds = %11179
  %11185 = load i32, ptr %313, align 4, !tbaa !5
  %11186 = call ptr @__errno_location() #12
  store i32 %11185, ptr %11186, align 4, !tbaa !5
  %11187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11188 = load i32, ptr @test_count, align 4, !tbaa !5
  %11189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11190 = load i32, ptr %11189, align 4, !tbaa !5
  %11191 = call ptr @s2n_strerror(i32 noundef %11190, ptr noundef @.str.4)
  %11192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11193 = load i32, ptr %11192, align 4, !tbaa !5
  %11194 = call ptr @s2n_strerror_debug(i32 noundef %11193, ptr noundef @.str.4)
  %11195 = call ptr @__errno_location() #12
  %11196 = load i32, ptr %11195, align 4, !tbaa !5
  %11197 = call ptr @strerror(i32 noundef %11196) #11
  %11198 = call ptr @__errno_location() #12
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  %11200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11187, ptr noundef @.str.2, i32 noundef %11188, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 657, ptr noundef %11191, ptr noundef %11194, ptr noundef %11197, i32 noundef %11199) #11
  br label %11218

11201:                                            ; preds = %11179, %11172
  %11202 = load i32, ptr %313, align 4, !tbaa !5
  %11203 = call ptr @__errno_location() #12
  store i32 %11202, ptr %11203, align 4, !tbaa !5
  %11204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11205 = load i32, ptr @test_count, align 4, !tbaa !5
  %11206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11207 = load i32, ptr %11206, align 4, !tbaa !5
  %11208 = call ptr @s2n_strerror(i32 noundef %11207, ptr noundef @.str.4)
  %11209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11210 = load i32, ptr %11209, align 4, !tbaa !5
  %11211 = call ptr @s2n_strerror_debug(i32 noundef %11210, ptr noundef @.str.4)
  %11212 = call ptr @__errno_location() #12
  %11213 = load i32, ptr %11212, align 4, !tbaa !5
  %11214 = call ptr @strerror(i32 noundef %11213) #11
  %11215 = call ptr @__errno_location() #12
  %11216 = load i32, ptr %11215, align 4, !tbaa !5
  %11217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11204, ptr noundef @.str.5, i32 noundef %11205, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 657, ptr noundef %11208, ptr noundef %11211, ptr noundef %11214, i32 noundef %11216) #11
  br label %11218

11218:                                            ; preds = %11201, %11184
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %11219

11219:                                            ; preds = %11218
  br label %11220

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

11221:                                            ; No predecessors!
  br label %11222

11222:                                            ; preds = %11221
  br label %11223

11223:                                            ; preds = %11222, %11163
  br label %11224

11224:                                            ; preds = %11223
  br label %11225

11225:                                            ; preds = %11224
  %11226 = load ptr, ptr %311, align 8, !tbaa !9
  %11227 = getelementptr inbounds %struct.s2n_connection, ptr %11226, i32 0, i32 2
  store ptr %307, ptr %11227, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %314) #11
  call void @llvm.memset.p0.i64(ptr align 4 %314, i8 0, i64 8, i1 false)
  br label %11228

11228:                                            ; preds = %11225
  %11229 = load i32, ptr @test_count, align 4, !tbaa !5
  %11230 = add nsw i32 %11229, 1
  store i32 %11230, ptr @test_count, align 4, !tbaa !5
  %11231 = call i32 @s2n_new_inet_socket_pair(ptr noundef %314)
  %11232 = getelementptr inbounds %struct.s2n_result, ptr %315, i32 0, i32 0
  store i32 %11231, ptr %11232, align 4
  %11233 = getelementptr inbounds %struct.s2n_result, ptr %315, i32 0, i32 0
  %11234 = load i32, ptr %11233, align 4
  %11235 = call zeroext i1 @s2n_result_is_ok(i32 %11234)
  br i1 %11235, label %11289, label %11236

11236:                                            ; preds = %11228
  br label %11237

11237:                                            ; preds = %11236
  br label %11238

11238:                                            ; preds = %11237
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %11239 = call ptr @__errno_location() #12
  %11240 = load i32, ptr %11239, align 4, !tbaa !5
  store i32 %11240, ptr %316, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = call i32 @s2n_print_stacktrace(ptr noundef %11241)
  %11243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11244 = trunc i8 %11243 to i1
  br i1 %11244, label %11245, label %11267

11245:                                            ; preds = %11238
  %11246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11247 = call i32 @fileno(ptr noundef %11246) #11
  %11248 = call i32 @isatty(i32 noundef %11247) #11
  %11249 = icmp ne i32 %11248, 0
  br i1 %11249, label %11250, label %11267

11250:                                            ; preds = %11245
  %11251 = load i32, ptr %316, align 4, !tbaa !5
  %11252 = call ptr @__errno_location() #12
  store i32 %11251, ptr %11252, align 4, !tbaa !5
  %11253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11254 = load i32, ptr @test_count, align 4, !tbaa !5
  %11255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call ptr @s2n_strerror(i32 noundef %11256, ptr noundef @.str.4)
  %11258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror_debug(i32 noundef %11259, ptr noundef @.str.4)
  %11261 = call ptr @__errno_location() #12
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call ptr @strerror(i32 noundef %11262) #11
  %11264 = call ptr @__errno_location() #12
  %11265 = load i32, ptr %11264, align 4, !tbaa !5
  %11266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11253, ptr noundef @.str.2, i32 noundef %11254, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 661, ptr noundef %11257, ptr noundef %11260, ptr noundef %11263, i32 noundef %11265) #11
  br label %11284

11267:                                            ; preds = %11245, %11238
  %11268 = load i32, ptr %316, align 4, !tbaa !5
  %11269 = call ptr @__errno_location() #12
  store i32 %11268, ptr %11269, align 4, !tbaa !5
  %11270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11271 = load i32, ptr @test_count, align 4, !tbaa !5
  %11272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror(i32 noundef %11273, ptr noundef @.str.4)
  %11275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @s2n_strerror_debug(i32 noundef %11276, ptr noundef @.str.4)
  %11278 = call ptr @__errno_location() #12
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call ptr @strerror(i32 noundef %11279) #11
  %11281 = call ptr @__errno_location() #12
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  %11283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11270, ptr noundef @.str.5, i32 noundef %11271, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 661, ptr noundef %11274, ptr noundef %11277, ptr noundef %11280, i32 noundef %11282) #11
  br label %11284

11284:                                            ; preds = %11267, %11250
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %11285

11285:                                            ; preds = %11284
  br label %11286

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

11287:                                            ; No predecessors!
  br label %11288

11288:                                            ; preds = %11287
  br label %11289

11289:                                            ; preds = %11288, %11228
  br label %11290

11290:                                            ; preds = %11289
  br label %11291

11291:                                            ; preds = %11290
  br label %11292

11292:                                            ; preds = %11291
  %11293 = load i32, ptr @test_count, align 4, !tbaa !5
  %11294 = add nsw i32 %11293, 1
  store i32 %11294, ptr @test_count, align 4, !tbaa !5
  %11295 = load ptr, ptr %311, align 8, !tbaa !9
  %11296 = load ptr, ptr %308, align 8, !tbaa !9
  %11297 = call i32 @s2n_setup_connections(ptr noundef %11295, ptr noundef %11296, ptr noundef %314)
  %11298 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  store i32 %11297, ptr %11298, align 4
  %11299 = getelementptr inbounds %struct.s2n_result, ptr %317, i32 0, i32 0
  %11300 = load i32, ptr %11299, align 4
  %11301 = call zeroext i1 @s2n_result_is_ok(i32 %11300)
  br i1 %11301, label %11355, label %11302

11302:                                            ; preds = %11292
  br label %11303

11303:                                            ; preds = %11302
  br label %11304

11304:                                            ; preds = %11303
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %11305 = call ptr @__errno_location() #12
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  store i32 %11306, ptr %318, align 4, !tbaa !5
  %11307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11308 = call i32 @s2n_print_stacktrace(ptr noundef %11307)
  %11309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11310 = trunc i8 %11309 to i1
  br i1 %11310, label %11311, label %11333

11311:                                            ; preds = %11304
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = call i32 @fileno(ptr noundef %11312) #11
  %11314 = call i32 @isatty(i32 noundef %11313) #11
  %11315 = icmp ne i32 %11314, 0
  br i1 %11315, label %11316, label %11333

11316:                                            ; preds = %11311
  %11317 = load i32, ptr %318, align 4, !tbaa !5
  %11318 = call ptr @__errno_location() #12
  store i32 %11317, ptr %11318, align 4, !tbaa !5
  %11319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11320 = load i32, ptr @test_count, align 4, !tbaa !5
  %11321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11322 = load i32, ptr %11321, align 4, !tbaa !5
  %11323 = call ptr @s2n_strerror(i32 noundef %11322, ptr noundef @.str.4)
  %11324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11325 = load i32, ptr %11324, align 4, !tbaa !5
  %11326 = call ptr @s2n_strerror_debug(i32 noundef %11325, ptr noundef @.str.4)
  %11327 = call ptr @__errno_location() #12
  %11328 = load i32, ptr %11327, align 4, !tbaa !5
  %11329 = call ptr @strerror(i32 noundef %11328) #11
  %11330 = call ptr @__errno_location() #12
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  %11332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11319, ptr noundef @.str.2, i32 noundef %11320, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 662, ptr noundef %11323, ptr noundef %11326, ptr noundef %11329, i32 noundef %11331) #11
  br label %11350

11333:                                            ; preds = %11311, %11304
  %11334 = load i32, ptr %318, align 4, !tbaa !5
  %11335 = call ptr @__errno_location() #12
  store i32 %11334, ptr %11335, align 4, !tbaa !5
  %11336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11337 = load i32, 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(i32 noundef %11339, ptr noundef @.str.4)
  %11341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11342 = load i32, ptr %11341, align 4, !tbaa !5
  %11343 = call ptr @s2n_strerror_debug(i32 noundef %11342, ptr noundef @.str.4)
  %11344 = call ptr @__errno_location() #12
  %11345 = load i32, ptr %11344, align 4, !tbaa !5
  %11346 = call ptr @strerror(i32 noundef %11345) #11
  %11347 = call ptr @__errno_location() #12
  %11348 = load i32, ptr %11347, align 4, !tbaa !5
  %11349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11336, ptr noundef @.str.5, i32 noundef %11337, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 662, ptr noundef %11340, ptr noundef %11343, ptr noundef %11346, i32 noundef %11348) #11
  br label %11350

11350:                                            ; preds = %11333, %11316
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %11351

11351:                                            ; preds = %11350
  br label %11352

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

11353:                                            ; No predecessors!
  br label %11354

11354:                                            ; preds = %11353
  br label %11355

11355:                                            ; preds = %11354, %11292
  br label %11356

11356:                                            ; preds = %11355
  br label %11357

11357:                                            ; preds = %11356
  call void @llvm.lifetime.start.p0(i64 16, ptr %319) #11
  %11358 = load ptr, ptr %311, align 8, !tbaa !9
  store ptr %11358, ptr %319, align 8, !tbaa !9
  %11359 = getelementptr inbounds ptr, ptr %319, i64 1
  %11360 = load ptr, ptr %308, align 8, !tbaa !9
  store ptr %11360, ptr %11359, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %320) #11
  %11361 = load i32, ptr %305, align 4, !tbaa !5
  %11362 = zext i32 %11361 to i64
  %11363 = getelementptr inbounds [2 x ptr], ptr %319, i64 0, i64 %11362
  %11364 = load ptr, ptr %11363, align 8, !tbaa !9
  store ptr %11364, ptr %320, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #11
  %11365 = load i32, ptr %305, align 4, !tbaa !5
  %11366 = add i32 %11365, 1
  %11367 = urem i32 %11366, 2
  %11368 = zext i32 %11367 to i64
  %11369 = getelementptr inbounds [2 x ptr], ptr %319, i64 0, i64 %11368
  %11370 = load ptr, ptr %11369, align 8, !tbaa !9
  store ptr %11370, ptr %321, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  store i32 0, ptr %322, align 4, !tbaa !5
  %11371 = load ptr, ptr %320, align 8, !tbaa !9
  %11372 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %11371)
  %11373 = icmp eq i32 %11372, 0
  br i1 %11373, label %11374, label %11507

11374:                                            ; preds = %11357
  call void @llvm.lifetime.start.p0(i64 100, ptr %323) #11
  call void @llvm.memset.p0.i64(ptr align 16 %323, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %11375 = load ptr, ptr %320, align 8, !tbaa !9
  %11376 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %11377 = call i64 @s2n_send(ptr noundef %11375, ptr noundef %11376, i64 noundef 100, ptr noundef %322)
  %11378 = trunc i64 %11377 to i32
  store i32 %11378, ptr %324, align 4, !tbaa !5
  br label %11379

11379:                                            ; preds = %11374
  %11380 = load i32, ptr @test_count, align 4, !tbaa !5
  %11381 = add nsw i32 %11380, 1
  store i32 %11381, ptr @test_count, align 4, !tbaa !5
  %11382 = load i32, ptr %324, align 4, !tbaa !5
  %11383 = sext i32 %11382 to i64
  %11384 = icmp eq i64 %11383, 100
  br i1 %11384, label %11438, label %11385

11385:                                            ; preds = %11379
  br label %11386

11386:                                            ; preds = %11385
  br label %11387

11387:                                            ; preds = %11386
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %11388 = call ptr @__errno_location() #12
  %11389 = load i32, ptr %11388, align 4, !tbaa !5
  store i32 %11389, ptr %325, align 4, !tbaa !5
  %11390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11391 = call i32 @s2n_print_stacktrace(ptr noundef %11390)
  %11392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11393 = trunc i8 %11392 to i1
  br i1 %11393, label %11394, label %11416

11394:                                            ; preds = %11387
  %11395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11396 = call i32 @fileno(ptr noundef %11395) #11
  %11397 = call i32 @isatty(i32 noundef %11396) #11
  %11398 = icmp ne i32 %11397, 0
  br i1 %11398, label %11399, label %11416

11399:                                            ; preds = %11394
  %11400 = load i32, ptr %325, align 4, !tbaa !5
  %11401 = call ptr @__errno_location() #12
  store i32 %11400, ptr %11401, align 4, !tbaa !5
  %11402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11403 = load i32, ptr @test_count, align 4, !tbaa !5
  %11404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11405 = load i32, ptr %11404, align 4, !tbaa !5
  %11406 = call ptr @s2n_strerror(i32 noundef %11405, ptr noundef @.str.4)
  %11407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11408 = load i32, ptr %11407, align 4, !tbaa !5
  %11409 = call ptr @s2n_strerror_debug(i32 noundef %11408, ptr noundef @.str.4)
  %11410 = call ptr @__errno_location() #12
  %11411 = load i32, ptr %11410, align 4, !tbaa !5
  %11412 = call ptr @strerror(i32 noundef %11411) #11
  %11413 = call ptr @__errno_location() #12
  %11414 = load i32, ptr %11413, align 4, !tbaa !5
  %11415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11402, ptr noundef @.str.2, i32 noundef %11403, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 678, ptr noundef %11406, ptr noundef %11409, ptr noundef %11412, i32 noundef %11414) #11
  br label %11433

11416:                                            ; preds = %11394, %11387
  %11417 = load i32, ptr %325, align 4, !tbaa !5
  %11418 = call ptr @__errno_location() #12
  store i32 %11417, ptr %11418, align 4, !tbaa !5
  %11419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11420 = load i32, ptr @test_count, align 4, !tbaa !5
  %11421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11422 = load i32, ptr %11421, align 4, !tbaa !5
  %11423 = call ptr @s2n_strerror(i32 noundef %11422, ptr noundef @.str.4)
  %11424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11425 = load i32, ptr %11424, align 4, !tbaa !5
  %11426 = call ptr @s2n_strerror_debug(i32 noundef %11425, ptr noundef @.str.4)
  %11427 = call ptr @__errno_location() #12
  %11428 = load i32, ptr %11427, align 4, !tbaa !5
  %11429 = call ptr @strerror(i32 noundef %11428) #11
  %11430 = call ptr @__errno_location() #12
  %11431 = load i32, ptr %11430, align 4, !tbaa !5
  %11432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11419, ptr noundef @.str.5, i32 noundef %11420, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 678, ptr noundef %11423, ptr noundef %11426, ptr noundef %11429, i32 noundef %11431) #11
  br label %11433

11433:                                            ; preds = %11416, %11399
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %11434

11434:                                            ; preds = %11433
  br label %11435

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

11436:                                            ; No predecessors!
  br label %11437

11437:                                            ; preds = %11436
  br label %11438

11438:                                            ; preds = %11437, %11379
  br label %11439

11439:                                            ; preds = %11438
  br label %11440

11440:                                            ; preds = %11439
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %11441 = load ptr, ptr %321, align 8, !tbaa !9
  %11442 = getelementptr inbounds [100 x i8], ptr %323, i64 0, i64 0
  %11443 = call i64 @s2n_recv(ptr noundef %11441, ptr noundef %11442, i64 noundef 100, ptr noundef %322)
  %11444 = trunc i64 %11443 to i32
  store i32 %11444, ptr %326, align 4, !tbaa !5
  br label %11445

11445:                                            ; preds = %11440
  %11446 = load i32, ptr @test_count, align 4, !tbaa !5
  %11447 = add nsw i32 %11446, 1
  store i32 %11447, ptr @test_count, align 4, !tbaa !5
  %11448 = load i32, ptr %326, align 4, !tbaa !5
  %11449 = sext i32 %11448 to i64
  %11450 = icmp eq i64 %11449, 100
  br i1 %11450, label %11504, label %11451

11451:                                            ; preds = %11445
  br label %11452

11452:                                            ; preds = %11451
  br label %11453

11453:                                            ; preds = %11452
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %11454 = call ptr @__errno_location() #12
  %11455 = load i32, ptr %11454, align 4, !tbaa !5
  store i32 %11455, ptr %327, align 4, !tbaa !5
  %11456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11457 = call i32 @s2n_print_stacktrace(ptr noundef %11456)
  %11458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11459 = trunc i8 %11458 to i1
  br i1 %11459, label %11460, label %11482

11460:                                            ; preds = %11453
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = call i32 @fileno(ptr noundef %11461) #11
  %11463 = call i32 @isatty(i32 noundef %11462) #11
  %11464 = icmp ne i32 %11463, 0
  br i1 %11464, label %11465, label %11482

11465:                                            ; preds = %11460
  %11466 = load i32, ptr %327, align 4, !tbaa !5
  %11467 = call ptr @__errno_location() #12
  store i32 %11466, ptr %11467, align 4, !tbaa !5
  %11468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11469 = load i32, ptr @test_count, align 4, !tbaa !5
  %11470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11471 = load i32, ptr %11470, align 4, !tbaa !5
  %11472 = call ptr @s2n_strerror(i32 noundef %11471, ptr noundef @.str.4)
  %11473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11474 = load i32, ptr %11473, align 4, !tbaa !5
  %11475 = call ptr @s2n_strerror_debug(i32 noundef %11474, ptr noundef @.str.4)
  %11476 = call ptr @__errno_location() #12
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = call ptr @strerror(i32 noundef %11477) #11
  %11479 = call ptr @__errno_location() #12
  %11480 = load i32, ptr %11479, align 4, !tbaa !5
  %11481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11468, ptr noundef @.str.2, i32 noundef %11469, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 680, ptr noundef %11472, ptr noundef %11475, ptr noundef %11478, i32 noundef %11480) #11
  br label %11499

11482:                                            ; preds = %11460, %11453
  %11483 = load i32, ptr %327, align 4, !tbaa !5
  %11484 = call ptr @__errno_location() #12
  store i32 %11483, ptr %11484, align 4, !tbaa !5
  %11485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11486 = load i32, ptr @test_count, align 4, !tbaa !5
  %11487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @s2n_strerror(i32 noundef %11488, ptr noundef @.str.4)
  %11490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call ptr @s2n_strerror_debug(i32 noundef %11491, ptr noundef @.str.4)
  %11493 = call ptr @__errno_location() #12
  %11494 = load i32, ptr %11493, align 4, !tbaa !5
  %11495 = call ptr @strerror(i32 noundef %11494) #11
  %11496 = call ptr @__errno_location() #12
  %11497 = load i32, ptr %11496, align 4, !tbaa !5
  %11498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11485, ptr noundef @.str.5, i32 noundef %11486, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 680, ptr noundef %11489, ptr noundef %11492, ptr noundef %11495, i32 noundef %11497) #11
  br label %11499

11499:                                            ; preds = %11482, %11465
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %11500

11500:                                            ; preds = %11499
  br label %11501

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

11502:                                            ; No predecessors!
  br label %11503

11503:                                            ; preds = %11502
  br label %11504

11504:                                            ; preds = %11503, %11445
  br label %11505

11505:                                            ; preds = %11504
  br label %11506

11506:                                            ; preds = %11505
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %323) #11
  br label %11569

11507:                                            ; preds = %11357
  br label %11508

11508:                                            ; preds = %11507
  %11509 = load i32, ptr @test_count, align 4, !tbaa !5
  %11510 = add nsw i32 %11509, 1
  store i32 %11510, ptr @test_count, align 4, !tbaa !5
  %11511 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %11512 = trunc i8 %11511 to i1
  br i1 %11512, label %11513, label %11566

11513:                                            ; preds = %11508
  br label %11514

11514:                                            ; preds = %11513
  br label %11515

11515:                                            ; preds = %11514
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %11516 = call ptr @__errno_location() #12
  %11517 = load i32, ptr %11516, align 4, !tbaa !5
  store i32 %11517, ptr %328, align 4, !tbaa !5
  %11518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11519 = call i32 @s2n_print_stacktrace(ptr noundef %11518)
  %11520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11521 = trunc i8 %11520 to i1
  br i1 %11521, label %11522, label %11544

11522:                                            ; preds = %11515
  %11523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11524 = call i32 @fileno(ptr noundef %11523) #11
  %11525 = call i32 @isatty(i32 noundef %11524) #11
  %11526 = icmp ne i32 %11525, 0
  br i1 %11526, label %11527, label %11544

11527:                                            ; preds = %11522
  %11528 = load i32, ptr %328, align 4, !tbaa !5
  %11529 = call ptr @__errno_location() #12
  store i32 %11528, ptr %11529, align 4, !tbaa !5
  %11530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11531 = load i32, ptr @test_count, align 4, !tbaa !5
  %11532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11533 = load i32, ptr %11532, align 4, !tbaa !5
  %11534 = call ptr @s2n_strerror(i32 noundef %11533, ptr noundef @.str.4)
  %11535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11536 = load i32, ptr %11535, align 4, !tbaa !5
  %11537 = call ptr @s2n_strerror_debug(i32 noundef %11536, ptr noundef @.str.4)
  %11538 = call ptr @__errno_location() #12
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @strerror(i32 noundef %11539) #11
  %11541 = call ptr @__errno_location() #12
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11530, ptr noundef @.str.2, i32 noundef %11531, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 682, ptr noundef %11534, ptr noundef %11537, ptr noundef %11540, i32 noundef %11542) #11
  br label %11561

11544:                                            ; preds = %11522, %11515
  %11545 = load i32, ptr %328, align 4, !tbaa !5
  %11546 = call ptr @__errno_location() #12
  store i32 %11545, ptr %11546, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = load i32, ptr @test_count, align 4, !tbaa !5
  %11549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11550 = load i32, ptr %11549, align 4, !tbaa !5
  %11551 = call ptr @s2n_strerror(i32 noundef %11550, ptr noundef @.str.4)
  %11552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11553 = load i32, ptr %11552, align 4, !tbaa !5
  %11554 = call ptr @s2n_strerror_debug(i32 noundef %11553, ptr noundef @.str.4)
  %11555 = call ptr @__errno_location() #12
  %11556 = load i32, ptr %11555, align 4, !tbaa !5
  %11557 = call ptr @strerror(i32 noundef %11556) #11
  %11558 = call ptr @__errno_location() #12
  %11559 = load i32, ptr %11558, align 4, !tbaa !5
  %11560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11547, ptr noundef @.str.5, i32 noundef %11548, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 682, ptr noundef %11551, ptr noundef %11554, ptr noundef %11557, i32 noundef %11559) #11
  br label %11561

11561:                                            ; preds = %11544, %11527
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %11562

11562:                                            ; preds = %11561
  br label %11563

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

11564:                                            ; No predecessors!
  br label %11565

11565:                                            ; preds = %11564
  br label %11566

11566:                                            ; preds = %11565, %11508
  br label %11567

11567:                                            ; preds = %11566
  br label %11568

11568:                                            ; preds = %11567
  br label %11569

11569:                                            ; preds = %11568, %11506
  %11570 = load ptr, ptr %320, align 8, !tbaa !9
  %11571 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %11570)
  %11572 = icmp eq i32 %11571, 0
  br i1 %11572, label %11573, label %11706

11573:                                            ; preds = %11569
  call void @llvm.lifetime.start.p0(i64 100, ptr %329) #11
  call void @llvm.memset.p0.i64(ptr align 16 %329, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %11574 = load ptr, ptr %321, align 8, !tbaa !9
  %11575 = getelementptr inbounds [100 x i8], ptr %16, i64 0, i64 0
  %11576 = call i64 @s2n_send(ptr noundef %11574, ptr noundef %11575, i64 noundef 100, ptr noundef %322)
  %11577 = trunc i64 %11576 to i32
  store i32 %11577, ptr %330, align 4, !tbaa !5
  br label %11578

11578:                                            ; preds = %11573
  %11579 = load i32, ptr @test_count, align 4, !tbaa !5
  %11580 = add nsw i32 %11579, 1
  store i32 %11580, ptr @test_count, align 4, !tbaa !5
  %11581 = load i32, ptr %330, align 4, !tbaa !5
  %11582 = sext i32 %11581 to i64
  %11583 = icmp eq i64 %11582, 100
  br i1 %11583, label %11637, label %11584

11584:                                            ; preds = %11578
  br label %11585

11585:                                            ; preds = %11584
  br label %11586

11586:                                            ; preds = %11585
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %11587 = call ptr @__errno_location() #12
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  store i32 %11588, ptr %331, align 4, !tbaa !5
  %11589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11590 = call i32 @s2n_print_stacktrace(ptr noundef %11589)
  %11591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11592 = trunc i8 %11591 to i1
  br i1 %11592, label %11593, label %11615

11593:                                            ; preds = %11586
  %11594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11595 = call i32 @fileno(ptr noundef %11594) #11
  %11596 = call i32 @isatty(i32 noundef %11595) #11
  %11597 = icmp ne i32 %11596, 0
  br i1 %11597, label %11598, label %11615

11598:                                            ; preds = %11593
  %11599 = load i32, ptr %331, align 4, !tbaa !5
  %11600 = call ptr @__errno_location() #12
  store i32 %11599, ptr %11600, align 4, !tbaa !5
  %11601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11602 = load i32, ptr @test_count, align 4, !tbaa !5
  %11603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call ptr @s2n_strerror(i32 noundef %11604, ptr noundef @.str.4)
  %11606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11607 = load i32, ptr %11606, align 4, !tbaa !5
  %11608 = call ptr @s2n_strerror_debug(i32 noundef %11607, ptr noundef @.str.4)
  %11609 = call ptr @__errno_location() #12
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  %11611 = call ptr @strerror(i32 noundef %11610) #11
  %11612 = call ptr @__errno_location() #12
  %11613 = load i32, ptr %11612, align 4, !tbaa !5
  %11614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11601, ptr noundef @.str.2, i32 noundef %11602, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 691, ptr noundef %11605, ptr noundef %11608, ptr noundef %11611, i32 noundef %11613) #11
  br label %11632

11615:                                            ; preds = %11593, %11586
  %11616 = load i32, ptr %331, align 4, !tbaa !5
  %11617 = call ptr @__errno_location() #12
  store i32 %11616, ptr %11617, align 4, !tbaa !5
  %11618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11619 = load i32, ptr @test_count, align 4, !tbaa !5
  %11620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  %11622 = call ptr @s2n_strerror(i32 noundef %11621, ptr noundef @.str.4)
  %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_debug(i32 noundef %11624, ptr noundef @.str.4)
  %11626 = call ptr @__errno_location() #12
  %11627 = load i32, ptr %11626, align 4, !tbaa !5
  %11628 = call ptr @strerror(i32 noundef %11627) #11
  %11629 = call ptr @__errno_location() #12
  %11630 = load i32, ptr %11629, align 4, !tbaa !5
  %11631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11618, ptr noundef @.str.5, i32 noundef %11619, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 691, ptr noundef %11622, ptr noundef %11625, ptr noundef %11628, i32 noundef %11630) #11
  br label %11632

11632:                                            ; preds = %11615, %11598
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %11633

11633:                                            ; preds = %11632
  br label %11634

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

11635:                                            ; No predecessors!
  br label %11636

11636:                                            ; preds = %11635
  br label %11637

11637:                                            ; preds = %11636, %11578
  br label %11638

11638:                                            ; preds = %11637
  br label %11639

11639:                                            ; preds = %11638
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %11640 = load ptr, ptr %320, align 8, !tbaa !9
  %11641 = getelementptr inbounds [100 x i8], ptr %329, i64 0, i64 0
  %11642 = call i64 @s2n_recv(ptr noundef %11640, ptr noundef %11641, i64 noundef 100, ptr noundef %322)
  %11643 = trunc i64 %11642 to i32
  store i32 %11643, ptr %332, align 4, !tbaa !5
  br label %11644

11644:                                            ; preds = %11639
  %11645 = load i32, ptr @test_count, align 4, !tbaa !5
  %11646 = add nsw i32 %11645, 1
  store i32 %11646, ptr @test_count, align 4, !tbaa !5
  %11647 = load i32, ptr %332, align 4, !tbaa !5
  %11648 = sext i32 %11647 to i64
  %11649 = icmp eq i64 %11648, 100
  br i1 %11649, label %11703, label %11650

11650:                                            ; preds = %11644
  br label %11651

11651:                                            ; preds = %11650
  br label %11652

11652:                                            ; preds = %11651
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %11653 = call ptr @__errno_location() #12
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  store i32 %11654, ptr %333, align 4, !tbaa !5
  %11655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11656 = call i32 @s2n_print_stacktrace(ptr noundef %11655)
  %11657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11658 = trunc i8 %11657 to i1
  br i1 %11658, label %11659, label %11681

11659:                                            ; preds = %11652
  %11660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11661 = call i32 @fileno(ptr noundef %11660) #11
  %11662 = call i32 @isatty(i32 noundef %11661) #11
  %11663 = icmp ne i32 %11662, 0
  br i1 %11663, label %11664, label %11681

11664:                                            ; preds = %11659
  %11665 = load i32, ptr %333, align 4, !tbaa !5
  %11666 = call ptr @__errno_location() #12
  store i32 %11665, ptr %11666, align 4, !tbaa !5
  %11667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11668 = load i32, ptr @test_count, align 4, !tbaa !5
  %11669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11670 = load i32, ptr %11669, align 4, !tbaa !5
  %11671 = call ptr @s2n_strerror(i32 noundef %11670, ptr noundef @.str.4)
  %11672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11673 = load i32, ptr %11672, align 4, !tbaa !5
  %11674 = call ptr @s2n_strerror_debug(i32 noundef %11673, ptr noundef @.str.4)
  %11675 = call ptr @__errno_location() #12
  %11676 = load i32, ptr %11675, align 4, !tbaa !5
  %11677 = call ptr @strerror(i32 noundef %11676) #11
  %11678 = call ptr @__errno_location() #12
  %11679 = load i32, ptr %11678, align 4, !tbaa !5
  %11680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11667, ptr noundef @.str.2, i32 noundef %11668, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 693, ptr noundef %11671, ptr noundef %11674, ptr noundef %11677, i32 noundef %11679) #11
  br label %11698

11681:                                            ; preds = %11659, %11652
  %11682 = load i32, ptr %333, align 4, !tbaa !5
  %11683 = call ptr @__errno_location() #12
  store i32 %11682, ptr %11683, align 4, !tbaa !5
  %11684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11685 = load i32, ptr @test_count, align 4, !tbaa !5
  %11686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11687 = load i32, ptr %11686, align 4, !tbaa !5
  %11688 = call ptr @s2n_strerror(i32 noundef %11687, ptr noundef @.str.4)
  %11689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11690 = load i32, ptr %11689, align 4, !tbaa !5
  %11691 = call ptr @s2n_strerror_debug(i32 noundef %11690, ptr noundef @.str.4)
  %11692 = call ptr @__errno_location() #12
  %11693 = load i32, ptr %11692, align 4, !tbaa !5
  %11694 = call ptr @strerror(i32 noundef %11693) #11
  %11695 = call ptr @__errno_location() #12
  %11696 = load i32, ptr %11695, align 4, !tbaa !5
  %11697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11684, ptr noundef @.str.5, i32 noundef %11685, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 693, ptr noundef %11688, ptr noundef %11691, ptr noundef %11694, i32 noundef %11696) #11
  br label %11698

11698:                                            ; preds = %11681, %11664
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %11699

11699:                                            ; preds = %11698
  br label %11700

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

11701:                                            ; No predecessors!
  br label %11702

11702:                                            ; preds = %11701
  br label %11703

11703:                                            ; preds = %11702, %11644
  br label %11704

11704:                                            ; preds = %11703
  br label %11705

11705:                                            ; preds = %11704
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %329) #11
  br label %11768

11706:                                            ; preds = %11569
  br label %11707

11707:                                            ; preds = %11706
  %11708 = load i32, ptr @test_count, align 4, !tbaa !5
  %11709 = add nsw i32 %11708, 1
  store i32 %11709, ptr @test_count, align 4, !tbaa !5
  %11710 = load i8, ptr %9, align 1, !tbaa !11, !range !13, !noundef !14
  %11711 = trunc i8 %11710 to i1
  br i1 %11711, label %11712, label %11765

11712:                                            ; preds = %11707
  br label %11713

11713:                                            ; preds = %11712
  br label %11714

11714:                                            ; preds = %11713
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %11715 = call ptr @__errno_location() #12
  %11716 = load i32, ptr %11715, align 4, !tbaa !5
  store i32 %11716, ptr %334, align 4, !tbaa !5
  %11717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11718 = call i32 @s2n_print_stacktrace(ptr noundef %11717)
  %11719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11720 = trunc i8 %11719 to i1
  br i1 %11720, label %11721, label %11743

11721:                                            ; preds = %11714
  %11722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11723 = call i32 @fileno(ptr noundef %11722) #11
  %11724 = call i32 @isatty(i32 noundef %11723) #11
  %11725 = icmp ne i32 %11724, 0
  br i1 %11725, label %11726, label %11743

11726:                                            ; preds = %11721
  %11727 = load i32, ptr %334, align 4, !tbaa !5
  %11728 = call ptr @__errno_location() #12
  store i32 %11727, ptr %11728, align 4, !tbaa !5
  %11729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11730 = load i32, ptr @test_count, align 4, !tbaa !5
  %11731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror(i32 noundef %11732, ptr noundef @.str.4)
  %11734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror_debug(i32 noundef %11735, ptr noundef @.str.4)
  %11737 = call ptr @__errno_location() #12
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call ptr @strerror(i32 noundef %11738) #11
  %11740 = call ptr @__errno_location() #12
  %11741 = load i32, ptr %11740, align 4, !tbaa !5
  %11742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11729, ptr noundef @.str.2, i32 noundef %11730, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 695, ptr noundef %11733, ptr noundef %11736, ptr noundef %11739, i32 noundef %11741) #11
  br label %11760

11743:                                            ; preds = %11721, %11714
  %11744 = load i32, ptr %334, align 4, !tbaa !5
  %11745 = call ptr @__errno_location() #12
  store i32 %11744, ptr %11745, align 4, !tbaa !5
  %11746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11747 = load i32, ptr @test_count, align 4, !tbaa !5
  %11748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11749 = load i32, ptr %11748, align 4, !tbaa !5
  %11750 = call ptr @s2n_strerror(i32 noundef %11749, ptr noundef @.str.4)
  %11751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11752 = load i32, ptr %11751, align 4, !tbaa !5
  %11753 = call ptr @s2n_strerror_debug(i32 noundef %11752, ptr noundef @.str.4)
  %11754 = call ptr @__errno_location() #12
  %11755 = load i32, ptr %11754, align 4, !tbaa !5
  %11756 = call ptr @strerror(i32 noundef %11755) #11
  %11757 = call ptr @__errno_location() #12
  %11758 = load i32, ptr %11757, align 4, !tbaa !5
  %11759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11746, ptr noundef @.str.5, i32 noundef %11747, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 695, ptr noundef %11750, ptr noundef %11753, ptr noundef %11756, i32 noundef %11758) #11
  br label %11760

11760:                                            ; preds = %11743, %11726
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %11761

11761:                                            ; preds = %11760
  br label %11762

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

11763:                                            ; No predecessors!
  br label %11764

11764:                                            ; preds = %11763
  br label %11765

11765:                                            ; preds = %11764, %11707
  br label %11766

11766:                                            ; preds = %11765
  br label %11767

11767:                                            ; preds = %11766
  br label %11768

11768:                                            ; preds = %11767, %11705
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %320) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr %319) #11
  %11769 = call i32 @s2n_io_pair_close(ptr noundef %314)
  call void @llvm.lifetime.end.p0(i64 8, ptr %314) #11
  %11770 = call i32 @s2n_connection_ptr_free(ptr noundef %311)
  %11771 = getelementptr inbounds %struct.s2n_result, ptr %335, i32 0, i32 0
  store i32 %11770, ptr %11771, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #11
  %11772 = call i32 @s2n_connection_ptr_free(ptr noundef %308)
  %11773 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  store i32 %11772, ptr %11773, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %308) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %307) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %306) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %11774

11774:                                            ; preds = %11768
  %11775 = load i64, ptr %304, align 8, !tbaa !15
  %11776 = add i64 %11775, 1
  store i64 %11776, ptr %304, align 8, !tbaa !15
  br label %10962, !llvm.loop !80

11777:                                            ; preds = %10965
  store i32 0, ptr %12, align 4
  br label %11778

11778:                                            ; preds = %11777, %10960
  call void @llvm.lifetime.end.p0(i64 8, ptr %301) #11
  %11779 = load i32, ptr %12, align 4
  switch i32 %11779, label %11951 [
    i32 0, label %11780
    i32 1041, label %11781
  ]

11780:                                            ; preds = %11778
  br label %11781

11781:                                            ; preds = %11780, %11778
  %11782 = load i64, ptr %300, align 8, !tbaa !15
  %11783 = add i64 %11782, 1
  store i64 %11783, ptr %300, align 8, !tbaa !15
  br label %10814, !llvm.loop !81

11784:                                            ; preds = %10817
  call void @llvm.lifetime.end.p0(i64 64, ptr %292) #11
  br label %11785

11785:                                            ; preds = %11784, %10634
  br label %11786

11786:                                            ; preds = %11785
  br label %11787

11787:                                            ; preds = %11786
  %11788 = call i32 @s2n_cleanup()
  %11789 = icmp eq i32 %11788, -1
  br i1 %11789, label %11790, label %11843

11790:                                            ; preds = %11787
  br label %11791

11791:                                            ; preds = %11790
  br label %11792

11792:                                            ; preds = %11791
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %11793 = call ptr @__errno_location() #12
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  store i32 %11794, ptr %337, align 4, !tbaa !5
  %11795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11796 = call i32 @s2n_print_stacktrace(ptr noundef %11795)
  %11797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11798 = trunc i8 %11797 to i1
  br i1 %11798, label %11799, label %11821

11799:                                            ; preds = %11792
  %11800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11801 = call i32 @fileno(ptr noundef %11800) #11
  %11802 = call i32 @isatty(i32 noundef %11801) #11
  %11803 = icmp ne i32 %11802, 0
  br i1 %11803, label %11804, label %11821

11804:                                            ; preds = %11799
  %11805 = load i32, ptr %337, align 4, !tbaa !5
  %11806 = call ptr @__errno_location() #12
  store i32 %11805, ptr %11806, align 4, !tbaa !5
  %11807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11808 = load i32, ptr @test_count, align 4, !tbaa !5
  %11809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11810 = load i32, ptr %11809, align 4, !tbaa !5
  %11811 = call ptr @s2n_strerror(i32 noundef %11810, ptr noundef @.str.4)
  %11812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call ptr @s2n_strerror_debug(i32 noundef %11813, ptr noundef @.str.4)
  %11815 = call ptr @__errno_location() #12
  %11816 = load i32, ptr %11815, align 4, !tbaa !5
  %11817 = call ptr @strerror(i32 noundef %11816) #11
  %11818 = call ptr @__errno_location() #12
  %11819 = load i32, ptr %11818, align 4, !tbaa !5
  %11820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11807, ptr noundef @.str.2, i32 noundef %11808, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11811, ptr noundef %11814, ptr noundef %11817, i32 noundef %11819) #11
  br label %11838

11821:                                            ; preds = %11799, %11792
  %11822 = load i32, ptr %337, align 4, !tbaa !5
  %11823 = call ptr @__errno_location() #12
  store i32 %11822, ptr %11823, align 4, !tbaa !5
  %11824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11825 = load i32, ptr @test_count, align 4, !tbaa !5
  %11826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11827 = load i32, ptr %11826, align 4, !tbaa !5
  %11828 = call ptr @s2n_strerror(i32 noundef %11827, ptr noundef @.str.4)
  %11829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11830 = load i32, ptr %11829, align 4, !tbaa !5
  %11831 = call ptr @s2n_strerror_debug(i32 noundef %11830, ptr noundef @.str.4)
  %11832 = call ptr @__errno_location() #12
  %11833 = load i32, ptr %11832, align 4, !tbaa !5
  %11834 = call ptr @strerror(i32 noundef %11833) #11
  %11835 = call ptr @__errno_location() #12
  %11836 = load i32, ptr %11835, align 4, !tbaa !5
  %11837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11824, ptr noundef @.str.5, i32 noundef %11825, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11828, ptr noundef %11831, ptr noundef %11834, i32 noundef %11836) #11
  br label %11838

11838:                                            ; preds = %11821, %11804
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %11839

11839:                                            ; preds = %11838
  br label %11840

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

11841:                                            ; No predecessors!
  br label %11842

11842:                                            ; preds = %11841
  br label %11843

11843:                                            ; preds = %11842, %11787
  br label %11844

11844:                                            ; preds = %11843
  br label %11845

11845:                                            ; preds = %11844
  br label %11846

11846:                                            ; preds = %11845
  br label %11847

11847:                                            ; preds = %11846
  %11848 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %11849 = icmp eq i32 %11848, -1
  br i1 %11849, label %11850, label %11903

11850:                                            ; preds = %11847
  br label %11851

11851:                                            ; preds = %11850
  br label %11852

11852:                                            ; preds = %11851
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %11853 = call ptr @__errno_location() #12
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  store i32 %11854, ptr %338, align 4, !tbaa !5
  %11855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11856 = call i32 @s2n_print_stacktrace(ptr noundef %11855)
  %11857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11858 = trunc i8 %11857 to i1
  br i1 %11858, label %11859, label %11881

11859:                                            ; preds = %11852
  %11860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11861 = call i32 @fileno(ptr noundef %11860) #11
  %11862 = call i32 @isatty(i32 noundef %11861) #11
  %11863 = icmp ne i32 %11862, 0
  br i1 %11863, label %11864, label %11881

11864:                                            ; preds = %11859
  %11865 = load i32, ptr %338, align 4, !tbaa !5
  %11866 = call ptr @__errno_location() #12
  store i32 %11865, ptr %11866, align 4, !tbaa !5
  %11867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11868 = load i32, ptr @test_count, align 4, !tbaa !5
  %11869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11870 = load i32, ptr %11869, align 4, !tbaa !5
  %11871 = call ptr @s2n_strerror(i32 noundef %11870, ptr noundef @.str.4)
  %11872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11873 = load i32, ptr %11872, align 4, !tbaa !5
  %11874 = call ptr @s2n_strerror_debug(i32 noundef %11873, ptr noundef @.str.4)
  %11875 = call ptr @__errno_location() #12
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  %11877 = call ptr @strerror(i32 noundef %11876) #11
  %11878 = call ptr @__errno_location() #12
  %11879 = load i32, ptr %11878, align 4, !tbaa !5
  %11880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11867, ptr noundef @.str.2, i32 noundef %11868, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11871, ptr noundef %11874, ptr noundef %11877, i32 noundef %11879) #11
  br label %11898

11881:                                            ; preds = %11859, %11852
  %11882 = load i32, ptr %338, align 4, !tbaa !5
  %11883 = call ptr @__errno_location() #12
  store i32 %11882, ptr %11883, align 4, !tbaa !5
  %11884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11885 = load i32, ptr @test_count, align 4, !tbaa !5
  %11886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11887 = load i32, ptr %11886, align 4, !tbaa !5
  %11888 = call ptr @s2n_strerror(i32 noundef %11887, ptr noundef @.str.4)
  %11889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11890 = load i32, ptr %11889, align 4, !tbaa !5
  %11891 = call ptr @s2n_strerror_debug(i32 noundef %11890, ptr noundef @.str.4)
  %11892 = call ptr @__errno_location() #12
  %11893 = load i32, ptr %11892, align 4, !tbaa !5
  %11894 = call ptr @strerror(i32 noundef %11893) #11
  %11895 = call ptr @__errno_location() #12
  %11896 = load i32, ptr %11895, align 4, !tbaa !5
  %11897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11884, ptr noundef @.str.5, i32 noundef %11885, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 701, ptr noundef %11888, ptr noundef %11891, ptr noundef %11894, i32 noundef %11896) #11
  br label %11898

11898:                                            ; preds = %11881, %11864
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %11899

11899:                                            ; preds = %11898
  br label %11900

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

11901:                                            ; No predecessors!
  br label %11902

11902:                                            ; preds = %11901
  br label %11903

11903:                                            ; preds = %11902, %11847
  br label %11904

11904:                                            ; preds = %11903
  br label %11905

11905:                                            ; preds = %11904
  %11906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11907 = trunc i8 %11906 to i1
  br i1 %11907, label %11908, label %11924

11908:                                            ; preds = %11905
  %11909 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11910 = call i32 @fileno(ptr noundef %11909) #11
  %11911 = call i32 @isatty(i32 noundef %11910) #11
  %11912 = icmp ne i32 %11911, 0
  br i1 %11912, label %11913, label %11924

11913:                                            ; preds = %11908
  %11914 = load i32, ptr @test_count, align 4, !tbaa !5
  %11915 = icmp ne i32 %11914, 0
  br i1 %11915, label %11916, label %11920

11916:                                            ; preds = %11913
  %11917 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11918 = load i32, ptr @test_count, align 4, !tbaa !5
  %11919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11917, ptr noundef @.str.11, i32 noundef %11918) #11
  br label %11923

11920:                                            ; preds = %11913
  %11921 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11921, ptr noundef @.str.12) #11
  br label %11923

11923:                                            ; preds = %11920, %11916
  br label %11935

11924:                                            ; preds = %11908, %11905
  %11925 = load i32, ptr @test_count, align 4, !tbaa !5
  %11926 = icmp ne i32 %11925, 0
  br i1 %11926, label %11927, label %11931

11927:                                            ; preds = %11924
  %11928 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11929 = load i32, ptr @test_count, align 4, !tbaa !5
  %11930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11928, ptr noundef @.str.13, i32 noundef %11929) #11
  br label %11934

11931:                                            ; preds = %11924
  %11932 = load ptr, ptr @stdout, align 8, !tbaa !9
  %11933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11932, ptr noundef @.str.14) #11
  br label %11934

11934:                                            ; preds = %11931, %11927
  br label %11935

11935:                                            ; preds = %11934, %11923
  store i32 0, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %11940

11936:                                            ; No predecessors!
  br label %11937

11937:                                            ; preds = %11936
  br label %11938

11938:                                            ; preds = %11937
  br label %11939

11939:                                            ; preds = %11938
  store i32 0, ptr %12, align 4
  br label %11940

11940:                                            ; preds = %11939, %11935, %2061
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #11
  %11941 = call i32 @s2n_config_ptr_free(ptr noundef %26)
  %11942 = getelementptr inbounds %struct.s2n_result, ptr %339, i32 0, i32 0
  store i32 %11941, ptr %11942, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #11
  call void @llvm.lifetime.end.p0(i64 48, ptr %25) #11
  call void @llvm.lifetime.end.p0(i64 160, ptr %22) #11
  %11943 = call i32 @s2n_test_iovecs_free(ptr noundef %21)
  %11944 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  store i32 %11943, ptr %11944, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %16) #11
  %11945 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %14)
  %11946 = getelementptr inbounds %struct.s2n_result, ptr %341, i32 0, i32 0
  store i32 %11945, ptr %11946, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #11
  br label %11947

11947:                                            ; preds = %11940, %677
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #11
  %11948 = load i32, ptr %12, align 4
  switch i32 %11948, label %11951 [
    i32 0, label %11949
    i32 1, label %11949
  ]

11949:                                            ; preds = %11947, %11947
  %11950 = load i32, ptr %3, align 4
  ret i32 %11950

11951:                                            ; preds = %11947, %11778, %10807
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

; Function Attrs: nounwind
declare ptr @getenv(ptr noundef) #1

declare zeroext i1 @s2n_ktls_is_supported_on_platform(...) #2

declare i32 @s2n_cleanup() #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #9

declare i32 @s2n_get_public_random_data(ptr noundef) #2

declare i32 @s2n_test_iovecs_free(ptr noundef) #2

declare i32 @s2n_test_new_iovecs(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #2

declare ptr @s2n_config_new() #2

declare i32 @s2n_config_ptr_free(ptr noundef) #2

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

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

declare i32 @s2n_config_ktls_enable_unsafe_tls13(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) #9

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_new_inet_socket_pair(ptr noundef) #0

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

declare i32 @s2n_connection_ktls_enable_send(ptr noundef) #2

declare i32 @s2n_connection_ktls_enable_recv(ptr noundef) #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i64 @s2n_sendv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i64 @s2n_sendv_with_offset(ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef) #2

declare i32 @open(ptr noundef, i32 noundef, ...) #2

declare i64 @pread(i32 noundef, ptr noundef, i64 noundef, i64 noundef) #2

declare i32 @s2n_sendfile(ptr noundef, i32 noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef) #2

declare i32 @close(i32 noundef) #2

declare i32 @s2n_shutdown_send(ptr noundef, ptr noundef) #2

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) #2

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

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) #2

declare i32 @s2n_flush(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) #2

declare void @s2n_debug_info_reset() #2

declare i64 @s2n_connection_get_delay(ptr noundef) #2

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

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare void @s2n_atomic_flag_set(ptr noundef) #2

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_io_pair_close_one_end(ptr noundef, i32 noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind 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, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = !{!20, !10, i64 0}
!20 = !{!"s2n_test_iovecs", !10, i64 0, !16, i64 8}
!21 = !{!20, !16, i64 8}
!22 = distinct !{!22, !18}
!23 = distinct !{!23, !18}
!24 = distinct !{!24, !18}
!25 = distinct !{!25, !18}
!26 = distinct !{!26, !18}
!27 = !{!28, !7, i64 220}
!28 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !29, i64 160, !16, i64 168, !16, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !30, i64 240, !10, i64 632, !10, i64 640, !31, i64 648, !37, i64 1144, !40, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !43, i64 1776, !43, i64 1816, !43, i64 1856, !43, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !43, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !44, i64 2004, !44, i64 2008, !45, i64 2016, !42, i64 2208, !6, i64 2212, !42, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !44, i64 2264, !44, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !36, i64 2792, !6, i64 2816, !36, i64 2824, !36, i64 2848, !36, i64 2872, !47, i64 2896, !49, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !36, i64 3784, !6, i64 3808, !51, i64 3816, !7, i64 3848, !43, i64 3992, !36, i64 4032, !36, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !42, i64 4084, !42, i64 4086, !6, i64 4088, !6, i64 4092, !36, i64 4096, !6, i64 4120, !52, i64 4128, !44, i64 4176, !7, i64 4180, !7, i64 4181}
!29 = !{!"s2n_timer", !16, i64 0}
!30 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!31 = !{!"s2n_kex_parameters", !32, i64 0, !33, i64 8, !7, i64 24, !33, i64 56, !34, i64 72, !34, i64 184, !7, i64 296, !35, i64 360, !36, i64 448, !36, i64 472}
!32 = !{!"s2n_dh_params", !10, i64 0}
!33 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!34 = !{!"s2n_kem_group_params", !10, i64 0, !35, i64 8, !33, i64 96}
!35 = !{!"s2n_kem_params", !10, i64 0, !36, i64 8, !36, i64 32, !36, i64 56, !12, i64 80}
!36 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!37 = !{!"s2n_handshake_parameters", !38, i64 0, !38, i64 48, !36, i64 96, !6, i64 120, !39, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!38 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!39 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!40 = !{!"s2n_psk_parameters", !6, i64 0, !41, i64 8, !42, i64 40, !42, i64 42, !10, i64 48, !6, i64 56}
!41 = !{!"s2n_array", !36, i64 0, !6, i64 24, !6, i64 28}
!42 = !{!"short", !7, i64 0}
!43 = !{!"s2n_stuffer", !36, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!44 = !{!"", !6, i64 0}
!45 = !{!"s2n_handshake", !43, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !46, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!46 = !{!"s2n_offered_early_data", !10, i64 0}
!47 = !{!"s2n_client_hello", !36, i64 0, !48, i64 24, !36, i64 728, !36, i64 752, !36, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!48 = !{!"", !7, i64 0, !36, i64 672, !42, i64 696}
!49 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !42, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !50, i64 48, !12, i64 52}
!50 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!51 = !{!"s2n_ticket_fields", !36, i64 0, !6, i64 24}
!52 = !{!"s2n_post_handshake", !43, i64 0, !7, i64 40}
!53 = !{!7, !7, i64 0}
!54 = distinct !{!54, !18}
!55 = distinct !{!55, !18}
!56 = distinct !{!56, !18}
!57 = distinct !{!57, !18}
!58 = !{!28, !6, i64 148}
!59 = distinct !{!59, !18}
!60 = !{!61, !42, i64 0}
!61 = !{!"s2n_cipher_preferences", !42, i64 0, !10, i64 8, !12, i64 16}
!62 = !{!61, !10, i64 8}
!63 = !{!64, !10, i64 48}
!64 = !{!"s2n_cipher_suite", !6, i64 0, !10, i64 8, !10, i64 16, !7, i64 24, !10, i64 32, !6, i64 40, !10, i64 48, !7, i64 56, !7, i64 72, !10, i64 80, !10, i64 88, !6, i64 96, !7, i64 100}
!65 = !{!66, !10, i64 0}
!66 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !16, i64 16}
!67 = !{!68, !10, i64 96}
!68 = !{!"s2n_cipher", !6, i64 0, !7, i64 8, !7, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96}
!69 = !{!70, !10, i64 0}
!70 = !{!"", !10, i64 0, !10, i64 8}
!71 = distinct !{!71, !18}
!72 = distinct !{!72, !18}
!73 = !{!70, !10, i64 8}
!74 = !{!64, !7, i64 100}
!75 = !{!61, !12, i64 16}
!76 = !{i64 0, i64 1, !53, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 1, !11, i64 57, i64 2, !53}
!77 = !{!78, !10, i64 8}
!78 = !{!"s2n_security_policy", !7, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !12, i64 56, !7, i64 57}
!79 = !{!28, !10, i64 16}
!80 = distinct !{!80, !18}
!81 = distinct !{!81, !18}


; 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.anon = type { ptr, ptr }
%struct.s2n_cipher_preferences = type { i16, ptr, i8 }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_iovecs = type { ptr, i64 }
%struct.s2n_test_io_pair = type { i32, i32 }

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

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readonly %1) local_unnamed_addr #0 {
  %3 = alloca ptr, align 8
  %4 = alloca [100 x i8], align 16
  %5 = alloca %struct.s2n_blob, align 8
  %6 = alloca %struct.s2n_test_iovecs, align 8
  %7 = alloca [20 x i64], align 16
  %8 = alloca [6 x i64], align 16
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca %struct.s2n_test_io_pair, align 8
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca %struct.s2n_test_io_pair, align 8
  %16 = alloca [2 x ptr], align 16
  %17 = alloca i32, align 4
  %18 = alloca [100 x i8], align 16
  %19 = alloca [100 x i8], align 16
  %20 = alloca [100 x i8], align 16
  %21 = alloca [100 x i8], align 16
  %22 = alloca i64, align 8
  %23 = alloca [100 x i8], align 16
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca %struct.s2n_test_io_pair, align 8
  %27 = alloca [2 x ptr], align 16
  %28 = alloca i32, align 4
  %29 = alloca [100 x i8], align 16
  %30 = alloca [20 x i8], align 16
  %31 = alloca %struct.s2n_blob, align 8
  %32 = alloca [100 x i8], align 16
  %33 = alloca [100 x i8], align 16
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca %struct.s2n_test_io_pair, align 8
  %37 = alloca i32, align 4
  %38 = alloca [14 x i8], align 1
  %39 = alloca %struct.s2n_blob, align 8
  %40 = alloca [100 x i8], align 16
  %41 = alloca [100 x i8], align 16
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca [2 x ptr], align 16
  %45 = alloca i32, align 4
  %46 = alloca %struct.s2n_test_io_pair, align 8
  %47 = alloca [10 x i8], align 1
  %48 = alloca %struct.s2n_test_io_pair, align 8
  %49 = alloca %struct.s2n_test_io_pair, align 8
  %50 = alloca [10 x i8], align 1
  %51 = alloca ptr, align 8
  %52 = alloca %struct.s2n_cipher_preferences, align 8
  %53 = alloca %struct.s2n_security_policy, align 8
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca %struct.s2n_test_io_pair, align 8
  %57 = alloca [2 x ptr], align 16
  %58 = alloca i32, align 4
  %59 = alloca [100 x i8], align 16
  %60 = alloca [100 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %61 = load ptr, ptr @stdout, align 8, !tbaa !9
  %62 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %61, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #14
  %63 = load ptr, ptr @stdout, align 8, !tbaa !9
  %64 = tail call i32 @fflush(ptr noundef %63)
  %65 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #14
  %66 = icmp eq i32 %65, -1
  br i1 %66, label %67, label %91

67:                                               ; preds = %2
  %68 = tail call ptr @__errno_location() #15
  %69 = load i32, ptr %68, align 4, !tbaa !5
  %70 = load ptr, ptr @stderr, align 8, !tbaa !9
  %71 = tail call i32 @s2n_print_stacktrace(ptr noundef %70) #14
  %72 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %73 = trunc nuw i8 %72 to i1
  br i1 %73, label %74, label %78

74:                                               ; preds = %67
  %75 = load ptr, ptr @stderr, align 8, !tbaa !9
  %76 = tail call i32 @fileno(ptr noundef %75) #14
  %77 = tail call i32 @isatty(i32 noundef %76) #14
  %.not816 = icmp eq i32 %77, 0
  br i1 %.not816, label %78, label %79

78:                                               ; preds = %74, %67
  br label %79

79:                                               ; preds = %74, %78
  %.str.5.sink = phi ptr [ @.str.5, %78 ], [ @.str.2, %74 ]
  store i32 %69, ptr %68, align 4, !tbaa !5
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = load i32, ptr @test_count, align 4, !tbaa !5
  %82 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %83 = load i32, ptr %82, align 4, !tbaa !5
  %84 = tail call ptr @s2n_strerror(i32 noundef %83, ptr noundef nonnull @.str.4) #14
  %85 = load i32, ptr %82, align 4, !tbaa !5
  %86 = tail call ptr @s2n_strerror_debug(i32 noundef %85, ptr noundef nonnull @.str.4) #14
  %87 = load i32, ptr %68, align 4, !tbaa !5
  %88 = tail call ptr @strerror(i32 noundef %87) #14
  %89 = load i32, ptr %68, align 4, !tbaa !5
  %90 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %80, ptr noundef nonnull %.str.5.sink, i32 noundef %81, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %84, ptr noundef %86, ptr noundef %88, i32 noundef %89) #16
  tail call void @exit(i32 noundef 1) #17
  unreachable

91:                                               ; preds = %2
  %92 = load i32, ptr @test_count, align 4, !tbaa !5
  %93 = add nsw i32 %92, 1
  store i32 %93, ptr @test_count, align 4, !tbaa !5
  %94 = tail call i32 @s2n_enable_atexit() #14
  %95 = icmp eq i32 %94, -1
  br i1 %95, label %96, label %120

96:                                               ; preds = %91
  %97 = tail call ptr @__errno_location() #15
  %98 = load i32, ptr %97, align 4, !tbaa !5
  %99 = load ptr, ptr @stderr, align 8, !tbaa !9
  %100 = tail call i32 @s2n_print_stacktrace(ptr noundef %99) #14
  %101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %102 = trunc nuw i8 %101 to i1
  br i1 %102, label %103, label %107

103:                                              ; preds = %96
  %104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %105 = tail call i32 @fileno(ptr noundef %104) #14
  %106 = tail call i32 @isatty(i32 noundef %105) #14
  %.not815 = icmp eq i32 %106, 0
  br i1 %.not815, label %107, label %108

107:                                              ; preds = %103, %96
  br label %108

108:                                              ; preds = %103, %107
  %.str.5.sink915 = phi ptr [ @.str.5, %107 ], [ @.str.2, %103 ]
  store i32 %98, ptr %97, align 4, !tbaa !5
  %109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %110 = load i32, ptr @test_count, align 4, !tbaa !5
  %111 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %112 = load i32, ptr %111, align 4, !tbaa !5
  %113 = tail call ptr @s2n_strerror(i32 noundef %112, ptr noundef nonnull @.str.4) #14
  %114 = load i32, ptr %111, align 4, !tbaa !5
  %115 = tail call ptr @s2n_strerror_debug(i32 noundef %114, ptr noundef nonnull @.str.4) #14
  %116 = load i32, ptr %97, align 4, !tbaa !5
  %117 = tail call ptr @strerror(i32 noundef %116) #14
  %118 = load i32, ptr %97, align 4, !tbaa !5
  %119 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %109, ptr noundef nonnull %.str.5.sink915, i32 noundef %110, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %113, ptr noundef %115, ptr noundef %117, i32 noundef %118) #16
  tail call void @exit(i32 noundef 1) #17
  unreachable

120:                                              ; preds = %91
  %121 = tail call i32 @s2n_init() #14
  %122 = icmp eq i32 %121, -1
  br i1 %122, label %123, label %147

123:                                              ; preds = %120
  %124 = tail call ptr @__errno_location() #15
  %125 = load i32, ptr %124, align 4, !tbaa !5
  %126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %127 = tail call i32 @s2n_print_stacktrace(ptr noundef %126) #14
  %128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %129 = trunc nuw i8 %128 to i1
  br i1 %129, label %130, label %134

130:                                              ; preds = %123
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = tail call i32 @fileno(ptr noundef %131) #14
  %133 = tail call i32 @isatty(i32 noundef %132) #14
  %.not814 = icmp eq i32 %133, 0
  br i1 %.not814, label %134, label %135

134:                                              ; preds = %130, %123
  br label %135

135:                                              ; preds = %130, %134
  %.str.5.sink926 = phi ptr [ @.str.5, %134 ], [ @.str.2, %130 ]
  store i32 %125, ptr %124, align 4, !tbaa !5
  %136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %137 = load i32, ptr @test_count, align 4, !tbaa !5
  %138 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %139 = load i32, ptr %138, align 4, !tbaa !5
  %140 = tail call ptr @s2n_strerror(i32 noundef %139, ptr noundef nonnull @.str.4) #14
  %141 = load i32, ptr %138, align 4, !tbaa !5
  %142 = tail call ptr @s2n_strerror_debug(i32 noundef %141, ptr noundef nonnull @.str.4) #14
  %143 = load i32, ptr %124, align 4, !tbaa !5
  %144 = tail call ptr @strerror(i32 noundef %143) #14
  %145 = load i32, ptr %124, align 4, !tbaa !5
  %146 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %136, ptr noundef nonnull %.str.5.sink926, i32 noundef %137, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %140, ptr noundef %142, ptr noundef %144, i32 noundef %145) #16
  tail call void @exit(i32 noundef 1) #17
  unreachable

147:                                              ; preds = %120
  %148 = tail call ptr @getenv(ptr noundef nonnull @.str.8) #14
  %.not = icmp ne ptr %148, null
  %149 = tail call zeroext i1 (...) @s2n_ktls_is_supported_on_platform() #14
  %brmerge = or i1 %149, %.not
  br i1 %brmerge, label %225, label %150

150:                                              ; preds = %147
  %151 = tail call i32 @s2n_cleanup() #14
  %152 = icmp eq i32 %151, -1
  br i1 %152, label %153, label %177

153:                                              ; preds = %150
  %154 = tail call ptr @__errno_location() #15
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %157 = tail call i32 @s2n_print_stacktrace(ptr noundef %156) #14
  %158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %159 = trunc nuw i8 %158 to i1
  br i1 %159, label %160, label %164

160:                                              ; preds = %153
  %161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %162 = tail call i32 @fileno(ptr noundef %161) #14
  %163 = tail call i32 @isatty(i32 noundef %162) #14
  %.not608 = icmp eq i32 %163, 0
  br i1 %.not608, label %164, label %165

164:                                              ; preds = %160, %153
  br label %165

165:                                              ; preds = %160, %164
  %.str.5.sink937 = phi ptr [ @.str.5, %164 ], [ @.str.2, %160 ]
  store i32 %155, ptr %154, align 4, !tbaa !5
  %166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %167 = load i32, ptr @test_count, align 4, !tbaa !5
  %168 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = tail call ptr @s2n_strerror(i32 noundef %169, ptr noundef nonnull @.str.4) #14
  %171 = load i32, ptr %168, align 4, !tbaa !5
  %172 = tail call ptr @s2n_strerror_debug(i32 noundef %171, ptr noundef nonnull @.str.4) #14
  %173 = load i32, ptr %154, align 4, !tbaa !5
  %174 = tail call ptr @strerror(i32 noundef %173) #14
  %175 = load i32, ptr %154, align 4, !tbaa !5
  %176 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %166, ptr noundef nonnull %.str.5.sink937, i32 noundef %167, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %170, ptr noundef %172, ptr noundef %174, i32 noundef %175) #16
  tail call void @exit(i32 noundef 1) #17
  unreachable

177:                                              ; preds = %150
  %178 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #14
  %179 = icmp eq i32 %178, -1
  br i1 %179, label %180, label %204

180:                                              ; preds = %177
  %181 = tail call ptr @__errno_location() #15
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = tail call i32 @s2n_print_stacktrace(ptr noundef %183) #14
  %185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %186 = trunc nuw i8 %185 to i1
  br i1 %186, label %187, label %191

187:                                              ; preds = %180
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = tail call i32 @fileno(ptr noundef %188) #14
  %190 = tail call i32 @isatty(i32 noundef %189) #14
  %.not607 = icmp eq i32 %190, 0
  br i1 %.not607, label %191, label %192

191:                                              ; preds = %187, %180
  br label %192

192:                                              ; preds = %187, %191
  %.str.5.sink948 = phi ptr [ @.str.5, %191 ], [ @.str.2, %187 ]
  store i32 %182, ptr %181, align 4, !tbaa !5
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = load i32, ptr @test_count, align 4, !tbaa !5
  %195 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = tail call ptr @s2n_strerror(i32 noundef %196, ptr noundef nonnull @.str.4) #14
  %198 = load i32, ptr %195, align 4, !tbaa !5
  %199 = tail call ptr @s2n_strerror_debug(i32 noundef %198, ptr noundef nonnull @.str.4) #14
  %200 = load i32, ptr %181, align 4, !tbaa !5
  %201 = tail call ptr @strerror(i32 noundef %200) #14
  %202 = load i32, ptr %181, align 4, !tbaa !5
  %203 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %193, ptr noundef nonnull %.str.5.sink948, i32 noundef %194, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %197, ptr noundef %199, ptr noundef %201, i32 noundef %202) #16
  tail call void @exit(i32 noundef 1) #17
  unreachable

204:                                              ; preds = %177
  %205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %206 = trunc nuw i8 %205 to i1
  br i1 %206, label %207, label %218

207:                                              ; preds = %204
  %208 = load ptr, ptr @stdout, align 8, !tbaa !9
  %209 = tail call i32 @fileno(ptr noundef %208) #14
  %210 = tail call i32 @isatty(i32 noundef %209) #14
  %.not604 = icmp eq i32 %210, 0
  br i1 %.not604, label %218, label %211

211:                                              ; preds = %207
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not606 = icmp eq i32 %212, 0
  %213 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not606, label %216, label %214

214:                                              ; preds = %211
  %215 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.11, i32 noundef %212) #14
  br label %5772

216:                                              ; preds = %211
  %217 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %213, ptr noundef nonnull @.str.12) #14
  br label %5772

218:                                              ; preds = %207, %204
  %219 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not605 = icmp eq i32 %219, 0
  %220 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not605, label %223, label %221

221:                                              ; preds = %218
  %222 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull @.str.13, i32 noundef %219) #14
  br label %5772

223:                                              ; preds = %218
  %224 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull @.str.14) #14
  br label %5772

225:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #14
  store ptr null, ptr %3, align 8, !tbaa !9
  %226 = load i32, ptr @test_count, align 4, !tbaa !5
  %227 = add nsw i32 %226, 1
  store i32 %227, ptr @test_count, align 4, !tbaa !5
  %228 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %3, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.16) #14
  %229 = icmp eq i32 %228, -1
  br i1 %229, label %230, label %254

230:                                              ; preds = %225
  %231 = tail call ptr @__errno_location() #15
  %232 = load i32, ptr %231, align 4, !tbaa !5
  %233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %234 = call i32 @s2n_print_stacktrace(ptr noundef %233) #14
  %235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %236 = trunc nuw i8 %235 to i1
  br i1 %236, label %237, label %241

237:                                              ; preds = %230
  %238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %239 = call i32 @fileno(ptr noundef %238) #14
  %240 = call i32 @isatty(i32 noundef %239) #14
  %.not813 = icmp eq i32 %240, 0
  br i1 %.not813, label %241, label %242

241:                                              ; preds = %237, %230
  br label %242

242:                                              ; preds = %237, %241
  %.str.5.sink959 = phi ptr [ @.str.5, %241 ], [ @.str.2, %237 ]
  store i32 %232, ptr %231, align 4, !tbaa !5
  %243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %244 = load i32, ptr @test_count, align 4, !tbaa !5
  %245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %247 = call ptr @s2n_strerror(i32 noundef %246, ptr noundef nonnull @.str.4) #14
  %248 = load i32, ptr %245, align 4, !tbaa !5
  %249 = call ptr @s2n_strerror_debug(i32 noundef %248, ptr noundef nonnull @.str.4) #14
  %250 = load i32, ptr %231, align 4, !tbaa !5
  %251 = call ptr @strerror(i32 noundef %250) #14
  %252 = load i32, ptr %231, align 4, !tbaa !5
  %253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %243, ptr noundef nonnull %.str.5.sink959, i32 noundef %244, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %247, ptr noundef %249, ptr noundef %251, i32 noundef %252) #16
  call void @exit(i32 noundef 1) #17
  unreachable

254:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %4) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %4, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, i8 0, i64 24, i1 false)
  %255 = load i32, ptr @test_count, align 4, !tbaa !5
  %256 = add nsw i32 %255, 1
  store i32 %256, ptr @test_count, align 4, !tbaa !5
  %257 = call i32 @s2n_blob_init(ptr noundef nonnull %5, ptr noundef nonnull %4, i32 noundef 100) #14
  %258 = icmp eq i32 %257, -1
  br i1 %258, label %259, label %283

259:                                              ; preds = %254
  %260 = tail call ptr @__errno_location() #15
  %261 = load i32, ptr %260, align 4, !tbaa !5
  %262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %263 = call i32 @s2n_print_stacktrace(ptr noundef %262) #14
  %264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %265 = trunc nuw i8 %264 to i1
  br i1 %265, label %266, label %270

266:                                              ; preds = %259
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = call i32 @fileno(ptr noundef %267) #14
  %269 = call i32 @isatty(i32 noundef %268) #14
  %.not812 = icmp eq i32 %269, 0
  br i1 %.not812, label %270, label %271

270:                                              ; preds = %266, %259
  br label %271

271:                                              ; preds = %266, %270
  %.str.5.sink970 = phi ptr [ @.str.5, %270 ], [ @.str.2, %266 ]
  store i32 %261, ptr %260, align 4, !tbaa !5
  %272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %273 = load i32, ptr @test_count, align 4, !tbaa !5
  %274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %275 = load i32, ptr %274, align 4, !tbaa !5
  %276 = call ptr @s2n_strerror(i32 noundef %275, ptr noundef nonnull @.str.4) #14
  %277 = load i32, ptr %274, align 4, !tbaa !5
  %278 = call ptr @s2n_strerror_debug(i32 noundef %277, ptr noundef nonnull @.str.4) #14
  %279 = load i32, ptr %260, align 4, !tbaa !5
  %280 = call ptr @strerror(i32 noundef %279) #14
  %281 = load i32, ptr %260, align 4, !tbaa !5
  %282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %272, ptr noundef nonnull %.str.5.sink970, i32 noundef %273, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %276, ptr noundef %278, ptr noundef %280, i32 noundef %281) #16
  call void @exit(i32 noundef 1) #17
  unreachable

283:                                              ; preds = %254
  %284 = load i32, ptr @test_count, align 4, !tbaa !5
  %285 = add nsw i32 %284, 1
  store i32 %285, ptr @test_count, align 4, !tbaa !5
  %286 = call i32 @s2n_get_public_random_data(ptr noundef nonnull %5) #14
  %287 = call zeroext i1 @s2n_result_is_ok(i32 %286)
  br i1 %287, label %312, label %288

288:                                              ; preds = %283
  %289 = tail call ptr @__errno_location() #15
  %290 = load i32, ptr %289, align 4, !tbaa !5
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = call i32 @s2n_print_stacktrace(ptr noundef %291) #14
  %293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %294 = trunc nuw i8 %293 to i1
  br i1 %294, label %295, label %299

295:                                              ; preds = %288
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = call i32 @fileno(ptr noundef %296) #14
  %298 = call i32 @isatty(i32 noundef %297) #14
  %.not609 = icmp eq i32 %298, 0
  br i1 %.not609, label %299, label %300

299:                                              ; preds = %295, %288
  br label %300

300:                                              ; preds = %295, %299
  %.str.5.sink981 = phi ptr [ @.str.5, %299 ], [ @.str.2, %295 ]
  store i32 %290, ptr %289, align 4, !tbaa !5
  %301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %302 = load i32, ptr @test_count, align 4, !tbaa !5
  %303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %304 = load i32, ptr %303, align 4, !tbaa !5
  %305 = call ptr @s2n_strerror(i32 noundef %304, ptr noundef nonnull @.str.4) #14
  %306 = load i32, ptr %303, align 4, !tbaa !5
  %307 = call ptr @s2n_strerror_debug(i32 noundef %306, ptr noundef nonnull @.str.4) #14
  %308 = load i32, ptr %289, align 4, !tbaa !5
  %309 = call ptr @strerror(i32 noundef %308) #14
  %310 = load i32, ptr %289, align 4, !tbaa !5
  %311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %301, ptr noundef nonnull %.str.5.sink981, i32 noundef %302, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %305, ptr noundef %307, ptr noundef %309, i32 noundef %310) #16
  call void @exit(i32 noundef 1) #17
  unreachable

312:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %6, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 160, ptr nonnull %7) #14
  %313 = getelementptr inbounds i8, ptr %7, i64 32
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(160) %313, i8 0, i64 128, i1 false)
  store i64 5, ptr %7, align 16
  %314 = getelementptr inbounds i8, ptr %7, i64 8
  store i64 6, ptr %314, align 8
  %315 = getelementptr inbounds i8, ptr %7, i64 16
  store i64 1, ptr %315, align 16
  %316 = getelementptr inbounds i8, ptr %7, i64 24
  store i64 10, ptr %316, align 8
  %317 = load i32, ptr @test_count, align 4, !tbaa !5
  %318 = add nsw i32 %317, 1
  store i32 %318, ptr @test_count, align 4, !tbaa !5
  %319 = call i32 @s2n_test_new_iovecs(ptr noundef nonnull %6, ptr noundef nonnull %5, ptr noundef nonnull %7, i64 noundef 20) #14
  %320 = call zeroext i1 @s2n_result_is_ok(i32 %319)
  br i1 %320, label %345, label %321

321:                                              ; preds = %312
  %322 = tail call ptr @__errno_location() #15
  %323 = load i32, ptr %322, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = call i32 @s2n_print_stacktrace(ptr noundef %324) #14
  %326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %327 = trunc nuw i8 %326 to i1
  br i1 %327, label %328, label %332

328:                                              ; preds = %321
  %329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %330 = call i32 @fileno(ptr noundef %329) #14
  %331 = call i32 @isatty(i32 noundef %330) #14
  %.not610 = icmp eq i32 %331, 0
  br i1 %.not610, label %332, label %333

332:                                              ; preds = %328, %321
  br label %333

333:                                              ; preds = %328, %332
  %.str.5.sink992 = phi ptr [ @.str.5, %332 ], [ @.str.2, %328 ]
  store i32 %323, ptr %322, align 4, !tbaa !5
  %334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %335 = load i32, ptr @test_count, align 4, !tbaa !5
  %336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %337 = load i32, ptr %336, align 4, !tbaa !5
  %338 = call ptr @s2n_strerror(i32 noundef %337, ptr noundef nonnull @.str.4) #14
  %339 = load i32, ptr %336, align 4, !tbaa !5
  %340 = call ptr @s2n_strerror_debug(i32 noundef %339, ptr noundef nonnull @.str.4) #14
  %341 = load i32, ptr %322, align 4, !tbaa !5
  %342 = call ptr @strerror(i32 noundef %341) #14
  %343 = load i32, ptr %322, align 4, !tbaa !5
  %344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %334, ptr noundef nonnull %.str.5.sink992, i32 noundef %335, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %338, ptr noundef %340, ptr noundef %342, i32 noundef %343) #16
  call void @exit(i32 noundef 1) #17
  unreachable

345:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #14
  store i64 0, ptr %8, align 16, !tbaa !15
  %346 = getelementptr inbounds i8, ptr %8, i64 8
  %347 = getelementptr inbounds i8, ptr %8, i64 16
  %348 = load <2 x i64>, ptr %7, align 16, !tbaa !15
  %349 = extractelement <2 x i64> %348, i64 0
  store i64 %349, ptr %346, align 8, !tbaa !15
  %350 = shufflevector <2 x i64> %348, <2 x i64> <i64 1, i64 poison>, <2 x i32> <i32 2, i32 0>
  %351 = add <2 x i64> %348, %350
  store <2 x i64> %351, ptr %347, align 16, !tbaa !15
  %352 = getelementptr inbounds i8, ptr %8, i64 32
  store i64 99, ptr %352, align 16, !tbaa !15
  %353 = getelementptr inbounds i8, ptr %8, i64 40
  store i64 100, ptr %353, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #14
  %354 = call ptr @s2n_config_new() #14
  store ptr %354, ptr %9, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = add nsw i32 %355, 1
  store i32 %356, ptr @test_count, align 4, !tbaa !5
  %357 = load ptr, ptr %3, align 8, !tbaa !9
  %358 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %354, ptr noundef %357) #14
  %359 = icmp eq i32 %358, -1
  br i1 %359, label %360, label %384

360:                                              ; preds = %345
  %361 = tail call ptr @__errno_location() #15
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @s2n_print_stacktrace(ptr noundef %363) #14
  %365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %366 = trunc nuw i8 %365 to i1
  br i1 %366, label %367, label %371

367:                                              ; preds = %360
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = call i32 @fileno(ptr noundef %368) #14
  %370 = call i32 @isatty(i32 noundef %369) #14
  %.not811 = icmp eq i32 %370, 0
  br i1 %.not811, label %371, label %372

371:                                              ; preds = %367, %360
  br label %372

372:                                              ; preds = %367, %371
  %.str.5.sink1003 = phi ptr [ @.str.5, %371 ], [ @.str.2, %367 ]
  store i32 %362, ptr %361, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = call ptr @s2n_strerror(i32 noundef %376, ptr noundef nonnull @.str.4) #14
  %378 = load i32, ptr %375, align 4, !tbaa !5
  %379 = call ptr @s2n_strerror_debug(i32 noundef %378, ptr noundef nonnull @.str.4) #14
  %380 = load i32, ptr %361, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #14
  %382 = load i32, ptr %361, align 4, !tbaa !5
  %383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %373, ptr noundef nonnull %.str.5.sink1003, i32 noundef %374, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %377, ptr noundef %379, ptr noundef %381, i32 noundef %382) #16
  call void @exit(i32 noundef 1) #17
  unreachable

384:                                              ; preds = %345
  %385 = load i32, ptr @test_count, align 4, !tbaa !5
  %386 = add nsw i32 %385, 1
  store i32 %386, ptr @test_count, align 4, !tbaa !5
  %387 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %354) #14
  %388 = icmp eq i32 %387, -1
  br i1 %388, label %389, label %413

389:                                              ; preds = %384
  %390 = tail call ptr @__errno_location() #15
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %393 = call i32 @s2n_print_stacktrace(ptr noundef %392) #14
  %394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %395 = trunc nuw i8 %394 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %389
  %397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %398 = call i32 @fileno(ptr noundef %397) #14
  %399 = call i32 @isatty(i32 noundef %398) #14
  %.not810 = icmp eq i32 %399, 0
  br i1 %.not810, label %400, label %401

400:                                              ; preds = %396, %389
  br label %401

401:                                              ; preds = %396, %400
  %.str.5.sink1014 = phi ptr [ @.str.5, %400 ], [ @.str.2, %396 ]
  store i32 %391, ptr %390, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = call ptr @s2n_strerror(i32 noundef %405, ptr noundef nonnull @.str.4) #14
  %407 = load i32, ptr %404, align 4, !tbaa !5
  %408 = call ptr @s2n_strerror_debug(i32 noundef %407, ptr noundef nonnull @.str.4) #14
  %409 = load i32, ptr %390, align 4, !tbaa !5
  %410 = call ptr @strerror(i32 noundef %409) #14
  %411 = load i32, ptr %390, align 4, !tbaa !5
  %412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef nonnull %.str.5.sink1014, i32 noundef %403, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %406, ptr noundef %408, ptr noundef %410, i32 noundef %411) #16
  call void @exit(i32 noundef 1) #17
  unreachable

413:                                              ; preds = %384
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = add nsw i32 %414, 1
  store i32 %415, ptr @test_count, align 4, !tbaa !5
  %416 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %354, ptr noundef nonnull @.str.23) #14
  %417 = icmp eq i32 %416, -1
  br i1 %417, label %418, label %442

418:                                              ; preds = %413
  %419 = tail call ptr @__errno_location() #15
  %420 = load i32, ptr %419, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = call i32 @s2n_print_stacktrace(ptr noundef %421) #14
  %423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %424 = trunc nuw i8 %423 to i1
  br i1 %424, label %425, label %429

425:                                              ; preds = %418
  %426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %427 = call i32 @fileno(ptr noundef %426) #14
  %428 = call i32 @isatty(i32 noundef %427) #14
  %.not809 = icmp eq i32 %428, 0
  br i1 %.not809, label %429, label %430

429:                                              ; preds = %425, %418
  br label %430

430:                                              ; preds = %425, %429
  %.str.5.sink1025 = phi ptr [ @.str.5, %429 ], [ @.str.2, %425 ]
  store i32 %420, ptr %419, align 4, !tbaa !5
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %434 = load i32, ptr %433, align 4, !tbaa !5
  %435 = call ptr @s2n_strerror(i32 noundef %434, ptr noundef nonnull @.str.4) #14
  %436 = load i32, ptr %433, align 4, !tbaa !5
  %437 = call ptr @s2n_strerror_debug(i32 noundef %436, ptr noundef nonnull @.str.4) #14
  %438 = load i32, ptr %419, align 4, !tbaa !5
  %439 = call ptr @strerror(i32 noundef %438) #14
  %440 = load i32, ptr %419, align 4, !tbaa !5
  %441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %431, ptr noundef nonnull %.str.5.sink1025, i32 noundef %432, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %435, ptr noundef %437, ptr noundef %439, i32 noundef %440) #16
  call void @exit(i32 noundef 1) #17
  unreachable

442:                                              ; preds = %413
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = add nsw i32 %443, 1
  store i32 %444, ptr @test_count, align 4, !tbaa !5
  %445 = call i32 @s2n_config_ktls_enable_unsafe_tls13(ptr noundef %354) #14
  %446 = icmp eq i32 %445, -1
  br i1 %446, label %447, label %471

447:                                              ; preds = %442
  %448 = tail call ptr @__errno_location() #15
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = call i32 @s2n_print_stacktrace(ptr noundef %450) #14
  %452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %453 = trunc nuw i8 %452 to i1
  br i1 %453, label %454, label %458

454:                                              ; preds = %447
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @fileno(ptr noundef %455) #14
  %457 = call i32 @isatty(i32 noundef %456) #14
  %.not808 = icmp eq i32 %457, 0
  br i1 %.not808, label %458, label %459

458:                                              ; preds = %454, %447
  br label %459

459:                                              ; preds = %454, %458
  %.str.5.sink1036 = phi ptr [ @.str.5, %458 ], [ @.str.2, %454 ]
  store i32 %449, ptr %448, align 4, !tbaa !5
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = load i32, ptr @test_count, align 4, !tbaa !5
  %462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %463 = load i32, ptr %462, align 4, !tbaa !5
  %464 = call ptr @s2n_strerror(i32 noundef %463, ptr noundef nonnull @.str.4) #14
  %465 = load i32, ptr %462, align 4, !tbaa !5
  %466 = call ptr @s2n_strerror_debug(i32 noundef %465, ptr noundef nonnull @.str.4) #14
  %467 = load i32, ptr %448, align 4, !tbaa !5
  %468 = call ptr @strerror(i32 noundef %467) #14
  %469 = load i32, ptr %448, align 4, !tbaa !5
  %470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %460, ptr noundef nonnull %.str.5.sink1036, i32 noundef %461, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %464, ptr noundef %466, ptr noundef %468, i32 noundef %469) #16
  call void @exit(i32 noundef 1) #17
  unreachable

471:                                              ; preds = %442
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #14
  %472 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %472, ptr %10, align 8, !tbaa !9
  %473 = load i32, ptr @test_count, align 4, !tbaa !5
  %474 = add nsw i32 %473, 1
  store i32 %474, ptr @test_count, align 4, !tbaa !5
  %475 = icmp eq ptr %472, null
  br i1 %475, label %476, label %500

476:                                              ; preds = %471
  %477 = tail call ptr @__errno_location() #15
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = call i32 @s2n_print_stacktrace(ptr noundef %479) #14
  %481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %482 = trunc nuw i8 %481 to i1
  br i1 %482, label %483, label %487

483:                                              ; preds = %476
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = call i32 @fileno(ptr noundef %484) #14
  %486 = call i32 @isatty(i32 noundef %485) #14
  %.not807 = icmp eq i32 %486, 0
  br i1 %.not807, label %487, label %488

487:                                              ; preds = %483, %476
  br label %488

488:                                              ; preds = %483, %487
  %.str.5.sink1047 = phi ptr [ @.str.5, %487 ], [ @.str.2, %483 ]
  store i32 %478, ptr %477, align 4, !tbaa !5
  %489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %490 = load i32, ptr @test_count, align 4, !tbaa !5
  %491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror(i32 noundef %492, ptr noundef nonnull @.str.4) #14
  %494 = load i32, ptr %491, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror_debug(i32 noundef %494, ptr noundef nonnull @.str.4) #14
  %496 = load i32, ptr %477, align 4, !tbaa !5
  %497 = call ptr @strerror(i32 noundef %496) #14
  %498 = load i32, ptr %477, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %489, ptr noundef nonnull %.str.5.sink1047, i32 noundef %490, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %493, ptr noundef %495, ptr noundef %497, i32 noundef %498) #16
  call void @exit(i32 noundef 1) #17
  unreachable

500:                                              ; preds = %471
  %501 = add nsw i32 %473, 2
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = call i32 @s2n_connection_set_config(ptr noundef nonnull %472, ptr noundef %354) #14
  %503 = icmp eq i32 %502, -1
  br i1 %503, label %504, label %528

504:                                              ; preds = %500
  %505 = tail call ptr @__errno_location() #15
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @s2n_print_stacktrace(ptr noundef %507) #14
  %509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %510 = trunc nuw i8 %509 to i1
  br i1 %510, label %511, label %515

511:                                              ; preds = %504
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = call i32 @fileno(ptr noundef %512) #14
  %514 = call i32 @isatty(i32 noundef %513) #14
  %.not806 = icmp eq i32 %514, 0
  br i1 %.not806, label %515, label %516

515:                                              ; preds = %511, %504
  br label %516

516:                                              ; preds = %511, %515
  %.str.5.sink1058 = phi ptr [ @.str.5, %515 ], [ @.str.2, %511 ]
  store i32 %506, ptr %505, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = load i32, ptr @test_count, align 4, !tbaa !5
  %519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.4) #14
  %522 = load i32, ptr %519, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.4) #14
  %524 = load i32, ptr %505, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #14
  %526 = load i32, ptr %505, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %517, ptr noundef nonnull %.str.5.sink1058, i32 noundef %518, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #16
  call void @exit(i32 noundef 1) #17
  unreachable

528:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #14
  %529 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %529, ptr %11, align 8, !tbaa !9
  %530 = load i32, ptr @test_count, align 4, !tbaa !5
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr @test_count, align 4, !tbaa !5
  %532 = icmp eq ptr %529, null
  br i1 %532, label %533, label %557

533:                                              ; preds = %528
  %534 = tail call ptr @__errno_location() #15
  %535 = load i32, ptr %534, align 4, !tbaa !5
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = call i32 @s2n_print_stacktrace(ptr noundef %536) #14
  %538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %539 = trunc nuw i8 %538 to i1
  br i1 %539, label %540, label %544

540:                                              ; preds = %533
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = call i32 @fileno(ptr noundef %541) #14
  %543 = call i32 @isatty(i32 noundef %542) #14
  %.not805 = icmp eq i32 %543, 0
  br i1 %.not805, label %544, label %545

544:                                              ; preds = %540, %533
  br label %545

545:                                              ; preds = %540, %544
  %.str.5.sink1069 = phi ptr [ @.str.5, %544 ], [ @.str.2, %540 ]
  store i32 %535, ptr %534, align 4, !tbaa !5
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = load i32, ptr @test_count, align 4, !tbaa !5
  %548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror(i32 noundef %549, ptr noundef nonnull @.str.4) #14
  %551 = load i32, ptr %548, align 4, !tbaa !5
  %552 = call ptr @s2n_strerror_debug(i32 noundef %551, ptr noundef nonnull @.str.4) #14
  %553 = load i32, ptr %534, align 4, !tbaa !5
  %554 = call ptr @strerror(i32 noundef %553) #14
  %555 = load i32, ptr %534, align 4, !tbaa !5
  %556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %546, ptr noundef nonnull %.str.5.sink1069, i32 noundef %547, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %550, ptr noundef %552, ptr noundef %554, i32 noundef %555) #16
  call void @exit(i32 noundef 1) #17
  unreachable

557:                                              ; preds = %528
  %558 = add nsw i32 %530, 2
  store i32 %558, ptr @test_count, align 4, !tbaa !5
  %559 = call i32 @s2n_connection_set_config(ptr noundef nonnull %529, ptr noundef %354) #14
  %560 = icmp eq i32 %559, -1
  br i1 %560, label %561, label %585

561:                                              ; preds = %557
  %562 = tail call ptr @__errno_location() #15
  %563 = load i32, ptr %562, align 4, !tbaa !5
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = call i32 @s2n_print_stacktrace(ptr noundef %564) #14
  %566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %567 = trunc nuw i8 %566 to i1
  br i1 %567, label %568, label %572

568:                                              ; preds = %561
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = call i32 @fileno(ptr noundef %569) #14
  %571 = call i32 @isatty(i32 noundef %570) #14
  %.not804 = icmp eq i32 %571, 0
  br i1 %.not804, label %572, label %573

572:                                              ; preds = %568, %561
  br label %573

573:                                              ; preds = %568, %572
  %.str.5.sink1080 = phi ptr [ @.str.5, %572 ], [ @.str.2, %568 ]
  store i32 %563, ptr %562, align 4, !tbaa !5
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = load i32, ptr @test_count, align 4, !tbaa !5
  %576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %577 = load i32, ptr %576, align 4, !tbaa !5
  %578 = call ptr @s2n_strerror(i32 noundef %577, ptr noundef nonnull @.str.4) #14
  %579 = load i32, ptr %576, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror_debug(i32 noundef %579, ptr noundef nonnull @.str.4) #14
  %581 = load i32, ptr %562, align 4, !tbaa !5
  %582 = call ptr @strerror(i32 noundef %581) #14
  %583 = load i32, ptr %562, align 4, !tbaa !5
  %584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %574, ptr noundef nonnull %.str.5.sink1080, i32 noundef %575, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %578, ptr noundef %580, ptr noundef %582, i32 noundef %583) #16
  call void @exit(i32 noundef 1) #17
  unreachable

585:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #14
  store i64 0, ptr %12, align 8
  %586 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %12)
  %587 = call zeroext i1 @s2n_result_is_error(i32 %586)
  %588 = load i32, ptr @test_count, align 4, !tbaa !5
  %589 = add nsw i32 %588, 1
  store i32 %589, ptr @test_count, align 4, !tbaa !5
  br i1 %587, label %590, label %718

590:                                              ; preds = %585
  br i1 %.not, label %591, label %615

591:                                              ; preds = %590
  %592 = tail call ptr @__errno_location() #15
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = call i32 @s2n_print_stacktrace(ptr noundef %594) #14
  %596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %597 = trunc nuw i8 %596 to i1
  br i1 %597, label %598, label %602

598:                                              ; preds = %591
  %599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %600 = call i32 @fileno(ptr noundef %599) #14
  %601 = call i32 @isatty(i32 noundef %600) #14
  %.not803 = icmp eq i32 %601, 0
  br i1 %.not803, label %602, label %603

602:                                              ; preds = %598, %591
  br label %603

603:                                              ; preds = %598, %602
  %.str.5.sink1091 = phi ptr [ @.str.5, %602 ], [ @.str.2, %598 ]
  store i32 %593, ptr %592, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = call ptr @s2n_strerror(i32 noundef %607, ptr noundef nonnull @.str.4) #14
  %609 = load i32, ptr %606, align 4, !tbaa !5
  %610 = call ptr @s2n_strerror_debug(i32 noundef %609, ptr noundef nonnull @.str.4) #14
  %611 = load i32, ptr %592, align 4, !tbaa !5
  %612 = call ptr @strerror(i32 noundef %611) #14
  %613 = load i32, ptr %592, align 4, !tbaa !5
  %614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef nonnull %.str.5.sink1091, i32 noundef %605, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %608, ptr noundef %610, ptr noundef %612, i32 noundef %613) #16
  call void @exit(i32 noundef 1) #17
  unreachable

615:                                              ; preds = %590
  %616 = add nsw i32 %588, 2
  store i32 %616, ptr @test_count, align 4, !tbaa !5
  %617 = call i32 @s2n_io_pair_close(ptr noundef nonnull %12) #14
  %618 = icmp eq i32 %617, -1
  br i1 %618, label %619, label %643

619:                                              ; preds = %615
  %620 = tail call ptr @__errno_location() #15
  %621 = load i32, ptr %620, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = call i32 @s2n_print_stacktrace(ptr noundef %622) #14
  %624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %625 = trunc nuw i8 %624 to i1
  br i1 %625, label %626, label %630

626:                                              ; preds = %619
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @fileno(ptr noundef %627) #14
  %629 = call i32 @isatty(i32 noundef %628) #14
  %.not802 = icmp eq i32 %629, 0
  br i1 %.not802, label %630, label %631

630:                                              ; preds = %626, %619
  br label %631

631:                                              ; preds = %626, %630
  %.str.5.sink1102 = phi ptr [ @.str.5, %630 ], [ @.str.2, %626 ]
  store i32 %621, ptr %620, align 4, !tbaa !5
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = call ptr @s2n_strerror(i32 noundef %635, ptr noundef nonnull @.str.4) #14
  %637 = load i32, ptr %634, align 4, !tbaa !5
  %638 = call ptr @s2n_strerror_debug(i32 noundef %637, ptr noundef nonnull @.str.4) #14
  %639 = load i32, ptr %620, align 4, !tbaa !5
  %640 = call ptr @strerror(i32 noundef %639) #14
  %641 = load i32, ptr %620, align 4, !tbaa !5
  %642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %632, ptr noundef nonnull %.str.5.sink1102, i32 noundef %633, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %636, ptr noundef %638, ptr noundef %640, i32 noundef %641) #16
  call void @exit(i32 noundef 1) #17
  unreachable

643:                                              ; preds = %615
  %644 = call i32 @s2n_cleanup() #14
  %645 = icmp eq i32 %644, -1
  br i1 %645, label %646, label %670

646:                                              ; preds = %643
  %647 = tail call ptr @__errno_location() #15
  %648 = load i32, ptr %647, align 4, !tbaa !5
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = call i32 @s2n_print_stacktrace(ptr noundef %649) #14
  %651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %652 = trunc nuw i8 %651 to i1
  br i1 %652, label %653, label %657

653:                                              ; preds = %646
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @fileno(ptr noundef %654) #14
  %656 = call i32 @isatty(i32 noundef %655) #14
  %.not801 = icmp eq i32 %656, 0
  br i1 %.not801, label %657, label %658

657:                                              ; preds = %653, %646
  br label %658

658:                                              ; preds = %653, %657
  %.str.5.sink1113 = phi ptr [ @.str.5, %657 ], [ @.str.2, %653 ]
  store i32 %648, ptr %647, align 4, !tbaa !5
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = load i32, ptr @test_count, align 4, !tbaa !5
  %661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %662 = load i32, ptr %661, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror(i32 noundef %662, ptr noundef nonnull @.str.4) #14
  %664 = load i32, ptr %661, align 4, !tbaa !5
  %665 = call ptr @s2n_strerror_debug(i32 noundef %664, ptr noundef nonnull @.str.4) #14
  %666 = load i32, ptr %647, align 4, !tbaa !5
  %667 = call ptr @strerror(i32 noundef %666) #14
  %668 = load i32, ptr %647, align 4, !tbaa !5
  %669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %659, ptr noundef nonnull %.str.5.sink1113, i32 noundef %660, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %663, ptr noundef %665, ptr noundef %667, i32 noundef %668) #16
  call void @exit(i32 noundef 1) #17
  unreachable

670:                                              ; preds = %643
  %671 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #14
  %672 = icmp eq i32 %671, -1
  br i1 %672, label %673, label %697

673:                                              ; preds = %670
  %674 = tail call ptr @__errno_location() #15
  %675 = load i32, ptr %674, align 4, !tbaa !5
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = call i32 @s2n_print_stacktrace(ptr noundef %676) #14
  %678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %679 = trunc nuw i8 %678 to i1
  br i1 %679, label %680, label %684

680:                                              ; preds = %673
  %681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %682 = call i32 @fileno(ptr noundef %681) #14
  %683 = call i32 @isatty(i32 noundef %682) #14
  %.not800 = icmp eq i32 %683, 0
  br i1 %.not800, label %684, label %685

684:                                              ; preds = %680, %673
  br label %685

685:                                              ; preds = %680, %684
  %.str.5.sink1124 = phi ptr [ @.str.5, %684 ], [ @.str.2, %680 ]
  store i32 %675, ptr %674, align 4, !tbaa !5
  %686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %687 = load i32, ptr @test_count, align 4, !tbaa !5
  %688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror(i32 noundef %689, ptr noundef nonnull @.str.4) #14
  %691 = load i32, ptr %688, align 4, !tbaa !5
  %692 = call ptr @s2n_strerror_debug(i32 noundef %691, ptr noundef nonnull @.str.4) #14
  %693 = load i32, ptr %674, align 4, !tbaa !5
  %694 = call ptr @strerror(i32 noundef %693) #14
  %695 = load i32, ptr %674, align 4, !tbaa !5
  %696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %686, ptr noundef nonnull %.str.5.sink1124, i32 noundef %687, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %690, ptr noundef %692, ptr noundef %694, i32 noundef %695) #16
  call void @exit(i32 noundef 1) #17
  unreachable

697:                                              ; preds = %670
  %698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %699 = trunc nuw i8 %698 to i1
  br i1 %699, label %700, label %711

700:                                              ; preds = %697
  %701 = load ptr, ptr @stdout, align 8, !tbaa !9
  %702 = call i32 @fileno(ptr noundef %701) #14
  %703 = call i32 @isatty(i32 noundef %702) #14
  %.not616 = icmp eq i32 %703, 0
  br i1 %.not616, label %711, label %704

704:                                              ; preds = %700
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not618 = icmp eq i32 %705, 0
  %706 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not618, label %709, label %707

707:                                              ; preds = %704
  %708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef nonnull @.str.11, i32 noundef %705) #14
  br label %865

709:                                              ; preds = %704
  %710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef nonnull @.str.12) #14
  br label %865

711:                                              ; preds = %700, %697
  %712 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not617 = icmp eq i32 %712, 0
  %713 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not617, label %716, label %714

714:                                              ; preds = %711
  %715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %713, ptr noundef nonnull @.str.13, i32 noundef %712) #14
  br label %865

716:                                              ; preds = %711
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %713, ptr noundef nonnull @.str.14) #14
  br label %865

718:                                              ; preds = %585
  %719 = load ptr, ptr %11, align 8, !tbaa !9
  %720 = load ptr, ptr %10, align 8, !tbaa !9
  %721 = call i32 @s2n_setup_connections(ptr noundef %719, ptr noundef %720, ptr noundef nonnull %12)
  %722 = call zeroext i1 @s2n_result_is_ok(i32 %721)
  br i1 %722, label %747, label %723

723:                                              ; preds = %718
  %724 = tail call ptr @__errno_location() #15
  %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) #14
  %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) #14
  %733 = call i32 @isatty(i32 noundef %732) #14
  %.not611 = icmp eq i32 %733, 0
  br i1 %.not611, label %734, label %735

734:                                              ; preds = %730, %723
  br label %735

735:                                              ; preds = %730, %734
  %.str.5.sink1135 = phi ptr [ @.str.5, %734 ], [ @.str.2, %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror(i32 noundef %739, ptr noundef nonnull @.str.4) #14
  %741 = load i32, ptr %738, align 4, !tbaa !5
  %742 = call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef nonnull @.str.4) #14
  %743 = load i32, ptr %724, align 4, !tbaa !5
  %744 = call ptr @strerror(i32 noundef %743) #14
  %745 = load i32, ptr %724, align 4, !tbaa !5
  %746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.5.sink1135, i32 noundef %737, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %740, ptr noundef %742, ptr noundef %744, i32 noundef %745) #16
  call void @exit(i32 noundef 1) #17
  unreachable

747:                                              ; preds = %718
  %748 = load ptr, ptr %10, align 8, !tbaa !9
  %749 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %748) #14
  %750 = icmp eq i32 %749, 0
  %751 = load i32, ptr @test_count, align 4, !tbaa !5
  %752 = add nsw i32 %751, 1
  store i32 %752, ptr @test_count, align 4, !tbaa !5
  br i1 %750, label %753, label %781

753:                                              ; preds = %747
  %754 = load ptr, ptr %11, align 8, !tbaa !9
  %755 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %754) #14
  %756 = icmp eq i32 %755, -1
  br i1 %756, label %757, label %806

757:                                              ; preds = %753
  %758 = tail call ptr @__errno_location() #15
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = call i32 @s2n_print_stacktrace(ptr noundef %760) #14
  %762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %763 = trunc nuw i8 %762 to i1
  br i1 %763, label %764, label %768

764:                                              ; preds = %757
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = call i32 @fileno(ptr noundef %765) #14
  %767 = call i32 @isatty(i32 noundef %766) #14
  %.not615 = icmp eq i32 %767, 0
  br i1 %.not615, label %768, label %769

768:                                              ; preds = %764, %757
  br label %769

769:                                              ; preds = %764, %768
  %.str.5.sink1146 = phi ptr [ @.str.5, %768 ], [ @.str.2, %764 ]
  store i32 %759, ptr %758, align 4, !tbaa !5
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @s2n_strerror(i32 noundef %773, ptr noundef nonnull @.str.4) #14
  %775 = load i32, ptr %772, align 4, !tbaa !5
  %776 = call ptr @s2n_strerror_debug(i32 noundef %775, ptr noundef nonnull @.str.4) #14
  %777 = load i32, ptr %758, align 4, !tbaa !5
  %778 = call ptr @strerror(i32 noundef %777) #14
  %779 = load i32, ptr %758, align 4, !tbaa !5
  %780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %770, ptr noundef nonnull %.str.5.sink1146, i32 noundef %771, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %774, ptr noundef %776, ptr noundef %778, i32 noundef %779) #16
  call void @exit(i32 noundef 1) #17
  unreachable

781:                                              ; preds = %747
  br i1 %.not, label %782, label %806

782:                                              ; preds = %781
  %783 = tail call ptr @__errno_location() #15
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @s2n_print_stacktrace(ptr noundef %785) #14
  %787 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %788 = trunc nuw i8 %787 to i1
  br i1 %788, label %789, label %793

789:                                              ; preds = %782
  %790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %791 = call i32 @fileno(ptr noundef %790) #14
  %792 = call i32 @isatty(i32 noundef %791) #14
  %.not612 = icmp eq i32 %792, 0
  br i1 %.not612, label %793, label %794

793:                                              ; preds = %789, %782
  br label %794

794:                                              ; preds = %789, %793
  %.str.5.sink1157 = phi ptr [ @.str.5, %793 ], [ @.str.2, %789 ]
  store i32 %784, ptr %783, align 4, !tbaa !5
  %795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %798 = load i32, ptr %797, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror(i32 noundef %798, ptr noundef nonnull @.str.4) #14
  %800 = load i32, ptr %797, align 4, !tbaa !5
  %801 = call ptr @s2n_strerror_debug(i32 noundef %800, ptr noundef nonnull @.str.4) #14
  %802 = load i32, ptr %783, align 4, !tbaa !5
  %803 = call ptr @strerror(i32 noundef %802) #14
  %804 = load i32, ptr %783, align 4, !tbaa !5
  %805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %795, ptr noundef nonnull %.str.5.sink1157, i32 noundef %796, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %799, ptr noundef %801, ptr noundef %803, i32 noundef %804) #16
  call void @exit(i32 noundef 1) #17
  unreachable

806:                                              ; preds = %781, %753
  %.0567 = phi i8 [ 1, %753 ], [ 0, %781 ]
  %807 = load ptr, ptr %10, align 8, !tbaa !9
  %808 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %807) #14
  %809 = icmp eq i32 %808, 0
  %810 = load i32, ptr @test_count, align 4, !tbaa !5
  %811 = add nsw i32 %810, 1
  store i32 %811, ptr @test_count, align 4, !tbaa !5
  br i1 %809, label %812, label %840

812:                                              ; preds = %806
  %813 = load ptr, ptr %11, align 8, !tbaa !9
  %814 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %813) #14
  %815 = icmp eq i32 %814, -1
  br i1 %815, label %816, label %865

816:                                              ; preds = %812
  %817 = tail call ptr @__errno_location() #15
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %820 = call i32 @s2n_print_stacktrace(ptr noundef %819) #14
  %821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %822 = trunc nuw i8 %821 to i1
  br i1 %822, label %823, label %827

823:                                              ; preds = %816
  %824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %825 = call i32 @fileno(ptr noundef %824) #14
  %826 = call i32 @isatty(i32 noundef %825) #14
  %.not614 = icmp eq i32 %826, 0
  br i1 %.not614, label %827, label %828

827:                                              ; preds = %823, %816
  br label %828

828:                                              ; preds = %823, %827
  %.str.5.sink1168 = phi ptr [ @.str.5, %827 ], [ @.str.2, %823 ]
  store i32 %818, ptr %817, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = load i32, ptr @test_count, align 4, !tbaa !5
  %831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @s2n_strerror(i32 noundef %832, ptr noundef nonnull @.str.4) #14
  %834 = load i32, ptr %831, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror_debug(i32 noundef %834, ptr noundef nonnull @.str.4) #14
  %836 = load i32, ptr %817, align 4, !tbaa !5
  %837 = call ptr @strerror(i32 noundef %836) #14
  %838 = load i32, ptr %817, align 4, !tbaa !5
  %839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %829, ptr noundef nonnull %.str.5.sink1168, i32 noundef %830, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %833, ptr noundef %835, ptr noundef %837, i32 noundef %838) #16
  call void @exit(i32 noundef 1) #17
  unreachable

840:                                              ; preds = %806
  br i1 %.not, label %841, label %865

841:                                              ; preds = %840
  %842 = tail call ptr @__errno_location() #15
  %843 = load i32, ptr %842, align 4, !tbaa !5
  %844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %845 = call i32 @s2n_print_stacktrace(ptr noundef %844) #14
  %846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %847 = trunc nuw i8 %846 to i1
  br i1 %847, label %848, label %852

848:                                              ; preds = %841
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = call i32 @fileno(ptr noundef %849) #14
  %851 = call i32 @isatty(i32 noundef %850) #14
  %.not613 = icmp eq i32 %851, 0
  br i1 %.not613, label %852, label %853

852:                                              ; preds = %848, %841
  br label %853

853:                                              ; preds = %848, %852
  %.str.5.sink1179 = phi ptr [ @.str.5, %852 ], [ @.str.2, %848 ]
  store i32 %843, ptr %842, align 4, !tbaa !5
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = load i32, ptr @test_count, align 4, !tbaa !5
  %856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %857 = load i32, ptr %856, align 4, !tbaa !5
  %858 = call ptr @s2n_strerror(i32 noundef %857, ptr noundef nonnull @.str.4) #14
  %859 = load i32, ptr %856, align 4, !tbaa !5
  %860 = call ptr @s2n_strerror_debug(i32 noundef %859, ptr noundef nonnull @.str.4) #14
  %861 = load i32, ptr %842, align 4, !tbaa !5
  %862 = call ptr @strerror(i32 noundef %861) #14
  %863 = load i32, ptr %842, align 4, !tbaa !5
  %864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %854, ptr noundef nonnull %.str.5.sink1179, i32 noundef %855, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %858, ptr noundef %860, ptr noundef %862, i32 noundef %863) #16
  call void @exit(i32 noundef 1) #17
  unreachable

865:                                              ; preds = %812, %840, %709, %707, %716, %714
  %.1570 = phi i1 [ true, %714 ], [ true, %716 ], [ true, %707 ], [ true, %709 ], [ true, %812 ], [ false, %840 ]
  %.1568 = phi i8 [ 1, %714 ], [ 1, %716 ], [ 1, %707 ], [ 1, %709 ], [ %.0567, %812 ], [ %.0567, %840 ]
  %866 = call i32 @s2n_io_pair_close(ptr noundef nonnull %12) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #14
  %867 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %11) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #14
  %868 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %10) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #14
  br i1 %587, label %5768, label %.preheader833

.preheader833:                                    ; preds = %865
  %869 = trunc nuw i8 %.1568 to i1
  %870 = getelementptr inbounds i8, ptr %16, i64 8
  %871 = getelementptr inbounds i8, ptr %6, i64 8
  br i1 %869, label %.preheader833.split, label %.split

.preheader833.split:                              ; preds = %.preheader833, %2102
  %872 = phi i1 [ false, %2102 ], [ true, %.preheader833 ]
  %.0571856 = phi i64 [ 1, %2102 ], [ 0, %.preheader833 ]
  %873 = getelementptr inbounds [2 x i32], ptr @__const.main.modes, i64 0, i64 %.0571856
  %874 = load i32, ptr %873, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #14
  %875 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %875, ptr %13, align 8, !tbaa !9
  %876 = load i32, ptr @test_count, align 4, !tbaa !5
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr @test_count, align 4, !tbaa !5
  %878 = icmp eq ptr %875, null
  br i1 %878, label %879, label %903

879:                                              ; preds = %.preheader833.split
  %880 = tail call ptr @__errno_location() #15
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %883 = call i32 @s2n_print_stacktrace(ptr noundef %882) #14
  %884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %885 = trunc nuw i8 %884 to i1
  br i1 %885, label %886, label %890

886:                                              ; preds = %879
  %887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %888 = call i32 @fileno(ptr noundef %887) #14
  %889 = call i32 @isatty(i32 noundef %888) #14
  %.not799 = icmp eq i32 %889, 0
  br i1 %.not799, label %890, label %891

890:                                              ; preds = %886, %879
  br label %891

891:                                              ; preds = %886, %890
  %.str.5.sink1190 = phi ptr [ @.str.5, %890 ], [ @.str.2, %886 ]
  store i32 %881, ptr %880, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror(i32 noundef %895, ptr noundef nonnull @.str.4) #14
  %897 = load i32, ptr %894, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror_debug(i32 noundef %897, ptr noundef nonnull @.str.4) #14
  %899 = load i32, ptr %880, align 4, !tbaa !5
  %900 = call ptr @strerror(i32 noundef %899) #14
  %901 = load i32, ptr %880, align 4, !tbaa !5
  %902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef nonnull %.str.5.sink1190, i32 noundef %893, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %896, ptr noundef %898, ptr noundef %900, i32 noundef %901) #16
  call void @exit(i32 noundef 1) #17
  unreachable

903:                                              ; preds = %.preheader833.split
  %904 = add nsw i32 %876, 2
  store i32 %904, ptr @test_count, align 4, !tbaa !5
  %905 = call i32 @s2n_connection_set_config(ptr noundef nonnull %875, ptr noundef %354) #14
  %906 = icmp eq i32 %905, -1
  br i1 %906, label %907, label %931

907:                                              ; preds = %903
  %908 = tail call ptr @__errno_location() #15
  %909 = load i32, ptr %908, align 4, !tbaa !5
  %910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %911 = call i32 @s2n_print_stacktrace(ptr noundef %910) #14
  %912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %913 = trunc nuw i8 %912 to i1
  br i1 %913, label %914, label %918

914:                                              ; preds = %907
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = call i32 @fileno(ptr noundef %915) #14
  %917 = call i32 @isatty(i32 noundef %916) #14
  %.not798 = icmp eq i32 %917, 0
  br i1 %.not798, label %918, label %919

918:                                              ; preds = %914, %907
  br label %919

919:                                              ; preds = %914, %918
  %.str.5.sink1201 = phi ptr [ @.str.5, %918 ], [ @.str.2, %914 ]
  store i32 %909, ptr %908, align 4, !tbaa !5
  %920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %921 = load i32, ptr @test_count, align 4, !tbaa !5
  %922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %923 = load i32, ptr %922, align 4, !tbaa !5
  %924 = call ptr @s2n_strerror(i32 noundef %923, ptr noundef nonnull @.str.4) #14
  %925 = load i32, ptr %922, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror_debug(i32 noundef %925, ptr noundef nonnull @.str.4) #14
  %927 = load i32, ptr %908, align 4, !tbaa !5
  %928 = call ptr @strerror(i32 noundef %927) #14
  %929 = load i32, ptr %908, align 4, !tbaa !5
  %930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %920, ptr noundef nonnull %.str.5.sink1201, i32 noundef %921, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %924, ptr noundef %926, ptr noundef %928, i32 noundef %929) #16
  call void @exit(i32 noundef 1) #17
  unreachable

931:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #14
  %932 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %932, ptr %14, align 8, !tbaa !9
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = add nsw i32 %933, 1
  store i32 %934, ptr @test_count, align 4, !tbaa !5
  %935 = icmp eq ptr %932, null
  br i1 %935, label %936, label %960

936:                                              ; preds = %931
  %937 = tail call ptr @__errno_location() #15
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = call i32 @s2n_print_stacktrace(ptr noundef %939) #14
  %941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %942 = trunc nuw i8 %941 to i1
  br i1 %942, label %943, label %947

943:                                              ; preds = %936
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = call i32 @fileno(ptr noundef %944) #14
  %946 = call i32 @isatty(i32 noundef %945) #14
  %.not797 = icmp eq i32 %946, 0
  br i1 %.not797, label %947, label %948

947:                                              ; preds = %943, %936
  br label %948

948:                                              ; preds = %943, %947
  %.str.5.sink1212 = phi ptr [ @.str.5, %947 ], [ @.str.2, %943 ]
  store i32 %938, ptr %937, align 4, !tbaa !5
  %949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %950 = load i32, ptr @test_count, align 4, !tbaa !5
  %951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %952 = load i32, ptr %951, align 4, !tbaa !5
  %953 = call ptr @s2n_strerror(i32 noundef %952, ptr noundef nonnull @.str.4) #14
  %954 = load i32, ptr %951, align 4, !tbaa !5
  %955 = call ptr @s2n_strerror_debug(i32 noundef %954, ptr noundef nonnull @.str.4) #14
  %956 = load i32, ptr %937, align 4, !tbaa !5
  %957 = call ptr @strerror(i32 noundef %956) #14
  %958 = load i32, ptr %937, align 4, !tbaa !5
  %959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %949, ptr noundef nonnull %.str.5.sink1212, i32 noundef %950, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %953, ptr noundef %955, ptr noundef %957, i32 noundef %958) #16
  call void @exit(i32 noundef 1) #17
  unreachable

960:                                              ; preds = %931
  %961 = add nsw i32 %933, 2
  store i32 %961, ptr @test_count, align 4, !tbaa !5
  %962 = call i32 @s2n_connection_set_config(ptr noundef nonnull %932, ptr noundef %354) #14
  %963 = icmp eq i32 %962, -1
  br i1 %963, label %964, label %988

964:                                              ; preds = %960
  %965 = tail call ptr @__errno_location() #15
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %968 = call i32 @s2n_print_stacktrace(ptr noundef %967) #14
  %969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %970 = trunc nuw i8 %969 to i1
  br i1 %970, label %971, label %975

971:                                              ; preds = %964
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @fileno(ptr noundef %972) #14
  %974 = call i32 @isatty(i32 noundef %973) #14
  %.not796 = icmp eq i32 %974, 0
  br i1 %.not796, label %975, label %976

975:                                              ; preds = %971, %964
  br label %976

976:                                              ; preds = %971, %975
  %.str.5.sink1223 = phi ptr [ @.str.5, %975 ], [ @.str.2, %971 ]
  store i32 %966, ptr %965, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror(i32 noundef %980, ptr noundef nonnull @.str.4) #14
  %982 = load i32, ptr %979, align 4, !tbaa !5
  %983 = call ptr @s2n_strerror_debug(i32 noundef %982, ptr noundef nonnull @.str.4) #14
  %984 = load i32, ptr %965, align 4, !tbaa !5
  %985 = call ptr @strerror(i32 noundef %984) #14
  %986 = load i32, ptr %965, align 4, !tbaa !5
  %987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %977, ptr noundef nonnull %.str.5.sink1223, i32 noundef %978, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %981, ptr noundef %983, ptr noundef %985, i32 noundef %986) #16
  call void @exit(i32 noundef 1) #17
  unreachable

988:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #14
  store i64 0, ptr %15, align 8
  %989 = load i32, ptr @test_count, align 4, !tbaa !5
  %990 = add nsw i32 %989, 1
  store i32 %990, ptr @test_count, align 4, !tbaa !5
  %991 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %15)
  %992 = call zeroext i1 @s2n_result_is_ok(i32 %991)
  br i1 %992, label %1017, label %993

993:                                              ; preds = %988
  %994 = tail call ptr @__errno_location() #15
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = call i32 @s2n_print_stacktrace(ptr noundef %996) #14
  %998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %999 = trunc nuw i8 %998 to i1
  br i1 %999, label %1000, label %1004

1000:                                             ; preds = %993
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = call i32 @fileno(ptr noundef %1001) #14
  %1003 = call i32 @isatty(i32 noundef %1002) #14
  %.not751 = icmp eq i32 %1003, 0
  br i1 %.not751, label %1004, label %1005

1004:                                             ; preds = %1000, %993
  br label %1005

1005:                                             ; preds = %1000, %1004
  %.str.5.sink1234 = phi ptr [ @.str.5, %1004 ], [ @.str.2, %1000 ]
  store i32 %995, ptr %994, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef nonnull @.str.4) #14
  %1011 = load i32, ptr %1008, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror_debug(i32 noundef %1011, ptr noundef nonnull @.str.4) #14
  %1013 = load i32, ptr %994, align 4, !tbaa !5
  %1014 = call ptr @strerror(i32 noundef %1013) #14
  %1015 = load i32, ptr %994, align 4, !tbaa !5
  %1016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef nonnull %.str.5.sink1234, i32 noundef %1007, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1010, ptr noundef %1012, ptr noundef %1014, i32 noundef %1015) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1017:                                             ; preds = %988
  %1018 = load i32, ptr @test_count, align 4, !tbaa !5
  %1019 = add nsw i32 %1018, 1
  store i32 %1019, ptr @test_count, align 4, !tbaa !5
  %1020 = load ptr, ptr %14, align 8, !tbaa !9
  %1021 = load ptr, ptr %13, align 8, !tbaa !9
  %1022 = call i32 @s2n_setup_connections(ptr noundef %1020, ptr noundef %1021, ptr noundef nonnull %15)
  %1023 = call zeroext i1 @s2n_result_is_ok(i32 %1022)
  br i1 %1023, label %1048, label %1024

1024:                                             ; preds = %1017
  %1025 = tail call ptr @__errno_location() #15
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = call i32 @s2n_print_stacktrace(ptr noundef %1027) #14
  %1029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1030 = trunc nuw i8 %1029 to i1
  br i1 %1030, label %1031, label %1035

1031:                                             ; preds = %1024
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @fileno(ptr noundef %1032) #14
  %1034 = call i32 @isatty(i32 noundef %1033) #14
  %.not752 = icmp eq i32 %1034, 0
  br i1 %.not752, label %1035, label %1036

1035:                                             ; preds = %1031, %1024
  br label %1036

1036:                                             ; preds = %1031, %1035
  %.str.5.sink1245 = phi ptr [ @.str.5, %1035 ], [ @.str.2, %1031 ]
  store i32 %1026, ptr %1025, align 4, !tbaa !5
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1040 = load i32, ptr %1039, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror(i32 noundef %1040, ptr noundef nonnull @.str.4) #14
  %1042 = load i32, ptr %1039, align 4, !tbaa !5
  %1043 = call ptr @s2n_strerror_debug(i32 noundef %1042, ptr noundef nonnull @.str.4) #14
  %1044 = load i32, ptr %1025, align 4, !tbaa !5
  %1045 = call ptr @strerror(i32 noundef %1044) #14
  %1046 = load i32, ptr %1025, align 4, !tbaa !5
  %1047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1037, ptr noundef nonnull %.str.5.sink1245, i32 noundef %1038, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %1041, ptr noundef %1043, ptr noundef %1045, i32 noundef %1046) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1048:                                             ; preds = %1017
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #14
  %1049 = load ptr, ptr %14, align 8, !tbaa !9
  store ptr %1049, ptr %16, align 16, !tbaa !9
  %1050 = load ptr, ptr %13, align 8, !tbaa !9
  store ptr %1050, ptr %870, align 8, !tbaa !9
  %1051 = zext i32 %874 to i64
  %1052 = getelementptr inbounds [2 x ptr], ptr %16, i64 0, i64 %1051
  %1053 = load ptr, ptr %1052, align 8, !tbaa !9
  %1054 = and i32 %874, 1
  %1055 = xor i32 %1054, 1
  %1056 = zext nneg i32 %1055 to i64
  %1057 = getelementptr inbounds [2 x ptr], ptr %16, i64 0, i64 %1056
  %1058 = load ptr, ptr %1057, align 8, !tbaa !9
  %1059 = load i32, ptr @test_count, align 4, !tbaa !5
  %1060 = add nsw i32 %1059, 1
  store i32 %1060, ptr @test_count, align 4, !tbaa !5
  %1061 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %1053) #14
  %1062 = icmp eq i32 %1061, -1
  br i1 %1062, label %1063, label %1087

1063:                                             ; preds = %1048
  %1064 = tail call ptr @__errno_location() #15
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = call i32 @s2n_print_stacktrace(ptr noundef %1066) #14
  %1068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1069 = trunc nuw i8 %1068 to i1
  br i1 %1069, label %1070, label %1074

1070:                                             ; preds = %1063
  %1071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1072 = call i32 @fileno(ptr noundef %1071) #14
  %1073 = call i32 @isatty(i32 noundef %1072) #14
  %.not795 = icmp eq i32 %1073, 0
  br i1 %.not795, label %1074, label %1075

1074:                                             ; preds = %1070, %1063
  br label %1075

1075:                                             ; preds = %1070, %1074
  %.str.5.sink1256 = phi ptr [ @.str.5, %1074 ], [ @.str.2, %1070 ]
  store i32 %1065, ptr %1064, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef nonnull @.str.4) #14
  %1081 = load i32, ptr %1078, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror_debug(i32 noundef %1081, ptr noundef nonnull @.str.4) #14
  %1083 = load i32, ptr %1064, align 4, !tbaa !5
  %1084 = call ptr @strerror(i32 noundef %1083) #14
  %1085 = load i32, ptr %1064, align 4, !tbaa !5
  %1086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef nonnull %.str.5.sink1256, i32 noundef %1077, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1080, ptr noundef %1082, ptr noundef %1084, i32 noundef %1085) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1087:                                             ; preds = %1048
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #14
  store i32 0, ptr %17, align 4, !tbaa !5
  %1088 = call i64 @s2n_send(ptr noundef %1053, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %17) #14
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = add nsw i32 %1089, 1
  store i32 %1090, ptr @test_count, align 4, !tbaa !5
  %sext787.mask = and i64 %1088, 4294967295
  %1091 = icmp eq i64 %sext787.mask, 100
  br i1 %1091, label %1116, label %1092

1092:                                             ; preds = %1291, %1270, %1249, %1228, %1087
  %1093 = tail call ptr @__errno_location() #15
  %1094 = load i32, ptr %1093, align 4, !tbaa !5
  %1095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1096 = call i32 @s2n_print_stacktrace(ptr noundef %1095) #14
  %1097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1098 = trunc nuw i8 %1097 to i1
  br i1 %1098, label %1099, label %1103

1099:                                             ; preds = %1092
  %1100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1101 = call i32 @fileno(ptr noundef %1100) #14
  %1102 = call i32 @isatty(i32 noundef %1101) #14
  %.not788 = icmp eq i32 %1102, 0
  br i1 %.not788, label %1103, label %1104

1103:                                             ; preds = %1099, %1092
  br label %1104

1104:                                             ; preds = %1099, %1103
  %.str.5.sink1267 = phi ptr [ @.str.5, %1103 ], [ @.str.2, %1099 ]
  store i32 %1094, ptr %1093, align 4, !tbaa !5
  %1105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1106 = load i32, ptr @test_count, align 4, !tbaa !5
  %1107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  %1109 = call ptr @s2n_strerror(i32 noundef %1108, ptr noundef nonnull @.str.4) #14
  %1110 = load i32, ptr %1107, align 4, !tbaa !5
  %1111 = call ptr @s2n_strerror_debug(i32 noundef %1110, ptr noundef nonnull @.str.4) #14
  %1112 = load i32, ptr %1093, align 4, !tbaa !5
  %1113 = call ptr @strerror(i32 noundef %1112) #14
  %1114 = load i32, ptr %1093, align 4, !tbaa !5
  %1115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1105, ptr noundef nonnull %.str.5.sink1267, i32 noundef %1106, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %1109, ptr noundef %1111, ptr noundef %1113, i32 noundef %1114) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1116:                                             ; preds = %1087
  %1117 = add nsw i32 %1089, 2
  store i32 %1117, ptr @test_count, align 4, !tbaa !5
  %1118 = load i32, ptr %17, align 4, !tbaa !5
  %1119 = icmp eq i32 %1118, 0
  br i1 %1119, label %1144, label %1120

1120:                                             ; preds = %1296, %1275, %1254, %1233, %1116
  %1121 = tail call ptr @__errno_location() #15
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #14
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1120
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #14
  %1130 = call i32 @isatty(i32 noundef %1129) #14
  %.not789 = icmp eq i32 %1130, 0
  br i1 %.not789, label %1131, label %1132

1131:                                             ; preds = %1127, %1120
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.5.sink1278 = phi ptr [ @.str.5, %1131 ], [ @.str.2, %1127 ]
  store i32 %1122, ptr %1121, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1136 = load i32, ptr %1135, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror(i32 noundef %1136, ptr noundef nonnull @.str.4) #14
  %1138 = load i32, ptr %1135, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror_debug(i32 noundef %1138, ptr noundef nonnull @.str.4) #14
  %1140 = load i32, ptr %1121, align 4, !tbaa !5
  %1141 = call ptr @strerror(i32 noundef %1140) #14
  %1142 = load i32, ptr %1121, align 4, !tbaa !5
  %1143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.5.sink1278, i32 noundef %1134, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %1137, ptr noundef %1139, ptr noundef %1141, i32 noundef %1142) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1144:                                             ; preds = %1116
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %18) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %18, i8 0, i64 100, i1 false)
  %1145 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %18, i64 noundef 100, ptr noundef nonnull %17) #14
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = add nsw i32 %1146, 1
  store i32 %1147, ptr @test_count, align 4, !tbaa !5
  %sext790.mask = and i64 %1145, 4294967295
  %1148 = icmp eq i64 %sext790.mask, 100
  br i1 %1148, label %1173, label %1149

1149:                                             ; preds = %1300, %1279, %1258, %1237, %1144
  %1150 = tail call ptr @__errno_location() #15
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = call i32 @s2n_print_stacktrace(ptr noundef %1152) #14
  %1154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1155 = trunc nuw i8 %1154 to i1
  br i1 %1155, label %1156, label %1160

1156:                                             ; preds = %1149
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = call i32 @fileno(ptr noundef %1157) #14
  %1159 = call i32 @isatty(i32 noundef %1158) #14
  %.not791 = icmp eq i32 %1159, 0
  br i1 %.not791, label %1160, label %1161

1160:                                             ; preds = %1156, %1149
  br label %1161

1161:                                             ; preds = %1156, %1160
  %.str.5.sink1289 = phi ptr [ @.str.5, %1160 ], [ @.str.2, %1156 ]
  store i32 %1151, ptr %1150, align 4, !tbaa !5
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = load i32, ptr @test_count, align 4, !tbaa !5
  %1164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror(i32 noundef %1165, ptr noundef nonnull @.str.4) #14
  %1167 = load i32, ptr %1164, align 4, !tbaa !5
  %1168 = call ptr @s2n_strerror_debug(i32 noundef %1167, ptr noundef nonnull @.str.4) #14
  %1169 = load i32, ptr %1150, align 4, !tbaa !5
  %1170 = call ptr @strerror(i32 noundef %1169) #14
  %1171 = load i32, ptr %1150, align 4, !tbaa !5
  %1172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1162, ptr noundef nonnull %.str.5.sink1289, i32 noundef %1163, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %1166, ptr noundef %1168, ptr noundef %1170, i32 noundef %1171) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1173:                                             ; preds = %1144
  %1174 = add nsw i32 %1146, 2
  store i32 %1174, ptr @test_count, align 4, !tbaa !5
  %1175 = load i32, ptr %17, align 4, !tbaa !5
  %1176 = icmp eq i32 %1175, 0
  br i1 %1176, label %1201, label %1177

1177:                                             ; preds = %1305, %1284, %1263, %1242, %1173
  %1178 = tail call ptr @__errno_location() #15
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 @s2n_print_stacktrace(ptr noundef %1180) #14
  %1182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1183 = trunc nuw i8 %1182 to i1
  br i1 %1183, label %1184, label %1188

1184:                                             ; preds = %1177
  %1185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1186 = call i32 @fileno(ptr noundef %1185) #14
  %1187 = call i32 @isatty(i32 noundef %1186) #14
  %.not792 = icmp eq i32 %1187, 0
  br i1 %.not792, label %1188, label %1189

1188:                                             ; preds = %1184, %1177
  br label %1189

1189:                                             ; preds = %1184, %1188
  %.str.5.sink1300 = phi ptr [ @.str.5, %1188 ], [ @.str.2, %1184 ]
  store i32 %1179, ptr %1178, align 4, !tbaa !5
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1193, ptr noundef nonnull @.str.4) #14
  %1195 = load i32, ptr %1192, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef nonnull @.str.4) #14
  %1197 = load i32, ptr %1178, align 4, !tbaa !5
  %1198 = call ptr @strerror(i32 noundef %1197) #14
  %1199 = load i32, ptr %1178, align 4, !tbaa !5
  %1200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1190, ptr noundef nonnull %.str.5.sink1300, i32 noundef %1191, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %1194, ptr noundef %1196, ptr noundef %1198, i32 noundef %1199) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1201:                                             ; preds = %1173
  %1202 = add nsw i32 %1146, 3
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %bcmp793 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %18, i64 100)
  %1203 = icmp eq i32 %bcmp793, 0
  br i1 %1203, label %1228, label %1204

1204:                                             ; preds = %1309, %1288, %1267, %1246, %1201
  %1205 = tail call ptr @__errno_location() #15
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @s2n_print_stacktrace(ptr noundef %1207) #14
  %1209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1210 = trunc nuw i8 %1209 to i1
  br i1 %1210, label %1211, label %1215

1211:                                             ; preds = %1204
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @fileno(ptr noundef %1212) #14
  %1214 = call i32 @isatty(i32 noundef %1213) #14
  %.not794 = icmp eq i32 %1214, 0
  br i1 %.not794, label %1215, label %1216

1215:                                             ; preds = %1211, %1204
  br label %1216

1216:                                             ; preds = %1211, %1215
  %.str.5.sink1311 = phi ptr [ @.str.5, %1215 ], [ @.str.2, %1211 ]
  store i32 %1206, ptr %1205, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror(i32 noundef %1220, ptr noundef nonnull @.str.4) #14
  %1222 = load i32, ptr %1219, align 4, !tbaa !5
  %1223 = call ptr @s2n_strerror_debug(i32 noundef %1222, ptr noundef nonnull @.str.4) #14
  %1224 = load i32, ptr %1205, align 4, !tbaa !5
  %1225 = call ptr @strerror(i32 noundef %1224) #14
  %1226 = load i32, ptr %1205, align 4, !tbaa !5
  %1227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef nonnull %.str.5.sink1311, i32 noundef %1218, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %1221, ptr noundef %1223, ptr noundef %1225, i32 noundef %1226) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1228:                                             ; preds = %1201
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %18) #14
  %1229 = call i64 @s2n_send(ptr noundef %1053, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %17) #14
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %sext787.mask.1 = and i64 %1229, 4294967295
  %1232 = icmp eq i64 %sext787.mask.1, 100
  br i1 %1232, label %1233, label %1092

1233:                                             ; preds = %1228
  %1234 = add nsw i32 %1230, 2
  store i32 %1234, ptr @test_count, align 4, !tbaa !5
  %1235 = load i32, ptr %17, align 4, !tbaa !5
  %1236 = icmp eq i32 %1235, 0
  br i1 %1236, label %1237, label %1120

1237:                                             ; preds = %1233
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %18) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %18, i8 0, i64 100, i1 false)
  %1238 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %18, i64 noundef 100, ptr noundef nonnull %17) #14
  %1239 = load i32, ptr @test_count, align 4, !tbaa !5
  %1240 = add nsw i32 %1239, 1
  store i32 %1240, ptr @test_count, align 4, !tbaa !5
  %sext790.mask.1 = and i64 %1238, 4294967295
  %1241 = icmp eq i64 %sext790.mask.1, 100
  br i1 %1241, label %1242, label %1149

1242:                                             ; preds = %1237
  %1243 = add nsw i32 %1239, 2
  store i32 %1243, ptr @test_count, align 4, !tbaa !5
  %1244 = load i32, ptr %17, align 4, !tbaa !5
  %1245 = icmp eq i32 %1244, 0
  br i1 %1245, label %1246, label %1177

1246:                                             ; preds = %1242
  %1247 = add nsw i32 %1239, 3
  store i32 %1247, ptr @test_count, align 4, !tbaa !5
  %bcmp793.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %18, i64 100)
  %1248 = icmp eq i32 %bcmp793.1, 0
  br i1 %1248, label %1249, label %1204

1249:                                             ; preds = %1246
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %18) #14
  %1250 = call i64 @s2n_send(ptr noundef %1053, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %17) #14
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = add nsw i32 %1251, 1
  store i32 %1252, ptr @test_count, align 4, !tbaa !5
  %sext787.mask.2 = and i64 %1250, 4294967295
  %1253 = icmp eq i64 %sext787.mask.2, 100
  br i1 %1253, label %1254, label %1092

1254:                                             ; preds = %1249
  %1255 = add nsw i32 %1251, 2
  store i32 %1255, ptr @test_count, align 4, !tbaa !5
  %1256 = load i32, ptr %17, align 4, !tbaa !5
  %1257 = icmp eq i32 %1256, 0
  br i1 %1257, label %1258, label %1120

1258:                                             ; preds = %1254
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %18) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %18, i8 0, i64 100, i1 false)
  %1259 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %18, i64 noundef 100, ptr noundef nonnull %17) #14
  %1260 = load i32, ptr @test_count, align 4, !tbaa !5
  %1261 = add nsw i32 %1260, 1
  store i32 %1261, ptr @test_count, align 4, !tbaa !5
  %sext790.mask.2 = and i64 %1259, 4294967295
  %1262 = icmp eq i64 %sext790.mask.2, 100
  br i1 %1262, label %1263, label %1149

1263:                                             ; preds = %1258
  %1264 = add nsw i32 %1260, 2
  store i32 %1264, ptr @test_count, align 4, !tbaa !5
  %1265 = load i32, ptr %17, align 4, !tbaa !5
  %1266 = icmp eq i32 %1265, 0
  br i1 %1266, label %1267, label %1177

1267:                                             ; preds = %1263
  %1268 = add nsw i32 %1260, 3
  store i32 %1268, ptr @test_count, align 4, !tbaa !5
  %bcmp793.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %18, i64 100)
  %1269 = icmp eq i32 %bcmp793.2, 0
  br i1 %1269, label %1270, label %1204

1270:                                             ; preds = %1267
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %18) #14
  %1271 = call i64 @s2n_send(ptr noundef %1053, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %17) #14
  %1272 = load i32, ptr @test_count, align 4, !tbaa !5
  %1273 = add nsw i32 %1272, 1
  store i32 %1273, ptr @test_count, align 4, !tbaa !5
  %sext787.mask.3 = and i64 %1271, 4294967295
  %1274 = icmp eq i64 %sext787.mask.3, 100
  br i1 %1274, label %1275, label %1092

1275:                                             ; preds = %1270
  %1276 = add nsw i32 %1272, 2
  store i32 %1276, ptr @test_count, align 4, !tbaa !5
  %1277 = load i32, ptr %17, align 4, !tbaa !5
  %1278 = icmp eq i32 %1277, 0
  br i1 %1278, label %1279, label %1120

1279:                                             ; preds = %1275
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %18) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %18, i8 0, i64 100, i1 false)
  %1280 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %18, i64 noundef 100, ptr noundef nonnull %17) #14
  %1281 = load i32, ptr @test_count, align 4, !tbaa !5
  %1282 = add nsw i32 %1281, 1
  store i32 %1282, ptr @test_count, align 4, !tbaa !5
  %sext790.mask.3 = and i64 %1280, 4294967295
  %1283 = icmp eq i64 %sext790.mask.3, 100
  br i1 %1283, label %1284, label %1149

1284:                                             ; preds = %1279
  %1285 = add nsw i32 %1281, 2
  store i32 %1285, ptr @test_count, align 4, !tbaa !5
  %1286 = load i32, ptr %17, align 4, !tbaa !5
  %1287 = icmp eq i32 %1286, 0
  br i1 %1287, label %1288, label %1177

1288:                                             ; preds = %1284
  %1289 = add nsw i32 %1281, 3
  store i32 %1289, ptr @test_count, align 4, !tbaa !5
  %bcmp793.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %18, i64 100)
  %1290 = icmp eq i32 %bcmp793.3, 0
  br i1 %1290, label %1291, label %1204

1291:                                             ; preds = %1288
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %18) #14
  %1292 = call i64 @s2n_send(ptr noundef %1053, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %17) #14
  %1293 = load i32, ptr @test_count, align 4, !tbaa !5
  %1294 = add nsw i32 %1293, 1
  store i32 %1294, ptr @test_count, align 4, !tbaa !5
  %sext787.mask.4 = and i64 %1292, 4294967295
  %1295 = icmp eq i64 %sext787.mask.4, 100
  br i1 %1295, label %1296, label %1092

1296:                                             ; preds = %1291
  %1297 = add nsw i32 %1293, 2
  store i32 %1297, ptr @test_count, align 4, !tbaa !5
  %1298 = load i32, ptr %17, align 4, !tbaa !5
  %1299 = icmp eq i32 %1298, 0
  br i1 %1299, label %1300, label %1120

1300:                                             ; preds = %1296
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %18) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %18, i8 0, i64 100, i1 false)
  %1301 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %18, i64 noundef 100, ptr noundef nonnull %17) #14
  %1302 = load i32, ptr @test_count, align 4, !tbaa !5
  %1303 = add nsw i32 %1302, 1
  store i32 %1303, ptr @test_count, align 4, !tbaa !5
  %sext790.mask.4 = and i64 %1301, 4294967295
  %1304 = icmp eq i64 %sext790.mask.4, 100
  br i1 %1304, label %1305, label %1149

1305:                                             ; preds = %1300
  %1306 = add nsw i32 %1302, 2
  store i32 %1306, ptr @test_count, align 4, !tbaa !5
  %1307 = load i32, ptr %17, align 4, !tbaa !5
  %1308 = icmp eq i32 %1307, 0
  br i1 %1308, label %1309, label %1177

1309:                                             ; preds = %1305
  %1310 = add nsw i32 %1302, 3
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %bcmp793.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %18, i64 100)
  %1311 = icmp eq i32 %bcmp793.4, 0
  br i1 %1311, label %.preheader832.preheader, label %1204

.preheader832.preheader:                          ; preds = %1309
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %18) #14
  %1312 = load ptr, ptr %6, align 8, !tbaa !17
  %1313 = load i64, ptr %871, align 8, !tbaa !19
  %1314 = call i64 @s2n_sendv(ptr noundef %1053, ptr noundef %1312, i64 noundef %1313, ptr noundef nonnull %17) #14
  %1315 = load i32, ptr @test_count, align 4, !tbaa !5
  %1316 = add nsw i32 %1315, 1
  store i32 %1316, ptr @test_count, align 4, !tbaa !5
  %sext779.mask = and i64 %1314, 4294967295
  %1317 = icmp eq i64 %sext779.mask, 100
  br i1 %1317, label %1342, label %1318

1318:                                             ; preds = %.preheader832.4, %.preheader832.3, %.preheader832.2, %.preheader832.1, %.preheader832.preheader
  %1319 = tail call ptr @__errno_location() #15
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @s2n_print_stacktrace(ptr noundef %1321) #14
  %1323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1324 = trunc nuw i8 %1323 to i1
  br i1 %1324, label %1325, label %1329

1325:                                             ; preds = %1318
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @fileno(ptr noundef %1326) #14
  %1328 = call i32 @isatty(i32 noundef %1327) #14
  %.not780 = icmp eq i32 %1328, 0
  br i1 %.not780, label %1329, label %1330

1329:                                             ; preds = %1325, %1318
  br label %1330

1330:                                             ; preds = %1325, %1329
  %.str.5.sink1322 = phi ptr [ @.str.5, %1329 ], [ @.str.2, %1325 ]
  store i32 %1320, ptr %1319, align 4, !tbaa !5
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1334, ptr noundef nonnull @.str.4) #14
  %1336 = load i32, ptr %1333, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef nonnull @.str.4) #14
  %1338 = load i32, ptr %1319, align 4, !tbaa !5
  %1339 = call ptr @strerror(i32 noundef %1338) #14
  %1340 = load i32, ptr %1319, align 4, !tbaa !5
  %1341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1331, ptr noundef nonnull %.str.5.sink1322, i32 noundef %1332, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %1335, ptr noundef %1337, ptr noundef %1339, i32 noundef %1340) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1342:                                             ; preds = %.preheader832.preheader
  %1343 = add nsw i32 %1315, 2
  store i32 %1343, ptr @test_count, align 4, !tbaa !5
  %1344 = load i32, ptr %17, align 4, !tbaa !5
  %1345 = icmp eq i32 %1344, 0
  br i1 %1345, label %1370, label %1346

1346:                                             ; preds = %1526, %1504, %1482, %1460, %1342
  %1347 = tail call ptr @__errno_location() #15
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = call i32 @s2n_print_stacktrace(ptr noundef %1349) #14
  %1351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1352 = trunc nuw i8 %1351 to i1
  br i1 %1352, label %1353, label %1357

1353:                                             ; preds = %1346
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = call i32 @fileno(ptr noundef %1354) #14
  %1356 = call i32 @isatty(i32 noundef %1355) #14
  %.not781 = icmp eq i32 %1356, 0
  br i1 %.not781, label %1357, label %1358

1357:                                             ; preds = %1353, %1346
  br label %1358

1358:                                             ; preds = %1353, %1357
  %.str.5.sink1333 = phi ptr [ @.str.5, %1357 ], [ @.str.2, %1353 ]
  store i32 %1348, ptr %1347, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = load i32, ptr @test_count, align 4, !tbaa !5
  %1361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1362 = load i32, ptr %1361, align 4, !tbaa !5
  %1363 = call ptr @s2n_strerror(i32 noundef %1362, ptr noundef nonnull @.str.4) #14
  %1364 = load i32, ptr %1361, align 4, !tbaa !5
  %1365 = call ptr @s2n_strerror_debug(i32 noundef %1364, ptr noundef nonnull @.str.4) #14
  %1366 = load i32, ptr %1347, align 4, !tbaa !5
  %1367 = call ptr @strerror(i32 noundef %1366) #14
  %1368 = load i32, ptr %1347, align 4, !tbaa !5
  %1369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1359, ptr noundef nonnull %.str.5.sink1333, i32 noundef %1360, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %1363, ptr noundef %1365, ptr noundef %1367, i32 noundef %1368) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1370:                                             ; preds = %1342
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %19) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %19, i8 0, i64 100, i1 false)
  %1371 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %19, i64 noundef 100, ptr noundef nonnull %17) #14
  %1372 = load i32, ptr @test_count, align 4, !tbaa !5
  %1373 = add nsw i32 %1372, 1
  store i32 %1373, ptr @test_count, align 4, !tbaa !5
  %sext782.mask = and i64 %1371, 4294967295
  %1374 = icmp eq i64 %sext782.mask, 100
  br i1 %1374, label %1399, label %1375

1375:                                             ; preds = %1530, %1508, %1486, %1464, %1370
  %1376 = tail call ptr @__errno_location() #15
  %1377 = load i32, ptr %1376, align 4, !tbaa !5
  %1378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1379 = call i32 @s2n_print_stacktrace(ptr noundef %1378) #14
  %1380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1381 = trunc nuw i8 %1380 to i1
  br i1 %1381, label %1382, label %1386

1382:                                             ; preds = %1375
  %1383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1384 = call i32 @fileno(ptr noundef %1383) #14
  %1385 = call i32 @isatty(i32 noundef %1384) #14
  %.not783 = icmp eq i32 %1385, 0
  br i1 %.not783, label %1386, label %1387

1386:                                             ; preds = %1382, %1375
  br label %1387

1387:                                             ; preds = %1382, %1386
  %.str.5.sink1344 = phi ptr [ @.str.5, %1386 ], [ @.str.2, %1382 ]
  store i32 %1377, ptr %1376, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = load i32, ptr @test_count, align 4, !tbaa !5
  %1390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1391 = load i32, ptr %1390, align 4, !tbaa !5
  %1392 = call ptr @s2n_strerror(i32 noundef %1391, ptr noundef nonnull @.str.4) #14
  %1393 = load i32, ptr %1390, align 4, !tbaa !5
  %1394 = call ptr @s2n_strerror_debug(i32 noundef %1393, ptr noundef nonnull @.str.4) #14
  %1395 = load i32, ptr %1376, align 4, !tbaa !5
  %1396 = call ptr @strerror(i32 noundef %1395) #14
  %1397 = load i32, ptr %1376, align 4, !tbaa !5
  %1398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1388, ptr noundef nonnull %.str.5.sink1344, i32 noundef %1389, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %1392, ptr noundef %1394, ptr noundef %1396, i32 noundef %1397) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1399:                                             ; preds = %1370
  %1400 = add nsw i32 %1372, 2
  store i32 %1400, ptr @test_count, align 4, !tbaa !5
  %1401 = load i32, ptr %17, align 4, !tbaa !5
  %1402 = icmp eq i32 %1401, 0
  br i1 %1402, label %1427, label %1403

1403:                                             ; preds = %1535, %1513, %1491, %1469, %1399
  %1404 = tail call ptr @__errno_location() #15
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1407 = call i32 @s2n_print_stacktrace(ptr noundef %1406) #14
  %1408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1409 = trunc nuw i8 %1408 to i1
  br i1 %1409, label %1410, label %1414

1410:                                             ; preds = %1403
  %1411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1412 = call i32 @fileno(ptr noundef %1411) #14
  %1413 = call i32 @isatty(i32 noundef %1412) #14
  %.not784 = icmp eq i32 %1413, 0
  br i1 %.not784, label %1414, label %1415

1414:                                             ; preds = %1410, %1403
  br label %1415

1415:                                             ; preds = %1410, %1414
  %.str.5.sink1355 = phi ptr [ @.str.5, %1414 ], [ @.str.2, %1410 ]
  store i32 %1405, ptr %1404, align 4, !tbaa !5
  %1416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1417 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1419, ptr noundef nonnull @.str.4) #14
  %1421 = load i32, ptr %1418, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef nonnull @.str.4) #14
  %1423 = load i32, ptr %1404, align 4, !tbaa !5
  %1424 = call ptr @strerror(i32 noundef %1423) #14
  %1425 = load i32, ptr %1404, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1416, ptr noundef nonnull %.str.5.sink1355, i32 noundef %1417, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %1420, ptr noundef %1422, ptr noundef %1424, i32 noundef %1425) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1427:                                             ; preds = %1399
  %1428 = add nsw i32 %1372, 3
  store i32 %1428, ptr @test_count, align 4, !tbaa !5
  %bcmp785 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %19, i64 100)
  %1429 = icmp eq i32 %bcmp785, 0
  br i1 %1429, label %.preheader832.1, label %1430

1430:                                             ; preds = %1539, %1517, %1495, %1473, %1427
  %1431 = tail call ptr @__errno_location() #15
  %1432 = load i32, ptr %1431, align 4, !tbaa !5
  %1433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1434 = call i32 @s2n_print_stacktrace(ptr noundef %1433) #14
  %1435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1436 = trunc nuw i8 %1435 to i1
  br i1 %1436, label %1437, label %1441

1437:                                             ; preds = %1430
  %1438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1439 = call i32 @fileno(ptr noundef %1438) #14
  %1440 = call i32 @isatty(i32 noundef %1439) #14
  %.not786 = icmp eq i32 %1440, 0
  br i1 %.not786, label %1441, label %1442

1441:                                             ; preds = %1437, %1430
  br label %1442

1442:                                             ; preds = %1437, %1441
  %.str.5.sink1366 = phi ptr [ @.str.5, %1441 ], [ @.str.2, %1437 ]
  store i32 %1432, ptr %1431, align 4, !tbaa !5
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1444 = load i32, ptr @test_count, align 4, !tbaa !5
  %1445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror(i32 noundef %1446, ptr noundef nonnull @.str.4) #14
  %1448 = load i32, ptr %1445, align 4, !tbaa !5
  %1449 = call ptr @s2n_strerror_debug(i32 noundef %1448, ptr noundef nonnull @.str.4) #14
  %1450 = load i32, ptr %1431, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #14
  %1452 = load i32, ptr %1431, align 4, !tbaa !5
  %1453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1443, ptr noundef nonnull %.str.5.sink1366, i32 noundef %1444, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %1447, ptr noundef %1449, ptr noundef %1451, i32 noundef %1452) #16
  call void @exit(i32 noundef 1) #17
  unreachable

.preheader832.1:                                  ; preds = %1427
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %19) #14
  %1454 = load ptr, ptr %6, align 8, !tbaa !17
  %1455 = load i64, ptr %871, align 8, !tbaa !19
  %1456 = call i64 @s2n_sendv(ptr noundef %1053, ptr noundef %1454, i64 noundef %1455, ptr noundef nonnull %17) #14
  %1457 = load i32, ptr @test_count, align 4, !tbaa !5
  %1458 = add nsw i32 %1457, 1
  store i32 %1458, ptr @test_count, align 4, !tbaa !5
  %sext779.mask.1 = and i64 %1456, 4294967295
  %1459 = icmp eq i64 %sext779.mask.1, 100
  br i1 %1459, label %1460, label %1318

1460:                                             ; preds = %.preheader832.1
  %1461 = add nsw i32 %1457, 2
  store i32 %1461, ptr @test_count, align 4, !tbaa !5
  %1462 = load i32, ptr %17, align 4, !tbaa !5
  %1463 = icmp eq i32 %1462, 0
  br i1 %1463, label %1464, label %1346

1464:                                             ; preds = %1460
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %19) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %19, i8 0, i64 100, i1 false)
  %1465 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %19, i64 noundef 100, ptr noundef nonnull %17) #14
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = add nsw i32 %1466, 1
  store i32 %1467, ptr @test_count, align 4, !tbaa !5
  %sext782.mask.1 = and i64 %1465, 4294967295
  %1468 = icmp eq i64 %sext782.mask.1, 100
  br i1 %1468, label %1469, label %1375

1469:                                             ; preds = %1464
  %1470 = add nsw i32 %1466, 2
  store i32 %1470, ptr @test_count, align 4, !tbaa !5
  %1471 = load i32, ptr %17, align 4, !tbaa !5
  %1472 = icmp eq i32 %1471, 0
  br i1 %1472, label %1473, label %1403

1473:                                             ; preds = %1469
  %1474 = add nsw i32 %1466, 3
  store i32 %1474, ptr @test_count, align 4, !tbaa !5
  %bcmp785.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %19, i64 100)
  %1475 = icmp eq i32 %bcmp785.1, 0
  br i1 %1475, label %.preheader832.2, label %1430

.preheader832.2:                                  ; preds = %1473
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %19) #14
  %1476 = load ptr, ptr %6, align 8, !tbaa !17
  %1477 = load i64, ptr %871, align 8, !tbaa !19
  %1478 = call i64 @s2n_sendv(ptr noundef %1053, ptr noundef %1476, i64 noundef %1477, ptr noundef nonnull %17) #14
  %1479 = load i32, ptr @test_count, align 4, !tbaa !5
  %1480 = add nsw i32 %1479, 1
  store i32 %1480, ptr @test_count, align 4, !tbaa !5
  %sext779.mask.2 = and i64 %1478, 4294967295
  %1481 = icmp eq i64 %sext779.mask.2, 100
  br i1 %1481, label %1482, label %1318

1482:                                             ; preds = %.preheader832.2
  %1483 = add nsw i32 %1479, 2
  store i32 %1483, ptr @test_count, align 4, !tbaa !5
  %1484 = load i32, ptr %17, align 4, !tbaa !5
  %1485 = icmp eq i32 %1484, 0
  br i1 %1485, label %1486, label %1346

1486:                                             ; preds = %1482
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %19) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %19, i8 0, i64 100, i1 false)
  %1487 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %19, i64 noundef 100, ptr noundef nonnull %17) #14
  %1488 = load i32, ptr @test_count, align 4, !tbaa !5
  %1489 = add nsw i32 %1488, 1
  store i32 %1489, ptr @test_count, align 4, !tbaa !5
  %sext782.mask.2 = and i64 %1487, 4294967295
  %1490 = icmp eq i64 %sext782.mask.2, 100
  br i1 %1490, label %1491, label %1375

1491:                                             ; preds = %1486
  %1492 = add nsw i32 %1488, 2
  store i32 %1492, ptr @test_count, align 4, !tbaa !5
  %1493 = load i32, ptr %17, align 4, !tbaa !5
  %1494 = icmp eq i32 %1493, 0
  br i1 %1494, label %1495, label %1403

1495:                                             ; preds = %1491
  %1496 = add nsw i32 %1488, 3
  store i32 %1496, ptr @test_count, align 4, !tbaa !5
  %bcmp785.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %19, i64 100)
  %1497 = icmp eq i32 %bcmp785.2, 0
  br i1 %1497, label %.preheader832.3, label %1430

.preheader832.3:                                  ; preds = %1495
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %19) #14
  %1498 = load ptr, ptr %6, align 8, !tbaa !17
  %1499 = load i64, ptr %871, align 8, !tbaa !19
  %1500 = call i64 @s2n_sendv(ptr noundef %1053, ptr noundef %1498, i64 noundef %1499, ptr noundef nonnull %17) #14
  %1501 = load i32, ptr @test_count, align 4, !tbaa !5
  %1502 = add nsw i32 %1501, 1
  store i32 %1502, ptr @test_count, align 4, !tbaa !5
  %sext779.mask.3 = and i64 %1500, 4294967295
  %1503 = icmp eq i64 %sext779.mask.3, 100
  br i1 %1503, label %1504, label %1318

1504:                                             ; preds = %.preheader832.3
  %1505 = add nsw i32 %1501, 2
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = load i32, ptr %17, align 4, !tbaa !5
  %1507 = icmp eq i32 %1506, 0
  br i1 %1507, label %1508, label %1346

1508:                                             ; preds = %1504
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %19) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %19, i8 0, i64 100, i1 false)
  %1509 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %19, i64 noundef 100, ptr noundef nonnull %17) #14
  %1510 = load i32, ptr @test_count, align 4, !tbaa !5
  %1511 = add nsw i32 %1510, 1
  store i32 %1511, ptr @test_count, align 4, !tbaa !5
  %sext782.mask.3 = and i64 %1509, 4294967295
  %1512 = icmp eq i64 %sext782.mask.3, 100
  br i1 %1512, label %1513, label %1375

1513:                                             ; preds = %1508
  %1514 = add nsw i32 %1510, 2
  store i32 %1514, ptr @test_count, align 4, !tbaa !5
  %1515 = load i32, ptr %17, align 4, !tbaa !5
  %1516 = icmp eq i32 %1515, 0
  br i1 %1516, label %1517, label %1403

1517:                                             ; preds = %1513
  %1518 = add nsw i32 %1510, 3
  store i32 %1518, ptr @test_count, align 4, !tbaa !5
  %bcmp785.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %19, i64 100)
  %1519 = icmp eq i32 %bcmp785.3, 0
  br i1 %1519, label %.preheader832.4, label %1430

.preheader832.4:                                  ; preds = %1517
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %19) #14
  %1520 = load ptr, ptr %6, align 8, !tbaa !17
  %1521 = load i64, ptr %871, align 8, !tbaa !19
  %1522 = call i64 @s2n_sendv(ptr noundef %1053, ptr noundef %1520, i64 noundef %1521, ptr noundef nonnull %17) #14
  %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
  %sext779.mask.4 = and i64 %1522, 4294967295
  %1525 = icmp eq i64 %sext779.mask.4, 100
  br i1 %1525, label %1526, label %1318

1526:                                             ; preds = %.preheader832.4
  %1527 = add nsw i32 %1523, 2
  store i32 %1527, ptr @test_count, align 4, !tbaa !5
  %1528 = load i32, ptr %17, align 4, !tbaa !5
  %1529 = icmp eq i32 %1528, 0
  br i1 %1529, label %1530, label %1346

1530:                                             ; preds = %1526
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %19) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %19, i8 0, i64 100, i1 false)
  %1531 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %19, i64 noundef 100, ptr noundef nonnull %17) #14
  %1532 = load i32, ptr @test_count, align 4, !tbaa !5
  %1533 = add nsw i32 %1532, 1
  store i32 %1533, ptr @test_count, align 4, !tbaa !5
  %sext782.mask.4 = and i64 %1531, 4294967295
  %1534 = icmp eq i64 %sext782.mask.4, 100
  br i1 %1534, label %1535, label %1375

1535:                                             ; preds = %1530
  %1536 = add nsw i32 %1532, 2
  store i32 %1536, ptr @test_count, align 4, !tbaa !5
  %1537 = load i32, ptr %17, align 4, !tbaa !5
  %1538 = icmp eq i32 %1537, 0
  br i1 %1538, label %1539, label %1403

1539:                                             ; preds = %1535
  %1540 = add nsw i32 %1532, 3
  store i32 %1540, ptr @test_count, align 4, !tbaa !5
  %bcmp785.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %19, i64 100)
  %1541 = icmp eq i32 %bcmp785.4, 0
  br i1 %1541, label %.preheader831.preheader, label %1430

.preheader831.preheader:                          ; preds = %1539
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %19) #14
  br label %.preheader831

1542:                                             ; preds = %1698
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %21) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %21, i8 0, i64 100, i1 false)
  %1543 = load ptr, ptr %1, align 8, !tbaa !9
  %1544 = call i32 (ptr, i32, ...) @open(ptr noundef %1543, i32 noundef 0) #14
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = add nsw i32 %1545, 1
  store i32 %1546, ptr @test_count, align 4, !tbaa !5
  %1547 = icmp sgt i32 %1544, 0
  br i1 %1547, label %1724, label %1700

.preheader831:                                    ; preds = %.preheader831.preheader, %1698
  %.0574854 = phi i64 [ %1699, %1698 ], [ 0, %.preheader831.preheader ]
  %1548 = getelementptr inbounds [6 x i64], ptr %8, i64 0, i64 %.0574854
  %1549 = load i64, ptr %1548, align 8, !tbaa !15
  %1550 = sub i64 100, %1549
  %1551 = load ptr, ptr %6, align 8, !tbaa !17
  %1552 = load i64, ptr %871, align 8, !tbaa !19
  %1553 = call i64 @s2n_sendv_with_offset(ptr noundef %1053, ptr noundef %1551, i64 noundef %1552, i64 noundef %1549, ptr noundef nonnull %17) #14
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = add nsw i32 %1554, 1
  store i32 %1555, ptr @test_count, align 4, !tbaa !5
  %sext770 = shl i64 %1553, 32
  %1556 = ashr exact i64 %sext770, 32
  %1557 = icmp eq i64 %1556, %1550
  br i1 %1557, label %1582, label %1558

1558:                                             ; preds = %.preheader831
  %1559 = tail call ptr @__errno_location() #15
  %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) #14
  %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) #14
  %1568 = call i32 @isatty(i32 noundef %1567) #14
  %.not771 = icmp eq i32 %1568, 0
  br i1 %.not771, label %1569, label %1570

1569:                                             ; preds = %1565, %1558
  br label %1570

1570:                                             ; preds = %1565, %1569
  %.str.5.sink1377 = phi ptr [ @.str.5, %1569 ], [ @.str.2, %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1574 = load i32, ptr %1573, align 4, !tbaa !5
  %1575 = call ptr @s2n_strerror(i32 noundef %1574, ptr noundef nonnull @.str.4) #14
  %1576 = load i32, ptr %1573, align 4, !tbaa !5
  %1577 = call ptr @s2n_strerror_debug(i32 noundef %1576, ptr noundef nonnull @.str.4) #14
  %1578 = load i32, ptr %1559, align 4, !tbaa !5
  %1579 = call ptr @strerror(i32 noundef %1578) #14
  %1580 = load i32, ptr %1559, align 4, !tbaa !5
  %1581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1571, ptr noundef nonnull %.str.5.sink1377, i32 noundef %1572, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %1575, ptr noundef %1577, ptr noundef %1579, i32 noundef %1580) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1582:                                             ; preds = %.preheader831
  %1583 = add nsw i32 %1554, 2
  store i32 %1583, ptr @test_count, align 4, !tbaa !5
  %1584 = load i32, ptr %17, align 4, !tbaa !5
  %1585 = icmp eq i32 %1584, 0
  br i1 %1585, label %1610, label %1586

1586:                                             ; preds = %1582
  %1587 = tail call ptr @__errno_location() #15
  %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) #14
  %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) #14
  %1596 = call i32 @isatty(i32 noundef %1595) #14
  %.not772 = icmp eq i32 %1596, 0
  br i1 %.not772, label %1597, label %1598

1597:                                             ; preds = %1593, %1586
  br label %1598

1598:                                             ; preds = %1593, %1597
  %.str.5.sink1388 = phi ptr [ @.str.5, %1597 ], [ @.str.2, %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call ptr @s2n_strerror(i32 noundef %1602, ptr noundef nonnull @.str.4) #14
  %1604 = load i32, ptr %1601, align 4, !tbaa !5
  %1605 = call ptr @s2n_strerror_debug(i32 noundef %1604, ptr noundef nonnull @.str.4) #14
  %1606 = load i32, ptr %1587, align 4, !tbaa !5
  %1607 = call ptr @strerror(i32 noundef %1606) #14
  %1608 = load i32, ptr %1587, align 4, !tbaa !5
  %1609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1599, ptr noundef nonnull %.str.5.sink1388, i32 noundef %1600, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %1603, ptr noundef %1605, ptr noundef %1607, i32 noundef %1608) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1610:                                             ; preds = %1582
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %20) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %20, i8 0, i64 100, i1 false)
  %1611 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %20, i64 noundef %1550, ptr noundef nonnull %17) #14
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = add nsw i32 %1612, 1
  store i32 %1613, ptr @test_count, align 4, !tbaa !5
  %sext773 = shl i64 %1611, 32
  %1614 = ashr exact i64 %sext773, 32
  %1615 = icmp eq i64 %1614, %1550
  br i1 %1615, label %1640, label %1616

1616:                                             ; preds = %1610
  %1617 = tail call ptr @__errno_location() #15
  %1618 = load i32, ptr %1617, align 4, !tbaa !5
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = call i32 @s2n_print_stacktrace(ptr noundef %1619) #14
  %1621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1622 = trunc nuw i8 %1621 to i1
  br i1 %1622, label %1623, label %1627

1623:                                             ; preds = %1616
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = call i32 @fileno(ptr noundef %1624) #14
  %1626 = call i32 @isatty(i32 noundef %1625) #14
  %.not774 = icmp eq i32 %1626, 0
  br i1 %.not774, label %1627, label %1628

1627:                                             ; preds = %1623, %1616
  br label %1628

1628:                                             ; preds = %1623, %1627
  %.str.5.sink1399 = phi ptr [ @.str.5, %1627 ], [ @.str.2, %1623 ]
  store i32 %1618, ptr %1617, align 4, !tbaa !5
  %1629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1630 = load i32, ptr @test_count, align 4, !tbaa !5
  %1631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call ptr @s2n_strerror(i32 noundef %1632, ptr noundef nonnull @.str.4) #14
  %1634 = load i32, ptr %1631, align 4, !tbaa !5
  %1635 = call ptr @s2n_strerror_debug(i32 noundef %1634, ptr noundef nonnull @.str.4) #14
  %1636 = load i32, ptr %1617, align 4, !tbaa !5
  %1637 = call ptr @strerror(i32 noundef %1636) #14
  %1638 = load i32, ptr %1617, align 4, !tbaa !5
  %1639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1629, ptr noundef nonnull %.str.5.sink1399, i32 noundef %1630, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %1633, ptr noundef %1635, ptr noundef %1637, i32 noundef %1638) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1640:                                             ; preds = %1610
  %1641 = add nsw i32 %1612, 2
  store i32 %1641, ptr @test_count, align 4, !tbaa !5
  %1642 = load i32, ptr %17, align 4, !tbaa !5
  %1643 = icmp eq i32 %1642, 0
  br i1 %1643, label %1668, label %1644

1644:                                             ; preds = %1640
  %1645 = tail call ptr @__errno_location() #15
  %1646 = load i32, ptr %1645, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = call i32 @s2n_print_stacktrace(ptr noundef %1647) #14
  %1649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1650 = trunc nuw i8 %1649 to i1
  br i1 %1650, label %1651, label %1655

1651:                                             ; preds = %1644
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = call i32 @fileno(ptr noundef %1652) #14
  %1654 = call i32 @isatty(i32 noundef %1653) #14
  %.not775 = icmp eq i32 %1654, 0
  br i1 %.not775, label %1655, label %1656

1655:                                             ; preds = %1651, %1644
  br label %1656

1656:                                             ; preds = %1651, %1655
  %.str.5.sink1410 = phi ptr [ @.str.5, %1655 ], [ @.str.2, %1651 ]
  store i32 %1646, ptr %1645, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = load i32, ptr @test_count, align 4, !tbaa !5
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef nonnull @.str.4) #14
  %1662 = load i32, ptr %1659, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror_debug(i32 noundef %1662, ptr noundef nonnull @.str.4) #14
  %1664 = load i32, ptr %1645, align 4, !tbaa !5
  %1665 = call ptr @strerror(i32 noundef %1664) #14
  %1666 = load i32, ptr %1645, align 4, !tbaa !5
  %1667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1657, ptr noundef nonnull %.str.5.sink1410, i32 noundef %1658, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %1661, ptr noundef %1663, ptr noundef %1665, i32 noundef %1666) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1668:                                             ; preds = %1640
  %1669 = and i64 %1611, 4294967295
  %.not776 = icmp eq i64 %1669, 0
  br i1 %.not776, label %1698, label %1670

1670:                                             ; preds = %1668
  %1671 = add nsw i32 %1612, 3
  store i32 %1671, ptr @test_count, align 4, !tbaa !5
  %1672 = getelementptr inbounds i8, ptr %4, i64 %1549
  %bcmp777 = call i32 @bcmp(ptr nonnull %1672, ptr nonnull %20, i64 %1550)
  %1673 = icmp eq i32 %bcmp777, 0
  br i1 %1673, label %1698, label %1674

1674:                                             ; preds = %1670
  %1675 = tail call ptr @__errno_location() #15
  %1676 = load i32, ptr %1675, align 4, !tbaa !5
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = call i32 @s2n_print_stacktrace(ptr noundef %1677) #14
  %1679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1680 = trunc nuw i8 %1679 to i1
  br i1 %1680, label %1681, label %1685

1681:                                             ; preds = %1674
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = call i32 @fileno(ptr noundef %1682) #14
  %1684 = call i32 @isatty(i32 noundef %1683) #14
  %.not778 = icmp eq i32 %1684, 0
  br i1 %.not778, label %1685, label %1686

1685:                                             ; preds = %1681, %1674
  br label %1686

1686:                                             ; preds = %1681, %1685
  %.str.5.sink1421 = phi ptr [ @.str.5, %1685 ], [ @.str.2, %1681 ]
  store i32 %1676, ptr %1675, align 4, !tbaa !5
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = load i32, ptr @test_count, align 4, !tbaa !5
  %1689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1690 = load i32, ptr %1689, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror(i32 noundef %1690, ptr noundef nonnull @.str.4) #14
  %1692 = load i32, ptr %1689, align 4, !tbaa !5
  %1693 = call ptr @s2n_strerror_debug(i32 noundef %1692, ptr noundef nonnull @.str.4) #14
  %1694 = load i32, ptr %1675, align 4, !tbaa !5
  %1695 = call ptr @strerror(i32 noundef %1694) #14
  %1696 = load i32, ptr %1675, align 4, !tbaa !5
  %1697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1687, ptr noundef nonnull %.str.5.sink1421, i32 noundef %1688, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %1691, ptr noundef %1693, ptr noundef %1695, i32 noundef %1696) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1698:                                             ; preds = %1670, %1668
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %20) #14
  %1699 = add nuw nsw i64 %.0574854, 1
  %exitcond.not = icmp eq i64 %1699, 6
  br i1 %exitcond.not, label %1542, label %.preheader831, !llvm.loop !20

1700:                                             ; preds = %1542
  %1701 = tail call ptr @__errno_location() #15
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = call i32 @s2n_print_stacktrace(ptr noundef %1703) #14
  %1705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1706 = trunc nuw i8 %1705 to i1
  br i1 %1706, label %1707, label %1711

1707:                                             ; preds = %1700
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = call i32 @fileno(ptr noundef %1708) #14
  %1710 = call i32 @isatty(i32 noundef %1709) #14
  %.not753 = icmp eq i32 %1710, 0
  br i1 %.not753, label %1711, label %1712

1711:                                             ; preds = %1707, %1700
  br label %1712

1712:                                             ; preds = %1707, %1711
  %.str.5.sink1432 = phi ptr [ @.str.5, %1711 ], [ @.str.2, %1707 ]
  store i32 %1702, ptr %1701, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror(i32 noundef %1716, ptr noundef nonnull @.str.4) #14
  %1718 = load i32, ptr %1715, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror_debug(i32 noundef %1718, ptr noundef nonnull @.str.4) #14
  %1720 = load i32, ptr %1701, align 4, !tbaa !5
  %1721 = call ptr @strerror(i32 noundef %1720) #14
  %1722 = load i32, ptr %1701, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef nonnull %.str.5.sink1432, i32 noundef %1714, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %1717, ptr noundef %1719, ptr noundef %1721, i32 noundef %1722) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1724:                                             ; preds = %1542
  %1725 = call i64 @pread(i32 noundef %1544, ptr noundef nonnull %21, i64 noundef 100, i64 noundef 0) #14
  %1726 = load i32, ptr @test_count, align 4, !tbaa !5
  %1727 = add nsw i32 %1726, 1
  store i32 %1727, ptr @test_count, align 4, !tbaa !5
  %sext.mask754 = and i64 %1725, 4294967295
  %1728 = icmp eq i64 %sext.mask754, 100
  br i1 %1728, label %.preheader830, label %1729

1729:                                             ; preds = %1724
  %1730 = tail call ptr @__errno_location() #15
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1733 = call i32 @s2n_print_stacktrace(ptr noundef %1732) #14
  %1734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1735 = trunc nuw i8 %1734 to i1
  br i1 %1735, label %1736, label %1740

1736:                                             ; preds = %1729
  %1737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1738 = call i32 @fileno(ptr noundef %1737) #14
  %1739 = call i32 @isatty(i32 noundef %1738) #14
  %.not755 = icmp eq i32 %1739, 0
  br i1 %.not755, label %1740, label %1741

1740:                                             ; preds = %1736, %1729
  br label %1741

1741:                                             ; preds = %1736, %1740
  %.str.5.sink1443 = phi ptr [ @.str.5, %1740 ], [ @.str.2, %1736 ]
  store i32 %1731, ptr %1730, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = load i32, ptr @test_count, align 4, !tbaa !5
  %1744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror(i32 noundef %1745, ptr noundef nonnull @.str.4) #14
  %1747 = load i32, ptr %1744, align 4, !tbaa !5
  %1748 = call ptr @s2n_strerror_debug(i32 noundef %1747, ptr noundef nonnull @.str.4) #14
  %1749 = load i32, ptr %1730, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #14
  %1751 = load i32, ptr %1730, align 4, !tbaa !5
  %1752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1742, ptr noundef nonnull %.str.5.sink1443, i32 noundef %1743, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %1746, ptr noundef %1748, ptr noundef %1750, i32 noundef %1751) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1753:                                             ; preds = %1933
  %1754 = add nsw i32 %1934, 1
  store i32 %1754, ptr @test_count, align 4, !tbaa !5
  %1755 = call i32 @close(i32 noundef %1544) #14
  %1756 = icmp eq i32 %1755, -1
  br i1 %1756, label %1936, label %1960

.preheader830:                                    ; preds = %1724, %1933
  %1757 = phi i32 [ %1934, %1933 ], [ %1727, %1724 ]
  %.0575855 = phi i64 [ %1935, %1933 ], [ 0, %1724 ]
  %1758 = getelementptr inbounds [6 x i64], ptr %8, i64 0, i64 %.0575855
  %1759 = load i64, ptr %1758, align 8, !tbaa !15
  %1760 = sub i64 100, %1759
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #14
  store i64 0, ptr %22, align 8, !tbaa !15
  %1761 = add nsw i32 %1757, 1
  store i32 %1761, ptr @test_count, align 4, !tbaa !5
  %1762 = call i32 @s2n_sendfile(ptr noundef %1053, i32 noundef %1544, i64 noundef %1759, i64 noundef %1760, ptr noundef nonnull %22, ptr noundef nonnull %17) #14
  %1763 = icmp eq i32 %1762, -1
  br i1 %1763, label %1764, label %1788

1764:                                             ; preds = %.preheader830
  %1765 = tail call ptr @__errno_location() #15
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @s2n_print_stacktrace(ptr noundef %1767) #14
  %1769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1770 = trunc nuw i8 %1769 to i1
  br i1 %1770, label %1771, label %1775

1771:                                             ; preds = %1764
  %1772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1773 = call i32 @fileno(ptr noundef %1772) #14
  %1774 = call i32 @isatty(i32 noundef %1773) #14
  %.not769 = icmp eq i32 %1774, 0
  br i1 %.not769, label %1775, label %1776

1775:                                             ; preds = %1771, %1764
  br label %1776

1776:                                             ; preds = %1771, %1775
  %.str.5.sink1454 = phi ptr [ @.str.5, %1775 ], [ @.str.2, %1771 ]
  store i32 %1766, ptr %1765, align 4, !tbaa !5
  %1777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror(i32 noundef %1780, ptr noundef nonnull @.str.4) #14
  %1782 = load i32, ptr %1779, align 4, !tbaa !5
  %1783 = call ptr @s2n_strerror_debug(i32 noundef %1782, ptr noundef nonnull @.str.4) #14
  %1784 = load i32, ptr %1765, align 4, !tbaa !5
  %1785 = call ptr @strerror(i32 noundef %1784) #14
  %1786 = load i32, ptr %1765, align 4, !tbaa !5
  %1787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1777, ptr noundef nonnull %.str.5.sink1454, i32 noundef %1778, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 276, ptr noundef %1781, ptr noundef %1783, ptr noundef %1785, i32 noundef %1786) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1788:                                             ; preds = %.preheader830
  %1789 = load i32, ptr @test_count, align 4, !tbaa !5
  %1790 = add nsw i32 %1789, 1
  store i32 %1790, ptr @test_count, align 4, !tbaa !5
  %1791 = load i64, ptr %22, align 8, !tbaa !15
  %1792 = icmp eq i64 %1791, %1760
  br i1 %1792, label %1817, label %1793

1793:                                             ; preds = %1788
  %1794 = tail call ptr @__errno_location() #15
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = call i32 @s2n_print_stacktrace(ptr noundef %1796) #14
  %1798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1799 = trunc nuw i8 %1798 to i1
  br i1 %1799, label %1800, label %1804

1800:                                             ; preds = %1793
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = call i32 @fileno(ptr noundef %1801) #14
  %1803 = call i32 @isatty(i32 noundef %1802) #14
  %.not762 = icmp eq i32 %1803, 0
  br i1 %.not762, label %1804, label %1805

1804:                                             ; preds = %1800, %1793
  br label %1805

1805:                                             ; preds = %1800, %1804
  %.str.5.sink1465 = phi ptr [ @.str.5, %1804 ], [ @.str.2, %1800 ]
  store i32 %1795, ptr %1794, align 4, !tbaa !5
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = load i32, ptr @test_count, align 4, !tbaa !5
  %1808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1809 = load i32, ptr %1808, align 4, !tbaa !5
  %1810 = call ptr @s2n_strerror(i32 noundef %1809, ptr noundef nonnull @.str.4) #14
  %1811 = load i32, ptr %1808, align 4, !tbaa !5
  %1812 = call ptr @s2n_strerror_debug(i32 noundef %1811, ptr noundef nonnull @.str.4) #14
  %1813 = load i32, ptr %1794, align 4, !tbaa !5
  %1814 = call ptr @strerror(i32 noundef %1813) #14
  %1815 = load i32, ptr %1794, align 4, !tbaa !5
  %1816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1806, ptr noundef nonnull %.str.5.sink1465, i32 noundef %1807, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %1810, ptr noundef %1812, ptr noundef %1814, i32 noundef %1815) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1817:                                             ; preds = %1788
  %1818 = add nsw i32 %1789, 2
  store i32 %1818, ptr @test_count, align 4, !tbaa !5
  %1819 = load i32, ptr %17, align 4, !tbaa !5
  %1820 = icmp eq i32 %1819, 0
  br i1 %1820, label %1845, label %1821

1821:                                             ; preds = %1817
  %1822 = tail call ptr @__errno_location() #15
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @s2n_print_stacktrace(ptr noundef %1824) #14
  %1826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1827 = trunc nuw i8 %1826 to i1
  br i1 %1827, label %1828, label %1832

1828:                                             ; preds = %1821
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = call i32 @fileno(ptr noundef %1829) #14
  %1831 = call i32 @isatty(i32 noundef %1830) #14
  %.not763 = icmp eq i32 %1831, 0
  br i1 %.not763, label %1832, label %1833

1832:                                             ; preds = %1828, %1821
  br label %1833

1833:                                             ; preds = %1828, %1832
  %.str.5.sink1476 = phi ptr [ @.str.5, %1832 ], [ @.str.2, %1828 ]
  store i32 %1823, ptr %1822, align 4, !tbaa !5
  %1834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1835 = load i32, ptr @test_count, align 4, !tbaa !5
  %1836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1837 = load i32, ptr %1836, align 4, !tbaa !5
  %1838 = call ptr @s2n_strerror(i32 noundef %1837, ptr noundef nonnull @.str.4) #14
  %1839 = load i32, ptr %1836, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror_debug(i32 noundef %1839, ptr noundef nonnull @.str.4) #14
  %1841 = load i32, ptr %1822, align 4, !tbaa !5
  %1842 = call ptr @strerror(i32 noundef %1841) #14
  %1843 = load i32, ptr %1822, align 4, !tbaa !5
  %1844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1834, ptr noundef nonnull %.str.5.sink1476, i32 noundef %1835, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %1838, ptr noundef %1840, ptr noundef %1842, i32 noundef %1843) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1845:                                             ; preds = %1817
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %23) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %23, i8 0, i64 100, i1 false)
  %1846 = call i64 @s2n_recv(ptr noundef %1058, ptr noundef nonnull %23, i64 noundef %1760, ptr noundef nonnull %17) #14
  %1847 = load i32, ptr @test_count, align 4, !tbaa !5
  %1848 = add nsw i32 %1847, 1
  store i32 %1848, ptr @test_count, align 4, !tbaa !5
  %sext = shl i64 %1846, 32
  %1849 = ashr exact i64 %sext, 32
  %1850 = icmp eq i64 %1849, %1760
  br i1 %1850, label %1875, label %1851

1851:                                             ; preds = %1845
  %1852 = tail call ptr @__errno_location() #15
  %1853 = load i32, ptr %1852, align 4, !tbaa !5
  %1854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1855 = call i32 @s2n_print_stacktrace(ptr noundef %1854) #14
  %1856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1857 = trunc nuw i8 %1856 to i1
  br i1 %1857, label %1858, label %1862

1858:                                             ; preds = %1851
  %1859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1860 = call i32 @fileno(ptr noundef %1859) #14
  %1861 = call i32 @isatty(i32 noundef %1860) #14
  %.not764 = icmp eq i32 %1861, 0
  br i1 %.not764, label %1862, label %1863

1862:                                             ; preds = %1858, %1851
  br label %1863

1863:                                             ; preds = %1858, %1862
  %.str.5.sink1487 = phi ptr [ @.str.5, %1862 ], [ @.str.2, %1858 ]
  store i32 %1853, ptr %1852, 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 nonnull @.str.4) #14
  %1869 = load i32, ptr %1866, align 4, !tbaa !5
  %1870 = call ptr @s2n_strerror_debug(i32 noundef %1869, ptr noundef nonnull @.str.4) #14
  %1871 = load i32, ptr %1852, align 4, !tbaa !5
  %1872 = call ptr @strerror(i32 noundef %1871) #14
  %1873 = load i32, ptr %1852, align 4, !tbaa !5
  %1874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1864, ptr noundef nonnull %.str.5.sink1487, i32 noundef %1865, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %1868, ptr noundef %1870, ptr noundef %1872, i32 noundef %1873) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1875:                                             ; preds = %1845
  %1876 = add nsw i32 %1847, 2
  store i32 %1876, ptr @test_count, align 4, !tbaa !5
  %1877 = load i32, ptr %17, align 4, !tbaa !5
  %1878 = icmp eq i32 %1877, 0
  br i1 %1878, label %1903, label %1879

1879:                                             ; preds = %1875
  %1880 = tail call ptr @__errno_location() #15
  %1881 = load i32, ptr %1880, align 4, !tbaa !5
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @s2n_print_stacktrace(ptr noundef %1882) #14
  %1884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1885 = trunc nuw i8 %1884 to i1
  br i1 %1885, label %1886, label %1890

1886:                                             ; preds = %1879
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = call i32 @fileno(ptr noundef %1887) #14
  %1889 = call i32 @isatty(i32 noundef %1888) #14
  %.not765 = icmp eq i32 %1889, 0
  br i1 %.not765, label %1890, label %1891

1890:                                             ; preds = %1886, %1879
  br label %1891

1891:                                             ; preds = %1886, %1890
  %.str.5.sink1498 = phi ptr [ @.str.5, %1890 ], [ @.str.2, %1886 ]
  store i32 %1881, ptr %1880, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1895 = load i32, ptr %1894, align 4, !tbaa !5
  %1896 = call ptr @s2n_strerror(i32 noundef %1895, ptr noundef nonnull @.str.4) #14
  %1897 = load i32, ptr %1894, align 4, !tbaa !5
  %1898 = call ptr @s2n_strerror_debug(i32 noundef %1897, ptr noundef nonnull @.str.4) #14
  %1899 = load i32, ptr %1880, align 4, !tbaa !5
  %1900 = call ptr @strerror(i32 noundef %1899) #14
  %1901 = load i32, ptr %1880, align 4, !tbaa !5
  %1902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef nonnull %.str.5.sink1498, i32 noundef %1893, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %1896, ptr noundef %1898, ptr noundef %1900, i32 noundef %1901) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1903:                                             ; preds = %1875
  %1904 = and i64 %1846, 4294967295
  %.not766 = icmp eq i64 %1904, 0
  br i1 %.not766, label %1933, label %1905

1905:                                             ; preds = %1903
  %1906 = add nsw i32 %1847, 3
  store i32 %1906, ptr @test_count, align 4, !tbaa !5
  %1907 = getelementptr inbounds i8, ptr %21, i64 %1759
  %bcmp767 = call i32 @bcmp(ptr nonnull %1907, ptr nonnull %23, i64 %1760)
  %1908 = icmp eq i32 %bcmp767, 0
  br i1 %1908, label %1933, label %1909

1909:                                             ; preds = %1905
  %1910 = tail call ptr @__errno_location() #15
  %1911 = load i32, ptr %1910, align 4, !tbaa !5
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = call i32 @s2n_print_stacktrace(ptr noundef %1912) #14
  %1914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1915 = trunc nuw i8 %1914 to i1
  br i1 %1915, label %1916, label %1920

1916:                                             ; preds = %1909
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @fileno(ptr noundef %1917) #14
  %1919 = call i32 @isatty(i32 noundef %1918) #14
  %.not768 = icmp eq i32 %1919, 0
  br i1 %.not768, label %1920, label %1921

1920:                                             ; preds = %1916, %1909
  br label %1921

1921:                                             ; preds = %1916, %1920
  %.str.5.sink1509 = phi ptr [ @.str.5, %1920 ], [ @.str.2, %1916 ]
  store i32 %1911, ptr %1910, align 4, !tbaa !5
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = load i32, ptr @test_count, align 4, !tbaa !5
  %1924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror(i32 noundef %1925, ptr noundef nonnull @.str.4) #14
  %1927 = load i32, ptr %1924, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror_debug(i32 noundef %1927, ptr noundef nonnull @.str.4) #14
  %1929 = load i32, ptr %1910, align 4, !tbaa !5
  %1930 = call ptr @strerror(i32 noundef %1929) #14
  %1931 = load i32, ptr %1910, align 4, !tbaa !5
  %1932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1922, ptr noundef nonnull %.str.5.sink1509, i32 noundef %1923, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %1926, ptr noundef %1928, ptr noundef %1930, i32 noundef %1931) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1933:                                             ; preds = %1905, %1903
  %1934 = phi i32 [ %1906, %1905 ], [ %1876, %1903 ]
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %23) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #14
  %1935 = add nuw nsw i64 %.0575855, 1
  %exitcond883.not = icmp eq i64 %1935, 6
  br i1 %exitcond883.not, label %1753, label %.preheader830, !llvm.loop !22

1936:                                             ; preds = %1753
  %1937 = tail call ptr @__errno_location() #15
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  %1939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1940 = call i32 @s2n_print_stacktrace(ptr noundef %1939) #14
  %1941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1942 = trunc nuw i8 %1941 to i1
  br i1 %1942, label %1943, label %1947

1943:                                             ; preds = %1936
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @fileno(ptr noundef %1944) #14
  %1946 = call i32 @isatty(i32 noundef %1945) #14
  %.not761 = icmp eq i32 %1946, 0
  br i1 %.not761, label %1947, label %1948

1947:                                             ; preds = %1943, %1936
  br label %1948

1948:                                             ; preds = %1943, %1947
  %.str.5.sink1520 = phi ptr [ @.str.5, %1947 ], [ @.str.2, %1943 ]
  store i32 %1938, ptr %1937, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1952, ptr noundef nonnull @.str.4) #14
  %1954 = load i32, ptr %1951, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror_debug(i32 noundef %1954, ptr noundef nonnull @.str.4) #14
  %1956 = load i32, ptr %1937, align 4, !tbaa !5
  %1957 = call ptr @strerror(i32 noundef %1956) #14
  %1958 = load i32, ptr %1937, align 4, !tbaa !5
  %1959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1949, ptr noundef nonnull %.str.5.sink1520, i32 noundef %1950, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %1953, ptr noundef %1955, ptr noundef %1957, i32 noundef %1958) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1960:                                             ; preds = %1753
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %21) #14
  %1961 = load i32, ptr @test_count, align 4, !tbaa !5
  %1962 = add nsw i32 %1961, 1
  store i32 %1962, ptr @test_count, align 4, !tbaa !5
  %1963 = call i32 @s2n_shutdown_send(ptr noundef %1053, ptr noundef nonnull %17) #14
  %1964 = icmp eq i32 %1963, -1
  br i1 %1964, label %1965, label %1989

1965:                                             ; preds = %1960
  %1966 = tail call ptr @__errno_location() #15
  %1967 = load i32, ptr %1966, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @s2n_print_stacktrace(ptr noundef %1968) #14
  %1970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1971 = trunc nuw i8 %1970 to i1
  br i1 %1971, label %1972, label %1976

1972:                                             ; preds = %1965
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @fileno(ptr noundef %1973) #14
  %1975 = call i32 @isatty(i32 noundef %1974) #14
  %.not760 = icmp eq i32 %1975, 0
  br i1 %.not760, label %1976, label %1977

1976:                                             ; preds = %1972, %1965
  br label %1977

1977:                                             ; preds = %1972, %1976
  %.str.5.sink1531 = phi ptr [ @.str.5, %1976 ], [ @.str.2, %1972 ]
  store i32 %1967, ptr %1966, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = load i32, ptr @test_count, align 4, !tbaa !5
  %1980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1981 = load i32, ptr %1980, align 4, !tbaa !5
  %1982 = call ptr @s2n_strerror(i32 noundef %1981, ptr noundef nonnull @.str.4) #14
  %1983 = load i32, ptr %1980, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror_debug(i32 noundef %1983, ptr noundef nonnull @.str.4) #14
  %1985 = load i32, ptr %1966, align 4, !tbaa !5
  %1986 = call ptr @strerror(i32 noundef %1985) #14
  %1987 = load i32, ptr %1966, align 4, !tbaa !5
  %1988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1978, ptr noundef nonnull %.str.5.sink1531, i32 noundef %1979, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %1982, ptr noundef %1984, ptr noundef %1986, i32 noundef %1987) #16
  call void @exit(i32 noundef 1) #17
  unreachable

1989:                                             ; preds = %1960
  %1990 = load i32, ptr @test_count, align 4, !tbaa !5
  %1991 = add nsw i32 %1990, 1
  store i32 %1991, ptr @test_count, align 4, !tbaa !5
  %1992 = load i32, ptr %17, align 4, !tbaa !5
  %1993 = icmp eq i32 %1992, 0
  br i1 %1993, label %2018, label %1994

1994:                                             ; preds = %1989
  %1995 = tail call ptr @__errno_location() #15
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @s2n_print_stacktrace(ptr noundef %1997) #14
  %1999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2000 = trunc nuw i8 %1999 to i1
  br i1 %2000, label %2001, label %2005

2001:                                             ; preds = %1994
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = call i32 @fileno(ptr noundef %2002) #14
  %2004 = call i32 @isatty(i32 noundef %2003) #14
  %.not756 = icmp eq i32 %2004, 0
  br i1 %.not756, label %2005, label %2006

2005:                                             ; preds = %2001, %1994
  br label %2006

2006:                                             ; preds = %2001, %2005
  %.str.5.sink1542 = phi ptr [ @.str.5, %2005 ], [ @.str.2, %2001 ]
  store i32 %1996, ptr %1995, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = load i32, ptr @test_count, align 4, !tbaa !5
  %2009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror(i32 noundef %2010, ptr noundef nonnull @.str.4) #14
  %2012 = load i32, ptr %2009, align 4, !tbaa !5
  %2013 = call ptr @s2n_strerror_debug(i32 noundef %2012, ptr noundef nonnull @.str.4) #14
  %2014 = load i32, ptr %1995, align 4, !tbaa !5
  %2015 = call ptr @strerror(i32 noundef %2014) #14
  %2016 = load i32, ptr %1995, align 4, !tbaa !5
  %2017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2007, ptr noundef nonnull %.str.5.sink1542, i32 noundef %2008, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %2011, ptr noundef %2013, ptr noundef %2015, i32 noundef %2016) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2018:                                             ; preds = %1989
  %2019 = add nsw i32 %1990, 2
  store i32 %2019, ptr @test_count, align 4, !tbaa !5
  %2020 = call i32 @s2n_shutdown(ptr noundef %1058, ptr noundef nonnull %17) #14
  %2021 = icmp eq i32 %2020, -1
  br i1 %2021, label %2022, label %2046

2022:                                             ; preds = %2018
  %2023 = tail call ptr @__errno_location() #15
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = call i32 @s2n_print_stacktrace(ptr noundef %2025) #14
  %2027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2028 = trunc nuw i8 %2027 to i1
  br i1 %2028, label %2029, label %2033

2029:                                             ; preds = %2022
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = call i32 @fileno(ptr noundef %2030) #14
  %2032 = call i32 @isatty(i32 noundef %2031) #14
  %.not759 = icmp eq i32 %2032, 0
  br i1 %.not759, label %2033, label %2034

2033:                                             ; preds = %2029, %2022
  br label %2034

2034:                                             ; preds = %2029, %2033
  %.str.5.sink1553 = phi ptr [ @.str.5, %2033 ], [ @.str.2, %2029 ]
  store i32 %2024, ptr %2023, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror(i32 noundef %2038, ptr noundef nonnull @.str.4) #14
  %2040 = load i32, ptr %2037, align 4, !tbaa !5
  %2041 = call ptr @s2n_strerror_debug(i32 noundef %2040, ptr noundef nonnull @.str.4) #14
  %2042 = load i32, ptr %2023, align 4, !tbaa !5
  %2043 = call ptr @strerror(i32 noundef %2042) #14
  %2044 = load i32, ptr %2023, align 4, !tbaa !5
  %2045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2035, ptr noundef nonnull %.str.5.sink1553, i32 noundef %2036, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %2039, ptr noundef %2041, ptr noundef %2043, i32 noundef %2044) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2046:                                             ; preds = %2018
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = add nsw i32 %2047, 1
  store i32 %2048, ptr @test_count, align 4, !tbaa !5
  %2049 = load i32, ptr %17, align 4, !tbaa !5
  %2050 = icmp eq i32 %2049, 0
  br i1 %2050, label %2075, label %2051

2051:                                             ; preds = %2046
  %2052 = tail call ptr @__errno_location() #15
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2055 = call i32 @s2n_print_stacktrace(ptr noundef %2054) #14
  %2056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2057 = trunc nuw i8 %2056 to i1
  br i1 %2057, label %2058, label %2062

2058:                                             ; preds = %2051
  %2059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2060 = call i32 @fileno(ptr noundef %2059) #14
  %2061 = call i32 @isatty(i32 noundef %2060) #14
  %.not757 = icmp eq i32 %2061, 0
  br i1 %.not757, label %2062, label %2063

2062:                                             ; preds = %2058, %2051
  br label %2063

2063:                                             ; preds = %2058, %2062
  %.str.5.sink1564 = phi ptr [ @.str.5, %2062 ], [ @.str.2, %2058 ]
  store i32 %2053, ptr %2052, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = load i32, ptr @test_count, align 4, !tbaa !5
  %2066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2067 = load i32, ptr %2066, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror(i32 noundef %2067, ptr noundef nonnull @.str.4) #14
  %2069 = load i32, ptr %2066, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror_debug(i32 noundef %2069, ptr noundef nonnull @.str.4) #14
  %2071 = load i32, ptr %2052, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #14
  %2073 = load i32, ptr %2052, align 4, !tbaa !5
  %2074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2064, ptr noundef nonnull %.str.5.sink1564, i32 noundef %2065, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %2068, ptr noundef %2070, ptr noundef %2072, i32 noundef %2073) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2075:                                             ; preds = %2046
  %2076 = add nsw i32 %2047, 2
  store i32 %2076, ptr @test_count, align 4, !tbaa !5
  %2077 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %1058, i32 noundef 3) #14
  br i1 %2077, label %2102, label %2078

2078:                                             ; preds = %2075
  %2079 = tail call ptr @__errno_location() #15
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2082 = call i32 @s2n_print_stacktrace(ptr noundef %2081) #14
  %2083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2084 = trunc nuw i8 %2083 to i1
  br i1 %2084, label %2085, label %2089

2085:                                             ; preds = %2078
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = call i32 @fileno(ptr noundef %2086) #14
  %2088 = call i32 @isatty(i32 noundef %2087) #14
  %.not758 = icmp eq i32 %2088, 0
  br i1 %.not758, label %2089, label %2090

2089:                                             ; preds = %2085, %2078
  br label %2090

2090:                                             ; preds = %2085, %2089
  %.str.5.sink1575 = phi ptr [ @.str.5, %2089 ], [ @.str.2, %2085 ]
  store i32 %2080, ptr %2079, align 4, !tbaa !5
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = load i32, ptr @test_count, align 4, !tbaa !5
  %2093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call ptr @s2n_strerror(i32 noundef %2094, ptr noundef nonnull @.str.4) #14
  %2096 = load i32, ptr %2093, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror_debug(i32 noundef %2096, ptr noundef nonnull @.str.4) #14
  %2098 = load i32, ptr %2079, align 4, !tbaa !5
  %2099 = call ptr @strerror(i32 noundef %2098) #14
  %2100 = load i32, ptr %2079, align 4, !tbaa !5
  %2101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2091, ptr noundef nonnull %.str.5.sink1575, i32 noundef %2092, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %2095, ptr noundef %2097, ptr noundef %2099, i32 noundef %2100) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2102:                                             ; preds = %2075
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #14
  %2103 = call i32 @s2n_io_pair_close(ptr noundef nonnull %15) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #14
  %2104 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %14) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #14
  %2105 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %13) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #14
  br i1 %872, label %.preheader833.split, label %.split, !llvm.loop !23

.split:                                           ; preds = %2102, %.preheader833
  br i1 %.1570, label %.lr.ph, label %._crit_edge865

.lr.ph:                                           ; preds = %.split
  %2106 = getelementptr inbounds i8, ptr %27, i64 8
  %2107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  br label %2108

2108:                                             ; preds = %.lr.ph, %3171
  %2109 = phi i1 [ true, %.lr.ph ], [ false, %3171 ]
  %.0576859 = phi i64 [ 0, %.lr.ph ], [ 1, %3171 ]
  %2110 = getelementptr inbounds [2 x i32], ptr @__const.main.modes, i64 0, i64 %.0576859
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #14
  %2112 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %2112, ptr %24, align 8, !tbaa !9
  %2113 = load i32, ptr @test_count, align 4, !tbaa !5
  %2114 = add nsw i32 %2113, 1
  store i32 %2114, ptr @test_count, align 4, !tbaa !5
  %2115 = icmp eq ptr %2112, null
  br i1 %2115, label %2116, label %2139

2116:                                             ; preds = %2108
  %2117 = tail call ptr @__errno_location() #15
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @s2n_print_stacktrace(ptr noundef %2119) #14
  %2121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2122 = trunc nuw i8 %2121 to i1
  br i1 %2122, label %2123, label %2127

2123:                                             ; preds = %2116
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = call i32 @fileno(ptr noundef %2124) #14
  %2126 = call i32 @isatty(i32 noundef %2125) #14
  %.not750 = icmp eq i32 %2126, 0
  br i1 %.not750, label %2127, label %2128

2127:                                             ; preds = %2123, %2116
  br label %2128

2128:                                             ; preds = %2123, %2127
  %.str.5.sink1586 = phi ptr [ @.str.5, %2127 ], [ @.str.2, %2123 ]
  store i32 %2118, ptr %2117, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = load i32, ptr @test_count, align 4, !tbaa !5
  %2131 = load i32, ptr %2107, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror(i32 noundef %2131, ptr noundef nonnull @.str.4) #14
  %2133 = load i32, ptr %2107, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef nonnull @.str.4) #14
  %2135 = load i32, ptr %2117, align 4, !tbaa !5
  %2136 = call ptr @strerror(i32 noundef %2135) #14
  %2137 = load i32, ptr %2117, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2129, ptr noundef nonnull %.str.5.sink1586, i32 noundef %2130, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %2132, ptr noundef %2134, ptr noundef %2136, i32 noundef %2137) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2139:                                             ; preds = %2108
  %2140 = add nsw i32 %2113, 2
  store i32 %2140, ptr @test_count, align 4, !tbaa !5
  %2141 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2112, ptr noundef %354) #14
  %2142 = icmp eq i32 %2141, -1
  br i1 %2142, label %2143, label %2166

2143:                                             ; preds = %2139
  %2144 = tail call ptr @__errno_location() #15
  %2145 = load i32, ptr %2144, align 4, !tbaa !5
  %2146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2147 = call i32 @s2n_print_stacktrace(ptr noundef %2146) #14
  %2148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2149 = trunc nuw i8 %2148 to i1
  br i1 %2149, label %2150, label %2154

2150:                                             ; preds = %2143
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = call i32 @fileno(ptr noundef %2151) #14
  %2153 = call i32 @isatty(i32 noundef %2152) #14
  %.not749 = icmp eq i32 %2153, 0
  br i1 %.not749, label %2154, label %2155

2154:                                             ; preds = %2150, %2143
  br label %2155

2155:                                             ; preds = %2150, %2154
  %.str.5.sink1595 = phi ptr [ @.str.5, %2154 ], [ @.str.2, %2150 ]
  store i32 %2145, ptr %2144, align 4, !tbaa !5
  %2156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2157 = load i32, ptr @test_count, align 4, !tbaa !5
  %2158 = load i32, ptr %2107, align 4, !tbaa !5
  %2159 = call ptr @s2n_strerror(i32 noundef %2158, ptr noundef nonnull @.str.4) #14
  %2160 = load i32, ptr %2107, align 4, !tbaa !5
  %2161 = call ptr @s2n_strerror_debug(i32 noundef %2160, ptr noundef nonnull @.str.4) #14
  %2162 = load i32, ptr %2144, align 4, !tbaa !5
  %2163 = call ptr @strerror(i32 noundef %2162) #14
  %2164 = load i32, ptr %2144, align 4, !tbaa !5
  %2165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2156, ptr noundef nonnull %.str.5.sink1595, i32 noundef %2157, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %2159, ptr noundef %2161, ptr noundef %2163, i32 noundef %2164) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2166:                                             ; preds = %2139
  %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 ptr, ptr %24, align 8, !tbaa !9
  %2170 = call i32 @s2n_connection_set_blinding(ptr noundef %2169, i32 noundef 1) #14
  %2171 = icmp eq i32 %2170, -1
  br i1 %2171, label %2172, label %2195

2172:                                             ; preds = %2166
  %2173 = tail call ptr @__errno_location() #15
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2176 = call i32 @s2n_print_stacktrace(ptr noundef %2175) #14
  %2177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2178 = trunc nuw i8 %2177 to i1
  br i1 %2178, label %2179, label %2183

2179:                                             ; preds = %2172
  %2180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2181 = call i32 @fileno(ptr noundef %2180) #14
  %2182 = call i32 @isatty(i32 noundef %2181) #14
  %.not748 = icmp eq i32 %2182, 0
  br i1 %.not748, label %2183, label %2184

2183:                                             ; preds = %2179, %2172
  br label %2184

2184:                                             ; preds = %2179, %2183
  %.str.5.sink1604 = phi ptr [ @.str.5, %2183 ], [ @.str.2, %2179 ]
  store i32 %2174, ptr %2173, align 4, !tbaa !5
  %2185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2186 = load i32, ptr @test_count, align 4, !tbaa !5
  %2187 = load i32, ptr %2107, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror(i32 noundef %2187, ptr noundef nonnull @.str.4) #14
  %2189 = load i32, ptr %2107, align 4, !tbaa !5
  %2190 = call ptr @s2n_strerror_debug(i32 noundef %2189, ptr noundef nonnull @.str.4) #14
  %2191 = load i32, ptr %2173, align 4, !tbaa !5
  %2192 = call ptr @strerror(i32 noundef %2191) #14
  %2193 = load i32, ptr %2173, align 4, !tbaa !5
  %2194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2185, ptr noundef nonnull %.str.5.sink1604, i32 noundef %2186, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %2188, ptr noundef %2190, ptr noundef %2192, i32 noundef %2193) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2195:                                             ; preds = %2166
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #14
  %2196 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %2196, ptr %25, align 8, !tbaa !9
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = add nsw i32 %2197, 1
  store i32 %2198, ptr @test_count, align 4, !tbaa !5
  %2199 = icmp eq ptr %2196, null
  br i1 %2199, label %2200, label %2223

2200:                                             ; preds = %2195
  %2201 = tail call ptr @__errno_location() #15
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @s2n_print_stacktrace(ptr noundef %2203) #14
  %2205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2206 = trunc nuw i8 %2205 to i1
  br i1 %2206, label %2207, label %2211

2207:                                             ; preds = %2200
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @fileno(ptr noundef %2208) #14
  %2210 = call i32 @isatty(i32 noundef %2209) #14
  %.not747 = icmp eq i32 %2210, 0
  br i1 %.not747, label %2211, label %2212

2211:                                             ; preds = %2207, %2200
  br label %2212

2212:                                             ; preds = %2207, %2211
  %.str.5.sink1613 = phi ptr [ @.str.5, %2211 ], [ @.str.2, %2207 ]
  store i32 %2202, ptr %2201, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = load i32, ptr %2107, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #14
  %2217 = load i32, ptr %2107, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #14
  %2219 = load i32, ptr %2201, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #14
  %2221 = load i32, ptr %2201, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef nonnull %.str.5.sink1613, i32 noundef %2214, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2223:                                             ; preds = %2195
  %2224 = add nsw i32 %2197, 2
  store i32 %2224, ptr @test_count, align 4, !tbaa !5
  %2225 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2196, ptr noundef %354) #14
  %2226 = icmp eq i32 %2225, -1
  br i1 %2226, label %2227, label %2250

2227:                                             ; preds = %2223
  %2228 = tail call ptr @__errno_location() #15
  %2229 = load i32, ptr %2228, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #14
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

2234:                                             ; preds = %2227
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = call i32 @fileno(ptr noundef %2235) #14
  %2237 = call i32 @isatty(i32 noundef %2236) #14
  %.not746 = icmp eq i32 %2237, 0
  br i1 %.not746, label %2238, label %2239

2238:                                             ; preds = %2234, %2227
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.5.sink1622 = phi ptr [ @.str.5, %2238 ], [ @.str.2, %2234 ]
  store i32 %2229, ptr %2228, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %2107, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.4) #14
  %2244 = load i32, ptr %2107, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.4) #14
  %2246 = load i32, ptr %2228, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #14
  %2248 = load i32, ptr %2228, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.5.sink1622, i32 noundef %2241, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2250:                                             ; preds = %2223
  %2251 = load i32, ptr @test_count, align 4, !tbaa !5
  %2252 = add nsw i32 %2251, 1
  store i32 %2252, ptr @test_count, align 4, !tbaa !5
  %2253 = load ptr, ptr %25, align 8, !tbaa !9
  %2254 = call i32 @s2n_connection_set_blinding(ptr noundef %2253, i32 noundef 1) #14
  %2255 = icmp eq i32 %2254, -1
  br i1 %2255, label %2256, label %2279

2256:                                             ; preds = %2250
  %2257 = tail call ptr @__errno_location() #15
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2260 = call i32 @s2n_print_stacktrace(ptr noundef %2259) #14
  %2261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2262 = trunc nuw i8 %2261 to i1
  br i1 %2262, label %2263, label %2267

2263:                                             ; preds = %2256
  %2264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2265 = call i32 @fileno(ptr noundef %2264) #14
  %2266 = call i32 @isatty(i32 noundef %2265) #14
  %.not745 = icmp eq i32 %2266, 0
  br i1 %.not745, label %2267, label %2268

2267:                                             ; preds = %2263, %2256
  br label %2268

2268:                                             ; preds = %2263, %2267
  %.str.5.sink1631 = phi ptr [ @.str.5, %2267 ], [ @.str.2, %2263 ]
  store i32 %2258, ptr %2257, align 4, !tbaa !5
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = load i32, ptr @test_count, align 4, !tbaa !5
  %2271 = load i32, ptr %2107, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror(i32 noundef %2271, ptr noundef nonnull @.str.4) #14
  %2273 = load i32, ptr %2107, align 4, !tbaa !5
  %2274 = call ptr @s2n_strerror_debug(i32 noundef %2273, ptr noundef nonnull @.str.4) #14
  %2275 = load i32, ptr %2257, align 4, !tbaa !5
  %2276 = call ptr @strerror(i32 noundef %2275) #14
  %2277 = load i32, ptr %2257, align 4, !tbaa !5
  %2278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2269, ptr noundef nonnull %.str.5.sink1631, i32 noundef %2270, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %2272, ptr noundef %2274, ptr noundef %2276, i32 noundef %2277) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2279:                                             ; preds = %2250
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #14
  store i64 0, ptr %26, align 8
  %2280 = load i32, ptr @test_count, align 4, !tbaa !5
  %2281 = add nsw i32 %2280, 1
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %26)
  %2283 = call zeroext i1 @s2n_result_is_ok(i32 %2282)
  br i1 %2283, label %2307, label %2284

2284:                                             ; preds = %2279
  %2285 = tail call ptr @__errno_location() #15
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = call i32 @s2n_print_stacktrace(ptr noundef %2287) #14
  %2289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2290 = trunc nuw i8 %2289 to i1
  br i1 %2290, label %2291, label %2295

2291:                                             ; preds = %2284
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @fileno(ptr noundef %2292) #14
  %2294 = call i32 @isatty(i32 noundef %2293) #14
  %.not711 = icmp eq i32 %2294, 0
  br i1 %.not711, label %2295, label %2296

2295:                                             ; preds = %2291, %2284
  br label %2296

2296:                                             ; preds = %2291, %2295
  %.str.5.sink1640 = phi ptr [ @.str.5, %2295 ], [ @.str.2, %2291 ]
  store i32 %2286, ptr %2285, align 4, !tbaa !5
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = load i32, ptr @test_count, align 4, !tbaa !5
  %2299 = load i32, ptr %2107, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror(i32 noundef %2299, ptr noundef nonnull @.str.4) #14
  %2301 = load i32, ptr %2107, align 4, !tbaa !5
  %2302 = call ptr @s2n_strerror_debug(i32 noundef %2301, ptr noundef nonnull @.str.4) #14
  %2303 = load i32, ptr %2285, align 4, !tbaa !5
  %2304 = call ptr @strerror(i32 noundef %2303) #14
  %2305 = load i32, ptr %2285, align 4, !tbaa !5
  %2306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2297, ptr noundef nonnull %.str.5.sink1640, i32 noundef %2298, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %2300, ptr noundef %2302, ptr noundef %2304, i32 noundef %2305) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2307:                                             ; preds = %2279
  %2308 = load i32, ptr @test_count, align 4, !tbaa !5
  %2309 = add nsw i32 %2308, 1
  store i32 %2309, ptr @test_count, align 4, !tbaa !5
  %2310 = load ptr, ptr %25, align 8, !tbaa !9
  %2311 = load ptr, ptr %24, align 8, !tbaa !9
  %2312 = call i32 @s2n_setup_connections(ptr noundef %2310, ptr noundef %2311, ptr noundef nonnull %26)
  %2313 = call zeroext i1 @s2n_result_is_ok(i32 %2312)
  br i1 %2313, label %2337, label %2314

2314:                                             ; preds = %2307
  %2315 = tail call ptr @__errno_location() #15
  %2316 = load i32, ptr %2315, align 4, !tbaa !5
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = call i32 @s2n_print_stacktrace(ptr noundef %2317) #14
  %2319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2320 = trunc nuw i8 %2319 to i1
  br i1 %2320, label %2321, label %2325

2321:                                             ; preds = %2314
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = call i32 @fileno(ptr noundef %2322) #14
  %2324 = call i32 @isatty(i32 noundef %2323) #14
  %.not712 = icmp eq i32 %2324, 0
  br i1 %.not712, label %2325, label %2326

2325:                                             ; preds = %2321, %2314
  br label %2326

2326:                                             ; preds = %2321, %2325
  %.str.5.sink1649 = phi ptr [ @.str.5, %2325 ], [ @.str.2, %2321 ]
  store i32 %2316, ptr %2315, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = load i32, ptr %2107, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror(i32 noundef %2329, ptr noundef nonnull @.str.4) #14
  %2331 = load i32, ptr %2107, align 4, !tbaa !5
  %2332 = call ptr @s2n_strerror_debug(i32 noundef %2331, ptr noundef nonnull @.str.4) #14
  %2333 = load i32, ptr %2315, align 4, !tbaa !5
  %2334 = call ptr @strerror(i32 noundef %2333) #14
  %2335 = load i32, ptr %2315, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2327, ptr noundef nonnull %.str.5.sink1649, i32 noundef %2328, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %2330, ptr noundef %2332, ptr noundef %2334, i32 noundef %2335) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2337:                                             ; preds = %2307
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #14
  %2338 = load ptr, ptr %25, align 8, !tbaa !9
  store ptr %2338, ptr %27, align 16, !tbaa !9
  %2339 = load ptr, ptr %24, align 8, !tbaa !9
  store ptr %2339, ptr %2106, align 8, !tbaa !9
  %2340 = zext i32 %2111 to i64
  %2341 = getelementptr inbounds [2 x ptr], ptr %27, i64 0, i64 %2340
  %2342 = load ptr, ptr %2341, align 8, !tbaa !9
  %2343 = and i32 %2111, 1
  %2344 = xor i32 %2343, 1
  %2345 = zext nneg i32 %2344 to i64
  %2346 = getelementptr inbounds [2 x ptr], ptr %27, i64 0, i64 %2345
  %2347 = load ptr, ptr %2346, align 8, !tbaa !9
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = add nsw i32 %2348, 1
  store i32 %2349, ptr @test_count, align 4, !tbaa !5
  %2350 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %2342) #14
  %2351 = icmp eq i32 %2350, -1
  br i1 %2351, label %2352, label %2375

2352:                                             ; preds = %2337
  %2353 = tail call ptr @__errno_location() #15
  %2354 = load i32, ptr %2353, align 4, !tbaa !5
  %2355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2356 = call i32 @s2n_print_stacktrace(ptr noundef %2355) #14
  %2357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2358 = trunc nuw i8 %2357 to i1
  br i1 %2358, label %2359, label %2363

2359:                                             ; preds = %2352
  %2360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2361 = call i32 @fileno(ptr noundef %2360) #14
  %2362 = call i32 @isatty(i32 noundef %2361) #14
  %.not744 = icmp eq i32 %2362, 0
  br i1 %.not744, label %2363, label %2364

2363:                                             ; preds = %2359, %2352
  br label %2364

2364:                                             ; preds = %2359, %2363
  %.str.5.sink1658 = phi ptr [ @.str.5, %2363 ], [ @.str.2, %2359 ]
  store i32 %2354, ptr %2353, align 4, !tbaa !5
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = load i32, ptr @test_count, align 4, !tbaa !5
  %2367 = load i32, ptr %2107, align 4, !tbaa !5
  %2368 = call ptr @s2n_strerror(i32 noundef %2367, ptr noundef nonnull @.str.4) #14
  %2369 = load i32, ptr %2107, align 4, !tbaa !5
  %2370 = call ptr @s2n_strerror_debug(i32 noundef %2369, ptr noundef nonnull @.str.4) #14
  %2371 = load i32, ptr %2353, align 4, !tbaa !5
  %2372 = call ptr @strerror(i32 noundef %2371) #14
  %2373 = load i32, ptr %2353, align 4, !tbaa !5
  %2374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2365, ptr noundef nonnull %.str.5.sink1658, i32 noundef %2366, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %2368, ptr noundef %2370, ptr noundef %2372, i32 noundef %2373) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2375:                                             ; preds = %2337
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #14
  store i32 0, ptr %28, align 4, !tbaa !5
  %2376 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2377 = load i32, ptr @test_count, align 4, !tbaa !5
  %2378 = add nsw i32 %2377, 1
  store i32 %2378, ptr @test_count, align 4, !tbaa !5
  %sext.mask737 = and i64 %2376, 4294967295
  %2379 = icmp eq i64 %sext.mask737, 100
  br i1 %2379, label %2403, label %2380

2380:                                             ; preds = %2535, %2518, %2501, %2484, %2375
  %2381 = tail call ptr @__errno_location() #15
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = call i32 @s2n_print_stacktrace(ptr noundef %2383) #14
  %2385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2386 = trunc nuw i8 %2385 to i1
  br i1 %2386, label %2387, label %2391

2387:                                             ; preds = %2380
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2389 = call i32 @fileno(ptr noundef %2388) #14
  %2390 = call i32 @isatty(i32 noundef %2389) #14
  %.not738 = icmp eq i32 %2390, 0
  br i1 %.not738, label %2391, label %2392

2391:                                             ; preds = %2387, %2380
  br label %2392

2392:                                             ; preds = %2387, %2391
  %.str.5.sink1667 = phi ptr [ @.str.5, %2391 ], [ @.str.2, %2387 ]
  store i32 %2382, ptr %2381, align 4, !tbaa !5
  %2393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2394 = load i32, ptr @test_count, align 4, !tbaa !5
  %2395 = load i32, ptr %2107, align 4, !tbaa !5
  %2396 = call ptr @s2n_strerror(i32 noundef %2395, ptr noundef nonnull @.str.4) #14
  %2397 = load i32, ptr %2107, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror_debug(i32 noundef %2397, ptr noundef nonnull @.str.4) #14
  %2399 = load i32, ptr %2381, align 4, !tbaa !5
  %2400 = call ptr @strerror(i32 noundef %2399) #14
  %2401 = load i32, ptr %2381, align 4, !tbaa !5
  %2402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2393, ptr noundef nonnull %.str.5.sink1667, i32 noundef %2394, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %2396, ptr noundef %2398, ptr noundef %2400, i32 noundef %2401) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2403:                                             ; preds = %2375
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %29) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %29, i8 0, i64 100, i1 false)
  %2404 = call i64 @s2n_recv(ptr noundef %2342, ptr noundef nonnull %29, i64 noundef 100, ptr noundef nonnull %28) #14
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = add nsw i32 %2405, 1
  store i32 %2406, ptr @test_count, align 4, !tbaa !5
  %sext.mask739 = and i64 %2404, 4294967295
  %2407 = icmp eq i64 %sext.mask739, 100
  br i1 %2407, label %2431, label %2408

2408:                                             ; preds = %2540, %2523, %2506, %2489, %2403
  %2409 = tail call ptr @__errno_location() #15
  %2410 = load i32, ptr %2409, align 4, !tbaa !5
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = call i32 @s2n_print_stacktrace(ptr noundef %2411) #14
  %2413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2414 = trunc nuw i8 %2413 to i1
  br i1 %2414, label %2415, label %2419

2415:                                             ; preds = %2408
  %2416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2417 = call i32 @fileno(ptr noundef %2416) #14
  %2418 = call i32 @isatty(i32 noundef %2417) #14
  %.not740 = icmp eq i32 %2418, 0
  br i1 %.not740, label %2419, label %2420

2419:                                             ; preds = %2415, %2408
  br label %2420

2420:                                             ; preds = %2415, %2419
  %.str.5.sink1676 = phi ptr [ @.str.5, %2419 ], [ @.str.2, %2415 ]
  store i32 %2410, ptr %2409, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = load i32, ptr %2107, align 4, !tbaa !5
  %2424 = call ptr @s2n_strerror(i32 noundef %2423, ptr noundef nonnull @.str.4) #14
  %2425 = load i32, ptr %2107, align 4, !tbaa !5
  %2426 = call ptr @s2n_strerror_debug(i32 noundef %2425, ptr noundef nonnull @.str.4) #14
  %2427 = load i32, ptr %2409, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #14
  %2429 = load i32, ptr %2409, align 4, !tbaa !5
  %2430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2421, ptr noundef nonnull %.str.5.sink1676, i32 noundef %2422, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 343, ptr noundef %2424, ptr noundef %2426, ptr noundef %2428, i32 noundef %2429) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2431:                                             ; preds = %2403
  %2432 = add nsw i32 %2405, 2
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = load i32, ptr %28, align 4, !tbaa !5
  %2434 = icmp eq i32 %2433, 0
  br i1 %2434, label %2458, label %2435

2435:                                             ; preds = %2545, %2528, %2511, %2494, %2431
  %2436 = tail call ptr @__errno_location() #15
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #14
  %2440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2441 = trunc nuw i8 %2440 to i1
  br i1 %2441, label %2442, label %2446

2442:                                             ; preds = %2435
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #14
  %2445 = call i32 @isatty(i32 noundef %2444) #14
  %.not741 = icmp eq i32 %2445, 0
  br i1 %.not741, label %2446, label %2447

2446:                                             ; preds = %2442, %2435
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.5.sink1685 = phi ptr [ @.str.5, %2446 ], [ @.str.2, %2442 ]
  store i32 %2437, ptr %2436, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = load i32, ptr %2107, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef nonnull @.str.4) #14
  %2452 = load i32, ptr %2107, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef nonnull @.str.4) #14
  %2454 = load i32, ptr %2436, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #14
  %2456 = load i32, ptr %2436, align 4, !tbaa !5
  %2457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.5.sink1685, i32 noundef %2449, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 344, ptr noundef %2451, ptr noundef %2453, ptr noundef %2455, i32 noundef %2456) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2458:                                             ; preds = %2431
  %2459 = add nsw i32 %2405, 3
  store i32 %2459, ptr @test_count, align 4, !tbaa !5
  %bcmp742 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %29, i64 100)
  %2460 = icmp eq i32 %bcmp742, 0
  br i1 %2460, label %2484, label %2461

2461:                                             ; preds = %2549, %2532, %2515, %2498, %2458
  %2462 = tail call ptr @__errno_location() #15
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = call i32 @s2n_print_stacktrace(ptr noundef %2464) #14
  %2466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2467 = trunc nuw i8 %2466 to i1
  br i1 %2467, label %2468, label %2472

2468:                                             ; preds = %2461
  %2469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2470 = call i32 @fileno(ptr noundef %2469) #14
  %2471 = call i32 @isatty(i32 noundef %2470) #14
  %.not743 = icmp eq i32 %2471, 0
  br i1 %.not743, label %2472, label %2473

2472:                                             ; preds = %2468, %2461
  br label %2473

2473:                                             ; preds = %2468, %2472
  %.str.5.sink1694 = phi ptr [ @.str.5, %2472 ], [ @.str.2, %2468 ]
  store i32 %2463, ptr %2462, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = load i32, ptr %2107, align 4, !tbaa !5
  %2477 = call ptr @s2n_strerror(i32 noundef %2476, ptr noundef nonnull @.str.4) #14
  %2478 = load i32, ptr %2107, align 4, !tbaa !5
  %2479 = call ptr @s2n_strerror_debug(i32 noundef %2478, ptr noundef nonnull @.str.4) #14
  %2480 = load i32, ptr %2462, align 4, !tbaa !5
  %2481 = call ptr @strerror(i32 noundef %2480) #14
  %2482 = load i32, ptr %2462, align 4, !tbaa !5
  %2483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef nonnull %.str.5.sink1694, i32 noundef %2475, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %2477, ptr noundef %2479, ptr noundef %2481, i32 noundef %2482) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2484:                                             ; preds = %2458
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %29) #14
  %2485 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = add nsw i32 %2486, 1
  store i32 %2487, ptr @test_count, align 4, !tbaa !5
  %sext.mask737.1 = and i64 %2485, 4294967295
  %2488 = icmp eq i64 %sext.mask737.1, 100
  br i1 %2488, label %2489, label %2380

2489:                                             ; preds = %2484
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %29) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %29, i8 0, i64 100, i1 false)
  %2490 = call i64 @s2n_recv(ptr noundef %2342, ptr noundef nonnull %29, i64 noundef 100, ptr noundef nonnull %28) #14
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = add nsw i32 %2491, 1
  store i32 %2492, ptr @test_count, align 4, !tbaa !5
  %sext.mask739.1 = and i64 %2490, 4294967295
  %2493 = icmp eq i64 %sext.mask739.1, 100
  br i1 %2493, label %2494, label %2408

2494:                                             ; preds = %2489
  %2495 = add nsw i32 %2491, 2
  store i32 %2495, ptr @test_count, align 4, !tbaa !5
  %2496 = load i32, ptr %28, align 4, !tbaa !5
  %2497 = icmp eq i32 %2496, 0
  br i1 %2497, label %2498, label %2435

2498:                                             ; preds = %2494
  %2499 = add nsw i32 %2491, 3
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %bcmp742.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %29, i64 100)
  %2500 = icmp eq i32 %bcmp742.1, 0
  br i1 %2500, label %2501, label %2461

2501:                                             ; preds = %2498
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %29) #14
  %2502 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2503 = load i32, ptr @test_count, align 4, !tbaa !5
  %2504 = add nsw i32 %2503, 1
  store i32 %2504, ptr @test_count, align 4, !tbaa !5
  %sext.mask737.2 = and i64 %2502, 4294967295
  %2505 = icmp eq i64 %sext.mask737.2, 100
  br i1 %2505, label %2506, label %2380

2506:                                             ; preds = %2501
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %29) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %29, i8 0, i64 100, i1 false)
  %2507 = call i64 @s2n_recv(ptr noundef %2342, ptr noundef nonnull %29, i64 noundef 100, ptr noundef nonnull %28) #14
  %2508 = load i32, ptr @test_count, align 4, !tbaa !5
  %2509 = add nsw i32 %2508, 1
  store i32 %2509, ptr @test_count, align 4, !tbaa !5
  %sext.mask739.2 = and i64 %2507, 4294967295
  %2510 = icmp eq i64 %sext.mask739.2, 100
  br i1 %2510, label %2511, label %2408

2511:                                             ; preds = %2506
  %2512 = add nsw i32 %2508, 2
  store i32 %2512, ptr @test_count, align 4, !tbaa !5
  %2513 = load i32, ptr %28, align 4, !tbaa !5
  %2514 = icmp eq i32 %2513, 0
  br i1 %2514, label %2515, label %2435

2515:                                             ; preds = %2511
  %2516 = add nsw i32 %2508, 3
  store i32 %2516, ptr @test_count, align 4, !tbaa !5
  %bcmp742.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %29, i64 100)
  %2517 = icmp eq i32 %bcmp742.2, 0
  br i1 %2517, label %2518, label %2461

2518:                                             ; preds = %2515
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %29) #14
  %2519 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = add nsw i32 %2520, 1
  store i32 %2521, ptr @test_count, align 4, !tbaa !5
  %sext.mask737.3 = and i64 %2519, 4294967295
  %2522 = icmp eq i64 %sext.mask737.3, 100
  br i1 %2522, label %2523, label %2380

2523:                                             ; preds = %2518
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %29) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %29, i8 0, i64 100, i1 false)
  %2524 = call i64 @s2n_recv(ptr noundef %2342, ptr noundef nonnull %29, i64 noundef 100, ptr noundef nonnull %28) #14
  %2525 = load i32, ptr @test_count, align 4, !tbaa !5
  %2526 = add nsw i32 %2525, 1
  store i32 %2526, ptr @test_count, align 4, !tbaa !5
  %sext.mask739.3 = and i64 %2524, 4294967295
  %2527 = icmp eq i64 %sext.mask739.3, 100
  br i1 %2527, label %2528, label %2408

2528:                                             ; preds = %2523
  %2529 = add nsw i32 %2525, 2
  store i32 %2529, ptr @test_count, align 4, !tbaa !5
  %2530 = load i32, ptr %28, align 4, !tbaa !5
  %2531 = icmp eq i32 %2530, 0
  br i1 %2531, label %2532, label %2435

2532:                                             ; preds = %2528
  %2533 = add nsw i32 %2525, 3
  store i32 %2533, ptr @test_count, align 4, !tbaa !5
  %bcmp742.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %29, i64 100)
  %2534 = icmp eq i32 %bcmp742.3, 0
  br i1 %2534, label %2535, label %2461

2535:                                             ; preds = %2532
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %29) #14
  %2536 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = add nsw i32 %2537, 1
  store i32 %2538, ptr @test_count, align 4, !tbaa !5
  %sext.mask737.4 = and i64 %2536, 4294967295
  %2539 = icmp eq i64 %sext.mask737.4, 100
  br i1 %2539, label %2540, label %2380

2540:                                             ; preds = %2535
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %29) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %29, i8 0, i64 100, i1 false)
  %2541 = call i64 @s2n_recv(ptr noundef %2342, ptr noundef nonnull %29, i64 noundef 100, ptr noundef nonnull %28) #14
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = add nsw i32 %2542, 1
  store i32 %2543, ptr @test_count, align 4, !tbaa !5
  %sext.mask739.4 = and i64 %2541, 4294967295
  %2544 = icmp eq i64 %sext.mask739.4, 100
  br i1 %2544, label %2545, label %2408

2545:                                             ; preds = %2540
  %2546 = add nsw i32 %2542, 2
  store i32 %2546, ptr @test_count, align 4, !tbaa !5
  %2547 = load i32, ptr %28, align 4, !tbaa !5
  %2548 = icmp eq i32 %2547, 0
  br i1 %2548, label %2549, label %2435

2549:                                             ; preds = %2545
  %2550 = add nsw i32 %2542, 3
  store i32 %2550, ptr @test_count, align 4, !tbaa !5
  %bcmp742.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %29, i64 100)
  %2551 = icmp eq i32 %bcmp742.4, 0
  br i1 %2551, label %2552, label %2461

2552:                                             ; preds = %2549
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %29) #14
  %2553 = add nsw i32 %2542, 4
  store i32 %2553, ptr @test_count, align 4, !tbaa !5
  %2554 = getelementptr inbounds i8, ptr %2342, i64 220
  %2555 = load i8, ptr %2554, align 4, !tbaa !24
  %2556 = icmp eq i8 %2555, 33
  br i1 %2556, label %2580, label %2557

2557:                                             ; preds = %2552
  %2558 = tail call ptr @__errno_location() #15
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @s2n_print_stacktrace(ptr noundef %2560) #14
  %2562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2563 = trunc nuw i8 %2562 to i1
  br i1 %2563, label %2564, label %2568

2564:                                             ; preds = %2557
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @fileno(ptr noundef %2565) #14
  %2567 = call i32 @isatty(i32 noundef %2566) #14
  %.not713 = icmp eq i32 %2567, 0
  br i1 %.not713, label %2568, label %2569

2568:                                             ; preds = %2564, %2557
  br label %2569

2569:                                             ; preds = %2564, %2568
  %.str.5.sink1703 = phi ptr [ @.str.5, %2568 ], [ @.str.2, %2564 ]
  store i32 %2559, ptr %2558, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = load i32, ptr %2107, align 4, !tbaa !5
  %2573 = call ptr @s2n_strerror(i32 noundef %2572, ptr noundef nonnull @.str.4) #14
  %2574 = load i32, ptr %2107, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef nonnull @.str.4) #14
  %2576 = load i32, ptr %2558, align 4, !tbaa !5
  %2577 = call ptr @strerror(i32 noundef %2576) #14
  %2578 = load i32, ptr %2558, align 4, !tbaa !5
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef nonnull %.str.5.sink1703, i32 noundef %2571, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %2573, ptr noundef %2575, ptr noundef %2577, i32 noundef %2578) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2580:                                             ; preds = %2552
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %30) #14
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %30, ptr noundef nonnull align 16 dereferenceable(20) @__const.main.control_record_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %31, i8 0, i64 24, i1 false)
  %2581 = add nsw i32 %2542, 5
  store i32 %2581, ptr @test_count, align 4, !tbaa !5
  %2582 = call i32 @s2n_blob_init(ptr noundef nonnull %31, ptr noundef nonnull %30, i32 noundef 20) #14
  %2583 = icmp eq i32 %2582, -1
  br i1 %2583, label %2588, label %.preheader829.preheader

.preheader829.preheader:                          ; preds = %2580
  %2584 = load i32, ptr @test_count, align 4, !tbaa !5
  %2585 = add nsw i32 %2584, 1
  store i32 %2585, ptr @test_count, align 4, !tbaa !5
  %2586 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 20, ptr noundef nonnull %31) #14
  %2587 = call zeroext i1 @s2n_result_is_ok(i32 %2586)
  br i1 %2587, label %2634, label %2611

2588:                                             ; preds = %2580
  %2589 = tail call ptr @__errno_location() #15
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @s2n_print_stacktrace(ptr noundef %2591) #14
  %2593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2594 = trunc nuw i8 %2593 to i1
  br i1 %2594, label %2595, label %2599

2595:                                             ; preds = %2588
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #14
  %2598 = call i32 @isatty(i32 noundef %2597) #14
  %.not736 = icmp eq i32 %2598, 0
  br i1 %.not736, label %2599, label %2600

2599:                                             ; preds = %2595, %2588
  br label %2600

2600:                                             ; preds = %2595, %2599
  %.str.5.sink1712 = phi ptr [ @.str.5, %2599 ], [ @.str.2, %2595 ]
  store i32 %2590, ptr %2589, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = load i32, ptr @test_count, align 4, !tbaa !5
  %2603 = load i32, ptr %2107, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror(i32 noundef %2603, ptr noundef nonnull @.str.4) #14
  %2605 = load i32, ptr %2107, align 4, !tbaa !5
  %2606 = call ptr @s2n_strerror_debug(i32 noundef %2605, ptr noundef nonnull @.str.4) #14
  %2607 = load i32, ptr %2589, align 4, !tbaa !5
  %2608 = call ptr @strerror(i32 noundef %2607) #14
  %2609 = load i32, ptr %2589, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2601, ptr noundef nonnull %.str.5.sink1712, i32 noundef %2602, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %2604, ptr noundef %2606, ptr noundef %2608, i32 noundef %2609) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2611:                                             ; preds = %.preheader829.4, %.preheader829.3, %.preheader829.2, %.preheader829.1, %.preheader829.preheader
  %2612 = tail call ptr @__errno_location() #15
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @s2n_print_stacktrace(ptr noundef %2614) #14
  %2616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2617 = trunc nuw i8 %2616 to i1
  br i1 %2617, label %2618, label %2622

2618:                                             ; preds = %2611
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @fileno(ptr noundef %2619) #14
  %2621 = call i32 @isatty(i32 noundef %2620) #14
  %.not727 = icmp eq i32 %2621, 0
  br i1 %.not727, label %2622, label %2623

2622:                                             ; preds = %2618, %2611
  br label %2623

2623:                                             ; preds = %2618, %2622
  %.str.5.sink1721 = phi ptr [ @.str.5, %2622 ], [ @.str.2, %2618 ]
  store i32 %2613, ptr %2612, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %2107, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef nonnull @.str.4) #14
  %2628 = load i32, ptr %2107, align 4, !tbaa !5
  %2629 = call ptr @s2n_strerror_debug(i32 noundef %2628, ptr noundef nonnull @.str.4) #14
  %2630 = load i32, ptr %2612, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #14
  %2632 = load i32, ptr %2612, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef nonnull %.str.5.sink1721, i32 noundef %2625, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %2627, ptr noundef %2629, ptr noundef %2631, i32 noundef %2632) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2634:                                             ; preds = %.preheader829.preheader
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = add nsw i32 %2635, 1
  store i32 %2636, ptr @test_count, align 4, !tbaa !5
  %2637 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2638 = icmp eq i32 %2637, -1
  br i1 %2638, label %2639, label %2662

2639:                                             ; preds = %2849, %2824, %2799, %2774, %2634
  %2640 = tail call ptr @__errno_location() #15
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2643 = call i32 @s2n_print_stacktrace(ptr noundef %2642) #14
  %2644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2645 = trunc nuw i8 %2644 to i1
  br i1 %2645, label %2646, label %2650

2646:                                             ; preds = %2639
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @fileno(ptr noundef %2647) #14
  %2649 = call i32 @isatty(i32 noundef %2648) #14
  %.not735 = icmp eq i32 %2649, 0
  br i1 %.not735, label %2650, label %2651

2650:                                             ; preds = %2646, %2639
  br label %2651

2651:                                             ; preds = %2646, %2650
  %.str.5.sink1730 = phi ptr [ @.str.5, %2650 ], [ @.str.2, %2646 ]
  store i32 %2641, ptr %2640, align 4, !tbaa !5
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = load i32, ptr @test_count, align 4, !tbaa !5
  %2654 = load i32, ptr %2107, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror(i32 noundef %2654, ptr noundef nonnull @.str.4) #14
  %2656 = load i32, ptr %2107, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror_debug(i32 noundef %2656, ptr noundef nonnull @.str.4) #14
  %2658 = load i32, ptr %2640, align 4, !tbaa !5
  %2659 = call ptr @strerror(i32 noundef %2658) #14
  %2660 = load i32, ptr %2640, align 4, !tbaa !5
  %2661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2652, ptr noundef nonnull %.str.5.sink1730, i32 noundef %2653, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %2655, ptr noundef %2657, ptr noundef %2659, i32 noundef %2660) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2662:                                             ; preds = %2634
  %2663 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2664 = load i32, ptr @test_count, align 4, !tbaa !5
  %2665 = add nsw i32 %2664, 1
  store i32 %2665, ptr @test_count, align 4, !tbaa !5
  %sext.mask728 = and i64 %2663, 4294967295
  %2666 = icmp eq i64 %sext.mask728, 100
  br i1 %2666, label %2690, label %2667

2667:                                             ; preds = %2854, %2829, %2804, %2779, %2662
  %2668 = tail call ptr @__errno_location() #15
  %2669 = load i32, ptr %2668, align 4, !tbaa !5
  %2670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2671 = call i32 @s2n_print_stacktrace(ptr noundef %2670) #14
  %2672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2673 = trunc nuw i8 %2672 to i1
  br i1 %2673, label %2674, label %2678

2674:                                             ; preds = %2667
  %2675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2676 = call i32 @fileno(ptr noundef %2675) #14
  %2677 = call i32 @isatty(i32 noundef %2676) #14
  %.not729 = icmp eq i32 %2677, 0
  br i1 %.not729, label %2678, label %2679

2678:                                             ; preds = %2674, %2667
  br label %2679

2679:                                             ; preds = %2674, %2678
  %.str.5.sink1739 = phi ptr [ @.str.5, %2678 ], [ @.str.2, %2674 ]
  store i32 %2669, ptr %2668, align 4, !tbaa !5
  %2680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2681 = load i32, ptr @test_count, align 4, !tbaa !5
  %2682 = load i32, ptr %2107, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror(i32 noundef %2682, ptr noundef nonnull @.str.4) #14
  %2684 = load i32, ptr %2107, align 4, !tbaa !5
  %2685 = call ptr @s2n_strerror_debug(i32 noundef %2684, ptr noundef nonnull @.str.4) #14
  %2686 = load i32, ptr %2668, align 4, !tbaa !5
  %2687 = call ptr @strerror(i32 noundef %2686) #14
  %2688 = load i32, ptr %2668, align 4, !tbaa !5
  %2689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2680, ptr noundef nonnull %.str.5.sink1739, i32 noundef %2681, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %2683, ptr noundef %2685, ptr noundef %2687, i32 noundef %2688) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2690:                                             ; preds = %2662
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  %2691 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %28) #14
  %2692 = load i32, ptr @test_count, align 4, !tbaa !5
  %2693 = add nsw i32 %2692, 1
  store i32 %2693, ptr @test_count, align 4, !tbaa !5
  %sext.mask730 = and i64 %2691, 4294967295
  %2694 = icmp eq i64 %sext.mask730, 100
  br i1 %2694, label %2718, label %2695

2695:                                             ; preds = %2859, %2834, %2809, %2784, %2690
  %2696 = tail call ptr @__errno_location() #15
  %2697 = load i32, ptr %2696, align 4, !tbaa !5
  %2698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2699 = call i32 @s2n_print_stacktrace(ptr noundef %2698) #14
  %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 = %2695
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = call i32 @fileno(ptr noundef %2703) #14
  %2705 = call i32 @isatty(i32 noundef %2704) #14
  %.not731 = icmp eq i32 %2705, 0
  br i1 %.not731, label %2706, label %2707

2706:                                             ; preds = %2702, %2695
  br label %2707

2707:                                             ; preds = %2702, %2706
  %.str.5.sink1748 = phi ptr [ @.str.5, %2706 ], [ @.str.2, %2702 ]
  store i32 %2697, ptr %2696, 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 %2107, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror(i32 noundef %2710, ptr noundef nonnull @.str.4) #14
  %2712 = load i32, ptr %2107, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror_debug(i32 noundef %2712, ptr noundef nonnull @.str.4) #14
  %2714 = load i32, ptr %2696, align 4, !tbaa !5
  %2715 = call ptr @strerror(i32 noundef %2714) #14
  %2716 = load i32, ptr %2696, align 4, !tbaa !5
  %2717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2708, ptr noundef nonnull %.str.5.sink1748, i32 noundef %2709, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %2711, ptr noundef %2713, ptr noundef %2715, i32 noundef %2716) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2718:                                             ; preds = %2690
  %2719 = add nsw i32 %2692, 2
  store i32 %2719, ptr @test_count, align 4, !tbaa !5
  %2720 = load i32, ptr %28, align 4, !tbaa !5
  %2721 = icmp eq i32 %2720, 0
  br i1 %2721, label %2745, label %2722

2722:                                             ; preds = %2864, %2839, %2814, %2789, %2718
  %2723 = tail call ptr @__errno_location() #15
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = call i32 @s2n_print_stacktrace(ptr noundef %2725) #14
  %2727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2728 = trunc nuw i8 %2727 to i1
  br i1 %2728, label %2729, label %2733

2729:                                             ; preds = %2722
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = call i32 @fileno(ptr noundef %2730) #14
  %2732 = call i32 @isatty(i32 noundef %2731) #14
  %.not732 = icmp eq i32 %2732, 0
  br i1 %.not732, label %2733, label %2734

2733:                                             ; preds = %2729, %2722
  br label %2734

2734:                                             ; preds = %2729, %2733
  %.str.5.sink1757 = phi ptr [ @.str.5, %2733 ], [ @.str.2, %2729 ]
  store i32 %2724, ptr %2723, align 4, !tbaa !5
  %2735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2736 = load i32, ptr @test_count, align 4, !tbaa !5
  %2737 = load i32, ptr %2107, align 4, !tbaa !5
  %2738 = call ptr @s2n_strerror(i32 noundef %2737, ptr noundef nonnull @.str.4) #14
  %2739 = load i32, ptr %2107, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror_debug(i32 noundef %2739, ptr noundef nonnull @.str.4) #14
  %2741 = load i32, ptr %2723, align 4, !tbaa !5
  %2742 = call ptr @strerror(i32 noundef %2741) #14
  %2743 = load i32, ptr %2723, align 4, !tbaa !5
  %2744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2735, ptr noundef nonnull %.str.5.sink1757, i32 noundef %2736, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %2738, ptr noundef %2740, ptr noundef %2742, i32 noundef %2743) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2745:                                             ; preds = %2718
  %2746 = add nsw i32 %2692, 3
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %bcmp733 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %32, i64 100)
  %2747 = icmp eq i32 %bcmp733, 0
  br i1 %2747, label %.preheader829.1, label %2748

2748:                                             ; preds = %2868, %2843, %2818, %2793, %2745
  %2749 = tail call ptr @__errno_location() #15
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2752 = call i32 @s2n_print_stacktrace(ptr noundef %2751) #14
  %2753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2754 = trunc nuw i8 %2753 to i1
  br i1 %2754, label %2755, label %2759

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

2759:                                             ; preds = %2755, %2748
  br label %2760

2760:                                             ; preds = %2755, %2759
  %.str.5.sink1766 = phi ptr [ @.str.5, %2759 ], [ @.str.2, %2755 ]
  store i32 %2750, ptr %2749, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = load i32, ptr @test_count, align 4, !tbaa !5
  %2763 = load i32, ptr %2107, align 4, !tbaa !5
  %2764 = call ptr @s2n_strerror(i32 noundef %2763, ptr noundef nonnull @.str.4) #14
  %2765 = load i32, ptr %2107, align 4, !tbaa !5
  %2766 = call ptr @s2n_strerror_debug(i32 noundef %2765, ptr noundef nonnull @.str.4) #14
  %2767 = load i32, ptr %2749, align 4, !tbaa !5
  %2768 = call ptr @strerror(i32 noundef %2767) #14
  %2769 = load i32, ptr %2749, align 4, !tbaa !5
  %2770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2761, ptr noundef nonnull %.str.5.sink1766, i32 noundef %2762, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %2764, ptr noundef %2766, ptr noundef %2768, i32 noundef %2769) #16
  call void @exit(i32 noundef 1) #17
  unreachable

.preheader829.1:                                  ; preds = %2745
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #14
  %2771 = add nsw i32 %2692, 4
  store i32 %2771, ptr @test_count, align 4, !tbaa !5
  %2772 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 20, ptr noundef nonnull %31) #14
  %2773 = call zeroext i1 @s2n_result_is_ok(i32 %2772)
  br i1 %2773, label %2774, label %2611

2774:                                             ; preds = %.preheader829.1
  %2775 = load i32, ptr @test_count, align 4, !tbaa !5
  %2776 = add nsw i32 %2775, 1
  store i32 %2776, ptr @test_count, align 4, !tbaa !5
  %2777 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2778 = icmp eq i32 %2777, -1
  br i1 %2778, label %2639, label %2779

2779:                                             ; preds = %2774
  %2780 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2781 = load i32, ptr @test_count, align 4, !tbaa !5
  %2782 = add nsw i32 %2781, 1
  store i32 %2782, ptr @test_count, align 4, !tbaa !5
  %sext.mask728.1 = and i64 %2780, 4294967295
  %2783 = icmp eq i64 %sext.mask728.1, 100
  br i1 %2783, label %2784, label %2667

2784:                                             ; preds = %2779
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  %2785 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %28) #14
  %2786 = load i32, ptr @test_count, align 4, !tbaa !5
  %2787 = add nsw i32 %2786, 1
  store i32 %2787, ptr @test_count, align 4, !tbaa !5
  %sext.mask730.1 = and i64 %2785, 4294967295
  %2788 = icmp eq i64 %sext.mask730.1, 100
  br i1 %2788, label %2789, label %2695

2789:                                             ; preds = %2784
  %2790 = add nsw i32 %2786, 2
  store i32 %2790, ptr @test_count, align 4, !tbaa !5
  %2791 = load i32, ptr %28, align 4, !tbaa !5
  %2792 = icmp eq i32 %2791, 0
  br i1 %2792, label %2793, label %2722

2793:                                             ; preds = %2789
  %2794 = add nsw i32 %2786, 3
  store i32 %2794, ptr @test_count, align 4, !tbaa !5
  %bcmp733.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %32, i64 100)
  %2795 = icmp eq i32 %bcmp733.1, 0
  br i1 %2795, label %.preheader829.2, label %2748

.preheader829.2:                                  ; preds = %2793
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #14
  %2796 = add nsw i32 %2786, 4
  store i32 %2796, ptr @test_count, align 4, !tbaa !5
  %2797 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 20, ptr noundef nonnull %31) #14
  %2798 = call zeroext i1 @s2n_result_is_ok(i32 %2797)
  br i1 %2798, label %2799, label %2611

2799:                                             ; preds = %.preheader829.2
  %2800 = load i32, ptr @test_count, align 4, !tbaa !5
  %2801 = add nsw i32 %2800, 1
  store i32 %2801, ptr @test_count, align 4, !tbaa !5
  %2802 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2803 = icmp eq i32 %2802, -1
  br i1 %2803, label %2639, label %2804

2804:                                             ; preds = %2799
  %2805 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2806 = load i32, ptr @test_count, align 4, !tbaa !5
  %2807 = add nsw i32 %2806, 1
  store i32 %2807, ptr @test_count, align 4, !tbaa !5
  %sext.mask728.2 = and i64 %2805, 4294967295
  %2808 = icmp eq i64 %sext.mask728.2, 100
  br i1 %2808, label %2809, label %2667

2809:                                             ; preds = %2804
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  %2810 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %28) #14
  %2811 = load i32, ptr @test_count, align 4, !tbaa !5
  %2812 = add nsw i32 %2811, 1
  store i32 %2812, ptr @test_count, align 4, !tbaa !5
  %sext.mask730.2 = and i64 %2810, 4294967295
  %2813 = icmp eq i64 %sext.mask730.2, 100
  br i1 %2813, label %2814, label %2695

2814:                                             ; preds = %2809
  %2815 = add nsw i32 %2811, 2
  store i32 %2815, ptr @test_count, align 4, !tbaa !5
  %2816 = load i32, ptr %28, align 4, !tbaa !5
  %2817 = icmp eq i32 %2816, 0
  br i1 %2817, label %2818, label %2722

2818:                                             ; preds = %2814
  %2819 = add nsw i32 %2811, 3
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %bcmp733.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %32, i64 100)
  %2820 = icmp eq i32 %bcmp733.2, 0
  br i1 %2820, label %.preheader829.3, label %2748

.preheader829.3:                                  ; preds = %2818
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #14
  %2821 = add nsw i32 %2811, 4
  store i32 %2821, ptr @test_count, align 4, !tbaa !5
  %2822 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 20, ptr noundef nonnull %31) #14
  %2823 = call zeroext i1 @s2n_result_is_ok(i32 %2822)
  br i1 %2823, label %2824, label %2611

2824:                                             ; preds = %.preheader829.3
  %2825 = load i32, ptr @test_count, align 4, !tbaa !5
  %2826 = add nsw i32 %2825, 1
  store i32 %2826, ptr @test_count, align 4, !tbaa !5
  %2827 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2828 = icmp eq i32 %2827, -1
  br i1 %2828, label %2639, label %2829

2829:                                             ; preds = %2824
  %2830 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %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
  %sext.mask728.3 = and i64 %2830, 4294967295
  %2833 = icmp eq i64 %sext.mask728.3, 100
  br i1 %2833, label %2834, label %2667

2834:                                             ; preds = %2829
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  %2835 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %28) #14
  %2836 = load i32, ptr @test_count, align 4, !tbaa !5
  %2837 = add nsw i32 %2836, 1
  store i32 %2837, ptr @test_count, align 4, !tbaa !5
  %sext.mask730.3 = and i64 %2835, 4294967295
  %2838 = icmp eq i64 %sext.mask730.3, 100
  br i1 %2838, label %2839, label %2695

2839:                                             ; preds = %2834
  %2840 = add nsw i32 %2836, 2
  store i32 %2840, ptr @test_count, align 4, !tbaa !5
  %2841 = load i32, ptr %28, align 4, !tbaa !5
  %2842 = icmp eq i32 %2841, 0
  br i1 %2842, label %2843, label %2722

2843:                                             ; preds = %2839
  %2844 = add nsw i32 %2836, 3
  store i32 %2844, ptr @test_count, align 4, !tbaa !5
  %bcmp733.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %32, i64 100)
  %2845 = icmp eq i32 %bcmp733.3, 0
  br i1 %2845, label %.preheader829.4, label %2748

.preheader829.4:                                  ; preds = %2843
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #14
  %2846 = add nsw i32 %2836, 4
  store i32 %2846, ptr @test_count, align 4, !tbaa !5
  %2847 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 20, ptr noundef nonnull %31) #14
  %2848 = call zeroext i1 @s2n_result_is_ok(i32 %2847)
  br i1 %2848, label %2849, label %2611

2849:                                             ; preds = %.preheader829.4
  %2850 = load i32, ptr @test_count, align 4, !tbaa !5
  %2851 = add nsw i32 %2850, 1
  store i32 %2851, ptr @test_count, align 4, !tbaa !5
  %2852 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2853 = icmp eq i32 %2852, -1
  br i1 %2853, label %2639, label %2854

2854:                                             ; preds = %2849
  %2855 = call i64 @s2n_send(ptr noundef %2347, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %28) #14
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = add nsw i32 %2856, 1
  store i32 %2857, ptr @test_count, align 4, !tbaa !5
  %sext.mask728.4 = and i64 %2855, 4294967295
  %2858 = icmp eq i64 %sext.mask728.4, 100
  br i1 %2858, label %2859, label %2667

2859:                                             ; preds = %2854
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  %2860 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %28) #14
  %2861 = load i32, ptr @test_count, align 4, !tbaa !5
  %2862 = add nsw i32 %2861, 1
  store i32 %2862, ptr @test_count, align 4, !tbaa !5
  %sext.mask730.4 = and i64 %2860, 4294967295
  %2863 = icmp eq i64 %sext.mask730.4, 100
  br i1 %2863, label %2864, label %2695

2864:                                             ; preds = %2859
  %2865 = add nsw i32 %2861, 2
  store i32 %2865, ptr @test_count, align 4, !tbaa !5
  %2866 = load i32, ptr %28, align 4, !tbaa !5
  %2867 = icmp eq i32 %2866, 0
  br i1 %2867, label %2868, label %2722

2868:                                             ; preds = %2864
  %2869 = add nsw i32 %2861, 3
  store i32 %2869, ptr @test_count, align 4, !tbaa !5
  %bcmp733.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %32, i64 100)
  %2870 = icmp eq i32 %bcmp733.4, 0
  br i1 %2870, label %2871, label %2748

2871:                                             ; preds = %2868
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #14
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #14
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %30) #14
  %2872 = add nsw i32 %2861, 4
  store i32 %2872, ptr @test_count, align 4, !tbaa !5
  %2873 = call i32 @s2n_record_write(ptr noundef %2347, i8 noundef zeroext 23, ptr noundef nonnull %5) #14
  %2874 = call zeroext i1 @s2n_result_is_ok(i32 %2873)
  br i1 %2874, label %2898, label %2875

2875:                                             ; preds = %2871
  %2876 = tail call ptr @__errno_location() #15
  %2877 = load i32, ptr %2876, align 4, !tbaa !5
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = call i32 @s2n_print_stacktrace(ptr noundef %2878) #14
  %2880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2881 = trunc nuw i8 %2880 to i1
  br i1 %2881, label %2882, label %2886

2882:                                             ; preds = %2875
  %2883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2884 = call i32 @fileno(ptr noundef %2883) #14
  %2885 = call i32 @isatty(i32 noundef %2884) #14
  %.not714 = icmp eq i32 %2885, 0
  br i1 %.not714, label %2886, label %2887

2886:                                             ; preds = %2882, %2875
  br label %2887

2887:                                             ; preds = %2882, %2886
  %.str.5.sink1775 = phi ptr [ @.str.5, %2886 ], [ @.str.2, %2882 ]
  store i32 %2877, ptr %2876, align 4, !tbaa !5
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = load i32, ptr @test_count, align 4, !tbaa !5
  %2890 = load i32, ptr %2107, align 4, !tbaa !5
  %2891 = call ptr @s2n_strerror(i32 noundef %2890, ptr noundef nonnull @.str.4) #14
  %2892 = load i32, ptr %2107, align 4, !tbaa !5
  %2893 = call ptr @s2n_strerror_debug(i32 noundef %2892, ptr noundef nonnull @.str.4) #14
  %2894 = load i32, ptr %2876, align 4, !tbaa !5
  %2895 = call ptr @strerror(i32 noundef %2894) #14
  %2896 = load i32, ptr %2876, align 4, !tbaa !5
  %2897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2888, ptr noundef nonnull %.str.5.sink1775, i32 noundef %2889, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %2891, ptr noundef %2893, ptr noundef %2895, i32 noundef %2896) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2898:                                             ; preds = %2871
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = add nsw i32 %2899, 1
  store i32 %2900, ptr @test_count, align 4, !tbaa !5
  %2901 = getelementptr inbounds i8, ptr %2347, i64 1896
  %2902 = call i32 @s2n_stuffer_wipe_n(ptr noundef nonnull %2901, i32 noundef 10) #14
  %2903 = icmp eq i32 %2902, -1
  br i1 %2903, label %2904, label %2927

2904:                                             ; preds = %2898
  %2905 = tail call ptr @__errno_location() #15
  %2906 = load i32, ptr %2905, align 4, !tbaa !5
  %2907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2908 = call i32 @s2n_print_stacktrace(ptr noundef %2907) #14
  %2909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2910 = trunc nuw i8 %2909 to i1
  br i1 %2910, label %2911, label %2915

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

2915:                                             ; preds = %2911, %2904
  br label %2916

2916:                                             ; preds = %2911, %2915
  %.str.5.sink1784 = phi ptr [ @.str.5, %2915 ], [ @.str.2, %2911 ]
  store i32 %2906, ptr %2905, align 4, !tbaa !5
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = load i32, ptr @test_count, align 4, !tbaa !5
  %2919 = load i32, ptr %2107, align 4, !tbaa !5
  %2920 = call ptr @s2n_strerror(i32 noundef %2919, ptr noundef nonnull @.str.4) #14
  %2921 = load i32, ptr %2107, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror_debug(i32 noundef %2921, ptr noundef nonnull @.str.4) #14
  %2923 = load i32, ptr %2905, align 4, !tbaa !5
  %2924 = call ptr @strerror(i32 noundef %2923) #14
  %2925 = load i32, ptr %2905, align 4, !tbaa !5
  %2926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2917, ptr noundef nonnull %.str.5.sink1784, i32 noundef %2918, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %2920, ptr noundef %2922, ptr noundef %2924, i32 noundef %2925) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2927:                                             ; preds = %2898
  %2928 = load i32, ptr @test_count, align 4, !tbaa !5
  %2929 = add nsw i32 %2928, 1
  store i32 %2929, ptr @test_count, align 4, !tbaa !5
  %2930 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %2901, i32 noundef 10) #14
  %2931 = icmp eq i32 %2930, -1
  br i1 %2931, label %2932, label %2955

2932:                                             ; preds = %2927
  %2933 = tail call ptr @__errno_location() #15
  %2934 = load i32, ptr %2933, align 4, !tbaa !5
  %2935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2936 = call i32 @s2n_print_stacktrace(ptr noundef %2935) #14
  %2937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2938 = trunc nuw i8 %2937 to i1
  br i1 %2938, label %2939, label %2943

2939:                                             ; preds = %2932
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = call i32 @fileno(ptr noundef %2940) #14
  %2942 = call i32 @isatty(i32 noundef %2941) #14
  %.not725 = icmp eq i32 %2942, 0
  br i1 %.not725, label %2943, label %2944

2943:                                             ; preds = %2939, %2932
  br label %2944

2944:                                             ; preds = %2939, %2943
  %.str.5.sink1793 = phi ptr [ @.str.5, %2943 ], [ @.str.2, %2939 ]
  store i32 %2934, ptr %2933, align 4, !tbaa !5
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = load i32, ptr @test_count, align 4, !tbaa !5
  %2947 = load i32, ptr %2107, align 4, !tbaa !5
  %2948 = call ptr @s2n_strerror(i32 noundef %2947, ptr noundef nonnull @.str.4) #14
  %2949 = load i32, ptr %2107, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror_debug(i32 noundef %2949, ptr noundef nonnull @.str.4) #14
  %2951 = load i32, ptr %2933, align 4, !tbaa !5
  %2952 = call ptr @strerror(i32 noundef %2951) #14
  %2953 = load i32, ptr %2933, align 4, !tbaa !5
  %2954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2945, ptr noundef nonnull %.str.5.sink1793, i32 noundef %2946, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %2948, ptr noundef %2950, ptr noundef %2952, i32 noundef %2953) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2955:                                             ; preds = %2927
  %2956 = load i32, ptr @test_count, align 4, !tbaa !5
  %2957 = add nsw i32 %2956, 1
  store i32 %2957, ptr @test_count, align 4, !tbaa !5
  %2958 = call i32 @s2n_flush(ptr noundef %2347, ptr noundef nonnull %28) #14
  %2959 = icmp eq i32 %2958, -1
  br i1 %2959, label %2960, label %2983

2960:                                             ; preds = %2955
  %2961 = tail call ptr @__errno_location() #15
  %2962 = load i32, ptr %2961, align 4, !tbaa !5
  %2963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2964 = call i32 @s2n_print_stacktrace(ptr noundef %2963) #14
  %2965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2966 = trunc nuw i8 %2965 to i1
  br i1 %2966, label %2967, label %2971

2967:                                             ; preds = %2960
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = call i32 @fileno(ptr noundef %2968) #14
  %2970 = call i32 @isatty(i32 noundef %2969) #14
  %.not724 = icmp eq i32 %2970, 0
  br i1 %.not724, label %2971, label %2972

2971:                                             ; preds = %2967, %2960
  br label %2972

2972:                                             ; preds = %2967, %2971
  %.str.5.sink1802 = phi ptr [ @.str.5, %2971 ], [ @.str.2, %2967 ]
  store i32 %2962, ptr %2961, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = load i32, ptr @test_count, align 4, !tbaa !5
  %2975 = load i32, ptr %2107, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror(i32 noundef %2975, ptr noundef nonnull @.str.4) #14
  %2977 = load i32, ptr %2107, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef nonnull @.str.4) #14
  %2979 = load i32, ptr %2961, align 4, !tbaa !5
  %2980 = call ptr @strerror(i32 noundef %2979) #14
  %2981 = load i32, ptr %2961, align 4, !tbaa !5
  %2982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2973, ptr noundef nonnull %.str.5.sink1802, i32 noundef %2974, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %2976, ptr noundef %2978, ptr noundef %2980, i32 noundef %2981) #16
  call void @exit(i32 noundef 1) #17
  unreachable

2983:                                             ; preds = %2955
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %33) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %33, i8 0, i64 100, i1 false)
  %2984 = call i64 @s2n_recv(ptr noundef nonnull %2342, ptr noundef nonnull %33, i64 noundef 100, ptr noundef nonnull %28) #14
  %2985 = load i32, ptr @test_count, align 4, !tbaa !5
  %2986 = add nsw i32 %2985, 1
  store i32 %2986, ptr @test_count, align 4, !tbaa !5
  %2987 = and i64 %2984, 4294967295
  %2988 = icmp eq i64 %2987, 4294967295
  br i1 %2988, label %3012, label %2989

2989:                                             ; preds = %2983
  %2990 = tail call ptr @__errno_location() #15
  %2991 = load i32, ptr %2990, align 4, !tbaa !5
  %2992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2993 = call i32 @s2n_print_stacktrace(ptr noundef %2992) #14
  %2994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2995 = trunc nuw i8 %2994 to i1
  br i1 %2995, label %2996, label %3000

2996:                                             ; preds = %2989
  %2997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2998 = call i32 @fileno(ptr noundef %2997) #14
  %2999 = call i32 @isatty(i32 noundef %2998) #14
  %.not715 = icmp eq i32 %2999, 0
  br i1 %.not715, label %3000, label %3001

3000:                                             ; preds = %2996, %2989
  br label %3001

3001:                                             ; preds = %2996, %3000
  %.str.5.sink1811 = phi ptr [ @.str.5, %3000 ], [ @.str.2, %2996 ]
  store i32 %2991, ptr %2990, align 4, !tbaa !5
  %3002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3003 = load i32, ptr @test_count, align 4, !tbaa !5
  %3004 = load i32, ptr %2107, align 4, !tbaa !5
  %3005 = call ptr @s2n_strerror(i32 noundef %3004, ptr noundef nonnull @.str.4) #14
  %3006 = load i32, ptr %2107, align 4, !tbaa !5
  %3007 = call ptr @s2n_strerror_debug(i32 noundef %3006, ptr noundef nonnull @.str.4) #14
  %3008 = load i32, ptr %2990, align 4, !tbaa !5
  %3009 = call ptr @strerror(i32 noundef %3008) #14
  %3010 = load i32, ptr %2990, align 4, !tbaa !5
  %3011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3002, ptr noundef nonnull %.str.5.sink1811, i32 noundef %3003, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %3005, ptr noundef %3007, ptr noundef %3009, i32 noundef %3010) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3012:                                             ; preds = %2983
  %3013 = add nsw i32 %2985, 2
  store i32 %3013, ptr @test_count, align 4, !tbaa !5
  %3014 = load i32, ptr %2107, align 4, !tbaa !5
  %3015 = icmp eq i32 %3014, 67108864
  br i1 %3015, label %3039, label %3016

3016:                                             ; preds = %3012
  %3017 = tail call ptr @__errno_location() #15
  %3018 = load i32, ptr %3017, align 4, !tbaa !5
  %3019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3020 = call i32 @s2n_print_stacktrace(ptr noundef %3019) #14
  %3021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3022 = trunc nuw i8 %3021 to i1
  br i1 %3022, label %3023, label %3027

3023:                                             ; preds = %3016
  %3024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3025 = call i32 @fileno(ptr noundef %3024) #14
  %3026 = call i32 @isatty(i32 noundef %3025) #14
  %.not716 = icmp eq i32 %3026, 0
  br i1 %.not716, label %3027, label %3028

3027:                                             ; preds = %3023, %3016
  br label %3028

3028:                                             ; preds = %3023, %3027
  %.str.5.sink1820 = phi ptr [ @.str.5, %3027 ], [ @.str.2, %3023 ]
  store i32 %3018, ptr %3017, align 4, !tbaa !5
  %3029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = load i32, ptr %2107, align 4, !tbaa !5
  %3032 = call ptr @s2n_strerror(i32 noundef %3031, ptr noundef nonnull @.str.4) #14
  %3033 = load i32, ptr %2107, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror_debug(i32 noundef %3033, ptr noundef nonnull @.str.4) #14
  %3035 = load i32, ptr %3017, align 4, !tbaa !5
  %3036 = call ptr @strerror(i32 noundef %3035) #14
  %3037 = load i32, ptr %3017, align 4, !tbaa !5
  %3038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3029, ptr noundef nonnull %.str.5.sink1820, i32 noundef %3030, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %3032, ptr noundef %3034, ptr noundef %3036, i32 noundef %3037) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3039:                                             ; preds = %3012
  %3040 = add nsw i32 %2985, 3
  store i32 %3040, ptr @test_count, align 4, !tbaa !5
  %3041 = call ptr @s2n_strerror_debug(i32 noundef 67108864, ptr noundef nonnull @.str.4) #14
  %3042 = icmp eq ptr %3041, null
  br i1 %3042, label %3043, label %3066

3043:                                             ; preds = %3039
  %3044 = tail call ptr @__errno_location() #15
  %3045 = load i32, ptr %3044, align 4, !tbaa !5
  %3046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3047 = call i32 @s2n_print_stacktrace(ptr noundef %3046) #14
  %3048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3049 = trunc nuw i8 %3048 to i1
  br i1 %3049, label %3050, label %3054

3050:                                             ; preds = %3043
  %3051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3052 = call i32 @fileno(ptr noundef %3051) #14
  %3053 = call i32 @isatty(i32 noundef %3052) #14
  %.not723 = icmp eq i32 %3053, 0
  br i1 %.not723, label %3054, label %3055

3054:                                             ; preds = %3050, %3043
  br label %3055

3055:                                             ; preds = %3050, %3054
  %.str.5.sink1829 = phi ptr [ @.str.5, %3054 ], [ @.str.2, %3050 ]
  store i32 %3045, ptr %3044, align 4, !tbaa !5
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = load i32, ptr @test_count, align 4, !tbaa !5
  %3058 = load i32, ptr %2107, align 4, !tbaa !5
  %3059 = call ptr @s2n_strerror(i32 noundef %3058, ptr noundef nonnull @.str.4) #14
  %3060 = load i32, ptr %2107, align 4, !tbaa !5
  %3061 = call ptr @s2n_strerror_debug(i32 noundef %3060, ptr noundef nonnull @.str.4) #14
  %3062 = load i32, ptr %3044, align 4, !tbaa !5
  %3063 = call ptr @strerror(i32 noundef %3062) #14
  %3064 = load i32, ptr %3044, align 4, !tbaa !5
  %3065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3056, ptr noundef nonnull %.str.5.sink1829, i32 noundef %3057, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 392, ptr noundef %3059, ptr noundef %3061, ptr noundef %3063, i32 noundef %3064) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3066:                                             ; preds = %3039
  store i32 0, ptr %2107, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #14
  %3067 = tail call ptr @__errno_location() #15
  store i32 0, ptr %3067, align 4, !tbaa !5
  %3068 = load i32, ptr @test_count, align 4, !tbaa !5
  %3069 = add nsw i32 %3068, 1
  store i32 %3069, ptr @test_count, align 4, !tbaa !5
  %3070 = load i32, ptr %28, align 4, !tbaa !5
  %3071 = icmp eq i32 %3070, 1
  br i1 %3071, label %3094, label %3072

3072:                                             ; preds = %3066
  %3073 = load i32, ptr %3067, align 4, !tbaa !5
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = call i32 @s2n_print_stacktrace(ptr noundef %3074) #14
  %3076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3077 = trunc nuw i8 %3076 to i1
  br i1 %3077, label %3078, label %3082

3078:                                             ; preds = %3072
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3080 = call i32 @fileno(ptr noundef %3079) #14
  %3081 = call i32 @isatty(i32 noundef %3080) #14
  %.not717 = icmp eq i32 %3081, 0
  br i1 %.not717, label %3082, label %3083

3082:                                             ; preds = %3078, %3072
  br label %3083

3083:                                             ; preds = %3078, %3082
  %.str.5.sink1838 = phi ptr [ @.str.5, %3082 ], [ @.str.2, %3078 ]
  store i32 %3073, ptr %3067, align 4, !tbaa !5
  %3084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3085 = load i32, ptr @test_count, align 4, !tbaa !5
  %3086 = load i32, ptr %2107, align 4, !tbaa !5
  %3087 = call ptr @s2n_strerror(i32 noundef %3086, ptr noundef nonnull @.str.4) #14
  %3088 = load i32, ptr %2107, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror_debug(i32 noundef %3088, ptr noundef nonnull @.str.4) #14
  %3090 = load i32, ptr %3067, align 4, !tbaa !5
  %3091 = call ptr @strerror(i32 noundef %3090) #14
  %3092 = load i32, ptr %3067, align 4, !tbaa !5
  %3093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3084, ptr noundef nonnull %.str.5.sink1838, i32 noundef %3085, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %3087, ptr noundef %3089, ptr noundef %3091, i32 noundef %3092) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3094:                                             ; preds = %3066
  %3095 = add nsw i32 %3068, 2
  store i32 %3095, ptr @test_count, align 4, !tbaa !5
  %3096 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef nonnull %2342, i32 noundef 3) #14
  br i1 %3096, label %3119, label %3097

3097:                                             ; preds = %3094
  %3098 = load i32, ptr %3067, align 4, !tbaa !5
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = call i32 @s2n_print_stacktrace(ptr noundef %3099) #14
  %3101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3102 = trunc nuw i8 %3101 to i1
  br i1 %3102, label %3103, label %3107

3103:                                             ; preds = %3097
  %3104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3105 = call i32 @fileno(ptr noundef %3104) #14
  %3106 = call i32 @isatty(i32 noundef %3105) #14
  %.not718 = icmp eq i32 %3106, 0
  br i1 %.not718, label %3107, label %3108

3107:                                             ; preds = %3103, %3097
  br label %3108

3108:                                             ; preds = %3103, %3107
  %.str.5.sink1847 = phi ptr [ @.str.5, %3107 ], [ @.str.2, %3103 ]
  store i32 %3098, ptr %3067, align 4, !tbaa !5
  %3109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3110 = load i32, ptr @test_count, align 4, !tbaa !5
  %3111 = load i32, ptr %2107, align 4, !tbaa !5
  %3112 = call ptr @s2n_strerror(i32 noundef %3111, ptr noundef nonnull @.str.4) #14
  %3113 = load i32, ptr %2107, align 4, !tbaa !5
  %3114 = call ptr @s2n_strerror_debug(i32 noundef %3113, ptr noundef nonnull @.str.4) #14
  %3115 = load i32, ptr %3067, align 4, !tbaa !5
  %3116 = call ptr @strerror(i32 noundef %3115) #14
  %3117 = load i32, ptr %3067, align 4, !tbaa !5
  %3118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3109, ptr noundef nonnull %.str.5.sink1847, i32 noundef %3110, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %3112, ptr noundef %3114, ptr noundef %3116, i32 noundef %3117) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3119:                                             ; preds = %3094
  %3120 = load i32, ptr @test_count, align 4, !tbaa !5
  %3121 = add nsw i32 %3120, 1
  store i32 %3121, ptr @test_count, align 4, !tbaa !5
  %3122 = call i64 @s2n_connection_get_delay(ptr noundef nonnull %2342) #14
  %.not719 = icmp eq i64 %3122, 0
  br i1 %.not719, label %3123, label %3145

3123:                                             ; preds = %3119
  %3124 = load i32, ptr %3067, align 4, !tbaa !5
  %3125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3126 = call i32 @s2n_print_stacktrace(ptr noundef %3125) #14
  %3127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3128 = trunc nuw i8 %3127 to i1
  br i1 %3128, label %3129, label %3133

3129:                                             ; preds = %3123
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @fileno(ptr noundef %3130) #14
  %3132 = call i32 @isatty(i32 noundef %3131) #14
  %.not720 = icmp eq i32 %3132, 0
  br i1 %.not720, label %3133, label %3134

3133:                                             ; preds = %3129, %3123
  br label %3134

3134:                                             ; preds = %3129, %3133
  %.str.5.sink1856 = phi ptr [ @.str.5, %3133 ], [ @.str.2, %3129 ]
  store i32 %3124, ptr %3067, align 4, !tbaa !5
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = load i32, ptr @test_count, align 4, !tbaa !5
  %3137 = load i32, ptr %2107, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror(i32 noundef %3137, ptr noundef nonnull @.str.4) #14
  %3139 = load i32, ptr %2107, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror_debug(i32 noundef %3139, ptr noundef nonnull @.str.4) #14
  %3141 = load i32, ptr %3067, align 4, !tbaa !5
  %3142 = call ptr @strerror(i32 noundef %3141) #14
  %3143 = load i32, ptr %3067, align 4, !tbaa !5
  %3144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3135, ptr noundef nonnull %.str.5.sink1856, i32 noundef %3136, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 397, ptr noundef %3138, ptr noundef %3140, ptr noundef %3142, i32 noundef %3143) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3145:                                             ; preds = %3119
  %3146 = load i32, ptr @test_count, align 4, !tbaa !5
  %3147 = add nsw i32 %3146, 1
  store i32 %3147, ptr @test_count, align 4, !tbaa !5
  %3148 = call i64 @s2n_connection_get_delay(ptr noundef nonnull %2342) #14
  %.not721 = icmp eq i64 %3148, -1
  br i1 %.not721, label %3149, label %3171

3149:                                             ; preds = %3145
  %3150 = load i32, ptr %3067, align 4, !tbaa !5
  %3151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3152 = call i32 @s2n_print_stacktrace(ptr noundef %3151) #14
  %3153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3154 = trunc nuw i8 %3153 to i1
  br i1 %3154, label %3155, label %3159

3155:                                             ; preds = %3149
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @fileno(ptr noundef %3156) #14
  %3158 = call i32 @isatty(i32 noundef %3157) #14
  %.not722 = icmp eq i32 %3158, 0
  br i1 %.not722, label %3159, label %3160

3159:                                             ; preds = %3155, %3149
  br label %3160

3160:                                             ; preds = %3155, %3159
  %.str.5.sink1865 = phi ptr [ @.str.5, %3159 ], [ @.str.2, %3155 ]
  store i32 %3150, ptr %3067, align 4, !tbaa !5
  %3161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3162 = load i32, ptr @test_count, align 4, !tbaa !5
  %3163 = load i32, ptr %2107, align 4, !tbaa !5
  %3164 = call ptr @s2n_strerror(i32 noundef %3163, ptr noundef nonnull @.str.4) #14
  %3165 = load i32, ptr %2107, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror_debug(i32 noundef %3165, ptr noundef nonnull @.str.4) #14
  %3167 = load i32, ptr %3067, align 4, !tbaa !5
  %3168 = call ptr @strerror(i32 noundef %3167) #14
  %3169 = load i32, ptr %3067, align 4, !tbaa !5
  %3170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3161, ptr noundef nonnull %.str.5.sink1865, i32 noundef %3162, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %3164, ptr noundef %3166, ptr noundef %3168, i32 noundef %3169) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3171:                                             ; preds = %3145
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %33) #14
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #14
  %3172 = call i32 @s2n_io_pair_close(ptr noundef nonnull %26) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #14
  %3173 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %25) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #14
  %3174 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #14
  br i1 %2109, label %2108, label %._crit_edge, !llvm.loop !50

._crit_edge:                                      ; preds = %3171
  br i1 %.1570, label %3175, label %._crit_edge865

3175:                                             ; preds = %._crit_edge
  %3176 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #14
  br i1 %3176, label %3177, label %.lr.ph864

3177:                                             ; preds = %3175
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #14
  %3178 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %3178, ptr %34, align 8, !tbaa !9
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = add nsw i32 %3179, 1
  store i32 %3180, ptr @test_count, align 4, !tbaa !5
  %3181 = icmp eq ptr %3178, null
  br i1 %3181, label %3182, label %3206

3182:                                             ; preds = %3177
  %3183 = tail call ptr @__errno_location() #15
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3186 = call i32 @s2n_print_stacktrace(ptr noundef %3185) #14
  %3187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3188 = trunc nuw i8 %3187 to i1
  br i1 %3188, label %3189, label %3193

3189:                                             ; preds = %3182
  %3190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3191 = call i32 @fileno(ptr noundef %3190) #14
  %3192 = call i32 @isatty(i32 noundef %3191) #14
  %.not710 = icmp eq i32 %3192, 0
  br i1 %.not710, label %3193, label %3194

3193:                                             ; preds = %3189, %3182
  br label %3194

3194:                                             ; preds = %3189, %3193
  %.str.5.sink1874 = phi ptr [ @.str.5, %3193 ], [ @.str.2, %3189 ]
  store i32 %3184, ptr %3183, align 4, !tbaa !5
  %3195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3196 = load i32, ptr @test_count, align 4, !tbaa !5
  %3197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror(i32 noundef %3198, ptr noundef nonnull @.str.4) #14
  %3200 = load i32, ptr %3197, align 4, !tbaa !5
  %3201 = call ptr @s2n_strerror_debug(i32 noundef %3200, ptr noundef nonnull @.str.4) #14
  %3202 = load i32, ptr %3183, align 4, !tbaa !5
  %3203 = call ptr @strerror(i32 noundef %3202) #14
  %3204 = load i32, ptr %3183, align 4, !tbaa !5
  %3205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3195, ptr noundef nonnull %.str.5.sink1874, i32 noundef %3196, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %3199, ptr noundef %3201, ptr noundef %3203, i32 noundef %3204) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3206:                                             ; preds = %3177
  %3207 = add nsw i32 %3179, 2
  store i32 %3207, ptr @test_count, align 4, !tbaa !5
  %3208 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3178, ptr noundef %354) #14
  %3209 = icmp eq i32 %3208, -1
  br i1 %3209, label %3210, label %3234

3210:                                             ; preds = %3206
  %3211 = tail call ptr @__errno_location() #15
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3214 = call i32 @s2n_print_stacktrace(ptr noundef %3213) #14
  %3215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3216 = trunc nuw i8 %3215 to i1
  br i1 %3216, label %3217, label %3221

3217:                                             ; preds = %3210
  %3218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3219 = call i32 @fileno(ptr noundef %3218) #14
  %3220 = call i32 @isatty(i32 noundef %3219) #14
  %.not709 = icmp eq i32 %3220, 0
  br i1 %.not709, label %3221, label %3222

3221:                                             ; preds = %3217, %3210
  br label %3222

3222:                                             ; preds = %3217, %3221
  %.str.5.sink1885 = phi ptr [ @.str.5, %3221 ], [ @.str.2, %3217 ]
  store i32 %3212, ptr %3211, align 4, !tbaa !5
  %3223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3224 = load i32, ptr @test_count, align 4, !tbaa !5
  %3225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3226 = load i32, ptr %3225, align 4, !tbaa !5
  %3227 = call ptr @s2n_strerror(i32 noundef %3226, ptr noundef nonnull @.str.4) #14
  %3228 = load i32, ptr %3225, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror_debug(i32 noundef %3228, ptr noundef nonnull @.str.4) #14
  %3230 = load i32, ptr %3211, align 4, !tbaa !5
  %3231 = call ptr @strerror(i32 noundef %3230) #14
  %3232 = load i32, ptr %3211, align 4, !tbaa !5
  %3233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3223, ptr noundef nonnull %.str.5.sink1885, i32 noundef %3224, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %3227, ptr noundef %3229, ptr noundef %3231, i32 noundef %3232) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3234:                                             ; preds = %3206
  %3235 = load i32, ptr @test_count, align 4, !tbaa !5
  %3236 = add nsw i32 %3235, 1
  store i32 %3236, ptr @test_count, align 4, !tbaa !5
  %3237 = load ptr, ptr %34, align 8, !tbaa !9
  %3238 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %3237, ptr noundef nonnull @.str.68) #14
  %3239 = icmp eq i32 %3238, -1
  br i1 %3239, label %3240, label %3264

3240:                                             ; preds = %3234
  %3241 = tail call ptr @__errno_location() #15
  %3242 = load i32, ptr %3241, align 4, !tbaa !5
  %3243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3244 = call i32 @s2n_print_stacktrace(ptr noundef %3243) #14
  %3245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3246 = trunc nuw i8 %3245 to i1
  br i1 %3246, label %3247, label %3251

3247:                                             ; preds = %3240
  %3248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3249 = call i32 @fileno(ptr noundef %3248) #14
  %3250 = call i32 @isatty(i32 noundef %3249) #14
  %.not708 = icmp eq i32 %3250, 0
  br i1 %.not708, label %3251, label %3252

3251:                                             ; preds = %3247, %3240
  br label %3252

3252:                                             ; preds = %3247, %3251
  %.str.5.sink1896 = phi ptr [ @.str.5, %3251 ], [ @.str.2, %3247 ]
  store i32 %3242, ptr %3241, align 4, !tbaa !5
  %3253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3254 = load i32, ptr @test_count, align 4, !tbaa !5
  %3255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3256 = load i32, ptr %3255, align 4, !tbaa !5
  %3257 = call ptr @s2n_strerror(i32 noundef %3256, ptr noundef nonnull @.str.4) #14
  %3258 = load i32, ptr %3255, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror_debug(i32 noundef %3258, ptr noundef nonnull @.str.4) #14
  %3260 = load i32, ptr %3241, align 4, !tbaa !5
  %3261 = call ptr @strerror(i32 noundef %3260) #14
  %3262 = load i32, ptr %3241, align 4, !tbaa !5
  %3263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3253, ptr noundef nonnull %.str.5.sink1896, i32 noundef %3254, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %3257, ptr noundef %3259, ptr noundef %3261, i32 noundef %3262) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3264:                                             ; preds = %3234
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #14
  %3265 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %3265, ptr %35, align 8, !tbaa !9
  %3266 = load i32, ptr @test_count, align 4, !tbaa !5
  %3267 = add nsw i32 %3266, 1
  store i32 %3267, ptr @test_count, align 4, !tbaa !5
  %3268 = icmp eq ptr %3265, null
  br i1 %3268, label %3269, label %3293

3269:                                             ; preds = %3264
  %3270 = tail call ptr @__errno_location() #15
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @s2n_print_stacktrace(ptr noundef %3272) #14
  %3274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3275 = trunc nuw i8 %3274 to i1
  br i1 %3275, label %3276, label %3280

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

3280:                                             ; preds = %3276, %3269
  br label %3281

3281:                                             ; preds = %3276, %3280
  %.str.5.sink1907 = phi ptr [ @.str.5, %3280 ], [ @.str.2, %3276 ]
  store i32 %3271, ptr %3270, align 4, !tbaa !5
  %3282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3283 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3285, ptr noundef nonnull @.str.4) #14
  %3287 = load i32, ptr %3284, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror_debug(i32 noundef %3287, ptr noundef nonnull @.str.4) #14
  %3289 = load i32, ptr %3270, align 4, !tbaa !5
  %3290 = call ptr @strerror(i32 noundef %3289) #14
  %3291 = load i32, ptr %3270, align 4, !tbaa !5
  %3292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3282, ptr noundef nonnull %.str.5.sink1907, i32 noundef %3283, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %3286, ptr noundef %3288, ptr noundef %3290, i32 noundef %3291) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3293:                                             ; preds = %3264
  %3294 = add nsw i32 %3266, 2
  store i32 %3294, ptr @test_count, align 4, !tbaa !5
  %3295 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3265, ptr noundef %354) #14
  %3296 = icmp eq i32 %3295, -1
  br i1 %3296, label %3297, label %3321

3297:                                             ; preds = %3293
  %3298 = tail call ptr @__errno_location() #15
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = call i32 @s2n_print_stacktrace(ptr noundef %3300) #14
  %3302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3303 = trunc nuw i8 %3302 to i1
  br i1 %3303, label %3304, label %3308

3304:                                             ; preds = %3297
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = call i32 @fileno(ptr noundef %3305) #14
  %3307 = call i32 @isatty(i32 noundef %3306) #14
  %.not706 = icmp eq i32 %3307, 0
  br i1 %.not706, label %3308, label %3309

3308:                                             ; preds = %3304, %3297
  br label %3309

3309:                                             ; preds = %3304, %3308
  %.str.5.sink1918 = phi ptr [ @.str.5, %3308 ], [ @.str.2, %3304 ]
  store i32 %3299, ptr %3298, align 4, !tbaa !5
  %3310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror(i32 noundef %3313, ptr noundef nonnull @.str.4) #14
  %3315 = load i32, ptr %3312, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef nonnull @.str.4) #14
  %3317 = load i32, ptr %3298, align 4, !tbaa !5
  %3318 = call ptr @strerror(i32 noundef %3317) #14
  %3319 = load i32, ptr %3298, align 4, !tbaa !5
  %3320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3310, ptr noundef nonnull %.str.5.sink1918, i32 noundef %3311, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %3314, ptr noundef %3316, ptr noundef %3318, i32 noundef %3319) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3321:                                             ; preds = %3293
  %3322 = load i32, ptr @test_count, align 4, !tbaa !5
  %3323 = add nsw i32 %3322, 1
  store i32 %3323, ptr @test_count, align 4, !tbaa !5
  %3324 = load ptr, ptr %35, align 8, !tbaa !9
  %3325 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %3324, ptr noundef nonnull @.str.68) #14
  %3326 = icmp eq i32 %3325, -1
  br i1 %3326, label %3327, label %3351

3327:                                             ; preds = %3321
  %3328 = tail call ptr @__errno_location() #15
  %3329 = load i32, ptr %3328, align 4, !tbaa !5
  %3330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3331 = call i32 @s2n_print_stacktrace(ptr noundef %3330) #14
  %3332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3333 = trunc nuw i8 %3332 to i1
  br i1 %3333, label %3334, label %3338

3334:                                             ; preds = %3327
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @fileno(ptr noundef %3335) #14
  %3337 = call i32 @isatty(i32 noundef %3336) #14
  %.not705 = icmp eq i32 %3337, 0
  br i1 %.not705, label %3338, label %3339

3338:                                             ; preds = %3334, %3327
  br label %3339

3339:                                             ; preds = %3334, %3338
  %.str.5.sink1929 = phi ptr [ @.str.5, %3338 ], [ @.str.2, %3334 ]
  store i32 %3329, ptr %3328, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = load i32, ptr @test_count, align 4, !tbaa !5
  %3342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call ptr @s2n_strerror(i32 noundef %3343, ptr noundef nonnull @.str.4) #14
  %3345 = load i32, ptr %3342, align 4, !tbaa !5
  %3346 = call ptr @s2n_strerror_debug(i32 noundef %3345, ptr noundef nonnull @.str.4) #14
  %3347 = load i32, ptr %3328, align 4, !tbaa !5
  %3348 = call ptr @strerror(i32 noundef %3347) #14
  %3349 = load i32, ptr %3328, align 4, !tbaa !5
  %3350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3340, ptr noundef nonnull %.str.5.sink1929, i32 noundef %3341, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %3344, ptr noundef %3346, ptr noundef %3348, i32 noundef %3349) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3351:                                             ; preds = %3321
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #14
  store i64 0, ptr %36, align 8
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = add nsw i32 %3352, 1
  store i32 %3353, ptr @test_count, align 4, !tbaa !5
  %3354 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %36)
  %3355 = call zeroext i1 @s2n_result_is_ok(i32 %3354)
  br i1 %3355, label %3380, label %3356

3356:                                             ; preds = %3351
  %3357 = tail call ptr @__errno_location() #15
  %3358 = load i32, ptr %3357, align 4, !tbaa !5
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = call i32 @s2n_print_stacktrace(ptr noundef %3359) #14
  %3361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3362 = trunc nuw i8 %3361 to i1
  br i1 %3362, label %3363, label %3367

3363:                                             ; preds = %3356
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = call i32 @fileno(ptr noundef %3364) #14
  %3366 = call i32 @isatty(i32 noundef %3365) #14
  %.not619 = icmp eq i32 %3366, 0
  br i1 %.not619, label %3367, label %3368

3367:                                             ; preds = %3363, %3356
  br label %3368

3368:                                             ; preds = %3363, %3367
  %.str.5.sink1940 = phi ptr [ @.str.5, %3367 ], [ @.str.2, %3363 ]
  store i32 %3358, ptr %3357, align 4, !tbaa !5
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3372, ptr noundef nonnull @.str.4) #14
  %3374 = load i32, ptr %3371, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror_debug(i32 noundef %3374, ptr noundef nonnull @.str.4) #14
  %3376 = load i32, ptr %3357, align 4, !tbaa !5
  %3377 = call ptr @strerror(i32 noundef %3376) #14
  %3378 = load i32, ptr %3357, align 4, !tbaa !5
  %3379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3369, ptr noundef nonnull %.str.5.sink1940, i32 noundef %3370, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %3373, ptr noundef %3375, ptr noundef %3377, i32 noundef %3378) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3380:                                             ; preds = %3351
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = add nsw i32 %3381, 1
  store i32 %3382, ptr @test_count, align 4, !tbaa !5
  %3383 = load ptr, ptr %35, align 8, !tbaa !9
  %3384 = load ptr, ptr %34, align 8, !tbaa !9
  %3385 = call i32 @s2n_setup_connections(ptr noundef %3383, ptr noundef %3384, ptr noundef nonnull %36)
  %3386 = call zeroext i1 @s2n_result_is_ok(i32 %3385)
  br i1 %3386, label %3411, label %3387

3387:                                             ; preds = %3380
  %3388 = tail call ptr @__errno_location() #15
  %3389 = load i32, ptr %3388, align 4, !tbaa !5
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @s2n_print_stacktrace(ptr noundef %3390) #14
  %3392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3393 = trunc nuw i8 %3392 to i1
  br i1 %3393, label %3394, label %3398

3394:                                             ; preds = %3387
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = call i32 @fileno(ptr noundef %3395) #14
  %3397 = call i32 @isatty(i32 noundef %3396) #14
  %.not620 = icmp eq i32 %3397, 0
  br i1 %.not620, label %3398, label %3399

3398:                                             ; preds = %3394, %3387
  br label %3399

3399:                                             ; preds = %3394, %3398
  %.str.5.sink1951 = phi ptr [ @.str.5, %3398 ], [ @.str.2, %3394 ]
  store i32 %3389, ptr %3388, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = load i32, ptr @test_count, align 4, !tbaa !5
  %3402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call ptr @s2n_strerror(i32 noundef %3403, ptr noundef nonnull @.str.4) #14
  %3405 = load i32, ptr %3402, align 4, !tbaa !5
  %3406 = call ptr @s2n_strerror_debug(i32 noundef %3405, ptr noundef nonnull @.str.4) #14
  %3407 = load i32, ptr %3388, align 4, !tbaa !5
  %3408 = call ptr @strerror(i32 noundef %3407) #14
  %3409 = load i32, ptr %3388, align 4, !tbaa !5
  %3410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3400, ptr noundef nonnull %.str.5.sink1951, i32 noundef %3401, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 418, ptr noundef %3404, ptr noundef %3406, ptr noundef %3408, i32 noundef %3409) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3411:                                             ; preds = %3380
  %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 %34, align 8, !tbaa !9
  %3415 = getelementptr inbounds i8, ptr %3414, i64 220
  %3416 = load i8, ptr %3415, align 4, !tbaa !24
  %3417 = icmp eq i8 %3416, 34
  br i1 %3417, label %3442, label %3418

3418:                                             ; preds = %3411
  %3419 = tail call ptr @__errno_location() #15
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3422 = call i32 @s2n_print_stacktrace(ptr noundef %3421) #14
  %3423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3424 = trunc nuw i8 %3423 to i1
  br i1 %3424, label %3425, label %3429

3425:                                             ; preds = %3418
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = call i32 @fileno(ptr noundef %3426) #14
  %3428 = call i32 @isatty(i32 noundef %3427) #14
  %.not621 = icmp eq i32 %3428, 0
  br i1 %.not621, label %3429, label %3430

3429:                                             ; preds = %3425, %3418
  br label %3430

3430:                                             ; preds = %3425, %3429
  %.str.5.sink1962 = phi ptr [ @.str.5, %3429 ], [ @.str.2, %3425 ]
  store i32 %3420, ptr %3419, align 4, !tbaa !5
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = load i32, ptr @test_count, align 4, !tbaa !5
  %3433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3434 = load i32, ptr %3433, align 4, !tbaa !5
  %3435 = call ptr @s2n_strerror(i32 noundef %3434, ptr noundef nonnull @.str.4) #14
  %3436 = load i32, ptr %3433, align 4, !tbaa !5
  %3437 = call ptr @s2n_strerror_debug(i32 noundef %3436, ptr noundef nonnull @.str.4) #14
  %3438 = load i32, ptr %3419, align 4, !tbaa !5
  %3439 = call ptr @strerror(i32 noundef %3438) #14
  %3440 = load i32, ptr %3419, align 4, !tbaa !5
  %3441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3431, ptr noundef nonnull %.str.5.sink1962, i32 noundef %3432, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %3435, ptr noundef %3437, ptr noundef %3439, i32 noundef %3440) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3442:                                             ; preds = %3411
  %3443 = add nsw i32 %3412, 2
  store i32 %3443, ptr @test_count, align 4, !tbaa !5
  %3444 = load ptr, ptr %35, align 8, !tbaa !9
  %3445 = getelementptr inbounds i8, ptr %3444, i64 220
  %3446 = load i8, ptr %3445, align 4, !tbaa !24
  %3447 = icmp eq i8 %3446, 34
  br i1 %3447, label %3472, label %3448

3448:                                             ; preds = %3442
  %3449 = tail call ptr @__errno_location() #15
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = call i32 @s2n_print_stacktrace(ptr noundef %3451) #14
  %3453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3454 = trunc nuw i8 %3453 to i1
  br i1 %3454, label %3455, label %3459

3455:                                             ; preds = %3448
  %3456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3457 = call i32 @fileno(ptr noundef %3456) #14
  %3458 = call i32 @isatty(i32 noundef %3457) #14
  %.not622 = icmp eq i32 %3458, 0
  br i1 %.not622, label %3459, label %3460

3459:                                             ; preds = %3455, %3448
  br label %3460

3460:                                             ; preds = %3455, %3459
  %.str.5.sink1973 = phi ptr [ @.str.5, %3459 ], [ @.str.2, %3455 ]
  store i32 %3450, ptr %3449, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = load i32, ptr @test_count, align 4, !tbaa !5
  %3463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3464 = load i32, ptr %3463, align 4, !tbaa !5
  %3465 = call ptr @s2n_strerror(i32 noundef %3464, ptr noundef nonnull @.str.4) #14
  %3466 = load i32, ptr %3463, align 4, !tbaa !5
  %3467 = call ptr @s2n_strerror_debug(i32 noundef %3466, ptr noundef nonnull @.str.4) #14
  %3468 = load i32, ptr %3449, align 4, !tbaa !5
  %3469 = call ptr @strerror(i32 noundef %3468) #14
  %3470 = load i32, ptr %3449, align 4, !tbaa !5
  %3471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3461, ptr noundef nonnull %.str.5.sink1973, i32 noundef %3462, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %3465, ptr noundef %3467, ptr noundef %3469, i32 noundef %3470) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3472:                                             ; preds = %3442
  %3473 = add nsw i32 %3412, 3
  store i32 %3473, ptr @test_count, align 4, !tbaa !5
  %3474 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef nonnull %3414) #14
  %3475 = icmp eq i32 %3474, -1
  br i1 %3475, label %3476, label %3500

3476:                                             ; preds = %3472
  %3477 = tail call ptr @__errno_location() #15
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @s2n_print_stacktrace(ptr noundef %3479) #14
  %3481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3482 = trunc nuw i8 %3481 to i1
  br i1 %3482, label %3483, label %3487

3483:                                             ; preds = %3476
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = call i32 @fileno(ptr noundef %3484) #14
  %3486 = call i32 @isatty(i32 noundef %3485) #14
  %.not704 = icmp eq i32 %3486, 0
  br i1 %.not704, label %3487, label %3488

3487:                                             ; preds = %3483, %3476
  br label %3488

3488:                                             ; preds = %3483, %3487
  %.str.5.sink1984 = phi ptr [ @.str.5, %3487 ], [ @.str.2, %3483 ]
  store i32 %3478, ptr %3477, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3492 = load i32, ptr %3491, align 4, !tbaa !5
  %3493 = call ptr @s2n_strerror(i32 noundef %3492, ptr noundef nonnull @.str.4) #14
  %3494 = load i32, ptr %3491, align 4, !tbaa !5
  %3495 = call ptr @s2n_strerror_debug(i32 noundef %3494, ptr noundef nonnull @.str.4) #14
  %3496 = load i32, ptr %3477, align 4, !tbaa !5
  %3497 = call ptr @strerror(i32 noundef %3496) #14
  %3498 = load i32, ptr %3477, align 4, !tbaa !5
  %3499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3489, ptr noundef nonnull %.str.5.sink1984, i32 noundef %3490, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %3493, ptr noundef %3495, ptr noundef %3497, i32 noundef %3498) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3500:                                             ; preds = %3472
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #14
  store i32 0, ptr %37, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %38) #14
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(14) %38, ptr noundef nonnull align 1 dereferenceable(14) @__const.main.control_record_data.73, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %39) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %39, i8 0, i64 24, i1 false)
  %3501 = load i32, ptr @test_count, align 4, !tbaa !5
  %3502 = add nsw i32 %3501, 1
  store i32 %3502, ptr @test_count, align 4, !tbaa !5
  %3503 = call i32 @s2n_blob_init(ptr noundef nonnull %39, ptr noundef nonnull %38, i32 noundef 14) #14
  %3504 = icmp eq i32 %3503, -1
  br i1 %3504, label %3509, label %.preheader828.preheader

.preheader828.preheader:                          ; preds = %3500
  %3505 = load i32, ptr @test_count, align 4, !tbaa !5
  %3506 = add nsw i32 %3505, 1
  store i32 %3506, ptr @test_count, align 4, !tbaa !5
  %3507 = call i32 @s2n_record_write(ptr noundef nonnull %3444, i8 noundef zeroext 22, ptr noundef nonnull %39) #14
  %3508 = call zeroext i1 @s2n_result_is_ok(i32 %3507)
  br i1 %3508, label %3557, label %3533

3509:                                             ; preds = %3500
  %3510 = tail call ptr @__errno_location() #15
  %3511 = load i32, ptr %3510, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = call i32 @s2n_print_stacktrace(ptr noundef %3512) #14
  %3514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3515 = trunc nuw i8 %3514 to i1
  br i1 %3515, label %3516, label %3520

3516:                                             ; preds = %3509
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = call i32 @fileno(ptr noundef %3517) #14
  %3519 = call i32 @isatty(i32 noundef %3518) #14
  %.not703 = icmp eq i32 %3519, 0
  br i1 %.not703, label %3520, label %3521

3520:                                             ; preds = %3516, %3509
  br label %3521

3521:                                             ; preds = %3516, %3520
  %.str.5.sink1995 = phi ptr [ @.str.5, %3520 ], [ @.str.2, %3516 ]
  store i32 %3511, ptr %3510, align 4, !tbaa !5
  %3522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3523 = load i32, ptr @test_count, align 4, !tbaa !5
  %3524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  %3526 = call ptr @s2n_strerror(i32 noundef %3525, ptr noundef nonnull @.str.4) #14
  %3527 = load i32, ptr %3524, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror_debug(i32 noundef %3527, ptr noundef nonnull @.str.4) #14
  %3529 = load i32, ptr %3510, align 4, !tbaa !5
  %3530 = call ptr @strerror(i32 noundef %3529) #14
  %3531 = load i32, ptr %3510, align 4, !tbaa !5
  %3532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3522, ptr noundef nonnull %.str.5.sink1995, i32 noundef %3523, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %3526, ptr noundef %3528, ptr noundef %3530, i32 noundef %3531) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3533:                                             ; preds = %.preheader828.4, %.preheader828.3, %.preheader828.2, %.preheader828.1, %.preheader828.preheader
  %3534 = tail call ptr @__errno_location() #15
  %3535 = load i32, ptr %3534, align 4, !tbaa !5
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3537 = call i32 @s2n_print_stacktrace(ptr noundef %3536) #14
  %3538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3539 = trunc nuw i8 %3538 to i1
  br i1 %3539, label %3540, label %3544

3540:                                             ; preds = %3533
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = call i32 @fileno(ptr noundef %3541) #14
  %3543 = call i32 @isatty(i32 noundef %3542) #14
  %.not695 = icmp eq i32 %3543, 0
  br i1 %.not695, label %3544, label %3545

3544:                                             ; preds = %3540, %3533
  br label %3545

3545:                                             ; preds = %3540, %3544
  %.str.5.sink2006 = phi ptr [ @.str.5, %3544 ], [ @.str.2, %3540 ]
  store i32 %3535, ptr %3534, align 4, !tbaa !5
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3549, ptr noundef nonnull @.str.4) #14
  %3551 = load i32, ptr %3548, align 4, !tbaa !5
  %3552 = call ptr @s2n_strerror_debug(i32 noundef %3551, ptr noundef nonnull @.str.4) #14
  %3553 = load i32, ptr %3534, align 4, !tbaa !5
  %3554 = call ptr @strerror(i32 noundef %3553) #14
  %3555 = load i32, ptr %3534, align 4, !tbaa !5
  %3556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3546, ptr noundef nonnull %.str.5.sink2006, i32 noundef %3547, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 449, ptr noundef %3550, ptr noundef %3552, ptr noundef %3554, i32 noundef %3555) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3557:                                             ; preds = %.preheader828.preheader
  %3558 = load i32, ptr @test_count, align 4, !tbaa !5
  %3559 = add nsw i32 %3558, 1
  store i32 %3559, ptr @test_count, align 4, !tbaa !5
  %3560 = call i32 @s2n_flush(ptr noundef nonnull %3444, ptr noundef nonnull %37) #14
  %3561 = icmp eq i32 %3560, -1
  br i1 %3561, label %3562, label %3586

3562:                                             ; preds = %3777, %3752, %3727, %3702, %3557
  %3563 = tail call ptr @__errno_location() #15
  %3564 = load i32, ptr %3563, align 4, !tbaa !5
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = call i32 @s2n_print_stacktrace(ptr noundef %3565) #14
  %3567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3568 = trunc nuw i8 %3567 to i1
  br i1 %3568, label %3569, label %3573

3569:                                             ; preds = %3562
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3571 = call i32 @fileno(ptr noundef %3570) #14
  %3572 = call i32 @isatty(i32 noundef %3571) #14
  %.not702 = icmp eq i32 %3572, 0
  br i1 %.not702, label %3573, label %3574

3573:                                             ; preds = %3569, %3562
  br label %3574

3574:                                             ; preds = %3569, %3573
  %.str.5.sink2017 = phi ptr [ @.str.5, %3573 ], [ @.str.2, %3569 ]
  store i32 %3564, ptr %3563, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = load i32, ptr @test_count, align 4, !tbaa !5
  %3577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call ptr @s2n_strerror(i32 noundef %3578, ptr noundef nonnull @.str.4) #14
  %3580 = load i32, ptr %3577, align 4, !tbaa !5
  %3581 = call ptr @s2n_strerror_debug(i32 noundef %3580, ptr noundef nonnull @.str.4) #14
  %3582 = load i32, ptr %3563, align 4, !tbaa !5
  %3583 = call ptr @strerror(i32 noundef %3582) #14
  %3584 = load i32, ptr %3563, align 4, !tbaa !5
  %3585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3575, ptr noundef nonnull %.str.5.sink2017, i32 noundef %3576, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %3579, ptr noundef %3581, ptr noundef %3583, i32 noundef %3584) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3586:                                             ; preds = %3557
  %3587 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3588 = load i32, ptr @test_count, align 4, !tbaa !5
  %3589 = add nsw i32 %3588, 1
  store i32 %3589, ptr @test_count, align 4, !tbaa !5
  %sext.mask696 = and i64 %3587, 4294967295
  %3590 = icmp eq i64 %sext.mask696, 100
  br i1 %3590, label %3615, label %3591

3591:                                             ; preds = %3782, %3757, %3732, %3707, %3586
  %3592 = tail call ptr @__errno_location() #15
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594) #14
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc nuw i8 %3596 to i1
  br i1 %3597, label %3598, label %3602

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

3602:                                             ; preds = %3598, %3591
  br label %3603

3603:                                             ; preds = %3598, %3602
  %.str.5.sink2028 = phi ptr [ @.str.5, %3602 ], [ @.str.2, %3598 ]
  store i32 %3593, ptr %3592, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call ptr @s2n_strerror(i32 noundef %3607, ptr noundef nonnull @.str.4) #14
  %3609 = load i32, ptr %3606, align 4, !tbaa !5
  %3610 = call ptr @s2n_strerror_debug(i32 noundef %3609, ptr noundef nonnull @.str.4) #14
  %3611 = load i32, ptr %3592, align 4, !tbaa !5
  %3612 = call ptr @strerror(i32 noundef %3611) #14
  %3613 = load i32, ptr %3592, align 4, !tbaa !5
  %3614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3604, ptr noundef nonnull %.str.5.sink2028, i32 noundef %3605, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %3608, ptr noundef %3610, ptr noundef %3612, i32 noundef %3613) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3615:                                             ; preds = %3586
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %40, i8 0, i64 100, i1 false)
  %3616 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %40, i64 noundef 100, ptr noundef nonnull %37) #14
  %3617 = load i32, ptr @test_count, align 4, !tbaa !5
  %3618 = add nsw i32 %3617, 1
  store i32 %3618, ptr @test_count, align 4, !tbaa !5
  %sext.mask698 = and i64 %3616, 4294967295
  %3619 = icmp eq i64 %sext.mask698, 100
  br i1 %3619, label %3644, label %3620

3620:                                             ; preds = %3787, %3762, %3737, %3712, %3615
  %3621 = tail call ptr @__errno_location() #15
  %3622 = load i32, ptr %3621, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = call i32 @s2n_print_stacktrace(ptr noundef %3623) #14
  %3625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3626 = trunc nuw i8 %3625 to i1
  br i1 %3626, label %3627, label %3631

3627:                                             ; preds = %3620
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = call i32 @fileno(ptr noundef %3628) #14
  %3630 = call i32 @isatty(i32 noundef %3629) #14
  %.not699 = icmp eq i32 %3630, 0
  br i1 %.not699, label %3631, label %3632

3631:                                             ; preds = %3627, %3620
  br label %3632

3632:                                             ; preds = %3627, %3631
  %.str.5.sink2039 = phi ptr [ @.str.5, %3631 ], [ @.str.2, %3627 ]
  store i32 %3622, ptr %3621, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = load i32, ptr @test_count, align 4, !tbaa !5
  %3635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror(i32 noundef %3636, ptr noundef nonnull @.str.4) #14
  %3638 = load i32, ptr %3635, align 4, !tbaa !5
  %3639 = call ptr @s2n_strerror_debug(i32 noundef %3638, ptr noundef nonnull @.str.4) #14
  %3640 = load i32, ptr %3621, align 4, !tbaa !5
  %3641 = call ptr @strerror(i32 noundef %3640) #14
  %3642 = load i32, ptr %3621, align 4, !tbaa !5
  %3643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3633, ptr noundef nonnull %.str.5.sink2039, i32 noundef %3634, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %3637, ptr noundef %3639, ptr noundef %3641, i32 noundef %3642) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3644:                                             ; preds = %3615
  %3645 = add nsw i32 %3617, 2
  store i32 %3645, ptr @test_count, align 4, !tbaa !5
  %3646 = load i32, ptr %37, align 4, !tbaa !5
  %3647 = icmp eq i32 %3646, 0
  br i1 %3647, label %3672, label %3648

3648:                                             ; preds = %3792, %3767, %3742, %3717, %3644
  %3649 = tail call ptr @__errno_location() #15
  %3650 = load i32, ptr %3649, align 4, !tbaa !5
  %3651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3652 = call i32 @s2n_print_stacktrace(ptr noundef %3651) #14
  %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 = %3648
  %3656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3657 = call i32 @fileno(ptr noundef %3656) #14
  %3658 = call i32 @isatty(i32 noundef %3657) #14
  %.not700 = icmp eq i32 %3658, 0
  br i1 %.not700, label %3659, label %3660

3659:                                             ; preds = %3655, %3648
  br label %3660

3660:                                             ; preds = %3655, %3659
  %.str.5.sink2050 = phi ptr [ @.str.5, %3659 ], [ @.str.2, %3655 ]
  store i32 %3650, ptr %3649, align 4, !tbaa !5
  %3661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3662 = load i32, ptr @test_count, align 4, !tbaa !5
  %3663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3664 = load i32, ptr %3663, align 4, !tbaa !5
  %3665 = call ptr @s2n_strerror(i32 noundef %3664, ptr noundef nonnull @.str.4) #14
  %3666 = load i32, ptr %3663, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror_debug(i32 noundef %3666, ptr noundef nonnull @.str.4) #14
  %3668 = load i32, ptr %3649, align 4, !tbaa !5
  %3669 = call ptr @strerror(i32 noundef %3668) #14
  %3670 = load i32, ptr %3649, align 4, !tbaa !5
  %3671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3661, ptr noundef nonnull %.str.5.sink2050, i32 noundef %3662, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %3665, ptr noundef %3667, ptr noundef %3669, i32 noundef %3670) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3672:                                             ; preds = %3644
  %3673 = add nsw i32 %3617, 3
  store i32 %3673, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %40, i64 100)
  %3674 = icmp eq i32 %bcmp, 0
  br i1 %3674, label %.preheader828.1, label %3675

3675:                                             ; preds = %3796, %3771, %3746, %3721, %3672
  %3676 = tail call ptr @__errno_location() #15
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = call i32 @s2n_print_stacktrace(ptr noundef %3678) #14
  %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 = %3675
  %3683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3684 = call i32 @fileno(ptr noundef %3683) #14
  %3685 = call i32 @isatty(i32 noundef %3684) #14
  %.not701 = icmp eq i32 %3685, 0
  br i1 %.not701, label %3686, label %3687

3686:                                             ; preds = %3682, %3675
  br label %3687

3687:                                             ; preds = %3682, %3686
  %.str.5.sink2061 = phi ptr [ @.str.5, %3686 ], [ @.str.2, %3682 ]
  store i32 %3677, ptr %3676, align 4, !tbaa !5
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3691, ptr noundef nonnull @.str.4) #14
  %3693 = load i32, ptr %3690, align 4, !tbaa !5
  %3694 = call ptr @s2n_strerror_debug(i32 noundef %3693, ptr noundef nonnull @.str.4) #14
  %3695 = load i32, ptr %3676, align 4, !tbaa !5
  %3696 = call ptr @strerror(i32 noundef %3695) #14
  %3697 = load i32, ptr %3676, align 4, !tbaa !5
  %3698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3688, ptr noundef nonnull %.str.5.sink2061, i32 noundef %3689, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %3692, ptr noundef %3694, ptr noundef %3696, i32 noundef %3697) #16
  call void @exit(i32 noundef 1) #17
  unreachable

.preheader828.1:                                  ; preds = %3672
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %40) #14
  %3699 = add nsw i32 %3617, 4
  store i32 %3699, ptr @test_count, align 4, !tbaa !5
  %3700 = call i32 @s2n_record_write(ptr noundef nonnull %3444, i8 noundef zeroext 22, ptr noundef nonnull %39) #14
  %3701 = call zeroext i1 @s2n_result_is_ok(i32 %3700)
  br i1 %3701, label %3702, label %3533

3702:                                             ; preds = %.preheader828.1
  %3703 = load i32, ptr @test_count, align 4, !tbaa !5
  %3704 = add nsw i32 %3703, 1
  store i32 %3704, ptr @test_count, align 4, !tbaa !5
  %3705 = call i32 @s2n_flush(ptr noundef nonnull %3444, ptr noundef nonnull %37) #14
  %3706 = icmp eq i32 %3705, -1
  br i1 %3706, label %3562, label %3707

3707:                                             ; preds = %3702
  %3708 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3709 = load i32, ptr @test_count, align 4, !tbaa !5
  %3710 = add nsw i32 %3709, 1
  store i32 %3710, ptr @test_count, align 4, !tbaa !5
  %sext.mask696.1 = and i64 %3708, 4294967295
  %3711 = icmp eq i64 %sext.mask696.1, 100
  br i1 %3711, label %3712, label %3591

3712:                                             ; preds = %3707
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %40, i8 0, i64 100, i1 false)
  %3713 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %40, i64 noundef 100, ptr noundef nonnull %37) #14
  %3714 = load i32, ptr @test_count, align 4, !tbaa !5
  %3715 = add nsw i32 %3714, 1
  store i32 %3715, ptr @test_count, align 4, !tbaa !5
  %sext.mask698.1 = and i64 %3713, 4294967295
  %3716 = icmp eq i64 %sext.mask698.1, 100
  br i1 %3716, label %3717, label %3620

3717:                                             ; preds = %3712
  %3718 = add nsw i32 %3714, 2
  store i32 %3718, ptr @test_count, align 4, !tbaa !5
  %3719 = load i32, ptr %37, align 4, !tbaa !5
  %3720 = icmp eq i32 %3719, 0
  br i1 %3720, label %3721, label %3648

3721:                                             ; preds = %3717
  %3722 = add nsw i32 %3714, 3
  store i32 %3722, ptr @test_count, align 4, !tbaa !5
  %bcmp.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %40, i64 100)
  %3723 = icmp eq i32 %bcmp.1, 0
  br i1 %3723, label %.preheader828.2, label %3675

.preheader828.2:                                  ; preds = %3721
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %40) #14
  %3724 = add nsw i32 %3714, 4
  store i32 %3724, ptr @test_count, align 4, !tbaa !5
  %3725 = call i32 @s2n_record_write(ptr noundef nonnull %3444, i8 noundef zeroext 22, ptr noundef nonnull %39) #14
  %3726 = call zeroext i1 @s2n_result_is_ok(i32 %3725)
  br i1 %3726, label %3727, label %3533

3727:                                             ; preds = %.preheader828.2
  %3728 = load i32, ptr @test_count, align 4, !tbaa !5
  %3729 = add nsw i32 %3728, 1
  store i32 %3729, ptr @test_count, align 4, !tbaa !5
  %3730 = call i32 @s2n_flush(ptr noundef nonnull %3444, ptr noundef nonnull %37) #14
  %3731 = icmp eq i32 %3730, -1
  br i1 %3731, label %3562, label %3732

3732:                                             ; preds = %3727
  %3733 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3734 = load i32, ptr @test_count, align 4, !tbaa !5
  %3735 = add nsw i32 %3734, 1
  store i32 %3735, ptr @test_count, align 4, !tbaa !5
  %sext.mask696.2 = and i64 %3733, 4294967295
  %3736 = icmp eq i64 %sext.mask696.2, 100
  br i1 %3736, label %3737, label %3591

3737:                                             ; preds = %3732
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %40, i8 0, i64 100, i1 false)
  %3738 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %40, i64 noundef 100, ptr noundef nonnull %37) #14
  %3739 = load i32, ptr @test_count, align 4, !tbaa !5
  %3740 = add nsw i32 %3739, 1
  store i32 %3740, ptr @test_count, align 4, !tbaa !5
  %sext.mask698.2 = and i64 %3738, 4294967295
  %3741 = icmp eq i64 %sext.mask698.2, 100
  br i1 %3741, label %3742, label %3620

3742:                                             ; preds = %3737
  %3743 = add nsw i32 %3739, 2
  store i32 %3743, ptr @test_count, align 4, !tbaa !5
  %3744 = load i32, ptr %37, align 4, !tbaa !5
  %3745 = icmp eq i32 %3744, 0
  br i1 %3745, label %3746, label %3648

3746:                                             ; preds = %3742
  %3747 = add nsw i32 %3739, 3
  store i32 %3747, ptr @test_count, align 4, !tbaa !5
  %bcmp.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %40, i64 100)
  %3748 = icmp eq i32 %bcmp.2, 0
  br i1 %3748, label %.preheader828.3, label %3675

.preheader828.3:                                  ; preds = %3746
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %40) #14
  %3749 = add nsw i32 %3739, 4
  store i32 %3749, ptr @test_count, align 4, !tbaa !5
  %3750 = call i32 @s2n_record_write(ptr noundef nonnull %3444, i8 noundef zeroext 22, ptr noundef nonnull %39) #14
  %3751 = call zeroext i1 @s2n_result_is_ok(i32 %3750)
  br i1 %3751, label %3752, label %3533

3752:                                             ; preds = %.preheader828.3
  %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_flush(ptr noundef nonnull %3444, ptr noundef nonnull %37) #14
  %3756 = icmp eq i32 %3755, -1
  br i1 %3756, label %3562, label %3757

3757:                                             ; preds = %3752
  %3758 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3759 = load i32, ptr @test_count, align 4, !tbaa !5
  %3760 = add nsw i32 %3759, 1
  store i32 %3760, ptr @test_count, align 4, !tbaa !5
  %sext.mask696.3 = and i64 %3758, 4294967295
  %3761 = icmp eq i64 %sext.mask696.3, 100
  br i1 %3761, label %3762, label %3591

3762:                                             ; preds = %3757
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %40, i8 0, i64 100, i1 false)
  %3763 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %40, i64 noundef 100, ptr noundef nonnull %37) #14
  %3764 = load i32, ptr @test_count, align 4, !tbaa !5
  %3765 = add nsw i32 %3764, 1
  store i32 %3765, ptr @test_count, align 4, !tbaa !5
  %sext.mask698.3 = and i64 %3763, 4294967295
  %3766 = icmp eq i64 %sext.mask698.3, 100
  br i1 %3766, label %3767, label %3620

3767:                                             ; preds = %3762
  %3768 = add nsw i32 %3764, 2
  store i32 %3768, ptr @test_count, align 4, !tbaa !5
  %3769 = load i32, ptr %37, align 4, !tbaa !5
  %3770 = icmp eq i32 %3769, 0
  br i1 %3770, label %3771, label %3648

3771:                                             ; preds = %3767
  %3772 = add nsw i32 %3764, 3
  store i32 %3772, ptr @test_count, align 4, !tbaa !5
  %bcmp.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %40, i64 100)
  %3773 = icmp eq i32 %bcmp.3, 0
  br i1 %3773, label %.preheader828.4, label %3675

.preheader828.4:                                  ; preds = %3771
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %40) #14
  %3774 = add nsw i32 %3764, 4
  store i32 %3774, ptr @test_count, align 4, !tbaa !5
  %3775 = call i32 @s2n_record_write(ptr noundef nonnull %3444, i8 noundef zeroext 22, ptr noundef nonnull %39) #14
  %3776 = call zeroext i1 @s2n_result_is_ok(i32 %3775)
  br i1 %3776, label %3777, label %3533

3777:                                             ; preds = %.preheader828.4
  %3778 = load i32, ptr @test_count, align 4, !tbaa !5
  %3779 = add nsw i32 %3778, 1
  store i32 %3779, ptr @test_count, align 4, !tbaa !5
  %3780 = call i32 @s2n_flush(ptr noundef nonnull %3444, ptr noundef nonnull %37) #14
  %3781 = icmp eq i32 %3780, -1
  br i1 %3781, label %3562, label %3782

3782:                                             ; preds = %3777
  %3783 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3784 = load i32, ptr @test_count, align 4, !tbaa !5
  %3785 = add nsw i32 %3784, 1
  store i32 %3785, ptr @test_count, align 4, !tbaa !5
  %sext.mask696.4 = and i64 %3783, 4294967295
  %3786 = icmp eq i64 %sext.mask696.4, 100
  br i1 %3786, label %3787, label %3591

3787:                                             ; preds = %3782
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %40, i8 0, i64 100, i1 false)
  %3788 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %40, i64 noundef 100, ptr noundef nonnull %37) #14
  %3789 = load i32, ptr @test_count, align 4, !tbaa !5
  %3790 = add nsw i32 %3789, 1
  store i32 %3790, ptr @test_count, align 4, !tbaa !5
  %sext.mask698.4 = and i64 %3788, 4294967295
  %3791 = icmp eq i64 %sext.mask698.4, 100
  br i1 %3791, label %3792, label %3620

3792:                                             ; preds = %3787
  %3793 = add nsw i32 %3789, 2
  store i32 %3793, ptr @test_count, align 4, !tbaa !5
  %3794 = load i32, ptr %37, align 4, !tbaa !5
  %3795 = icmp eq i32 %3794, 0
  br i1 %3795, label %3796, label %3648

3796:                                             ; preds = %3792
  %3797 = add nsw i32 %3789, 3
  store i32 %3797, ptr @test_count, align 4, !tbaa !5
  %bcmp.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(100) %4, ptr noundef nonnull dereferenceable(100) %40, i64 100)
  %3798 = icmp eq i32 %bcmp.4, 0
  br i1 %3798, label %3799, label %3675

3799:                                             ; preds = %3796
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %40) #14
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %39) #14
  call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %38) #14
  %3800 = add nsw i32 %3789, 4
  store i32 %3800, ptr @test_count, align 4, !tbaa !5
  %3801 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %3414, i32 noundef 1) #14
  %3802 = icmp eq i32 %3801, -1
  br i1 %3802, label %3803, label %3827

3803:                                             ; preds = %3799
  %3804 = tail call ptr @__errno_location() #15
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3807 = call i32 @s2n_print_stacktrace(ptr noundef %3806) #14
  %3808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3809 = trunc nuw i8 %3808 to i1
  br i1 %3809, label %3810, label %3814

3810:                                             ; preds = %3803
  %3811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3812 = call i32 @fileno(ptr noundef %3811) #14
  %3813 = call i32 @isatty(i32 noundef %3812) #14
  %.not694 = icmp eq i32 %3813, 0
  br i1 %.not694, label %3814, label %3815

3814:                                             ; preds = %3810, %3803
  br label %3815

3815:                                             ; preds = %3810, %3814
  %.str.5.sink2072 = phi ptr [ @.str.5, %3814 ], [ @.str.2, %3810 ]
  store i32 %3805, ptr %3804, align 4, !tbaa !5
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = load i32, ptr @test_count, align 4, !tbaa !5
  %3818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3819 = load i32, ptr %3818, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror(i32 noundef %3819, ptr noundef nonnull @.str.4) #14
  %3821 = load i32, ptr %3818, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror_debug(i32 noundef %3821, ptr noundef nonnull @.str.4) #14
  %3823 = load i32, ptr %3804, align 4, !tbaa !5
  %3824 = call ptr @strerror(i32 noundef %3823) #14
  %3825 = load i32, ptr %3804, align 4, !tbaa !5
  %3826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3816, ptr noundef nonnull %.str.5.sink2072, i32 noundef %3817, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %3820, ptr noundef %3822, ptr noundef %3824, i32 noundef %3825) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3827:                                             ; preds = %3799
  %3828 = getelementptr inbounds i8, ptr %3444, i64 4176
  call void @s2n_atomic_flag_set(ptr noundef nonnull %3828) #14
  %3829 = call i64 @s2n_send(ptr noundef nonnull %3444, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %37) #14
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = add nsw i32 %3830, 1
  store i32 %3831, ptr @test_count, align 4, !tbaa !5
  %sext.mask = and i64 %3829, 4294967295
  %3832 = icmp eq i64 %sext.mask, 100
  br i1 %3832, label %3857, label %3833

3833:                                             ; preds = %3827
  %3834 = tail call ptr @__errno_location() #15
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = call i32 @s2n_print_stacktrace(ptr noundef %3836) #14
  %3838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3839 = trunc nuw i8 %3838 to i1
  br i1 %3839, label %3840, label %3844

3840:                                             ; preds = %3833
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @fileno(ptr noundef %3841) #14
  %3843 = call i32 @isatty(i32 noundef %3842) #14
  %.not623 = icmp eq i32 %3843, 0
  br i1 %.not623, label %3844, label %3845

3844:                                             ; preds = %3840, %3833
  br label %3845

3845:                                             ; preds = %3840, %3844
  %.str.5.sink2083 = phi ptr [ @.str.5, %3844 ], [ @.str.2, %3840 ]
  store i32 %3835, ptr %3834, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = load i32, ptr @test_count, align 4, !tbaa !5
  %3848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror(i32 noundef %3849, ptr noundef nonnull @.str.4) #14
  %3851 = load i32, ptr %3848, align 4, !tbaa !5
  %3852 = call ptr @s2n_strerror_debug(i32 noundef %3851, ptr noundef nonnull @.str.4) #14
  %3853 = load i32, ptr %3834, align 4, !tbaa !5
  %3854 = call ptr @strerror(i32 noundef %3853) #14
  %3855 = load i32, ptr %3834, align 4, !tbaa !5
  %3856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef nonnull %.str.5.sink2083, i32 noundef %3847, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 471, ptr noundef %3850, ptr noundef %3852, ptr noundef %3854, i32 noundef %3855) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3857:                                             ; preds = %3827
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %41) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %41, i8 0, i64 100, i1 false)
  %3858 = add nsw i32 %3830, 2
  store i32 %3858, ptr @test_count, align 4, !tbaa !5
  %3859 = call i64 @s2n_recv(ptr noundef nonnull %3414, ptr noundef nonnull %41, i64 noundef 100, ptr noundef nonnull %37) #14
  %3860 = icmp eq i64 %3859, -1
  br i1 %3860, label %3885, label %3861

3861:                                             ; preds = %3857
  %3862 = tail call ptr @__errno_location() #15
  %3863 = load i32, ptr %3862, align 4, !tbaa !5
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @s2n_print_stacktrace(ptr noundef %3864) #14
  %3866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3867 = trunc nuw i8 %3866 to i1
  br i1 %3867, label %3868, label %3872

3868:                                             ; preds = %3861
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = call i32 @fileno(ptr noundef %3869) #14
  %3871 = call i32 @isatty(i32 noundef %3870) #14
  %.not624 = icmp eq i32 %3871, 0
  br i1 %.not624, label %3872, label %3873

3872:                                             ; preds = %3868, %3861
  br label %3873

3873:                                             ; preds = %3868, %3872
  %.str.5.sink2094 = phi ptr [ @.str.5, %3872 ], [ @.str.2, %3868 ]
  store i32 %3863, ptr %3862, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = load i32, ptr @test_count, align 4, !tbaa !5
  %3876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror(i32 noundef %3877, ptr noundef nonnull @.str.4) #14
  %3879 = load i32, ptr %3876, align 4, !tbaa !5
  %3880 = call ptr @s2n_strerror_debug(i32 noundef %3879, ptr noundef nonnull @.str.4) #14
  %3881 = load i32, ptr %3862, align 4, !tbaa !5
  %3882 = call ptr @strerror(i32 noundef %3881) #14
  %3883 = load i32, ptr %3862, align 4, !tbaa !5
  %3884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3874, ptr noundef nonnull %.str.5.sink2094, i32 noundef %3875, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %3878, ptr noundef %3880, ptr noundef %3882, i32 noundef %3883) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3885:                                             ; preds = %3857
  %3886 = load i32, ptr @test_count, align 4, !tbaa !5
  %3887 = add nsw i32 %3886, 1
  store i32 %3887, ptr @test_count, align 4, !tbaa !5
  %3888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = icmp eq i32 %3889, 335544399
  br i1 %3890, label %3914, label %3891

3891:                                             ; preds = %3885
  %3892 = tail call ptr @__errno_location() #15
  %3893 = load i32, ptr %3892, align 4, !tbaa !5
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @s2n_print_stacktrace(ptr noundef %3894) #14
  %3896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3897 = trunc nuw i8 %3896 to i1
  br i1 %3897, label %3898, label %3902

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

3902:                                             ; preds = %3898, %3891
  br label %3903

3903:                                             ; preds = %3898, %3902
  %.str.5.sink2105 = phi ptr [ @.str.5, %3902 ], [ @.str.2, %3898 ]
  store i32 %3893, ptr %3892, align 4, !tbaa !5
  %3904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3905 = load i32, ptr @test_count, align 4, !tbaa !5
  %3906 = load i32, ptr %3888, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror(i32 noundef %3906, ptr noundef nonnull @.str.4) #14
  %3908 = load i32, ptr %3888, align 4, !tbaa !5
  %3909 = call ptr @s2n_strerror_debug(i32 noundef %3908, ptr noundef nonnull @.str.4) #14
  %3910 = load i32, ptr %3892, align 4, !tbaa !5
  %3911 = call ptr @strerror(i32 noundef %3910) #14
  %3912 = load i32, ptr %3892, align 4, !tbaa !5
  %3913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3904, ptr noundef nonnull %.str.5.sink2105, i32 noundef %3905, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %3907, ptr noundef %3909, ptr noundef %3911, i32 noundef %3912) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3914:                                             ; preds = %3885
  %3915 = add nsw i32 %3886, 2
  store i32 %3915, ptr @test_count, align 4, !tbaa !5
  %3916 = call ptr @s2n_strerror_debug(i32 noundef 335544399, ptr noundef nonnull @.str.4) #14
  %3917 = icmp eq ptr %3916, null
  br i1 %3917, label %3918, label %3941

3918:                                             ; preds = %3914
  %3919 = tail call ptr @__errno_location() #15
  %3920 = load i32, ptr %3919, align 4, !tbaa !5
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @s2n_print_stacktrace(ptr noundef %3921) #14
  %3923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3924 = trunc nuw i8 %3923 to i1
  br i1 %3924, label %3925, label %3929

3925:                                             ; preds = %3918
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = call i32 @fileno(ptr noundef %3926) #14
  %3928 = call i32 @isatty(i32 noundef %3927) #14
  %.not693 = icmp eq i32 %3928, 0
  br i1 %.not693, label %3929, label %3930

3929:                                             ; preds = %3925, %3918
  br label %3930

3930:                                             ; preds = %3925, %3929
  %.str.5.sink2114 = phi ptr [ @.str.5, %3929 ], [ @.str.2, %3925 ]
  store i32 %3920, ptr %3919, align 4, !tbaa !5
  %3931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3932 = load i32, ptr @test_count, align 4, !tbaa !5
  %3933 = load i32, ptr %3888, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror(i32 noundef %3933, ptr noundef nonnull @.str.4) #14
  %3935 = load i32, ptr %3888, align 4, !tbaa !5
  %3936 = call ptr @s2n_strerror_debug(i32 noundef %3935, ptr noundef nonnull @.str.4) #14
  %3937 = load i32, ptr %3919, align 4, !tbaa !5
  %3938 = call ptr @strerror(i32 noundef %3937) #14
  %3939 = load i32, ptr %3919, align 4, !tbaa !5
  %3940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3931, ptr noundef nonnull %.str.5.sink2114, i32 noundef %3932, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %3934, ptr noundef %3936, ptr noundef %3938, i32 noundef %3939) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3941:                                             ; preds = %3914
  store i32 0, ptr %3888, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #14
  %3942 = tail call ptr @__errno_location() #15
  store i32 0, ptr %3942, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %41) #14
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #14
  %3943 = call i32 @s2n_io_pair_close(ptr noundef nonnull %36) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #14
  %3944 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #14
  %3945 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %34) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #14
  br label %.lr.ph864

.lr.ph864:                                        ; preds = %3175, %3941
  %3946 = getelementptr inbounds i8, ptr %44, i64 8
  %3947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  br label %3948

3948:                                             ; preds = %.lr.ph864, %5091
  %3949 = phi i1 [ true, %.lr.ph864 ], [ false, %5091 ]
  %.0580862 = phi i64 [ 0, %.lr.ph864 ], [ 1, %5091 ]
  %3950 = getelementptr inbounds [2 x i32], ptr @__const.main.modes, i64 0, i64 %.0580862
  %3951 = load i32, ptr %3950, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #14
  %3952 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %3952, ptr %42, align 8, !tbaa !9
  %3953 = load i32, ptr @test_count, align 4, !tbaa !5
  %3954 = add nsw i32 %3953, 1
  store i32 %3954, ptr @test_count, align 4, !tbaa !5
  %3955 = icmp eq ptr %3952, null
  br i1 %3955, label %3956, label %3979

3956:                                             ; preds = %3948
  %3957 = tail call ptr @__errno_location() #15
  %3958 = load i32, ptr %3957, align 4, !tbaa !5
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = call i32 @s2n_print_stacktrace(ptr noundef %3959) #14
  %3961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3962 = trunc nuw i8 %3961 to i1
  br i1 %3962, label %3963, label %3967

3963:                                             ; preds = %3956
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = call i32 @fileno(ptr noundef %3964) #14
  %3966 = call i32 @isatty(i32 noundef %3965) #14
  %.not692 = icmp eq i32 %3966, 0
  br i1 %.not692, label %3967, label %3968

3967:                                             ; preds = %3963, %3956
  br label %3968

3968:                                             ; preds = %3963, %3967
  %.str.5.sink2123 = phi ptr [ @.str.5, %3967 ], [ @.str.2, %3963 ]
  store i32 %3958, ptr %3957, align 4, !tbaa !5
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = load i32, ptr @test_count, align 4, !tbaa !5
  %3971 = load i32, ptr %3947, align 4, !tbaa !5
  %3972 = call ptr @s2n_strerror(i32 noundef %3971, ptr noundef nonnull @.str.4) #14
  %3973 = load i32, ptr %3947, align 4, !tbaa !5
  %3974 = call ptr @s2n_strerror_debug(i32 noundef %3973, ptr noundef nonnull @.str.4) #14
  %3975 = load i32, ptr %3957, align 4, !tbaa !5
  %3976 = call ptr @strerror(i32 noundef %3975) #14
  %3977 = load i32, ptr %3957, align 4, !tbaa !5
  %3978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3969, ptr noundef nonnull %.str.5.sink2123, i32 noundef %3970, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %3972, ptr noundef %3974, ptr noundef %3976, i32 noundef %3977) #16
  call void @exit(i32 noundef 1) #17
  unreachable

3979:                                             ; preds = %3948
  %3980 = add nsw i32 %3953, 2
  store i32 %3980, ptr @test_count, align 4, !tbaa !5
  %3981 = load ptr, ptr %9, align 8, !tbaa !9
  %3982 = call i32 @s2n_connection_set_config(ptr noundef nonnull %3952, ptr noundef %3981) #14
  %3983 = icmp eq i32 %3982, -1
  br i1 %3983, label %3984, label %4007

3984:                                             ; preds = %3979
  %3985 = tail call ptr @__errno_location() #15
  %3986 = load i32, ptr %3985, align 4, !tbaa !5
  %3987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3988 = call i32 @s2n_print_stacktrace(ptr noundef %3987) #14
  %3989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3990 = trunc nuw i8 %3989 to i1
  br i1 %3990, label %3991, label %3995

3991:                                             ; preds = %3984
  %3992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3993 = call i32 @fileno(ptr noundef %3992) #14
  %3994 = call i32 @isatty(i32 noundef %3993) #14
  %.not691 = icmp eq i32 %3994, 0
  br i1 %.not691, label %3995, label %3996

3995:                                             ; preds = %3991, %3984
  br label %3996

3996:                                             ; preds = %3991, %3995
  %.str.5.sink2132 = phi ptr [ @.str.5, %3995 ], [ @.str.2, %3991 ]
  store i32 %3986, ptr %3985, align 4, !tbaa !5
  %3997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3998 = load i32, ptr @test_count, align 4, !tbaa !5
  %3999 = load i32, ptr %3947, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror(i32 noundef %3999, ptr noundef nonnull @.str.4) #14
  %4001 = load i32, ptr %3947, align 4, !tbaa !5
  %4002 = call ptr @s2n_strerror_debug(i32 noundef %4001, ptr noundef nonnull @.str.4) #14
  %4003 = load i32, ptr %3985, align 4, !tbaa !5
  %4004 = call ptr @strerror(i32 noundef %4003) #14
  %4005 = load i32, ptr %3985, align 4, !tbaa !5
  %4006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3997, ptr noundef nonnull %.str.5.sink2132, i32 noundef %3998, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %4000, ptr noundef %4002, ptr noundef %4004, i32 noundef %4005) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4007:                                             ; preds = %3979
  %4008 = load i32, ptr @test_count, align 4, !tbaa !5
  %4009 = add nsw i32 %4008, 1
  store i32 %4009, ptr @test_count, align 4, !tbaa !5
  %4010 = load ptr, ptr %42, align 8, !tbaa !9
  %4011 = call i32 @s2n_connection_set_blinding(ptr noundef %4010, i32 noundef 1) #14
  %4012 = icmp eq i32 %4011, -1
  br i1 %4012, label %4013, label %4036

4013:                                             ; preds = %4007
  %4014 = tail call ptr @__errno_location() #15
  %4015 = load i32, ptr %4014, align 4, !tbaa !5
  %4016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4017 = call i32 @s2n_print_stacktrace(ptr noundef %4016) #14
  %4018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4019 = trunc nuw i8 %4018 to i1
  br i1 %4019, label %4020, label %4024

4020:                                             ; preds = %4013
  %4021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4022 = call i32 @fileno(ptr noundef %4021) #14
  %4023 = call i32 @isatty(i32 noundef %4022) #14
  %.not690 = icmp eq i32 %4023, 0
  br i1 %.not690, label %4024, label %4025

4024:                                             ; preds = %4020, %4013
  br label %4025

4025:                                             ; preds = %4020, %4024
  %.str.5.sink2141 = phi ptr [ @.str.5, %4024 ], [ @.str.2, %4020 ]
  store i32 %4015, ptr %4014, align 4, !tbaa !5
  %4026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4027 = load i32, ptr @test_count, align 4, !tbaa !5
  %4028 = load i32, ptr %3947, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror(i32 noundef %4028, ptr noundef nonnull @.str.4) #14
  %4030 = load i32, ptr %3947, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror_debug(i32 noundef %4030, ptr noundef nonnull @.str.4) #14
  %4032 = load i32, ptr %4014, align 4, !tbaa !5
  %4033 = call ptr @strerror(i32 noundef %4032) #14
  %4034 = load i32, ptr %4014, align 4, !tbaa !5
  %4035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4026, ptr noundef nonnull %.str.5.sink2141, i32 noundef %4027, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %4029, ptr noundef %4031, ptr noundef %4033, i32 noundef %4034) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4036:                                             ; preds = %4007
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #14
  %4037 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %4037, ptr %43, align 8, !tbaa !9
  %4038 = load i32, ptr @test_count, align 4, !tbaa !5
  %4039 = add nsw i32 %4038, 1
  store i32 %4039, ptr @test_count, align 4, !tbaa !5
  %4040 = icmp eq ptr %4037, null
  br i1 %4040, label %4041, label %4064

4041:                                             ; preds = %4036
  %4042 = tail call ptr @__errno_location() #15
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = call i32 @s2n_print_stacktrace(ptr noundef %4044) #14
  %4046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4047 = trunc nuw i8 %4046 to i1
  br i1 %4047, label %4048, label %4052

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

4052:                                             ; preds = %4048, %4041
  br label %4053

4053:                                             ; preds = %4048, %4052
  %.str.5.sink2150 = phi ptr [ @.str.5, %4052 ], [ @.str.2, %4048 ]
  store i32 %4043, ptr %4042, align 4, !tbaa !5
  %4054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4055 = load i32, ptr @test_count, align 4, !tbaa !5
  %4056 = load i32, ptr %3947, align 4, !tbaa !5
  %4057 = call ptr @s2n_strerror(i32 noundef %4056, ptr noundef nonnull @.str.4) #14
  %4058 = load i32, ptr %3947, align 4, !tbaa !5
  %4059 = call ptr @s2n_strerror_debug(i32 noundef %4058, ptr noundef nonnull @.str.4) #14
  %4060 = load i32, ptr %4042, align 4, !tbaa !5
  %4061 = call ptr @strerror(i32 noundef %4060) #14
  %4062 = load i32, ptr %4042, align 4, !tbaa !5
  %4063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4054, ptr noundef nonnull %.str.5.sink2150, i32 noundef %4055, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 506, ptr noundef %4057, ptr noundef %4059, ptr noundef %4061, i32 noundef %4062) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4064:                                             ; preds = %4036
  %4065 = add nsw i32 %4038, 2
  store i32 %4065, ptr @test_count, align 4, !tbaa !5
  %4066 = call i32 @s2n_connection_set_config(ptr noundef nonnull %4037, ptr noundef %3981) #14
  %4067 = icmp eq i32 %4066, -1
  br i1 %4067, label %4068, label %4091

4068:                                             ; preds = %4064
  %4069 = tail call ptr @__errno_location() #15
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = call i32 @s2n_print_stacktrace(ptr noundef %4071) #14
  %4073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4074 = trunc nuw i8 %4073 to i1
  br i1 %4074, label %4075, label %4079

4075:                                             ; preds = %4068
  %4076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4077 = call i32 @fileno(ptr noundef %4076) #14
  %4078 = call i32 @isatty(i32 noundef %4077) #14
  %.not688 = icmp eq i32 %4078, 0
  br i1 %.not688, label %4079, label %4080

4079:                                             ; preds = %4075, %4068
  br label %4080

4080:                                             ; preds = %4075, %4079
  %.str.5.sink2159 = phi ptr [ @.str.5, %4079 ], [ @.str.2, %4075 ]
  store i32 %4070, ptr %4069, align 4, !tbaa !5
  %4081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4082 = load i32, ptr @test_count, align 4, !tbaa !5
  %4083 = load i32, ptr %3947, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror(i32 noundef %4083, ptr noundef nonnull @.str.4) #14
  %4085 = load i32, ptr %3947, align 4, !tbaa !5
  %4086 = call ptr @s2n_strerror_debug(i32 noundef %4085, ptr noundef nonnull @.str.4) #14
  %4087 = load i32, ptr %4069, align 4, !tbaa !5
  %4088 = call ptr @strerror(i32 noundef %4087) #14
  %4089 = load i32, ptr %4069, align 4, !tbaa !5
  %4090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4081, ptr noundef nonnull %.str.5.sink2159, i32 noundef %4082, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %4084, ptr noundef %4086, ptr noundef %4088, i32 noundef %4089) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4091:                                             ; preds = %4064
  %4092 = load i32, ptr @test_count, align 4, !tbaa !5
  %4093 = add nsw i32 %4092, 1
  store i32 %4093, ptr @test_count, align 4, !tbaa !5
  %4094 = load ptr, ptr %43, align 8, !tbaa !9
  %4095 = call i32 @s2n_connection_set_blinding(ptr noundef %4094, i32 noundef 1) #14
  %4096 = icmp eq i32 %4095, -1
  br i1 %4096, label %4097, label %4120

4097:                                             ; preds = %4091
  %4098 = tail call ptr @__errno_location() #15
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4101 = call i32 @s2n_print_stacktrace(ptr noundef %4100) #14
  %4102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4103 = trunc nuw i8 %4102 to i1
  br i1 %4103, label %4104, label %4108

4104:                                             ; preds = %4097
  %4105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4106 = call i32 @fileno(ptr noundef %4105) #14
  %4107 = call i32 @isatty(i32 noundef %4106) #14
  %.not687 = icmp eq i32 %4107, 0
  br i1 %.not687, label %4108, label %4109

4108:                                             ; preds = %4104, %4097
  br label %4109

4109:                                             ; preds = %4104, %4108
  %.str.5.sink2168 = phi ptr [ @.str.5, %4108 ], [ @.str.2, %4104 ]
  store i32 %4099, ptr %4098, align 4, !tbaa !5
  %4110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4111 = load i32, ptr @test_count, align 4, !tbaa !5
  %4112 = load i32, ptr %3947, align 4, !tbaa !5
  %4113 = call ptr @s2n_strerror(i32 noundef %4112, ptr noundef nonnull @.str.4) #14
  %4114 = load i32, ptr %3947, align 4, !tbaa !5
  %4115 = call ptr @s2n_strerror_debug(i32 noundef %4114, ptr noundef nonnull @.str.4) #14
  %4116 = load i32, ptr %4098, align 4, !tbaa !5
  %4117 = call ptr @strerror(i32 noundef %4116) #14
  %4118 = load i32, ptr %4098, align 4, !tbaa !5
  %4119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4110, ptr noundef nonnull %.str.5.sink2168, i32 noundef %4111, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %4113, ptr noundef %4115, ptr noundef %4117, i32 noundef %4118) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4120:                                             ; preds = %4091
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %44) #14
  %4121 = load ptr, ptr %43, align 8, !tbaa !9
  store ptr %4121, ptr %44, align 16, !tbaa !9
  %4122 = load ptr, ptr %42, align 8, !tbaa !9
  store ptr %4122, ptr %3946, align 8, !tbaa !9
  %4123 = zext i32 %3951 to i64
  %4124 = getelementptr inbounds [2 x ptr], ptr %44, i64 0, i64 %4123
  %4125 = load ptr, ptr %4124, align 8, !tbaa !9
  %4126 = and i32 %3951, 1
  %4127 = xor i32 %4126, 1
  %4128 = zext nneg i32 %4127 to i64
  %4129 = getelementptr inbounds [2 x ptr], ptr %44, i64 0, i64 %4128
  %4130 = load ptr, ptr %4129, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #14
  store i32 0, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #14
  store i64 0, ptr %46, align 8
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = add nsw i32 %4131, 1
  store i32 %4132, ptr @test_count, align 4, !tbaa !5
  %4133 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %46)
  %4134 = call zeroext i1 @s2n_result_is_ok(i32 %4133)
  br i1 %4134, label %4158, label %4135

4135:                                             ; preds = %4120
  %4136 = tail call ptr @__errno_location() #15
  %4137 = load i32, ptr %4136, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = call i32 @s2n_print_stacktrace(ptr noundef %4138) #14
  %4140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4141 = trunc nuw i8 %4140 to i1
  br i1 %4141, label %4142, label %4146

4142:                                             ; preds = %4135
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = call i32 @fileno(ptr noundef %4143) #14
  %4145 = call i32 @isatty(i32 noundef %4144) #14
  %.not653 = icmp eq i32 %4145, 0
  br i1 %.not653, label %4146, label %4147

4146:                                             ; preds = %4142, %4135
  br label %4147

4147:                                             ; preds = %4142, %4146
  %.str.5.sink2177 = phi ptr [ @.str.5, %4146 ], [ @.str.2, %4142 ]
  store i32 %4137, ptr %4136, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = load i32, ptr %3947, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef nonnull @.str.4) #14
  %4152 = load i32, ptr %3947, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror_debug(i32 noundef %4152, ptr noundef nonnull @.str.4) #14
  %4154 = load i32, ptr %4136, align 4, !tbaa !5
  %4155 = call ptr @strerror(i32 noundef %4154) #14
  %4156 = load i32, ptr %4136, align 4, !tbaa !5
  %4157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4148, ptr noundef nonnull %.str.5.sink2177, i32 noundef %4149, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %4151, ptr noundef %4153, ptr noundef %4155, i32 noundef %4156) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4158:                                             ; preds = %4120
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = load ptr, ptr %43, align 8, !tbaa !9
  %4162 = load ptr, ptr %42, align 8, !tbaa !9
  %4163 = call i32 @s2n_setup_connections(ptr noundef %4161, ptr noundef %4162, ptr noundef nonnull %46)
  %4164 = call zeroext i1 @s2n_result_is_ok(i32 %4163)
  br i1 %4164, label %4188, label %4165

4165:                                             ; preds = %4158
  %4166 = tail call ptr @__errno_location() #15
  %4167 = load i32, ptr %4166, align 4, !tbaa !5
  %4168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4169 = call i32 @s2n_print_stacktrace(ptr noundef %4168) #14
  %4170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4171 = trunc nuw i8 %4170 to i1
  br i1 %4171, label %4172, label %4176

4172:                                             ; preds = %4165
  %4173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4174 = call i32 @fileno(ptr noundef %4173) #14
  %4175 = call i32 @isatty(i32 noundef %4174) #14
  %.not654 = icmp eq i32 %4175, 0
  br i1 %.not654, label %4176, label %4177

4176:                                             ; preds = %4172, %4165
  br label %4177

4177:                                             ; preds = %4172, %4176
  %.str.5.sink2186 = phi ptr [ @.str.5, %4176 ], [ @.str.2, %4172 ]
  store i32 %4167, ptr %4166, align 4, !tbaa !5
  %4178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4179 = load i32, ptr @test_count, align 4, !tbaa !5
  %4180 = load i32, ptr %3947, align 4, !tbaa !5
  %4181 = call ptr @s2n_strerror(i32 noundef %4180, ptr noundef nonnull @.str.4) #14
  %4182 = load i32, ptr %3947, align 4, !tbaa !5
  %4183 = call ptr @s2n_strerror_debug(i32 noundef %4182, ptr noundef nonnull @.str.4) #14
  %4184 = load i32, ptr %4166, align 4, !tbaa !5
  %4185 = call ptr @strerror(i32 noundef %4184) #14
  %4186 = load i32, ptr %4166, align 4, !tbaa !5
  %4187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4178, ptr noundef nonnull %.str.5.sink2186, i32 noundef %4179, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 523, ptr noundef %4181, ptr noundef %4183, ptr noundef %4185, i32 noundef %4186) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4188:                                             ; preds = %4158
  %4189 = load i32, ptr @test_count, align 4, !tbaa !5
  %4190 = add nsw i32 %4189, 1
  store i32 %4190, ptr @test_count, align 4, !tbaa !5
  %4191 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %4125) #14
  %4192 = icmp eq i32 %4191, -1
  br i1 %4192, label %4193, label %4216

4193:                                             ; preds = %4188
  %4194 = tail call ptr @__errno_location() #15
  %4195 = load i32, ptr %4194, align 4, !tbaa !5
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = call i32 @s2n_print_stacktrace(ptr noundef %4196) #14
  %4198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4199 = trunc nuw i8 %4198 to i1
  br i1 %4199, label %4200, label %4204

4200:                                             ; preds = %4193
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = call i32 @fileno(ptr noundef %4201) #14
  %4203 = call i32 @isatty(i32 noundef %4202) #14
  %.not686 = icmp eq i32 %4203, 0
  br i1 %.not686, label %4204, label %4205

4204:                                             ; preds = %4200, %4193
  br label %4205

4205:                                             ; preds = %4200, %4204
  %.str.5.sink2195 = phi ptr [ @.str.5, %4204 ], [ @.str.2, %4200 ]
  store i32 %4195, ptr %4194, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = load i32, ptr %3947, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror(i32 noundef %4208, ptr noundef nonnull @.str.4) #14
  %4210 = load i32, ptr %3947, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef nonnull @.str.4) #14
  %4212 = load i32, ptr %4194, align 4, !tbaa !5
  %4213 = call ptr @strerror(i32 noundef %4212) #14
  %4214 = load i32, ptr %4194, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4206, ptr noundef nonnull %.str.5.sink2195, i32 noundef %4207, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 524, ptr noundef %4209, ptr noundef %4211, ptr noundef %4213, i32 noundef %4214) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4216:                                             ; preds = %4188
  %4217 = load i32, ptr @test_count, align 4, !tbaa !5
  %4218 = add nsw i32 %4217, 1
  store i32 %4218, ptr @test_count, align 4, !tbaa !5
  %4219 = call i32 @s2n_shutdown_send(ptr noundef %4130, ptr noundef nonnull %45) #14
  %4220 = icmp eq i32 %4219, -1
  br i1 %4220, label %4221, label %4244

4221:                                             ; preds = %4216
  %4222 = tail call ptr @__errno_location() #15
  %4223 = load i32, ptr %4222, align 4, !tbaa !5
  %4224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4225 = call i32 @s2n_print_stacktrace(ptr noundef %4224) #14
  %4226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4227 = trunc nuw i8 %4226 to i1
  br i1 %4227, label %4228, label %4232

4228:                                             ; preds = %4221
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = call i32 @fileno(ptr noundef %4229) #14
  %4231 = call i32 @isatty(i32 noundef %4230) #14
  %.not685 = icmp eq i32 %4231, 0
  br i1 %.not685, label %4232, label %4233

4232:                                             ; preds = %4228, %4221
  br label %4233

4233:                                             ; preds = %4228, %4232
  %.str.5.sink2204 = phi ptr [ @.str.5, %4232 ], [ @.str.2, %4228 ]
  store i32 %4223, ptr %4222, align 4, !tbaa !5
  %4234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4235 = load i32, ptr @test_count, align 4, !tbaa !5
  %4236 = load i32, ptr %3947, align 4, !tbaa !5
  %4237 = call ptr @s2n_strerror(i32 noundef %4236, ptr noundef nonnull @.str.4) #14
  %4238 = load i32, ptr %3947, align 4, !tbaa !5
  %4239 = call ptr @s2n_strerror_debug(i32 noundef %4238, ptr noundef nonnull @.str.4) #14
  %4240 = load i32, ptr %4222, align 4, !tbaa !5
  %4241 = call ptr @strerror(i32 noundef %4240) #14
  %4242 = load i32, ptr %4222, align 4, !tbaa !5
  %4243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4234, ptr noundef nonnull %.str.5.sink2204, i32 noundef %4235, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %4237, ptr noundef %4239, ptr noundef %4241, i32 noundef %4242) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4244:                                             ; preds = %4216
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %47) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %47, i8 0, i64 10, i1 false)
  %4245 = call i64 @s2n_recv(ptr noundef %4125, ptr noundef nonnull %47, i64 noundef 10, ptr noundef nonnull %45) #14
  %4246 = load i32, ptr @test_count, align 4, !tbaa !5
  %4247 = add nsw i32 %4246, 1
  store i32 %4247, ptr @test_count, align 4, !tbaa !5
  %4248 = and i64 %4245, 4294967295
  %4249 = icmp eq i64 %4248, 0
  br i1 %4249, label %4273, label %4250

4250:                                             ; preds = %4244
  %4251 = tail call ptr @__errno_location() #15
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @s2n_print_stacktrace(ptr noundef %4253) #14
  %4255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4256 = trunc nuw i8 %4255 to i1
  br i1 %4256, label %4257, label %4261

4257:                                             ; preds = %4250
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = call i32 @fileno(ptr noundef %4258) #14
  %4260 = call i32 @isatty(i32 noundef %4259) #14
  %.not655 = icmp eq i32 %4260, 0
  br i1 %.not655, label %4261, label %4262

4261:                                             ; preds = %4257, %4250
  br label %4262

4262:                                             ; preds = %4257, %4261
  %.str.5.sink2213 = phi ptr [ @.str.5, %4261 ], [ @.str.2, %4257 ]
  store i32 %4252, ptr %4251, align 4, !tbaa !5
  %4263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4264 = load i32, ptr @test_count, align 4, !tbaa !5
  %4265 = load i32, ptr %3947, align 4, !tbaa !5
  %4266 = call ptr @s2n_strerror(i32 noundef %4265, ptr noundef nonnull @.str.4) #14
  %4267 = load i32, ptr %3947, align 4, !tbaa !5
  %4268 = call ptr @s2n_strerror_debug(i32 noundef %4267, ptr noundef nonnull @.str.4) #14
  %4269 = load i32, ptr %4251, align 4, !tbaa !5
  %4270 = call ptr @strerror(i32 noundef %4269) #14
  %4271 = load i32, ptr %4251, align 4, !tbaa !5
  %4272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4263, ptr noundef nonnull %.str.5.sink2213, i32 noundef %4264, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %4266, ptr noundef %4268, ptr noundef %4270, i32 noundef %4271) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4273:                                             ; preds = %4244
  %4274 = add nsw i32 %4246, 2
  store i32 %4274, ptr @test_count, align 4, !tbaa !5
  %4275 = load i32, ptr %45, align 4, !tbaa !5
  %4276 = icmp eq i32 %4275, 0
  br i1 %4276, label %4300, label %4277

4277:                                             ; preds = %4273
  %4278 = tail call ptr @__errno_location() #15
  %4279 = load i32, ptr %4278, align 4, !tbaa !5
  %4280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4281 = call i32 @s2n_print_stacktrace(ptr noundef %4280) #14
  %4282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4283 = trunc nuw i8 %4282 to i1
  br i1 %4283, label %4284, label %4288

4284:                                             ; preds = %4277
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = call i32 @fileno(ptr noundef %4285) #14
  %4287 = call i32 @isatty(i32 noundef %4286) #14
  %.not656 = icmp eq i32 %4287, 0
  br i1 %.not656, label %4288, label %4289

4288:                                             ; preds = %4284, %4277
  br label %4289

4289:                                             ; preds = %4284, %4288
  %.str.5.sink2222 = phi ptr [ @.str.5, %4288 ], [ @.str.2, %4284 ]
  store i32 %4279, ptr %4278, align 4, !tbaa !5
  %4290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4291 = load i32, ptr @test_count, align 4, !tbaa !5
  %4292 = load i32, ptr %3947, align 4, !tbaa !5
  %4293 = call ptr @s2n_strerror(i32 noundef %4292, ptr noundef nonnull @.str.4) #14
  %4294 = load i32, ptr %3947, align 4, !tbaa !5
  %4295 = call ptr @s2n_strerror_debug(i32 noundef %4294, ptr noundef nonnull @.str.4) #14
  %4296 = load i32, ptr %4278, align 4, !tbaa !5
  %4297 = call ptr @strerror(i32 noundef %4296) #14
  %4298 = load i32, ptr %4278, align 4, !tbaa !5
  %4299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4290, ptr noundef nonnull %.str.5.sink2222, i32 noundef %4291, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %4293, ptr noundef %4295, ptr noundef %4297, i32 noundef %4298) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4300:                                             ; preds = %4273
  %4301 = add nsw i32 %4246, 3
  store i32 %4301, ptr @test_count, align 4, !tbaa !5
  %4302 = getelementptr inbounds i8, ptr %4125, i64 2008
  %4303 = call zeroext i1 @s2n_atomic_flag_test(ptr noundef nonnull %4302) #14
  br i1 %4303, label %4327, label %4304

4304:                                             ; preds = %4300
  %4305 = tail call ptr @__errno_location() #15
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = call i32 @s2n_print_stacktrace(ptr noundef %4307) #14
  %4309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4310 = trunc nuw i8 %4309 to i1
  br i1 %4310, label %4311, label %4315

4311:                                             ; preds = %4304
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = call i32 @fileno(ptr noundef %4312) #14
  %4314 = call i32 @isatty(i32 noundef %4313) #14
  %.not657 = icmp eq i32 %4314, 0
  br i1 %.not657, label %4315, label %4316

4315:                                             ; preds = %4311, %4304
  br label %4316

4316:                                             ; preds = %4311, %4315
  %.str.5.sink2231 = phi ptr [ @.str.5, %4315 ], [ @.str.2, %4311 ]
  store i32 %4306, ptr %4305, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = load i32, ptr @test_count, align 4, !tbaa !5
  %4319 = load i32, ptr %3947, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror(i32 noundef %4319, ptr noundef nonnull @.str.4) #14
  %4321 = load i32, ptr %3947, align 4, !tbaa !5
  %4322 = call ptr @s2n_strerror_debug(i32 noundef %4321, ptr noundef nonnull @.str.4) #14
  %4323 = load i32, ptr %4305, align 4, !tbaa !5
  %4324 = call ptr @strerror(i32 noundef %4323) #14
  %4325 = load i32, ptr %4305, align 4, !tbaa !5
  %4326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4317, ptr noundef nonnull %.str.5.sink2231, i32 noundef %4318, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 532, ptr noundef %4320, ptr noundef %4322, ptr noundef %4324, i32 noundef %4325) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4327:                                             ; preds = %4300
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = add nsw i32 %4328, 1
  store i32 %4329, ptr @test_count, align 4, !tbaa !5
  %4330 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4125, i32 noundef 1) #14
  br i1 %4330, label %4331, label %4354

4331:                                             ; preds = %4327
  %4332 = tail call ptr @__errno_location() #15
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4335 = call i32 @s2n_print_stacktrace(ptr noundef %4334) #14
  %4336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4337 = trunc nuw i8 %4336 to i1
  br i1 %4337, label %4338, label %4342

4338:                                             ; preds = %4331
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = call i32 @fileno(ptr noundef %4339) #14
  %4341 = call i32 @isatty(i32 noundef %4340) #14
  %.not684 = icmp eq i32 %4341, 0
  br i1 %.not684, label %4342, label %4343

4342:                                             ; preds = %4338, %4331
  br label %4343

4343:                                             ; preds = %4338, %4342
  %.str.5.sink2240 = phi ptr [ @.str.5, %4342 ], [ @.str.2, %4338 ]
  store i32 %4333, ptr %4332, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = load i32, ptr %3947, align 4, !tbaa !5
  %4347 = call ptr @s2n_strerror(i32 noundef %4346, ptr noundef nonnull @.str.4) #14
  %4348 = load i32, ptr %3947, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror_debug(i32 noundef %4348, ptr noundef nonnull @.str.4) #14
  %4350 = load i32, ptr %4332, align 4, !tbaa !5
  %4351 = call ptr @strerror(i32 noundef %4350) #14
  %4352 = load i32, ptr %4332, align 4, !tbaa !5
  %4353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4344, ptr noundef nonnull %.str.5.sink2240, i32 noundef %4345, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 533, ptr noundef %4347, ptr noundef %4349, ptr noundef %4351, i32 noundef %4352) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4354:                                             ; preds = %4327
  %4355 = load i32, ptr @test_count, align 4, !tbaa !5
  %4356 = add nsw i32 %4355, 1
  store i32 %4356, ptr @test_count, align 4, !tbaa !5
  %4357 = call i32 @s2n_shutdown(ptr noundef %4125, ptr noundef nonnull %45) #14
  %4358 = icmp eq i32 %4357, -1
  br i1 %4358, label %4359, label %4382

4359:                                             ; preds = %4354
  %4360 = tail call ptr @__errno_location() #15
  %4361 = load i32, ptr %4360, align 4, !tbaa !5
  %4362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4363 = call i32 @s2n_print_stacktrace(ptr noundef %4362) #14
  %4364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4365 = trunc nuw i8 %4364 to i1
  br i1 %4365, label %4366, label %4370

4366:                                             ; preds = %4359
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = call i32 @fileno(ptr noundef %4367) #14
  %4369 = call i32 @isatty(i32 noundef %4368) #14
  %.not683 = icmp eq i32 %4369, 0
  br i1 %.not683, label %4370, label %4371

4370:                                             ; preds = %4366, %4359
  br label %4371

4371:                                             ; preds = %4366, %4370
  %.str.5.sink2249 = phi ptr [ @.str.5, %4370 ], [ @.str.2, %4366 ]
  store i32 %4361, ptr %4360, align 4, !tbaa !5
  %4372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4373 = load i32, ptr @test_count, align 4, !tbaa !5
  %4374 = load i32, ptr %3947, align 4, !tbaa !5
  %4375 = call ptr @s2n_strerror(i32 noundef %4374, ptr noundef nonnull @.str.4) #14
  %4376 = load i32, ptr %3947, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror_debug(i32 noundef %4376, ptr noundef nonnull @.str.4) #14
  %4378 = load i32, ptr %4360, align 4, !tbaa !5
  %4379 = call ptr @strerror(i32 noundef %4378) #14
  %4380 = load i32, ptr %4360, align 4, !tbaa !5
  %4381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4372, ptr noundef nonnull %.str.5.sink2249, i32 noundef %4373, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 535, ptr noundef %4375, ptr noundef %4377, ptr noundef %4379, i32 noundef %4380) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4382:                                             ; preds = %4354
  %4383 = load i32, ptr @test_count, align 4, !tbaa !5
  %4384 = add nsw i32 %4383, 1
  store i32 %4384, ptr @test_count, align 4, !tbaa !5
  %4385 = load i32, ptr %45, align 4, !tbaa !5
  %4386 = icmp eq i32 %4385, 0
  br i1 %4386, label %4410, label %4387

4387:                                             ; preds = %4382
  %4388 = tail call ptr @__errno_location() #15
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @s2n_print_stacktrace(ptr noundef %4390) #14
  %4392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc nuw i8 %4392 to i1
  br i1 %4393, label %4394, label %4398

4394:                                             ; preds = %4387
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @fileno(ptr noundef %4395) #14
  %4397 = call i32 @isatty(i32 noundef %4396) #14
  %.not658 = icmp eq i32 %4397, 0
  br i1 %.not658, label %4398, label %4399

4398:                                             ; preds = %4394, %4387
  br label %4399

4399:                                             ; preds = %4394, %4398
  %.str.5.sink2258 = phi ptr [ @.str.5, %4398 ], [ @.str.2, %4394 ]
  store i32 %4389, ptr %4388, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = load i32, ptr %3947, align 4, !tbaa !5
  %4403 = call ptr @s2n_strerror(i32 noundef %4402, ptr noundef nonnull @.str.4) #14
  %4404 = load i32, ptr %3947, align 4, !tbaa !5
  %4405 = call ptr @s2n_strerror_debug(i32 noundef %4404, ptr noundef nonnull @.str.4) #14
  %4406 = load i32, ptr %4388, align 4, !tbaa !5
  %4407 = call ptr @strerror(i32 noundef %4406) #14
  %4408 = load i32, ptr %4388, align 4, !tbaa !5
  %4409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4400, ptr noundef nonnull %.str.5.sink2258, i32 noundef %4401, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 536, ptr noundef %4403, ptr noundef %4405, ptr noundef %4407, i32 noundef %4408) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4410:                                             ; preds = %4382
  %4411 = add nsw i32 %4383, 2
  store i32 %4411, ptr @test_count, align 4, !tbaa !5
  %4412 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4125, i32 noundef 3) #14
  br i1 %4412, label %4436, label %4413

4413:                                             ; preds = %4410
  %4414 = tail call ptr @__errno_location() #15
  %4415 = load i32, ptr %4414, align 4, !tbaa !5
  %4416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4417 = call i32 @s2n_print_stacktrace(ptr noundef %4416) #14
  %4418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4419 = trunc nuw i8 %4418 to i1
  br i1 %4419, label %4420, label %4424

4420:                                             ; preds = %4413
  %4421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4422 = call i32 @fileno(ptr noundef %4421) #14
  %4423 = call i32 @isatty(i32 noundef %4422) #14
  %.not659 = icmp eq i32 %4423, 0
  br i1 %.not659, label %4424, label %4425

4424:                                             ; preds = %4420, %4413
  br label %4425

4425:                                             ; preds = %4420, %4424
  %.str.5.sink2267 = phi ptr [ @.str.5, %4424 ], [ @.str.2, %4420 ]
  store i32 %4415, ptr %4414, align 4, !tbaa !5
  %4426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4427 = load i32, ptr @test_count, align 4, !tbaa !5
  %4428 = load i32, ptr %3947, align 4, !tbaa !5
  %4429 = call ptr @s2n_strerror(i32 noundef %4428, ptr noundef nonnull @.str.4) #14
  %4430 = load i32, ptr %3947, align 4, !tbaa !5
  %4431 = call ptr @s2n_strerror_debug(i32 noundef %4430, ptr noundef nonnull @.str.4) #14
  %4432 = load i32, ptr %4414, align 4, !tbaa !5
  %4433 = call ptr @strerror(i32 noundef %4432) #14
  %4434 = load i32, ptr %4414, align 4, !tbaa !5
  %4435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4426, ptr noundef nonnull %.str.5.sink2267, i32 noundef %4427, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %4429, ptr noundef %4431, ptr noundef %4433, i32 noundef %4434) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4436:                                             ; preds = %4410
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %47) #14
  %4437 = call i32 @s2n_io_pair_close(ptr noundef nonnull %46) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #14
  %4438 = load i32, ptr @test_count, align 4, !tbaa !5
  %4439 = add nsw i32 %4438, 1
  store i32 %4439, ptr @test_count, align 4, !tbaa !5
  %4440 = load ptr, ptr %43, align 8, !tbaa !9
  %4441 = call i32 @s2n_connection_wipe(ptr noundef %4440) #14
  %4442 = icmp eq i32 %4441, -1
  br i1 %4442, label %4443, label %4466

4443:                                             ; preds = %4436
  %4444 = tail call ptr @__errno_location() #15
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4447 = call i32 @s2n_print_stacktrace(ptr noundef %4446) #14
  %4448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4449 = trunc nuw i8 %4448 to i1
  br i1 %4449, label %4450, label %4454

4450:                                             ; preds = %4443
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = call i32 @fileno(ptr noundef %4451) #14
  %4453 = call i32 @isatty(i32 noundef %4452) #14
  %.not682 = icmp eq i32 %4453, 0
  br i1 %.not682, label %4454, label %4455

4454:                                             ; preds = %4450, %4443
  br label %4455

4455:                                             ; preds = %4450, %4454
  %.str.5.sink2276 = phi ptr [ @.str.5, %4454 ], [ @.str.2, %4450 ]
  store i32 %4445, ptr %4444, align 4, !tbaa !5
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = load i32, ptr @test_count, align 4, !tbaa !5
  %4458 = load i32, ptr %3947, align 4, !tbaa !5
  %4459 = call ptr @s2n_strerror(i32 noundef %4458, ptr noundef nonnull @.str.4) #14
  %4460 = load i32, ptr %3947, align 4, !tbaa !5
  %4461 = call ptr @s2n_strerror_debug(i32 noundef %4460, ptr noundef nonnull @.str.4) #14
  %4462 = load i32, ptr %4444, align 4, !tbaa !5
  %4463 = call ptr @strerror(i32 noundef %4462) #14
  %4464 = load i32, ptr %4444, align 4, !tbaa !5
  %4465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4456, ptr noundef nonnull %.str.5.sink2276, i32 noundef %4457, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 540, ptr noundef %4459, ptr noundef %4461, ptr noundef %4463, i32 noundef %4464) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4466:                                             ; preds = %4436
  %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 = load ptr, ptr %42, align 8, !tbaa !9
  %4470 = call i32 @s2n_connection_wipe(ptr noundef %4469) #14
  %4471 = icmp eq i32 %4470, -1
  br i1 %4471, label %4472, label %4495

4472:                                             ; preds = %4466
  %4473 = tail call ptr @__errno_location() #15
  %4474 = load i32, ptr %4473, align 4, !tbaa !5
  %4475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4476 = call i32 @s2n_print_stacktrace(ptr noundef %4475) #14
  %4477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4478 = trunc nuw i8 %4477 to i1
  br i1 %4478, label %4479, label %4483

4479:                                             ; preds = %4472
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = call i32 @fileno(ptr noundef %4480) #14
  %4482 = call i32 @isatty(i32 noundef %4481) #14
  %.not681 = icmp eq i32 %4482, 0
  br i1 %.not681, label %4483, label %4484

4483:                                             ; preds = %4479, %4472
  br label %4484

4484:                                             ; preds = %4479, %4483
  %.str.5.sink2285 = phi ptr [ @.str.5, %4483 ], [ @.str.2, %4479 ]
  store i32 %4474, ptr %4473, align 4, !tbaa !5
  %4485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4486 = load i32, ptr @test_count, align 4, !tbaa !5
  %4487 = load i32, ptr %3947, align 4, !tbaa !5
  %4488 = call ptr @s2n_strerror(i32 noundef %4487, ptr noundef nonnull @.str.4) #14
  %4489 = load i32, ptr %3947, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror_debug(i32 noundef %4489, ptr noundef nonnull @.str.4) #14
  %4491 = load i32, ptr %4473, align 4, !tbaa !5
  %4492 = call ptr @strerror(i32 noundef %4491) #14
  %4493 = load i32, ptr %4473, align 4, !tbaa !5
  %4494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4485, ptr noundef nonnull %.str.5.sink2285, i32 noundef %4486, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 541, ptr noundef %4488, ptr noundef %4490, ptr noundef %4492, i32 noundef %4493) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4495:                                             ; preds = %4466
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #14
  store i64 0, ptr %48, align 8
  %4496 = load i32, ptr @test_count, align 4, !tbaa !5
  %4497 = add nsw i32 %4496, 1
  store i32 %4497, ptr @test_count, align 4, !tbaa !5
  %4498 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %48)
  %4499 = call zeroext i1 @s2n_result_is_ok(i32 %4498)
  br i1 %4499, label %4523, label %4500

4500:                                             ; preds = %4495
  %4501 = tail call ptr @__errno_location() #15
  %4502 = load i32, ptr %4501, align 4, !tbaa !5
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = call i32 @s2n_print_stacktrace(ptr noundef %4503) #14
  %4505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4506 = trunc nuw i8 %4505 to i1
  br i1 %4506, label %4507, label %4511

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

4511:                                             ; preds = %4507, %4500
  br label %4512

4512:                                             ; preds = %4507, %4511
  %.str.5.sink2294 = phi ptr [ @.str.5, %4511 ], [ @.str.2, %4507 ]
  store i32 %4502, ptr %4501, align 4, !tbaa !5
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = load i32, ptr @test_count, align 4, !tbaa !5
  %4515 = load i32, ptr %3947, align 4, !tbaa !5
  %4516 = call ptr @s2n_strerror(i32 noundef %4515, ptr noundef nonnull @.str.4) #14
  %4517 = load i32, ptr %3947, align 4, !tbaa !5
  %4518 = call ptr @s2n_strerror_debug(i32 noundef %4517, ptr noundef nonnull @.str.4) #14
  %4519 = load i32, ptr %4501, align 4, !tbaa !5
  %4520 = call ptr @strerror(i32 noundef %4519) #14
  %4521 = load i32, ptr %4501, align 4, !tbaa !5
  %4522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4513, ptr noundef nonnull %.str.5.sink2294, i32 noundef %4514, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 546, ptr noundef %4516, ptr noundef %4518, ptr noundef %4520, i32 noundef %4521) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4523:                                             ; preds = %4495
  %4524 = load i32, ptr @test_count, align 4, !tbaa !5
  %4525 = add nsw i32 %4524, 1
  store i32 %4525, ptr @test_count, align 4, !tbaa !5
  %4526 = load ptr, ptr %43, align 8, !tbaa !9
  %4527 = load ptr, ptr %42, align 8, !tbaa !9
  %4528 = call i32 @s2n_setup_connections(ptr noundef %4526, ptr noundef %4527, ptr noundef nonnull %48)
  %4529 = call zeroext i1 @s2n_result_is_ok(i32 %4528)
  br i1 %4529, label %4553, label %4530

4530:                                             ; preds = %4523
  %4531 = tail call ptr @__errno_location() #15
  %4532 = load i32, ptr %4531, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = call i32 @s2n_print_stacktrace(ptr noundef %4533) #14
  %4535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4536 = trunc nuw i8 %4535 to i1
  br i1 %4536, label %4537, label %4541

4537:                                             ; preds = %4530
  %4538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4539 = call i32 @fileno(ptr noundef %4538) #14
  %4540 = call i32 @isatty(i32 noundef %4539) #14
  %.not661 = icmp eq i32 %4540, 0
  br i1 %.not661, label %4541, label %4542

4541:                                             ; preds = %4537, %4530
  br label %4542

4542:                                             ; preds = %4537, %4541
  %.str.5.sink2303 = phi ptr [ @.str.5, %4541 ], [ @.str.2, %4537 ]
  store i32 %4532, ptr %4531, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = load i32, ptr @test_count, align 4, !tbaa !5
  %4545 = load i32, ptr %3947, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror(i32 noundef %4545, ptr noundef nonnull @.str.4) #14
  %4547 = load i32, ptr %3947, align 4, !tbaa !5
  %4548 = call ptr @s2n_strerror_debug(i32 noundef %4547, ptr noundef nonnull @.str.4) #14
  %4549 = load i32, ptr %4531, align 4, !tbaa !5
  %4550 = call ptr @strerror(i32 noundef %4549) #14
  %4551 = load i32, ptr %4531, align 4, !tbaa !5
  %4552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4543, ptr noundef nonnull %.str.5.sink2303, i32 noundef %4544, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %4546, ptr noundef %4548, ptr noundef %4550, i32 noundef %4551) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4553:                                             ; preds = %4523
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = add nsw i32 %4554, 1
  store i32 %4555, ptr @test_count, align 4, !tbaa !5
  %4556 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %4125) #14
  %4557 = icmp eq i32 %4556, -1
  br i1 %4557, label %4562, label %.preheader827.preheader

.preheader827.preheader:                          ; preds = %4553
  %4558 = load i32, ptr @test_count, align 4, !tbaa !5
  %4559 = add nsw i32 %4558, 1
  store i32 %4559, ptr @test_count, align 4, !tbaa !5
  %4560 = call i64 @s2n_send(ptr noundef %4130, ptr noundef nonnull %4, i64 noundef 10, ptr noundef nonnull %45) #14
  %4561 = icmp eq i64 %4560, -1
  br i1 %4561, label %4598, label %.preheader827.1

4562:                                             ; preds = %4553
  %4563 = tail call ptr @__errno_location() #15
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  %4565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4566 = call i32 @s2n_print_stacktrace(ptr noundef %4565) #14
  %4567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4568 = trunc nuw i8 %4567 to i1
  br i1 %4568, label %4569, label %4573

4569:                                             ; preds = %4562
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = call i32 @fileno(ptr noundef %4570) #14
  %4572 = call i32 @isatty(i32 noundef %4571) #14
  %.not680 = icmp eq i32 %4572, 0
  br i1 %.not680, label %4573, label %4574

4573:                                             ; preds = %4569, %4562
  br label %4574

4574:                                             ; preds = %4569, %4573
  %.str.5.sink2312 = phi ptr [ @.str.5, %4573 ], [ @.str.2, %4569 ]
  store i32 %4564, ptr %4563, align 4, !tbaa !5
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = load i32, ptr @test_count, align 4, !tbaa !5
  %4577 = load i32, ptr %3947, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror(i32 noundef %4577, ptr noundef nonnull @.str.4) #14
  %4579 = load i32, ptr %3947, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror_debug(i32 noundef %4579, ptr noundef nonnull @.str.4) #14
  %4581 = load i32, ptr %4563, align 4, !tbaa !5
  %4582 = call ptr @strerror(i32 noundef %4581) #14
  %4583 = load i32, ptr %4563, align 4, !tbaa !5
  %4584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4575, ptr noundef nonnull %.str.5.sink2312, i32 noundef %4576, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %4578, ptr noundef %4580, ptr noundef %4582, i32 noundef %4583) #16
  call void @exit(i32 noundef 1) #17
  unreachable

.preheader827.1:                                  ; preds = %.preheader827.preheader
  %4585 = load i32, ptr @test_count, align 4, !tbaa !5
  %4586 = add nsw i32 %4585, 1
  store i32 %4586, ptr @test_count, align 4, !tbaa !5
  %4587 = call i64 @s2n_send(ptr noundef %4130, ptr noundef nonnull %4, i64 noundef 10, ptr noundef nonnull %45) #14
  %4588 = icmp eq i64 %4587, -1
  br i1 %4588, label %4598, label %.preheader827.2

.preheader827.2:                                  ; preds = %.preheader827.1
  %4589 = load i32, ptr @test_count, align 4, !tbaa !5
  %4590 = add nsw i32 %4589, 1
  store i32 %4590, ptr @test_count, align 4, !tbaa !5
  %4591 = call i64 @s2n_send(ptr noundef %4130, ptr noundef nonnull %4, i64 noundef 10, ptr noundef nonnull %45) #14
  %4592 = icmp eq i64 %4591, -1
  br i1 %4592, label %4598, label %4593

4593:                                             ; preds = %.preheader827.2
  %4594 = load i32, ptr @test_count, align 4, !tbaa !5
  %4595 = add nsw i32 %4594, 1
  store i32 %4595, ptr @test_count, align 4, !tbaa !5
  %4596 = call i32 @s2n_shutdown_send(ptr noundef %4130, ptr noundef nonnull %45) #14
  %4597 = icmp eq i32 %4596, -1
  br i1 %4597, label %4621, label %4644

4598:                                             ; preds = %.preheader827.2, %.preheader827.1, %.preheader827.preheader
  %4599 = tail call ptr @__errno_location() #15
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = call i32 @s2n_print_stacktrace(ptr noundef %4601) #14
  %4603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4604 = trunc nuw i8 %4603 to i1
  br i1 %4604, label %4605, label %4609

4605:                                             ; preds = %4598
  %4606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4607 = call i32 @fileno(ptr noundef %4606) #14
  %4608 = call i32 @isatty(i32 noundef %4607) #14
  %.not679 = icmp eq i32 %4608, 0
  br i1 %.not679, label %4609, label %4610

4609:                                             ; preds = %4605, %4598
  br label %4610

4610:                                             ; preds = %4605, %4609
  %.str.5.sink2321 = phi ptr [ @.str.5, %4609 ], [ @.str.2, %4605 ]
  store i32 %4600, ptr %4599, align 4, !tbaa !5
  %4611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4612 = load i32, ptr @test_count, align 4, !tbaa !5
  %4613 = load i32, ptr %3947, align 4, !tbaa !5
  %4614 = call ptr @s2n_strerror(i32 noundef %4613, ptr noundef nonnull @.str.4) #14
  %4615 = load i32, ptr %3947, align 4, !tbaa !5
  %4616 = call ptr @s2n_strerror_debug(i32 noundef %4615, ptr noundef nonnull @.str.4) #14
  %4617 = load i32, ptr %4599, align 4, !tbaa !5
  %4618 = call ptr @strerror(i32 noundef %4617) #14
  %4619 = load i32, ptr %4599, align 4, !tbaa !5
  %4620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4611, ptr noundef nonnull %.str.5.sink2321, i32 noundef %4612, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %4614, ptr noundef %4616, ptr noundef %4618, i32 noundef %4619) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4621:                                             ; preds = %4593
  %4622 = tail call ptr @__errno_location() #15
  %4623 = load i32, ptr %4622, align 4, !tbaa !5
  %4624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4625 = call i32 @s2n_print_stacktrace(ptr noundef %4624) #14
  %4626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4627 = trunc nuw i8 %4626 to i1
  br i1 %4627, label %4628, label %4632

4628:                                             ; preds = %4621
  %4629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4630 = call i32 @fileno(ptr noundef %4629) #14
  %4631 = call i32 @isatty(i32 noundef %4630) #14
  %.not678 = icmp eq i32 %4631, 0
  br i1 %.not678, label %4632, label %4633

4632:                                             ; preds = %4628, %4621
  br label %4633

4633:                                             ; preds = %4628, %4632
  %.str.5.sink2330 = phi ptr [ @.str.5, %4632 ], [ @.str.2, %4628 ]
  store i32 %4623, ptr %4622, align 4, !tbaa !5
  %4634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4635 = load i32, ptr @test_count, align 4, !tbaa !5
  %4636 = load i32, ptr %3947, align 4, !tbaa !5
  %4637 = call ptr @s2n_strerror(i32 noundef %4636, ptr noundef nonnull @.str.4) #14
  %4638 = load i32, ptr %3947, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror_debug(i32 noundef %4638, ptr noundef nonnull @.str.4) #14
  %4640 = load i32, ptr %4622, align 4, !tbaa !5
  %4641 = call ptr @strerror(i32 noundef %4640) #14
  %4642 = load i32, ptr %4622, align 4, !tbaa !5
  %4643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4634, ptr noundef nonnull %.str.5.sink2330, i32 noundef %4635, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %4637, ptr noundef %4639, ptr noundef %4641, i32 noundef %4642) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4644:                                             ; preds = %4593
  %4645 = load i32, ptr @test_count, align 4, !tbaa !5
  %4646 = add nsw i32 %4645, 1
  store i32 %4646, ptr @test_count, align 4, !tbaa !5
  %4647 = load i32, ptr %45, align 4, !tbaa !5
  %4648 = icmp eq i32 %4647, 0
  br i1 %4648, label %4672, label %4649

4649:                                             ; preds = %4644
  %4650 = tail call ptr @__errno_location() #15
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4653 = call i32 @s2n_print_stacktrace(ptr noundef %4652) #14
  %4654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4655 = trunc nuw i8 %4654 to i1
  br i1 %4655, label %4656, label %4660

4656:                                             ; preds = %4649
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @fileno(ptr noundef %4657) #14
  %4659 = call i32 @isatty(i32 noundef %4658) #14
  %.not662 = icmp eq i32 %4659, 0
  br i1 %.not662, label %4660, label %4661

4660:                                             ; preds = %4656, %4649
  br label %4661

4661:                                             ; preds = %4656, %4660
  %.str.5.sink2339 = phi ptr [ @.str.5, %4660 ], [ @.str.2, %4656 ]
  store i32 %4651, ptr %4650, align 4, !tbaa !5
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = load i32, ptr @test_count, align 4, !tbaa !5
  %4664 = load i32, ptr %3947, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror(i32 noundef %4664, ptr noundef nonnull @.str.4) #14
  %4666 = load i32, ptr %3947, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror_debug(i32 noundef %4666, ptr noundef nonnull @.str.4) #14
  %4668 = load i32, ptr %4650, align 4, !tbaa !5
  %4669 = call ptr @strerror(i32 noundef %4668) #14
  %4670 = load i32, ptr %4650, align 4, !tbaa !5
  %4671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4662, ptr noundef nonnull %.str.5.sink2339, i32 noundef %4663, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 557, ptr noundef %4665, ptr noundef %4667, ptr noundef %4669, i32 noundef %4670) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4672:                                             ; preds = %4644
  %4673 = add nsw i32 %4645, 2
  store i32 %4673, ptr @test_count, align 4, !tbaa !5
  %4674 = call i32 @s2n_shutdown(ptr noundef %4125, ptr noundef nonnull %45) #14
  %4675 = icmp eq i32 %4674, -1
  br i1 %4675, label %4676, label %4699

4676:                                             ; preds = %4672
  %4677 = tail call ptr @__errno_location() #15
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4680 = call i32 @s2n_print_stacktrace(ptr noundef %4679) #14
  %4681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4682 = trunc nuw i8 %4681 to i1
  br i1 %4682, label %4683, label %4687

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

4687:                                             ; preds = %4683, %4676
  br label %4688

4688:                                             ; preds = %4683, %4687
  %.str.5.sink2348 = phi ptr [ @.str.5, %4687 ], [ @.str.2, %4683 ]
  store i32 %4678, ptr %4677, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = load i32, ptr %3947, align 4, !tbaa !5
  %4692 = call ptr @s2n_strerror(i32 noundef %4691, ptr noundef nonnull @.str.4) #14
  %4693 = load i32, ptr %3947, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror_debug(i32 noundef %4693, ptr noundef nonnull @.str.4) #14
  %4695 = load i32, ptr %4677, align 4, !tbaa !5
  %4696 = call ptr @strerror(i32 noundef %4695) #14
  %4697 = load i32, ptr %4677, align 4, !tbaa !5
  %4698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4689, ptr noundef nonnull %.str.5.sink2348, i32 noundef %4690, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %4692, ptr noundef %4694, ptr noundef %4696, i32 noundef %4697) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4699:                                             ; preds = %4672
  %4700 = load i32, ptr @test_count, align 4, !tbaa !5
  %4701 = add nsw i32 %4700, 1
  store i32 %4701, ptr @test_count, align 4, !tbaa !5
  %4702 = load i32, ptr %45, align 4, !tbaa !5
  %4703 = icmp eq i32 %4702, 0
  br i1 %4703, label %4727, label %4704

4704:                                             ; preds = %4699
  %4705 = tail call ptr @__errno_location() #15
  %4706 = load i32, ptr %4705, align 4, !tbaa !5
  %4707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4708 = call i32 @s2n_print_stacktrace(ptr noundef %4707) #14
  %4709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4710 = trunc nuw i8 %4709 to i1
  br i1 %4710, label %4711, label %4715

4711:                                             ; preds = %4704
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = call i32 @fileno(ptr noundef %4712) #14
  %4714 = call i32 @isatty(i32 noundef %4713) #14
  %.not663 = icmp eq i32 %4714, 0
  br i1 %.not663, label %4715, label %4716

4715:                                             ; preds = %4711, %4704
  br label %4716

4716:                                             ; preds = %4711, %4715
  %.str.5.sink2357 = phi ptr [ @.str.5, %4715 ], [ @.str.2, %4711 ]
  store i32 %4706, ptr %4705, align 4, !tbaa !5
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = load i32, ptr @test_count, align 4, !tbaa !5
  %4719 = load i32, ptr %3947, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror(i32 noundef %4719, ptr noundef nonnull @.str.4) #14
  %4721 = load i32, ptr %3947, align 4, !tbaa !5
  %4722 = call ptr @s2n_strerror_debug(i32 noundef %4721, ptr noundef nonnull @.str.4) #14
  %4723 = load i32, ptr %4705, align 4, !tbaa !5
  %4724 = call ptr @strerror(i32 noundef %4723) #14
  %4725 = load i32, ptr %4705, align 4, !tbaa !5
  %4726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4717, ptr noundef nonnull %.str.5.sink2357, i32 noundef %4718, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %4720, ptr noundef %4722, ptr noundef %4724, i32 noundef %4725) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4727:                                             ; preds = %4699
  %4728 = add nsw i32 %4700, 2
  store i32 %4728, ptr @test_count, align 4, !tbaa !5
  %4729 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4125, i32 noundef 3) #14
  br i1 %4729, label %4753, label %4730

4730:                                             ; preds = %4727
  %4731 = tail call ptr @__errno_location() #15
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4734 = call i32 @s2n_print_stacktrace(ptr noundef %4733) #14
  %4735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4736 = trunc nuw i8 %4735 to i1
  br i1 %4736, label %4737, label %4741

4737:                                             ; preds = %4730
  %4738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4739 = call i32 @fileno(ptr noundef %4738) #14
  %4740 = call i32 @isatty(i32 noundef %4739) #14
  %.not664 = icmp eq i32 %4740, 0
  br i1 %.not664, label %4741, label %4742

4741:                                             ; preds = %4737, %4730
  br label %4742

4742:                                             ; preds = %4737, %4741
  %.str.5.sink2366 = phi ptr [ @.str.5, %4741 ], [ @.str.2, %4737 ]
  store i32 %4732, ptr %4731, align 4, !tbaa !5
  %4743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4744 = load i32, ptr @test_count, align 4, !tbaa !5
  %4745 = load i32, ptr %3947, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror(i32 noundef %4745, ptr noundef nonnull @.str.4) #14
  %4747 = load i32, ptr %3947, align 4, !tbaa !5
  %4748 = call ptr @s2n_strerror_debug(i32 noundef %4747, ptr noundef nonnull @.str.4) #14
  %4749 = load i32, ptr %4731, align 4, !tbaa !5
  %4750 = call ptr @strerror(i32 noundef %4749) #14
  %4751 = load i32, ptr %4731, align 4, !tbaa !5
  %4752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4743, ptr noundef nonnull %.str.5.sink2366, i32 noundef %4744, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 567, ptr noundef %4746, ptr noundef %4748, ptr noundef %4750, i32 noundef %4751) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4753:                                             ; preds = %4727
  %4754 = call i32 @s2n_io_pair_close(ptr noundef nonnull %48) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #14
  %4755 = load i32, ptr @test_count, align 4, !tbaa !5
  %4756 = add nsw i32 %4755, 1
  store i32 %4756, ptr @test_count, align 4, !tbaa !5
  %4757 = load ptr, ptr %43, align 8, !tbaa !9
  %4758 = call i32 @s2n_connection_wipe(ptr noundef %4757) #14
  %4759 = icmp eq i32 %4758, -1
  br i1 %4759, label %4760, label %4783

4760:                                             ; preds = %4753
  %4761 = tail call ptr @__errno_location() #15
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @s2n_print_stacktrace(ptr noundef %4763) #14
  %4765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4766 = trunc nuw i8 %4765 to i1
  br i1 %4766, label %4767, label %4771

4767:                                             ; preds = %4760
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = call i32 @fileno(ptr noundef %4768) #14
  %4770 = call i32 @isatty(i32 noundef %4769) #14
  %.not676 = icmp eq i32 %4770, 0
  br i1 %.not676, label %4771, label %4772

4771:                                             ; preds = %4767, %4760
  br label %4772

4772:                                             ; preds = %4767, %4771
  %.str.5.sink2375 = phi ptr [ @.str.5, %4771 ], [ @.str.2, %4767 ]
  store i32 %4762, ptr %4761, align 4, !tbaa !5
  %4773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4774 = load i32, ptr @test_count, align 4, !tbaa !5
  %4775 = load i32, ptr %3947, align 4, !tbaa !5
  %4776 = call ptr @s2n_strerror(i32 noundef %4775, ptr noundef nonnull @.str.4) #14
  %4777 = load i32, ptr %3947, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror_debug(i32 noundef %4777, ptr noundef nonnull @.str.4) #14
  %4779 = load i32, ptr %4761, align 4, !tbaa !5
  %4780 = call ptr @strerror(i32 noundef %4779) #14
  %4781 = load i32, ptr %4761, align 4, !tbaa !5
  %4782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4773, ptr noundef nonnull %.str.5.sink2375, i32 noundef %4774, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 570, ptr noundef %4776, ptr noundef %4778, ptr noundef %4780, i32 noundef %4781) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4783:                                             ; preds = %4753
  %4784 = load i32, ptr @test_count, align 4, !tbaa !5
  %4785 = add nsw i32 %4784, 1
  store i32 %4785, ptr @test_count, align 4, !tbaa !5
  %4786 = load ptr, ptr %42, align 8, !tbaa !9
  %4787 = call i32 @s2n_connection_wipe(ptr noundef %4786) #14
  %4788 = icmp eq i32 %4787, -1
  br i1 %4788, label %4789, label %4812

4789:                                             ; preds = %4783
  %4790 = tail call ptr @__errno_location() #15
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792) #14
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc nuw i8 %4794 to i1
  br i1 %4795, label %4796, label %4800

4796:                                             ; preds = %4789
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #14
  %4799 = call i32 @isatty(i32 noundef %4798) #14
  %.not675 = icmp eq i32 %4799, 0
  br i1 %.not675, label %4800, label %4801

4800:                                             ; preds = %4796, %4789
  br label %4801

4801:                                             ; preds = %4796, %4800
  %.str.5.sink2384 = phi ptr [ @.str.5, %4800 ], [ @.str.2, %4796 ]
  store i32 %4791, ptr %4790, align 4, !tbaa !5
  %4802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4803 = load i32, ptr @test_count, align 4, !tbaa !5
  %4804 = load i32, ptr %3947, align 4, !tbaa !5
  %4805 = call ptr @s2n_strerror(i32 noundef %4804, ptr noundef nonnull @.str.4) #14
  %4806 = load i32, ptr %3947, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror_debug(i32 noundef %4806, ptr noundef nonnull @.str.4) #14
  %4808 = load i32, ptr %4790, align 4, !tbaa !5
  %4809 = call ptr @strerror(i32 noundef %4808) #14
  %4810 = load i32, ptr %4790, align 4, !tbaa !5
  %4811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4802, ptr noundef nonnull %.str.5.sink2384, i32 noundef %4803, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %4805, ptr noundef %4807, ptr noundef %4809, i32 noundef %4810) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4812:                                             ; preds = %4783
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #14
  store i64 0, ptr %49, align 8
  %4813 = load i32, ptr @test_count, align 4, !tbaa !5
  %4814 = add nsw i32 %4813, 1
  store i32 %4814, ptr @test_count, align 4, !tbaa !5
  %4815 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %49)
  %4816 = call zeroext i1 @s2n_result_is_ok(i32 %4815)
  br i1 %4816, label %4840, label %4817

4817:                                             ; preds = %4812
  %4818 = tail call ptr @__errno_location() #15
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = call i32 @s2n_print_stacktrace(ptr noundef %4820) #14
  %4822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4823 = trunc nuw i8 %4822 to i1
  br i1 %4823, label %4824, label %4828

4824:                                             ; preds = %4817
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = call i32 @fileno(ptr noundef %4825) #14
  %4827 = call i32 @isatty(i32 noundef %4826) #14
  %.not665 = icmp eq i32 %4827, 0
  br i1 %.not665, label %4828, label %4829

4828:                                             ; preds = %4824, %4817
  br label %4829

4829:                                             ; preds = %4824, %4828
  %.str.5.sink2393 = phi ptr [ @.str.5, %4828 ], [ @.str.2, %4824 ]
  store i32 %4819, ptr %4818, align 4, !tbaa !5
  %4830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4831 = load i32, ptr @test_count, align 4, !tbaa !5
  %4832 = load i32, ptr %3947, align 4, !tbaa !5
  %4833 = call ptr @s2n_strerror(i32 noundef %4832, ptr noundef nonnull @.str.4) #14
  %4834 = load i32, ptr %3947, align 4, !tbaa !5
  %4835 = call ptr @s2n_strerror_debug(i32 noundef %4834, ptr noundef nonnull @.str.4) #14
  %4836 = load i32, ptr %4818, align 4, !tbaa !5
  %4837 = call ptr @strerror(i32 noundef %4836) #14
  %4838 = load i32, ptr %4818, align 4, !tbaa !5
  %4839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4830, ptr noundef nonnull %.str.5.sink2393, i32 noundef %4831, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %4833, ptr noundef %4835, ptr noundef %4837, i32 noundef %4838) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4840:                                             ; preds = %4812
  %4841 = load i32, ptr @test_count, align 4, !tbaa !5
  %4842 = add nsw i32 %4841, 1
  store i32 %4842, ptr @test_count, align 4, !tbaa !5
  %4843 = load ptr, ptr %43, align 8, !tbaa !9
  %4844 = load ptr, ptr %42, align 8, !tbaa !9
  %4845 = call i32 @s2n_setup_connections(ptr noundef %4843, ptr noundef %4844, ptr noundef nonnull %49)
  %4846 = call zeroext i1 @s2n_result_is_ok(i32 %4845)
  br i1 %4846, label %4870, label %4847

4847:                                             ; preds = %4840
  %4848 = tail call ptr @__errno_location() #15
  %4849 = load i32, ptr %4848, align 4, !tbaa !5
  %4850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4851 = call i32 @s2n_print_stacktrace(ptr noundef %4850) #14
  %4852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4853 = trunc nuw i8 %4852 to i1
  br i1 %4853, label %4854, label %4858

4854:                                             ; preds = %4847
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = call i32 @fileno(ptr noundef %4855) #14
  %4857 = call i32 @isatty(i32 noundef %4856) #14
  %.not666 = icmp eq i32 %4857, 0
  br i1 %.not666, label %4858, label %4859

4858:                                             ; preds = %4854, %4847
  br label %4859

4859:                                             ; preds = %4854, %4858
  %.str.5.sink2402 = phi ptr [ @.str.5, %4858 ], [ @.str.2, %4854 ]
  store i32 %4849, ptr %4848, align 4, !tbaa !5
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4861 = load i32, ptr @test_count, align 4, !tbaa !5
  %4862 = load i32, ptr %3947, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror(i32 noundef %4862, ptr noundef nonnull @.str.4) #14
  %4864 = load i32, ptr %3947, align 4, !tbaa !5
  %4865 = call ptr @s2n_strerror_debug(i32 noundef %4864, ptr noundef nonnull @.str.4) #14
  %4866 = load i32, ptr %4848, align 4, !tbaa !5
  %4867 = call ptr @strerror(i32 noundef %4866) #14
  %4868 = load i32, ptr %4848, align 4, !tbaa !5
  %4869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4860, ptr noundef nonnull %.str.5.sink2402, i32 noundef %4861, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 577, ptr noundef %4863, ptr noundef %4865, ptr noundef %4867, i32 noundef %4868) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4870:                                             ; preds = %4840
  %4871 = load i32, ptr @test_count, align 4, !tbaa !5
  %4872 = add nsw i32 %4871, 1
  store i32 %4872, ptr @test_count, align 4, !tbaa !5
  %4873 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %4125) #14
  %4874 = icmp eq i32 %4873, -1
  br i1 %4874, label %4875, label %4898

4875:                                             ; preds = %4870
  %4876 = tail call ptr @__errno_location() #15
  %4877 = load i32, ptr %4876, align 4, !tbaa !5
  %4878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4879 = call i32 @s2n_print_stacktrace(ptr noundef %4878) #14
  %4880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4881 = trunc nuw i8 %4880 to i1
  br i1 %4881, label %4882, label %4886

4882:                                             ; preds = %4875
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = call i32 @fileno(ptr noundef %4883) #14
  %4885 = call i32 @isatty(i32 noundef %4884) #14
  %.not674 = icmp eq i32 %4885, 0
  br i1 %.not674, label %4886, label %4887

4886:                                             ; preds = %4882, %4875
  br label %4887

4887:                                             ; preds = %4882, %4886
  %.str.5.sink2411 = phi ptr [ @.str.5, %4886 ], [ @.str.2, %4882 ]
  store i32 %4877, ptr %4876, align 4, !tbaa !5
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = load i32, ptr @test_count, align 4, !tbaa !5
  %4890 = load i32, ptr %3947, align 4, !tbaa !5
  %4891 = call ptr @s2n_strerror(i32 noundef %4890, ptr noundef nonnull @.str.4) #14
  %4892 = load i32, ptr %3947, align 4, !tbaa !5
  %4893 = call ptr @s2n_strerror_debug(i32 noundef %4892, ptr noundef nonnull @.str.4) #14
  %4894 = load i32, ptr %4876, align 4, !tbaa !5
  %4895 = call ptr @strerror(i32 noundef %4894) #14
  %4896 = load i32, ptr %4876, align 4, !tbaa !5
  %4897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4888, ptr noundef nonnull %.str.5.sink2411, i32 noundef %4889, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 578, ptr noundef %4891, ptr noundef %4893, ptr noundef %4895, i32 noundef %4896) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4898:                                             ; preds = %4870
  %4899 = load i32, ptr @test_count, align 4, !tbaa !5
  %4900 = add nsw i32 %4899, 1
  store i32 %4900, ptr @test_count, align 4, !tbaa !5
  %4901 = getelementptr inbounds i8, ptr %4130, i64 148
  %4902 = load i32, ptr %4901, align 4, !tbaa !51
  %4903 = call i32 @s2n_io_pair_close_one_end(ptr noundef nonnull %49, i32 noundef %4902) #14
  %4904 = icmp eq i32 %4903, -1
  br i1 %4904, label %4905, label %4928

4905:                                             ; preds = %4898
  %4906 = tail call ptr @__errno_location() #15
  %4907 = load i32, ptr %4906, align 4, !tbaa !5
  %4908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4909 = call i32 @s2n_print_stacktrace(ptr noundef %4908) #14
  %4910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4911 = trunc nuw i8 %4910 to i1
  br i1 %4911, label %4912, label %4916

4912:                                             ; preds = %4905
  %4913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4914 = call i32 @fileno(ptr noundef %4913) #14
  %4915 = call i32 @isatty(i32 noundef %4914) #14
  %.not673 = icmp eq i32 %4915, 0
  br i1 %.not673, label %4916, label %4917

4916:                                             ; preds = %4912, %4905
  br label %4917

4917:                                             ; preds = %4912, %4916
  %.str.5.sink2420 = phi ptr [ @.str.5, %4916 ], [ @.str.2, %4912 ]
  store i32 %4907, ptr %4906, align 4, !tbaa !5
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = load i32, ptr @test_count, align 4, !tbaa !5
  %4920 = load i32, ptr %3947, align 4, !tbaa !5
  %4921 = call ptr @s2n_strerror(i32 noundef %4920, ptr noundef nonnull @.str.4) #14
  %4922 = load i32, ptr %3947, align 4, !tbaa !5
  %4923 = call ptr @s2n_strerror_debug(i32 noundef %4922, ptr noundef nonnull @.str.4) #14
  %4924 = load i32, ptr %4906, align 4, !tbaa !5
  %4925 = call ptr @strerror(i32 noundef %4924) #14
  %4926 = load i32, ptr %4906, align 4, !tbaa !5
  %4927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4918, ptr noundef nonnull %.str.5.sink2420, i32 noundef %4919, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 580, ptr noundef %4921, ptr noundef %4923, ptr noundef %4925, i32 noundef %4926) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4928:                                             ; preds = %4898
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %50) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %50, i8 0, i64 10, i1 false)
  %4929 = call i64 @s2n_recv(ptr noundef %4125, ptr noundef nonnull %50, i64 noundef 10, ptr noundef nonnull %45) #14
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = add nsw i32 %4930, 1
  store i32 %4931, ptr @test_count, align 4, !tbaa !5
  %4932 = and i64 %4929, 4294967295
  %4933 = icmp eq i64 %4932, 4294967295
  br i1 %4933, label %4957, label %4934

4934:                                             ; preds = %4928
  %4935 = tail call ptr @__errno_location() #15
  %4936 = load i32, ptr %4935, align 4, !tbaa !5
  %4937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4938 = call i32 @s2n_print_stacktrace(ptr noundef %4937) #14
  %4939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4940 = trunc nuw i8 %4939 to i1
  br i1 %4940, label %4941, label %4945

4941:                                             ; preds = %4934
  %4942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4943 = call i32 @fileno(ptr noundef %4942) #14
  %4944 = call i32 @isatty(i32 noundef %4943) #14
  %.not667 = icmp eq i32 %4944, 0
  br i1 %.not667, label %4945, label %4946

4945:                                             ; preds = %4941, %4934
  br label %4946

4946:                                             ; preds = %4941, %4945
  %.str.5.sink2429 = phi ptr [ @.str.5, %4945 ], [ @.str.2, %4941 ]
  store i32 %4936, ptr %4935, align 4, !tbaa !5
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4948 = load i32, ptr @test_count, align 4, !tbaa !5
  %4949 = load i32, ptr %3947, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror(i32 noundef %4949, ptr noundef nonnull @.str.4) #14
  %4951 = load i32, ptr %3947, align 4, !tbaa !5
  %4952 = call ptr @s2n_strerror_debug(i32 noundef %4951, ptr noundef nonnull @.str.4) #14
  %4953 = load i32, ptr %4935, align 4, !tbaa !5
  %4954 = call ptr @strerror(i32 noundef %4953) #14
  %4955 = load i32, ptr %4935, align 4, !tbaa !5
  %4956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4947, ptr noundef nonnull %.str.5.sink2429, i32 noundef %4948, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 584, ptr noundef %4950, ptr noundef %4952, ptr noundef %4954, i32 noundef %4955) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4957:                                             ; preds = %4928
  %4958 = add nsw i32 %4930, 2
  store i32 %4958, ptr @test_count, align 4, !tbaa !5
  %4959 = load i32, ptr %3947, align 4, !tbaa !5
  %4960 = icmp eq i32 %4959, 134217728
  br i1 %4960, label %4984, label %4961

4961:                                             ; preds = %4957
  %4962 = tail call ptr @__errno_location() #15
  %4963 = load i32, ptr %4962, align 4, !tbaa !5
  %4964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4965 = call i32 @s2n_print_stacktrace(ptr noundef %4964) #14
  %4966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4967 = trunc nuw i8 %4966 to i1
  br i1 %4967, label %4968, label %4972

4968:                                             ; preds = %4961
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = call i32 @fileno(ptr noundef %4969) #14
  %4971 = call i32 @isatty(i32 noundef %4970) #14
  %.not668 = icmp eq i32 %4971, 0
  br i1 %.not668, label %4972, label %4973

4972:                                             ; preds = %4968, %4961
  br label %4973

4973:                                             ; preds = %4968, %4972
  %.str.5.sink2438 = phi ptr [ @.str.5, %4972 ], [ @.str.2, %4968 ]
  store i32 %4963, ptr %4962, align 4, !tbaa !5
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4975 = load i32, ptr @test_count, align 4, !tbaa !5
  %4976 = load i32, ptr %3947, align 4, !tbaa !5
  %4977 = call ptr @s2n_strerror(i32 noundef %4976, ptr noundef nonnull @.str.4) #14
  %4978 = load i32, ptr %3947, align 4, !tbaa !5
  %4979 = call ptr @s2n_strerror_debug(i32 noundef %4978, ptr noundef nonnull @.str.4) #14
  %4980 = load i32, ptr %4962, align 4, !tbaa !5
  %4981 = call ptr @strerror(i32 noundef %4980) #14
  %4982 = load i32, ptr %4962, align 4, !tbaa !5
  %4983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4974, ptr noundef nonnull %.str.5.sink2438, i32 noundef %4975, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 584, ptr noundef %4977, ptr noundef %4979, ptr noundef %4981, i32 noundef %4982) #16
  call void @exit(i32 noundef 1) #17
  unreachable

4984:                                             ; preds = %4957
  %4985 = add nsw i32 %4930, 3
  store i32 %4985, ptr @test_count, align 4, !tbaa !5
  %4986 = call ptr @s2n_strerror_debug(i32 noundef 134217728, ptr noundef nonnull @.str.4) #14
  %4987 = icmp eq ptr %4986, null
  br i1 %4987, label %4988, label %5011

4988:                                             ; preds = %4984
  %4989 = tail call ptr @__errno_location() #15
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4992 = call i32 @s2n_print_stacktrace(ptr noundef %4991) #14
  %4993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4994 = trunc nuw i8 %4993 to i1
  br i1 %4994, label %4995, label %4999

4995:                                             ; preds = %4988
  %4996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4997 = call i32 @fileno(ptr noundef %4996) #14
  %4998 = call i32 @isatty(i32 noundef %4997) #14
  %.not672 = icmp eq i32 %4998, 0
  br i1 %.not672, label %4999, label %5000

4999:                                             ; preds = %4995, %4988
  br label %5000

5000:                                             ; preds = %4995, %4999
  %.str.5.sink2447 = phi ptr [ @.str.5, %4999 ], [ @.str.2, %4995 ]
  store i32 %4990, ptr %4989, align 4, !tbaa !5
  %5001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5002 = load i32, ptr @test_count, align 4, !tbaa !5
  %5003 = load i32, ptr %3947, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror(i32 noundef %5003, ptr noundef nonnull @.str.4) #14
  %5005 = load i32, ptr %3947, align 4, !tbaa !5
  %5006 = call ptr @s2n_strerror_debug(i32 noundef %5005, ptr noundef nonnull @.str.4) #14
  %5007 = load i32, ptr %4989, align 4, !tbaa !5
  %5008 = call ptr @strerror(i32 noundef %5007) #14
  %5009 = load i32, ptr %4989, align 4, !tbaa !5
  %5010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5001, ptr noundef nonnull %.str.5.sink2447, i32 noundef %5002, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 584, ptr noundef %5004, ptr noundef %5006, ptr noundef %5008, i32 noundef %5009) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5011:                                             ; preds = %4984
  store i32 0, ptr %3947, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #14
  %5012 = tail call ptr @__errno_location() #15
  store i32 0, ptr %5012, align 4, !tbaa !5
  %5013 = load i32, ptr @test_count, align 4, !tbaa !5
  %5014 = add nsw i32 %5013, 1
  store i32 %5014, ptr @test_count, align 4, !tbaa !5
  %5015 = load i32, ptr %45, align 4, !tbaa !5
  %5016 = icmp eq i32 %5015, 1
  br i1 %5016, label %5039, label %5017

5017:                                             ; preds = %5011
  %5018 = load i32, ptr %5012, align 4, !tbaa !5
  %5019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5020 = call i32 @s2n_print_stacktrace(ptr noundef %5019) #14
  %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) #14
  %5026 = call i32 @isatty(i32 noundef %5025) #14
  %.not669 = icmp eq i32 %5026, 0
  br i1 %.not669, label %5027, label %5028

5027:                                             ; preds = %5023, %5017
  br label %5028

5028:                                             ; preds = %5023, %5027
  %.str.5.sink2456 = phi ptr [ @.str.5, %5027 ], [ @.str.2, %5023 ]
  store i32 %5018, ptr %5012, 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 %3947, align 4, !tbaa !5
  %5032 = call ptr @s2n_strerror(i32 noundef %5031, ptr noundef nonnull @.str.4) #14
  %5033 = load i32, ptr %3947, align 4, !tbaa !5
  %5034 = call ptr @s2n_strerror_debug(i32 noundef %5033, ptr noundef nonnull @.str.4) #14
  %5035 = load i32, ptr %5012, align 4, !tbaa !5
  %5036 = call ptr @strerror(i32 noundef %5035) #14
  %5037 = load i32, ptr %5012, align 4, !tbaa !5
  %5038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5029, ptr noundef nonnull %.str.5.sink2456, i32 noundef %5030, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 585, ptr noundef %5032, ptr noundef %5034, ptr noundef %5036, i32 noundef %5037) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5039:                                             ; preds = %5011
  %5040 = add nsw i32 %5013, 2
  store i32 %5040, ptr @test_count, align 4, !tbaa !5
  %5041 = call zeroext i1 @s2n_connection_check_io_status(ptr noundef %4125, i32 noundef 3) #14
  br i1 %5041, label %5064, label %5042

5042:                                             ; preds = %5039
  %5043 = load i32, ptr %5012, align 4, !tbaa !5
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = call i32 @s2n_print_stacktrace(ptr noundef %5044) #14
  %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) #14
  %5051 = call i32 @isatty(i32 noundef %5050) #14
  %.not670 = icmp eq i32 %5051, 0
  br i1 %.not670, label %5052, label %5053

5052:                                             ; preds = %5048, %5042
  br label %5053

5053:                                             ; preds = %5048, %5052
  %.str.5.sink2465 = phi ptr [ @.str.5, %5052 ], [ @.str.2, %5048 ]
  store i32 %5043, ptr %5012, 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 %3947, align 4, !tbaa !5
  %5057 = call ptr @s2n_strerror(i32 noundef %5056, ptr noundef nonnull @.str.4) #14
  %5058 = load i32, ptr %3947, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror_debug(i32 noundef %5058, ptr noundef nonnull @.str.4) #14
  %5060 = load i32, ptr %5012, align 4, !tbaa !5
  %5061 = call ptr @strerror(i32 noundef %5060) #14
  %5062 = load i32, ptr %5012, align 4, !tbaa !5
  %5063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5054, ptr noundef nonnull %.str.5.sink2465, i32 noundef %5055, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 588, ptr noundef %5057, ptr noundef %5059, ptr noundef %5061, i32 noundef %5062) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5064:                                             ; preds = %5039
  %5065 = load i32, ptr @test_count, align 4, !tbaa !5
  %5066 = add nsw i32 %5065, 1
  store i32 %5066, ptr @test_count, align 4, !tbaa !5
  %5067 = call i64 @s2n_connection_get_delay(ptr noundef %4125) #14
  %5068 = icmp eq i64 %5067, 0
  br i1 %5068, label %5091, label %5069

5069:                                             ; preds = %5064
  %5070 = load i32, ptr %5012, align 4, !tbaa !5
  %5071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5072 = call i32 @s2n_print_stacktrace(ptr noundef %5071) #14
  %5073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5074 = trunc nuw i8 %5073 to i1
  br i1 %5074, label %5075, label %5079

5075:                                             ; preds = %5069
  %5076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5077 = call i32 @fileno(ptr noundef %5076) #14
  %5078 = call i32 @isatty(i32 noundef %5077) #14
  %.not671 = icmp eq i32 %5078, 0
  br i1 %.not671, label %5079, label %5080

5079:                                             ; preds = %5075, %5069
  br label %5080

5080:                                             ; preds = %5075, %5079
  %.str.5.sink2474 = phi ptr [ @.str.5, %5079 ], [ @.str.2, %5075 ]
  store i32 %5070, ptr %5012, align 4, !tbaa !5
  %5081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5082 = load i32, ptr @test_count, align 4, !tbaa !5
  %5083 = load i32, ptr %3947, align 4, !tbaa !5
  %5084 = call ptr @s2n_strerror(i32 noundef %5083, ptr noundef nonnull @.str.4) #14
  %5085 = load i32, ptr %3947, align 4, !tbaa !5
  %5086 = call ptr @s2n_strerror_debug(i32 noundef %5085, ptr noundef nonnull @.str.4) #14
  %5087 = load i32, ptr %5012, align 4, !tbaa !5
  %5088 = call ptr @strerror(i32 noundef %5087) #14
  %5089 = load i32, ptr %5012, align 4, !tbaa !5
  %5090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5081, ptr noundef nonnull %.str.5.sink2474, i32 noundef %5082, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 589, ptr noundef %5084, ptr noundef %5086, ptr noundef %5088, i32 noundef %5089) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5091:                                             ; preds = %5064
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %50) #14
  %5092 = call i32 @s2n_io_pair_close(ptr noundef nonnull %49) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #14
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %44) #14
  %5093 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %43) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #14
  %5094 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %42) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #14
  br i1 %3949, label %3948, label %._crit_edge865, !llvm.loop !52

._crit_edge865:                                   ; preds = %5091, %.split, %._crit_edge
  %brmerge817 = or i1 %.1570, %869
  br i1 %brmerge817, label %.preheader826, label %.loopexit824

.preheader826:                                    ; preds = %._crit_edge865
  %5095 = load i16, ptr @cipher_preferences_test_all, align 8, !tbaa !53
  %5096 = zext i16 %5095 to i64
  %.not872 = icmp eq i16 %5095, 0
  br i1 %.not872, label %.preheader, label %.lr.ph868

.lr.ph868:                                        ; preds = %.preheader826
  %test_count.promoted = load i32, ptr @test_count, align 4, !tbaa !5
  %5097 = load ptr, ptr getelementptr inbounds (i8, ptr @cipher_preferences_test_all, i64 8), align 8, !tbaa !55
  %5098 = load ptr, ptr @__const.main.test_cases, align 16
  %5099 = load ptr, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 16), align 16
  %5100 = load ptr, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 32), align 16
  %5101 = load ptr, ptr getelementptr inbounds (i8, ptr @__const.main.test_cases, i64 48), align 16
  br label %5120

.preheader:                                       ; preds = %5183, %.preheader826
  %5102 = getelementptr inbounds i8, ptr %52, i64 8
  %5103 = getelementptr inbounds i8, ptr %52, i64 16
  %5104 = getelementptr inbounds i8, ptr %53, i64 8
  %5105 = getelementptr inbounds i8, ptr %57, i64 8
  %5106 = load i32, ptr @__const.main.modes, align 4
  %5107 = zext i32 %5106 to i64
  %5108 = getelementptr inbounds [2 x ptr], ptr %57, i64 0, i64 %5107
  %5109 = and i32 %5106, 1
  %5110 = xor i32 %5109, 1
  %5111 = zext nneg i32 %5110 to i64
  %5112 = getelementptr inbounds [2 x ptr], ptr %57, i64 0, i64 %5111
  %5113 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.modes, i64 4), align 4
  %5114 = zext i32 %5113 to i64
  %5115 = getelementptr inbounds [2 x ptr], ptr %57, i64 0, i64 %5114
  %5116 = and i32 %5113, 1
  %5117 = xor i32 %5116, 1
  %5118 = zext nneg i32 %5117 to i64
  %5119 = getelementptr inbounds [2 x ptr], ptr %57, i64 0, i64 %5118
  br label %5186

5120:                                             ; preds = %.lr.ph868, %5183
  %.0582867 = phi i64 [ 0, %.lr.ph868 ], [ %5185, %5183 ]
  %5121 = phi i32 [ %test_count.promoted, %.lr.ph868 ], [ %5184, %5183 ]
  %5122 = getelementptr inbounds ptr, ptr %5097, i64 %.0582867
  %5123 = load ptr, ptr %5122, align 8, !tbaa !9
  %5124 = getelementptr inbounds i8, ptr %5123, i64 48
  %5125 = load ptr, ptr %5124, align 8, !tbaa !56
  %5126 = icmp eq ptr %5125, null
  br i1 %5126, label %5183, label %5127

5127:                                             ; preds = %5120
  %5128 = load ptr, ptr %5125, align 8, !tbaa !58
  %5129 = add nsw i32 %5121, 1
  store i32 %5129, ptr @test_count, align 4, !tbaa !5
  %5130 = icmp eq ptr %5128, null
  br i1 %5130, label %5131, label %5155

5131:                                             ; preds = %5127
  %5132 = tail call ptr @__errno_location() #15
  %5133 = load i32, ptr %5132, align 4, !tbaa !5
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = call i32 @s2n_print_stacktrace(ptr noundef %5134) #14
  %5136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5137 = trunc nuw i8 %5136 to i1
  br i1 %5137, label %5138, label %5142

5138:                                             ; preds = %5131
  %5139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5140 = call i32 @fileno(ptr noundef %5139) #14
  %5141 = call i32 @isatty(i32 noundef %5140) #14
  %.not652 = icmp eq i32 %5141, 0
  br i1 %.not652, label %5142, label %5143

5142:                                             ; preds = %5138, %5131
  br label %5143

5143:                                             ; preds = %5138, %5142
  %.str.5.sink2483 = phi ptr [ @.str.5, %5142 ], [ @.str.2, %5138 ]
  store i32 %5133, ptr %5132, align 4, !tbaa !5
  %5144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5147 = load i32, ptr %5146, align 4, !tbaa !5
  %5148 = call ptr @s2n_strerror(i32 noundef %5147, ptr noundef nonnull @.str.4) #14
  %5149 = load i32, ptr %5146, align 4, !tbaa !5
  %5150 = call ptr @s2n_strerror_debug(i32 noundef %5149, ptr noundef nonnull @.str.4) #14
  %5151 = load i32, ptr %5132, align 4, !tbaa !5
  %5152 = call ptr @strerror(i32 noundef %5151) #14
  %5153 = load i32, ptr %5132, align 4, !tbaa !5
  %5154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5144, ptr noundef nonnull %.str.5.sink2483, i32 noundef %5145, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 613, ptr noundef %5148, ptr noundef %5150, ptr noundef %5152, i32 noundef %5153) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5155:                                             ; preds = %5127
  %5156 = getelementptr inbounds i8, ptr %5128, i64 96
  %5157 = load ptr, ptr %5156, align 8, !tbaa !60
  %.not649 = icmp eq ptr %5157, null
  br i1 %.not649, label %5183, label %.preheader825.preheader

.preheader825.preheader:                          ; preds = %5155
  %.not650 = icmp eq ptr %5098, %5128
  %.not650.1 = icmp eq ptr %5099, %5128
  %or.cond = select i1 %.not650, i1 %.not650.1, i1 false
  %.not650.2 = icmp eq ptr %5100, %5128
  %or.cond2494 = select i1 %or.cond, i1 %.not650.2, i1 false
  %.not650.3 = icmp eq ptr %5101, %5128
  %or.cond2495 = select i1 %or.cond2494, i1 %.not650.3, i1 false
  %5158 = add nsw i32 %5121, 2
  store i32 %5158, ptr @test_count, align 4, !tbaa !5
  br i1 %or.cond2495, label %5159, label %5183

5159:                                             ; preds = %.preheader825.preheader
  %5160 = tail call ptr @__errno_location() #15
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = call i32 @s2n_print_stacktrace(ptr noundef %5162) #14
  %5164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5165 = trunc nuw i8 %5164 to i1
  br i1 %5165, label %5166, label %5170

5166:                                             ; preds = %5159
  %5167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5168 = call i32 @fileno(ptr noundef %5167) #14
  %5169 = call i32 @isatty(i32 noundef %5168) #14
  %.not651 = icmp eq i32 %5169, 0
  br i1 %.not651, label %5170, label %5171

5170:                                             ; preds = %5166, %5159
  br label %5171

5171:                                             ; preds = %5166, %5170
  %.str.5.sink2496 = phi ptr [ @.str.5, %5170 ], [ @.str.2, %5166 ]
  store i32 %5161, ptr %5160, align 4, !tbaa !5
  %5172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5173 = load i32, ptr @test_count, align 4, !tbaa !5
  %5174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror(i32 noundef %5175, ptr noundef nonnull @.str.4) #14
  %5177 = load i32, ptr %5174, align 4, !tbaa !5
  %5178 = call ptr @s2n_strerror_debug(i32 noundef %5177, ptr noundef nonnull @.str.4) #14
  %5179 = load i32, ptr %5160, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #14
  %5181 = load i32, ptr %5160, align 4, !tbaa !5
  %5182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5172, ptr noundef nonnull %.str.5.sink2496, i32 noundef %5173, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %5176, ptr noundef %5178, ptr noundef %5180, i32 noundef %5181) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5183:                                             ; preds = %.preheader825.preheader, %5155, %5120
  %5184 = phi i32 [ %5129, %5155 ], [ %5121, %5120 ], [ %5158, %.preheader825.preheader ]
  %5185 = add nuw nsw i64 %.0582867, 1
  %exitcond892.not = icmp eq i64 %5185, %5096
  br i1 %exitcond892.not, label %.preheader, label %5120, !llvm.loop !62

5186:                                             ; preds = %.preheader, %.loopexit
  %.0585870 = phi i64 [ 0, %.preheader ], [ %5693, %.loopexit ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #14
  %5187 = getelementptr inbounds [4 x %struct.anon], ptr @__const.main.test_cases, i64 0, i64 %.0585870
  %5188 = getelementptr inbounds i8, ptr %5187, i64 8
  %5189 = load ptr, ptr %5188, align 8, !tbaa !63
  store ptr %5189, ptr %51, align 8, !tbaa !9
  %5190 = load i32, ptr @test_count, align 4, !tbaa !5
  %5191 = add nsw i32 %5190, 1
  store i32 %5191, ptr @test_count, align 4, !tbaa !5
  %5192 = icmp eq ptr %5189, null
  br i1 %5192, label %5193, label %5217

5193:                                             ; preds = %5186
  %5194 = tail call ptr @__errno_location() #15
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5197 = call i32 @s2n_print_stacktrace(ptr noundef %5196) #14
  %5198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5199 = trunc nuw i8 %5198 to i1
  br i1 %5199, label %5200, label %5204

5200:                                             ; preds = %5193
  %5201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5202 = call i32 @fileno(ptr noundef %5201) #14
  %5203 = call i32 @isatty(i32 noundef %5202) #14
  %.not648 = icmp eq i32 %5203, 0
  br i1 %.not648, label %5204, label %5205

5204:                                             ; preds = %5200, %5193
  br label %5205

5205:                                             ; preds = %5200, %5204
  %.str.5.sink2507 = phi ptr [ @.str.5, %5204 ], [ @.str.2, %5200 ]
  store i32 %5195, ptr %5194, align 4, !tbaa !5
  %5206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call ptr @s2n_strerror(i32 noundef %5209, ptr noundef nonnull @.str.4) #14
  %5211 = load i32, ptr %5208, align 4, !tbaa !5
  %5212 = call ptr @s2n_strerror_debug(i32 noundef %5211, ptr noundef nonnull @.str.4) #14
  %5213 = load i32, ptr %5194, align 4, !tbaa !5
  %5214 = call ptr @strerror(i32 noundef %5213) #14
  %5215 = load i32, ptr %5194, align 4, !tbaa !5
  %5216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5206, ptr noundef nonnull %.str.5.sink2507, i32 noundef %5207, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %5210, ptr noundef %5212, ptr noundef %5214, i32 noundef %5215) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5217:                                             ; preds = %5186
  %5218 = add nsw i32 %5190, 2
  store i32 %5218, ptr @test_count, align 4, !tbaa !5
  %5219 = load ptr, ptr %5187, align 16, !tbaa !65
  %5220 = getelementptr inbounds i8, ptr %5189, i64 48
  %5221 = load ptr, ptr %5220, align 8, !tbaa !56
  %5222 = load ptr, ptr %5221, align 8, !tbaa !58
  %5223 = icmp eq ptr %5219, %5222
  br i1 %5223, label %5248, label %5224

5224:                                             ; preds = %5217
  %5225 = tail call ptr @__errno_location() #15
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5228 = call i32 @s2n_print_stacktrace(ptr noundef %5227) #14
  %5229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5230 = trunc nuw i8 %5229 to i1
  br i1 %5230, label %5231, label %5235

5231:                                             ; preds = %5224
  %5232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5233 = call i32 @fileno(ptr noundef %5232) #14
  %5234 = call i32 @isatty(i32 noundef %5233) #14
  %.not631 = icmp eq i32 %5234, 0
  br i1 %.not631, label %5235, label %5236

5235:                                             ; preds = %5231, %5224
  br label %5236

5236:                                             ; preds = %5231, %5235
  %.str.5.sink2518 = phi ptr [ @.str.5, %5235 ], [ @.str.2, %5231 ]
  store i32 %5226, ptr %5225, align 4, !tbaa !5
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = load i32, ptr @test_count, align 4, !tbaa !5
  %5239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5240 = load i32, ptr %5239, align 4, !tbaa !5
  %5241 = call ptr @s2n_strerror(i32 noundef %5240, ptr noundef nonnull @.str.4) #14
  %5242 = load i32, ptr %5239, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef nonnull @.str.4) #14
  %5244 = load i32, ptr %5225, align 4, !tbaa !5
  %5245 = call ptr @strerror(i32 noundef %5244) #14
  %5246 = load i32, ptr %5225, align 4, !tbaa !5
  %5247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5237, ptr noundef nonnull %.str.5.sink2518, i32 noundef %5238, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %5241, ptr noundef %5243, ptr noundef %5245, i32 noundef %5246) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5248:                                             ; preds = %5217
  %5249 = getelementptr inbounds i8, ptr %5189, i64 100
  %5250 = load i8, ptr %5249, align 4, !tbaa !66
  %5251 = icmp ugt i8 %5250, 33
  br i1 %5251, label %5252, label %5254

5252:                                             ; preds = %5248
  %5253 = call zeroext i1 (...) @s2n_is_tls13_fully_supported() #14
  br i1 %5253, label %5254, label %.loopexit

5254:                                             ; preds = %5252, %5248
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #14
  store i16 1, ptr %52, align 8, !tbaa !53
  store ptr %51, ptr %5102, align 8, !tbaa !55
  store i8 0, ptr %5103, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %53) #14
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %53, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_test_all, i64 64, i1 false), !tbaa.struct !68
  store ptr %52, ptr %5104, align 8, !tbaa !70
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #14
  %5255 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %5255, ptr %54, align 8, !tbaa !9
  %5256 = load i32, ptr @test_count, align 4, !tbaa !5
  %5257 = add nsw i32 %5256, 1
  store i32 %5257, ptr @test_count, align 4, !tbaa !5
  %5258 = icmp eq ptr %5255, null
  br i1 %5258, label %5259, label %5283

5259:                                             ; preds = %5615, %5254
  %5260 = tail call ptr @__errno_location() #15
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5263 = call i32 @s2n_print_stacktrace(ptr noundef %5262) #14
  %5264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5265 = trunc nuw i8 %5264 to i1
  br i1 %5265, label %5266, label %5270

5266:                                             ; preds = %5259
  %5267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5268 = call i32 @fileno(ptr noundef %5267) #14
  %5269 = call i32 @isatty(i32 noundef %5268) #14
  %.not647 = icmp eq i32 %5269, 0
  br i1 %.not647, label %5270, label %5271

5270:                                             ; preds = %5266, %5259
  br label %5271

5271:                                             ; preds = %5266, %5270
  %.str.5.sink2529 = phi ptr [ @.str.5, %5270 ], [ @.str.2, %5266 ]
  store i32 %5261, ptr %5260, align 4, !tbaa !5
  %5272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5273 = load i32, ptr @test_count, align 4, !tbaa !5
  %5274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror(i32 noundef %5275, ptr noundef nonnull @.str.4) #14
  %5277 = load i32, ptr %5274, align 4, !tbaa !5
  %5278 = call ptr @s2n_strerror_debug(i32 noundef %5277, ptr noundef nonnull @.str.4) #14
  %5279 = load i32, ptr %5260, align 4, !tbaa !5
  %5280 = call ptr @strerror(i32 noundef %5279) #14
  %5281 = load i32, ptr %5260, align 4, !tbaa !5
  %5282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5272, ptr noundef nonnull %.str.5.sink2529, i32 noundef %5273, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 650, ptr noundef %5276, ptr noundef %5278, ptr noundef %5280, i32 noundef %5281) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5283:                                             ; preds = %5254
  %5284 = add nsw i32 %5256, 2
  store i32 %5284, ptr @test_count, align 4, !tbaa !5
  %5285 = load ptr, ptr %9, align 8, !tbaa !9
  %5286 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5255, ptr noundef %5285) #14
  %5287 = icmp eq i32 %5286, -1
  br i1 %5287, label %5288, label %5312

5288:                                             ; preds = %5623, %5283
  %5289 = tail call ptr @__errno_location() #15
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @s2n_print_stacktrace(ptr noundef %5291) #14
  %5293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5294 = trunc nuw i8 %5293 to i1
  br i1 %5294, label %5295, label %5299

5295:                                             ; preds = %5288
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @fileno(ptr noundef %5296) #14
  %5298 = call i32 @isatty(i32 noundef %5297) #14
  %.not646 = icmp eq i32 %5298, 0
  br i1 %.not646, label %5299, label %5300

5299:                                             ; preds = %5295, %5288
  br label %5300

5300:                                             ; preds = %5295, %5299
  %.str.5.sink2540 = phi ptr [ @.str.5, %5299 ], [ @.str.2, %5295 ]
  store i32 %5290, ptr %5289, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call ptr @s2n_strerror(i32 noundef %5304, ptr noundef nonnull @.str.4) #14
  %5306 = load i32, ptr %5303, align 4, !tbaa !5
  %5307 = call ptr @s2n_strerror_debug(i32 noundef %5306, ptr noundef nonnull @.str.4) #14
  %5308 = load i32, ptr %5289, align 4, !tbaa !5
  %5309 = call ptr @strerror(i32 noundef %5308) #14
  %5310 = load i32, ptr %5289, align 4, !tbaa !5
  %5311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5301, ptr noundef nonnull %.str.5.sink2540, i32 noundef %5302, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %5305, ptr noundef %5307, ptr noundef %5309, i32 noundef %5310) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5312:                                             ; preds = %5283
  %5313 = load ptr, ptr %54, align 8, !tbaa !9
  %5314 = getelementptr inbounds i8, ptr %5313, i64 16
  store ptr %53, ptr %5314, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #14
  %5315 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %5315, ptr %55, align 8, !tbaa !9
  %5316 = load i32, ptr @test_count, align 4, !tbaa !5
  %5317 = add nsw i32 %5316, 1
  store i32 %5317, ptr @test_count, align 4, !tbaa !5
  %5318 = icmp eq ptr %5315, null
  br i1 %5318, label %5319, label %5343

5319:                                             ; preds = %5627, %5312
  %5320 = tail call ptr @__errno_location() #15
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = call i32 @s2n_print_stacktrace(ptr noundef %5322) #14
  %5324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5325 = trunc nuw i8 %5324 to i1
  br i1 %5325, label %5326, label %5330

5326:                                             ; preds = %5319
  %5327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5328 = call i32 @fileno(ptr noundef %5327) #14
  %5329 = call i32 @isatty(i32 noundef %5328) #14
  %.not645 = icmp eq i32 %5329, 0
  br i1 %.not645, label %5330, label %5331

5330:                                             ; preds = %5326, %5319
  br label %5331

5331:                                             ; preds = %5326, %5330
  %.str.5.sink2551 = phi ptr [ @.str.5, %5330 ], [ @.str.2, %5326 ]
  store i32 %5321, ptr %5320, align 4, !tbaa !5
  %5332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5333 = load i32, ptr @test_count, align 4, !tbaa !5
  %5334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5335 = load i32, ptr %5334, align 4, !tbaa !5
  %5336 = call ptr @s2n_strerror(i32 noundef %5335, ptr noundef nonnull @.str.4) #14
  %5337 = load i32, ptr %5334, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror_debug(i32 noundef %5337, ptr noundef nonnull @.str.4) #14
  %5339 = load i32, ptr %5320, align 4, !tbaa !5
  %5340 = call ptr @strerror(i32 noundef %5339) #14
  %5341 = load i32, ptr %5320, align 4, !tbaa !5
  %5342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5332, ptr noundef nonnull %.str.5.sink2551, i32 noundef %5333, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 656, ptr noundef %5336, ptr noundef %5338, ptr noundef %5340, i32 noundef %5341) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5343:                                             ; preds = %5312
  %5344 = add nsw i32 %5316, 2
  store i32 %5344, ptr @test_count, align 4, !tbaa !5
  %5345 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5315, ptr noundef %5285) #14
  %5346 = icmp eq i32 %5345, -1
  br i1 %5346, label %5347, label %5371

5347:                                             ; preds = %5634, %5343
  %5348 = tail call ptr @__errno_location() #15
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = call i32 @s2n_print_stacktrace(ptr noundef %5350) #14
  %5352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5353 = trunc nuw i8 %5352 to i1
  br i1 %5353, label %5354, label %5358

5354:                                             ; preds = %5347
  %5355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5356 = call i32 @fileno(ptr noundef %5355) #14
  %5357 = call i32 @isatty(i32 noundef %5356) #14
  %.not644 = icmp eq i32 %5357, 0
  br i1 %.not644, label %5358, label %5359

5358:                                             ; preds = %5354, %5347
  br label %5359

5359:                                             ; preds = %5354, %5358
  %.str.5.sink2562 = phi ptr [ @.str.5, %5358 ], [ @.str.2, %5354 ]
  store i32 %5349, ptr %5348, align 4, !tbaa !5
  %5360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5361 = load i32, 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(i32 noundef %5363, ptr noundef nonnull @.str.4) #14
  %5365 = load i32, ptr %5362, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror_debug(i32 noundef %5365, ptr noundef nonnull @.str.4) #14
  %5367 = load i32, ptr %5348, align 4, !tbaa !5
  %5368 = call ptr @strerror(i32 noundef %5367) #14
  %5369 = load i32, ptr %5348, align 4, !tbaa !5
  %5370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5360, ptr noundef nonnull %.str.5.sink2562, i32 noundef %5361, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %5364, ptr noundef %5366, ptr noundef %5368, i32 noundef %5369) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5371:                                             ; preds = %5343
  %5372 = load ptr, ptr %55, align 8, !tbaa !9
  %5373 = getelementptr inbounds i8, ptr %5372, i64 16
  store ptr %53, ptr %5373, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #14
  store i64 0, ptr %56, align 8
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = add nsw i32 %5374, 1
  store i32 %5375, ptr @test_count, align 4, !tbaa !5
  %5376 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %56)
  %5377 = call zeroext i1 @s2n_result_is_ok(i32 %5376)
  br i1 %5377, label %5402, label %5378

5378:                                             ; preds = %5638, %5371
  %5379 = tail call ptr @__errno_location() #15
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = call i32 @s2n_print_stacktrace(ptr noundef %5381) #14
  %5383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5384 = trunc nuw i8 %5383 to i1
  br i1 %5384, label %5385, label %5389

5385:                                             ; preds = %5378
  %5386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5387 = call i32 @fileno(ptr noundef %5386) #14
  %5388 = call i32 @isatty(i32 noundef %5387) #14
  %.not632 = icmp eq i32 %5388, 0
  br i1 %.not632, label %5389, label %5390

5389:                                             ; preds = %5385, %5378
  br label %5390

5390:                                             ; preds = %5385, %5389
  %.str.5.sink2573 = phi ptr [ @.str.5, %5389 ], [ @.str.2, %5385 ]
  store i32 %5380, ptr %5379, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror(i32 noundef %5394, ptr noundef nonnull @.str.4) #14
  %5396 = load i32, ptr %5393, align 4, !tbaa !5
  %5397 = call ptr @s2n_strerror_debug(i32 noundef %5396, ptr noundef nonnull @.str.4) #14
  %5398 = load i32, ptr %5379, align 4, !tbaa !5
  %5399 = call ptr @strerror(i32 noundef %5398) #14
  %5400 = load i32, ptr %5379, align 4, !tbaa !5
  %5401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5391, ptr noundef nonnull %.str.5.sink2573, i32 noundef %5392, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 661, ptr noundef %5395, ptr noundef %5397, ptr noundef %5399, i32 noundef %5400) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5402:                                             ; preds = %5371
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = add nsw i32 %5403, 1
  store i32 %5404, ptr @test_count, align 4, !tbaa !5
  %5405 = load ptr, ptr %55, align 8, !tbaa !9
  %5406 = load ptr, ptr %54, align 8, !tbaa !9
  %5407 = call i32 @s2n_setup_connections(ptr noundef %5405, ptr noundef %5406, ptr noundef nonnull %56)
  %5408 = call zeroext i1 @s2n_result_is_ok(i32 %5407)
  br i1 %5408, label %5433, label %5409

5409:                                             ; preds = %5645, %5402
  %5410 = tail call ptr @__errno_location() #15
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5413 = call i32 @s2n_print_stacktrace(ptr noundef %5412) #14
  %5414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5415 = trunc nuw i8 %5414 to i1
  br i1 %5415, label %5416, label %5420

5416:                                             ; preds = %5409
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = call i32 @fileno(ptr noundef %5417) #14
  %5419 = call i32 @isatty(i32 noundef %5418) #14
  %.not633 = icmp eq i32 %5419, 0
  br i1 %.not633, label %5420, label %5421

5420:                                             ; preds = %5416, %5409
  br label %5421

5421:                                             ; preds = %5416, %5420
  %.str.5.sink2584 = phi ptr [ @.str.5, %5420 ], [ @.str.2, %5416 ]
  store i32 %5411, ptr %5410, align 4, !tbaa !5
  %5422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5423 = load i32, ptr @test_count, align 4, !tbaa !5
  %5424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5425 = load i32, ptr %5424, align 4, !tbaa !5
  %5426 = call ptr @s2n_strerror(i32 noundef %5425, ptr noundef nonnull @.str.4) #14
  %5427 = load i32, ptr %5424, align 4, !tbaa !5
  %5428 = call ptr @s2n_strerror_debug(i32 noundef %5427, ptr noundef nonnull @.str.4) #14
  %5429 = load i32, ptr %5410, align 4, !tbaa !5
  %5430 = call ptr @strerror(i32 noundef %5429) #14
  %5431 = load i32, ptr %5410, align 4, !tbaa !5
  %5432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5422, ptr noundef nonnull %.str.5.sink2584, i32 noundef %5423, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 662, ptr noundef %5426, ptr noundef %5428, ptr noundef %5430, i32 noundef %5431) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5433:                                             ; preds = %5402
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #14
  %5434 = load ptr, ptr %55, align 8, !tbaa !9
  store ptr %5434, ptr %57, align 16, !tbaa !9
  %5435 = load ptr, ptr %54, align 8, !tbaa !9
  store ptr %5435, ptr %5105, align 8, !tbaa !9
  %5436 = load ptr, ptr %5108, align 8, !tbaa !9
  %5437 = load ptr, ptr %5112, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #14
  store i32 0, ptr %58, align 4, !tbaa !5
  %5438 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %5436) #14
  %5439 = icmp eq i32 %5438, 0
  br i1 %5439, label %5440, label %5499

5440:                                             ; preds = %5433
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %59) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %59, i8 0, i64 100, i1 false)
  %5441 = call i64 @s2n_send(ptr noundef %5436, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %58) #14
  %5442 = load i32, ptr @test_count, align 4, !tbaa !5
  %5443 = add nsw i32 %5442, 1
  store i32 %5443, ptr @test_count, align 4, !tbaa !5
  %sext.mask635 = and i64 %5441, 4294967295
  %5444 = icmp eq i64 %sext.mask635, 100
  br i1 %5444, label %5469, label %5445

5445:                                             ; preds = %5662, %5440
  %5446 = tail call ptr @__errno_location() #15
  %5447 = load i32, ptr %5446, align 4, !tbaa !5
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @s2n_print_stacktrace(ptr noundef %5448) #14
  %5450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5451 = trunc nuw i8 %5450 to i1
  br i1 %5451, label %5452, label %5456

5452:                                             ; preds = %5445
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = call i32 @fileno(ptr noundef %5453) #14
  %5455 = call i32 @isatty(i32 noundef %5454) #14
  %.not636 = icmp eq i32 %5455, 0
  br i1 %.not636, label %5456, label %5457

5456:                                             ; preds = %5452, %5445
  br label %5457

5457:                                             ; preds = %5452, %5456
  %.str.5.sink2595 = phi ptr [ @.str.5, %5456 ], [ @.str.2, %5452 ]
  store i32 %5447, ptr %5446, align 4, !tbaa !5
  %5458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5459 = load i32, ptr @test_count, align 4, !tbaa !5
  %5460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5461 = load i32, ptr %5460, align 4, !tbaa !5
  %5462 = call ptr @s2n_strerror(i32 noundef %5461, ptr noundef nonnull @.str.4) #14
  %5463 = load i32, ptr %5460, align 4, !tbaa !5
  %5464 = call ptr @s2n_strerror_debug(i32 noundef %5463, ptr noundef nonnull @.str.4) #14
  %5465 = load i32, ptr %5446, align 4, !tbaa !5
  %5466 = call ptr @strerror(i32 noundef %5465) #14
  %5467 = load i32, ptr %5446, align 4, !tbaa !5
  %5468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5458, ptr noundef nonnull %.str.5.sink2595, i32 noundef %5459, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 678, ptr noundef %5462, ptr noundef %5464, ptr noundef %5466, i32 noundef %5467) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5469:                                             ; preds = %5440
  %5470 = call i64 @s2n_recv(ptr noundef %5437, ptr noundef nonnull %59, i64 noundef 100, ptr noundef nonnull %58) #14
  %5471 = load i32, ptr @test_count, align 4, !tbaa !5
  %5472 = add nsw i32 %5471, 1
  store i32 %5472, ptr @test_count, align 4, !tbaa !5
  %sext.mask637 = and i64 %5470, 4294967295
  %5473 = icmp eq i64 %sext.mask637, 100
  br i1 %5473, label %5498, label %5474

5474:                                             ; preds = %5667, %5469
  %5475 = tail call ptr @__errno_location() #15
  %5476 = load i32, ptr %5475, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = call i32 @s2n_print_stacktrace(ptr noundef %5477) #14
  %5479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5480 = trunc nuw i8 %5479 to i1
  br i1 %5480, label %5481, label %5485

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

5485:                                             ; preds = %5481, %5474
  br label %5486

5486:                                             ; preds = %5481, %5485
  %.str.5.sink2606 = phi ptr [ @.str.5, %5485 ], [ @.str.2, %5481 ]
  store i32 %5476, ptr %5475, align 4, !tbaa !5
  %5487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5488 = load i32, ptr @test_count, align 4, !tbaa !5
  %5489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5490 = load i32, ptr %5489, align 4, !tbaa !5
  %5491 = call ptr @s2n_strerror(i32 noundef %5490, ptr noundef nonnull @.str.4) #14
  %5492 = load i32, ptr %5489, align 4, !tbaa !5
  %5493 = call ptr @s2n_strerror_debug(i32 noundef %5492, ptr noundef nonnull @.str.4) #14
  %5494 = load i32, ptr %5475, align 4, !tbaa !5
  %5495 = call ptr @strerror(i32 noundef %5494) #14
  %5496 = load i32, ptr %5475, align 4, !tbaa !5
  %5497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5487, ptr noundef nonnull %.str.5.sink2606, i32 noundef %5488, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 680, ptr noundef %5491, ptr noundef %5493, ptr noundef %5495, i32 noundef %5496) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5498:                                             ; preds = %5469
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %59) #14
  br label %5526

5499:                                             ; preds = %5433
  %5500 = load i32, ptr @test_count, align 4, !tbaa !5
  %5501 = add nsw i32 %5500, 1
  store i32 %5501, ptr @test_count, align 4, !tbaa !5
  br i1 %.not, label %5502, label %5526

5502:                                             ; preds = %5659, %5499
  %5503 = tail call ptr @__errno_location() #15
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5506 = call i32 @s2n_print_stacktrace(ptr noundef %5505) #14
  %5507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5508 = trunc nuw i8 %5507 to i1
  br i1 %5508, label %5509, label %5513

5509:                                             ; preds = %5502
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = call i32 @fileno(ptr noundef %5510) #14
  %5512 = call i32 @isatty(i32 noundef %5511) #14
  %.not634 = icmp eq i32 %5512, 0
  br i1 %.not634, label %5513, label %5514

5513:                                             ; preds = %5509, %5502
  br label %5514

5514:                                             ; preds = %5509, %5513
  %.str.5.sink2617 = phi ptr [ @.str.5, %5513 ], [ @.str.2, %5509 ]
  store i32 %5504, ptr %5503, align 4, !tbaa !5
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = load i32, ptr @test_count, align 4, !tbaa !5
  %5517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @s2n_strerror(i32 noundef %5518, ptr noundef nonnull @.str.4) #14
  %5520 = load i32, ptr %5517, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror_debug(i32 noundef %5520, ptr noundef nonnull @.str.4) #14
  %5522 = load i32, ptr %5503, align 4, !tbaa !5
  %5523 = call ptr @strerror(i32 noundef %5522) #14
  %5524 = load i32, ptr %5503, align 4, !tbaa !5
  %5525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5515, ptr noundef nonnull %.str.5.sink2617, i32 noundef %5516, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 682, ptr noundef %5519, ptr noundef %5521, ptr noundef %5523, i32 noundef %5524) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5526:                                             ; preds = %5499, %5498
  %5527 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %5436) #14
  %5528 = icmp eq i32 %5527, 0
  br i1 %5528, label %5529, label %5588

5529:                                             ; preds = %5526
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %60) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %60, i8 0, i64 100, i1 false)
  %5530 = call i64 @s2n_send(ptr noundef %5437, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %58) #14
  %5531 = load i32, ptr @test_count, align 4, !tbaa !5
  %5532 = add nsw i32 %5531, 1
  store i32 %5532, ptr @test_count, align 4, !tbaa !5
  %sext.mask640 = and i64 %5530, 4294967295
  %5533 = icmp eq i64 %sext.mask640, 100
  br i1 %5533, label %5558, label %5534

5534:                                             ; preds = %5679, %5529
  %5535 = tail call ptr @__errno_location() #15
  %5536 = load i32, ptr %5535, align 4, !tbaa !5
  %5537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5538 = call i32 @s2n_print_stacktrace(ptr noundef %5537) #14
  %5539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5540 = trunc nuw i8 %5539 to i1
  br i1 %5540, label %5541, label %5545

5541:                                             ; preds = %5534
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5543 = call i32 @fileno(ptr noundef %5542) #14
  %5544 = call i32 @isatty(i32 noundef %5543) #14
  %.not641 = icmp eq i32 %5544, 0
  br i1 %.not641, label %5545, label %5546

5545:                                             ; preds = %5541, %5534
  br label %5546

5546:                                             ; preds = %5541, %5545
  %.str.5.sink2628 = phi ptr [ @.str.5, %5545 ], [ @.str.2, %5541 ]
  store i32 %5536, ptr %5535, align 4, !tbaa !5
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5548 = load i32, ptr @test_count, align 4, !tbaa !5
  %5549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5550 = load i32, ptr %5549, align 4, !tbaa !5
  %5551 = call ptr @s2n_strerror(i32 noundef %5550, ptr noundef nonnull @.str.4) #14
  %5552 = load i32, ptr %5549, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror_debug(i32 noundef %5552, ptr noundef nonnull @.str.4) #14
  %5554 = load i32, ptr %5535, align 4, !tbaa !5
  %5555 = call ptr @strerror(i32 noundef %5554) #14
  %5556 = load i32, ptr %5535, align 4, !tbaa !5
  %5557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5547, ptr noundef nonnull %.str.5.sink2628, i32 noundef %5548, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 691, ptr noundef %5551, ptr noundef %5553, ptr noundef %5555, i32 noundef %5556) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5558:                                             ; preds = %5529
  %5559 = call i64 @s2n_recv(ptr noundef %5436, ptr noundef nonnull %60, i64 noundef 100, ptr noundef nonnull %58) #14
  %5560 = load i32, ptr @test_count, align 4, !tbaa !5
  %5561 = add nsw i32 %5560, 1
  store i32 %5561, ptr @test_count, align 4, !tbaa !5
  %sext.mask642 = and i64 %5559, 4294967295
  %5562 = icmp eq i64 %sext.mask642, 100
  br i1 %5562, label %5587, label %5563

5563:                                             ; preds = %5684, %5558
  %5564 = tail call ptr @__errno_location() #15
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = call i32 @s2n_print_stacktrace(ptr noundef %5566) #14
  %5568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5569 = trunc nuw i8 %5568 to i1
  br i1 %5569, label %5570, label %5574

5570:                                             ; preds = %5563
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = call i32 @fileno(ptr noundef %5571) #14
  %5573 = call i32 @isatty(i32 noundef %5572) #14
  %.not643 = icmp eq i32 %5573, 0
  br i1 %.not643, label %5574, label %5575

5574:                                             ; preds = %5570, %5563
  br label %5575

5575:                                             ; preds = %5570, %5574
  %.str.5.sink2639 = phi ptr [ @.str.5, %5574 ], [ @.str.2, %5570 ]
  store i32 %5565, ptr %5564, align 4, !tbaa !5
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5579 = load i32, ptr %5578, align 4, !tbaa !5
  %5580 = call ptr @s2n_strerror(i32 noundef %5579, ptr noundef nonnull @.str.4) #14
  %5581 = load i32, ptr %5578, align 4, !tbaa !5
  %5582 = call ptr @s2n_strerror_debug(i32 noundef %5581, ptr noundef nonnull @.str.4) #14
  %5583 = load i32, ptr %5564, align 4, !tbaa !5
  %5584 = call ptr @strerror(i32 noundef %5583) #14
  %5585 = load i32, ptr %5564, align 4, !tbaa !5
  %5586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5576, ptr noundef nonnull %.str.5.sink2639, i32 noundef %5577, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 693, ptr noundef %5580, ptr noundef %5582, ptr noundef %5584, i32 noundef %5585) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5587:                                             ; preds = %5558
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %60) #14
  br label %5615

5588:                                             ; preds = %5526
  %5589 = load i32, ptr @test_count, align 4, !tbaa !5
  %5590 = add nsw i32 %5589, 1
  store i32 %5590, ptr @test_count, align 4, !tbaa !5
  br i1 %.not, label %5591, label %5615

5591:                                             ; preds = %5676, %5588
  %5592 = tail call ptr @__errno_location() #15
  %5593 = load i32, ptr %5592, align 4, !tbaa !5
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = call i32 @s2n_print_stacktrace(ptr noundef %5594) #14
  %5596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5597 = trunc nuw i8 %5596 to i1
  br i1 %5597, label %5598, label %5602

5598:                                             ; preds = %5591
  %5599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5600 = call i32 @fileno(ptr noundef %5599) #14
  %5601 = call i32 @isatty(i32 noundef %5600) #14
  %.not639 = icmp eq i32 %5601, 0
  br i1 %.not639, label %5602, label %5603

5602:                                             ; preds = %5598, %5591
  br label %5603

5603:                                             ; preds = %5598, %5602
  %.str.5.sink2650 = phi ptr [ @.str.5, %5602 ], [ @.str.2, %5598 ]
  store i32 %5593, ptr %5592, align 4, !tbaa !5
  %5604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5605 = load i32, ptr @test_count, align 4, !tbaa !5
  %5606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @s2n_strerror(i32 noundef %5607, ptr noundef nonnull @.str.4) #14
  %5609 = load i32, ptr %5606, align 4, !tbaa !5
  %5610 = call ptr @s2n_strerror_debug(i32 noundef %5609, ptr noundef nonnull @.str.4) #14
  %5611 = load i32, ptr %5592, align 4, !tbaa !5
  %5612 = call ptr @strerror(i32 noundef %5611) #14
  %5613 = load i32, ptr %5592, align 4, !tbaa !5
  %5614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5604, ptr noundef nonnull %.str.5.sink2650, i32 noundef %5605, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 695, ptr noundef %5608, ptr noundef %5610, ptr noundef %5612, i32 noundef %5613) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5615:                                             ; preds = %5588, %5587
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #14
  %5616 = call i32 @s2n_io_pair_close(ptr noundef nonnull %56) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #14
  %5617 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %55) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #14
  %5618 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #14
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %53) #14
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #14
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #14
  store i16 1, ptr %52, align 8, !tbaa !53
  store ptr %51, ptr %5102, align 8, !tbaa !55
  store i8 0, ptr %5103, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %53) #14
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %53, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_test_all, i64 64, i1 false), !tbaa.struct !68
  store ptr %52, ptr %5104, align 8, !tbaa !70
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #14
  %5619 = call ptr @s2n_connection_new(i32 noundef 1) #14
  store ptr %5619, ptr %54, align 8, !tbaa !9
  %5620 = load i32, ptr @test_count, align 4, !tbaa !5
  %5621 = add nsw i32 %5620, 1
  store i32 %5621, ptr @test_count, align 4, !tbaa !5
  %5622 = icmp eq ptr %5619, null
  br i1 %5622, label %5259, label %5623

5623:                                             ; preds = %5615
  %5624 = add nsw i32 %5620, 2
  store i32 %5624, ptr @test_count, align 4, !tbaa !5
  %5625 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5619, ptr noundef %5285) #14
  %5626 = icmp eq i32 %5625, -1
  br i1 %5626, label %5288, label %5627

5627:                                             ; preds = %5623
  %5628 = load ptr, ptr %54, align 8, !tbaa !9
  %5629 = getelementptr inbounds i8, ptr %5628, i64 16
  store ptr %53, ptr %5629, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #14
  %5630 = call ptr @s2n_connection_new(i32 noundef 0) #14
  store ptr %5630, ptr %55, align 8, !tbaa !9
  %5631 = load i32, ptr @test_count, align 4, !tbaa !5
  %5632 = add nsw i32 %5631, 1
  store i32 %5632, ptr @test_count, align 4, !tbaa !5
  %5633 = icmp eq ptr %5630, null
  br i1 %5633, label %5319, label %5634

5634:                                             ; preds = %5627
  %5635 = add nsw i32 %5631, 2
  store i32 %5635, ptr @test_count, align 4, !tbaa !5
  %5636 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5630, ptr noundef %5285) #14
  %5637 = icmp eq i32 %5636, -1
  br i1 %5637, label %5347, label %5638

5638:                                             ; preds = %5634
  %5639 = load ptr, ptr %55, align 8, !tbaa !9
  %5640 = getelementptr inbounds i8, ptr %5639, i64 16
  store ptr %53, ptr %5640, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #14
  store i64 0, ptr %56, align 8
  %5641 = load i32, ptr @test_count, align 4, !tbaa !5
  %5642 = add nsw i32 %5641, 1
  store i32 %5642, ptr @test_count, align 4, !tbaa !5
  %5643 = call i32 @s2n_new_inet_socket_pair(ptr noundef nonnull %56)
  %5644 = call zeroext i1 @s2n_result_is_ok(i32 %5643)
  br i1 %5644, label %5645, label %5378

5645:                                             ; preds = %5638
  %5646 = load i32, ptr @test_count, align 4, !tbaa !5
  %5647 = add nsw i32 %5646, 1
  store i32 %5647, ptr @test_count, align 4, !tbaa !5
  %5648 = load ptr, ptr %55, align 8, !tbaa !9
  %5649 = load ptr, ptr %54, align 8, !tbaa !9
  %5650 = call i32 @s2n_setup_connections(ptr noundef %5648, ptr noundef %5649, ptr noundef nonnull %56)
  %5651 = call zeroext i1 @s2n_result_is_ok(i32 %5650)
  br i1 %5651, label %5652, label %5409

5652:                                             ; preds = %5645
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %57) #14
  %5653 = load ptr, ptr %55, align 8, !tbaa !9
  store ptr %5653, ptr %57, align 16, !tbaa !9
  %5654 = load ptr, ptr %54, align 8, !tbaa !9
  store ptr %5654, ptr %5105, align 8, !tbaa !9
  %5655 = load ptr, ptr %5115, align 8, !tbaa !9
  %5656 = load ptr, ptr %5119, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #14
  store i32 0, ptr %58, align 4, !tbaa !5
  %5657 = call i32 @s2n_connection_ktls_enable_send(ptr noundef %5655) #14
  %5658 = icmp eq i32 %5657, 0
  br i1 %5658, label %5662, label %5659

5659:                                             ; preds = %5652
  %5660 = load i32, ptr @test_count, align 4, !tbaa !5
  %5661 = add nsw i32 %5660, 1
  store i32 %5661, ptr @test_count, align 4, !tbaa !5
  br i1 %.not, label %5502, label %5673

5662:                                             ; preds = %5652
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %59) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %59, i8 0, i64 100, i1 false)
  %5663 = call i64 @s2n_send(ptr noundef %5655, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %58) #14
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = add nsw i32 %5664, 1
  store i32 %5665, ptr @test_count, align 4, !tbaa !5
  %sext.mask635.1 = and i64 %5663, 4294967295
  %5666 = icmp eq i64 %sext.mask635.1, 100
  br i1 %5666, label %5667, label %5445

5667:                                             ; preds = %5662
  %5668 = call i64 @s2n_recv(ptr noundef %5656, ptr noundef nonnull %59, i64 noundef 100, ptr noundef nonnull %58) #14
  %5669 = load i32, ptr @test_count, align 4, !tbaa !5
  %5670 = add nsw i32 %5669, 1
  store i32 %5670, ptr @test_count, align 4, !tbaa !5
  %sext.mask637.1 = and i64 %5668, 4294967295
  %5671 = icmp eq i64 %sext.mask637.1, 100
  br i1 %5671, label %5672, label %5474

5672:                                             ; preds = %5667
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %59) #14
  br label %5673

5673:                                             ; preds = %5672, %5659
  %5674 = call i32 @s2n_connection_ktls_enable_recv(ptr noundef %5655) #14
  %5675 = icmp eq i32 %5674, 0
  br i1 %5675, label %5679, label %5676

5676:                                             ; preds = %5673
  %5677 = load i32, ptr @test_count, align 4, !tbaa !5
  %5678 = add nsw i32 %5677, 1
  store i32 %5678, ptr @test_count, align 4, !tbaa !5
  br i1 %.not, label %5591, label %.loopexit.loopexit

5679:                                             ; preds = %5673
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %60) #14
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %60, i8 0, i64 100, i1 false)
  %5680 = call i64 @s2n_send(ptr noundef %5656, ptr noundef nonnull %4, i64 noundef 100, ptr noundef nonnull %58) #14
  %5681 = load i32, ptr @test_count, align 4, !tbaa !5
  %5682 = add nsw i32 %5681, 1
  store i32 %5682, ptr @test_count, align 4, !tbaa !5
  %sext.mask640.1 = and i64 %5680, 4294967295
  %5683 = icmp eq i64 %sext.mask640.1, 100
  br i1 %5683, label %5684, label %5534

5684:                                             ; preds = %5679
  %5685 = call i64 @s2n_recv(ptr noundef %5655, ptr noundef nonnull %60, i64 noundef 100, ptr noundef nonnull %58) #14
  %5686 = load i32, ptr @test_count, align 4, !tbaa !5
  %5687 = add nsw i32 %5686, 1
  store i32 %5687, ptr @test_count, align 4, !tbaa !5
  %sext.mask642.1 = and i64 %5685, 4294967295
  %5688 = icmp eq i64 %sext.mask642.1, 100
  br i1 %5688, label %5689, label %5563

5689:                                             ; preds = %5684
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %60) #14
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %5689, %5676
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %57) #14
  %5690 = call i32 @s2n_io_pair_close(ptr noundef nonnull %56) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #14
  %5691 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %55) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #14
  %5692 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %54) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #14
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %53) #14
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #14
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %5252
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #14
  %5693 = add nuw nsw i64 %.0585870, 1
  %exitcond893.not = icmp eq i64 %5693, 4
  br i1 %exitcond893.not, label %.loopexit824, label %5186, !llvm.loop !73

.loopexit824:                                     ; preds = %.loopexit, %._crit_edge865
  %5694 = call i32 @s2n_cleanup() #14
  %5695 = icmp eq i32 %5694, -1
  br i1 %5695, label %5696, label %5720

5696:                                             ; preds = %.loopexit824
  %5697 = tail call ptr @__errno_location() #15
  %5698 = load i32, ptr %5697, align 4, !tbaa !5
  %5699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5700 = call i32 @s2n_print_stacktrace(ptr noundef %5699) #14
  %5701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5702 = trunc nuw i8 %5701 to i1
  br i1 %5702, label %5703, label %5707

5703:                                             ; preds = %5696
  %5704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5705 = call i32 @fileno(ptr noundef %5704) #14
  %5706 = call i32 @isatty(i32 noundef %5705) #14
  %.not630 = icmp eq i32 %5706, 0
  br i1 %.not630, label %5707, label %5708

5707:                                             ; preds = %5703, %5696
  br label %5708

5708:                                             ; preds = %5703, %5707
  %.str.5.sink2661 = phi ptr [ @.str.5, %5707 ], [ @.str.2, %5703 ]
  store i32 %5698, ptr %5697, align 4, !tbaa !5
  %5709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5710 = load i32, ptr @test_count, align 4, !tbaa !5
  %5711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5712 = load i32, ptr %5711, align 4, !tbaa !5
  %5713 = call ptr @s2n_strerror(i32 noundef %5712, ptr noundef nonnull @.str.4) #14
  %5714 = load i32, ptr %5711, align 4, !tbaa !5
  %5715 = call ptr @s2n_strerror_debug(i32 noundef %5714, ptr noundef nonnull @.str.4) #14
  %5716 = load i32, ptr %5697, align 4, !tbaa !5
  %5717 = call ptr @strerror(i32 noundef %5716) #14
  %5718 = load i32, ptr %5697, align 4, !tbaa !5
  %5719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5709, ptr noundef nonnull %.str.5.sink2661, i32 noundef %5710, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 701, ptr noundef %5713, ptr noundef %5715, ptr noundef %5717, i32 noundef %5718) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5720:                                             ; preds = %.loopexit824
  %5721 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #14
  %5722 = icmp eq i32 %5721, -1
  br i1 %5722, label %5723, label %5747

5723:                                             ; preds = %5720
  %5724 = tail call ptr @__errno_location() #15
  %5725 = load i32, ptr %5724, align 4, !tbaa !5
  %5726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5727 = call i32 @s2n_print_stacktrace(ptr noundef %5726) #14
  %5728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5729 = trunc nuw i8 %5728 to i1
  br i1 %5729, label %5730, label %5734

5730:                                             ; preds = %5723
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = call i32 @fileno(ptr noundef %5731) #14
  %5733 = call i32 @isatty(i32 noundef %5732) #14
  %.not629 = icmp eq i32 %5733, 0
  br i1 %.not629, label %5734, label %5735

5734:                                             ; preds = %5730, %5723
  br label %5735

5735:                                             ; preds = %5730, %5734
  %.str.5.sink2672 = phi ptr [ @.str.5, %5734 ], [ @.str.2, %5730 ]
  store i32 %5725, ptr %5724, align 4, !tbaa !5
  %5736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5737 = load i32, ptr @test_count, align 4, !tbaa !5
  %5738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5739 = load i32, ptr %5738, align 4, !tbaa !5
  %5740 = call ptr @s2n_strerror(i32 noundef %5739, ptr noundef nonnull @.str.4) #14
  %5741 = load i32, ptr %5738, align 4, !tbaa !5
  %5742 = call ptr @s2n_strerror_debug(i32 noundef %5741, ptr noundef nonnull @.str.4) #14
  %5743 = load i32, ptr %5724, align 4, !tbaa !5
  %5744 = call ptr @strerror(i32 noundef %5743) #14
  %5745 = load i32, ptr %5724, align 4, !tbaa !5
  %5746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5736, ptr noundef nonnull %.str.5.sink2672, i32 noundef %5737, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 701, ptr noundef %5740, ptr noundef %5742, ptr noundef %5744, i32 noundef %5745) #16
  call void @exit(i32 noundef 1) #17
  unreachable

5747:                                             ; preds = %5720
  %5748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5749 = trunc nuw i8 %5748 to i1
  br i1 %5749, label %5750, label %5761

5750:                                             ; preds = %5747
  %5751 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5752 = call i32 @fileno(ptr noundef %5751) #14
  %5753 = call i32 @isatty(i32 noundef %5752) #14
  %.not626 = icmp eq i32 %5753, 0
  br i1 %.not626, label %5761, label %5754

5754:                                             ; preds = %5750
  %5755 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not628 = icmp eq i32 %5755, 0
  %5756 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not628, label %5759, label %5757

5757:                                             ; preds = %5754
  %5758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef nonnull @.str.11, i32 noundef %5755) #14
  br label %5768

5759:                                             ; preds = %5754
  %5760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5756, ptr noundef nonnull @.str.12) #14
  br label %5768

5761:                                             ; preds = %5750, %5747
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not627 = icmp eq i32 %5762, 0
  %5763 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not627, label %5766, label %5764

5764:                                             ; preds = %5761
  %5765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5763, ptr noundef nonnull @.str.13, i32 noundef %5762) #14
  br label %5768

5766:                                             ; preds = %5761
  %5767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5763, ptr noundef nonnull @.str.14) #14
  br label %5768

5768:                                             ; preds = %5759, %5757, %5766, %5764, %865
  %5769 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %9) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #14
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #14
  call void @llvm.lifetime.end.p0(i64 160, ptr nonnull %7) #14
  %5770 = call i32 @s2n_test_iovecs_free(ptr noundef nonnull %6) #14
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #14
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #14
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %4) #14
  %5771 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %3) #14
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #14
  br label %5772

5772:                                             ; preds = %216, %214, %223, %221, %5768
  ret i32 0
}

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

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

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

; Function Attrs: nofree nounwind memory(read)
declare noundef ptr @getenv(ptr nocapture noundef) local_unnamed_addr #8

declare zeroext i1 @s2n_ktls_is_supported_on_platform(...) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #11

declare i32 @s2n_get_public_random_data(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_iovecs_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_new_iovecs(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_ktls_enable_unsafe_tls13(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #11

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_new_inet_socket_pair(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_setup_connections(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @s2n_connection_ktls_enable_send(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ktls_enable_recv(ptr noundef) local_unnamed_addr #2

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_sendv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i64 @s2n_sendv_with_offset(ptr noundef, ptr noundef, i64 noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nofree
declare noundef i32 @open(ptr nocapture noundef readonly, i32 noundef, ...) local_unnamed_addr #12

; Function Attrs: nofree
declare noundef i64 @pread(i32 noundef, ptr nocapture noundef, i64 noundef, i64 noundef) local_unnamed_addr #12

declare i32 @s2n_sendfile(ptr noundef, i32 noundef, i64 noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @close(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown_send(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_shutdown(ptr noundef, ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_connection_check_io_status(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_record_write(ptr noundef, i8 noundef zeroext, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_flush(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe_n(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i64 @s2n_connection_get_delay(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_atomic_flag_set(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_atomic_flag_test(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close_one_end(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #13

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

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !10, i64 0}
!18 = !{!"s2n_test_iovecs", !10, i64 0, !16, i64 8}
!19 = !{!18, !16, i64 8}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = distinct !{!22, !21}
!23 = distinct !{!23, !21}
!24 = !{!25, !7, i64 220}
!25 = !{!"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, !26, i64 160, !16, i64 168, !16, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !27, i64 240, !10, i64 632, !10, i64 640, !28, i64 648, !34, i64 1144, !37, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !40, i64 1776, !40, i64 1816, !40, i64 1856, !40, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !40, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !41, i64 2004, !41, i64 2008, !42, i64 2016, !39, i64 2208, !6, i64 2212, !39, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !41, i64 2264, !41, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !33, i64 2792, !6, i64 2816, !33, i64 2824, !33, i64 2848, !33, i64 2872, !44, i64 2896, !46, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !33, i64 3784, !6, i64 3808, !48, i64 3816, !7, i64 3848, !40, i64 3992, !33, i64 4032, !33, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !39, i64 4084, !39, i64 4086, !6, i64 4088, !6, i64 4092, !33, i64 4096, !6, i64 4120, !49, i64 4128, !41, i64 4176, !7, i64 4180, !7, i64 4181}
!26 = !{!"s2n_timer", !16, i64 0}
!27 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!28 = !{!"s2n_kex_parameters", !29, i64 0, !30, i64 8, !7, i64 24, !30, i64 56, !31, i64 72, !31, i64 184, !7, i64 296, !32, i64 360, !33, i64 448, !33, i64 472}
!29 = !{!"s2n_dh_params", !10, i64 0}
!30 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!31 = !{!"s2n_kem_group_params", !10, i64 0, !32, i64 8, !30, i64 96}
!32 = !{!"s2n_kem_params", !10, i64 0, !33, i64 8, !33, i64 32, !33, i64 56, !12, i64 80}
!33 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!34 = !{!"s2n_handshake_parameters", !35, i64 0, !35, i64 48, !33, i64 96, !6, i64 120, !36, 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}
!35 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!36 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!37 = !{!"s2n_psk_parameters", !6, i64 0, !38, i64 8, !39, i64 40, !39, i64 42, !10, i64 48, !6, i64 56}
!38 = !{!"s2n_array", !33, i64 0, !6, i64 24, !6, i64 28}
!39 = !{!"short", !7, i64 0}
!40 = !{!"s2n_stuffer", !33, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!41 = !{!"", !6, i64 0}
!42 = !{!"s2n_handshake", !40, 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, !43, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!43 = !{!"s2n_offered_early_data", !10, i64 0}
!44 = !{!"s2n_client_hello", !33, i64 0, !45, i64 24, !33, i64 728, !33, i64 752, !33, 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}
!45 = !{!"", !7, i64 0, !33, i64 672, !39, i64 696}
!46 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !39, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !47, i64 48, !12, i64 52}
!47 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!48 = !{!"s2n_ticket_fields", !33, i64 0, !6, i64 24}
!49 = !{!"s2n_post_handshake", !40, i64 0, !7, i64 40}
!50 = distinct !{!50, !21}
!51 = !{!25, !6, i64 148}
!52 = distinct !{!52, !21}
!53 = !{!54, !39, i64 0}
!54 = !{!"s2n_cipher_preferences", !39, i64 0, !10, i64 8, !12, i64 16}
!55 = !{!54, !10, i64 8}
!56 = !{!57, !10, i64 48}
!57 = !{!"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}
!58 = !{!59, !10, i64 0}
!59 = !{!"s2n_record_algorithm", !10, i64 0, !6, i64 8, !6, i64 12, !16, i64 16}
!60 = !{!61, !10, i64 96}
!61 = !{!"s2n_cipher", !6, i64 0, !7, i64 8, !7, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !10, i64 80, !10, i64 88, !10, i64 96}
!62 = distinct !{!62, !21}
!63 = !{!64, !10, i64 8}
!64 = !{!"", !10, i64 0, !10, i64 8}
!65 = !{!64, !10, i64 0}
!66 = !{!57, !7, i64 100}
!67 = !{!54, !12, i64 16}
!68 = !{i64 0, i64 1, !69, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 1, !11, i64 57, i64 2, !69}
!69 = !{!7, !7, i64 0}
!70 = !{!71, !10, i64 8}
!71 = !{!"s2n_security_policy", !7, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !12, i64 56, !7, i64 57}
!72 = !{!25, !10, i64 16}
!73 = distinct !{!73, !21}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SCCPPass,SLPVectorizerPass,SROAPass,SimplifyCFGPass,TailCallElimPass