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

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

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

@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
@__const.main.test_data = external hidden unnamed_addr constant [20 x i8], align 16
@.str.8 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [25 x i8], align 1

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

359:                                              ; preds = %2
  br label %360

360:                                              ; preds = %359
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %361 = load ptr, ptr @stdout, align 8, !tbaa !9
  %362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %361, ptr noundef @.str, ptr noundef @.str.1) #11
  %363 = load ptr, ptr @stdout, align 8, !tbaa !9
  %364 = call i32 @fflush(ptr noundef %363)
  br label %365

365:                                              ; preds = %360
  %366 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %367 = icmp eq i32 %366, -1
  br i1 %367, label %368, label %419

368:                                              ; preds = %365
  br label %369

369:                                              ; preds = %368
  br label %370

370:                                              ; preds = %369
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %371 = call ptr @__errno_location() #12
  %372 = load i32, ptr %371, align 4, !tbaa !5
  store i32 %372, ptr %6, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373)
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc i8 %375 to i1
  br i1 %376, label %377, label %399

377:                                              ; preds = %370
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = call i32 @fileno(ptr noundef %378) #11
  %380 = call i32 @isatty(i32 noundef %379) #11
  %381 = icmp ne i32 %380, 0
  br i1 %381, label %382, label %399

382:                                              ; preds = %377
  %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.2, i32 noundef %386, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 52, ptr noundef %389, ptr noundef %392, ptr noundef %395, i32 noundef %397) #11
  br label %416

399:                                              ; preds = %377, %370
  %400 = load i32, ptr %6, align 4, !tbaa !5
  %401 = call ptr @__errno_location() #12
  store i32 %400, ptr %401, 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 @.str.4)
  %407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %408 = load i32, ptr %407, align 4, !tbaa !5
  %409 = call ptr @s2n_strerror_debug(i32 noundef %408, ptr noundef @.str.4)
  %410 = call ptr @__errno_location() #12
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @strerror(i32 noundef %411) #11
  %413 = call ptr @__errno_location() #12
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef @.str.5, i32 noundef %403, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 52, ptr noundef %406, ptr noundef %409, ptr noundef %412, i32 noundef %414) #11
  br label %416

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

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

418:                                              ; No predecessors!
  br label %419

419:                                              ; preds = %418, %365
  br label %420

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = add nsw i32 %422, 1
  store i32 %423, ptr @test_count, align 4, !tbaa !5
  %424 = call i32 @s2n_enable_atexit()
  %425 = icmp eq i32 %424, -1
  br i1 %425, label %426, label %477

426:                                              ; preds = %421
  br label %427

427:                                              ; preds = %426
  br label %428

428:                                              ; preds = %427
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %429 = call ptr @__errno_location() #12
  %430 = load i32, ptr %429, align 4, !tbaa !5
  store i32 %430, ptr %7, align 4, !tbaa !5
  %431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %432 = call i32 @s2n_print_stacktrace(ptr noundef %431)
  %433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %434 = trunc i8 %433 to i1
  br i1 %434, label %435, label %457

435:                                              ; preds = %428
  %436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %437 = call i32 @fileno(ptr noundef %436) #11
  %438 = call i32 @isatty(i32 noundef %437) #11
  %439 = icmp ne i32 %438, 0
  br i1 %439, label %440, label %457

440:                                              ; preds = %435
  %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.2, i32 noundef %444, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 52, ptr noundef %447, ptr noundef %450, ptr noundef %453, i32 noundef %455) #11
  br label %474

457:                                              ; preds = %435, %428
  %458 = load i32, ptr %7, align 4, !tbaa !5
  %459 = call ptr @__errno_location() #12
  store i32 %458, ptr %459, 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 @.str.4)
  %465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %466 = load i32, ptr %465, align 4, !tbaa !5
  %467 = call ptr @s2n_strerror_debug(i32 noundef %466, ptr noundef @.str.4)
  %468 = call ptr @__errno_location() #12
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @strerror(i32 noundef %469) #11
  %471 = call ptr @__errno_location() #12
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %460, ptr noundef @.str.5, i32 noundef %461, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 52, ptr noundef %464, ptr noundef %467, ptr noundef %470, i32 noundef %472) #11
  br label %474

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

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

476:                                              ; No predecessors!
  br label %477

477:                                              ; preds = %476, %421
  br label %478

478:                                              ; preds = %477
  br label %479

479:                                              ; preds = %478
  br label %480

480:                                              ; preds = %479
  %481 = call i32 @s2n_init()
  %482 = icmp eq i32 %481, -1
  br i1 %482, label %483, label %534

483:                                              ; preds = %480
  br label %484

484:                                              ; preds = %483
  br label %485

485:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %486 = call ptr @__errno_location() #12
  %487 = load i32, ptr %486, align 4, !tbaa !5
  store i32 %487, ptr %8, align 4, !tbaa !5
  %488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %489 = call i32 @s2n_print_stacktrace(ptr noundef %488)
  %490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %491 = trunc i8 %490 to i1
  br i1 %491, label %492, label %514

492:                                              ; preds = %485
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = call i32 @fileno(ptr noundef %493) #11
  %495 = call i32 @isatty(i32 noundef %494) #11
  %496 = icmp ne i32 %495, 0
  br i1 %496, label %497, label %514

497:                                              ; preds = %492
  %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.2, i32 noundef %501, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 52, ptr noundef %504, ptr noundef %507, ptr noundef %510, i32 noundef %512) #11
  br label %531

514:                                              ; preds = %492, %485
  %515 = load i32, ptr %8, align 4, !tbaa !5
  %516 = call ptr @__errno_location() #12
  store i32 %515, ptr %516, 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 @.str.4)
  %522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %523 = load i32, ptr %522, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror_debug(i32 noundef %523, ptr noundef @.str.4)
  %525 = call ptr @__errno_location() #12
  %526 = load i32, ptr %525, align 4, !tbaa !5
  %527 = call ptr @strerror(i32 noundef %526) #11
  %528 = call ptr @__errno_location() #12
  %529 = load i32, ptr %528, align 4, !tbaa !5
  %530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %517, ptr noundef @.str.5, i32 noundef %518, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 52, ptr noundef %521, ptr noundef %524, ptr noundef %527, i32 noundef %529) #11
  br label %531

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

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

533:                                              ; No predecessors!
  br label %534

534:                                              ; preds = %533, %480
  br label %535

535:                                              ; preds = %534
  br label %536

536:                                              ; preds = %535
  call void @llvm.lifetime.start.p0(i64 20, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %9, ptr align 16 @__const.main.test_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #11
  store i64 16384, ptr %10, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  br label %537

537:                                              ; preds = %536
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = add nsw i32 %538, 1
  store i32 %539, ptr @test_count, align 4, !tbaa !5
  %540 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %11, ptr noundef @.str.8, ptr noundef @.str.9)
  %541 = icmp eq i32 %540, -1
  br i1 %541, label %542, label %595

542:                                              ; preds = %537
  br label %543

543:                                              ; preds = %542
  br label %544

544:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %545 = call ptr @__errno_location() #12
  %546 = load i32, ptr %545, align 4, !tbaa !5
  store i32 %546, ptr %12, align 4, !tbaa !5
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = call i32 @s2n_print_stacktrace(ptr noundef %547)
  %549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %550 = trunc i8 %549 to i1
  br i1 %550, label %551, label %573

551:                                              ; preds = %544
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = call i32 @fileno(ptr noundef %552) #11
  %554 = call i32 @isatty(i32 noundef %553) #11
  %555 = icmp ne i32 %554, 0
  br i1 %555, label %556, label %573

556:                                              ; preds = %551
  %557 = load i32, ptr %12, align 4, !tbaa !5
  %558 = call ptr @__errno_location() #12
  store i32 %557, ptr %558, align 4, !tbaa !5
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = load i32, ptr @test_count, align 4, !tbaa !5
  %561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror(i32 noundef %562, ptr noundef @.str.4)
  %564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call ptr @s2n_strerror_debug(i32 noundef %565, ptr noundef @.str.4)
  %567 = call ptr @__errno_location() #12
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call ptr @strerror(i32 noundef %568) #11
  %570 = call ptr @__errno_location() #12
  %571 = load i32, ptr %570, align 4, !tbaa !5
  %572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %559, ptr noundef @.str.2, i32 noundef %560, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 60, ptr noundef %563, ptr noundef %566, ptr noundef %569, i32 noundef %571) #11
  br label %590

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

590:                                              ; preds = %573, %556
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %591

591:                                              ; preds = %590
  br label %592

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

593:                                              ; No predecessors!
  br label %594

594:                                              ; preds = %593
  br label %595

595:                                              ; preds = %594, %537
  br label %596

596:                                              ; preds = %595
  br label %597

597:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #11
  %598 = call ptr @s2n_config_new()
  store ptr %598, ptr %13, align 8, !tbaa !9
  br label %599

599:                                              ; preds = %597
  %600 = load i32, ptr @test_count, align 4, !tbaa !5
  %601 = add nsw i32 %600, 1
  store i32 %601, ptr @test_count, align 4, !tbaa !5
  %602 = load ptr, ptr %13, align 8, !tbaa !9
  %603 = load ptr, ptr %11, align 8, !tbaa !9
  %604 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %602, ptr noundef %603)
  %605 = icmp eq i32 %604, -1
  br i1 %605, label %606, label %659

606:                                              ; preds = %599
  br label %607

607:                                              ; preds = %606
  br label %608

608:                                              ; preds = %607
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %609 = call ptr @__errno_location() #12
  %610 = load i32, ptr %609, align 4, !tbaa !5
  store i32 %610, ptr %14, align 4, !tbaa !5
  %611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %612 = call i32 @s2n_print_stacktrace(ptr noundef %611)
  %613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %614 = trunc i8 %613 to i1
  br i1 %614, label %615, label %637

615:                                              ; preds = %608
  %616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %617 = call i32 @fileno(ptr noundef %616) #11
  %618 = call i32 @isatty(i32 noundef %617) #11
  %619 = icmp ne i32 %618, 0
  br i1 %619, label %620, label %637

620:                                              ; preds = %615
  %621 = load i32, ptr %14, align 4, !tbaa !5
  %622 = call ptr @__errno_location() #12
  store i32 %621, ptr %622, align 4, !tbaa !5
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = load i32, ptr @test_count, align 4, !tbaa !5
  %625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %626 = load i32, ptr %625, align 4, !tbaa !5
  %627 = call ptr @s2n_strerror(i32 noundef %626, ptr noundef @.str.4)
  %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_debug(i32 noundef %629, ptr noundef @.str.4)
  %631 = call ptr @__errno_location() #12
  %632 = load i32, ptr %631, align 4, !tbaa !5
  %633 = call ptr @strerror(i32 noundef %632) #11
  %634 = call ptr @__errno_location() #12
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %623, ptr noundef @.str.2, i32 noundef %624, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 64, ptr noundef %627, ptr noundef %630, ptr noundef %633, i32 noundef %635) #11
  br label %654

637:                                              ; preds = %615, %608
  %638 = load i32, ptr %14, align 4, !tbaa !5
  %639 = call ptr @__errno_location() #12
  store i32 %638, ptr %639, align 4, !tbaa !5
  %640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %641 = load i32, ptr @test_count, align 4, !tbaa !5
  %642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %643 = load i32, ptr %642, align 4, !tbaa !5
  %644 = call ptr @s2n_strerror(i32 noundef %643, ptr noundef @.str.4)
  %645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = call ptr @s2n_strerror_debug(i32 noundef %646, ptr noundef @.str.4)
  %648 = call ptr @__errno_location() #12
  %649 = load i32, ptr %648, align 4, !tbaa !5
  %650 = call ptr @strerror(i32 noundef %649) #11
  %651 = call ptr @__errno_location() #12
  %652 = load i32, ptr %651, align 4, !tbaa !5
  %653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %640, ptr noundef @.str.5, i32 noundef %641, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 64, ptr noundef %644, ptr noundef %647, ptr noundef %650, i32 noundef %652) #11
  br label %654

654:                                              ; preds = %637, %620
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %655

655:                                              ; preds = %654
  br label %656

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

657:                                              ; No predecessors!
  br label %658

658:                                              ; preds = %657
  br label %659

659:                                              ; preds = %658, %599
  br label %660

660:                                              ; preds = %659
  br label %661

661:                                              ; preds = %660
  br label %662

662:                                              ; preds = %661
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = load ptr, ptr %13, align 8, !tbaa !9
  %666 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %665, ptr noundef @.str.12)
  %667 = icmp eq i32 %666, -1
  br i1 %667, label %668, label %721

668:                                              ; preds = %662
  br label %669

669:                                              ; preds = %668
  br label %670

670:                                              ; preds = %669
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %671 = call ptr @__errno_location() #12
  %672 = load i32, ptr %671, align 4, !tbaa !5
  store i32 %672, ptr %15, align 4, !tbaa !5
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @s2n_print_stacktrace(ptr noundef %673)
  %675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %676 = trunc i8 %675 to i1
  br i1 %676, label %677, label %699

677:                                              ; preds = %670
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @fileno(ptr noundef %678) #11
  %680 = call i32 @isatty(i32 noundef %679) #11
  %681 = icmp ne i32 %680, 0
  br i1 %681, label %682, label %699

682:                                              ; preds = %677
  %683 = load i32, ptr %15, align 4, !tbaa !5
  %684 = call ptr @__errno_location() #12
  store i32 %683, ptr %684, align 4, !tbaa !5
  %685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %686 = load i32, ptr @test_count, align 4, !tbaa !5
  %687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %688 = load i32, ptr %687, align 4, !tbaa !5
  %689 = call ptr @s2n_strerror(i32 noundef %688, ptr noundef @.str.4)
  %690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %691 = load i32, ptr %690, align 4, !tbaa !5
  %692 = call ptr @s2n_strerror_debug(i32 noundef %691, ptr noundef @.str.4)
  %693 = call ptr @__errno_location() #12
  %694 = load i32, ptr %693, align 4, !tbaa !5
  %695 = call ptr @strerror(i32 noundef %694) #11
  %696 = call ptr @__errno_location() #12
  %697 = load i32, ptr %696, align 4, !tbaa !5
  %698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %685, ptr noundef @.str.2, i32 noundef %686, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 65, ptr noundef %689, ptr noundef %692, ptr noundef %695, i32 noundef %697) #11
  br label %716

699:                                              ; preds = %677, %670
  %700 = load i32, ptr %15, align 4, !tbaa !5
  %701 = call ptr @__errno_location() #12
  store i32 %700, ptr %701, align 4, !tbaa !5
  %702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %703 = load i32, ptr @test_count, align 4, !tbaa !5
  %704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call ptr @s2n_strerror(i32 noundef %705, ptr noundef @.str.4)
  %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_debug(i32 noundef %708, ptr noundef @.str.4)
  %710 = call ptr @__errno_location() #12
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = call ptr @strerror(i32 noundef %711) #11
  %713 = call ptr @__errno_location() #12
  %714 = load i32, ptr %713, align 4, !tbaa !5
  %715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %702, ptr noundef @.str.5, i32 noundef %703, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 65, ptr noundef %706, ptr noundef %709, ptr noundef %712, i32 noundef %714) #11
  br label %716

716:                                              ; preds = %699, %682
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %717

717:                                              ; preds = %716
  br label %718

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

719:                                              ; No predecessors!
  br label %720

720:                                              ; preds = %719
  br label %721

721:                                              ; preds = %720, %662
  br label %722

722:                                              ; preds = %721
  br label %723

723:                                              ; preds = %722
  br label %724

724:                                              ; preds = %723
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = add nsw i32 %725, 1
  store i32 %726, ptr @test_count, align 4, !tbaa !5
  %727 = load ptr, ptr %13, align 8, !tbaa !9
  %728 = call i32 @s2n_config_disable_x509_verification(ptr noundef %727)
  %729 = icmp eq i32 %728, -1
  br i1 %729, label %730, label %783

730:                                              ; preds = %724
  br label %731

731:                                              ; preds = %730
  br label %732

732:                                              ; preds = %731
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %733 = call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  store i32 %734, ptr %16, align 4, !tbaa !5
  %735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %736 = call i32 @s2n_print_stacktrace(ptr noundef %735)
  %737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %738 = trunc i8 %737 to i1
  br i1 %738, label %739, label %761

739:                                              ; preds = %732
  %740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %741 = call i32 @fileno(ptr noundef %740) #11
  %742 = call i32 @isatty(i32 noundef %741) #11
  %743 = icmp ne i32 %742, 0
  br i1 %743, label %744, label %761

744:                                              ; preds = %739
  %745 = load i32, ptr %16, align 4, !tbaa !5
  %746 = call ptr @__errno_location() #12
  store i32 %745, ptr %746, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = load i32, ptr @test_count, align 4, !tbaa !5
  %749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror(i32 noundef %750, ptr noundef @.str.4)
  %752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror_debug(i32 noundef %753, ptr noundef @.str.4)
  %755 = call ptr @__errno_location() #12
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @strerror(i32 noundef %756) #11
  %758 = call ptr @__errno_location() #12
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %747, ptr noundef @.str.2, i32 noundef %748, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 66, ptr noundef %751, ptr noundef %754, ptr noundef %757, i32 noundef %759) #11
  br label %778

761:                                              ; preds = %739, %732
  %762 = load i32, ptr %16, align 4, !tbaa !5
  %763 = call ptr @__errno_location() #12
  store i32 %762, ptr %763, align 4, !tbaa !5
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror(i32 noundef %767, ptr noundef @.str.4)
  %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_debug(i32 noundef %770, ptr noundef @.str.4)
  %772 = call ptr @__errno_location() #12
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @strerror(i32 noundef %773) #11
  %775 = call ptr @__errno_location() #12
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef @.str.5, i32 noundef %765, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 66, ptr noundef %768, ptr noundef %771, ptr noundef %774, i32 noundef %776) #11
  br label %778

778:                                              ; preds = %761, %744
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %779

779:                                              ; preds = %778
  br label %780

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

781:                                              ; No predecessors!
  br label %782

782:                                              ; preds = %781
  br label %783

783:                                              ; preds = %782, %724
  br label %784

784:                                              ; preds = %783
  br label %785

785:                                              ; preds = %784
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #11
  %786 = call ptr @s2n_config_new()
  store ptr %786, ptr %17, align 8, !tbaa !9
  br label %787

787:                                              ; preds = %785
  %788 = load i32, ptr @test_count, align 4, !tbaa !5
  %789 = add nsw i32 %788, 1
  store i32 %789, ptr @test_count, align 4, !tbaa !5
  %790 = load ptr, ptr %17, align 8, !tbaa !9
  %791 = load ptr, ptr %11, align 8, !tbaa !9
  %792 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %790, ptr noundef %791)
  %793 = icmp eq i32 %792, -1
  br i1 %793, label %794, label %847

794:                                              ; preds = %787
  br label %795

795:                                              ; preds = %794
  br label %796

796:                                              ; preds = %795
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %797 = call ptr @__errno_location() #12
  %798 = load i32, ptr %797, align 4, !tbaa !5
  store i32 %798, ptr %18, align 4, !tbaa !5
  %799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %800 = call i32 @s2n_print_stacktrace(ptr noundef %799)
  %801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %802 = trunc i8 %801 to i1
  br i1 %802, label %803, label %825

803:                                              ; preds = %796
  %804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %805 = call i32 @fileno(ptr noundef %804) #11
  %806 = call i32 @isatty(i32 noundef %805) #11
  %807 = icmp ne i32 %806, 0
  br i1 %807, label %808, label %825

808:                                              ; preds = %803
  %809 = load i32, ptr %18, align 4, !tbaa !5
  %810 = call ptr @__errno_location() #12
  store i32 %809, ptr %810, align 4, !tbaa !5
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = load i32, ptr @test_count, align 4, !tbaa !5
  %813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call ptr @s2n_strerror(i32 noundef %814, ptr noundef @.str.4)
  %816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %817 = load i32, ptr %816, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror_debug(i32 noundef %817, ptr noundef @.str.4)
  %819 = call ptr @__errno_location() #12
  %820 = load i32, ptr %819, align 4, !tbaa !5
  %821 = call ptr @strerror(i32 noundef %820) #11
  %822 = call ptr @__errno_location() #12
  %823 = load i32, ptr %822, align 4, !tbaa !5
  %824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %811, ptr noundef @.str.2, i32 noundef %812, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 70, ptr noundef %815, ptr noundef %818, ptr noundef %821, i32 noundef %823) #11
  br label %842

825:                                              ; preds = %803, %796
  %826 = load i32, ptr %18, align 4, !tbaa !5
  %827 = call ptr @__errno_location() #12
  store i32 %826, ptr %827, align 4, !tbaa !5
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = load i32, ptr @test_count, align 4, !tbaa !5
  %830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call ptr @s2n_strerror(i32 noundef %831, ptr noundef @.str.4)
  %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_debug(i32 noundef %834, ptr noundef @.str.4)
  %836 = call ptr @__errno_location() #12
  %837 = load i32, ptr %836, align 4, !tbaa !5
  %838 = call ptr @strerror(i32 noundef %837) #11
  %839 = call ptr @__errno_location() #12
  %840 = load i32, ptr %839, align 4, !tbaa !5
  %841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %828, ptr noundef @.str.5, i32 noundef %829, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 70, ptr noundef %832, ptr noundef %835, ptr noundef %838, i32 noundef %840) #11
  br label %842

842:                                              ; preds = %825, %808
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %843

843:                                              ; preds = %842
  br label %844

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

845:                                              ; No predecessors!
  br label %846

846:                                              ; preds = %845
  br label %847

847:                                              ; preds = %846, %787
  br label %848

848:                                              ; preds = %847
  br label %849

849:                                              ; preds = %848
  br label %850

850:                                              ; preds = %849
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = add nsw i32 %851, 1
  store i32 %852, ptr @test_count, align 4, !tbaa !5
  %853 = load ptr, ptr %17, align 8, !tbaa !9
  %854 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %853, ptr noundef @.str.12)
  %855 = icmp eq i32 %854, -1
  br i1 %855, label %856, label %909

856:                                              ; preds = %850
  br label %857

857:                                              ; preds = %856
  br label %858

858:                                              ; preds = %857
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %859 = call ptr @__errno_location() #12
  %860 = load i32, ptr %859, align 4, !tbaa !5
  store i32 %860, ptr %19, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @s2n_print_stacktrace(ptr noundef %861)
  %863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %864 = trunc i8 %863 to i1
  br i1 %864, label %865, label %887

865:                                              ; preds = %858
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 @fileno(ptr noundef %866) #11
  %868 = call i32 @isatty(i32 noundef %867) #11
  %869 = icmp ne i32 %868, 0
  br i1 %869, label %870, label %887

870:                                              ; preds = %865
  %871 = load i32, ptr %19, align 4, !tbaa !5
  %872 = call ptr @__errno_location() #12
  store i32 %871, ptr %872, align 4, !tbaa !5
  %873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %874 = load i32, ptr @test_count, align 4, !tbaa !5
  %875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call ptr @s2n_strerror(i32 noundef %876, ptr noundef @.str.4)
  %878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call ptr @s2n_strerror_debug(i32 noundef %879, ptr noundef @.str.4)
  %881 = call ptr @__errno_location() #12
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @strerror(i32 noundef %882) #11
  %884 = call ptr @__errno_location() #12
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %873, ptr noundef @.str.2, i32 noundef %874, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 71, ptr noundef %877, ptr noundef %880, ptr noundef %883, i32 noundef %885) #11
  br label %904

887:                                              ; preds = %865, %858
  %888 = load i32, ptr %19, align 4, !tbaa !5
  %889 = call ptr @__errno_location() #12
  store i32 %888, ptr %889, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = load i32, ptr @test_count, align 4, !tbaa !5
  %892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call ptr @s2n_strerror(i32 noundef %893, ptr noundef @.str.4)
  %895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror_debug(i32 noundef %896, ptr noundef @.str.4)
  %898 = call ptr @__errno_location() #12
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @strerror(i32 noundef %899) #11
  %901 = call ptr @__errno_location() #12
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %890, ptr noundef @.str.5, i32 noundef %891, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 71, ptr noundef %894, ptr noundef %897, ptr noundef %900, i32 noundef %902) #11
  br label %904

904:                                              ; preds = %887, %870
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %905

905:                                              ; preds = %904
  br label %906

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

907:                                              ; No predecessors!
  br label %908

908:                                              ; preds = %907
  br label %909

909:                                              ; preds = %908, %850
  br label %910

910:                                              ; preds = %909
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = add nsw i32 %913, 1
  store i32 %914, ptr @test_count, align 4, !tbaa !5
  %915 = load ptr, ptr %17, align 8, !tbaa !9
  %916 = call i32 @s2n_config_disable_x509_verification(ptr noundef %915)
  %917 = icmp eq i32 %916, -1
  br i1 %917, label %918, label %971

918:                                              ; preds = %912
  br label %919

919:                                              ; preds = %918
  br label %920

920:                                              ; preds = %919
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %921 = call ptr @__errno_location() #12
  %922 = load i32, ptr %921, align 4, !tbaa !5
  store i32 %922, ptr %20, align 4, !tbaa !5
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = call i32 @s2n_print_stacktrace(ptr noundef %923)
  %925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %926 = trunc i8 %925 to i1
  br i1 %926, label %927, label %949

927:                                              ; preds = %920
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = call i32 @fileno(ptr noundef %928) #11
  %930 = call i32 @isatty(i32 noundef %929) #11
  %931 = icmp ne i32 %930, 0
  br i1 %931, label %932, label %949

932:                                              ; preds = %927
  %933 = load i32, ptr %20, align 4, !tbaa !5
  %934 = call ptr @__errno_location() #12
  store i32 %933, ptr %934, align 4, !tbaa !5
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = load i32, ptr @test_count, align 4, !tbaa !5
  %937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call ptr @s2n_strerror(i32 noundef %938, ptr noundef @.str.4)
  %940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call ptr @s2n_strerror_debug(i32 noundef %941, ptr noundef @.str.4)
  %943 = call ptr @__errno_location() #12
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = call ptr @strerror(i32 noundef %944) #11
  %946 = call ptr @__errno_location() #12
  %947 = load i32, ptr %946, align 4, !tbaa !5
  %948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %935, ptr noundef @.str.2, i32 noundef %936, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 72, ptr noundef %939, ptr noundef %942, ptr noundef %945, i32 noundef %947) #11
  br label %966

949:                                              ; preds = %927, %920
  %950 = load i32, ptr %20, align 4, !tbaa !5
  %951 = call ptr @__errno_location() #12
  store i32 %950, ptr %951, align 4, !tbaa !5
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = load i32, ptr @test_count, align 4, !tbaa !5
  %954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %955 = load i32, ptr %954, align 4, !tbaa !5
  %956 = call ptr @s2n_strerror(i32 noundef %955, ptr noundef @.str.4)
  %957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror_debug(i32 noundef %958, ptr noundef @.str.4)
  %960 = call ptr @__errno_location() #12
  %961 = load i32, ptr %960, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #11
  %963 = call ptr @__errno_location() #12
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %952, ptr noundef @.str.5, i32 noundef %953, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 72, ptr noundef %956, ptr noundef %959, ptr noundef %962, i32 noundef %964) #11
  br label %966

966:                                              ; preds = %949, %932
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %967

967:                                              ; preds = %966
  br label %968

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

969:                                              ; No predecessors!
  br label %970

970:                                              ; preds = %969
  br label %971

971:                                              ; preds = %970, %912
  br label %972

972:                                              ; preds = %971
  br label %973

973:                                              ; preds = %972
  br label %974

974:                                              ; preds = %973
  %975 = load i32, ptr @test_count, align 4, !tbaa !5
  %976 = add nsw i32 %975, 1
  store i32 %976, ptr @test_count, align 4, !tbaa !5
  %977 = load ptr, ptr %17, align 8, !tbaa !9
  %978 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %977, i1 noundef zeroext true)
  %979 = icmp eq i32 %978, -1
  br i1 %979, label %980, label %1033

980:                                              ; preds = %974
  br label %981

981:                                              ; preds = %980
  br label %982

982:                                              ; preds = %981
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %983 = call ptr @__errno_location() #12
  %984 = load i32, ptr %983, align 4, !tbaa !5
  store i32 %984, ptr %21, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = call i32 @s2n_print_stacktrace(ptr noundef %985)
  %987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %988 = trunc i8 %987 to i1
  br i1 %988, label %989, label %1011

989:                                              ; preds = %982
  %990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %991 = call i32 @fileno(ptr noundef %990) #11
  %992 = call i32 @isatty(i32 noundef %991) #11
  %993 = icmp ne i32 %992, 0
  br i1 %993, label %994, label %1011

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

1011:                                             ; preds = %989, %982
  %1012 = load i32, ptr %21, align 4, !tbaa !5
  %1013 = call ptr @__errno_location() #12
  store i32 %1012, ptr %1013, align 4, !tbaa !5
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = load i32, ptr @test_count, align 4, !tbaa !5
  %1016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1017 = load i32, ptr %1016, align 4, !tbaa !5
  %1018 = call ptr @s2n_strerror(i32 noundef %1017, ptr noundef @.str.4)
  %1019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  %1021 = call ptr @s2n_strerror_debug(i32 noundef %1020, ptr noundef @.str.4)
  %1022 = call ptr @__errno_location() #12
  %1023 = load i32, ptr %1022, align 4, !tbaa !5
  %1024 = call ptr @strerror(i32 noundef %1023) #11
  %1025 = call ptr @__errno_location() #12
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  %1027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1014, ptr noundef @.str.5, i32 noundef %1015, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 73, ptr noundef %1018, ptr noundef %1021, ptr noundef %1024, i32 noundef %1026) #11
  br label %1028

1028:                                             ; preds = %1011, %994
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1029

1029:                                             ; preds = %1028
  br label %1030

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

1031:                                             ; No predecessors!
  br label %1032

1032:                                             ; preds = %1031
  br label %1033

1033:                                             ; preds = %1032, %974
  br label %1034

1034:                                             ; preds = %1033
  br label %1035

1035:                                             ; preds = %1034
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  store i32 0, ptr %22, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #11
  %1036 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1036, ptr %23, align 8, !tbaa !9
  br label %1037

1037:                                             ; preds = %1035
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = add nsw i32 %1038, 1
  store i32 %1039, ptr @test_count, align 4, !tbaa !5
  %1040 = load ptr, ptr %23, align 8, !tbaa !9
  %1041 = load ptr, ptr %13, align 8, !tbaa !9
  %1042 = call i32 @s2n_connection_set_config(ptr noundef %1040, ptr noundef %1041)
  %1043 = icmp eq i32 %1042, -1
  br i1 %1043, label %1044, label %1097

1044:                                             ; preds = %1037
  br label %1045

1045:                                             ; preds = %1044
  br label %1046

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

1053:                                             ; preds = %1046
  %1054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1055 = call i32 @fileno(ptr noundef %1054) #11
  %1056 = call i32 @isatty(i32 noundef %1055) #11
  %1057 = icmp ne i32 %1056, 0
  br i1 %1057, label %1058, label %1075

1058:                                             ; preds = %1053
  %1059 = load i32, ptr %24, align 4, !tbaa !5
  %1060 = call ptr @__errno_location() #12
  store i32 %1059, ptr %1060, align 4, !tbaa !5
  %1061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1062 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1064, ptr noundef @.str.4)
  %1066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror_debug(i32 noundef %1067, ptr noundef @.str.4)
  %1069 = call ptr @__errno_location() #12
  %1070 = load i32, ptr %1069, align 4, !tbaa !5
  %1071 = call ptr @strerror(i32 noundef %1070) #11
  %1072 = call ptr @__errno_location() #12
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1061, ptr noundef @.str.2, i32 noundef %1062, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1065, ptr noundef %1068, ptr noundef %1071, i32 noundef %1073) #11
  br label %1092

1075:                                             ; preds = %1053, %1046
  %1076 = load i32, ptr %24, align 4, !tbaa !5
  %1077 = call ptr @__errno_location() #12
  store i32 %1076, ptr %1077, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = load i32, ptr @test_count, align 4, !tbaa !5
  %1080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror(i32 noundef %1081, ptr noundef @.str.4)
  %1083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror_debug(i32 noundef %1084, ptr noundef @.str.4)
  %1086 = call ptr @__errno_location() #12
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call ptr @strerror(i32 noundef %1087) #11
  %1089 = call ptr @__errno_location() #12
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1078, ptr noundef @.str.5, i32 noundef %1079, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1082, ptr noundef %1085, ptr noundef %1088, i32 noundef %1090) #11
  br label %1092

1092:                                             ; preds = %1075, %1058
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1093

1093:                                             ; preds = %1092
  br label %1094

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

1095:                                             ; No predecessors!
  br label %1096

1096:                                             ; preds = %1095
  br label %1097

1097:                                             ; preds = %1096, %1037
  br label %1098

1098:                                             ; preds = %1097
  br label %1099

1099:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #11
  %1100 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1100, ptr %25, align 8, !tbaa !9
  br label %1101

1101:                                             ; preds = %1099
  %1102 = load i32, ptr @test_count, align 4, !tbaa !5
  %1103 = add nsw i32 %1102, 1
  store i32 %1103, ptr @test_count, align 4, !tbaa !5
  %1104 = load ptr, ptr %25, align 8, !tbaa !9
  %1105 = load ptr, ptr %13, align 8, !tbaa !9
  %1106 = call i32 @s2n_connection_set_config(ptr noundef %1104, ptr noundef %1105)
  %1107 = icmp eq i32 %1106, -1
  br i1 %1107, label %1108, label %1161

1108:                                             ; preds = %1101
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

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

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

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

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

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

1157:                                             ; preds = %1156
  br label %1158

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

1159:                                             ; No predecessors!
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

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

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  call void @llvm.lifetime.start.p0(i64 80, ptr %27) #11
  call void @llvm.memset.p0.i64(ptr align 8 %27, i8 0, i64 80, i1 false)
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = add nsw i32 %1165, 1
  store i32 %1166, ptr @test_count, align 4, !tbaa !5
  %1167 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %27)
  %1168 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  store i32 %1167, ptr %1168, align 4
  %1169 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  %1170 = load i32, ptr %1169, align 4
  %1171 = call zeroext i1 @s2n_result_is_ok(i32 %1170)
  br i1 %1171, label %1225, label %1172

1172:                                             ; preds = %1164
  br label %1173

1173:                                             ; preds = %1172
  br label %1174

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

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

1186:                                             ; preds = %1181
  %1187 = load i32, ptr %29, align 4, !tbaa !5
  %1188 = call ptr @__errno_location() #12
  store i32 %1187, ptr %1188, align 4, !tbaa !5
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = load i32, ptr @test_count, align 4, !tbaa !5
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror(i32 noundef %1192, ptr noundef @.str.4)
  %1194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef @.str.4)
  %1197 = call ptr @__errno_location() #12
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call ptr @strerror(i32 noundef %1198) #11
  %1200 = call ptr @__errno_location() #12
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  %1202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1189, ptr noundef @.str.2, i32 noundef %1190, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1193, ptr noundef %1196, ptr noundef %1199, i32 noundef %1201) #11
  br label %1220

1203:                                             ; preds = %1181, %1174
  %1204 = load i32, ptr %29, align 4, !tbaa !5
  %1205 = call ptr @__errno_location() #12
  store i32 %1204, ptr %1205, align 4, !tbaa !5
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = load i32, ptr @test_count, align 4, !tbaa !5
  %1208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @s2n_strerror(i32 noundef %1209, ptr noundef @.str.4)
  %1211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call ptr @s2n_strerror_debug(i32 noundef %1212, ptr noundef @.str.4)
  %1214 = call ptr @__errno_location() #12
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call ptr @strerror(i32 noundef %1215) #11
  %1217 = call ptr @__errno_location() #12
  %1218 = load i32, ptr %1217, align 4, !tbaa !5
  %1219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1206, ptr noundef @.str.5, i32 noundef %1207, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1210, ptr noundef %1213, ptr noundef %1216, i32 noundef %1218) #11
  br label %1220

1220:                                             ; preds = %1203, %1186
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

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

1223:                                             ; No predecessors!
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

1225:                                             ; preds = %1224, %1164
  br label %1226

1226:                                             ; preds = %1225
  br label %1227

1227:                                             ; preds = %1226
  br label %1228

1228:                                             ; preds = %1227
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = add nsw i32 %1229, 1
  store i32 %1230, ptr @test_count, align 4, !tbaa !5
  %1231 = load ptr, ptr %23, align 8, !tbaa !9
  %1232 = load ptr, ptr %25, align 8, !tbaa !9
  %1233 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1231, ptr noundef %1232, ptr noundef %27)
  %1234 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1233, ptr %1234, align 4
  %1235 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1236 = load i32, ptr %1235, align 4
  %1237 = call zeroext i1 @s2n_result_is_ok(i32 %1236)
  br i1 %1237, label %1291, label %1238

1238:                                             ; preds = %1228
  br label %1239

1239:                                             ; preds = %1238
  br label %1240

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

1247:                                             ; preds = %1240
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = call i32 @fileno(ptr noundef %1248) #11
  %1250 = call i32 @isatty(i32 noundef %1249) #11
  %1251 = icmp ne i32 %1250, 0
  br i1 %1251, label %1252, label %1269

1252:                                             ; preds = %1247
  %1253 = load i32, ptr %31, align 4, !tbaa !5
  %1254 = call ptr @__errno_location() #12
  store i32 %1253, ptr %1254, align 4, !tbaa !5
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1256 = load i32, ptr @test_count, align 4, !tbaa !5
  %1257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1258 = load i32, ptr %1257, align 4, !tbaa !5
  %1259 = call ptr @s2n_strerror(i32 noundef %1258, ptr noundef @.str.4)
  %1260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1261 = load i32, ptr %1260, align 4, !tbaa !5
  %1262 = call ptr @s2n_strerror_debug(i32 noundef %1261, ptr noundef @.str.4)
  %1263 = call ptr @__errno_location() #12
  %1264 = load i32, ptr %1263, align 4, !tbaa !5
  %1265 = call ptr @strerror(i32 noundef %1264) #11
  %1266 = call ptr @__errno_location() #12
  %1267 = load i32, ptr %1266, align 4, !tbaa !5
  %1268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1255, ptr noundef @.str.2, i32 noundef %1256, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 87, ptr noundef %1259, ptr noundef %1262, ptr noundef %1265, i32 noundef %1267) #11
  br label %1286

1269:                                             ; preds = %1247, %1240
  %1270 = load i32, ptr %31, align 4, !tbaa !5
  %1271 = call ptr @__errno_location() #12
  store i32 %1270, ptr %1271, align 4, !tbaa !5
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = load i32, ptr @test_count, align 4, !tbaa !5
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror(i32 noundef %1275, ptr noundef @.str.4)
  %1277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @s2n_strerror_debug(i32 noundef %1278, ptr noundef @.str.4)
  %1280 = call ptr @__errno_location() #12
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @strerror(i32 noundef %1281) #11
  %1283 = call ptr @__errno_location() #12
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1272, ptr noundef @.str.5, i32 noundef %1273, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 87, ptr noundef %1276, ptr noundef %1279, ptr noundef %1282, i32 noundef %1284) #11
  br label %1286

1286:                                             ; preds = %1269, %1252
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1287

1287:                                             ; preds = %1286
  br label %1288

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

1289:                                             ; No predecessors!
  br label %1290

1290:                                             ; preds = %1289
  br label %1291

1291:                                             ; preds = %1290, %1228
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  br label %1294

1294:                                             ; preds = %1293
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = add nsw i32 %1295, 1
  store i32 %1296, ptr @test_count, align 4, !tbaa !5
  %1297 = load ptr, ptr %25, align 8, !tbaa !9
  %1298 = load ptr, ptr %23, align 8, !tbaa !9
  %1299 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1297, ptr noundef %1298)
  %1300 = icmp eq i32 %1299, -1
  br i1 %1300, label %1301, label %1354

1301:                                             ; preds = %1294
  br label %1302

1302:                                             ; preds = %1301
  br label %1303

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

1310:                                             ; preds = %1303
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @fileno(ptr noundef %1311) #11
  %1313 = call i32 @isatty(i32 noundef %1312) #11
  %1314 = icmp ne i32 %1313, 0
  br i1 %1314, label %1315, label %1332

1315:                                             ; preds = %1310
  %1316 = load i32, ptr %32, align 4, !tbaa !5
  %1317 = call ptr @__errno_location() #12
  store i32 %1316, ptr %1317, align 4, !tbaa !5
  %1318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1319 = load i32, ptr @test_count, align 4, !tbaa !5
  %1320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1321 = load i32, ptr %1320, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror(i32 noundef %1321, ptr noundef @.str.4)
  %1323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = call ptr @s2n_strerror_debug(i32 noundef %1324, ptr noundef @.str.4)
  %1326 = call ptr @__errno_location() #12
  %1327 = load i32, ptr %1326, align 4, !tbaa !5
  %1328 = call ptr @strerror(i32 noundef %1327) #11
  %1329 = call ptr @__errno_location() #12
  %1330 = load i32, ptr %1329, align 4, !tbaa !5
  %1331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1318, ptr noundef @.str.2, i32 noundef %1319, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1322, ptr noundef %1325, ptr noundef %1328, i32 noundef %1330) #11
  br label %1349

1332:                                             ; preds = %1310, %1303
  %1333 = load i32, ptr %32, align 4, !tbaa !5
  %1334 = call ptr @__errno_location() #12
  store i32 %1333, ptr %1334, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef @.str.4)
  %1340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror_debug(i32 noundef %1341, ptr noundef @.str.4)
  %1343 = call ptr @__errno_location() #12
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call ptr @strerror(i32 noundef %1344) #11
  %1346 = call ptr @__errno_location() #12
  %1347 = load i32, ptr %1346, align 4, !tbaa !5
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef @.str.5, i32 noundef %1336, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1339, ptr noundef %1342, ptr noundef %1345, i32 noundef %1347) #11
  br label %1349

1349:                                             ; preds = %1332, %1315
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1350

1350:                                             ; preds = %1349
  br label %1351

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

1352:                                             ; No predecessors!
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353, %1294
  br label %1355

1355:                                             ; preds = %1354
  br label %1356

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

1357:                                             ; preds = %1356
  %1358 = load i32, ptr @test_count, align 4, !tbaa !5
  %1359 = add nsw i32 %1358, 1
  store i32 %1359, ptr @test_count, align 4, !tbaa !5
  %1360 = load ptr, ptr %25, align 8, !tbaa !9
  %1361 = call i32 @s2n_connection_set_counting_read(ptr noundef %1360, ptr noundef %33)
  %1362 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  store i32 %1361, ptr %1362, align 4
  %1363 = getelementptr inbounds %struct.s2n_result, ptr %34, i32 0, i32 0
  %1364 = load i32, ptr %1363, align 4
  %1365 = call zeroext i1 @s2n_result_is_ok(i32 %1364)
  br i1 %1365, label %1419, label %1366

1366:                                             ; preds = %1357
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

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

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

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

1397:                                             ; preds = %1375, %1368
  %1398 = load i32, ptr %35, align 4, !tbaa !5
  %1399 = call ptr @__errno_location() #12
  store i32 %1398, ptr %1399, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef @.str.4)
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror_debug(i32 noundef %1406, ptr noundef @.str.4)
  %1408 = call ptr @__errno_location() #12
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @strerror(i32 noundef %1409) #11
  %1411 = call ptr @__errno_location() #12
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef @.str.5, i32 noundef %1401, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1404, ptr noundef %1407, ptr noundef %1410, i32 noundef %1412) #11
  br label %1414

1414:                                             ; preds = %1397, %1380
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1415

1415:                                             ; preds = %1414
  br label %1416

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

1417:                                             ; No predecessors!
  br label %1418

1418:                                             ; preds = %1417
  br label %1419

1419:                                             ; preds = %1418, %1357
  br label %1420

1420:                                             ; preds = %1419
  br label %1421

1421:                                             ; preds = %1420
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  store i32 0, ptr %36, align 4, !tbaa !5
  br label %1422

1422:                                             ; preds = %1421
  %1423 = load i32, ptr @test_count, align 4, !tbaa !5
  %1424 = add nsw i32 %1423, 1
  store i32 %1424, ptr @test_count, align 4, !tbaa !5
  %1425 = load ptr, ptr %23, align 8, !tbaa !9
  %1426 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %1427 = call i64 @s2n_send(ptr noundef %1425, ptr noundef %1426, i64 noundef 20, ptr noundef %36)
  %1428 = icmp eq i64 %1427, 20
  br i1 %1428, label %1482, label %1429

1429:                                             ; preds = %1422
  br label %1430

1430:                                             ; preds = %1429
  br label %1431

1431:                                             ; preds = %1430
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1432 = call ptr @__errno_location() #12
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  store i32 %1433, ptr %37, align 4, !tbaa !5
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @s2n_print_stacktrace(ptr noundef %1434)
  %1436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1437 = trunc i8 %1436 to i1
  br i1 %1437, label %1438, label %1460

1438:                                             ; preds = %1431
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @fileno(ptr noundef %1439) #11
  %1441 = call i32 @isatty(i32 noundef %1440) #11
  %1442 = icmp ne i32 %1441, 0
  br i1 %1442, label %1443, label %1460

1443:                                             ; preds = %1438
  %1444 = load i32, ptr %37, align 4, !tbaa !5
  %1445 = call ptr @__errno_location() #12
  store i32 %1444, ptr %1445, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = load i32, ptr @test_count, align 4, !tbaa !5
  %1448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1449 = load i32, ptr %1448, align 4, !tbaa !5
  %1450 = call ptr @s2n_strerror(i32 noundef %1449, ptr noundef @.str.4)
  %1451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  %1453 = call ptr @s2n_strerror_debug(i32 noundef %1452, ptr noundef @.str.4)
  %1454 = call ptr @__errno_location() #12
  %1455 = load i32, ptr %1454, align 4, !tbaa !5
  %1456 = call ptr @strerror(i32 noundef %1455) #11
  %1457 = call ptr @__errno_location() #12
  %1458 = load i32, ptr %1457, align 4, !tbaa !5
  %1459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1446, ptr noundef @.str.2, i32 noundef %1447, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1450, ptr noundef %1453, ptr noundef %1456, i32 noundef %1458) #11
  br label %1477

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

1477:                                             ; preds = %1460, %1443
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

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

1480:                                             ; No predecessors!
  br label %1481

1481:                                             ; preds = %1480
  br label %1482

1482:                                             ; preds = %1481, %1422
  br label %1483

1483:                                             ; preds = %1482
  br label %1484

1484:                                             ; preds = %1483
  %1485 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %27, i32 0, i32 1
  %1486 = getelementptr inbounds %struct.s2n_stuffer, ptr %1485, i32 0, i32 2
  %1487 = load i32, ptr %1486, align 4, !tbaa !17
  %1488 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %27, i32 0, i32 1
  %1489 = getelementptr inbounds %struct.s2n_stuffer, ptr %1488, i32 0, i32 1
  %1490 = load i32, ptr %1489, align 8, !tbaa !21
  %1491 = sub i32 %1487, %1490
  store i32 %1491, ptr %22, align 4, !tbaa !5
  br label %1492

1492:                                             ; preds = %1484
  %1493 = load i32, ptr @test_count, align 4, !tbaa !5
  %1494 = add nsw i32 %1493, 1
  store i32 %1494, ptr @test_count, align 4, !tbaa !5
  %1495 = load i32, ptr %22, align 4, !tbaa !5
  %1496 = zext i32 %1495 to i64
  %1497 = icmp ugt i64 %1496, 20
  br i1 %1497, label %1551, label %1498

1498:                                             ; preds = %1492
  br label %1499

1499:                                             ; preds = %1498
  br label %1500

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

1507:                                             ; preds = %1500
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = call i32 @fileno(ptr noundef %1508) #11
  %1510 = call i32 @isatty(i32 noundef %1509) #11
  %1511 = icmp ne i32 %1510, 0
  br i1 %1511, label %1512, label %1529

1512:                                             ; preds = %1507
  %1513 = load i32, ptr %38, align 4, !tbaa !5
  %1514 = call ptr @__errno_location() #12
  store i32 %1513, ptr %1514, align 4, !tbaa !5
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = load i32, ptr @test_count, align 4, !tbaa !5
  %1517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror(i32 noundef %1518, ptr noundef @.str.4)
  %1520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @s2n_strerror_debug(i32 noundef %1521, ptr noundef @.str.4)
  %1523 = call ptr @__errno_location() #12
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @strerror(i32 noundef %1524) #11
  %1526 = call ptr @__errno_location() #12
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1515, ptr noundef @.str.2, i32 noundef %1516, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1519, ptr noundef %1522, ptr noundef %1525, i32 noundef %1527) #11
  br label %1546

1529:                                             ; preds = %1507, %1500
  %1530 = load i32, ptr %38, align 4, !tbaa !5
  %1531 = call ptr @__errno_location() #12
  store i32 %1530, ptr %1531, align 4, !tbaa !5
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = load i32, ptr @test_count, align 4, !tbaa !5
  %1534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @s2n_strerror(i32 noundef %1535, ptr noundef @.str.4)
  %1537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror_debug(i32 noundef %1538, ptr noundef @.str.4)
  %1540 = call ptr @__errno_location() #12
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @strerror(i32 noundef %1541) #11
  %1543 = call ptr @__errno_location() #12
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1532, ptr noundef @.str.5, i32 noundef %1533, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1536, ptr noundef %1539, ptr noundef %1542, i32 noundef %1544) #11
  br label %1546

1546:                                             ; preds = %1529, %1512
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1547

1547:                                             ; preds = %1546
  br label %1548

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

1549:                                             ; No predecessors!
  br label %1550

1550:                                             ; preds = %1549
  br label %1551

1551:                                             ; preds = %1550, %1492
  br label %1552

1552:                                             ; preds = %1551
  br label %1553

1553:                                             ; preds = %1552
  call void @llvm.lifetime.start.p0(i64 20, ptr %39) #11
  call void @llvm.memset.p0.i64(ptr align 16 %39, i8 0, i64 20, i1 false)
  br label %1554

1554:                                             ; preds = %1553
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = add nsw i32 %1555, 1
  store i32 %1556, ptr @test_count, align 4, !tbaa !5
  %1557 = load ptr, ptr %25, align 8, !tbaa !9
  %1558 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1557, i1 noundef zeroext true)
  %1559 = icmp eq i32 %1558, -1
  br i1 %1559, label %1560, label %1613

1560:                                             ; preds = %1554
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

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

1569:                                             ; preds = %1562
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @fileno(ptr noundef %1570) #11
  %1572 = call i32 @isatty(i32 noundef %1571) #11
  %1573 = icmp ne i32 %1572, 0
  br i1 %1573, label %1574, label %1591

1574:                                             ; preds = %1569
  %1575 = load i32, ptr %40, align 4, !tbaa !5
  %1576 = call ptr @__errno_location() #12
  store i32 %1575, ptr %1576, align 4, !tbaa !5
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1580 = load i32, ptr %1579, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror(i32 noundef %1580, ptr noundef @.str.4)
  %1582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1583 = load i32, ptr %1582, align 4, !tbaa !5
  %1584 = call ptr @s2n_strerror_debug(i32 noundef %1583, ptr noundef @.str.4)
  %1585 = call ptr @__errno_location() #12
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #11
  %1588 = call ptr @__errno_location() #12
  %1589 = load i32, ptr %1588, align 4, !tbaa !5
  %1590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1577, ptr noundef @.str.2, i32 noundef %1578, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1581, ptr noundef %1584, ptr noundef %1587, i32 noundef %1589) #11
  br label %1608

1591:                                             ; preds = %1569, %1562
  %1592 = load i32, ptr %40, align 4, !tbaa !5
  %1593 = call ptr @__errno_location() #12
  store i32 %1592, ptr %1593, align 4, !tbaa !5
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = load i32, ptr @test_count, align 4, !tbaa !5
  %1596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror(i32 noundef %1597, ptr noundef @.str.4)
  %1599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  %1601 = call ptr @s2n_strerror_debug(i32 noundef %1600, ptr noundef @.str.4)
  %1602 = call ptr @__errno_location() #12
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call ptr @strerror(i32 noundef %1603) #11
  %1605 = call ptr @__errno_location() #12
  %1606 = load i32, ptr %1605, align 4, !tbaa !5
  %1607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1594, ptr noundef @.str.5, i32 noundef %1595, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1598, ptr noundef %1601, ptr noundef %1604, i32 noundef %1606) #11
  br label %1608

1608:                                             ; preds = %1591, %1574
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1609

1609:                                             ; preds = %1608
  br label %1610

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

1611:                                             ; No predecessors!
  br label %1612

1612:                                             ; preds = %1611
  br label %1613

1613:                                             ; preds = %1612, %1554
  br label %1614

1614:                                             ; preds = %1613
  br label %1615

1615:                                             ; preds = %1614
  br label %1616

1616:                                             ; preds = %1615
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = add nsw i32 %1617, 1
  store i32 %1618, ptr @test_count, align 4, !tbaa !5
  %1619 = load ptr, ptr %25, align 8, !tbaa !9
  %1620 = getelementptr inbounds [20 x i8], ptr %39, i64 0, i64 0
  %1621 = call i64 @s2n_recv(ptr noundef %1619, ptr noundef %1620, i64 noundef 20, ptr noundef %36)
  %1622 = icmp eq i64 %1621, 20
  br i1 %1622, label %1676, label %1623

1623:                                             ; preds = %1616
  br label %1624

1624:                                             ; preds = %1623
  br label %1625

1625:                                             ; preds = %1624
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %1626 = call ptr @__errno_location() #12
  %1627 = load i32, ptr %1626, align 4, !tbaa !5
  store i32 %1627, ptr %41, align 4, !tbaa !5
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @s2n_print_stacktrace(ptr noundef %1628)
  %1630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1631 = trunc i8 %1630 to i1
  br i1 %1631, label %1632, label %1654

1632:                                             ; preds = %1625
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = call i32 @fileno(ptr noundef %1633) #11
  %1635 = call i32 @isatty(i32 noundef %1634) #11
  %1636 = icmp ne i32 %1635, 0
  br i1 %1636, label %1637, label %1654

1637:                                             ; preds = %1632
  %1638 = load i32, ptr %41, align 4, !tbaa !5
  %1639 = call ptr @__errno_location() #12
  store i32 %1638, ptr %1639, align 4, !tbaa !5
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = load i32, ptr @test_count, align 4, !tbaa !5
  %1642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1643 = load i32, ptr %1642, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror(i32 noundef %1643, ptr noundef @.str.4)
  %1645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1646 = load i32, ptr %1645, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror_debug(i32 noundef %1646, ptr noundef @.str.4)
  %1648 = call ptr @__errno_location() #12
  %1649 = load i32, ptr %1648, align 4, !tbaa !5
  %1650 = call ptr @strerror(i32 noundef %1649) #11
  %1651 = call ptr @__errno_location() #12
  %1652 = load i32, ptr %1651, align 4, !tbaa !5
  %1653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1640, ptr noundef @.str.2, i32 noundef %1641, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1644, ptr noundef %1647, ptr noundef %1650, i32 noundef %1652) #11
  br label %1671

1654:                                             ; preds = %1632, %1625
  %1655 = load i32, ptr %41, align 4, !tbaa !5
  %1656 = call ptr @__errno_location() #12
  store i32 %1655, ptr %1656, 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 @.str.4)
  %1662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef @.str.4)
  %1665 = call ptr @__errno_location() #12
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @strerror(i32 noundef %1666) #11
  %1668 = call ptr @__errno_location() #12
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1657, ptr noundef @.str.5, i32 noundef %1658, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1661, ptr noundef %1664, ptr noundef %1667, i32 noundef %1669) #11
  br label %1671

1671:                                             ; preds = %1654, %1637
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1672

1672:                                             ; preds = %1671
  br label %1673

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

1674:                                             ; No predecessors!
  br label %1675

1675:                                             ; preds = %1674
  br label %1676

1676:                                             ; preds = %1675, %1616
  br label %1677

1677:                                             ; preds = %1676
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

1679:                                             ; preds = %1678
  br label %1680

1680:                                             ; preds = %1679
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = add nsw i32 %1681, 1
  store i32 %1682, ptr @test_count, align 4, !tbaa !5
  %1683 = getelementptr inbounds [20 x i8], ptr %39, i64 0, i64 0
  %1684 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %1685 = call i32 @memcmp(ptr noundef %1683, ptr noundef %1684, i64 noundef 20) #14
  %1686 = icmp eq i32 %1685, 0
  br i1 %1686, label %1740, label %1687

1687:                                             ; preds = %1680
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

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

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

1701:                                             ; preds = %1696
  %1702 = load i32, ptr %42, align 4, !tbaa !5
  %1703 = call ptr @__errno_location() #12
  store i32 %1702, ptr %1703, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1707 = load i32, ptr %1706, align 4, !tbaa !5
  %1708 = call ptr @s2n_strerror(i32 noundef %1707, ptr noundef @.str.4)
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror_debug(i32 noundef %1710, ptr noundef @.str.4)
  %1712 = call ptr @__errno_location() #12
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @strerror(i32 noundef %1713) #11
  %1715 = call ptr @__errno_location() #12
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1704, ptr noundef @.str.2, i32 noundef %1705, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1708, ptr noundef %1711, ptr noundef %1714, i32 noundef %1716) #11
  br label %1735

1718:                                             ; preds = %1696, %1689
  %1719 = load i32, ptr %42, align 4, !tbaa !5
  %1720 = call ptr @__errno_location() #12
  store i32 %1719, ptr %1720, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = load i32, ptr @test_count, align 4, !tbaa !5
  %1723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1724 = load i32, ptr %1723, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror(i32 noundef %1724, ptr noundef @.str.4)
  %1726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror_debug(i32 noundef %1727, ptr noundef @.str.4)
  %1729 = call ptr @__errno_location() #12
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @strerror(i32 noundef %1730) #11
  %1732 = call ptr @__errno_location() #12
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1721, ptr noundef @.str.5, i32 noundef %1722, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1725, ptr noundef %1728, ptr noundef %1731, i32 noundef %1733) #11
  br label %1735

1735:                                             ; preds = %1718, %1701
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

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

1738:                                             ; No predecessors!
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

1740:                                             ; preds = %1739, %1680
  br label %1741

1741:                                             ; preds = %1740
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742
  br label %1744

1744:                                             ; preds = %1743
  br label %1745

1745:                                             ; preds = %1744
  %1746 = load i32, ptr @test_count, align 4, !tbaa !5
  %1747 = add nsw i32 %1746, 1
  store i32 %1747, ptr @test_count, align 4, !tbaa !5
  %1748 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %33, i32 0, i32 0
  %1749 = load i64, ptr %1748, align 8, !tbaa !22
  %1750 = icmp eq i64 %1749, 1
  br i1 %1750, label %1804, label %1751

1751:                                             ; preds = %1745
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

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

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

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

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

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

1800:                                             ; preds = %1799
  br label %1801

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

1802:                                             ; No predecessors!
  br label %1803

1803:                                             ; preds = %1802
  br label %1804

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

1805:                                             ; preds = %1804
  br label %1806

1806:                                             ; preds = %1805
  call void @llvm.lifetime.end.p0(i64 20, ptr %39) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #11
  %1807 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %27)
  %1808 = getelementptr inbounds %struct.s2n_result, ptr %44, i32 0, i32 0
  store i32 %1807, ptr %1808, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %27) #11
  %1809 = call i32 @s2n_connection_ptr_free(ptr noundef %25)
  %1810 = getelementptr inbounds %struct.s2n_result, ptr %45, i32 0, i32 0
  store i32 %1809, ptr %1810, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #11
  %1811 = call i32 @s2n_connection_ptr_free(ptr noundef %23)
  %1812 = getelementptr inbounds %struct.s2n_result, ptr %46, i32 0, i32 0
  store i32 %1811, ptr %1812, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %1813 = load i32, ptr %22, align 4, !tbaa !5
  store i32 %1813, ptr %47, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #11
  %1814 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1814, ptr %48, align 8, !tbaa !9
  br label %1815

1815:                                             ; preds = %1806
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = add nsw i32 %1816, 1
  store i32 %1817, ptr @test_count, align 4, !tbaa !5
  %1818 = load ptr, ptr %48, align 8, !tbaa !9
  %1819 = load ptr, ptr %13, align 8, !tbaa !9
  %1820 = call i32 @s2n_connection_set_config(ptr noundef %1818, ptr noundef %1819)
  %1821 = icmp eq i32 %1820, -1
  br i1 %1821, label %1822, label %1875

1822:                                             ; preds = %1815
  br label %1823

1823:                                             ; preds = %1822
  br label %1824

1824:                                             ; preds = %1823
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %1825 = call ptr @__errno_location() #12
  %1826 = load i32, ptr %1825, align 4, !tbaa !5
  store i32 %1826, ptr %49, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @s2n_print_stacktrace(ptr noundef %1827)
  %1829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1830 = trunc i8 %1829 to i1
  br i1 %1830, label %1831, label %1853

1831:                                             ; preds = %1824
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = call i32 @fileno(ptr noundef %1832) #11
  %1834 = call i32 @isatty(i32 noundef %1833) #11
  %1835 = icmp ne i32 %1834, 0
  br i1 %1835, label %1836, label %1853

1836:                                             ; preds = %1831
  %1837 = load i32, ptr %49, align 4, !tbaa !5
  %1838 = call ptr @__errno_location() #12
  store i32 %1837, ptr %1838, align 4, !tbaa !5
  %1839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1840 = load i32, ptr @test_count, align 4, !tbaa !5
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror(i32 noundef %1842, ptr noundef @.str.4)
  %1844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef @.str.4)
  %1847 = call ptr @__errno_location() #12
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call ptr @strerror(i32 noundef %1848) #11
  %1850 = call ptr @__errno_location() #12
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1839, ptr noundef @.str.2, i32 noundef %1840, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1843, ptr noundef %1846, ptr noundef %1849, i32 noundef %1851) #11
  br label %1870

1853:                                             ; preds = %1831, %1824
  %1854 = load i32, ptr %49, align 4, !tbaa !5
  %1855 = call ptr @__errno_location() #12
  store i32 %1854, ptr %1855, align 4, !tbaa !5
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = load i32, ptr @test_count, align 4, !tbaa !5
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror(i32 noundef %1859, ptr noundef @.str.4)
  %1861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @s2n_strerror_debug(i32 noundef %1862, ptr noundef @.str.4)
  %1864 = call ptr @__errno_location() #12
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call ptr @strerror(i32 noundef %1865) #11
  %1867 = call ptr @__errno_location() #12
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  %1869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1856, ptr noundef @.str.5, i32 noundef %1857, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1860, ptr noundef %1863, ptr noundef %1866, i32 noundef %1868) #11
  br label %1870

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

1871:                                             ; preds = %1870
  br label %1872

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

1873:                                             ; No predecessors!
  br label %1874

1874:                                             ; preds = %1873
  br label %1875

1875:                                             ; preds = %1874, %1815
  br label %1876

1876:                                             ; preds = %1875
  br label %1877

1877:                                             ; preds = %1876
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #11
  %1878 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1878, ptr %50, align 8, !tbaa !9
  br label %1879

1879:                                             ; preds = %1877
  %1880 = load i32, ptr @test_count, align 4, !tbaa !5
  %1881 = add nsw i32 %1880, 1
  store i32 %1881, ptr @test_count, align 4, !tbaa !5
  %1882 = load ptr, ptr %50, align 8, !tbaa !9
  %1883 = load ptr, ptr %13, align 8, !tbaa !9
  %1884 = call i32 @s2n_connection_set_config(ptr noundef %1882, ptr noundef %1883)
  %1885 = icmp eq i32 %1884, -1
  br i1 %1885, label %1886, label %1939

1886:                                             ; preds = %1879
  br label %1887

1887:                                             ; preds = %1886
  br label %1888

1888:                                             ; preds = %1887
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  store i32 %1890, ptr %51, align 4, !tbaa !5
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @s2n_print_stacktrace(ptr noundef %1891)
  %1893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1894 = trunc i8 %1893 to i1
  br i1 %1894, label %1895, label %1917

1895:                                             ; preds = %1888
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @fileno(ptr noundef %1896) #11
  %1898 = call i32 @isatty(i32 noundef %1897) #11
  %1899 = icmp ne i32 %1898, 0
  br i1 %1899, label %1900, label %1917

1900:                                             ; preds = %1895
  %1901 = load i32, ptr %51, align 4, !tbaa !5
  %1902 = call ptr @__errno_location() #12
  store i32 %1901, ptr %1902, align 4, !tbaa !5
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror(i32 noundef %1906, ptr noundef @.str.4)
  %1908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1909 = load i32, ptr %1908, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror_debug(i32 noundef %1909, ptr noundef @.str.4)
  %1911 = call ptr @__errno_location() #12
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @strerror(i32 noundef %1912) #11
  %1914 = call ptr @__errno_location() #12
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef @.str.2, i32 noundef %1904, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1907, ptr noundef %1910, ptr noundef %1913, i32 noundef %1915) #11
  br label %1934

1917:                                             ; preds = %1895, %1888
  %1918 = load i32, ptr %51, align 4, !tbaa !5
  %1919 = call ptr @__errno_location() #12
  store i32 %1918, ptr %1919, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1923 = load i32, ptr %1922, align 4, !tbaa !5
  %1924 = call ptr @s2n_strerror(i32 noundef %1923, ptr noundef @.str.4)
  %1925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror_debug(i32 noundef %1926, ptr noundef @.str.4)
  %1928 = call ptr @__errno_location() #12
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @strerror(i32 noundef %1929) #11
  %1931 = call ptr @__errno_location() #12
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1920, ptr noundef @.str.5, i32 noundef %1921, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1924, ptr noundef %1927, ptr noundef %1930, i32 noundef %1932) #11
  br label %1934

1934:                                             ; preds = %1917, %1900
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %1935

1935:                                             ; preds = %1934
  br label %1936

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

1937:                                             ; No predecessors!
  br label %1938

1938:                                             ; preds = %1937
  br label %1939

1939:                                             ; preds = %1938, %1879
  br label %1940

1940:                                             ; preds = %1939
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

1942:                                             ; preds = %1941
  %1943 = load i32, ptr @test_count, align 4, !tbaa !5
  %1944 = add nsw i32 %1943, 1
  store i32 %1944, ptr @test_count, align 4, !tbaa !5
  %1945 = load ptr, ptr %48, align 8, !tbaa !9
  %1946 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1945, i1 noundef zeroext true)
  %1947 = icmp eq i32 %1946, -1
  br i1 %1947, label %1948, label %2001

1948:                                             ; preds = %1942
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  %1951 = call ptr @__errno_location() #12
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  store i32 %1952, ptr %52, align 4, !tbaa !5
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @s2n_print_stacktrace(ptr noundef %1953)
  %1955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1956 = trunc i8 %1955 to i1
  br i1 %1956, label %1957, label %1979

1957:                                             ; preds = %1950
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @fileno(ptr noundef %1958) #11
  %1960 = call i32 @isatty(i32 noundef %1959) #11
  %1961 = icmp ne i32 %1960, 0
  br i1 %1961, label %1962, label %1979

1962:                                             ; preds = %1957
  %1963 = load i32, ptr %52, align 4, !tbaa !5
  %1964 = call ptr @__errno_location() #12
  store i32 %1963, ptr %1964, align 4, !tbaa !5
  %1965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1966 = load i32, ptr @test_count, align 4, !tbaa !5
  %1967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1968 = load i32, ptr %1967, align 4, !tbaa !5
  %1969 = call ptr @s2n_strerror(i32 noundef %1968, ptr noundef @.str.4)
  %1970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror_debug(i32 noundef %1971, ptr noundef @.str.4)
  %1973 = call ptr @__errno_location() #12
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call ptr @strerror(i32 noundef %1974) #11
  %1976 = call ptr @__errno_location() #12
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1965, ptr noundef @.str.2, i32 noundef %1966, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1969, ptr noundef %1972, ptr noundef %1975, i32 noundef %1977) #11
  br label %1996

1979:                                             ; preds = %1957, %1950
  %1980 = load i32, ptr %52, align 4, !tbaa !5
  %1981 = call ptr @__errno_location() #12
  store i32 %1980, ptr %1981, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1985 = load i32, ptr %1984, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror(i32 noundef %1985, ptr noundef @.str.4)
  %1987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror_debug(i32 noundef %1988, ptr noundef @.str.4)
  %1990 = call ptr @__errno_location() #12
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @strerror(i32 noundef %1991) #11
  %1993 = call ptr @__errno_location() #12
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1982, ptr noundef @.str.5, i32 noundef %1983, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1986, ptr noundef %1989, ptr noundef %1992, i32 noundef %1994) #11
  br label %1996

1996:                                             ; preds = %1979, %1962
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %1997

1997:                                             ; preds = %1996
  br label %1998

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

1999:                                             ; No predecessors!
  br label %2000

2000:                                             ; preds = %1999
  br label %2001

2001:                                             ; preds = %2000, %1942
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

2003:                                             ; preds = %2002
  br label %2004

2004:                                             ; preds = %2003
  %2005 = load i32, ptr @test_count, align 4, !tbaa !5
  %2006 = add nsw i32 %2005, 1
  store i32 %2006, ptr @test_count, align 4, !tbaa !5
  %2007 = load ptr, ptr %50, align 8, !tbaa !9
  %2008 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2007, i1 noundef zeroext true)
  %2009 = icmp eq i32 %2008, -1
  br i1 %2009, label %2010, label %2063

2010:                                             ; preds = %2004
  br label %2011

2011:                                             ; preds = %2010
  br label %2012

2012:                                             ; preds = %2011
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2013 = call ptr @__errno_location() #12
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  store i32 %2014, ptr %53, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = call i32 @s2n_print_stacktrace(ptr noundef %2015)
  %2017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2018 = trunc i8 %2017 to i1
  br i1 %2018, label %2019, label %2041

2019:                                             ; preds = %2012
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @fileno(ptr noundef %2020) #11
  %2022 = call i32 @isatty(i32 noundef %2021) #11
  %2023 = icmp ne i32 %2022, 0
  br i1 %2023, label %2024, label %2041

2024:                                             ; preds = %2019
  %2025 = load i32, ptr %53, align 4, !tbaa !5
  %2026 = call ptr @__errno_location() #12
  store i32 %2025, ptr %2026, align 4, !tbaa !5
  %2027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2030 = load i32, ptr %2029, align 4, !tbaa !5
  %2031 = call ptr @s2n_strerror(i32 noundef %2030, ptr noundef @.str.4)
  %2032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2033 = load i32, ptr %2032, align 4, !tbaa !5
  %2034 = call ptr @s2n_strerror_debug(i32 noundef %2033, ptr noundef @.str.4)
  %2035 = call ptr @__errno_location() #12
  %2036 = load i32, ptr %2035, align 4, !tbaa !5
  %2037 = call ptr @strerror(i32 noundef %2036) #11
  %2038 = call ptr @__errno_location() #12
  %2039 = load i32, ptr %2038, align 4, !tbaa !5
  %2040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2027, ptr noundef @.str.2, i32 noundef %2028, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 116, ptr noundef %2031, ptr noundef %2034, ptr noundef %2037, i32 noundef %2039) #11
  br label %2058

2041:                                             ; preds = %2019, %2012
  %2042 = load i32, ptr %53, align 4, !tbaa !5
  %2043 = call ptr @__errno_location() #12
  store i32 %2042, ptr %2043, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = load i32, ptr @test_count, align 4, !tbaa !5
  %2046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2047 = load i32, ptr %2046, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef @.str.4)
  %2049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2050 = load i32, ptr %2049, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef @.str.4)
  %2052 = call ptr @__errno_location() #12
  %2053 = load i32, ptr %2052, align 4, !tbaa !5
  %2054 = call ptr @strerror(i32 noundef %2053) #11
  %2055 = call ptr @__errno_location() #12
  %2056 = load i32, ptr %2055, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2044, ptr noundef @.str.5, i32 noundef %2045, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 116, ptr noundef %2048, ptr noundef %2051, ptr noundef %2054, i32 noundef %2056) #11
  br label %2058

2058:                                             ; preds = %2041, %2024
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2059

2059:                                             ; preds = %2058
  br label %2060

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

2061:                                             ; No predecessors!
  br label %2062

2062:                                             ; preds = %2061
  br label %2063

2063:                                             ; preds = %2062, %2004
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064
  call void @llvm.lifetime.start.p0(i64 80, ptr %54) #11
  call void @llvm.memset.p0.i64(ptr align 8 %54, i8 0, i64 80, i1 false)
  br label %2066

2066:                                             ; preds = %2065
  %2067 = load i32, ptr @test_count, align 4, !tbaa !5
  %2068 = add nsw i32 %2067, 1
  store i32 %2068, ptr @test_count, align 4, !tbaa !5
  %2069 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %54)
  %2070 = getelementptr inbounds %struct.s2n_result, ptr %55, i32 0, i32 0
  store i32 %2069, ptr %2070, align 4
  %2071 = getelementptr inbounds %struct.s2n_result, ptr %55, i32 0, i32 0
  %2072 = load i32, ptr %2071, align 4
  %2073 = call zeroext i1 @s2n_result_is_ok(i32 %2072)
  br i1 %2073, label %2127, label %2074

2074:                                             ; preds = %2066
  br label %2075

2075:                                             ; preds = %2074
  br label %2076

2076:                                             ; preds = %2075
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2077 = call ptr @__errno_location() #12
  %2078 = load i32, ptr %2077, align 4, !tbaa !5
  store i32 %2078, ptr %56, align 4, !tbaa !5
  %2079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2080 = call i32 @s2n_print_stacktrace(ptr noundef %2079)
  %2081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2082 = trunc i8 %2081 to i1
  br i1 %2082, label %2083, label %2105

2083:                                             ; preds = %2076
  %2084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2085 = call i32 @fileno(ptr noundef %2084) #11
  %2086 = call i32 @isatty(i32 noundef %2085) #11
  %2087 = icmp ne i32 %2086, 0
  br i1 %2087, label %2088, label %2105

2088:                                             ; preds = %2083
  %2089 = load i32, ptr %56, align 4, !tbaa !5
  %2090 = call ptr @__errno_location() #12
  store i32 %2089, ptr %2090, 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 @.str.4)
  %2096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = call ptr @s2n_strerror_debug(i32 noundef %2097, ptr noundef @.str.4)
  %2099 = call ptr @__errno_location() #12
  %2100 = load i32, ptr %2099, align 4, !tbaa !5
  %2101 = call ptr @strerror(i32 noundef %2100) #11
  %2102 = call ptr @__errno_location() #12
  %2103 = load i32, ptr %2102, align 4, !tbaa !5
  %2104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2091, ptr noundef @.str.2, i32 noundef %2092, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2095, ptr noundef %2098, ptr noundef %2101, i32 noundef %2103) #11
  br label %2122

2105:                                             ; preds = %2083, %2076
  %2106 = load i32, ptr %56, align 4, !tbaa !5
  %2107 = call ptr @__errno_location() #12
  store i32 %2106, ptr %2107, align 4, !tbaa !5
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = load i32, ptr @test_count, align 4, !tbaa !5
  %2110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  %2112 = call ptr @s2n_strerror(i32 noundef %2111, ptr noundef @.str.4)
  %2113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror_debug(i32 noundef %2114, ptr noundef @.str.4)
  %2116 = call ptr @__errno_location() #12
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  %2118 = call ptr @strerror(i32 noundef %2117) #11
  %2119 = call ptr @__errno_location() #12
  %2120 = load i32, ptr %2119, align 4, !tbaa !5
  %2121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2108, ptr noundef @.str.5, i32 noundef %2109, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2112, ptr noundef %2115, ptr noundef %2118, i32 noundef %2120) #11
  br label %2122

2122:                                             ; preds = %2105, %2088
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2123

2123:                                             ; preds = %2122
  br label %2124

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

2125:                                             ; No predecessors!
  br label %2126

2126:                                             ; preds = %2125
  br label %2127

2127:                                             ; preds = %2126, %2066
  br label %2128

2128:                                             ; preds = %2127
  br label %2129

2129:                                             ; preds = %2128
  br label %2130

2130:                                             ; preds = %2129
  %2131 = load i32, ptr @test_count, align 4, !tbaa !5
  %2132 = add nsw i32 %2131, 1
  store i32 %2132, ptr @test_count, align 4, !tbaa !5
  %2133 = load ptr, ptr %48, align 8, !tbaa !9
  %2134 = load ptr, ptr %50, align 8, !tbaa !9
  %2135 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2133, ptr noundef %2134, ptr noundef %54)
  %2136 = getelementptr inbounds %struct.s2n_result, ptr %57, i32 0, i32 0
  store i32 %2135, ptr %2136, align 4
  %2137 = getelementptr inbounds %struct.s2n_result, ptr %57, i32 0, i32 0
  %2138 = load i32, ptr %2137, align 4
  %2139 = call zeroext i1 @s2n_result_is_ok(i32 %2138)
  br i1 %2139, label %2193, label %2140

2140:                                             ; preds = %2130
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2143 = call ptr @__errno_location() #12
  %2144 = load i32, ptr %2143, align 4, !tbaa !5
  store i32 %2144, ptr %58, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @s2n_print_stacktrace(ptr noundef %2145)
  %2147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2148 = trunc i8 %2147 to i1
  br i1 %2148, label %2149, label %2171

2149:                                             ; preds = %2142
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @fileno(ptr noundef %2150) #11
  %2152 = call i32 @isatty(i32 noundef %2151) #11
  %2153 = icmp ne i32 %2152, 0
  br i1 %2153, label %2154, label %2171

2154:                                             ; preds = %2149
  %2155 = load i32, ptr %58, align 4, !tbaa !5
  %2156 = call ptr @__errno_location() #12
  store i32 %2155, ptr %2156, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = load i32, ptr @test_count, align 4, !tbaa !5
  %2159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @s2n_strerror(i32 noundef %2160, ptr noundef @.str.4)
  %2162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call ptr @s2n_strerror_debug(i32 noundef %2163, ptr noundef @.str.4)
  %2165 = call ptr @__errno_location() #12
  %2166 = load i32, ptr %2165, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #11
  %2168 = call ptr @__errno_location() #12
  %2169 = load i32, ptr %2168, align 4, !tbaa !5
  %2170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef @.str.2, i32 noundef %2158, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2161, ptr noundef %2164, ptr noundef %2167, i32 noundef %2169) #11
  br label %2188

2171:                                             ; preds = %2149, %2142
  %2172 = load i32, ptr %58, align 4, !tbaa !5
  %2173 = call ptr @__errno_location() #12
  store i32 %2172, ptr %2173, align 4, !tbaa !5
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = load i32, ptr @test_count, align 4, !tbaa !5
  %2176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @s2n_strerror(i32 noundef %2177, ptr noundef @.str.4)
  %2179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call ptr @s2n_strerror_debug(i32 noundef %2180, ptr noundef @.str.4)
  %2182 = call ptr @__errno_location() #12
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call ptr @strerror(i32 noundef %2183) #11
  %2185 = call ptr @__errno_location() #12
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2174, ptr noundef @.str.5, i32 noundef %2175, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2178, ptr noundef %2181, ptr noundef %2184, i32 noundef %2186) #11
  br label %2188

2188:                                             ; preds = %2171, %2154
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2189

2189:                                             ; preds = %2188
  br label %2190

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

2191:                                             ; No predecessors!
  br label %2192

2192:                                             ; preds = %2191
  br label %2193

2193:                                             ; preds = %2192, %2130
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

2195:                                             ; preds = %2194
  br label %2196

2196:                                             ; preds = %2195
  %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 = load ptr, ptr %50, align 8, !tbaa !9
  %2200 = load ptr, ptr %48, align 8, !tbaa !9
  %2201 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2199, ptr noundef %2200)
  %2202 = icmp eq i32 %2201, -1
  br i1 %2202, label %2203, label %2256

2203:                                             ; preds = %2196
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %2206 = call ptr @__errno_location() #12
  %2207 = load i32, ptr %2206, align 4, !tbaa !5
  store i32 %2207, ptr %59, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @s2n_print_stacktrace(ptr noundef %2208)
  %2210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2211 = trunc i8 %2210 to i1
  br i1 %2211, label %2212, label %2234

2212:                                             ; preds = %2205
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = call i32 @fileno(ptr noundef %2213) #11
  %2215 = call i32 @isatty(i32 noundef %2214) #11
  %2216 = icmp ne i32 %2215, 0
  br i1 %2216, label %2217, label %2234

2217:                                             ; preds = %2212
  %2218 = load i32, ptr %59, align 4, !tbaa !5
  %2219 = call ptr @__errno_location() #12
  store i32 %2218, ptr %2219, align 4, !tbaa !5
  %2220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2221 = load i32, ptr @test_count, align 4, !tbaa !5
  %2222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2223 = load i32, ptr %2222, align 4, !tbaa !5
  %2224 = call ptr @s2n_strerror(i32 noundef %2223, ptr noundef @.str.4)
  %2225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror_debug(i32 noundef %2226, ptr noundef @.str.4)
  %2228 = call ptr @__errno_location() #12
  %2229 = load i32, ptr %2228, align 4, !tbaa !5
  %2230 = call ptr @strerror(i32 noundef %2229) #11
  %2231 = call ptr @__errno_location() #12
  %2232 = load i32, ptr %2231, align 4, !tbaa !5
  %2233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2220, ptr noundef @.str.2, i32 noundef %2221, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2224, ptr noundef %2227, ptr noundef %2230, i32 noundef %2232) #11
  br label %2251

2234:                                             ; preds = %2212, %2205
  %2235 = load i32, ptr %59, align 4, !tbaa !5
  %2236 = call ptr @__errno_location() #12
  store i32 %2235, ptr %2236, align 4, !tbaa !5
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = load i32, ptr @test_count, align 4, !tbaa !5
  %2239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = call ptr @s2n_strerror(i32 noundef %2240, ptr noundef @.str.4)
  %2242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror_debug(i32 noundef %2243, ptr noundef @.str.4)
  %2245 = call ptr @__errno_location() #12
  %2246 = load i32, ptr %2245, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #11
  %2248 = call ptr @__errno_location() #12
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2237, ptr noundef @.str.5, i32 noundef %2238, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2241, ptr noundef %2244, ptr noundef %2247, i32 noundef %2249) #11
  br label %2251

2251:                                             ; preds = %2234, %2217
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2252

2252:                                             ; preds = %2251
  br label %2253

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

2254:                                             ; No predecessors!
  br label %2255

2255:                                             ; preds = %2254
  br label %2256

2256:                                             ; preds = %2255, %2196
  br label %2257

2257:                                             ; preds = %2256
  br label %2258

2258:                                             ; preds = %2257
  %2259 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %54)
  %2260 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %2259, ptr %2260, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %54) #11
  %2261 = call i32 @s2n_connection_ptr_free(ptr noundef %50)
  %2262 = getelementptr inbounds %struct.s2n_result, ptr %61, i32 0, i32 0
  store i32 %2261, ptr %2262, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #11
  %2263 = call i32 @s2n_connection_ptr_free(ptr noundef %48)
  %2264 = getelementptr inbounds %struct.s2n_result, ptr %62, i32 0, i32 0
  store i32 %2263, ptr %2264, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #11
  %2265 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2265, ptr %63, align 8, !tbaa !9
  br label %2266

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

2273:                                             ; preds = %2266
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

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

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

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

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

2321:                                             ; preds = %2304, %2287
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %2322

2322:                                             ; preds = %2321
  br label %2323

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

2324:                                             ; No predecessors!
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

2326:                                             ; preds = %2325, %2266
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

2328:                                             ; preds = %2327
  %2329 = load ptr, ptr %63, align 8, !tbaa !9
  %2330 = getelementptr inbounds %struct.s2n_connection, ptr %2329, i32 0, i32 53
  store i16 -1, ptr %2330, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #11
  %2331 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2331, ptr %65, align 8, !tbaa !9
  br label %2332

2332:                                             ; preds = %2328
  %2333 = load i32, ptr @test_count, align 4, !tbaa !5
  %2334 = add nsw i32 %2333, 1
  store i32 %2334, ptr @test_count, align 4, !tbaa !5
  %2335 = load ptr, ptr %65, align 8, !tbaa !9
  %2336 = load ptr, ptr %13, align 8, !tbaa !9
  %2337 = call i32 @s2n_connection_set_config(ptr noundef %2335, ptr noundef %2336)
  %2338 = icmp eq i32 %2337, -1
  br i1 %2338, label %2339, label %2392

2339:                                             ; preds = %2332
  br label %2340

2340:                                             ; preds = %2339
  br label %2341

2341:                                             ; preds = %2340
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %2342 = call ptr @__errno_location() #12
  %2343 = load i32, ptr %2342, align 4, !tbaa !5
  store i32 %2343, ptr %66, 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 %66, 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.20, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2360, ptr noundef %2363, ptr noundef %2366, i32 noundef %2368) #11
  br label %2387

2370:                                             ; preds = %2348, %2341
  %2371 = load i32, ptr %66, 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.20, ptr noundef @.str.1, i32 noundef 132, 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 %66) #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, %2332
  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 %63, align 8, !tbaa !9
  %2399 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2398, i1 noundef zeroext true)
  %2400 = icmp eq i32 %2399, -1
  br i1 %2400, label %2401, label %2454

2401:                                             ; preds = %2395
  br label %2402

2402:                                             ; preds = %2401
  br label %2403

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

2410:                                             ; preds = %2403
  %2411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2412 = call i32 @fileno(ptr noundef %2411) #11
  %2413 = call i32 @isatty(i32 noundef %2412) #11
  %2414 = icmp ne i32 %2413, 0
  br i1 %2414, label %2415, label %2432

2415:                                             ; preds = %2410
  %2416 = load i32, ptr %67, align 4, !tbaa !5
  %2417 = call ptr @__errno_location() #12
  store i32 %2416, ptr %2417, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror(i32 noundef %2421, ptr noundef @.str.4)
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror_debug(i32 noundef %2424, ptr noundef @.str.4)
  %2426 = call ptr @__errno_location() #12
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #11
  %2429 = call ptr @__errno_location() #12
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2418, ptr noundef @.str.2, i32 noundef %2419, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 134, ptr noundef %2422, ptr noundef %2425, ptr noundef %2428, i32 noundef %2430) #11
  br label %2449

2432:                                             ; preds = %2410, %2403
  %2433 = load i32, ptr %67, align 4, !tbaa !5
  %2434 = call ptr @__errno_location() #12
  store i32 %2433, ptr %2434, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call ptr @s2n_strerror(i32 noundef %2438, ptr noundef @.str.4)
  %2440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2441 = load i32, ptr %2440, align 4, !tbaa !5
  %2442 = call ptr @s2n_strerror_debug(i32 noundef %2441, ptr noundef @.str.4)
  %2443 = call ptr @__errno_location() #12
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call ptr @strerror(i32 noundef %2444) #11
  %2446 = call ptr @__errno_location() #12
  %2447 = load i32, ptr %2446, align 4, !tbaa !5
  %2448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2435, ptr noundef @.str.5, i32 noundef %2436, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 134, ptr noundef %2439, ptr noundef %2442, ptr noundef %2445, i32 noundef %2447) #11
  br label %2449

2449:                                             ; preds = %2432, %2415
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2450

2450:                                             ; preds = %2449
  br label %2451

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

2452:                                             ; No predecessors!
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

2454:                                             ; preds = %2453, %2395
  br label %2455

2455:                                             ; preds = %2454
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = add nsw i32 %2458, 1
  store i32 %2459, ptr @test_count, align 4, !tbaa !5
  %2460 = load ptr, ptr %65, align 8, !tbaa !9
  %2461 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2460, i1 noundef zeroext true)
  %2462 = icmp eq i32 %2461, -1
  br i1 %2462, label %2463, label %2516

2463:                                             ; preds = %2457
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

2465:                                             ; preds = %2464
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %2466 = call ptr @__errno_location() #12
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  store i32 %2467, ptr %68, align 4, !tbaa !5
  %2468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2469 = call i32 @s2n_print_stacktrace(ptr noundef %2468)
  %2470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2471 = trunc i8 %2470 to i1
  br i1 %2471, label %2472, label %2494

2472:                                             ; preds = %2465
  %2473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2474 = call i32 @fileno(ptr noundef %2473) #11
  %2475 = call i32 @isatty(i32 noundef %2474) #11
  %2476 = icmp ne i32 %2475, 0
  br i1 %2476, label %2477, label %2494

2477:                                             ; preds = %2472
  %2478 = load i32, ptr %68, align 4, !tbaa !5
  %2479 = call ptr @__errno_location() #12
  store i32 %2478, ptr %2479, align 4, !tbaa !5
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = load i32, ptr @test_count, align 4, !tbaa !5
  %2482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2483 = load i32, ptr %2482, align 4, !tbaa !5
  %2484 = call ptr @s2n_strerror(i32 noundef %2483, ptr noundef @.str.4)
  %2485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2486 = load i32, ptr %2485, align 4, !tbaa !5
  %2487 = call ptr @s2n_strerror_debug(i32 noundef %2486, ptr noundef @.str.4)
  %2488 = call ptr @__errno_location() #12
  %2489 = load i32, ptr %2488, align 4, !tbaa !5
  %2490 = call ptr @strerror(i32 noundef %2489) #11
  %2491 = call ptr @__errno_location() #12
  %2492 = load i32, ptr %2491, align 4, !tbaa !5
  %2493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2480, ptr noundef @.str.2, i32 noundef %2481, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2484, ptr noundef %2487, ptr noundef %2490, i32 noundef %2492) #11
  br label %2511

2494:                                             ; preds = %2472, %2465
  %2495 = load i32, ptr %68, 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.5, i32 noundef %2498, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2501, ptr noundef %2504, ptr noundef %2507, i32 noundef %2509) #11
  br label %2511

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

2512:                                             ; preds = %2511
  br label %2513

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

2514:                                             ; No predecessors!
  br label %2515

2515:                                             ; preds = %2514
  br label %2516

2516:                                             ; preds = %2515, %2457
  br label %2517

2517:                                             ; preds = %2516
  br label %2518

2518:                                             ; preds = %2517
  call void @llvm.lifetime.start.p0(i64 80, ptr %69) #11
  call void @llvm.memset.p0.i64(ptr align 8 %69, i8 0, i64 80, i1 false)
  br label %2519

2519:                                             ; preds = %2518
  %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
  %2522 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %69)
  %2523 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  store i32 %2522, ptr %2523, align 4
  %2524 = getelementptr inbounds %struct.s2n_result, ptr %70, i32 0, i32 0
  %2525 = load i32, ptr %2524, align 4
  %2526 = call zeroext i1 @s2n_result_is_ok(i32 %2525)
  br i1 %2526, label %2580, label %2527

2527:                                             ; preds = %2519
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %2530 = call ptr @__errno_location() #12
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  store i32 %2531, ptr %71, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @s2n_print_stacktrace(ptr noundef %2532)
  %2534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2535 = trunc i8 %2534 to i1
  br i1 %2535, label %2536, label %2558

2536:                                             ; preds = %2529
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @fileno(ptr noundef %2537) #11
  %2539 = call i32 @isatty(i32 noundef %2538) #11
  %2540 = icmp ne i32 %2539, 0
  br i1 %2540, label %2541, label %2558

2541:                                             ; preds = %2536
  %2542 = load i32, ptr %71, align 4, !tbaa !5
  %2543 = call ptr @__errno_location() #12
  store i32 %2542, ptr %2543, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = load i32, ptr @test_count, align 4, !tbaa !5
  %2546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror(i32 noundef %2547, ptr noundef @.str.4)
  %2549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror_debug(i32 noundef %2550, ptr noundef @.str.4)
  %2552 = call ptr @__errno_location() #12
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @strerror(i32 noundef %2553) #11
  %2555 = call ptr @__errno_location() #12
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2544, ptr noundef @.str.2, i32 noundef %2545, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2548, ptr noundef %2551, ptr noundef %2554, i32 noundef %2556) #11
  br label %2575

2558:                                             ; preds = %2536, %2529
  %2559 = load i32, ptr %71, align 4, !tbaa !5
  %2560 = call ptr @__errno_location() #12
  store i32 %2559, ptr %2560, align 4, !tbaa !5
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = load i32, ptr @test_count, align 4, !tbaa !5
  %2563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = call ptr @s2n_strerror(i32 noundef %2564, ptr noundef @.str.4)
  %2566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  %2568 = call ptr @s2n_strerror_debug(i32 noundef %2567, ptr noundef @.str.4)
  %2569 = call ptr @__errno_location() #12
  %2570 = load i32, ptr %2569, align 4, !tbaa !5
  %2571 = call ptr @strerror(i32 noundef %2570) #11
  %2572 = call ptr @__errno_location() #12
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2561, ptr noundef @.str.5, i32 noundef %2562, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2565, ptr noundef %2568, ptr noundef %2571, i32 noundef %2573) #11
  br label %2575

2575:                                             ; preds = %2558, %2541
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %2576

2576:                                             ; preds = %2575
  br label %2577

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

2578:                                             ; No predecessors!
  br label %2579

2579:                                             ; preds = %2578
  br label %2580

2580:                                             ; preds = %2579, %2519
  br label %2581

2581:                                             ; preds = %2580
  br label %2582

2582:                                             ; preds = %2581
  br label %2583

2583:                                             ; preds = %2582
  %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 = load ptr, ptr %63, align 8, !tbaa !9
  %2587 = load ptr, ptr %65, align 8, !tbaa !9
  %2588 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2586, ptr noundef %2587, ptr noundef %69)
  %2589 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  store i32 %2588, ptr %2589, align 4
  %2590 = getelementptr inbounds %struct.s2n_result, ptr %72, i32 0, i32 0
  %2591 = load i32, ptr %2590, align 4
  %2592 = call zeroext i1 @s2n_result_is_ok(i32 %2591)
  br i1 %2592, label %2646, label %2593

2593:                                             ; preds = %2583
  br label %2594

2594:                                             ; preds = %2593
  br label %2595

2595:                                             ; preds = %2594
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %2596 = call ptr @__errno_location() #12
  %2597 = load i32, ptr %2596, align 4, !tbaa !5
  store i32 %2597, ptr %73, align 4, !tbaa !5
  %2598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2599 = call i32 @s2n_print_stacktrace(ptr noundef %2598)
  %2600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2601 = trunc i8 %2600 to i1
  br i1 %2601, label %2602, label %2624

2602:                                             ; preds = %2595
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = call i32 @fileno(ptr noundef %2603) #11
  %2605 = call i32 @isatty(i32 noundef %2604) #11
  %2606 = icmp ne i32 %2605, 0
  br i1 %2606, label %2607, label %2624

2607:                                             ; preds = %2602
  %2608 = load i32, ptr %73, align 4, !tbaa !5
  %2609 = call ptr @__errno_location() #12
  store i32 %2608, ptr %2609, align 4, !tbaa !5
  %2610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2611 = load i32, ptr @test_count, align 4, !tbaa !5
  %2612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call ptr @s2n_strerror(i32 noundef %2613, ptr noundef @.str.4)
  %2615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror_debug(i32 noundef %2616, ptr noundef @.str.4)
  %2618 = call ptr @__errno_location() #12
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @strerror(i32 noundef %2619) #11
  %2621 = call ptr @__errno_location() #12
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2610, ptr noundef @.str.2, i32 noundef %2611, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 139, ptr noundef %2614, ptr noundef %2617, ptr noundef %2620, i32 noundef %2622) #11
  br label %2641

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

2641:                                             ; preds = %2624, %2607
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %2642

2642:                                             ; preds = %2641
  br label %2643

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

2644:                                             ; No predecessors!
  br label %2645

2645:                                             ; preds = %2644
  br label %2646

2646:                                             ; preds = %2645, %2583
  br label %2647

2647:                                             ; preds = %2646
  br label %2648

2648:                                             ; preds = %2647
  br label %2649

2649:                                             ; preds = %2648
  %2650 = load i32, ptr @test_count, align 4, !tbaa !5
  %2651 = add nsw i32 %2650, 1
  store i32 %2651, ptr @test_count, align 4, !tbaa !5
  %2652 = load ptr, ptr %65, align 8, !tbaa !9
  %2653 = load ptr, ptr %63, align 8, !tbaa !9
  %2654 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2652, ptr noundef %2653)
  %2655 = icmp eq i32 %2654, -1
  br i1 %2655, label %2656, label %2709

2656:                                             ; preds = %2649
  br label %2657

2657:                                             ; preds = %2656
  br label %2658

2658:                                             ; preds = %2657
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %2659 = call ptr @__errno_location() #12
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  store i32 %2660, ptr %74, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = call i32 @s2n_print_stacktrace(ptr noundef %2661)
  %2663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2664 = trunc i8 %2663 to i1
  br i1 %2664, label %2665, label %2687

2665:                                             ; preds = %2658
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @fileno(ptr noundef %2666) #11
  %2668 = call i32 @isatty(i32 noundef %2667) #11
  %2669 = icmp ne i32 %2668, 0
  br i1 %2669, label %2670, label %2687

2670:                                             ; preds = %2665
  %2671 = load i32, ptr %74, align 4, !tbaa !5
  %2672 = call ptr @__errno_location() #12
  store i32 %2671, ptr %2672, align 4, !tbaa !5
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = load i32, ptr @test_count, align 4, !tbaa !5
  %2675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef @.str.4)
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror_debug(i32 noundef %2679, ptr noundef @.str.4)
  %2681 = call ptr @__errno_location() #12
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @strerror(i32 noundef %2682) #11
  %2684 = call ptr @__errno_location() #12
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2673, ptr noundef @.str.2, i32 noundef %2674, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2677, ptr noundef %2680, ptr noundef %2683, i32 noundef %2685) #11
  br label %2704

2687:                                             ; preds = %2665, %2658
  %2688 = load i32, ptr %74, align 4, !tbaa !5
  %2689 = call ptr @__errno_location() #12
  store i32 %2688, ptr %2689, align 4, !tbaa !5
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = load i32, ptr @test_count, align 4, !tbaa !5
  %2692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2693 = load i32, ptr %2692, align 4, !tbaa !5
  %2694 = call ptr @s2n_strerror(i32 noundef %2693, ptr noundef @.str.4)
  %2695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call ptr @s2n_strerror_debug(i32 noundef %2696, ptr noundef @.str.4)
  %2698 = call ptr @__errno_location() #12
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  %2700 = call ptr @strerror(i32 noundef %2699) #11
  %2701 = call ptr @__errno_location() #12
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  %2703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2690, ptr noundef @.str.5, i32 noundef %2691, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2694, ptr noundef %2697, ptr noundef %2700, i32 noundef %2702) #11
  br label %2704

2704:                                             ; preds = %2687, %2670
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %2705

2705:                                             ; preds = %2704
  br label %2706

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

2707:                                             ; No predecessors!
  br label %2708

2708:                                             ; preds = %2707
  br label %2709

2709:                                             ; preds = %2708, %2649
  br label %2710

2710:                                             ; preds = %2709
  br label %2711

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

2712:                                             ; preds = %2711
  %2713 = load i32, ptr @test_count, align 4, !tbaa !5
  %2714 = add nsw i32 %2713, 1
  store i32 %2714, ptr @test_count, align 4, !tbaa !5
  %2715 = load ptr, ptr %65, align 8, !tbaa !9
  %2716 = call i32 @s2n_connection_set_counting_read(ptr noundef %2715, ptr noundef %75)
  %2717 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  store i32 %2716, ptr %2717, align 4
  %2718 = getelementptr inbounds %struct.s2n_result, ptr %76, i32 0, i32 0
  %2719 = load i32, ptr %2718, align 4
  %2720 = call zeroext i1 @s2n_result_is_ok(i32 %2719)
  br i1 %2720, label %2774, label %2721

2721:                                             ; preds = %2712
  br label %2722

2722:                                             ; preds = %2721
  br label %2723

2723:                                             ; preds = %2722
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %2724 = call ptr @__errno_location() #12
  %2725 = load i32, ptr %2724, align 4, !tbaa !5
  store i32 %2725, ptr %77, align 4, !tbaa !5
  %2726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2727 = call i32 @s2n_print_stacktrace(ptr noundef %2726)
  %2728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2729 = trunc i8 %2728 to i1
  br i1 %2729, label %2730, label %2752

2730:                                             ; preds = %2723
  %2731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2732 = call i32 @fileno(ptr noundef %2731) #11
  %2733 = call i32 @isatty(i32 noundef %2732) #11
  %2734 = icmp ne i32 %2733, 0
  br i1 %2734, label %2735, label %2752

2735:                                             ; preds = %2730
  %2736 = load i32, ptr %77, align 4, !tbaa !5
  %2737 = call ptr @__errno_location() #12
  store i32 %2736, ptr %2737, align 4, !tbaa !5
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2739 = load i32, ptr @test_count, align 4, !tbaa !5
  %2740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2741 = load i32, ptr %2740, align 4, !tbaa !5
  %2742 = call ptr @s2n_strerror(i32 noundef %2741, ptr noundef @.str.4)
  %2743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2744 = load i32, ptr %2743, align 4, !tbaa !5
  %2745 = call ptr @s2n_strerror_debug(i32 noundef %2744, ptr noundef @.str.4)
  %2746 = call ptr @__errno_location() #12
  %2747 = load i32, ptr %2746, align 4, !tbaa !5
  %2748 = call ptr @strerror(i32 noundef %2747) #11
  %2749 = call ptr @__errno_location() #12
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2738, ptr noundef @.str.2, i32 noundef %2739, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2742, ptr noundef %2745, ptr noundef %2748, i32 noundef %2750) #11
  br label %2769

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

2769:                                             ; preds = %2752, %2735
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %2770

2770:                                             ; preds = %2769
  br label %2771

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

2772:                                             ; No predecessors!
  br label %2773

2773:                                             ; preds = %2772
  br label %2774

2774:                                             ; preds = %2773, %2712
  br label %2775

2775:                                             ; preds = %2774
  br label %2776

2776:                                             ; preds = %2775
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  store i32 0, ptr %78, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %79) #11
  call void @llvm.memset.p0.i64(ptr align 8 %79, i8 0, i64 24, i1 false)
  br label %2777

2777:                                             ; preds = %2776
  %2778 = load i32, ptr @test_count, align 4, !tbaa !5
  %2779 = add nsw i32 %2778, 1
  store i32 %2779, ptr @test_count, align 4, !tbaa !5
  %2780 = call i32 @s2n_alloc(ptr noundef %79, i32 noundef 16384)
  %2781 = icmp eq i32 %2780, -1
  br i1 %2781, label %2782, label %2835

2782:                                             ; preds = %2777
  br label %2783

2783:                                             ; preds = %2782
  br label %2784

2784:                                             ; preds = %2783
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %2785 = call ptr @__errno_location() #12
  %2786 = load i32, ptr %2785, align 4, !tbaa !5
  store i32 %2786, ptr %80, align 4, !tbaa !5
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2788 = call i32 @s2n_print_stacktrace(ptr noundef %2787)
  %2789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2790 = trunc i8 %2789 to i1
  br i1 %2790, label %2791, label %2813

2791:                                             ; preds = %2784
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = call i32 @fileno(ptr noundef %2792) #11
  %2794 = call i32 @isatty(i32 noundef %2793) #11
  %2795 = icmp ne i32 %2794, 0
  br i1 %2795, label %2796, label %2813

2796:                                             ; preds = %2791
  %2797 = load i32, ptr %80, align 4, !tbaa !5
  %2798 = call ptr @__errno_location() #12
  store i32 %2797, ptr %2798, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = load i32, ptr @test_count, align 4, !tbaa !5
  %2801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2802 = load i32, ptr %2801, align 4, !tbaa !5
  %2803 = call ptr @s2n_strerror(i32 noundef %2802, ptr noundef @.str.4)
  %2804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2805 = load i32, ptr %2804, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror_debug(i32 noundef %2805, ptr noundef @.str.4)
  %2807 = call ptr @__errno_location() #12
  %2808 = load i32, ptr %2807, align 4, !tbaa !5
  %2809 = call ptr @strerror(i32 noundef %2808) #11
  %2810 = call ptr @__errno_location() #12
  %2811 = load i32, ptr %2810, align 4, !tbaa !5
  %2812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2799, ptr noundef @.str.2, i32 noundef %2800, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2803, ptr noundef %2806, ptr noundef %2809, i32 noundef %2811) #11
  br label %2830

2813:                                             ; preds = %2791, %2784
  %2814 = load i32, ptr %80, align 4, !tbaa !5
  %2815 = call ptr @__errno_location() #12
  store i32 %2814, ptr %2815, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = load i32, ptr @test_count, align 4, !tbaa !5
  %2818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2819 = load i32, ptr %2818, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror(i32 noundef %2819, ptr noundef @.str.4)
  %2821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2822 = load i32, ptr %2821, align 4, !tbaa !5
  %2823 = call ptr @s2n_strerror_debug(i32 noundef %2822, ptr noundef @.str.4)
  %2824 = call ptr @__errno_location() #12
  %2825 = load i32, ptr %2824, align 4, !tbaa !5
  %2826 = call ptr @strerror(i32 noundef %2825) #11
  %2827 = call ptr @__errno_location() #12
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2816, ptr noundef @.str.5, i32 noundef %2817, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 147, ptr noundef %2820, ptr noundef %2823, ptr noundef %2826, i32 noundef %2828) #11
  br label %2830

2830:                                             ; preds = %2813, %2796
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %2831

2831:                                             ; preds = %2830
  br label %2832

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

2833:                                             ; No predecessors!
  br label %2834

2834:                                             ; preds = %2833
  br label %2835

2835:                                             ; preds = %2834, %2777
  br label %2836

2836:                                             ; preds = %2835
  br label %2837

2837:                                             ; preds = %2836
  br label %2838

2838:                                             ; preds = %2837
  %2839 = load i32, ptr @test_count, align 4, !tbaa !5
  %2840 = add nsw i32 %2839, 1
  store i32 %2840, ptr @test_count, align 4, !tbaa !5
  %2841 = load ptr, ptr %63, align 8, !tbaa !9
  %2842 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 0
  %2843 = load ptr, ptr %2842, align 8, !tbaa !48
  %2844 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 1
  %2845 = load i32, ptr %2844, align 8, !tbaa !49
  %2846 = zext i32 %2845 to i64
  %2847 = call i64 @s2n_send(ptr noundef %2841, ptr noundef %2843, i64 noundef %2846, ptr noundef %78)
  %2848 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 1
  %2849 = load i32, ptr %2848, align 8, !tbaa !49
  %2850 = zext i32 %2849 to i64
  %2851 = icmp eq i64 %2847, %2850
  br i1 %2851, label %2905, label %2852

2852:                                             ; preds = %2838
  br label %2853

2853:                                             ; preds = %2852
  br label %2854

2854:                                             ; preds = %2853
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %2855 = call ptr @__errno_location() #12
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  store i32 %2856, ptr %81, align 4, !tbaa !5
  %2857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2858 = call i32 @s2n_print_stacktrace(ptr noundef %2857)
  %2859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2860 = trunc i8 %2859 to i1
  br i1 %2860, label %2861, label %2883

2861:                                             ; preds = %2854
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = call i32 @fileno(ptr noundef %2862) #11
  %2864 = call i32 @isatty(i32 noundef %2863) #11
  %2865 = icmp ne i32 %2864, 0
  br i1 %2865, label %2866, label %2883

2866:                                             ; preds = %2861
  %2867 = load i32, ptr %81, align 4, !tbaa !5
  %2868 = call ptr @__errno_location() #12
  store i32 %2867, ptr %2868, align 4, !tbaa !5
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2872 = load i32, ptr %2871, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef @.str.4)
  %2874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror_debug(i32 noundef %2875, ptr noundef @.str.4)
  %2877 = call ptr @__errno_location() #12
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @strerror(i32 noundef %2878) #11
  %2880 = call ptr @__errno_location() #12
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2869, ptr noundef @.str.2, i32 noundef %2870, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2873, ptr noundef %2876, ptr noundef %2879, i32 noundef %2881) #11
  br label %2900

2883:                                             ; preds = %2861, %2854
  %2884 = load i32, ptr %81, align 4, !tbaa !5
  %2885 = call ptr @__errno_location() #12
  store i32 %2884, ptr %2885, align 4, !tbaa !5
  %2886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2887 = load i32, ptr @test_count, align 4, !tbaa !5
  %2888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2889 = load i32, ptr %2888, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror(i32 noundef %2889, ptr noundef @.str.4)
  %2891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2892 = load i32, ptr %2891, align 4, !tbaa !5
  %2893 = call ptr @s2n_strerror_debug(i32 noundef %2892, ptr noundef @.str.4)
  %2894 = call ptr @__errno_location() #12
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call ptr @strerror(i32 noundef %2895) #11
  %2897 = call ptr @__errno_location() #12
  %2898 = load i32, ptr %2897, align 4, !tbaa !5
  %2899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2886, ptr noundef @.str.5, i32 noundef %2887, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2890, ptr noundef %2893, ptr noundef %2896, i32 noundef %2898) #11
  br label %2900

2900:                                             ; preds = %2883, %2866
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

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

2903:                                             ; No predecessors!
  br label %2904

2904:                                             ; preds = %2903
  br label %2905

2905:                                             ; preds = %2904, %2838
  br label %2906

2906:                                             ; preds = %2905
  br label %2907

2907:                                             ; preds = %2906
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #11
  %2908 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %69, i32 0, i32 1
  %2909 = getelementptr inbounds %struct.s2n_stuffer, ptr %2908, i32 0, i32 2
  %2910 = load i32, ptr %2909, align 4, !tbaa !17
  %2911 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %69, i32 0, i32 1
  %2912 = getelementptr inbounds %struct.s2n_stuffer, ptr %2911, i32 0, i32 1
  %2913 = load i32, ptr %2912, align 8, !tbaa !21
  %2914 = sub i32 %2910, %2913
  %2915 = zext i32 %2914 to i64
  store i64 %2915, ptr %82, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #11
  %2916 = load i64, ptr %82, align 8, !tbaa !15
  %2917 = sub i64 %2916, 5
  store i64 %2917, ptr %83, align 8, !tbaa !15
  br label %2918

2918:                                             ; preds = %2907
  %2919 = load i32, ptr @test_count, align 4, !tbaa !5
  %2920 = add nsw i32 %2919, 1
  store i32 %2920, ptr @test_count, align 4, !tbaa !5
  %2921 = load i64, ptr %83, align 8, !tbaa !15
  %2922 = icmp ugt i64 %2921, 16384
  br i1 %2922, label %2976, label %2923

2923:                                             ; preds = %2918
  br label %2924

2924:                                             ; preds = %2923
  br label %2925

2925:                                             ; preds = %2924
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %2926 = call ptr @__errno_location() #12
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  store i32 %2927, ptr %84, align 4, !tbaa !5
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = call i32 @s2n_print_stacktrace(ptr noundef %2928)
  %2930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2931 = trunc i8 %2930 to i1
  br i1 %2931, label %2932, label %2954

2932:                                             ; preds = %2925
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = call i32 @fileno(ptr noundef %2933) #11
  %2935 = call i32 @isatty(i32 noundef %2934) #11
  %2936 = icmp ne i32 %2935, 0
  br i1 %2936, label %2937, label %2954

2937:                                             ; preds = %2932
  %2938 = load i32, ptr %84, align 4, !tbaa !5
  %2939 = call ptr @__errno_location() #12
  store i32 %2938, ptr %2939, align 4, !tbaa !5
  %2940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2941 = load i32, ptr @test_count, align 4, !tbaa !5
  %2942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @s2n_strerror(i32 noundef %2943, ptr noundef @.str.4)
  %2945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror_debug(i32 noundef %2946, ptr noundef @.str.4)
  %2948 = call ptr @__errno_location() #12
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @strerror(i32 noundef %2949) #11
  %2951 = call ptr @__errno_location() #12
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2940, ptr noundef @.str.2, i32 noundef %2941, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2944, ptr noundef %2947, ptr noundef %2950, i32 noundef %2952) #11
  br label %2971

2954:                                             ; preds = %2932, %2925
  %2955 = load i32, ptr %84, align 4, !tbaa !5
  %2956 = call ptr @__errno_location() #12
  store i32 %2955, ptr %2956, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror(i32 noundef %2960, ptr noundef @.str.4)
  %2962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call ptr @s2n_strerror_debug(i32 noundef %2963, ptr noundef @.str.4)
  %2965 = call ptr @__errno_location() #12
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call ptr @strerror(i32 noundef %2966) #11
  %2968 = call ptr @__errno_location() #12
  %2969 = load i32, ptr %2968, align 4, !tbaa !5
  %2970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2957, ptr noundef @.str.5, i32 noundef %2958, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2961, ptr noundef %2964, ptr noundef %2967, i32 noundef %2969) #11
  br label %2971

2971:                                             ; preds = %2954, %2937
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %2972

2972:                                             ; preds = %2971
  br label %2973

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

2974:                                             ; No predecessors!
  br label %2975

2975:                                             ; preds = %2974
  br label %2976

2976:                                             ; preds = %2975, %2918
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

2978:                                             ; preds = %2977
  br label %2979

2979:                                             ; preds = %2978
  %2980 = load i32, ptr @test_count, align 4, !tbaa !5
  %2981 = add nsw i32 %2980, 1
  store i32 %2981, ptr @test_count, align 4, !tbaa !5
  %2982 = load ptr, ptr %65, align 8, !tbaa !9
  %2983 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 0
  %2984 = load ptr, ptr %2983, align 8, !tbaa !48
  %2985 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 1
  %2986 = load i32, ptr %2985, align 8, !tbaa !49
  %2987 = zext i32 %2986 to i64
  %2988 = call i64 @s2n_recv(ptr noundef %2982, ptr noundef %2984, i64 noundef %2987, ptr noundef %78)
  %2989 = getelementptr inbounds %struct.s2n_blob, ptr %79, i32 0, i32 1
  %2990 = load i32, ptr %2989, align 8, !tbaa !49
  %2991 = zext i32 %2990 to i64
  %2992 = icmp eq i64 %2988, %2991
  br i1 %2992, label %3046, label %2993

2993:                                             ; preds = %2979
  br label %2994

2994:                                             ; preds = %2993
  br label %2995

2995:                                             ; preds = %2994
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %2996 = call ptr @__errno_location() #12
  %2997 = load i32, ptr %2996, align 4, !tbaa !5
  store i32 %2997, ptr %85, align 4, !tbaa !5
  %2998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2999 = call i32 @s2n_print_stacktrace(ptr noundef %2998)
  %3000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3001 = trunc i8 %3000 to i1
  br i1 %3001, label %3002, label %3024

3002:                                             ; preds = %2995
  %3003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3004 = call i32 @fileno(ptr noundef %3003) #11
  %3005 = call i32 @isatty(i32 noundef %3004) #11
  %3006 = icmp ne i32 %3005, 0
  br i1 %3006, label %3007, label %3024

3007:                                             ; preds = %3002
  %3008 = load i32, ptr %85, align 4, !tbaa !5
  %3009 = call ptr @__errno_location() #12
  store i32 %3008, ptr %3009, align 4, !tbaa !5
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef @.str.4)
  %3015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @s2n_strerror_debug(i32 noundef %3016, ptr noundef @.str.4)
  %3018 = call ptr @__errno_location() #12
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @strerror(i32 noundef %3019) #11
  %3021 = call ptr @__errno_location() #12
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3010, ptr noundef @.str.2, i32 noundef %3011, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3014, ptr noundef %3017, ptr noundef %3020, i32 noundef %3022) #11
  br label %3041

3024:                                             ; preds = %3002, %2995
  %3025 = load i32, ptr %85, align 4, !tbaa !5
  %3026 = call ptr @__errno_location() #12
  store i32 %3025, ptr %3026, align 4, !tbaa !5
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = load i32, ptr @test_count, align 4, !tbaa !5
  %3029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror(i32 noundef %3030, ptr noundef @.str.4)
  %3032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror_debug(i32 noundef %3033, ptr noundef @.str.4)
  %3035 = call ptr @__errno_location() #12
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call ptr @strerror(i32 noundef %3036) #11
  %3038 = call ptr @__errno_location() #12
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3027, ptr noundef @.str.5, i32 noundef %3028, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3031, ptr noundef %3034, ptr noundef %3037, i32 noundef %3039) #11
  br label %3041

3041:                                             ; preds = %3024, %3007
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %3042

3042:                                             ; preds = %3041
  br label %3043

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

3044:                                             ; No predecessors!
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045, %2979
  br label %3047

3047:                                             ; preds = %3046
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048
  %3050 = load i32, ptr @test_count, align 4, !tbaa !5
  %3051 = add nsw i32 %3050, 1
  store i32 %3051, ptr @test_count, align 4, !tbaa !5
  %3052 = load ptr, ptr %65, align 8, !tbaa !9
  %3053 = getelementptr inbounds %struct.s2n_connection, ptr %3052, i32 0, i32 39
  %3054 = getelementptr inbounds %struct.s2n_stuffer, ptr %3053, i32 0, i32 0
  %3055 = getelementptr inbounds %struct.s2n_blob, ptr %3054, i32 0, i32 1
  %3056 = load i32, ptr %3055, align 8, !tbaa !50
  %3057 = load ptr, ptr %65, align 8, !tbaa !9
  %3058 = getelementptr inbounds %struct.s2n_connection, ptr %3057, i32 0, i32 39
  %3059 = getelementptr inbounds %struct.s2n_stuffer, ptr %3058, i32 0, i32 2
  %3060 = load i32, ptr %3059, align 4, !tbaa !51
  %3061 = sub i32 %3056, %3060
  %3062 = zext i32 %3061 to i64
  %3063 = load i64, ptr %83, align 8, !tbaa !15
  %3064 = icmp ugt i64 %3062, %3063
  br i1 %3064, label %3118, label %3065

3065:                                             ; preds = %3049
  br label %3066

3066:                                             ; preds = %3065
  br label %3067

3067:                                             ; preds = %3066
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %3068 = call ptr @__errno_location() #12
  %3069 = load i32, ptr %3068, align 4, !tbaa !5
  store i32 %3069, ptr %86, align 4, !tbaa !5
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @s2n_print_stacktrace(ptr noundef %3070)
  %3072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3073 = trunc i8 %3072 to i1
  br i1 %3073, label %3074, label %3096

3074:                                             ; preds = %3067
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = call i32 @fileno(ptr noundef %3075) #11
  %3077 = call i32 @isatty(i32 noundef %3076) #11
  %3078 = icmp ne i32 %3077, 0
  br i1 %3078, label %3079, label %3096

3079:                                             ; preds = %3074
  %3080 = load i32, ptr %86, align 4, !tbaa !5
  %3081 = call ptr @__errno_location() #12
  store i32 %3080, ptr %3081, align 4, !tbaa !5
  %3082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3083 = load i32, ptr @test_count, align 4, !tbaa !5
  %3084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3085 = load i32, ptr %3084, align 4, !tbaa !5
  %3086 = call ptr @s2n_strerror(i32 noundef %3085, ptr noundef @.str.4)
  %3087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror_debug(i32 noundef %3088, ptr noundef @.str.4)
  %3090 = call ptr @__errno_location() #12
  %3091 = load i32, ptr %3090, align 4, !tbaa !5
  %3092 = call ptr @strerror(i32 noundef %3091) #11
  %3093 = call ptr @__errno_location() #12
  %3094 = load i32, ptr %3093, align 4, !tbaa !5
  %3095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3082, ptr noundef @.str.2, i32 noundef %3083, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3086, ptr noundef %3089, ptr noundef %3092, i32 noundef %3094) #11
  br label %3113

3096:                                             ; preds = %3074, %3067
  %3097 = load i32, ptr %86, align 4, !tbaa !5
  %3098 = call ptr @__errno_location() #12
  store i32 %3097, ptr %3098, align 4, !tbaa !5
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = load i32, ptr @test_count, align 4, !tbaa !5
  %3101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3102 = load i32, ptr %3101, align 4, !tbaa !5
  %3103 = call ptr @s2n_strerror(i32 noundef %3102, ptr noundef @.str.4)
  %3104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3105 = load i32, ptr %3104, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror_debug(i32 noundef %3105, ptr noundef @.str.4)
  %3107 = call ptr @__errno_location() #12
  %3108 = load i32, ptr %3107, align 4, !tbaa !5
  %3109 = call ptr @strerror(i32 noundef %3108) #11
  %3110 = call ptr @__errno_location() #12
  %3111 = load i32, ptr %3110, align 4, !tbaa !5
  %3112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3099, ptr noundef @.str.5, i32 noundef %3100, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3103, ptr noundef %3106, ptr noundef %3109, i32 noundef %3111) #11
  br label %3113

3113:                                             ; preds = %3096, %3079
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %3114

3114:                                             ; preds = %3113
  br label %3115

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

3116:                                             ; No predecessors!
  br label %3117

3117:                                             ; preds = %3116
  br label %3118

3118:                                             ; preds = %3117, %3049
  br label %3119

3119:                                             ; preds = %3118
  br label %3120

3120:                                             ; preds = %3119
  br label %3121

3121:                                             ; preds = %3120
  %3122 = load i32, ptr @test_count, align 4, !tbaa !5
  %3123 = add nsw i32 %3122, 1
  store i32 %3123, ptr @test_count, align 4, !tbaa !5
  %3124 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %75, i32 0, i32 0
  %3125 = load i64, ptr %3124, align 8, !tbaa !22
  %3126 = icmp eq i64 %3125, 2
  br i1 %3126, label %3180, label %3127

3127:                                             ; preds = %3121
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

3129:                                             ; preds = %3128
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %3130 = call ptr @__errno_location() #12
  %3131 = load i32, ptr %3130, align 4, !tbaa !5
  store i32 %3131, ptr %87, align 4, !tbaa !5
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3133 = call i32 @s2n_print_stacktrace(ptr noundef %3132)
  %3134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3135 = trunc i8 %3134 to i1
  br i1 %3135, label %3136, label %3158

3136:                                             ; preds = %3129
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = call i32 @fileno(ptr noundef %3137) #11
  %3139 = call i32 @isatty(i32 noundef %3138) #11
  %3140 = icmp ne i32 %3139, 0
  br i1 %3140, label %3141, label %3158

3141:                                             ; preds = %3136
  %3142 = load i32, ptr %87, align 4, !tbaa !5
  %3143 = call ptr @__errno_location() #12
  store i32 %3142, ptr %3143, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = load i32, ptr @test_count, align 4, !tbaa !5
  %3146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3147 = load i32, ptr %3146, align 4, !tbaa !5
  %3148 = call ptr @s2n_strerror(i32 noundef %3147, ptr noundef @.str.4)
  %3149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3150 = load i32, ptr %3149, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror_debug(i32 noundef %3150, ptr noundef @.str.4)
  %3152 = call ptr @__errno_location() #12
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call ptr @strerror(i32 noundef %3153) #11
  %3155 = call ptr @__errno_location() #12
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3144, ptr noundef @.str.2, i32 noundef %3145, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3148, ptr noundef %3151, ptr noundef %3154, i32 noundef %3156) #11
  br label %3175

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

3175:                                             ; preds = %3158, %3141
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %3176

3176:                                             ; preds = %3175
  br label %3177

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

3178:                                             ; No predecessors!
  br label %3179

3179:                                             ; preds = %3178
  br label %3180

3180:                                             ; preds = %3179, %3121
  br label %3181

3181:                                             ; preds = %3180
  br label %3182

3182:                                             ; preds = %3181
  call void @llvm.lifetime.start.p0(i64 20, ptr %88) #11
  call void @llvm.memset.p0.i64(ptr align 16 %88, i8 0, i64 20, i1 false)
  br label %3183

3183:                                             ; preds = %3182
  %3184 = load i32, ptr @test_count, align 4, !tbaa !5
  %3185 = add nsw i32 %3184, 1
  store i32 %3185, ptr @test_count, align 4, !tbaa !5
  %3186 = load ptr, ptr %63, align 8, !tbaa !9
  %3187 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %3188 = call i64 @s2n_send(ptr noundef %3186, ptr noundef %3187, i64 noundef 20, ptr noundef %78)
  %3189 = icmp eq i64 %3188, 20
  br i1 %3189, label %3243, label %3190

3190:                                             ; preds = %3183
  br label %3191

3191:                                             ; preds = %3190
  br label %3192

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

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

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

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

3238:                                             ; preds = %3221, %3204
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %3239

3239:                                             ; preds = %3238
  br label %3240

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

3241:                                             ; No predecessors!
  br label %3242

3242:                                             ; preds = %3241
  br label %3243

3243:                                             ; preds = %3242, %3183
  br label %3244

3244:                                             ; preds = %3243
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

3246:                                             ; preds = %3245
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %3249 = load ptr, ptr %65, align 8, !tbaa !9
  %3250 = getelementptr inbounds [20 x i8], ptr %88, i64 0, i64 0
  %3251 = call i64 @s2n_recv(ptr noundef %3249, ptr noundef %3250, i64 noundef 20, ptr noundef %78)
  %3252 = icmp eq i64 %3251, 20
  br i1 %3252, label %3306, label %3253

3253:                                             ; preds = %3246
  br label %3254

3254:                                             ; preds = %3253
  br label %3255

3255:                                             ; preds = %3254
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %3256 = call ptr @__errno_location() #12
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  store i32 %3257, ptr %90, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = call i32 @s2n_print_stacktrace(ptr noundef %3258)
  %3260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3261 = trunc i8 %3260 to i1
  br i1 %3261, label %3262, label %3284

3262:                                             ; preds = %3255
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @fileno(ptr noundef %3263) #11
  %3265 = call i32 @isatty(i32 noundef %3264) #11
  %3266 = icmp ne i32 %3265, 0
  br i1 %3266, label %3267, label %3284

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

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

3301:                                             ; preds = %3284, %3267
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

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

3304:                                             ; No predecessors!
  br label %3305

3305:                                             ; preds = %3304
  br label %3306

3306:                                             ; preds = %3305, %3246
  br label %3307

3307:                                             ; preds = %3306
  br label %3308

3308:                                             ; preds = %3307
  br label %3309

3309:                                             ; preds = %3308
  br label %3310

3310:                                             ; preds = %3309
  %3311 = load i32, ptr @test_count, align 4, !tbaa !5
  %3312 = add nsw i32 %3311, 1
  store i32 %3312, ptr @test_count, align 4, !tbaa !5
  %3313 = getelementptr inbounds [20 x i8], ptr %88, i64 0, i64 0
  %3314 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %3315 = call i32 @memcmp(ptr noundef %3313, ptr noundef %3314, i64 noundef 20) #14
  %3316 = icmp eq i32 %3315, 0
  br i1 %3316, label %3370, label %3317

3317:                                             ; preds = %3310
  br label %3318

3318:                                             ; preds = %3317
  br label %3319

3319:                                             ; preds = %3318
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %3320 = call ptr @__errno_location() #12
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  store i32 %3321, ptr %91, align 4, !tbaa !5
  %3322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3323 = call i32 @s2n_print_stacktrace(ptr noundef %3322)
  %3324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3325 = trunc i8 %3324 to i1
  br i1 %3325, label %3326, label %3348

3326:                                             ; preds = %3319
  %3327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3328 = call i32 @fileno(ptr noundef %3327) #11
  %3329 = call i32 @isatty(i32 noundef %3328) #11
  %3330 = icmp ne i32 %3329, 0
  br i1 %3330, label %3331, label %3348

3331:                                             ; preds = %3326
  %3332 = load i32, ptr %91, align 4, !tbaa !5
  %3333 = call ptr @__errno_location() #12
  store i32 %3332, ptr %3333, align 4, !tbaa !5
  %3334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3335 = load i32, ptr @test_count, align 4, !tbaa !5
  %3336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror(i32 noundef %3337, ptr noundef @.str.4)
  %3339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call ptr @s2n_strerror_debug(i32 noundef %3340, ptr noundef @.str.4)
  %3342 = call ptr @__errno_location() #12
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call ptr @strerror(i32 noundef %3343) #11
  %3345 = call ptr @__errno_location() #12
  %3346 = load i32, ptr %3345, align 4, !tbaa !5
  %3347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3334, ptr noundef @.str.2, i32 noundef %3335, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3338, ptr noundef %3341, ptr noundef %3344, i32 noundef %3346) #11
  br label %3365

3348:                                             ; preds = %3326, %3319
  %3349 = load i32, ptr %91, align 4, !tbaa !5
  %3350 = call ptr @__errno_location() #12
  store i32 %3349, ptr %3350, align 4, !tbaa !5
  %3351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3352 = load i32, ptr @test_count, align 4, !tbaa !5
  %3353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror(i32 noundef %3354, ptr noundef @.str.4)
  %3356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call ptr @s2n_strerror_debug(i32 noundef %3357, ptr noundef @.str.4)
  %3359 = call ptr @__errno_location() #12
  %3360 = load i32, ptr %3359, align 4, !tbaa !5
  %3361 = call ptr @strerror(i32 noundef %3360) #11
  %3362 = call ptr @__errno_location() #12
  %3363 = load i32, ptr %3362, align 4, !tbaa !5
  %3364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3351, ptr noundef @.str.5, i32 noundef %3352, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3355, ptr noundef %3358, ptr noundef %3361, i32 noundef %3363) #11
  br label %3365

3365:                                             ; preds = %3348, %3331
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

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

3368:                                             ; No predecessors!
  br label %3369

3369:                                             ; preds = %3368
  br label %3370

3370:                                             ; preds = %3369, %3310
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371
  br label %3373

3373:                                             ; preds = %3372
  br label %3374

3374:                                             ; preds = %3373
  br label %3375

3375:                                             ; preds = %3374
  %3376 = load i32, ptr @test_count, align 4, !tbaa !5
  %3377 = add nsw i32 %3376, 1
  store i32 %3377, ptr @test_count, align 4, !tbaa !5
  %3378 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %75, i32 0, i32 0
  %3379 = load i64, ptr %3378, align 8, !tbaa !22
  %3380 = icmp eq i64 %3379, 3
  br i1 %3380, label %3434, label %3381

3381:                                             ; preds = %3375
  br label %3382

3382:                                             ; preds = %3381
  br label %3383

3383:                                             ; preds = %3382
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %3384 = call ptr @__errno_location() #12
  %3385 = load i32, ptr %3384, align 4, !tbaa !5
  store i32 %3385, ptr %92, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @s2n_print_stacktrace(ptr noundef %3386)
  %3388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3389 = trunc i8 %3388 to i1
  br i1 %3389, label %3390, label %3412

3390:                                             ; preds = %3383
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = call i32 @fileno(ptr noundef %3391) #11
  %3393 = call i32 @isatty(i32 noundef %3392) #11
  %3394 = icmp ne i32 %3393, 0
  br i1 %3394, label %3395, label %3412

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

3412:                                             ; preds = %3390, %3383
  %3413 = load i32, ptr %92, align 4, !tbaa !5
  %3414 = call ptr @__errno_location() #12
  store i32 %3413, ptr %3414, align 4, !tbaa !5
  %3415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3416 = load i32, ptr @test_count, align 4, !tbaa !5
  %3417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call ptr @s2n_strerror(i32 noundef %3418, ptr noundef @.str.4)
  %3420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  %3422 = call ptr @s2n_strerror_debug(i32 noundef %3421, ptr noundef @.str.4)
  %3423 = call ptr @__errno_location() #12
  %3424 = load i32, ptr %3423, align 4, !tbaa !5
  %3425 = call ptr @strerror(i32 noundef %3424) #11
  %3426 = call ptr @__errno_location() #12
  %3427 = load i32, ptr %3426, align 4, !tbaa !5
  %3428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3415, ptr noundef @.str.5, i32 noundef %3416, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 172, ptr noundef %3419, ptr noundef %3422, ptr noundef %3425, i32 noundef %3427) #11
  br label %3429

3429:                                             ; preds = %3412, %3395
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %3430

3430:                                             ; preds = %3429
  br label %3431

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

3432:                                             ; No predecessors!
  br label %3433

3433:                                             ; preds = %3432
  br label %3434

3434:                                             ; preds = %3433, %3375
  br label %3435

3435:                                             ; preds = %3434
  br label %3436

3436:                                             ; preds = %3435
  call void @llvm.lifetime.end.p0(i64 20, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #11
  %3437 = call i32 @s2n_free(ptr noundef %79)
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %75) #11
  %3438 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %69)
  %3439 = getelementptr inbounds %struct.s2n_result, ptr %93, i32 0, i32 0
  store i32 %3438, ptr %3439, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %69) #11
  %3440 = call i32 @s2n_connection_ptr_free(ptr noundef %65)
  %3441 = getelementptr inbounds %struct.s2n_result, ptr %94, i32 0, i32 0
  store i32 %3440, ptr %3441, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #11
  %3442 = call i32 @s2n_connection_ptr_free(ptr noundef %63)
  %3443 = getelementptr inbounds %struct.s2n_result, ptr %95, i32 0, i32 0
  store i32 %3442, ptr %3443, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #11
  store i64 0, ptr %96, align 8, !tbaa !15
  br label %3444

3444:                                             ; preds = %4512, %3436
  %3445 = load i64, ptr %96, align 8, !tbaa !15
  %3446 = icmp ule i64 %3445, 1
  br i1 %3446, label %3448, label %3447

3447:                                             ; preds = %3444
  store i32 298, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #11
  br label %4515

3448:                                             ; preds = %3444
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #11
  %3449 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3449, ptr %98, align 8, !tbaa !9
  br label %3450

3450:                                             ; preds = %3448
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = add nsw i32 %3451, 1
  store i32 %3452, ptr @test_count, align 4, !tbaa !5
  %3453 = load ptr, ptr %98, align 8, !tbaa !9
  %3454 = load ptr, ptr %13, align 8, !tbaa !9
  %3455 = call i32 @s2n_connection_set_config(ptr noundef %3453, ptr noundef %3454)
  %3456 = icmp eq i32 %3455, -1
  br i1 %3456, label %3457, label %3510

3457:                                             ; preds = %3450
  br label %3458

3458:                                             ; preds = %3457
  br label %3459

3459:                                             ; preds = %3458
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %3460 = call ptr @__errno_location() #12
  %3461 = load i32, ptr %3460, align 4, !tbaa !5
  store i32 %3461, ptr %99, align 4, !tbaa !5
  %3462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3463 = call i32 @s2n_print_stacktrace(ptr noundef %3462)
  %3464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3465 = trunc i8 %3464 to i1
  br i1 %3465, label %3466, label %3488

3466:                                             ; preds = %3459
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = call i32 @fileno(ptr noundef %3467) #11
  %3469 = call i32 @isatty(i32 noundef %3468) #11
  %3470 = icmp ne i32 %3469, 0
  br i1 %3470, label %3471, label %3488

3471:                                             ; preds = %3466
  %3472 = load i32, ptr %99, align 4, !tbaa !5
  %3473 = call ptr @__errno_location() #12
  store i32 %3472, ptr %3473, align 4, !tbaa !5
  %3474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3475 = load i32, ptr @test_count, align 4, !tbaa !5
  %3476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3477 = load i32, ptr %3476, align 4, !tbaa !5
  %3478 = call ptr @s2n_strerror(i32 noundef %3477, ptr noundef @.str.4)
  %3479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3480 = load i32, ptr %3479, align 4, !tbaa !5
  %3481 = call ptr @s2n_strerror_debug(i32 noundef %3480, ptr noundef @.str.4)
  %3482 = call ptr @__errno_location() #12
  %3483 = load i32, ptr %3482, align 4, !tbaa !5
  %3484 = call ptr @strerror(i32 noundef %3483) #11
  %3485 = call ptr @__errno_location() #12
  %3486 = load i32, ptr %3485, align 4, !tbaa !5
  %3487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3474, ptr noundef @.str.2, i32 noundef %3475, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3478, ptr noundef %3481, ptr noundef %3484, i32 noundef %3486) #11
  br label %3505

3488:                                             ; preds = %3466, %3459
  %3489 = load i32, ptr %99, align 4, !tbaa !5
  %3490 = call ptr @__errno_location() #12
  store i32 %3489, ptr %3490, align 4, !tbaa !5
  %3491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3492 = load i32, ptr @test_count, align 4, !tbaa !5
  %3493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3494 = load i32, ptr %3493, align 4, !tbaa !5
  %3495 = call ptr @s2n_strerror(i32 noundef %3494, ptr noundef @.str.4)
  %3496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3497 = load i32, ptr %3496, align 4, !tbaa !5
  %3498 = call ptr @s2n_strerror_debug(i32 noundef %3497, ptr noundef @.str.4)
  %3499 = call ptr @__errno_location() #12
  %3500 = load i32, ptr %3499, align 4, !tbaa !5
  %3501 = call ptr @strerror(i32 noundef %3500) #11
  %3502 = call ptr @__errno_location() #12
  %3503 = load i32, ptr %3502, align 4, !tbaa !5
  %3504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3491, ptr noundef @.str.5, i32 noundef %3492, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 179, ptr noundef %3495, ptr noundef %3498, ptr noundef %3501, i32 noundef %3503) #11
  br label %3505

3505:                                             ; preds = %3488, %3471
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %3506

3506:                                             ; preds = %3505
  br label %3507

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

3508:                                             ; No predecessors!
  br label %3509

3509:                                             ; preds = %3508
  br label %3510

3510:                                             ; preds = %3509, %3450
  br label %3511

3511:                                             ; preds = %3510
  br label %3512

3512:                                             ; preds = %3511
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #11
  %3513 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3513, ptr %100, align 8, !tbaa !9
  br label %3514

3514:                                             ; preds = %3512
  %3515 = load i32, ptr @test_count, align 4, !tbaa !5
  %3516 = add nsw i32 %3515, 1
  store i32 %3516, ptr @test_count, align 4, !tbaa !5
  %3517 = load ptr, ptr %100, align 8, !tbaa !9
  %3518 = load ptr, ptr %13, align 8, !tbaa !9
  %3519 = call i32 @s2n_connection_set_config(ptr noundef %3517, ptr noundef %3518)
  %3520 = icmp eq i32 %3519, -1
  br i1 %3520, label %3521, label %3574

3521:                                             ; preds = %3514
  br label %3522

3522:                                             ; preds = %3521
  br label %3523

3523:                                             ; preds = %3522
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %3524 = call ptr @__errno_location() #12
  %3525 = load i32, ptr %3524, align 4, !tbaa !5
  store i32 %3525, ptr %101, align 4, !tbaa !5
  %3526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3527 = call i32 @s2n_print_stacktrace(ptr noundef %3526)
  %3528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3529 = trunc i8 %3528 to i1
  br i1 %3529, label %3530, label %3552

3530:                                             ; preds = %3523
  %3531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3532 = call i32 @fileno(ptr noundef %3531) #11
  %3533 = call i32 @isatty(i32 noundef %3532) #11
  %3534 = icmp ne i32 %3533, 0
  br i1 %3534, label %3535, label %3552

3535:                                             ; preds = %3530
  %3536 = load i32, ptr %101, align 4, !tbaa !5
  %3537 = call ptr @__errno_location() #12
  store i32 %3536, ptr %3537, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = load i32, ptr @test_count, align 4, !tbaa !5
  %3540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3541 = load i32, ptr %3540, align 4, !tbaa !5
  %3542 = call ptr @s2n_strerror(i32 noundef %3541, ptr noundef @.str.4)
  %3543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3544 = load i32, ptr %3543, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef @.str.4)
  %3546 = call ptr @__errno_location() #12
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  %3548 = call ptr @strerror(i32 noundef %3547) #11
  %3549 = call ptr @__errno_location() #12
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  %3551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3538, ptr noundef @.str.2, i32 noundef %3539, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3542, ptr noundef %3545, ptr noundef %3548, i32 noundef %3550) #11
  br label %3569

3552:                                             ; preds = %3530, %3523
  %3553 = load i32, ptr %101, align 4, !tbaa !5
  %3554 = call ptr @__errno_location() #12
  store i32 %3553, ptr %3554, align 4, !tbaa !5
  %3555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3556 = load i32, ptr @test_count, align 4, !tbaa !5
  %3557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3558 = load i32, ptr %3557, align 4, !tbaa !5
  %3559 = call ptr @s2n_strerror(i32 noundef %3558, ptr noundef @.str.4)
  %3560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3561 = load i32, ptr %3560, align 4, !tbaa !5
  %3562 = call ptr @s2n_strerror_debug(i32 noundef %3561, ptr noundef @.str.4)
  %3563 = call ptr @__errno_location() #12
  %3564 = load i32, ptr %3563, align 4, !tbaa !5
  %3565 = call ptr @strerror(i32 noundef %3564) #11
  %3566 = call ptr @__errno_location() #12
  %3567 = load i32, ptr %3566, align 4, !tbaa !5
  %3568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3555, ptr noundef @.str.5, i32 noundef %3556, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3559, ptr noundef %3562, ptr noundef %3565, i32 noundef %3567) #11
  br label %3569

3569:                                             ; preds = %3552, %3535
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %3570

3570:                                             ; preds = %3569
  br label %3571

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

3572:                                             ; No predecessors!
  br label %3573

3573:                                             ; preds = %3572
  br label %3574

3574:                                             ; preds = %3573, %3514
  br label %3575

3575:                                             ; preds = %3574
  br label %3576

3576:                                             ; preds = %3575
  %3577 = load i64, ptr %96, align 8, !tbaa !15
  %3578 = icmp ne i64 %3577, 0
  br i1 %3578, label %3579, label %3704

3579:                                             ; preds = %3576
  br label %3580

3580:                                             ; preds = %3579
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = add nsw i32 %3581, 1
  store i32 %3582, ptr @test_count, align 4, !tbaa !5
  %3583 = load ptr, ptr %98, align 8, !tbaa !9
  %3584 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %3583, i1 noundef zeroext true)
  %3585 = icmp eq i32 %3584, -1
  br i1 %3585, label %3586, label %3639

3586:                                             ; preds = %3580
  br label %3587

3587:                                             ; preds = %3586
  br label %3588

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

3595:                                             ; preds = %3588
  %3596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3597 = call i32 @fileno(ptr noundef %3596) #11
  %3598 = call i32 @isatty(i32 noundef %3597) #11
  %3599 = icmp ne i32 %3598, 0
  br i1 %3599, label %3600, label %3617

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

3617:                                             ; preds = %3595, %3588
  %3618 = load i32, ptr %102, align 4, !tbaa !5
  %3619 = call ptr @__errno_location() #12
  store i32 %3618, ptr %3619, align 4, !tbaa !5
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3623 = load i32, ptr %3622, align 4, !tbaa !5
  %3624 = call ptr @s2n_strerror(i32 noundef %3623, ptr noundef @.str.4)
  %3625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3626 = load i32, ptr %3625, align 4, !tbaa !5
  %3627 = call ptr @s2n_strerror_debug(i32 noundef %3626, ptr noundef @.str.4)
  %3628 = call ptr @__errno_location() #12
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @strerror(i32 noundef %3629) #11
  %3631 = call ptr @__errno_location() #12
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3620, ptr noundef @.str.5, i32 noundef %3621, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 185, ptr noundef %3624, ptr noundef %3627, ptr noundef %3630, i32 noundef %3632) #11
  br label %3634

3634:                                             ; preds = %3617, %3600
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %3635

3635:                                             ; preds = %3634
  br label %3636

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

3637:                                             ; No predecessors!
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

3639:                                             ; preds = %3638, %3580
  br label %3640

3640:                                             ; preds = %3639
  br label %3641

3641:                                             ; preds = %3640
  br label %3642

3642:                                             ; preds = %3641
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = add nsw i32 %3643, 1
  store i32 %3644, ptr @test_count, align 4, !tbaa !5
  %3645 = load ptr, ptr %100, align 8, !tbaa !9
  %3646 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %3645, i1 noundef zeroext true)
  %3647 = icmp eq i32 %3646, -1
  br i1 %3647, label %3648, label %3701

3648:                                             ; preds = %3642
  br label %3649

3649:                                             ; preds = %3648
  br label %3650

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

3657:                                             ; preds = %3650
  %3658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3659 = call i32 @fileno(ptr noundef %3658) #11
  %3660 = call i32 @isatty(i32 noundef %3659) #11
  %3661 = icmp ne i32 %3660, 0
  br i1 %3661, label %3662, label %3679

3662:                                             ; preds = %3657
  %3663 = load i32, ptr %103, align 4, !tbaa !5
  %3664 = call ptr @__errno_location() #12
  store i32 %3663, ptr %3664, align 4, !tbaa !5
  %3665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3666 = load i32, ptr @test_count, align 4, !tbaa !5
  %3667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call ptr @s2n_strerror(i32 noundef %3668, ptr noundef @.str.4)
  %3670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call ptr @s2n_strerror_debug(i32 noundef %3671, ptr noundef @.str.4)
  %3673 = call ptr @__errno_location() #12
  %3674 = load i32, ptr %3673, align 4, !tbaa !5
  %3675 = call ptr @strerror(i32 noundef %3674) #11
  %3676 = call ptr @__errno_location() #12
  %3677 = load i32, ptr %3676, align 4, !tbaa !5
  %3678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3665, ptr noundef @.str.2, i32 noundef %3666, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3669, ptr noundef %3672, ptr noundef %3675, i32 noundef %3677) #11
  br label %3696

3679:                                             ; preds = %3657, %3650
  %3680 = load i32, ptr %103, align 4, !tbaa !5
  %3681 = call ptr @__errno_location() #12
  store i32 %3680, ptr %3681, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = load i32, ptr @test_count, align 4, !tbaa !5
  %3684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3685 = load i32, ptr %3684, align 4, !tbaa !5
  %3686 = call ptr @s2n_strerror(i32 noundef %3685, ptr noundef @.str.4)
  %3687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3688 = load i32, ptr %3687, align 4, !tbaa !5
  %3689 = call ptr @s2n_strerror_debug(i32 noundef %3688, ptr noundef @.str.4)
  %3690 = call ptr @__errno_location() #12
  %3691 = load i32, ptr %3690, align 4, !tbaa !5
  %3692 = call ptr @strerror(i32 noundef %3691) #11
  %3693 = call ptr @__errno_location() #12
  %3694 = load i32, ptr %3693, align 4, !tbaa !5
  %3695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3682, ptr noundef @.str.5, i32 noundef %3683, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3686, ptr noundef %3689, ptr noundef %3692, i32 noundef %3694) #11
  br label %3696

3696:                                             ; preds = %3679, %3662
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %3697

3697:                                             ; preds = %3696
  br label %3698

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

3699:                                             ; No predecessors!
  br label %3700

3700:                                             ; preds = %3699
  br label %3701

3701:                                             ; preds = %3700, %3642
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

3703:                                             ; preds = %3702
  br label %3704

3704:                                             ; preds = %3703, %3576
  call void @llvm.lifetime.start.p0(i64 80, ptr %104) #11
  call void @llvm.memset.p0.i64(ptr align 8 %104, i8 0, i64 80, i1 false)
  br label %3705

3705:                                             ; preds = %3704
  %3706 = load i32, ptr @test_count, align 4, !tbaa !5
  %3707 = add nsw i32 %3706, 1
  store i32 %3707, ptr @test_count, align 4, !tbaa !5
  %3708 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %104)
  %3709 = getelementptr inbounds %struct.s2n_result, ptr %105, i32 0, i32 0
  store i32 %3708, ptr %3709, align 4
  %3710 = getelementptr inbounds %struct.s2n_result, ptr %105, i32 0, i32 0
  %3711 = load i32, ptr %3710, align 4
  %3712 = call zeroext i1 @s2n_result_is_ok(i32 %3711)
  br i1 %3712, label %3766, label %3713

3713:                                             ; preds = %3705
  br label %3714

3714:                                             ; preds = %3713
  br label %3715

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

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

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

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

3761:                                             ; preds = %3744, %3727
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %3762

3762:                                             ; preds = %3761
  br label %3763

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

3764:                                             ; No predecessors!
  br label %3765

3765:                                             ; preds = %3764
  br label %3766

3766:                                             ; preds = %3765, %3705
  br label %3767

3767:                                             ; preds = %3766
  br label %3768

3768:                                             ; preds = %3767
  br label %3769

3769:                                             ; preds = %3768
  %3770 = load i32, ptr @test_count, align 4, !tbaa !5
  %3771 = add nsw i32 %3770, 1
  store i32 %3771, ptr @test_count, align 4, !tbaa !5
  %3772 = load ptr, ptr %98, align 8, !tbaa !9
  %3773 = load ptr, ptr %100, align 8, !tbaa !9
  %3774 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3772, ptr noundef %3773, ptr noundef %104)
  %3775 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  store i32 %3774, ptr %3775, align 4
  %3776 = getelementptr inbounds %struct.s2n_result, ptr %107, i32 0, i32 0
  %3777 = load i32, ptr %3776, align 4
  %3778 = call zeroext i1 @s2n_result_is_ok(i32 %3777)
  br i1 %3778, label %3832, label %3779

3779:                                             ; preds = %3769
  br label %3780

3780:                                             ; preds = %3779
  br label %3781

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

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

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

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

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

3828:                                             ; preds = %3827
  br label %3829

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

3830:                                             ; No predecessors!
  br label %3831

3831:                                             ; preds = %3830
  br label %3832

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

3833:                                             ; preds = %3832
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

3835:                                             ; preds = %3834
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = load ptr, ptr %100, align 8, !tbaa !9
  %3839 = load ptr, ptr %98, align 8, !tbaa !9
  %3840 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3838, ptr noundef %3839)
  %3841 = icmp eq i32 %3840, -1
  br i1 %3841, label %3842, label %3895

3842:                                             ; preds = %3835
  br label %3843

3843:                                             ; preds = %3842
  br label %3844

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

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

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

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

3890:                                             ; preds = %3873, %3856
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %3891

3891:                                             ; preds = %3890
  br label %3892

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

3893:                                             ; No predecessors!
  br label %3894

3894:                                             ; preds = %3893
  br label %3895

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

3896:                                             ; preds = %3895
  br label %3897

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

3898:                                             ; preds = %3897
  %3899 = load i32, ptr @test_count, align 4, !tbaa !5
  %3900 = add nsw i32 %3899, 1
  store i32 %3900, ptr @test_count, align 4, !tbaa !5
  %3901 = load ptr, ptr %100, align 8, !tbaa !9
  %3902 = call i32 @s2n_connection_set_counting_read(ptr noundef %3901, ptr noundef %110)
  %3903 = getelementptr inbounds %struct.s2n_result, ptr %111, i32 0, i32 0
  store i32 %3902, ptr %3903, align 4
  %3904 = getelementptr inbounds %struct.s2n_result, ptr %111, i32 0, i32 0
  %3905 = load i32, ptr %3904, align 4
  %3906 = call zeroext i1 @s2n_result_is_ok(i32 %3905)
  br i1 %3906, label %3960, label %3907

3907:                                             ; preds = %3898
  br label %3908

3908:                                             ; preds = %3907
  br label %3909

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

3916:                                             ; preds = %3909
  %3917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3918 = call i32 @fileno(ptr noundef %3917) #11
  %3919 = call i32 @isatty(i32 noundef %3918) #11
  %3920 = icmp ne i32 %3919, 0
  br i1 %3920, label %3921, label %3938

3921:                                             ; preds = %3916
  %3922 = load i32, ptr %112, align 4, !tbaa !5
  %3923 = call ptr @__errno_location() #12
  store i32 %3922, ptr %3923, align 4, !tbaa !5
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = load i32, ptr @test_count, align 4, !tbaa !5
  %3926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3927 = load i32, ptr %3926, align 4, !tbaa !5
  %3928 = call ptr @s2n_strerror(i32 noundef %3927, ptr noundef @.str.4)
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror_debug(i32 noundef %3930, ptr noundef @.str.4)
  %3932 = call ptr @__errno_location() #12
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @strerror(i32 noundef %3933) #11
  %3935 = call ptr @__errno_location() #12
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3924, ptr noundef @.str.2, i32 noundef %3925, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3928, ptr noundef %3931, ptr noundef %3934, i32 noundef %3936) #11
  br label %3955

3938:                                             ; preds = %3916, %3909
  %3939 = load i32, ptr %112, align 4, !tbaa !5
  %3940 = call ptr @__errno_location() #12
  store i32 %3939, ptr %3940, align 4, !tbaa !5
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = load i32, ptr @test_count, align 4, !tbaa !5
  %3943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3944 = load i32, ptr %3943, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror(i32 noundef %3944, ptr noundef @.str.4)
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror_debug(i32 noundef %3947, ptr noundef @.str.4)
  %3949 = call ptr @__errno_location() #12
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @strerror(i32 noundef %3950) #11
  %3952 = call ptr @__errno_location() #12
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3941, ptr noundef @.str.5, i32 noundef %3942, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3945, ptr noundef %3948, ptr noundef %3951, i32 noundef %3953) #11
  br label %3955

3955:                                             ; preds = %3938, %3921
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %3956

3956:                                             ; preds = %3955
  br label %3957

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

3958:                                             ; No predecessors!
  br label %3959

3959:                                             ; preds = %3958
  br label %3960

3960:                                             ; preds = %3959, %3898
  br label %3961

3961:                                             ; preds = %3960
  br label %3962

3962:                                             ; preds = %3961
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  store i32 0, ptr %113, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  store i64 1, ptr %114, align 8, !tbaa !15
  br label %3963

3963:                                             ; preds = %4033, %3962
  %3964 = load i64, ptr %114, align 8, !tbaa !15
  %3965 = icmp ule i64 %3964, 20
  br i1 %3965, label %3967, label %3966

3966:                                             ; preds = %3963
  store i32 349, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  br label %4036

3967:                                             ; preds = %3963
  br label %3968

3968:                                             ; preds = %3967
  %3969 = load i32, ptr @test_count, align 4, !tbaa !5
  %3970 = add nsw i32 %3969, 1
  store i32 %3970, ptr @test_count, align 4, !tbaa !5
  %3971 = load ptr, ptr %98, align 8, !tbaa !9
  %3972 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %3973 = load i64, ptr %114, align 8, !tbaa !15
  %3974 = call i64 @s2n_send(ptr noundef %3971, ptr noundef %3972, i64 noundef %3973, ptr noundef %113)
  %3975 = load i64, ptr %114, align 8, !tbaa !15
  %3976 = icmp eq i64 %3974, %3975
  br i1 %3976, label %4030, label %3977

3977:                                             ; preds = %3968
  br label %3978

3978:                                             ; preds = %3977
  br label %3979

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

3986:                                             ; preds = %3979
  %3987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3988 = call i32 @fileno(ptr noundef %3987) #11
  %3989 = call i32 @isatty(i32 noundef %3988) #11
  %3990 = icmp ne i32 %3989, 0
  br i1 %3990, label %3991, label %4008

3991:                                             ; preds = %3986
  %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.2, i32 noundef %3995, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 199, ptr noundef %3998, ptr noundef %4001, ptr noundef %4004, i32 noundef %4006) #11
  br label %4025

4008:                                             ; preds = %3986, %3979
  %4009 = load i32, ptr %115, align 4, !tbaa !5
  %4010 = call ptr @__errno_location() #12
  store i32 %4009, ptr %4010, align 4, !tbaa !5
  %4011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4012 = load i32, ptr @test_count, align 4, !tbaa !5
  %4013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror(i32 noundef %4014, ptr noundef @.str.4)
  %4016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4017 = load i32, ptr %4016, align 4, !tbaa !5
  %4018 = call ptr @s2n_strerror_debug(i32 noundef %4017, ptr noundef @.str.4)
  %4019 = call ptr @__errno_location() #12
  %4020 = load i32, ptr %4019, align 4, !tbaa !5
  %4021 = call ptr @strerror(i32 noundef %4020) #11
  %4022 = call ptr @__errno_location() #12
  %4023 = load i32, ptr %4022, align 4, !tbaa !5
  %4024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4011, ptr noundef @.str.5, i32 noundef %4012, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4015, ptr noundef %4018, ptr noundef %4021, i32 noundef %4023) #11
  br label %4025

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

4026:                                             ; preds = %4025
  br label %4027

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

4028:                                             ; No predecessors!
  br label %4029

4029:                                             ; preds = %4028
  br label %4030

4030:                                             ; preds = %4029, %3968
  br label %4031

4031:                                             ; preds = %4030
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  %4034 = load i64, ptr %114, align 8, !tbaa !15
  %4035 = add i64 %4034, 1
  store i64 %4035, ptr %114, align 8, !tbaa !15
  br label %3963, !llvm.loop !52

4036:                                             ; preds = %3966
  call void @llvm.lifetime.start.p0(i64 20, ptr %116) #11
  call void @llvm.memset.p0.i64(ptr align 16 %116, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #11
  store i64 1, ptr %117, align 8, !tbaa !15
  br label %4037

4037:                                             ; preds = %4309, %4036
  %4038 = load i64, ptr %117, align 8, !tbaa !15
  %4039 = icmp ule i64 %4038, 20
  br i1 %4039, label %4041, label %4040

4040:                                             ; preds = %4037
  store i32 358, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #11
  br label %4312

4041:                                             ; preds = %4037
  br label %4042

4042:                                             ; preds = %4041
  %4043 = load i32, ptr @test_count, align 4, !tbaa !5
  %4044 = add nsw i32 %4043, 1
  store i32 %4044, ptr @test_count, align 4, !tbaa !5
  %4045 = load ptr, ptr %100, align 8, !tbaa !9
  %4046 = getelementptr inbounds [20 x i8], ptr %116, i64 0, i64 0
  %4047 = load i64, ptr %117, align 8, !tbaa !15
  %4048 = call i64 @s2n_recv(ptr noundef %4045, ptr noundef %4046, i64 noundef %4047, ptr noundef %113)
  %4049 = load i64, ptr %117, align 8, !tbaa !15
  %4050 = icmp eq i64 %4048, %4049
  br i1 %4050, label %4104, label %4051

4051:                                             ; preds = %4042
  br label %4052

4052:                                             ; preds = %4051
  br label %4053

4053:                                             ; preds = %4052
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %4054 = call ptr @__errno_location() #12
  %4055 = load i32, ptr %4054, align 4, !tbaa !5
  store i32 %4055, ptr %118, align 4, !tbaa !5
  %4056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4057 = call i32 @s2n_print_stacktrace(ptr noundef %4056)
  %4058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4059 = trunc i8 %4058 to i1
  br i1 %4059, label %4060, label %4082

4060:                                             ; preds = %4053
  %4061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4062 = call i32 @fileno(ptr noundef %4061) #11
  %4063 = call i32 @isatty(i32 noundef %4062) #11
  %4064 = icmp ne i32 %4063, 0
  br i1 %4064, label %4065, label %4082

4065:                                             ; preds = %4060
  %4066 = load i32, ptr %118, align 4, !tbaa !5
  %4067 = call ptr @__errno_location() #12
  store i32 %4066, ptr %4067, align 4, !tbaa !5
  %4068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4069 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4071, ptr noundef @.str.4)
  %4073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4074 = load i32, ptr %4073, align 4, !tbaa !5
  %4075 = call ptr @s2n_strerror_debug(i32 noundef %4074, ptr noundef @.str.4)
  %4076 = call ptr @__errno_location() #12
  %4077 = load i32, ptr %4076, align 4, !tbaa !5
  %4078 = call ptr @strerror(i32 noundef %4077) #11
  %4079 = call ptr @__errno_location() #12
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  %4081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4068, ptr noundef @.str.2, i32 noundef %4069, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4072, ptr noundef %4075, ptr noundef %4078, i32 noundef %4080) #11
  br label %4099

4082:                                             ; preds = %4060, %4053
  %4083 = load i32, ptr %118, align 4, !tbaa !5
  %4084 = call ptr @__errno_location() #12
  store i32 %4083, ptr %4084, align 4, !tbaa !5
  %4085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4086 = load i32, ptr @test_count, align 4, !tbaa !5
  %4087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4088 = load i32, ptr %4087, align 4, !tbaa !5
  %4089 = call ptr @s2n_strerror(i32 noundef %4088, ptr noundef @.str.4)
  %4090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = call ptr @s2n_strerror_debug(i32 noundef %4091, ptr noundef @.str.4)
  %4093 = call ptr @__errno_location() #12
  %4094 = load i32, ptr %4093, align 4, !tbaa !5
  %4095 = call ptr @strerror(i32 noundef %4094) #11
  %4096 = call ptr @__errno_location() #12
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  %4098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4085, ptr noundef @.str.5, i32 noundef %4086, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4089, ptr noundef %4092, ptr noundef %4095, i32 noundef %4097) #11
  br label %4099

4099:                                             ; preds = %4082, %4065
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %4100

4100:                                             ; preds = %4099
  br label %4101

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

4102:                                             ; No predecessors!
  br label %4103

4103:                                             ; preds = %4102
  br label %4104

4104:                                             ; preds = %4103, %4042
  br label %4105

4105:                                             ; preds = %4104
  br label %4106

4106:                                             ; preds = %4105
  br label %4107

4107:                                             ; preds = %4106
  %4108 = load i64, ptr %117, align 8, !tbaa !15
  %4109 = icmp ne i64 %4108, 0
  br i1 %4109, label %4110, label %4175

4110:                                             ; preds = %4107
  br label %4111

4111:                                             ; preds = %4110
  %4112 = load i32, ptr @test_count, align 4, !tbaa !5
  %4113 = add nsw i32 %4112, 1
  store i32 %4113, ptr @test_count, align 4, !tbaa !5
  %4114 = getelementptr inbounds [20 x i8], ptr %116, i64 0, i64 0
  %4115 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %4116 = load i64, ptr %117, align 8, !tbaa !15
  %4117 = call i32 @memcmp(ptr noundef %4114, ptr noundef %4115, i64 noundef %4116) #14
  %4118 = icmp eq i32 %4117, 0
  br i1 %4118, label %4172, label %4119

4119:                                             ; preds = %4111
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

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

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

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

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

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

4168:                                             ; preds = %4167
  br label %4169

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

4170:                                             ; No predecessors!
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

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

4173:                                             ; preds = %4172
  br label %4174

4174:                                             ; preds = %4173
  br label %4175

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

4176:                                             ; preds = %4175
  br label %4177

4177:                                             ; preds = %4176
  %4178 = load i64, ptr %96, align 8, !tbaa !15
  %4179 = icmp ne i64 %4178, 0
  br i1 %4179, label %4180, label %4243

4180:                                             ; preds = %4177
  br label %4181

4181:                                             ; preds = %4180
  %4182 = load i32, ptr @test_count, align 4, !tbaa !5
  %4183 = add nsw i32 %4182, 1
  store i32 %4183, ptr @test_count, align 4, !tbaa !5
  %4184 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %110, i32 0, i32 0
  %4185 = load i64, ptr %4184, align 8, !tbaa !22
  %4186 = icmp eq i64 %4185, 1
  br i1 %4186, label %4240, label %4187

4187:                                             ; preds = %4181
  br label %4188

4188:                                             ; preds = %4187
  br label %4189

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

4196:                                             ; preds = %4189
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = call i32 @fileno(ptr noundef %4197) #11
  %4199 = call i32 @isatty(i32 noundef %4198) #11
  %4200 = icmp ne i32 %4199, 0
  br i1 %4200, label %4201, label %4218

4201:                                             ; preds = %4196
  %4202 = load i32, ptr %120, align 4, !tbaa !5
  %4203 = call ptr @__errno_location() #12
  store i32 %4202, ptr %4203, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @s2n_strerror(i32 noundef %4207, ptr noundef @.str.4)
  %4209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef @.str.4)
  %4212 = call ptr @__errno_location() #12
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @strerror(i32 noundef %4213) #11
  %4215 = call ptr @__errno_location() #12
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef @.str.2, i32 noundef %4205, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4208, ptr noundef %4211, ptr noundef %4214, i32 noundef %4216) #11
  br label %4235

4218:                                             ; preds = %4196, %4189
  %4219 = load i32, ptr %120, align 4, !tbaa !5
  %4220 = call ptr @__errno_location() #12
  store i32 %4219, ptr %4220, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = load i32, ptr @test_count, align 4, !tbaa !5
  %4223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4224 = load i32, ptr %4223, align 4, !tbaa !5
  %4225 = call ptr @s2n_strerror(i32 noundef %4224, ptr noundef @.str.4)
  %4226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4227 = load i32, ptr %4226, align 4, !tbaa !5
  %4228 = call ptr @s2n_strerror_debug(i32 noundef %4227, ptr noundef @.str.4)
  %4229 = call ptr @__errno_location() #12
  %4230 = load i32, ptr %4229, align 4, !tbaa !5
  %4231 = call ptr @strerror(i32 noundef %4230) #11
  %4232 = call ptr @__errno_location() #12
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4221, ptr noundef @.str.5, i32 noundef %4222, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4225, ptr noundef %4228, ptr noundef %4231, i32 noundef %4233) #11
  br label %4235

4235:                                             ; preds = %4218, %4201
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %4236

4236:                                             ; preds = %4235
  br label %4237

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

4238:                                             ; No predecessors!
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

4240:                                             ; preds = %4239, %4181
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

4242:                                             ; preds = %4241
  br label %4308

4243:                                             ; preds = %4177
  br label %4244

4244:                                             ; preds = %4243
  %4245 = load i32, ptr @test_count, align 4, !tbaa !5
  %4246 = add nsw i32 %4245, 1
  store i32 %4246, ptr @test_count, align 4, !tbaa !5
  %4247 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %110, i32 0, i32 0
  %4248 = load i64, ptr %4247, align 8, !tbaa !22
  %4249 = load i64, ptr %117, align 8, !tbaa !15
  %4250 = mul i64 %4249, 2
  %4251 = icmp eq i64 %4248, %4250
  br i1 %4251, label %4305, label %4252

4252:                                             ; preds = %4244
  br label %4253

4253:                                             ; preds = %4252
  br label %4254

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

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

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

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

4300:                                             ; preds = %4283, %4266
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %4301

4301:                                             ; preds = %4300
  br label %4302

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

4303:                                             ; No predecessors!
  br label %4304

4304:                                             ; preds = %4303
  br label %4305

4305:                                             ; preds = %4304, %4244
  br label %4306

4306:                                             ; preds = %4305
  br label %4307

4307:                                             ; preds = %4306
  br label %4308

4308:                                             ; preds = %4307, %4242
  br label %4309

4309:                                             ; preds = %4308
  %4310 = load i64, ptr %117, align 8, !tbaa !15
  %4311 = add i64 %4310, 1
  store i64 %4311, ptr %117, align 8, !tbaa !15
  br label %4037, !llvm.loop !54

4312:                                             ; preds = %4040
  br label %4313

4313:                                             ; preds = %4312
  %4314 = load i32, ptr @test_count, align 4, !tbaa !5
  %4315 = add nsw i32 %4314, 1
  store i32 %4315, ptr @test_count, align 4, !tbaa !5
  %4316 = load ptr, ptr %100, align 8, !tbaa !9
  %4317 = getelementptr inbounds %struct.s2n_connection, ptr %4316, i32 0, i32 39
  %4318 = getelementptr inbounds %struct.s2n_stuffer, ptr %4317, i32 0, i32 0
  %4319 = getelementptr inbounds %struct.s2n_blob, ptr %4318, i32 0, i32 2
  %4320 = load i32, ptr %4319, align 4, !tbaa !55
  %4321 = zext i32 %4320 to i64
  %4322 = icmp eq i64 %4321, 16384
  br i1 %4322, label %4376, label %4323

4323:                                             ; preds = %4313
  br label %4324

4324:                                             ; preds = %4323
  br label %4325

4325:                                             ; preds = %4324
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %4326 = call ptr @__errno_location() #12
  %4327 = load i32, ptr %4326, align 4, !tbaa !5
  store i32 %4327, ptr %122, align 4, !tbaa !5
  %4328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4329 = call i32 @s2n_print_stacktrace(ptr noundef %4328)
  %4330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4331 = trunc i8 %4330 to i1
  br i1 %4331, label %4332, label %4354

4332:                                             ; preds = %4325
  %4333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4334 = call i32 @fileno(ptr noundef %4333) #11
  %4335 = call i32 @isatty(i32 noundef %4334) #11
  %4336 = icmp ne i32 %4335, 0
  br i1 %4336, label %4337, label %4354

4337:                                             ; preds = %4332
  %4338 = load i32, ptr %122, align 4, !tbaa !5
  %4339 = call ptr @__errno_location() #12
  store i32 %4338, ptr %4339, align 4, !tbaa !5
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = load i32, ptr @test_count, align 4, !tbaa !5
  %4342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4343 = load i32, ptr %4342, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror(i32 noundef %4343, ptr noundef @.str.4)
  %4345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4346 = load i32, ptr %4345, align 4, !tbaa !5
  %4347 = call ptr @s2n_strerror_debug(i32 noundef %4346, ptr noundef @.str.4)
  %4348 = call ptr @__errno_location() #12
  %4349 = load i32, ptr %4348, align 4, !tbaa !5
  %4350 = call ptr @strerror(i32 noundef %4349) #11
  %4351 = call ptr @__errno_location() #12
  %4352 = load i32, ptr %4351, align 4, !tbaa !5
  %4353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4340, ptr noundef @.str.2, i32 noundef %4341, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4344, ptr noundef %4347, ptr noundef %4350, i32 noundef %4352) #11
  br label %4371

4354:                                             ; preds = %4332, %4325
  %4355 = load i32, ptr %122, align 4, !tbaa !5
  %4356 = call ptr @__errno_location() #12
  store i32 %4355, ptr %4356, align 4, !tbaa !5
  %4357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4358 = load i32, ptr @test_count, align 4, !tbaa !5
  %4359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror(i32 noundef %4360, ptr noundef @.str.4)
  %4362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4363 = load i32, ptr %4362, align 4, !tbaa !5
  %4364 = call ptr @s2n_strerror_debug(i32 noundef %4363, ptr noundef @.str.4)
  %4365 = call ptr @__errno_location() #12
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  %4367 = call ptr @strerror(i32 noundef %4366) #11
  %4368 = call ptr @__errno_location() #12
  %4369 = load i32, ptr %4368, align 4, !tbaa !5
  %4370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4357, ptr noundef @.str.5, i32 noundef %4358, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4361, ptr noundef %4364, ptr noundef %4367, i32 noundef %4369) #11
  br label %4371

4371:                                             ; preds = %4354, %4337
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %4372

4372:                                             ; preds = %4371
  br label %4373

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

4374:                                             ; No predecessors!
  br label %4375

4375:                                             ; preds = %4374
  br label %4376

4376:                                             ; preds = %4375, %4313
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

4378:                                             ; preds = %4377
  br label %4379

4379:                                             ; preds = %4378
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = add nsw i32 %4380, 1
  store i32 %4381, ptr @test_count, align 4, !tbaa !5
  %4382 = load ptr, ptr %100, align 8, !tbaa !9
  %4383 = call i32 @s2n_connection_release_buffers(ptr noundef %4382)
  %4384 = icmp eq i32 %4383, -1
  br i1 %4384, label %4385, label %4438

4385:                                             ; preds = %4379
  br label %4386

4386:                                             ; preds = %4385
  br label %4387

4387:                                             ; preds = %4386
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %4388 = call ptr @__errno_location() #12
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  store i32 %4389, ptr %123, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @s2n_print_stacktrace(ptr noundef %4390)
  %4392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc i8 %4392 to i1
  br i1 %4393, label %4394, label %4416

4394:                                             ; preds = %4387
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @fileno(ptr noundef %4395) #11
  %4397 = call i32 @isatty(i32 noundef %4396) #11
  %4398 = icmp ne i32 %4397, 0
  br i1 %4398, label %4399, label %4416

4399:                                             ; preds = %4394
  %4400 = load i32, ptr %123, align 4, !tbaa !5
  %4401 = call ptr @__errno_location() #12
  store i32 %4400, ptr %4401, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror(i32 noundef %4405, ptr noundef @.str.4)
  %4407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call ptr @s2n_strerror_debug(i32 noundef %4408, ptr noundef @.str.4)
  %4410 = call ptr @__errno_location() #12
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  %4412 = call ptr @strerror(i32 noundef %4411) #11
  %4413 = call ptr @__errno_location() #12
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef @.str.2, i32 noundef %4403, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 223, ptr noundef %4406, ptr noundef %4409, ptr noundef %4412, i32 noundef %4414) #11
  br label %4433

4416:                                             ; preds = %4394, %4387
  %4417 = load i32, ptr %123, align 4, !tbaa !5
  %4418 = call ptr @__errno_location() #12
  store i32 %4417, ptr %4418, align 4, !tbaa !5
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = load i32, ptr @test_count, align 4, !tbaa !5
  %4421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call ptr @s2n_strerror(i32 noundef %4422, ptr noundef @.str.4)
  %4424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4425 = load i32, ptr %4424, align 4, !tbaa !5
  %4426 = call ptr @s2n_strerror_debug(i32 noundef %4425, ptr noundef @.str.4)
  %4427 = call ptr @__errno_location() #12
  %4428 = load i32, ptr %4427, align 4, !tbaa !5
  %4429 = call ptr @strerror(i32 noundef %4428) #11
  %4430 = call ptr @__errno_location() #12
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4419, ptr noundef @.str.5, i32 noundef %4420, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 223, ptr noundef %4423, ptr noundef %4426, ptr noundef %4429, i32 noundef %4431) #11
  br label %4433

4433:                                             ; preds = %4416, %4399
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

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

4436:                                             ; No predecessors!
  br label %4437

4437:                                             ; preds = %4436
  br label %4438

4438:                                             ; preds = %4437, %4379
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

4440:                                             ; preds = %4439
  br label %4441

4441:                                             ; preds = %4440
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = add nsw i32 %4442, 1
  store i32 %4443, ptr @test_count, align 4, !tbaa !5
  %4444 = load ptr, ptr %100, align 8, !tbaa !9
  %4445 = getelementptr inbounds %struct.s2n_connection, ptr %4444, i32 0, i32 39
  %4446 = getelementptr inbounds %struct.s2n_stuffer, ptr %4445, i32 0, i32 0
  %4447 = getelementptr inbounds %struct.s2n_blob, ptr %4446, i32 0, i32 2
  %4448 = load i32, ptr %4447, align 4, !tbaa !55
  %4449 = icmp eq i32 %4448, 0
  br i1 %4449, label %4503, label %4450

4450:                                             ; preds = %4441
  br label %4451

4451:                                             ; preds = %4450
  br label %4452

4452:                                             ; preds = %4451
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %4453 = call ptr @__errno_location() #12
  %4454 = load i32, ptr %4453, align 4, !tbaa !5
  store i32 %4454, ptr %124, align 4, !tbaa !5
  %4455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4456 = call i32 @s2n_print_stacktrace(ptr noundef %4455)
  %4457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4458 = trunc i8 %4457 to i1
  br i1 %4458, label %4459, label %4481

4459:                                             ; preds = %4452
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4461 = call i32 @fileno(ptr noundef %4460) #11
  %4462 = call i32 @isatty(i32 noundef %4461) #11
  %4463 = icmp ne i32 %4462, 0
  br i1 %4463, label %4464, label %4481

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

4481:                                             ; preds = %4459, %4452
  %4482 = load i32, ptr %124, align 4, !tbaa !5
  %4483 = call ptr @__errno_location() #12
  store i32 %4482, ptr %4483, align 4, !tbaa !5
  %4484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4485 = load i32, ptr @test_count, align 4, !tbaa !5
  %4486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4487 = load i32, ptr %4486, align 4, !tbaa !5
  %4488 = call ptr @s2n_strerror(i32 noundef %4487, ptr noundef @.str.4)
  %4489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4490 = load i32, ptr %4489, align 4, !tbaa !5
  %4491 = call ptr @s2n_strerror_debug(i32 noundef %4490, ptr noundef @.str.4)
  %4492 = call ptr @__errno_location() #12
  %4493 = load i32, ptr %4492, align 4, !tbaa !5
  %4494 = call ptr @strerror(i32 noundef %4493) #11
  %4495 = call ptr @__errno_location() #12
  %4496 = load i32, ptr %4495, align 4, !tbaa !5
  %4497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4484, ptr noundef @.str.5, i32 noundef %4485, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 224, ptr noundef %4488, ptr noundef %4491, ptr noundef %4494, i32 noundef %4496) #11
  br label %4498

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

4499:                                             ; preds = %4498
  br label %4500

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

4501:                                             ; No predecessors!
  br label %4502

4502:                                             ; preds = %4501
  br label %4503

4503:                                             ; preds = %4502, %4441
  br label %4504

4504:                                             ; preds = %4503
  br label %4505

4505:                                             ; preds = %4504
  call void @llvm.lifetime.end.p0(i64 20, ptr %116) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %110) #11
  %4506 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %104)
  %4507 = getelementptr inbounds %struct.s2n_result, ptr %125, i32 0, i32 0
  store i32 %4506, ptr %4507, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %104) #11
  %4508 = call i32 @s2n_connection_ptr_free(ptr noundef %100)
  %4509 = getelementptr inbounds %struct.s2n_result, ptr %126, i32 0, i32 0
  store i32 %4508, ptr %4509, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #11
  %4510 = call i32 @s2n_connection_ptr_free(ptr noundef %98)
  %4511 = getelementptr inbounds %struct.s2n_result, ptr %127, i32 0, i32 0
  store i32 %4510, ptr %4511, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #11
  br label %4512

4512:                                             ; preds = %4505
  %4513 = load i64, ptr %96, align 8, !tbaa !15
  %4514 = add i64 %4513, 1
  store i64 %4514, ptr %96, align 8, !tbaa !15
  br label %3444, !llvm.loop !56

4515:                                             ; preds = %3447
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #11
  %4516 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4516, ptr %128, align 8, !tbaa !9
  br label %4517

4517:                                             ; preds = %4515
  %4518 = load i32, ptr @test_count, align 4, !tbaa !5
  %4519 = add nsw i32 %4518, 1
  store i32 %4519, ptr @test_count, align 4, !tbaa !5
  %4520 = load ptr, ptr %128, align 8, !tbaa !9
  %4521 = load ptr, ptr %17, align 8, !tbaa !9
  %4522 = call i32 @s2n_connection_set_config(ptr noundef %4520, ptr noundef %4521)
  %4523 = icmp eq i32 %4522, -1
  br i1 %4523, label %4524, label %4577

4524:                                             ; preds = %4517
  br label %4525

4525:                                             ; preds = %4524
  br label %4526

4526:                                             ; preds = %4525
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %4527 = call ptr @__errno_location() #12
  %4528 = load i32, ptr %4527, align 4, !tbaa !5
  store i32 %4528, ptr %129, align 4, !tbaa !5
  %4529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4530 = call i32 @s2n_print_stacktrace(ptr noundef %4529)
  %4531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4532 = trunc i8 %4531 to i1
  br i1 %4532, label %4533, label %4555

4533:                                             ; preds = %4526
  %4534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4535 = call i32 @fileno(ptr noundef %4534) #11
  %4536 = call i32 @isatty(i32 noundef %4535) #11
  %4537 = icmp ne i32 %4536, 0
  br i1 %4537, label %4538, label %4555

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

4555:                                             ; preds = %4533, %4526
  %4556 = load i32, ptr %129, align 4, !tbaa !5
  %4557 = call ptr @__errno_location() #12
  store i32 %4556, ptr %4557, align 4, !tbaa !5
  %4558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4559 = load i32, ptr @test_count, align 4, !tbaa !5
  %4560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4561 = load i32, ptr %4560, align 4, !tbaa !5
  %4562 = call ptr @s2n_strerror(i32 noundef %4561, ptr noundef @.str.4)
  %4563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  %4565 = call ptr @s2n_strerror_debug(i32 noundef %4564, ptr noundef @.str.4)
  %4566 = call ptr @__errno_location() #12
  %4567 = load i32, ptr %4566, align 4, !tbaa !5
  %4568 = call ptr @strerror(i32 noundef %4567) #11
  %4569 = call ptr @__errno_location() #12
  %4570 = load i32, ptr %4569, align 4, !tbaa !5
  %4571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4558, ptr noundef @.str.5, i32 noundef %4559, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 231, ptr noundef %4562, ptr noundef %4565, ptr noundef %4568, i32 noundef %4570) #11
  br label %4572

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

4573:                                             ; preds = %4572
  br label %4574

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

4575:                                             ; No predecessors!
  br label %4576

4576:                                             ; preds = %4575
  br label %4577

4577:                                             ; preds = %4576, %4517
  br label %4578

4578:                                             ; preds = %4577
  br label %4579

4579:                                             ; preds = %4578
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #11
  %4580 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4580, ptr %130, align 8, !tbaa !9
  br label %4581

4581:                                             ; preds = %4579
  %4582 = load i32, ptr @test_count, align 4, !tbaa !5
  %4583 = add nsw i32 %4582, 1
  store i32 %4583, ptr @test_count, align 4, !tbaa !5
  %4584 = load ptr, ptr %130, align 8, !tbaa !9
  %4585 = load ptr, ptr %17, align 8, !tbaa !9
  %4586 = call i32 @s2n_connection_set_config(ptr noundef %4584, ptr noundef %4585)
  %4587 = icmp eq i32 %4586, -1
  br i1 %4587, label %4588, label %4641

4588:                                             ; preds = %4581
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %4591 = call ptr @__errno_location() #12
  %4592 = load i32, ptr %4591, align 4, !tbaa !5
  store i32 %4592, ptr %131, align 4, !tbaa !5
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = call i32 @s2n_print_stacktrace(ptr noundef %4593)
  %4595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4596 = trunc i8 %4595 to i1
  br i1 %4596, label %4597, label %4619

4597:                                             ; preds = %4590
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @fileno(ptr noundef %4598) #11
  %4600 = call i32 @isatty(i32 noundef %4599) #11
  %4601 = icmp ne i32 %4600, 0
  br i1 %4601, label %4602, label %4619

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

4619:                                             ; preds = %4597, %4590
  %4620 = load i32, ptr %131, align 4, !tbaa !5
  %4621 = call ptr @__errno_location() #12
  store i32 %4620, ptr %4621, align 4, !tbaa !5
  %4622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4623 = load i32, ptr @test_count, align 4, !tbaa !5
  %4624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call ptr @s2n_strerror(i32 noundef %4625, ptr noundef @.str.4)
  %4627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4628 = load i32, ptr %4627, align 4, !tbaa !5
  %4629 = call ptr @s2n_strerror_debug(i32 noundef %4628, ptr noundef @.str.4)
  %4630 = call ptr @__errno_location() #12
  %4631 = load i32, ptr %4630, align 4, !tbaa !5
  %4632 = call ptr @strerror(i32 noundef %4631) #11
  %4633 = call ptr @__errno_location() #12
  %4634 = load i32, ptr %4633, align 4, !tbaa !5
  %4635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4622, ptr noundef @.str.5, i32 noundef %4623, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 235, ptr noundef %4626, ptr noundef %4629, ptr noundef %4632, i32 noundef %4634) #11
  br label %4636

4636:                                             ; preds = %4619, %4602
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %4637

4637:                                             ; preds = %4636
  br label %4638

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

4639:                                             ; No predecessors!
  br label %4640

4640:                                             ; preds = %4639
  br label %4641

4641:                                             ; preds = %4640, %4581
  br label %4642

4642:                                             ; preds = %4641
  br label %4643

4643:                                             ; preds = %4642
  br label %4644

4644:                                             ; preds = %4643
  %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 ptr, ptr %128, align 8, !tbaa !9
  %4648 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %4647, i1 noundef zeroext true)
  %4649 = icmp eq i32 %4648, -1
  br i1 %4649, label %4650, label %4703

4650:                                             ; preds = %4644
  br label %4651

4651:                                             ; preds = %4650
  br label %4652

4652:                                             ; preds = %4651
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %4653 = call ptr @__errno_location() #12
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  store i32 %4654, ptr %132, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = call i32 @s2n_print_stacktrace(ptr noundef %4655)
  %4657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4658 = trunc i8 %4657 to i1
  br i1 %4658, label %4659, label %4681

4659:                                             ; preds = %4652
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = call i32 @fileno(ptr noundef %4660) #11
  %4662 = call i32 @isatty(i32 noundef %4661) #11
  %4663 = icmp ne i32 %4662, 0
  br i1 %4663, label %4664, label %4681

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

4681:                                             ; preds = %4659, %4652
  %4682 = load i32, ptr %132, align 4, !tbaa !5
  %4683 = call ptr @__errno_location() #12
  store i32 %4682, ptr %4683, align 4, !tbaa !5
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = load i32, ptr @test_count, align 4, !tbaa !5
  %4686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4687 = load i32, ptr %4686, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror(i32 noundef %4687, ptr noundef @.str.4)
  %4689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  %4691 = call ptr @s2n_strerror_debug(i32 noundef %4690, ptr noundef @.str.4)
  %4692 = call ptr @__errno_location() #12
  %4693 = load i32, ptr %4692, align 4, !tbaa !5
  %4694 = call ptr @strerror(i32 noundef %4693) #11
  %4695 = call ptr @__errno_location() #12
  %4696 = load i32, ptr %4695, align 4, !tbaa !5
  %4697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4684, ptr noundef @.str.5, i32 noundef %4685, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 237, ptr noundef %4688, ptr noundef %4691, ptr noundef %4694, i32 noundef %4696) #11
  br label %4698

4698:                                             ; preds = %4681, %4664
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %4699

4699:                                             ; preds = %4698
  br label %4700

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

4701:                                             ; No predecessors!
  br label %4702

4702:                                             ; preds = %4701
  br label %4703

4703:                                             ; preds = %4702, %4644
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

4706:                                             ; preds = %4705
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = add nsw i32 %4707, 1
  store i32 %4708, ptr @test_count, align 4, !tbaa !5
  %4709 = load ptr, ptr %130, align 8, !tbaa !9
  %4710 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %4709, i1 noundef zeroext true)
  %4711 = icmp eq i32 %4710, -1
  br i1 %4711, label %4712, label %4765

4712:                                             ; preds = %4706
  br label %4713

4713:                                             ; preds = %4712
  br label %4714

4714:                                             ; preds = %4713
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %4715 = call ptr @__errno_location() #12
  %4716 = load i32, ptr %4715, align 4, !tbaa !5
  store i32 %4716, ptr %133, align 4, !tbaa !5
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = call i32 @s2n_print_stacktrace(ptr noundef %4717)
  %4719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4720 = trunc i8 %4719 to i1
  br i1 %4720, label %4721, label %4743

4721:                                             ; preds = %4714
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4723 = call i32 @fileno(ptr noundef %4722) #11
  %4724 = call i32 @isatty(i32 noundef %4723) #11
  %4725 = icmp ne i32 %4724, 0
  br i1 %4725, label %4726, label %4743

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

4743:                                             ; preds = %4721, %4714
  %4744 = load i32, ptr %133, align 4, !tbaa !5
  %4745 = call ptr @__errno_location() #12
  store i32 %4744, ptr %4745, align 4, !tbaa !5
  %4746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4747 = load i32, ptr @test_count, align 4, !tbaa !5
  %4748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4749 = load i32, ptr %4748, align 4, !tbaa !5
  %4750 = call ptr @s2n_strerror(i32 noundef %4749, ptr noundef @.str.4)
  %4751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4752 = load i32, ptr %4751, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror_debug(i32 noundef %4752, ptr noundef @.str.4)
  %4754 = call ptr @__errno_location() #12
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @strerror(i32 noundef %4755) #11
  %4757 = call ptr @__errno_location() #12
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4746, ptr noundef @.str.5, i32 noundef %4747, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 238, ptr noundef %4750, ptr noundef %4753, ptr noundef %4756, i32 noundef %4758) #11
  br label %4760

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

4761:                                             ; preds = %4760
  br label %4762

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

4763:                                             ; No predecessors!
  br label %4764

4764:                                             ; preds = %4763
  br label %4765

4765:                                             ; preds = %4764, %4706
  br label %4766

4766:                                             ; preds = %4765
  br label %4767

4767:                                             ; preds = %4766
  call void @llvm.lifetime.start.p0(i64 80, ptr %134) #11
  call void @llvm.memset.p0.i64(ptr align 8 %134, i8 0, i64 80, i1 false)
  br label %4768

4768:                                             ; preds = %4767
  %4769 = load i32, ptr @test_count, align 4, !tbaa !5
  %4770 = add nsw i32 %4769, 1
  store i32 %4770, ptr @test_count, align 4, !tbaa !5
  %4771 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %134)
  %4772 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  store i32 %4771, ptr %4772, align 4
  %4773 = getelementptr inbounds %struct.s2n_result, ptr %135, i32 0, i32 0
  %4774 = load i32, ptr %4773, align 4
  %4775 = call zeroext i1 @s2n_result_is_ok(i32 %4774)
  br i1 %4775, label %4829, label %4776

4776:                                             ; preds = %4768
  br label %4777

4777:                                             ; preds = %4776
  br label %4778

4778:                                             ; preds = %4777
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %4779 = call ptr @__errno_location() #12
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  store i32 %4780, ptr %136, align 4, !tbaa !5
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @s2n_print_stacktrace(ptr noundef %4781)
  %4783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4784 = trunc i8 %4783 to i1
  br i1 %4784, label %4785, label %4807

4785:                                             ; preds = %4778
  %4786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4787 = call i32 @fileno(ptr noundef %4786) #11
  %4788 = call i32 @isatty(i32 noundef %4787) #11
  %4789 = icmp ne i32 %4788, 0
  br i1 %4789, label %4790, label %4807

4790:                                             ; preds = %4785
  %4791 = load i32, ptr %136, align 4, !tbaa !5
  %4792 = call ptr @__errno_location() #12
  store i32 %4791, ptr %4792, align 4, !tbaa !5
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = load i32, ptr @test_count, align 4, !tbaa !5
  %4795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call ptr @s2n_strerror(i32 noundef %4796, ptr noundef @.str.4)
  %4798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror_debug(i32 noundef %4799, ptr noundef @.str.4)
  %4801 = call ptr @__errno_location() #12
  %4802 = load i32, ptr %4801, align 4, !tbaa !5
  %4803 = call ptr @strerror(i32 noundef %4802) #11
  %4804 = call ptr @__errno_location() #12
  %4805 = load i32, ptr %4804, align 4, !tbaa !5
  %4806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4793, ptr noundef @.str.2, i32 noundef %4794, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4797, ptr noundef %4800, ptr noundef %4803, i32 noundef %4805) #11
  br label %4824

4807:                                             ; preds = %4785, %4778
  %4808 = load i32, ptr %136, align 4, !tbaa !5
  %4809 = call ptr @__errno_location() #12
  store i32 %4808, ptr %4809, align 4, !tbaa !5
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @s2n_strerror(i32 noundef %4813, ptr noundef @.str.4)
  %4815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror_debug(i32 noundef %4816, ptr noundef @.str.4)
  %4818 = call ptr @__errno_location() #12
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @strerror(i32 noundef %4819) #11
  %4821 = call ptr @__errno_location() #12
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4810, ptr noundef @.str.5, i32 noundef %4811, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 241, ptr noundef %4814, ptr noundef %4817, ptr noundef %4820, i32 noundef %4822) #11
  br label %4824

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

4825:                                             ; preds = %4824
  br label %4826

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

4827:                                             ; No predecessors!
  br label %4828

4828:                                             ; preds = %4827
  br label %4829

4829:                                             ; preds = %4828, %4768
  br label %4830

4830:                                             ; preds = %4829
  br label %4831

4831:                                             ; preds = %4830
  br label %4832

4832:                                             ; preds = %4831
  %4833 = load i32, ptr @test_count, align 4, !tbaa !5
  %4834 = add nsw i32 %4833, 1
  store i32 %4834, ptr @test_count, align 4, !tbaa !5
  %4835 = load ptr, ptr %128, align 8, !tbaa !9
  %4836 = load ptr, ptr %130, align 8, !tbaa !9
  %4837 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4835, ptr noundef %4836, ptr noundef %134)
  %4838 = getelementptr inbounds %struct.s2n_result, ptr %137, i32 0, i32 0
  store i32 %4837, ptr %4838, align 4
  %4839 = getelementptr inbounds %struct.s2n_result, ptr %137, i32 0, i32 0
  %4840 = load i32, ptr %4839, align 4
  %4841 = call zeroext i1 @s2n_result_is_ok(i32 %4840)
  br i1 %4841, label %4895, label %4842

4842:                                             ; preds = %4832
  br label %4843

4843:                                             ; preds = %4842
  br label %4844

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

4851:                                             ; preds = %4844
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = call i32 @fileno(ptr noundef %4852) #11
  %4854 = call i32 @isatty(i32 noundef %4853) #11
  %4855 = icmp ne i32 %4854, 0
  br i1 %4855, label %4856, label %4873

4856:                                             ; preds = %4851
  %4857 = load i32, ptr %138, align 4, !tbaa !5
  %4858 = call ptr @__errno_location() #12
  store i32 %4857, ptr %4858, align 4, !tbaa !5
  %4859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4860 = load i32, ptr @test_count, align 4, !tbaa !5
  %4861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror(i32 noundef %4862, ptr noundef @.str.4)
  %4864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror_debug(i32 noundef %4865, ptr noundef @.str.4)
  %4867 = call ptr @__errno_location() #12
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call ptr @strerror(i32 noundef %4868) #11
  %4870 = call ptr @__errno_location() #12
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4859, ptr noundef @.str.2, i32 noundef %4860, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 242, ptr noundef %4863, ptr noundef %4866, ptr noundef %4869, i32 noundef %4871) #11
  br label %4890

4873:                                             ; preds = %4851, %4844
  %4874 = load i32, ptr %138, align 4, !tbaa !5
  %4875 = call ptr @__errno_location() #12
  store i32 %4874, ptr %4875, align 4, !tbaa !5
  %4876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4877 = load i32, ptr @test_count, align 4, !tbaa !5
  %4878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4879 = load i32, ptr %4878, align 4, !tbaa !5
  %4880 = call ptr @s2n_strerror(i32 noundef %4879, ptr noundef @.str.4)
  %4881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4882 = load i32, ptr %4881, align 4, !tbaa !5
  %4883 = call ptr @s2n_strerror_debug(i32 noundef %4882, ptr noundef @.str.4)
  %4884 = call ptr @__errno_location() #12
  %4885 = load i32, ptr %4884, align 4, !tbaa !5
  %4886 = call ptr @strerror(i32 noundef %4885) #11
  %4887 = call ptr @__errno_location() #12
  %4888 = load i32, ptr %4887, align 4, !tbaa !5
  %4889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4876, ptr noundef @.str.5, i32 noundef %4877, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 242, ptr noundef %4880, ptr noundef %4883, ptr noundef %4886, i32 noundef %4888) #11
  br label %4890

4890:                                             ; preds = %4873, %4856
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %4891

4891:                                             ; preds = %4890
  br label %4892

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

4893:                                             ; No predecessors!
  br label %4894

4894:                                             ; preds = %4893
  br label %4895

4895:                                             ; preds = %4894, %4832
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

4897:                                             ; preds = %4896
  br label %4898

4898:                                             ; preds = %4897
  %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 = load ptr, ptr %130, align 8, !tbaa !9
  %4902 = load ptr, ptr %128, align 8, !tbaa !9
  %4903 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4901, ptr noundef %4902)
  %4904 = icmp eq i32 %4903, -1
  br i1 %4904, label %4905, label %4958

4905:                                             ; preds = %4898
  br label %4906

4906:                                             ; preds = %4905
  br label %4907

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

4914:                                             ; preds = %4907
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = call i32 @fileno(ptr noundef %4915) #11
  %4917 = call i32 @isatty(i32 noundef %4916) #11
  %4918 = icmp ne i32 %4917, 0
  br i1 %4918, label %4919, label %4936

4919:                                             ; preds = %4914
  %4920 = load i32, ptr %139, align 4, !tbaa !5
  %4921 = call ptr @__errno_location() #12
  store i32 %4920, ptr %4921, align 4, !tbaa !5
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror(i32 noundef %4925, ptr noundef @.str.4)
  %4927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call ptr @s2n_strerror_debug(i32 noundef %4928, ptr noundef @.str.4)
  %4930 = call ptr @__errno_location() #12
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call ptr @strerror(i32 noundef %4931) #11
  %4933 = call ptr @__errno_location() #12
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  %4935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4922, ptr noundef @.str.2, i32 noundef %4923, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 243, ptr noundef %4926, ptr noundef %4929, ptr noundef %4932, i32 noundef %4934) #11
  br label %4953

4936:                                             ; preds = %4914, %4907
  %4937 = load i32, ptr %139, align 4, !tbaa !5
  %4938 = call ptr @__errno_location() #12
  store i32 %4937, ptr %4938, align 4, !tbaa !5
  %4939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4940 = load i32, ptr @test_count, align 4, !tbaa !5
  %4941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4942 = load i32, ptr %4941, align 4, !tbaa !5
  %4943 = call ptr @s2n_strerror(i32 noundef %4942, ptr noundef @.str.4)
  %4944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4945 = load i32, ptr %4944, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror_debug(i32 noundef %4945, ptr noundef @.str.4)
  %4947 = call ptr @__errno_location() #12
  %4948 = load i32, ptr %4947, align 4, !tbaa !5
  %4949 = call ptr @strerror(i32 noundef %4948) #11
  %4950 = call ptr @__errno_location() #12
  %4951 = load i32, ptr %4950, align 4, !tbaa !5
  %4952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4939, ptr noundef @.str.5, i32 noundef %4940, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 243, ptr noundef %4943, ptr noundef %4946, ptr noundef %4949, i32 noundef %4951) #11
  br label %4953

4953:                                             ; preds = %4936, %4919
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %4954

4954:                                             ; preds = %4953
  br label %4955

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

4956:                                             ; No predecessors!
  br label %4957

4957:                                             ; preds = %4956
  br label %4958

4958:                                             ; preds = %4957, %4898
  br label %4959

4959:                                             ; preds = %4958
  br label %4960

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

4961:                                             ; preds = %4960
  %4962 = load i32, ptr @test_count, align 4, !tbaa !5
  %4963 = add nsw i32 %4962, 1
  store i32 %4963, ptr @test_count, align 4, !tbaa !5
  %4964 = load ptr, ptr %130, align 8, !tbaa !9
  %4965 = call i32 @s2n_connection_set_counting_read(ptr noundef %4964, ptr noundef %140)
  %4966 = getelementptr inbounds %struct.s2n_result, ptr %141, i32 0, i32 0
  store i32 %4965, ptr %4966, align 4
  %4967 = getelementptr inbounds %struct.s2n_result, ptr %141, i32 0, i32 0
  %4968 = load i32, ptr %4967, align 4
  %4969 = call zeroext i1 @s2n_result_is_ok(i32 %4968)
  br i1 %4969, label %5023, label %4970

4970:                                             ; preds = %4961
  br label %4971

4971:                                             ; preds = %4970
  br label %4972

4972:                                             ; preds = %4971
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %4973 = call ptr @__errno_location() #12
  %4974 = load i32, ptr %4973, align 4, !tbaa !5
  store i32 %4974, ptr %142, align 4, !tbaa !5
  %4975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4976 = call i32 @s2n_print_stacktrace(ptr noundef %4975)
  %4977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4978 = trunc i8 %4977 to i1
  br i1 %4978, label %4979, label %5001

4979:                                             ; preds = %4972
  %4980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4981 = call i32 @fileno(ptr noundef %4980) #11
  %4982 = call i32 @isatty(i32 noundef %4981) #11
  %4983 = icmp ne i32 %4982, 0
  br i1 %4983, label %4984, label %5001

4984:                                             ; preds = %4979
  %4985 = load i32, ptr %142, align 4, !tbaa !5
  %4986 = call ptr @__errno_location() #12
  store i32 %4985, ptr %4986, align 4, !tbaa !5
  %4987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4988 = load i32, ptr @test_count, align 4, !tbaa !5
  %4989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @s2n_strerror(i32 noundef %4990, ptr noundef @.str.4)
  %4992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror_debug(i32 noundef %4993, ptr noundef @.str.4)
  %4995 = call ptr @__errno_location() #12
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @strerror(i32 noundef %4996) #11
  %4998 = call ptr @__errno_location() #12
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4987, ptr noundef @.str.2, i32 noundef %4988, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 246, ptr noundef %4991, ptr noundef %4994, ptr noundef %4997, i32 noundef %4999) #11
  br label %5018

5001:                                             ; preds = %4979, %4972
  %5002 = load i32, ptr %142, align 4, !tbaa !5
  %5003 = call ptr @__errno_location() #12
  store i32 %5002, ptr %5003, align 4, !tbaa !5
  %5004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5005 = load i32, ptr @test_count, align 4, !tbaa !5
  %5006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5007 = load i32, ptr %5006, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror(i32 noundef %5007, ptr noundef @.str.4)
  %5009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror_debug(i32 noundef %5010, ptr noundef @.str.4)
  %5012 = call ptr @__errno_location() #12
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @strerror(i32 noundef %5013) #11
  %5015 = call ptr @__errno_location() #12
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5004, ptr noundef @.str.5, i32 noundef %5005, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 246, ptr noundef %5008, ptr noundef %5011, ptr noundef %5014, i32 noundef %5016) #11
  br label %5018

5018:                                             ; preds = %5001, %4984
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %5019

5019:                                             ; preds = %5018
  br label %5020

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

5021:                                             ; No predecessors!
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

5023:                                             ; preds = %5022, %4961
  br label %5024

5024:                                             ; preds = %5023
  br label %5025

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

5026:                                             ; preds = %5096, %5025
  %5027 = load i64, ptr %144, align 8, !tbaa !15
  %5028 = icmp ult i64 %5027, 20
  br i1 %5028, label %5030, label %5029

5029:                                             ; preds = %5026
  store i32 453, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #11
  br label %5099

5030:                                             ; preds = %5026
  br label %5031

5031:                                             ; preds = %5030
  %5032 = load i32, ptr @test_count, align 4, !tbaa !5
  %5033 = add nsw i32 %5032, 1
  store i32 %5033, ptr @test_count, align 4, !tbaa !5
  %5034 = load ptr, ptr %128, align 8, !tbaa !9
  %5035 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %5036 = load i64, ptr %144, align 8, !tbaa !15
  %5037 = getelementptr inbounds i8, ptr %5035, i64 %5036
  %5038 = call i64 @s2n_send(ptr noundef %5034, ptr noundef %5037, i64 noundef 1, ptr noundef %143)
  %5039 = icmp eq i64 %5038, 1
  br i1 %5039, label %5093, label %5040

5040:                                             ; preds = %5031
  br label %5041

5041:                                             ; preds = %5040
  br label %5042

5042:                                             ; preds = %5041
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %5043 = call ptr @__errno_location() #12
  %5044 = load i32, ptr %5043, align 4, !tbaa !5
  store i32 %5044, ptr %145, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = call i32 @s2n_print_stacktrace(ptr noundef %5045)
  %5047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5048 = trunc i8 %5047 to i1
  br i1 %5048, label %5049, label %5071

5049:                                             ; preds = %5042
  %5050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5051 = call i32 @fileno(ptr noundef %5050) #11
  %5052 = call i32 @isatty(i32 noundef %5051) #11
  %5053 = icmp ne i32 %5052, 0
  br i1 %5053, label %5054, label %5071

5054:                                             ; preds = %5049
  %5055 = load i32, ptr %145, align 4, !tbaa !5
  %5056 = call ptr @__errno_location() #12
  store i32 %5055, ptr %5056, align 4, !tbaa !5
  %5057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5058 = load i32, ptr @test_count, align 4, !tbaa !5
  %5059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  %5061 = call ptr @s2n_strerror(i32 noundef %5060, ptr noundef @.str.4)
  %5062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5063 = load i32, ptr %5062, align 4, !tbaa !5
  %5064 = call ptr @s2n_strerror_debug(i32 noundef %5063, ptr noundef @.str.4)
  %5065 = call ptr @__errno_location() #12
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = call ptr @strerror(i32 noundef %5066) #11
  %5068 = call ptr @__errno_location() #12
  %5069 = load i32, ptr %5068, align 4, !tbaa !5
  %5070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5057, ptr noundef @.str.2, i32 noundef %5058, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5061, ptr noundef %5064, ptr noundef %5067, i32 noundef %5069) #11
  br label %5088

5071:                                             ; preds = %5049, %5042
  %5072 = load i32, ptr %145, align 4, !tbaa !5
  %5073 = call ptr @__errno_location() #12
  store i32 %5072, ptr %5073, align 4, !tbaa !5
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = load i32, ptr @test_count, align 4, !tbaa !5
  %5076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5077 = load i32, ptr %5076, align 4, !tbaa !5
  %5078 = call ptr @s2n_strerror(i32 noundef %5077, ptr noundef @.str.4)
  %5079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5080 = load i32, ptr %5079, align 4, !tbaa !5
  %5081 = call ptr @s2n_strerror_debug(i32 noundef %5080, ptr noundef @.str.4)
  %5082 = call ptr @__errno_location() #12
  %5083 = load i32, ptr %5082, align 4, !tbaa !5
  %5084 = call ptr @strerror(i32 noundef %5083) #11
  %5085 = call ptr @__errno_location() #12
  %5086 = load i32, ptr %5085, align 4, !tbaa !5
  %5087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5074, ptr noundef @.str.5, i32 noundef %5075, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5078, ptr noundef %5081, ptr noundef %5084, i32 noundef %5086) #11
  br label %5088

5088:                                             ; preds = %5071, %5054
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %5089

5089:                                             ; preds = %5088
  br label %5090

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

5091:                                             ; No predecessors!
  br label %5092

5092:                                             ; preds = %5091
  br label %5093

5093:                                             ; preds = %5092, %5031
  br label %5094

5094:                                             ; preds = %5093
  br label %5095

5095:                                             ; preds = %5094
  br label %5096

5096:                                             ; preds = %5095
  %5097 = load i64, ptr %144, align 8, !tbaa !15
  %5098 = add i64 %5097, 1
  store i64 %5098, ptr %144, align 8, !tbaa !15
  br label %5026, !llvm.loop !57

5099:                                             ; preds = %5029
  call void @llvm.lifetime.start.p0(i64 20, ptr %146) #11
  call void @llvm.memset.p0.i64(ptr align 16 %146, i8 0, i64 20, i1 false)
  br label %5100

5100:                                             ; preds = %5099
  %5101 = load i32, ptr @test_count, align 4, !tbaa !5
  %5102 = add nsw i32 %5101, 1
  store i32 %5102, ptr @test_count, align 4, !tbaa !5
  %5103 = load ptr, ptr %130, align 8, !tbaa !9
  %5104 = getelementptr inbounds [20 x i8], ptr %146, i64 0, i64 0
  %5105 = call i64 @s2n_recv(ptr noundef %5103, ptr noundef %5104, i64 noundef 20, ptr noundef %143)
  %5106 = icmp eq i64 %5105, 20
  br i1 %5106, label %5160, label %5107

5107:                                             ; preds = %5100
  br label %5108

5108:                                             ; preds = %5107
  br label %5109

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

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

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

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

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

5156:                                             ; preds = %5155
  br label %5157

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

5158:                                             ; No predecessors!
  br label %5159

5159:                                             ; preds = %5158
  br label %5160

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

5161:                                             ; preds = %5160
  br label %5162

5162:                                             ; preds = %5161
  br label %5163

5163:                                             ; preds = %5162
  br label %5164

5164:                                             ; preds = %5163
  %5165 = load i32, ptr @test_count, align 4, !tbaa !5
  %5166 = add nsw i32 %5165, 1
  store i32 %5166, ptr @test_count, align 4, !tbaa !5
  %5167 = getelementptr inbounds [20 x i8], ptr %146, i64 0, i64 0
  %5168 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %5169 = call i32 @memcmp(ptr noundef %5167, ptr noundef %5168, i64 noundef 20) #14
  %5170 = icmp eq i32 %5169, 0
  br i1 %5170, label %5224, label %5171

5171:                                             ; preds = %5164
  br label %5172

5172:                                             ; preds = %5171
  br label %5173

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

5180:                                             ; preds = %5173
  %5181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5182 = call i32 @fileno(ptr noundef %5181) #11
  %5183 = call i32 @isatty(i32 noundef %5182) #11
  %5184 = icmp ne i32 %5183, 0
  br i1 %5184, label %5185, label %5202

5185:                                             ; preds = %5180
  %5186 = load i32, ptr %148, align 4, !tbaa !5
  %5187 = call ptr @__errno_location() #12
  store i32 %5186, ptr %5187, align 4, !tbaa !5
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5189 = load i32, ptr @test_count, align 4, !tbaa !5
  %5190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror(i32 noundef %5191, ptr noundef @.str.4)
  %5193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror_debug(i32 noundef %5194, ptr noundef @.str.4)
  %5196 = call ptr @__errno_location() #12
  %5197 = load i32, ptr %5196, align 4, !tbaa !5
  %5198 = call ptr @strerror(i32 noundef %5197) #11
  %5199 = call ptr @__errno_location() #12
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5188, ptr noundef @.str.2, i32 noundef %5189, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5192, ptr noundef %5195, ptr noundef %5198, i32 noundef %5200) #11
  br label %5219

5202:                                             ; preds = %5180, %5173
  %5203 = load i32, ptr %148, align 4, !tbaa !5
  %5204 = call ptr @__errno_location() #12
  store i32 %5203, ptr %5204, align 4, !tbaa !5
  %5205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5206 = load i32, ptr @test_count, align 4, !tbaa !5
  %5207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5208 = load i32, ptr %5207, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror(i32 noundef %5208, ptr noundef @.str.4)
  %5210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  %5212 = call ptr @s2n_strerror_debug(i32 noundef %5211, ptr noundef @.str.4)
  %5213 = call ptr @__errno_location() #12
  %5214 = load i32, ptr %5213, align 4, !tbaa !5
  %5215 = call ptr @strerror(i32 noundef %5214) #11
  %5216 = call ptr @__errno_location() #12
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5205, ptr noundef @.str.5, i32 noundef %5206, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5209, ptr noundef %5212, ptr noundef %5215, i32 noundef %5217) #11
  br label %5219

5219:                                             ; preds = %5202, %5185
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

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

5222:                                             ; No predecessors!
  br label %5223

5223:                                             ; preds = %5222
  br label %5224

5224:                                             ; preds = %5223, %5164
  br label %5225

5225:                                             ; preds = %5224
  br label %5226

5226:                                             ; preds = %5225
  br label %5227

5227:                                             ; preds = %5226
  br label %5228

5228:                                             ; preds = %5227
  br label %5229

5229:                                             ; preds = %5228
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = add nsw i32 %5230, 1
  store i32 %5231, ptr @test_count, align 4, !tbaa !5
  %5232 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %140, i32 0, i32 0
  %5233 = load i64, ptr %5232, align 8, !tbaa !22
  %5234 = icmp eq i64 %5233, 1
  br i1 %5234, label %5288, label %5235

5235:                                             ; preds = %5229
  br label %5236

5236:                                             ; preds = %5235
  br label %5237

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

5244:                                             ; preds = %5237
  %5245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5246 = call i32 @fileno(ptr noundef %5245) #11
  %5247 = call i32 @isatty(i32 noundef %5246) #11
  %5248 = icmp ne i32 %5247, 0
  br i1 %5248, label %5249, label %5266

5249:                                             ; preds = %5244
  %5250 = load i32, ptr %149, align 4, !tbaa !5
  %5251 = call ptr @__errno_location() #12
  store i32 %5250, ptr %5251, align 4, !tbaa !5
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = load i32, ptr @test_count, align 4, !tbaa !5
  %5254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call ptr @s2n_strerror(i32 noundef %5255, ptr noundef @.str.4)
  %5257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call ptr @s2n_strerror_debug(i32 noundef %5258, ptr noundef @.str.4)
  %5260 = call ptr @__errno_location() #12
  %5261 = load i32, ptr %5260, align 4, !tbaa !5
  %5262 = call ptr @strerror(i32 noundef %5261) #11
  %5263 = call ptr @__errno_location() #12
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5252, ptr noundef @.str.2, i32 noundef %5253, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5256, ptr noundef %5259, ptr noundef %5262, i32 noundef %5264) #11
  br label %5283

5266:                                             ; preds = %5244, %5237
  %5267 = load i32, ptr %149, align 4, !tbaa !5
  %5268 = call ptr @__errno_location() #12
  store i32 %5267, ptr %5268, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = load i32, ptr @test_count, align 4, !tbaa !5
  %5271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = call ptr @s2n_strerror(i32 noundef %5272, ptr noundef @.str.4)
  %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_debug(i32 noundef %5275, ptr noundef @.str.4)
  %5277 = call ptr @__errno_location() #12
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call ptr @strerror(i32 noundef %5278) #11
  %5280 = call ptr @__errno_location() #12
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5269, ptr noundef @.str.5, i32 noundef %5270, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5273, ptr noundef %5276, ptr noundef %5279, i32 noundef %5281) #11
  br label %5283

5283:                                             ; preds = %5266, %5249
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %5284

5284:                                             ; preds = %5283
  br label %5285

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

5286:                                             ; No predecessors!
  br label %5287

5287:                                             ; preds = %5286
  br label %5288

5288:                                             ; preds = %5287, %5229
  br label %5289

5289:                                             ; preds = %5288
  br label %5290

5290:                                             ; preds = %5289
  call void @llvm.lifetime.end.p0(i64 20, ptr %146) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %140) #11
  %5291 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %134)
  %5292 = getelementptr inbounds %struct.s2n_result, ptr %150, i32 0, i32 0
  store i32 %5291, ptr %5292, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %134) #11
  %5293 = call i32 @s2n_connection_ptr_free(ptr noundef %130)
  %5294 = getelementptr inbounds %struct.s2n_result, ptr %151, i32 0, i32 0
  store i32 %5293, ptr %5294, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #11
  %5295 = call i32 @s2n_connection_ptr_free(ptr noundef %128)
  %5296 = getelementptr inbounds %struct.s2n_result, ptr %152, i32 0, i32 0
  store i32 %5295, ptr %5296, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #11
  store i64 0, ptr %153, align 8, !tbaa !15
  br label %5297

5297:                                             ; preds = %6893, %5290
  %5298 = load i64, ptr %153, align 8, !tbaa !15
  %5299 = load i32, ptr %47, align 4, !tbaa !5
  %5300 = zext i32 %5299 to i64
  %5301 = icmp ult i64 %5298, %5300
  br i1 %5301, label %5303, label %5302

5302:                                             ; preds = %5297
  store i32 482, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #11
  br label %6896

5303:                                             ; preds = %5297
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #11
  %5304 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %5304, ptr %154, align 8, !tbaa !9
  br label %5305

5305:                                             ; preds = %5303
  %5306 = load i32, ptr @test_count, align 4, !tbaa !5
  %5307 = add nsw i32 %5306, 1
  store i32 %5307, ptr @test_count, align 4, !tbaa !5
  %5308 = load ptr, ptr %154, align 8, !tbaa !9
  %5309 = load ptr, ptr %13, align 8, !tbaa !9
  %5310 = call i32 @s2n_connection_set_config(ptr noundef %5308, ptr noundef %5309)
  %5311 = icmp eq i32 %5310, -1
  br i1 %5311, label %5312, label %5365

5312:                                             ; preds = %5305
  br label %5313

5313:                                             ; preds = %5312
  br label %5314

5314:                                             ; preds = %5313
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %5315 = call ptr @__errno_location() #12
  %5316 = load i32, ptr %5315, align 4, !tbaa !5
  store i32 %5316, ptr %155, align 4, !tbaa !5
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = call i32 @s2n_print_stacktrace(ptr noundef %5317)
  %5319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5320 = trunc i8 %5319 to i1
  br i1 %5320, label %5321, label %5343

5321:                                             ; preds = %5314
  %5322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5323 = call i32 @fileno(ptr noundef %5322) #11
  %5324 = call i32 @isatty(i32 noundef %5323) #11
  %5325 = icmp ne i32 %5324, 0
  br i1 %5325, label %5326, label %5343

5326:                                             ; preds = %5321
  %5327 = load i32, ptr %155, align 4, !tbaa !5
  %5328 = call ptr @__errno_location() #12
  store i32 %5327, ptr %5328, align 4, !tbaa !5
  %5329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5330 = load i32, ptr @test_count, align 4, !tbaa !5
  %5331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call ptr @s2n_strerror(i32 noundef %5332, ptr noundef @.str.4)
  %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_debug(i32 noundef %5335, ptr noundef @.str.4)
  %5337 = call ptr @__errno_location() #12
  %5338 = load i32, ptr %5337, align 4, !tbaa !5
  %5339 = call ptr @strerror(i32 noundef %5338) #11
  %5340 = call ptr @__errno_location() #12
  %5341 = load i32, ptr %5340, align 4, !tbaa !5
  %5342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5329, ptr noundef @.str.2, i32 noundef %5330, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5333, ptr noundef %5336, ptr noundef %5339, i32 noundef %5341) #11
  br label %5360

5343:                                             ; preds = %5321, %5314
  %5344 = load i32, ptr %155, align 4, !tbaa !5
  %5345 = call ptr @__errno_location() #12
  store i32 %5344, ptr %5345, align 4, !tbaa !5
  %5346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5347 = load i32, ptr @test_count, align 4, !tbaa !5
  %5348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror(i32 noundef %5349, ptr noundef @.str.4)
  %5351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5352 = load i32, ptr %5351, align 4, !tbaa !5
  %5353 = call ptr @s2n_strerror_debug(i32 noundef %5352, ptr noundef @.str.4)
  %5354 = call ptr @__errno_location() #12
  %5355 = load i32, ptr %5354, align 4, !tbaa !5
  %5356 = call ptr @strerror(i32 noundef %5355) #11
  %5357 = call ptr @__errno_location() #12
  %5358 = load i32, ptr %5357, align 4, !tbaa !5
  %5359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5346, ptr noundef @.str.5, i32 noundef %5347, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5350, ptr noundef %5353, ptr noundef %5356, i32 noundef %5358) #11
  br label %5360

5360:                                             ; preds = %5343, %5326
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %5361

5361:                                             ; preds = %5360
  br label %5362

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

5363:                                             ; No predecessors!
  br label %5364

5364:                                             ; preds = %5363
  br label %5365

5365:                                             ; preds = %5364, %5305
  br label %5366

5366:                                             ; preds = %5365
  br label %5367

5367:                                             ; preds = %5366
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #11
  %5368 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %5368, ptr %156, align 8, !tbaa !9
  br label %5369

5369:                                             ; preds = %5367
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = add nsw i32 %5370, 1
  store i32 %5371, ptr @test_count, align 4, !tbaa !5
  %5372 = load ptr, ptr %156, align 8, !tbaa !9
  %5373 = load ptr, ptr %13, align 8, !tbaa !9
  %5374 = call i32 @s2n_connection_set_config(ptr noundef %5372, ptr noundef %5373)
  %5375 = icmp eq i32 %5374, -1
  br i1 %5375, label %5376, label %5429

5376:                                             ; preds = %5369
  br label %5377

5377:                                             ; preds = %5376
  br label %5378

5378:                                             ; preds = %5377
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %5379 = call ptr @__errno_location() #12
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  store i32 %5380, ptr %157, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = call i32 @s2n_print_stacktrace(ptr noundef %5381)
  %5383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5384 = trunc i8 %5383 to i1
  br i1 %5384, label %5385, label %5407

5385:                                             ; preds = %5378
  %5386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5387 = call i32 @fileno(ptr noundef %5386) #11
  %5388 = call i32 @isatty(i32 noundef %5387) #11
  %5389 = icmp ne i32 %5388, 0
  br i1 %5389, label %5390, label %5407

5390:                                             ; preds = %5385
  %5391 = load i32, ptr %157, align 4, !tbaa !5
  %5392 = call ptr @__errno_location() #12
  store i32 %5391, ptr %5392, align 4, !tbaa !5
  %5393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5394 = load i32, ptr @test_count, align 4, !tbaa !5
  %5395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5396 = load i32, ptr %5395, align 4, !tbaa !5
  %5397 = call ptr @s2n_strerror(i32 noundef %5396, ptr noundef @.str.4)
  %5398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call ptr @s2n_strerror_debug(i32 noundef %5399, ptr noundef @.str.4)
  %5401 = call ptr @__errno_location() #12
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  %5403 = call ptr @strerror(i32 noundef %5402) #11
  %5404 = call ptr @__errno_location() #12
  %5405 = load i32, ptr %5404, align 4, !tbaa !5
  %5406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5393, ptr noundef @.str.2, i32 noundef %5394, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 266, ptr noundef %5397, ptr noundef %5400, ptr noundef %5403, i32 noundef %5405) #11
  br label %5424

5407:                                             ; preds = %5385, %5378
  %5408 = load i32, ptr %157, align 4, !tbaa !5
  %5409 = call ptr @__errno_location() #12
  store i32 %5408, ptr %5409, align 4, !tbaa !5
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = load i32, ptr @test_count, align 4, !tbaa !5
  %5412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5413 = load i32, ptr %5412, align 4, !tbaa !5
  %5414 = call ptr @s2n_strerror(i32 noundef %5413, ptr noundef @.str.4)
  %5415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror_debug(i32 noundef %5416, ptr noundef @.str.4)
  %5418 = call ptr @__errno_location() #12
  %5419 = load i32, ptr %5418, align 4, !tbaa !5
  %5420 = call ptr @strerror(i32 noundef %5419) #11
  %5421 = call ptr @__errno_location() #12
  %5422 = load i32, ptr %5421, align 4, !tbaa !5
  %5423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5410, ptr noundef @.str.5, i32 noundef %5411, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 266, ptr noundef %5414, ptr noundef %5417, ptr noundef %5420, i32 noundef %5422) #11
  br label %5424

5424:                                             ; preds = %5407, %5390
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %5425

5425:                                             ; preds = %5424
  br label %5426

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

5427:                                             ; No predecessors!
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

5429:                                             ; preds = %5428, %5369
  br label %5430

5430:                                             ; preds = %5429
  br label %5431

5431:                                             ; preds = %5430
  br label %5432

5432:                                             ; preds = %5431
  %5433 = load i32, ptr @test_count, align 4, !tbaa !5
  %5434 = add nsw i32 %5433, 1
  store i32 %5434, ptr @test_count, align 4, !tbaa !5
  %5435 = load ptr, ptr %154, align 8, !tbaa !9
  %5436 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %5435, i1 noundef zeroext true)
  %5437 = icmp eq i32 %5436, -1
  br i1 %5437, label %5438, label %5491

5438:                                             ; preds = %5432
  br label %5439

5439:                                             ; preds = %5438
  br label %5440

5440:                                             ; preds = %5439
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %5441 = call ptr @__errno_location() #12
  %5442 = load i32, ptr %5441, align 4, !tbaa !5
  store i32 %5442, ptr %158, align 4, !tbaa !5
  %5443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5444 = call i32 @s2n_print_stacktrace(ptr noundef %5443)
  %5445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5446 = trunc i8 %5445 to i1
  br i1 %5446, label %5447, label %5469

5447:                                             ; preds = %5440
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @fileno(ptr noundef %5448) #11
  %5450 = call i32 @isatty(i32 noundef %5449) #11
  %5451 = icmp ne i32 %5450, 0
  br i1 %5451, label %5452, label %5469

5452:                                             ; preds = %5447
  %5453 = load i32, ptr %158, align 4, !tbaa !5
  %5454 = call ptr @__errno_location() #12
  store i32 %5453, ptr %5454, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = load i32, ptr @test_count, align 4, !tbaa !5
  %5457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror(i32 noundef %5458, ptr noundef @.str.4)
  %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_debug(i32 noundef %5461, ptr noundef @.str.4)
  %5463 = call ptr @__errno_location() #12
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call ptr @strerror(i32 noundef %5464) #11
  %5466 = call ptr @__errno_location() #12
  %5467 = load i32, ptr %5466, align 4, !tbaa !5
  %5468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5455, ptr noundef @.str.2, i32 noundef %5456, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 268, ptr noundef %5459, ptr noundef %5462, ptr noundef %5465, i32 noundef %5467) #11
  br label %5486

5469:                                             ; preds = %5447, %5440
  %5470 = load i32, ptr %158, align 4, !tbaa !5
  %5471 = call ptr @__errno_location() #12
  store i32 %5470, ptr %5471, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = load i32, ptr @test_count, align 4, !tbaa !5
  %5474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5475 = load i32, ptr %5474, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror(i32 noundef %5475, ptr noundef @.str.4)
  %5477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5478 = load i32, ptr %5477, align 4, !tbaa !5
  %5479 = call ptr @s2n_strerror_debug(i32 noundef %5478, ptr noundef @.str.4)
  %5480 = call ptr @__errno_location() #12
  %5481 = load i32, ptr %5480, align 4, !tbaa !5
  %5482 = call ptr @strerror(i32 noundef %5481) #11
  %5483 = call ptr @__errno_location() #12
  %5484 = load i32, ptr %5483, align 4, !tbaa !5
  %5485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5472, ptr noundef @.str.5, i32 noundef %5473, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 268, ptr noundef %5476, ptr noundef %5479, ptr noundef %5482, i32 noundef %5484) #11
  br label %5486

5486:                                             ; preds = %5469, %5452
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %5487

5487:                                             ; preds = %5486
  br label %5488

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

5489:                                             ; No predecessors!
  br label %5490

5490:                                             ; preds = %5489
  br label %5491

5491:                                             ; preds = %5490, %5432
  br label %5492

5492:                                             ; preds = %5491
  br label %5493

5493:                                             ; preds = %5492
  br label %5494

5494:                                             ; preds = %5493
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = add nsw i32 %5495, 1
  store i32 %5496, ptr @test_count, align 4, !tbaa !5
  %5497 = load ptr, ptr %156, align 8, !tbaa !9
  %5498 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %5497, i1 noundef zeroext true)
  %5499 = icmp eq i32 %5498, -1
  br i1 %5499, label %5500, label %5553

5500:                                             ; preds = %5494
  br label %5501

5501:                                             ; preds = %5500
  br label %5502

5502:                                             ; preds = %5501
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %5503 = call ptr @__errno_location() #12
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  store i32 %5504, ptr %159, align 4, !tbaa !5
  %5505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5506 = call i32 @s2n_print_stacktrace(ptr noundef %5505)
  %5507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5508 = trunc i8 %5507 to i1
  br i1 %5508, label %5509, label %5531

5509:                                             ; preds = %5502
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = call i32 @fileno(ptr noundef %5510) #11
  %5512 = call i32 @isatty(i32 noundef %5511) #11
  %5513 = icmp ne i32 %5512, 0
  br i1 %5513, label %5514, label %5531

5514:                                             ; preds = %5509
  %5515 = load i32, ptr %159, align 4, !tbaa !5
  %5516 = call ptr @__errno_location() #12
  store i32 %5515, ptr %5516, align 4, !tbaa !5
  %5517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5518 = load i32, ptr @test_count, align 4, !tbaa !5
  %5519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5520 = load i32, ptr %5519, align 4, !tbaa !5
  %5521 = call ptr @s2n_strerror(i32 noundef %5520, ptr noundef @.str.4)
  %5522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5523 = load i32, ptr %5522, align 4, !tbaa !5
  %5524 = call ptr @s2n_strerror_debug(i32 noundef %5523, ptr noundef @.str.4)
  %5525 = call ptr @__errno_location() #12
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call ptr @strerror(i32 noundef %5526) #11
  %5528 = call ptr @__errno_location() #12
  %5529 = load i32, ptr %5528, align 4, !tbaa !5
  %5530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5517, ptr noundef @.str.2, i32 noundef %5518, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 269, ptr noundef %5521, ptr noundef %5524, ptr noundef %5527, i32 noundef %5529) #11
  br label %5548

5531:                                             ; preds = %5509, %5502
  %5532 = load i32, ptr %159, align 4, !tbaa !5
  %5533 = call ptr @__errno_location() #12
  store i32 %5532, ptr %5533, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = load i32, ptr @test_count, align 4, !tbaa !5
  %5536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror(i32 noundef %5537, ptr noundef @.str.4)
  %5539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @s2n_strerror_debug(i32 noundef %5540, ptr noundef @.str.4)
  %5542 = call ptr @__errno_location() #12
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call ptr @strerror(i32 noundef %5543) #11
  %5545 = call ptr @__errno_location() #12
  %5546 = load i32, ptr %5545, align 4, !tbaa !5
  %5547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5534, ptr noundef @.str.5, i32 noundef %5535, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 269, ptr noundef %5538, ptr noundef %5541, ptr noundef %5544, i32 noundef %5546) #11
  br label %5548

5548:                                             ; preds = %5531, %5514
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %5549

5549:                                             ; preds = %5548
  br label %5550

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

5551:                                             ; No predecessors!
  br label %5552

5552:                                             ; preds = %5551
  br label %5553

5553:                                             ; preds = %5552, %5494
  br label %5554

5554:                                             ; preds = %5553
  br label %5555

5555:                                             ; preds = %5554
  call void @llvm.lifetime.start.p0(i64 80, ptr %160) #11
  call void @llvm.memset.p0.i64(ptr align 8 %160, i8 0, i64 80, i1 false)
  br label %5556

5556:                                             ; preds = %5555
  %5557 = load i32, ptr @test_count, align 4, !tbaa !5
  %5558 = add nsw i32 %5557, 1
  store i32 %5558, ptr @test_count, align 4, !tbaa !5
  %5559 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %160)
  %5560 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  store i32 %5559, ptr %5560, align 4
  %5561 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  %5562 = load i32, ptr %5561, align 4
  %5563 = call zeroext i1 @s2n_result_is_ok(i32 %5562)
  br i1 %5563, label %5617, label %5564

5564:                                             ; preds = %5556
  br label %5565

5565:                                             ; preds = %5564
  br label %5566

5566:                                             ; preds = %5565
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %5567 = call ptr @__errno_location() #12
  %5568 = load i32, ptr %5567, align 4, !tbaa !5
  store i32 %5568, ptr %162, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = call i32 @s2n_print_stacktrace(ptr noundef %5569)
  %5571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5572 = trunc i8 %5571 to i1
  br i1 %5572, label %5573, label %5595

5573:                                             ; preds = %5566
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = call i32 @fileno(ptr noundef %5574) #11
  %5576 = call i32 @isatty(i32 noundef %5575) #11
  %5577 = icmp ne i32 %5576, 0
  br i1 %5577, label %5578, label %5595

5578:                                             ; preds = %5573
  %5579 = load i32, ptr %162, align 4, !tbaa !5
  %5580 = call ptr @__errno_location() #12
  store i32 %5579, ptr %5580, align 4, !tbaa !5
  %5581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5582 = load i32, ptr @test_count, align 4, !tbaa !5
  %5583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5584 = load i32, ptr %5583, align 4, !tbaa !5
  %5585 = call ptr @s2n_strerror(i32 noundef %5584, ptr noundef @.str.4)
  %5586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5587 = load i32, ptr %5586, align 4, !tbaa !5
  %5588 = call ptr @s2n_strerror_debug(i32 noundef %5587, ptr noundef @.str.4)
  %5589 = call ptr @__errno_location() #12
  %5590 = load i32, ptr %5589, align 4, !tbaa !5
  %5591 = call ptr @strerror(i32 noundef %5590) #11
  %5592 = call ptr @__errno_location() #12
  %5593 = load i32, ptr %5592, align 4, !tbaa !5
  %5594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5581, ptr noundef @.str.2, i32 noundef %5582, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 272, ptr noundef %5585, ptr noundef %5588, ptr noundef %5591, i32 noundef %5593) #11
  br label %5612

5595:                                             ; preds = %5573, %5566
  %5596 = load i32, ptr %162, align 4, !tbaa !5
  %5597 = call ptr @__errno_location() #12
  store i32 %5596, ptr %5597, align 4, !tbaa !5
  %5598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5599 = load i32, ptr @test_count, align 4, !tbaa !5
  %5600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5601 = load i32, ptr %5600, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror(i32 noundef %5601, ptr noundef @.str.4)
  %5603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror_debug(i32 noundef %5604, ptr noundef @.str.4)
  %5606 = call ptr @__errno_location() #12
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @strerror(i32 noundef %5607) #11
  %5609 = call ptr @__errno_location() #12
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5598, ptr noundef @.str.5, i32 noundef %5599, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 272, ptr noundef %5602, ptr noundef %5605, ptr noundef %5608, i32 noundef %5610) #11
  br label %5612

5612:                                             ; preds = %5595, %5578
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %5613

5613:                                             ; preds = %5612
  br label %5614

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

5615:                                             ; No predecessors!
  br label %5616

5616:                                             ; preds = %5615
  br label %5617

5617:                                             ; preds = %5616, %5556
  br label %5618

5618:                                             ; preds = %5617
  br label %5619

5619:                                             ; preds = %5618
  br label %5620

5620:                                             ; preds = %5619
  %5621 = load i32, ptr @test_count, align 4, !tbaa !5
  %5622 = add nsw i32 %5621, 1
  store i32 %5622, ptr @test_count, align 4, !tbaa !5
  %5623 = load ptr, ptr %154, align 8, !tbaa !9
  %5624 = load ptr, ptr %156, align 8, !tbaa !9
  %5625 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5623, ptr noundef %5624, ptr noundef %160)
  %5626 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  store i32 %5625, ptr %5626, align 4
  %5627 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  %5628 = load i32, ptr %5627, align 4
  %5629 = call zeroext i1 @s2n_result_is_ok(i32 %5628)
  br i1 %5629, label %5683, label %5630

5630:                                             ; preds = %5620
  br label %5631

5631:                                             ; preds = %5630
  br label %5632

5632:                                             ; preds = %5631
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %5633 = call ptr @__errno_location() #12
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  store i32 %5634, ptr %164, align 4, !tbaa !5
  %5635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5636 = call i32 @s2n_print_stacktrace(ptr noundef %5635)
  %5637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5638 = trunc i8 %5637 to i1
  br i1 %5638, label %5639, label %5661

5639:                                             ; preds = %5632
  %5640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5641 = call i32 @fileno(ptr noundef %5640) #11
  %5642 = call i32 @isatty(i32 noundef %5641) #11
  %5643 = icmp ne i32 %5642, 0
  br i1 %5643, label %5644, label %5661

5644:                                             ; preds = %5639
  %5645 = load i32, ptr %164, align 4, !tbaa !5
  %5646 = call ptr @__errno_location() #12
  store i32 %5645, ptr %5646, align 4, !tbaa !5
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = load i32, ptr @test_count, align 4, !tbaa !5
  %5649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call ptr @s2n_strerror(i32 noundef %5650, ptr noundef @.str.4)
  %5652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5653 = load i32, ptr %5652, align 4, !tbaa !5
  %5654 = call ptr @s2n_strerror_debug(i32 noundef %5653, ptr noundef @.str.4)
  %5655 = call ptr @__errno_location() #12
  %5656 = load i32, ptr %5655, align 4, !tbaa !5
  %5657 = call ptr @strerror(i32 noundef %5656) #11
  %5658 = call ptr @__errno_location() #12
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5647, ptr noundef @.str.2, i32 noundef %5648, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 273, ptr noundef %5651, ptr noundef %5654, ptr noundef %5657, i32 noundef %5659) #11
  br label %5678

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

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

5679:                                             ; preds = %5678
  br label %5680

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

5681:                                             ; No predecessors!
  br label %5682

5682:                                             ; preds = %5681
  br label %5683

5683:                                             ; preds = %5682, %5620
  br label %5684

5684:                                             ; preds = %5683
  br label %5685

5685:                                             ; preds = %5684
  br label %5686

5686:                                             ; preds = %5685
  %5687 = load i32, ptr @test_count, align 4, !tbaa !5
  %5688 = add nsw i32 %5687, 1
  store i32 %5688, ptr @test_count, align 4, !tbaa !5
  %5689 = load ptr, ptr %156, align 8, !tbaa !9
  %5690 = load ptr, ptr %154, align 8, !tbaa !9
  %5691 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5689, ptr noundef %5690)
  %5692 = icmp eq i32 %5691, -1
  br i1 %5692, label %5693, label %5746

5693:                                             ; preds = %5686
  br label %5694

5694:                                             ; preds = %5693
  br label %5695

5695:                                             ; preds = %5694
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %5696 = call ptr @__errno_location() #12
  %5697 = load i32, ptr %5696, align 4, !tbaa !5
  store i32 %5697, ptr %165, align 4, !tbaa !5
  %5698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5699 = call i32 @s2n_print_stacktrace(ptr noundef %5698)
  %5700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5701 = trunc i8 %5700 to i1
  br i1 %5701, label %5702, label %5724

5702:                                             ; preds = %5695
  %5703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5704 = call i32 @fileno(ptr noundef %5703) #11
  %5705 = call i32 @isatty(i32 noundef %5704) #11
  %5706 = icmp ne i32 %5705, 0
  br i1 %5706, label %5707, label %5724

5707:                                             ; preds = %5702
  %5708 = load i32, ptr %165, align 4, !tbaa !5
  %5709 = call ptr @__errno_location() #12
  store i32 %5708, ptr %5709, align 4, !tbaa !5
  %5710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5711 = load i32, ptr @test_count, align 4, !tbaa !5
  %5712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror(i32 noundef %5713, ptr noundef @.str.4)
  %5715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call ptr @s2n_strerror_debug(i32 noundef %5716, ptr noundef @.str.4)
  %5718 = call ptr @__errno_location() #12
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call ptr @strerror(i32 noundef %5719) #11
  %5721 = call ptr @__errno_location() #12
  %5722 = load i32, ptr %5721, align 4, !tbaa !5
  %5723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5710, ptr noundef @.str.2, i32 noundef %5711, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 274, ptr noundef %5714, ptr noundef %5717, ptr noundef %5720, i32 noundef %5722) #11
  br label %5741

5724:                                             ; preds = %5702, %5695
  %5725 = load i32, ptr %165, align 4, !tbaa !5
  %5726 = call ptr @__errno_location() #12
  store i32 %5725, ptr %5726, align 4, !tbaa !5
  %5727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5728 = load i32, ptr @test_count, align 4, !tbaa !5
  %5729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5730 = load i32, ptr %5729, align 4, !tbaa !5
  %5731 = call ptr @s2n_strerror(i32 noundef %5730, ptr noundef @.str.4)
  %5732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5733 = load i32, ptr %5732, align 4, !tbaa !5
  %5734 = call ptr @s2n_strerror_debug(i32 noundef %5733, ptr noundef @.str.4)
  %5735 = call ptr @__errno_location() #12
  %5736 = load i32, ptr %5735, align 4, !tbaa !5
  %5737 = call ptr @strerror(i32 noundef %5736) #11
  %5738 = call ptr @__errno_location() #12
  %5739 = load i32, ptr %5738, align 4, !tbaa !5
  %5740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5727, ptr noundef @.str.5, i32 noundef %5728, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 274, ptr noundef %5731, ptr noundef %5734, ptr noundef %5737, i32 noundef %5739) #11
  br label %5741

5741:                                             ; preds = %5724, %5707
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %5742

5742:                                             ; preds = %5741
  br label %5743

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

5744:                                             ; No predecessors!
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

5746:                                             ; preds = %5745, %5686
  br label %5747

5747:                                             ; preds = %5746
  br label %5748

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

5749:                                             ; preds = %5748
  %5750 = load i32, ptr @test_count, align 4, !tbaa !5
  %5751 = add nsw i32 %5750, 1
  store i32 %5751, ptr @test_count, align 4, !tbaa !5
  %5752 = load ptr, ptr %156, align 8, !tbaa !9
  %5753 = call i32 @s2n_connection_set_counting_read(ptr noundef %5752, ptr noundef %166)
  %5754 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %5753, ptr %5754, align 4
  %5755 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %5756 = load i32, ptr %5755, align 4
  %5757 = call zeroext i1 @s2n_result_is_ok(i32 %5756)
  br i1 %5757, label %5811, label %5758

5758:                                             ; preds = %5749
  br label %5759

5759:                                             ; preds = %5758
  br label %5760

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

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

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

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

5806:                                             ; preds = %5789, %5772
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %5807

5807:                                             ; preds = %5806
  br label %5808

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

5809:                                             ; No predecessors!
  br label %5810

5810:                                             ; preds = %5809
  br label %5811

5811:                                             ; preds = %5810, %5749
  br label %5812

5812:                                             ; preds = %5811
  br label %5813

5813:                                             ; preds = %5812
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #11
  store i64 0, ptr %169, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  store i32 0, ptr %170, align 4, !tbaa !5
  br label %5814

5814:                                             ; preds = %5813
  %5815 = load i32, ptr @test_count, align 4, !tbaa !5
  %5816 = add nsw i32 %5815, 1
  store i32 %5816, ptr @test_count, align 4, !tbaa !5
  %5817 = load ptr, ptr %154, align 8, !tbaa !9
  %5818 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %5819 = call i64 @s2n_send(ptr noundef %5817, ptr noundef %5818, i64 noundef 20, ptr noundef %170)
  %5820 = icmp eq i64 %5819, 20
  br i1 %5820, label %5874, label %5821

5821:                                             ; preds = %5814
  br label %5822

5822:                                             ; preds = %5821
  br label %5823

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

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

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

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

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

5870:                                             ; preds = %5869
  br label %5871

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

5872:                                             ; No predecessors!
  br label %5873

5873:                                             ; preds = %5872
  br label %5874

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

5875:                                             ; preds = %5874
  br label %5876

5876:                                             ; preds = %5875
  br label %5877

5877:                                             ; preds = %5876
  %5878 = load i32, ptr @test_count, align 4, !tbaa !5
  %5879 = add nsw i32 %5878, 1
  store i32 %5879, ptr @test_count, align 4, !tbaa !5
  %5880 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %5881 = getelementptr inbounds %struct.s2n_stuffer, ptr %5880, i32 0, i32 2
  %5882 = load i32, ptr %5881, align 4, !tbaa !17
  %5883 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %5884 = getelementptr inbounds %struct.s2n_stuffer, ptr %5883, i32 0, i32 1
  %5885 = load i32, ptr %5884, align 8, !tbaa !21
  %5886 = sub i32 %5882, %5885
  %5887 = load i32, ptr %47, align 4, !tbaa !5
  %5888 = icmp eq i32 %5886, %5887
  br i1 %5888, label %5942, label %5889

5889:                                             ; preds = %5877
  br label %5890

5890:                                             ; preds = %5889
  br label %5891

5891:                                             ; preds = %5890
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %5892 = call ptr @__errno_location() #12
  %5893 = load i32, ptr %5892, align 4, !tbaa !5
  store i32 %5893, ptr %172, align 4, !tbaa !5
  %5894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5895 = call i32 @s2n_print_stacktrace(ptr noundef %5894)
  %5896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5897 = trunc i8 %5896 to i1
  br i1 %5897, label %5898, label %5920

5898:                                             ; preds = %5891
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = call i32 @fileno(ptr noundef %5899) #11
  %5901 = call i32 @isatty(i32 noundef %5900) #11
  %5902 = icmp ne i32 %5901, 0
  br i1 %5902, label %5903, label %5920

5903:                                             ; preds = %5898
  %5904 = load i32, ptr %172, align 4, !tbaa !5
  %5905 = call ptr @__errno_location() #12
  store i32 %5904, ptr %5905, align 4, !tbaa !5
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = load i32, ptr @test_count, align 4, !tbaa !5
  %5908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5909 = load i32, ptr %5908, align 4, !tbaa !5
  %5910 = call ptr @s2n_strerror(i32 noundef %5909, ptr noundef @.str.4)
  %5911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5912 = load i32, ptr %5911, align 4, !tbaa !5
  %5913 = call ptr @s2n_strerror_debug(i32 noundef %5912, ptr noundef @.str.4)
  %5914 = call ptr @__errno_location() #12
  %5915 = load i32, ptr %5914, align 4, !tbaa !5
  %5916 = call ptr @strerror(i32 noundef %5915) #11
  %5917 = call ptr @__errno_location() #12
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5906, ptr noundef @.str.2, i32 noundef %5907, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 285, ptr noundef %5910, ptr noundef %5913, ptr noundef %5916, i32 noundef %5918) #11
  br label %5937

5920:                                             ; preds = %5898, %5891
  %5921 = load i32, ptr %172, align 4, !tbaa !5
  %5922 = call ptr @__errno_location() #12
  store i32 %5921, ptr %5922, align 4, !tbaa !5
  %5923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5924 = load i32, ptr @test_count, align 4, !tbaa !5
  %5925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5926 = load i32, ptr %5925, align 4, !tbaa !5
  %5927 = call ptr @s2n_strerror(i32 noundef %5926, ptr noundef @.str.4)
  %5928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  %5930 = call ptr @s2n_strerror_debug(i32 noundef %5929, ptr noundef @.str.4)
  %5931 = call ptr @__errno_location() #12
  %5932 = load i32, ptr %5931, align 4, !tbaa !5
  %5933 = call ptr @strerror(i32 noundef %5932) #11
  %5934 = call ptr @__errno_location() #12
  %5935 = load i32, ptr %5934, align 4, !tbaa !5
  %5936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5923, ptr noundef @.str.5, i32 noundef %5924, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 285, ptr noundef %5927, ptr noundef %5930, ptr noundef %5933, i32 noundef %5935) #11
  br label %5937

5937:                                             ; preds = %5920, %5903
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %5938

5938:                                             ; preds = %5937
  br label %5939

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

5940:                                             ; No predecessors!
  br label %5941

5941:                                             ; preds = %5940
  br label %5942

5942:                                             ; preds = %5941, %5877
  br label %5943

5943:                                             ; preds = %5942
  br label %5944

5944:                                             ; preds = %5943
  br label %5945

5945:                                             ; preds = %5944
  %5946 = load i32, ptr @test_count, align 4, !tbaa !5
  %5947 = add nsw i32 %5946, 1
  store i32 %5947, ptr @test_count, align 4, !tbaa !5
  %5948 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %5949 = load ptr, ptr %156, align 8, !tbaa !9
  %5950 = getelementptr inbounds %struct.s2n_connection, ptr %5949, i32 0, i32 39
  %5951 = load i64, ptr %153, align 8, !tbaa !15
  %5952 = trunc i64 %5951 to i32
  %5953 = call i32 @s2n_stuffer_copy(ptr noundef %5948, ptr noundef %5950, i32 noundef %5952)
  %5954 = icmp eq i32 %5953, -1
  br i1 %5954, label %5955, label %6008

5955:                                             ; preds = %5945
  br label %5956

5956:                                             ; preds = %5955
  br label %5957

5957:                                             ; preds = %5956
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %5958 = call ptr @__errno_location() #12
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  store i32 %5959, ptr %173, align 4, !tbaa !5
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = call i32 @s2n_print_stacktrace(ptr noundef %5960)
  %5962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5963 = trunc i8 %5962 to i1
  br i1 %5963, label %5964, label %5986

5964:                                             ; preds = %5957
  %5965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5966 = call i32 @fileno(ptr noundef %5965) #11
  %5967 = call i32 @isatty(i32 noundef %5966) #11
  %5968 = icmp ne i32 %5967, 0
  br i1 %5968, label %5969, label %5986

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

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

6003:                                             ; preds = %5986, %5969
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %6004

6004:                                             ; preds = %6003
  br label %6005

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

6006:                                             ; No predecessors!
  br label %6007

6007:                                             ; preds = %6006
  br label %6008

6008:                                             ; preds = %6007, %5945
  br label %6009

6009:                                             ; preds = %6008
  br label %6010

6010:                                             ; preds = %6009
  call void @llvm.lifetime.start.p0(i64 20, ptr %174) #11
  call void @llvm.memset.p0.i64(ptr align 16 %174, i8 0, i64 20, i1 false)
  br label %6011

6011:                                             ; preds = %6010
  %6012 = load i32, ptr @test_count, align 4, !tbaa !5
  %6013 = add nsw i32 %6012, 1
  store i32 %6013, ptr @test_count, align 4, !tbaa !5
  %6014 = load ptr, ptr %156, align 8, !tbaa !9
  %6015 = getelementptr inbounds [20 x i8], ptr %174, i64 0, i64 0
  %6016 = call i64 @s2n_recv(ptr noundef %6014, ptr noundef %6015, i64 noundef 20, ptr noundef %170)
  %6017 = icmp eq i64 %6016, 20
  br i1 %6017, label %6071, label %6018

6018:                                             ; preds = %6011
  br label %6019

6019:                                             ; preds = %6018
  br label %6020

6020:                                             ; preds = %6019
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %6021 = call ptr @__errno_location() #12
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  store i32 %6022, ptr %175, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = call i32 @s2n_print_stacktrace(ptr noundef %6023)
  %6025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6026 = trunc i8 %6025 to i1
  br i1 %6026, label %6027, label %6049

6027:                                             ; preds = %6020
  %6028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6029 = call i32 @fileno(ptr noundef %6028) #11
  %6030 = call i32 @isatty(i32 noundef %6029) #11
  %6031 = icmp ne i32 %6030, 0
  br i1 %6031, label %6032, label %6049

6032:                                             ; preds = %6027
  %6033 = load i32, ptr %175, align 4, !tbaa !5
  %6034 = call ptr @__errno_location() #12
  store i32 %6033, ptr %6034, align 4, !tbaa !5
  %6035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6036 = load i32, ptr @test_count, align 4, !tbaa !5
  %6037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6038 = load i32, ptr %6037, align 4, !tbaa !5
  %6039 = call ptr @s2n_strerror(i32 noundef %6038, ptr noundef @.str.4)
  %6040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6041 = load i32, ptr %6040, align 4, !tbaa !5
  %6042 = call ptr @s2n_strerror_debug(i32 noundef %6041, ptr noundef @.str.4)
  %6043 = call ptr @__errno_location() #12
  %6044 = load i32, ptr %6043, align 4, !tbaa !5
  %6045 = call ptr @strerror(i32 noundef %6044) #11
  %6046 = call ptr @__errno_location() #12
  %6047 = load i32, ptr %6046, align 4, !tbaa !5
  %6048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6035, ptr noundef @.str.2, i32 noundef %6036, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 289, ptr noundef %6039, ptr noundef %6042, ptr noundef %6045, i32 noundef %6047) #11
  br label %6066

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

6066:                                             ; preds = %6049, %6032
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %6067

6067:                                             ; preds = %6066
  br label %6068

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

6069:                                             ; No predecessors!
  br label %6070

6070:                                             ; preds = %6069
  br label %6071

6071:                                             ; preds = %6070, %6011
  br label %6072

6072:                                             ; preds = %6071
  br label %6073

6073:                                             ; preds = %6072
  br label %6074

6074:                                             ; preds = %6073
  br label %6075

6075:                                             ; preds = %6074
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = add nsw i32 %6076, 1
  store i32 %6077, ptr @test_count, align 4, !tbaa !5
  %6078 = getelementptr inbounds [20 x i8], ptr %174, i64 0, i64 0
  %6079 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %6080 = call i32 @memcmp(ptr noundef %6078, ptr noundef %6079, i64 noundef 20) #14
  %6081 = icmp eq i32 %6080, 0
  br i1 %6081, label %6135, label %6082

6082:                                             ; preds = %6075
  br label %6083

6083:                                             ; preds = %6082
  br label %6084

6084:                                             ; preds = %6083
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %6085 = call ptr @__errno_location() #12
  %6086 = load i32, ptr %6085, align 4, !tbaa !5
  store i32 %6086, ptr %176, align 4, !tbaa !5
  %6087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6088 = call i32 @s2n_print_stacktrace(ptr noundef %6087)
  %6089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6090 = trunc i8 %6089 to i1
  br i1 %6090, label %6091, label %6113

6091:                                             ; preds = %6084
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = call i32 @fileno(ptr noundef %6092) #11
  %6094 = call i32 @isatty(i32 noundef %6093) #11
  %6095 = icmp ne i32 %6094, 0
  br i1 %6095, label %6096, label %6113

6096:                                             ; preds = %6091
  %6097 = load i32, ptr %176, align 4, !tbaa !5
  %6098 = call ptr @__errno_location() #12
  store i32 %6097, ptr %6098, align 4, !tbaa !5
  %6099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6100 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6102, ptr noundef @.str.4)
  %6104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6105 = load i32, ptr %6104, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror_debug(i32 noundef %6105, ptr noundef @.str.4)
  %6107 = call ptr @__errno_location() #12
  %6108 = load i32, ptr %6107, align 4, !tbaa !5
  %6109 = call ptr @strerror(i32 noundef %6108) #11
  %6110 = call ptr @__errno_location() #12
  %6111 = load i32, ptr %6110, align 4, !tbaa !5
  %6112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6099, ptr noundef @.str.2, i32 noundef %6100, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6103, ptr noundef %6106, ptr noundef %6109, i32 noundef %6111) #11
  br label %6130

6113:                                             ; preds = %6091, %6084
  %6114 = load i32, ptr %176, align 4, !tbaa !5
  %6115 = call ptr @__errno_location() #12
  store i32 %6114, ptr %6115, align 4, !tbaa !5
  %6116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6117 = load i32, ptr @test_count, align 4, !tbaa !5
  %6118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6119 = load i32, ptr %6118, align 4, !tbaa !5
  %6120 = call ptr @s2n_strerror(i32 noundef %6119, ptr noundef @.str.4)
  %6121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6122 = load i32, ptr %6121, align 4, !tbaa !5
  %6123 = call ptr @s2n_strerror_debug(i32 noundef %6122, ptr noundef @.str.4)
  %6124 = call ptr @__errno_location() #12
  %6125 = load i32, ptr %6124, align 4, !tbaa !5
  %6126 = call ptr @strerror(i32 noundef %6125) #11
  %6127 = call ptr @__errno_location() #12
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  %6129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6116, ptr noundef @.str.5, i32 noundef %6117, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6120, ptr noundef %6123, ptr noundef %6126, i32 noundef %6128) #11
  br label %6130

6130:                                             ; preds = %6113, %6096
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %6131

6131:                                             ; preds = %6130
  br label %6132

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

6133:                                             ; No predecessors!
  br label %6134

6134:                                             ; preds = %6133
  br label %6135

6135:                                             ; preds = %6134, %6075
  br label %6136

6136:                                             ; preds = %6135
  br label %6137

6137:                                             ; preds = %6136
  br label %6138

6138:                                             ; preds = %6137
  br label %6139

6139:                                             ; preds = %6138
  %6140 = load i64, ptr %169, align 8, !tbaa !15
  %6141 = add i64 %6140, 1
  store i64 %6141, ptr %169, align 8, !tbaa !15
  br label %6142

6142:                                             ; preds = %6139
  %6143 = load i32, ptr @test_count, align 4, !tbaa !5
  %6144 = add nsw i32 %6143, 1
  store i32 %6144, ptr @test_count, align 4, !tbaa !5
  %6145 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %166, i32 0, i32 0
  %6146 = load i64, ptr %6145, align 8, !tbaa !22
  %6147 = load i64, ptr %169, align 8, !tbaa !15
  %6148 = icmp eq i64 %6146, %6147
  br i1 %6148, label %6202, label %6149

6149:                                             ; preds = %6142
  br label %6150

6150:                                             ; preds = %6149
  br label %6151

6151:                                             ; preds = %6150
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %6152 = call ptr @__errno_location() #12
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  store i32 %6153, ptr %177, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = call i32 @s2n_print_stacktrace(ptr noundef %6154)
  %6156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6157 = trunc i8 %6156 to i1
  br i1 %6157, label %6158, label %6180

6158:                                             ; preds = %6151
  %6159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6160 = call i32 @fileno(ptr noundef %6159) #11
  %6161 = call i32 @isatty(i32 noundef %6160) #11
  %6162 = icmp ne i32 %6161, 0
  br i1 %6162, label %6163, label %6180

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

6180:                                             ; preds = %6158, %6151
  %6181 = load i32, ptr %177, align 4, !tbaa !5
  %6182 = call ptr @__errno_location() #12
  store i32 %6181, ptr %6182, align 4, !tbaa !5
  %6183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6184 = load i32, ptr @test_count, align 4, !tbaa !5
  %6185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6186 = load i32, ptr %6185, align 4, !tbaa !5
  %6187 = call ptr @s2n_strerror(i32 noundef %6186, ptr noundef @.str.4)
  %6188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6189 = load i32, ptr %6188, align 4, !tbaa !5
  %6190 = call ptr @s2n_strerror_debug(i32 noundef %6189, ptr noundef @.str.4)
  %6191 = call ptr @__errno_location() #12
  %6192 = load i32, ptr %6191, align 4, !tbaa !5
  %6193 = call ptr @strerror(i32 noundef %6192) #11
  %6194 = call ptr @__errno_location() #12
  %6195 = load i32, ptr %6194, align 4, !tbaa !5
  %6196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6183, ptr noundef @.str.5, i32 noundef %6184, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 292, ptr noundef %6187, ptr noundef %6190, ptr noundef %6193, i32 noundef %6195) #11
  br label %6197

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

6198:                                             ; preds = %6197
  br label %6199

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

6200:                                             ; No predecessors!
  br label %6201

6201:                                             ; preds = %6200
  br label %6202

6202:                                             ; preds = %6201, %6142
  br label %6203

6203:                                             ; preds = %6202
  br label %6204

6204:                                             ; preds = %6203
  call void @llvm.lifetime.end.p0(i64 20, ptr %174) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  store i32 0, ptr %178, align 4, !tbaa !5
  br label %6205

6205:                                             ; preds = %6204
  %6206 = load i32, ptr @test_count, align 4, !tbaa !5
  %6207 = add nsw i32 %6206, 1
  store i32 %6207, ptr @test_count, align 4, !tbaa !5
  %6208 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6209 = getelementptr inbounds %struct.s2n_stuffer, ptr %6208, i32 0, i32 2
  %6210 = load i32, ptr %6209, align 4, !tbaa !17
  %6211 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6212 = getelementptr inbounds %struct.s2n_stuffer, ptr %6211, i32 0, i32 1
  %6213 = load i32, ptr %6212, align 8, !tbaa !21
  %6214 = sub i32 %6210, %6213
  %6215 = icmp eq i32 %6214, 0
  br i1 %6215, label %6269, label %6216

6216:                                             ; preds = %6205
  br label %6217

6217:                                             ; preds = %6216
  br label %6218

6218:                                             ; preds = %6217
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %6219 = call ptr @__errno_location() #12
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  store i32 %6220, ptr %179, align 4, !tbaa !5
  %6221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6222 = call i32 @s2n_print_stacktrace(ptr noundef %6221)
  %6223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6224 = trunc i8 %6223 to i1
  br i1 %6224, label %6225, label %6247

6225:                                             ; preds = %6218
  %6226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6227 = call i32 @fileno(ptr noundef %6226) #11
  %6228 = call i32 @isatty(i32 noundef %6227) #11
  %6229 = icmp ne i32 %6228, 0
  br i1 %6229, label %6230, label %6247

6230:                                             ; preds = %6225
  %6231 = load i32, ptr %179, align 4, !tbaa !5
  %6232 = call ptr @__errno_location() #12
  store i32 %6231, ptr %6232, align 4, !tbaa !5
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = load i32, ptr @test_count, align 4, !tbaa !5
  %6235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  %6237 = call ptr @s2n_strerror(i32 noundef %6236, ptr noundef @.str.4)
  %6238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6239 = load i32, ptr %6238, align 4, !tbaa !5
  %6240 = call ptr @s2n_strerror_debug(i32 noundef %6239, ptr noundef @.str.4)
  %6241 = call ptr @__errno_location() #12
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call ptr @strerror(i32 noundef %6242) #11
  %6244 = call ptr @__errno_location() #12
  %6245 = load i32, ptr %6244, align 4, !tbaa !5
  %6246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6233, ptr noundef @.str.2, i32 noundef %6234, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 298, ptr noundef %6237, ptr noundef %6240, ptr noundef %6243, i32 noundef %6245) #11
  br label %6264

6247:                                             ; preds = %6225, %6218
  %6248 = load i32, ptr %179, align 4, !tbaa !5
  %6249 = call ptr @__errno_location() #12
  store i32 %6248, ptr %6249, align 4, !tbaa !5
  %6250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6251 = load i32, ptr @test_count, align 4, !tbaa !5
  %6252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6253 = load i32, ptr %6252, align 4, !tbaa !5
  %6254 = call ptr @s2n_strerror(i32 noundef %6253, ptr noundef @.str.4)
  %6255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6256 = load i32, ptr %6255, align 4, !tbaa !5
  %6257 = call ptr @s2n_strerror_debug(i32 noundef %6256, ptr noundef @.str.4)
  %6258 = call ptr @__errno_location() #12
  %6259 = load i32, ptr %6258, align 4, !tbaa !5
  %6260 = call ptr @strerror(i32 noundef %6259) #11
  %6261 = call ptr @__errno_location() #12
  %6262 = load i32, ptr %6261, align 4, !tbaa !5
  %6263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6250, ptr noundef @.str.5, i32 noundef %6251, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 298, ptr noundef %6254, ptr noundef %6257, ptr noundef %6260, i32 noundef %6262) #11
  br label %6264

6264:                                             ; preds = %6247, %6230
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %6265

6265:                                             ; preds = %6264
  br label %6266

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

6267:                                             ; No predecessors!
  br label %6268

6268:                                             ; preds = %6267
  br label %6269

6269:                                             ; preds = %6268, %6205
  br label %6270

6270:                                             ; preds = %6269
  br label %6271

6271:                                             ; preds = %6270
  br label %6272

6272:                                             ; preds = %6271
  %6273 = load i32, ptr @test_count, align 4, !tbaa !5
  %6274 = add nsw i32 %6273, 1
  store i32 %6274, ptr @test_count, align 4, !tbaa !5
  %6275 = load ptr, ptr %154, align 8, !tbaa !9
  %6276 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %6277 = call i64 @s2n_send(ptr noundef %6275, ptr noundef %6276, i64 noundef 20, ptr noundef %178)
  %6278 = icmp eq i64 %6277, 20
  br i1 %6278, label %6332, label %6279

6279:                                             ; preds = %6272
  br label %6280

6280:                                             ; preds = %6279
  br label %6281

6281:                                             ; preds = %6280
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %6282 = call ptr @__errno_location() #12
  %6283 = load i32, ptr %6282, align 4, !tbaa !5
  store i32 %6283, ptr %180, align 4, !tbaa !5
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @s2n_print_stacktrace(ptr noundef %6284)
  %6286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6287 = trunc i8 %6286 to i1
  br i1 %6287, label %6288, label %6310

6288:                                             ; preds = %6281
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = call i32 @fileno(ptr noundef %6289) #11
  %6291 = call i32 @isatty(i32 noundef %6290) #11
  %6292 = icmp ne i32 %6291, 0
  br i1 %6292, label %6293, label %6310

6293:                                             ; preds = %6288
  %6294 = load i32, ptr %180, align 4, !tbaa !5
  %6295 = call ptr @__errno_location() #12
  store i32 %6294, ptr %6295, align 4, !tbaa !5
  %6296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6297 = load i32, ptr @test_count, align 4, !tbaa !5
  %6298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror(i32 noundef %6299, ptr noundef @.str.4)
  %6301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call ptr @s2n_strerror_debug(i32 noundef %6302, ptr noundef @.str.4)
  %6304 = call ptr @__errno_location() #12
  %6305 = load i32, ptr %6304, align 4, !tbaa !5
  %6306 = call ptr @strerror(i32 noundef %6305) #11
  %6307 = call ptr @__errno_location() #12
  %6308 = load i32, ptr %6307, align 4, !tbaa !5
  %6309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6296, ptr noundef @.str.2, i32 noundef %6297, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 299, ptr noundef %6300, ptr noundef %6303, ptr noundef %6306, i32 noundef %6308) #11
  br label %6327

6310:                                             ; preds = %6288, %6281
  %6311 = load i32, ptr %180, align 4, !tbaa !5
  %6312 = call ptr @__errno_location() #12
  store i32 %6311, ptr %6312, align 4, !tbaa !5
  %6313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6314 = load i32, ptr @test_count, align 4, !tbaa !5
  %6315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @s2n_strerror(i32 noundef %6316, ptr noundef @.str.4)
  %6318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @s2n_strerror_debug(i32 noundef %6319, ptr noundef @.str.4)
  %6321 = call ptr @__errno_location() #12
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @strerror(i32 noundef %6322) #11
  %6324 = call ptr @__errno_location() #12
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6313, ptr noundef @.str.5, i32 noundef %6314, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 299, ptr noundef %6317, ptr noundef %6320, ptr noundef %6323, i32 noundef %6325) #11
  br label %6327

6327:                                             ; preds = %6310, %6293
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %6328

6328:                                             ; preds = %6327
  br label %6329

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

6330:                                             ; No predecessors!
  br label %6331

6331:                                             ; preds = %6330
  br label %6332

6332:                                             ; preds = %6331, %6272
  br label %6333

6333:                                             ; preds = %6332
  br label %6334

6334:                                             ; preds = %6333
  br label %6335

6335:                                             ; preds = %6334
  %6336 = load i32, ptr @test_count, align 4, !tbaa !5
  %6337 = add nsw i32 %6336, 1
  store i32 %6337, ptr @test_count, align 4, !tbaa !5
  %6338 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6339 = getelementptr inbounds %struct.s2n_stuffer, ptr %6338, i32 0, i32 2
  %6340 = load i32, ptr %6339, align 4, !tbaa !17
  %6341 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6342 = getelementptr inbounds %struct.s2n_stuffer, ptr %6341, i32 0, i32 1
  %6343 = load i32, ptr %6342, align 8, !tbaa !21
  %6344 = sub i32 %6340, %6343
  %6345 = load i32, ptr %47, align 4, !tbaa !5
  %6346 = icmp eq i32 %6344, %6345
  br i1 %6346, label %6400, label %6347

6347:                                             ; preds = %6335
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

6349:                                             ; preds = %6348
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %6350 = call ptr @__errno_location() #12
  %6351 = load i32, ptr %6350, align 4, !tbaa !5
  store i32 %6351, ptr %181, align 4, !tbaa !5
  %6352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6353 = call i32 @s2n_print_stacktrace(ptr noundef %6352)
  %6354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6355 = trunc i8 %6354 to i1
  br i1 %6355, label %6356, label %6378

6356:                                             ; preds = %6349
  %6357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6358 = call i32 @fileno(ptr noundef %6357) #11
  %6359 = call i32 @isatty(i32 noundef %6358) #11
  %6360 = icmp ne i32 %6359, 0
  br i1 %6360, label %6361, label %6378

6361:                                             ; preds = %6356
  %6362 = load i32, ptr %181, align 4, !tbaa !5
  %6363 = call ptr @__errno_location() #12
  store i32 %6362, ptr %6363, align 4, !tbaa !5
  %6364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6365 = load i32, ptr @test_count, align 4, !tbaa !5
  %6366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6367 = load i32, ptr %6366, align 4, !tbaa !5
  %6368 = call ptr @s2n_strerror(i32 noundef %6367, ptr noundef @.str.4)
  %6369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6370 = load i32, ptr %6369, align 4, !tbaa !5
  %6371 = call ptr @s2n_strerror_debug(i32 noundef %6370, ptr noundef @.str.4)
  %6372 = call ptr @__errno_location() #12
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  %6374 = call ptr @strerror(i32 noundef %6373) #11
  %6375 = call ptr @__errno_location() #12
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  %6377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6364, ptr noundef @.str.2, i32 noundef %6365, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 300, ptr noundef %6368, ptr noundef %6371, ptr noundef %6374, i32 noundef %6376) #11
  br label %6395

6378:                                             ; preds = %6356, %6349
  %6379 = load i32, ptr %181, align 4, !tbaa !5
  %6380 = call ptr @__errno_location() #12
  store i32 %6379, ptr %6380, align 4, !tbaa !5
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = load i32, ptr @test_count, align 4, !tbaa !5
  %6383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6384 = load i32, ptr %6383, align 4, !tbaa !5
  %6385 = call ptr @s2n_strerror(i32 noundef %6384, ptr noundef @.str.4)
  %6386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6387 = load i32, ptr %6386, align 4, !tbaa !5
  %6388 = call ptr @s2n_strerror_debug(i32 noundef %6387, ptr noundef @.str.4)
  %6389 = call ptr @__errno_location() #12
  %6390 = load i32, ptr %6389, align 4, !tbaa !5
  %6391 = call ptr @strerror(i32 noundef %6390) #11
  %6392 = call ptr @__errno_location() #12
  %6393 = load i32, ptr %6392, align 4, !tbaa !5
  %6394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6381, ptr noundef @.str.5, i32 noundef %6382, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 300, ptr noundef %6385, ptr noundef %6388, ptr noundef %6391, i32 noundef %6393) #11
  br label %6395

6395:                                             ; preds = %6378, %6361
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %6396

6396:                                             ; preds = %6395
  br label %6397

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

6398:                                             ; No predecessors!
  br label %6399

6399:                                             ; preds = %6398
  br label %6400

6400:                                             ; preds = %6399, %6335
  br label %6401

6401:                                             ; preds = %6400
  br label %6402

6402:                                             ; preds = %6401
  %6403 = load i32, ptr %47, align 4, !tbaa !5
  %6404 = zext i32 %6403 to i64
  %6405 = load i64, ptr %153, align 8, !tbaa !15
  %6406 = sub i64 %6404, %6405
  %6407 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6408 = getelementptr inbounds %struct.s2n_stuffer, ptr %6407, i32 0, i32 2
  %6409 = load i32, ptr %6408, align 4, !tbaa !17
  %6410 = zext i32 %6409 to i64
  %6411 = sub i64 %6410, %6406
  %6412 = trunc i64 %6411 to i32
  store i32 %6412, ptr %6408, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 20, ptr %182) #11
  call void @llvm.memset.p0.i64(ptr align 16 %182, i8 0, i64 20, i1 false)
  br label %6413

6413:                                             ; preds = %6402
  br label %6414

6414:                                             ; preds = %6413
  br label %6415

6415:                                             ; preds = %6414
  %6416 = load i32, ptr @test_count, align 4, !tbaa !5
  %6417 = add nsw i32 %6416, 1
  store i32 %6417, ptr @test_count, align 4, !tbaa !5
  %6418 = load ptr, ptr %156, align 8, !tbaa !9
  %6419 = getelementptr inbounds [20 x i8], ptr %182, i64 0, i64 0
  %6420 = call i64 @s2n_recv(ptr noundef %6418, ptr noundef %6419, i64 noundef 20, ptr noundef %178)
  %6421 = icmp eq i64 %6420, -1
  br i1 %6421, label %6475, label %6422

6422:                                             ; preds = %6415
  br label %6423

6423:                                             ; preds = %6422
  br label %6424

6424:                                             ; preds = %6423
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %6425 = call ptr @__errno_location() #12
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  store i32 %6426, ptr %183, align 4, !tbaa !5
  %6427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6428 = call i32 @s2n_print_stacktrace(ptr noundef %6427)
  %6429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6430 = trunc i8 %6429 to i1
  br i1 %6430, label %6431, label %6453

6431:                                             ; preds = %6424
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @fileno(ptr noundef %6432) #11
  %6434 = call i32 @isatty(i32 noundef %6433) #11
  %6435 = icmp ne i32 %6434, 0
  br i1 %6435, label %6436, label %6453

6436:                                             ; preds = %6431
  %6437 = load i32, ptr %183, align 4, !tbaa !5
  %6438 = call ptr @__errno_location() #12
  store i32 %6437, ptr %6438, align 4, !tbaa !5
  %6439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6440 = load i32, ptr @test_count, align 4, !tbaa !5
  %6441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6442 = load i32, ptr %6441, align 4, !tbaa !5
  %6443 = call ptr @s2n_strerror(i32 noundef %6442, ptr noundef @.str.4)
  %6444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6445 = load i32, ptr %6444, align 4, !tbaa !5
  %6446 = call ptr @s2n_strerror_debug(i32 noundef %6445, ptr noundef @.str.4)
  %6447 = call ptr @__errno_location() #12
  %6448 = load i32, ptr %6447, align 4, !tbaa !5
  %6449 = call ptr @strerror(i32 noundef %6448) #11
  %6450 = call ptr @__errno_location() #12
  %6451 = load i32, ptr %6450, align 4, !tbaa !5
  %6452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6439, ptr noundef @.str.2, i32 noundef %6440, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6443, ptr noundef %6446, ptr noundef %6449, i32 noundef %6451) #11
  br label %6470

6453:                                             ; preds = %6431, %6424
  %6454 = load i32, ptr %183, align 4, !tbaa !5
  %6455 = call ptr @__errno_location() #12
  store i32 %6454, ptr %6455, align 4, !tbaa !5
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = load i32, ptr @test_count, align 4, !tbaa !5
  %6458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6459 = load i32, ptr %6458, align 4, !tbaa !5
  %6460 = call ptr @s2n_strerror(i32 noundef %6459, ptr noundef @.str.4)
  %6461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  %6463 = call ptr @s2n_strerror_debug(i32 noundef %6462, ptr noundef @.str.4)
  %6464 = call ptr @__errno_location() #12
  %6465 = load i32, ptr %6464, align 4, !tbaa !5
  %6466 = call ptr @strerror(i32 noundef %6465) #11
  %6467 = call ptr @__errno_location() #12
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  %6469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6456, ptr noundef @.str.5, i32 noundef %6457, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6460, ptr noundef %6463, ptr noundef %6466, i32 noundef %6468) #11
  br label %6470

6470:                                             ; preds = %6453, %6436
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %6471

6471:                                             ; preds = %6470
  br label %6472

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

6473:                                             ; No predecessors!
  br label %6474

6474:                                             ; preds = %6473
  br label %6475

6475:                                             ; preds = %6474, %6415
  br label %6476

6476:                                             ; preds = %6475
  br label %6477

6477:                                             ; preds = %6476
  br label %6478

6478:                                             ; preds = %6477
  %6479 = load i32, ptr @test_count, align 4, !tbaa !5
  %6480 = add nsw i32 %6479, 1
  store i32 %6480, ptr @test_count, align 4, !tbaa !5
  %6481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = icmp eq i32 %6482, 201326592
  br i1 %6483, label %6537, label %6484

6484:                                             ; preds = %6478
  br label %6485

6485:                                             ; preds = %6484
  br label %6486

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

6493:                                             ; preds = %6486
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = call i32 @fileno(ptr noundef %6494) #11
  %6496 = call i32 @isatty(i32 noundef %6495) #11
  %6497 = icmp ne i32 %6496, 0
  br i1 %6497, label %6498, label %6515

6498:                                             ; preds = %6493
  %6499 = load i32, ptr %184, align 4, !tbaa !5
  %6500 = call ptr @__errno_location() #12
  store i32 %6499, ptr %6500, align 4, !tbaa !5
  %6501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6502 = load i32, ptr @test_count, align 4, !tbaa !5
  %6503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6504 = load i32, ptr %6503, align 4, !tbaa !5
  %6505 = call ptr @s2n_strerror(i32 noundef %6504, ptr noundef @.str.4)
  %6506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6507 = load i32, ptr %6506, align 4, !tbaa !5
  %6508 = call ptr @s2n_strerror_debug(i32 noundef %6507, ptr noundef @.str.4)
  %6509 = call ptr @__errno_location() #12
  %6510 = load i32, ptr %6509, align 4, !tbaa !5
  %6511 = call ptr @strerror(i32 noundef %6510) #11
  %6512 = call ptr @__errno_location() #12
  %6513 = load i32, ptr %6512, align 4, !tbaa !5
  %6514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6501, ptr noundef @.str.2, i32 noundef %6502, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6505, ptr noundef %6508, ptr noundef %6511, i32 noundef %6513) #11
  br label %6532

6515:                                             ; preds = %6493, %6486
  %6516 = load i32, ptr %184, align 4, !tbaa !5
  %6517 = call ptr @__errno_location() #12
  store i32 %6516, ptr %6517, align 4, !tbaa !5
  %6518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6519 = load i32, ptr @test_count, align 4, !tbaa !5
  %6520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6521 = load i32, ptr %6520, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror(i32 noundef %6521, ptr noundef @.str.4)
  %6523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6524 = load i32, ptr %6523, align 4, !tbaa !5
  %6525 = call ptr @s2n_strerror_debug(i32 noundef %6524, ptr noundef @.str.4)
  %6526 = call ptr @__errno_location() #12
  %6527 = load i32, ptr %6526, align 4, !tbaa !5
  %6528 = call ptr @strerror(i32 noundef %6527) #11
  %6529 = call ptr @__errno_location() #12
  %6530 = load i32, ptr %6529, align 4, !tbaa !5
  %6531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6518, ptr noundef @.str.5, i32 noundef %6519, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6522, ptr noundef %6525, ptr noundef %6528, i32 noundef %6530) #11
  br label %6532

6532:                                             ; preds = %6515, %6498
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %6533

6533:                                             ; preds = %6532
  br label %6534

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

6535:                                             ; No predecessors!
  br label %6536

6536:                                             ; preds = %6535
  br label %6537

6537:                                             ; preds = %6536, %6478
  br label %6538

6538:                                             ; preds = %6537
  br label %6539

6539:                                             ; preds = %6538
  br label %6540

6540:                                             ; preds = %6539
  %6541 = load i32, ptr @test_count, align 4, !tbaa !5
  %6542 = add nsw i32 %6541, 1
  store i32 %6542, ptr @test_count, align 4, !tbaa !5
  %6543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror_debug(i32 noundef %6544, ptr noundef @.str.4)
  %6546 = icmp eq ptr %6545, null
  br i1 %6546, label %6547, label %6600

6547:                                             ; preds = %6540
  br label %6548

6548:                                             ; preds = %6547
  br label %6549

6549:                                             ; preds = %6548
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %6550 = call ptr @__errno_location() #12
  %6551 = load i32, ptr %6550, align 4, !tbaa !5
  store i32 %6551, ptr %185, align 4, !tbaa !5
  %6552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6553 = call i32 @s2n_print_stacktrace(ptr noundef %6552)
  %6554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6555 = trunc i8 %6554 to i1
  br i1 %6555, label %6556, label %6578

6556:                                             ; preds = %6549
  %6557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6558 = call i32 @fileno(ptr noundef %6557) #11
  %6559 = call i32 @isatty(i32 noundef %6558) #11
  %6560 = icmp ne i32 %6559, 0
  br i1 %6560, label %6561, label %6578

6561:                                             ; preds = %6556
  %6562 = load i32, ptr %185, align 4, !tbaa !5
  %6563 = call ptr @__errno_location() #12
  store i32 %6562, ptr %6563, align 4, !tbaa !5
  %6564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6565 = load i32, ptr @test_count, align 4, !tbaa !5
  %6566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6567 = load i32, ptr %6566, align 4, !tbaa !5
  %6568 = call ptr @s2n_strerror(i32 noundef %6567, ptr noundef @.str.4)
  %6569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  %6571 = call ptr @s2n_strerror_debug(i32 noundef %6570, ptr noundef @.str.4)
  %6572 = call ptr @__errno_location() #12
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  %6574 = call ptr @strerror(i32 noundef %6573) #11
  %6575 = call ptr @__errno_location() #12
  %6576 = load i32, ptr %6575, align 4, !tbaa !5
  %6577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6564, ptr noundef @.str.2, i32 noundef %6565, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6568, ptr noundef %6571, ptr noundef %6574, i32 noundef %6576) #11
  br label %6595

6578:                                             ; preds = %6556, %6549
  %6579 = load i32, ptr %185, align 4, !tbaa !5
  %6580 = call ptr @__errno_location() #12
  store i32 %6579, ptr %6580, align 4, !tbaa !5
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = load i32, ptr @test_count, align 4, !tbaa !5
  %6583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6584 = load i32, ptr %6583, align 4, !tbaa !5
  %6585 = call ptr @s2n_strerror(i32 noundef %6584, ptr noundef @.str.4)
  %6586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6587 = load i32, ptr %6586, align 4, !tbaa !5
  %6588 = call ptr @s2n_strerror_debug(i32 noundef %6587, ptr noundef @.str.4)
  %6589 = call ptr @__errno_location() #12
  %6590 = load i32, ptr %6589, align 4, !tbaa !5
  %6591 = call ptr @strerror(i32 noundef %6590) #11
  %6592 = call ptr @__errno_location() #12
  %6593 = load i32, ptr %6592, align 4, !tbaa !5
  %6594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6581, ptr noundef @.str.5, i32 noundef %6582, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 306, ptr noundef %6585, ptr noundef %6588, ptr noundef %6591, i32 noundef %6593) #11
  br label %6595

6595:                                             ; preds = %6578, %6561
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %6596

6596:                                             ; preds = %6595
  br label %6597

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

6598:                                             ; No predecessors!
  br label %6599

6599:                                             ; preds = %6598
  br label %6600

6600:                                             ; preds = %6599, %6540
  br label %6601

6601:                                             ; preds = %6600
  br label %6602

6602:                                             ; preds = %6601
  br label %6603

6603:                                             ; preds = %6602
  br label %6604

6604:                                             ; preds = %6603
  br label %6605

6605:                                             ; preds = %6604
  %6606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6606, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6607 = call ptr @__errno_location() #12
  store i32 0, ptr %6607, align 4, !tbaa !5
  br label %6608

6608:                                             ; preds = %6605
  br label %6609

6609:                                             ; preds = %6608
  br label %6610

6610:                                             ; preds = %6609
  br label %6611

6611:                                             ; preds = %6610
  %6612 = load i64, ptr %169, align 8, !tbaa !15
  %6613 = add i64 %6612, 1
  store i64 %6613, ptr %169, align 8, !tbaa !15
  %6614 = load i64, ptr %153, align 8, !tbaa !15
  %6615 = icmp ne i64 %6614, 0
  br i1 %6615, label %6616, label %6619

6616:                                             ; preds = %6611
  %6617 = load i64, ptr %169, align 8, !tbaa !15
  %6618 = add i64 %6617, 1
  store i64 %6618, ptr %169, align 8, !tbaa !15
  br label %6619

6619:                                             ; preds = %6616, %6611
  br label %6620

6620:                                             ; preds = %6619
  %6621 = load i32, ptr @test_count, align 4, !tbaa !5
  %6622 = add nsw i32 %6621, 1
  store i32 %6622, ptr @test_count, align 4, !tbaa !5
  %6623 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %166, i32 0, i32 0
  %6624 = load i64, ptr %6623, align 8, !tbaa !22
  %6625 = load i64, ptr %169, align 8, !tbaa !15
  %6626 = icmp eq i64 %6624, %6625
  br i1 %6626, label %6680, label %6627

6627:                                             ; preds = %6620
  br label %6628

6628:                                             ; preds = %6627
  br label %6629

6629:                                             ; preds = %6628
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %6630 = call ptr @__errno_location() #12
  %6631 = load i32, ptr %6630, align 4, !tbaa !5
  store i32 %6631, ptr %186, align 4, !tbaa !5
  %6632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6633 = call i32 @s2n_print_stacktrace(ptr noundef %6632)
  %6634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6635 = trunc i8 %6634 to i1
  br i1 %6635, label %6636, label %6658

6636:                                             ; preds = %6629
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = call i32 @fileno(ptr noundef %6637) #11
  %6639 = call i32 @isatty(i32 noundef %6638) #11
  %6640 = icmp ne i32 %6639, 0
  br i1 %6640, label %6641, label %6658

6641:                                             ; preds = %6636
  %6642 = load i32, ptr %186, align 4, !tbaa !5
  %6643 = call ptr @__errno_location() #12
  store i32 %6642, ptr %6643, align 4, !tbaa !5
  %6644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6645 = load i32, ptr @test_count, align 4, !tbaa !5
  %6646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6647 = load i32, ptr %6646, align 4, !tbaa !5
  %6648 = call ptr @s2n_strerror(i32 noundef %6647, ptr noundef @.str.4)
  %6649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6650 = load i32, ptr %6649, align 4, !tbaa !5
  %6651 = call ptr @s2n_strerror_debug(i32 noundef %6650, ptr noundef @.str.4)
  %6652 = call ptr @__errno_location() #12
  %6653 = load i32, ptr %6652, align 4, !tbaa !5
  %6654 = call ptr @strerror(i32 noundef %6653) #11
  %6655 = call ptr @__errno_location() #12
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6644, ptr noundef @.str.2, i32 noundef %6645, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 313, ptr noundef %6648, ptr noundef %6651, ptr noundef %6654, i32 noundef %6656) #11
  br label %6675

6658:                                             ; preds = %6636, %6629
  %6659 = load i32, ptr %186, align 4, !tbaa !5
  %6660 = call ptr @__errno_location() #12
  store i32 %6659, ptr %6660, align 4, !tbaa !5
  %6661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6662 = load i32, ptr @test_count, align 4, !tbaa !5
  %6663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6664 = load i32, ptr %6663, align 4, !tbaa !5
  %6665 = call ptr @s2n_strerror(i32 noundef %6664, ptr noundef @.str.4)
  %6666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6667 = load i32, ptr %6666, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror_debug(i32 noundef %6667, ptr noundef @.str.4)
  %6669 = call ptr @__errno_location() #12
  %6670 = load i32, ptr %6669, align 4, !tbaa !5
  %6671 = call ptr @strerror(i32 noundef %6670) #11
  %6672 = call ptr @__errno_location() #12
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6661, ptr noundef @.str.5, i32 noundef %6662, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 313, ptr noundef %6665, ptr noundef %6668, ptr noundef %6671, i32 noundef %6673) #11
  br label %6675

6675:                                             ; preds = %6658, %6641
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %6676

6676:                                             ; preds = %6675
  br label %6677

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

6678:                                             ; No predecessors!
  br label %6679

6679:                                             ; preds = %6678
  br label %6680

6680:                                             ; preds = %6679, %6620
  br label %6681

6681:                                             ; preds = %6680
  br label %6682

6682:                                             ; preds = %6681
  %6683 = load i32, ptr %47, align 4, !tbaa !5
  %6684 = zext i32 %6683 to i64
  %6685 = load i64, ptr %153, align 8, !tbaa !15
  %6686 = sub i64 %6684, %6685
  %6687 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %160, i32 0, i32 1
  %6688 = getelementptr inbounds %struct.s2n_stuffer, ptr %6687, i32 0, i32 2
  %6689 = load i32, ptr %6688, align 4, !tbaa !17
  %6690 = zext i32 %6689 to i64
  %6691 = add i64 %6690, %6686
  %6692 = trunc i64 %6691 to i32
  store i32 %6692, ptr %6688, align 4, !tbaa !17
  br label %6693

6693:                                             ; preds = %6682
  %6694 = load i32, ptr @test_count, align 4, !tbaa !5
  %6695 = add nsw i32 %6694, 1
  store i32 %6695, ptr @test_count, align 4, !tbaa !5
  %6696 = load ptr, ptr %156, align 8, !tbaa !9
  %6697 = getelementptr inbounds [20 x i8], ptr %182, i64 0, i64 0
  %6698 = call i64 @s2n_recv(ptr noundef %6696, ptr noundef %6697, i64 noundef 20, ptr noundef %178)
  %6699 = icmp eq i64 %6698, 20
  br i1 %6699, label %6753, label %6700

6700:                                             ; preds = %6693
  br label %6701

6701:                                             ; preds = %6700
  br label %6702

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

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

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

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

6748:                                             ; preds = %6731, %6714
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %6749

6749:                                             ; preds = %6748
  br label %6750

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

6751:                                             ; No predecessors!
  br label %6752

6752:                                             ; preds = %6751
  br label %6753

6753:                                             ; preds = %6752, %6693
  br label %6754

6754:                                             ; preds = %6753
  br label %6755

6755:                                             ; preds = %6754
  br label %6756

6756:                                             ; preds = %6755
  br label %6757

6757:                                             ; preds = %6756
  %6758 = load i32, ptr @test_count, align 4, !tbaa !5
  %6759 = add nsw i32 %6758, 1
  store i32 %6759, ptr @test_count, align 4, !tbaa !5
  %6760 = getelementptr inbounds [20 x i8], ptr %182, i64 0, i64 0
  %6761 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %6762 = call i32 @memcmp(ptr noundef %6760, ptr noundef %6761, i64 noundef 20) #14
  %6763 = icmp eq i32 %6762, 0
  br i1 %6763, label %6817, label %6764

6764:                                             ; preds = %6757
  br label %6765

6765:                                             ; preds = %6764
  br label %6766

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

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

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

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

6812:                                             ; preds = %6795, %6778
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %6813

6813:                                             ; preds = %6812
  br label %6814

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

6815:                                             ; No predecessors!
  br label %6816

6816:                                             ; preds = %6815
  br label %6817

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

6818:                                             ; preds = %6817
  br label %6819

6819:                                             ; preds = %6818
  br label %6820

6820:                                             ; preds = %6819
  br label %6821

6821:                                             ; preds = %6820
  %6822 = load i64, ptr %169, align 8, !tbaa !15
  %6823 = add i64 %6822, 1
  store i64 %6823, ptr %169, align 8, !tbaa !15
  br label %6824

6824:                                             ; preds = %6821
  %6825 = load i32, ptr @test_count, align 4, !tbaa !5
  %6826 = add nsw i32 %6825, 1
  store i32 %6826, ptr @test_count, align 4, !tbaa !5
  %6827 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %166, i32 0, i32 0
  %6828 = load i64, ptr %6827, align 8, !tbaa !22
  %6829 = load i64, ptr %169, align 8, !tbaa !15
  %6830 = icmp eq i64 %6828, %6829
  br i1 %6830, label %6884, label %6831

6831:                                             ; preds = %6824
  br label %6832

6832:                                             ; preds = %6831
  br label %6833

6833:                                             ; preds = %6832
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %6834 = call ptr @__errno_location() #12
  %6835 = load i32, ptr %6834, align 4, !tbaa !5
  store i32 %6835, ptr %189, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = call i32 @s2n_print_stacktrace(ptr noundef %6836)
  %6838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6839 = trunc i8 %6838 to i1
  br i1 %6839, label %6840, label %6862

6840:                                             ; preds = %6833
  %6841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6842 = call i32 @fileno(ptr noundef %6841) #11
  %6843 = call i32 @isatty(i32 noundef %6842) #11
  %6844 = icmp ne i32 %6843, 0
  br i1 %6844, label %6845, label %6862

6845:                                             ; preds = %6840
  %6846 = load i32, ptr %189, align 4, !tbaa !5
  %6847 = call ptr @__errno_location() #12
  store i32 %6846, ptr %6847, align 4, !tbaa !5
  %6848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6849 = load i32, ptr @test_count, align 4, !tbaa !5
  %6850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @s2n_strerror(i32 noundef %6851, ptr noundef @.str.4)
  %6853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror_debug(i32 noundef %6854, ptr noundef @.str.4)
  %6856 = call ptr @__errno_location() #12
  %6857 = load i32, ptr %6856, align 4, !tbaa !5
  %6858 = call ptr @strerror(i32 noundef %6857) #11
  %6859 = call ptr @__errno_location() #12
  %6860 = load i32, ptr %6859, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6848, ptr noundef @.str.2, i32 noundef %6849, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 320, ptr noundef %6852, ptr noundef %6855, ptr noundef %6858, i32 noundef %6860) #11
  br label %6879

6862:                                             ; preds = %6840, %6833
  %6863 = load i32, ptr %189, align 4, !tbaa !5
  %6864 = call ptr @__errno_location() #12
  store i32 %6863, ptr %6864, align 4, !tbaa !5
  %6865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6866 = load i32, ptr @test_count, align 4, !tbaa !5
  %6867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6868 = load i32, ptr %6867, align 4, !tbaa !5
  %6869 = call ptr @s2n_strerror(i32 noundef %6868, ptr noundef @.str.4)
  %6870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6871 = load i32, ptr %6870, align 4, !tbaa !5
  %6872 = call ptr @s2n_strerror_debug(i32 noundef %6871, ptr noundef @.str.4)
  %6873 = call ptr @__errno_location() #12
  %6874 = load i32, ptr %6873, align 4, !tbaa !5
  %6875 = call ptr @strerror(i32 noundef %6874) #11
  %6876 = call ptr @__errno_location() #12
  %6877 = load i32, ptr %6876, align 4, !tbaa !5
  %6878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6865, ptr noundef @.str.5, i32 noundef %6866, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 320, ptr noundef %6869, ptr noundef %6872, ptr noundef %6875, i32 noundef %6877) #11
  br label %6879

6879:                                             ; preds = %6862, %6845
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %6880

6880:                                             ; preds = %6879
  br label %6881

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

6882:                                             ; No predecessors!
  br label %6883

6883:                                             ; preds = %6882
  br label %6884

6884:                                             ; preds = %6883, %6824
  br label %6885

6885:                                             ; preds = %6884
  br label %6886

6886:                                             ; preds = %6885
  call void @llvm.lifetime.end.p0(i64 20, ptr %182) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %166) #11
  %6887 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %160)
  %6888 = getelementptr inbounds %struct.s2n_result, ptr %190, i32 0, i32 0
  store i32 %6887, ptr %6888, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %160) #11
  %6889 = call i32 @s2n_connection_ptr_free(ptr noundef %156)
  %6890 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %6889, ptr %6890, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #11
  %6891 = call i32 @s2n_connection_ptr_free(ptr noundef %154)
  %6892 = getelementptr inbounds %struct.s2n_result, ptr %192, i32 0, i32 0
  store i32 %6891, ptr %6892, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #11
  br label %6893

6893:                                             ; preds = %6886
  %6894 = load i64, ptr %153, align 8, !tbaa !15
  %6895 = add i64 %6894, 1
  store i64 %6895, ptr %153, align 8, !tbaa !15
  br label %5297, !llvm.loop !58

6896:                                             ; preds = %5302
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  %6897 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6897, ptr %193, align 8, !tbaa !9
  br label %6898

6898:                                             ; preds = %6896
  %6899 = load i32, ptr @test_count, align 4, !tbaa !5
  %6900 = add nsw i32 %6899, 1
  store i32 %6900, ptr @test_count, align 4, !tbaa !5
  %6901 = load ptr, ptr %193, align 8, !tbaa !9
  %6902 = load ptr, ptr %13, align 8, !tbaa !9
  %6903 = call i32 @s2n_connection_set_config(ptr noundef %6901, ptr noundef %6902)
  %6904 = icmp eq i32 %6903, -1
  br i1 %6904, label %6905, label %6958

6905:                                             ; preds = %6898
  br label %6906

6906:                                             ; preds = %6905
  br label %6907

6907:                                             ; preds = %6906
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %6908 = call ptr @__errno_location() #12
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  store i32 %6909, ptr %194, align 4, !tbaa !5
  %6910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6911 = call i32 @s2n_print_stacktrace(ptr noundef %6910)
  %6912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6913 = trunc i8 %6912 to i1
  br i1 %6913, label %6914, label %6936

6914:                                             ; preds = %6907
  %6915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6916 = call i32 @fileno(ptr noundef %6915) #11
  %6917 = call i32 @isatty(i32 noundef %6916) #11
  %6918 = icmp ne i32 %6917, 0
  br i1 %6918, label %6919, label %6936

6919:                                             ; preds = %6914
  %6920 = load i32, ptr %194, align 4, !tbaa !5
  %6921 = call ptr @__errno_location() #12
  store i32 %6920, ptr %6921, align 4, !tbaa !5
  %6922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6923 = load i32, ptr @test_count, align 4, !tbaa !5
  %6924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6925 = load i32, ptr %6924, align 4, !tbaa !5
  %6926 = call ptr @s2n_strerror(i32 noundef %6925, ptr noundef @.str.4)
  %6927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  %6929 = call ptr @s2n_strerror_debug(i32 noundef %6928, ptr noundef @.str.4)
  %6930 = call ptr @__errno_location() #12
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call ptr @strerror(i32 noundef %6931) #11
  %6933 = call ptr @__errno_location() #12
  %6934 = load i32, ptr %6933, align 4, !tbaa !5
  %6935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6922, ptr noundef @.str.2, i32 noundef %6923, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 328, ptr noundef %6926, ptr noundef %6929, ptr noundef %6932, i32 noundef %6934) #11
  br label %6953

6936:                                             ; preds = %6914, %6907
  %6937 = load i32, ptr %194, align 4, !tbaa !5
  %6938 = call ptr @__errno_location() #12
  store i32 %6937, ptr %6938, align 4, !tbaa !5
  %6939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6940 = load i32, ptr @test_count, align 4, !tbaa !5
  %6941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6942 = load i32, ptr %6941, align 4, !tbaa !5
  %6943 = call ptr @s2n_strerror(i32 noundef %6942, ptr noundef @.str.4)
  %6944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @s2n_strerror_debug(i32 noundef %6945, ptr noundef @.str.4)
  %6947 = call ptr @__errno_location() #12
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @strerror(i32 noundef %6948) #11
  %6950 = call ptr @__errno_location() #12
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6939, ptr noundef @.str.5, i32 noundef %6940, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 328, ptr noundef %6943, ptr noundef %6946, ptr noundef %6949, i32 noundef %6951) #11
  br label %6953

6953:                                             ; preds = %6936, %6919
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %6954

6954:                                             ; preds = %6953
  br label %6955

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

6956:                                             ; No predecessors!
  br label %6957

6957:                                             ; preds = %6956
  br label %6958

6958:                                             ; preds = %6957, %6898
  br label %6959

6959:                                             ; preds = %6958
  br label %6960

6960:                                             ; preds = %6959
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #11
  %6961 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6961, ptr %195, align 8, !tbaa !9
  br label %6962

6962:                                             ; preds = %6960
  %6963 = load i32, ptr @test_count, align 4, !tbaa !5
  %6964 = add nsw i32 %6963, 1
  store i32 %6964, ptr @test_count, align 4, !tbaa !5
  %6965 = load ptr, ptr %195, align 8, !tbaa !9
  %6966 = load ptr, ptr %13, align 8, !tbaa !9
  %6967 = call i32 @s2n_connection_set_config(ptr noundef %6965, ptr noundef %6966)
  %6968 = icmp eq i32 %6967, -1
  br i1 %6968, label %6969, label %7022

6969:                                             ; preds = %6962
  br label %6970

6970:                                             ; preds = %6969
  br label %6971

6971:                                             ; preds = %6970
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %6972 = call ptr @__errno_location() #12
  %6973 = load i32, ptr %6972, align 4, !tbaa !5
  store i32 %6973, ptr %196, align 4, !tbaa !5
  %6974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6975 = call i32 @s2n_print_stacktrace(ptr noundef %6974)
  %6976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6977 = trunc i8 %6976 to i1
  br i1 %6977, label %6978, label %7000

6978:                                             ; preds = %6971
  %6979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6980 = call i32 @fileno(ptr noundef %6979) #11
  %6981 = call i32 @isatty(i32 noundef %6980) #11
  %6982 = icmp ne i32 %6981, 0
  br i1 %6982, label %6983, label %7000

6983:                                             ; preds = %6978
  %6984 = load i32, ptr %196, align 4, !tbaa !5
  %6985 = call ptr @__errno_location() #12
  store i32 %6984, ptr %6985, align 4, !tbaa !5
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = load i32, ptr @test_count, align 4, !tbaa !5
  %6988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror(i32 noundef %6989, ptr noundef @.str.4)
  %6991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call ptr @s2n_strerror_debug(i32 noundef %6992, ptr noundef @.str.4)
  %6994 = call ptr @__errno_location() #12
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call ptr @strerror(i32 noundef %6995) #11
  %6997 = call ptr @__errno_location() #12
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6986, ptr noundef @.str.2, i32 noundef %6987, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 331, ptr noundef %6990, ptr noundef %6993, ptr noundef %6996, i32 noundef %6998) #11
  br label %7017

7000:                                             ; preds = %6978, %6971
  %7001 = load i32, ptr %196, align 4, !tbaa !5
  %7002 = call ptr @__errno_location() #12
  store i32 %7001, ptr %7002, align 4, !tbaa !5
  %7003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7004 = load i32, ptr @test_count, align 4, !tbaa !5
  %7005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7006 = load i32, ptr %7005, align 4, !tbaa !5
  %7007 = call ptr @s2n_strerror(i32 noundef %7006, ptr noundef @.str.4)
  %7008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7009 = load i32, ptr %7008, align 4, !tbaa !5
  %7010 = call ptr @s2n_strerror_debug(i32 noundef %7009, ptr noundef @.str.4)
  %7011 = call ptr @__errno_location() #12
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  %7013 = call ptr @strerror(i32 noundef %7012) #11
  %7014 = call ptr @__errno_location() #12
  %7015 = load i32, ptr %7014, align 4, !tbaa !5
  %7016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7003, ptr noundef @.str.5, i32 noundef %7004, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 331, ptr noundef %7007, ptr noundef %7010, ptr noundef %7013, i32 noundef %7015) #11
  br label %7017

7017:                                             ; preds = %7000, %6983
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %7018

7018:                                             ; preds = %7017
  br label %7019

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

7020:                                             ; No predecessors!
  br label %7021

7021:                                             ; preds = %7020
  br label %7022

7022:                                             ; preds = %7021, %6962
  br label %7023

7023:                                             ; preds = %7022
  br label %7024

7024:                                             ; preds = %7023
  br label %7025

7025:                                             ; preds = %7024
  %7026 = load i32, ptr @test_count, align 4, !tbaa !5
  %7027 = add nsw i32 %7026, 1
  store i32 %7027, ptr @test_count, align 4, !tbaa !5
  %7028 = load ptr, ptr %193, align 8, !tbaa !9
  %7029 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %7028, i1 noundef zeroext true)
  %7030 = icmp eq i32 %7029, -1
  br i1 %7030, label %7031, label %7084

7031:                                             ; preds = %7025
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

7033:                                             ; preds = %7032
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %7034 = call ptr @__errno_location() #12
  %7035 = load i32, ptr %7034, align 4, !tbaa !5
  store i32 %7035, ptr %197, align 4, !tbaa !5
  %7036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7037 = call i32 @s2n_print_stacktrace(ptr noundef %7036)
  %7038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7039 = trunc i8 %7038 to i1
  br i1 %7039, label %7040, label %7062

7040:                                             ; preds = %7033
  %7041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7042 = call i32 @fileno(ptr noundef %7041) #11
  %7043 = call i32 @isatty(i32 noundef %7042) #11
  %7044 = icmp ne i32 %7043, 0
  br i1 %7044, label %7045, label %7062

7045:                                             ; preds = %7040
  %7046 = load i32, ptr %197, align 4, !tbaa !5
  %7047 = call ptr @__errno_location() #12
  store i32 %7046, ptr %7047, align 4, !tbaa !5
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7051, ptr noundef @.str.4)
  %7053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @s2n_strerror_debug(i32 noundef %7054, ptr noundef @.str.4)
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @strerror(i32 noundef %7057) #11
  %7059 = call ptr @__errno_location() #12
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef @.str.2, i32 noundef %7049, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 333, ptr noundef %7052, ptr noundef %7055, ptr noundef %7058, i32 noundef %7060) #11
  br label %7079

7062:                                             ; preds = %7040, %7033
  %7063 = load i32, ptr %197, align 4, !tbaa !5
  %7064 = call ptr @__errno_location() #12
  store i32 %7063, ptr %7064, align 4, !tbaa !5
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = load i32, ptr @test_count, align 4, !tbaa !5
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7068 = load i32, ptr %7067, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror(i32 noundef %7068, ptr noundef @.str.4)
  %7070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @s2n_strerror_debug(i32 noundef %7071, ptr noundef @.str.4)
  %7073 = call ptr @__errno_location() #12
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @strerror(i32 noundef %7074) #11
  %7076 = call ptr @__errno_location() #12
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7065, ptr noundef @.str.5, i32 noundef %7066, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 333, ptr noundef %7069, ptr noundef %7072, ptr noundef %7075, i32 noundef %7077) #11
  br label %7079

7079:                                             ; preds = %7062, %7045
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

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

7082:                                             ; No predecessors!
  br label %7083

7083:                                             ; preds = %7082
  br label %7084

7084:                                             ; preds = %7083, %7025
  br label %7085

7085:                                             ; preds = %7084
  br label %7086

7086:                                             ; preds = %7085
  br label %7087

7087:                                             ; preds = %7086
  %7088 = load i32, ptr @test_count, align 4, !tbaa !5
  %7089 = add nsw i32 %7088, 1
  store i32 %7089, ptr @test_count, align 4, !tbaa !5
  %7090 = load ptr, ptr %195, align 8, !tbaa !9
  %7091 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %7090, i1 noundef zeroext true)
  %7092 = icmp eq i32 %7091, -1
  br i1 %7092, label %7093, label %7146

7093:                                             ; preds = %7087
  br label %7094

7094:                                             ; preds = %7093
  br label %7095

7095:                                             ; preds = %7094
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %7096 = call ptr @__errno_location() #12
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  store i32 %7097, ptr %198, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = call i32 @s2n_print_stacktrace(ptr noundef %7098)
  %7100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7101 = trunc i8 %7100 to i1
  br i1 %7101, label %7102, label %7124

7102:                                             ; preds = %7095
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = call i32 @fileno(ptr noundef %7103) #11
  %7105 = call i32 @isatty(i32 noundef %7104) #11
  %7106 = icmp ne i32 %7105, 0
  br i1 %7106, label %7107, label %7124

7107:                                             ; preds = %7102
  %7108 = load i32, ptr %198, align 4, !tbaa !5
  %7109 = call ptr @__errno_location() #12
  store i32 %7108, ptr %7109, align 4, !tbaa !5
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = load i32, ptr @test_count, align 4, !tbaa !5
  %7112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7113 = load i32, ptr %7112, align 4, !tbaa !5
  %7114 = call ptr @s2n_strerror(i32 noundef %7113, ptr noundef @.str.4)
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror_debug(i32 noundef %7116, ptr noundef @.str.4)
  %7118 = call ptr @__errno_location() #12
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @strerror(i32 noundef %7119) #11
  %7121 = call ptr @__errno_location() #12
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7110, ptr noundef @.str.2, i32 noundef %7111, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 334, ptr noundef %7114, ptr noundef %7117, ptr noundef %7120, i32 noundef %7122) #11
  br label %7141

7124:                                             ; preds = %7102, %7095
  %7125 = load i32, ptr %198, align 4, !tbaa !5
  %7126 = call ptr @__errno_location() #12
  store i32 %7125, ptr %7126, align 4, !tbaa !5
  %7127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7128 = load i32, ptr @test_count, align 4, !tbaa !5
  %7129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7130 = load i32, ptr %7129, align 4, !tbaa !5
  %7131 = call ptr @s2n_strerror(i32 noundef %7130, ptr noundef @.str.4)
  %7132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  %7134 = call ptr @s2n_strerror_debug(i32 noundef %7133, ptr noundef @.str.4)
  %7135 = call ptr @__errno_location() #12
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @strerror(i32 noundef %7136) #11
  %7138 = call ptr @__errno_location() #12
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7127, ptr noundef @.str.5, i32 noundef %7128, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 334, ptr noundef %7131, ptr noundef %7134, ptr noundef %7137, i32 noundef %7139) #11
  br label %7141

7141:                                             ; preds = %7124, %7107
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

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

7144:                                             ; No predecessors!
  br label %7145

7145:                                             ; preds = %7144
  br label %7146

7146:                                             ; preds = %7145, %7087
  br label %7147

7147:                                             ; preds = %7146
  br label %7148

7148:                                             ; preds = %7147
  call void @llvm.lifetime.start.p0(i64 80, ptr %199) #11
  call void @llvm.memset.p0.i64(ptr align 8 %199, i8 0, i64 80, i1 false)
  br label %7149

7149:                                             ; preds = %7148
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = add nsw i32 %7150, 1
  store i32 %7151, ptr @test_count, align 4, !tbaa !5
  %7152 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %199)
  %7153 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  store i32 %7152, ptr %7153, align 4
  %7154 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  %7155 = load i32, ptr %7154, align 4
  %7156 = call zeroext i1 @s2n_result_is_ok(i32 %7155)
  br i1 %7156, label %7210, label %7157

7157:                                             ; preds = %7149
  br label %7158

7158:                                             ; preds = %7157
  br label %7159

7159:                                             ; preds = %7158
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %7160 = call ptr @__errno_location() #12
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  store i32 %7161, ptr %201, align 4, !tbaa !5
  %7162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7163 = call i32 @s2n_print_stacktrace(ptr noundef %7162)
  %7164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7165 = trunc i8 %7164 to i1
  br i1 %7165, label %7166, label %7188

7166:                                             ; preds = %7159
  %7167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7168 = call i32 @fileno(ptr noundef %7167) #11
  %7169 = call i32 @isatty(i32 noundef %7168) #11
  %7170 = icmp ne i32 %7169, 0
  br i1 %7170, label %7171, label %7188

7171:                                             ; preds = %7166
  %7172 = load i32, ptr %201, align 4, !tbaa !5
  %7173 = call ptr @__errno_location() #12
  store i32 %7172, ptr %7173, align 4, !tbaa !5
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = load i32, ptr @test_count, align 4, !tbaa !5
  %7176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call ptr @s2n_strerror(i32 noundef %7177, ptr noundef @.str.4)
  %7179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7180 = load i32, ptr %7179, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror_debug(i32 noundef %7180, ptr noundef @.str.4)
  %7182 = call ptr @__errno_location() #12
  %7183 = load i32, ptr %7182, align 4, !tbaa !5
  %7184 = call ptr @strerror(i32 noundef %7183) #11
  %7185 = call ptr @__errno_location() #12
  %7186 = load i32, ptr %7185, align 4, !tbaa !5
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7174, ptr noundef @.str.2, i32 noundef %7175, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %7178, ptr noundef %7181, ptr noundef %7184, i32 noundef %7186) #11
  br label %7205

7188:                                             ; preds = %7166, %7159
  %7189 = load i32, ptr %201, align 4, !tbaa !5
  %7190 = call ptr @__errno_location() #12
  store i32 %7189, ptr %7190, align 4, !tbaa !5
  %7191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7192 = load i32, ptr @test_count, align 4, !tbaa !5
  %7193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call ptr @s2n_strerror(i32 noundef %7194, ptr noundef @.str.4)
  %7196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7197 = load i32, ptr %7196, align 4, !tbaa !5
  %7198 = call ptr @s2n_strerror_debug(i32 noundef %7197, ptr noundef @.str.4)
  %7199 = call ptr @__errno_location() #12
  %7200 = load i32, ptr %7199, align 4, !tbaa !5
  %7201 = call ptr @strerror(i32 noundef %7200) #11
  %7202 = call ptr @__errno_location() #12
  %7203 = load i32, ptr %7202, align 4, !tbaa !5
  %7204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7191, ptr noundef @.str.5, i32 noundef %7192, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 337, ptr noundef %7195, ptr noundef %7198, ptr noundef %7201, i32 noundef %7203) #11
  br label %7205

7205:                                             ; preds = %7188, %7171
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %7206

7206:                                             ; preds = %7205
  br label %7207

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

7208:                                             ; No predecessors!
  br label %7209

7209:                                             ; preds = %7208
  br label %7210

7210:                                             ; preds = %7209, %7149
  br label %7211

7211:                                             ; preds = %7210
  br label %7212

7212:                                             ; preds = %7211
  br label %7213

7213:                                             ; preds = %7212
  %7214 = load i32, ptr @test_count, align 4, !tbaa !5
  %7215 = add nsw i32 %7214, 1
  store i32 %7215, ptr @test_count, align 4, !tbaa !5
  %7216 = load ptr, ptr %193, align 8, !tbaa !9
  %7217 = load ptr, ptr %195, align 8, !tbaa !9
  %7218 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %7216, ptr noundef %7217, ptr noundef %199)
  %7219 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  store i32 %7218, ptr %7219, align 4
  %7220 = getelementptr inbounds %struct.s2n_result, ptr %202, i32 0, i32 0
  %7221 = load i32, ptr %7220, align 4
  %7222 = call zeroext i1 @s2n_result_is_ok(i32 %7221)
  br i1 %7222, label %7276, label %7223

7223:                                             ; preds = %7213
  br label %7224

7224:                                             ; preds = %7223
  br label %7225

7225:                                             ; preds = %7224
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %7226 = call ptr @__errno_location() #12
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  store i32 %7227, ptr %203, align 4, !tbaa !5
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = call i32 @s2n_print_stacktrace(ptr noundef %7228)
  %7230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7231 = trunc i8 %7230 to i1
  br i1 %7231, label %7232, label %7254

7232:                                             ; preds = %7225
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = call i32 @fileno(ptr noundef %7233) #11
  %7235 = call i32 @isatty(i32 noundef %7234) #11
  %7236 = icmp ne i32 %7235, 0
  br i1 %7236, label %7237, label %7254

7237:                                             ; preds = %7232
  %7238 = load i32, ptr %203, align 4, !tbaa !5
  %7239 = call ptr @__errno_location() #12
  store i32 %7238, ptr %7239, align 4, !tbaa !5
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7243, ptr noundef @.str.4)
  %7245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call ptr @s2n_strerror_debug(i32 noundef %7246, ptr noundef @.str.4)
  %7248 = call ptr @__errno_location() #12
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call ptr @strerror(i32 noundef %7249) #11
  %7251 = call ptr @__errno_location() #12
  %7252 = load i32, ptr %7251, align 4, !tbaa !5
  %7253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7240, ptr noundef @.str.2, i32 noundef %7241, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 338, ptr noundef %7244, ptr noundef %7247, ptr noundef %7250, i32 noundef %7252) #11
  br label %7271

7254:                                             ; preds = %7232, %7225
  %7255 = load i32, ptr %203, align 4, !tbaa !5
  %7256 = call ptr @__errno_location() #12
  store i32 %7255, ptr %7256, align 4, !tbaa !5
  %7257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7258 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7260, ptr noundef @.str.4)
  %7262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7263 = load i32, ptr %7262, align 4, !tbaa !5
  %7264 = call ptr @s2n_strerror_debug(i32 noundef %7263, ptr noundef @.str.4)
  %7265 = call ptr @__errno_location() #12
  %7266 = load i32, ptr %7265, align 4, !tbaa !5
  %7267 = call ptr @strerror(i32 noundef %7266) #11
  %7268 = call ptr @__errno_location() #12
  %7269 = load i32, ptr %7268, align 4, !tbaa !5
  %7270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7257, ptr noundef @.str.5, i32 noundef %7258, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 338, ptr noundef %7261, ptr noundef %7264, ptr noundef %7267, i32 noundef %7269) #11
  br label %7271

7271:                                             ; preds = %7254, %7237
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %7272

7272:                                             ; preds = %7271
  br label %7273

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

7274:                                             ; No predecessors!
  br label %7275

7275:                                             ; preds = %7274
  br label %7276

7276:                                             ; preds = %7275, %7213
  br label %7277

7277:                                             ; preds = %7276
  br label %7278

7278:                                             ; preds = %7277
  br label %7279

7279:                                             ; preds = %7278
  %7280 = load i32, ptr @test_count, align 4, !tbaa !5
  %7281 = add nsw i32 %7280, 1
  store i32 %7281, ptr @test_count, align 4, !tbaa !5
  %7282 = load ptr, ptr %195, align 8, !tbaa !9
  %7283 = load ptr, ptr %193, align 8, !tbaa !9
  %7284 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7282, ptr noundef %7283)
  %7285 = icmp eq i32 %7284, -1
  br i1 %7285, label %7286, label %7339

7286:                                             ; preds = %7279
  br label %7287

7287:                                             ; preds = %7286
  br label %7288

7288:                                             ; preds = %7287
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %7289 = call ptr @__errno_location() #12
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  store i32 %7290, ptr %204, align 4, !tbaa !5
  %7291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7292 = call i32 @s2n_print_stacktrace(ptr noundef %7291)
  %7293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7294 = trunc i8 %7293 to i1
  br i1 %7294, label %7295, label %7317

7295:                                             ; preds = %7288
  %7296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7297 = call i32 @fileno(ptr noundef %7296) #11
  %7298 = call i32 @isatty(i32 noundef %7297) #11
  %7299 = icmp ne i32 %7298, 0
  br i1 %7299, label %7300, label %7317

7300:                                             ; preds = %7295
  %7301 = load i32, ptr %204, align 4, !tbaa !5
  %7302 = call ptr @__errno_location() #12
  store i32 %7301, ptr %7302, align 4, !tbaa !5
  %7303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7304 = load i32, ptr @test_count, align 4, !tbaa !5
  %7305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7306 = load i32, ptr %7305, align 4, !tbaa !5
  %7307 = call ptr @s2n_strerror(i32 noundef %7306, ptr noundef @.str.4)
  %7308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call ptr @s2n_strerror_debug(i32 noundef %7309, ptr noundef @.str.4)
  %7311 = call ptr @__errno_location() #12
  %7312 = load i32, ptr %7311, align 4, !tbaa !5
  %7313 = call ptr @strerror(i32 noundef %7312) #11
  %7314 = call ptr @__errno_location() #12
  %7315 = load i32, ptr %7314, align 4, !tbaa !5
  %7316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7303, ptr noundef @.str.2, i32 noundef %7304, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 339, ptr noundef %7307, ptr noundef %7310, ptr noundef %7313, i32 noundef %7315) #11
  br label %7334

7317:                                             ; preds = %7295, %7288
  %7318 = load i32, ptr %204, align 4, !tbaa !5
  %7319 = call ptr @__errno_location() #12
  store i32 %7318, ptr %7319, align 4, !tbaa !5
  %7320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7321 = load i32, ptr @test_count, align 4, !tbaa !5
  %7322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7323 = load i32, ptr %7322, align 4, !tbaa !5
  %7324 = call ptr @s2n_strerror(i32 noundef %7323, ptr noundef @.str.4)
  %7325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7326 = load i32, ptr %7325, align 4, !tbaa !5
  %7327 = call ptr @s2n_strerror_debug(i32 noundef %7326, ptr noundef @.str.4)
  %7328 = call ptr @__errno_location() #12
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  %7330 = call ptr @strerror(i32 noundef %7329) #11
  %7331 = call ptr @__errno_location() #12
  %7332 = load i32, ptr %7331, align 4, !tbaa !5
  %7333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7320, ptr noundef @.str.5, i32 noundef %7321, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 339, ptr noundef %7324, ptr noundef %7327, ptr noundef %7330, i32 noundef %7332) #11
  br label %7334

7334:                                             ; preds = %7317, %7300
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %7335

7335:                                             ; preds = %7334
  br label %7336

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

7337:                                             ; No predecessors!
  br label %7338

7338:                                             ; preds = %7337
  br label %7339

7339:                                             ; preds = %7338, %7279
  br label %7340

7340:                                             ; preds = %7339
  br label %7341

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

7342:                                             ; preds = %7341
  %7343 = load i32, ptr @test_count, align 4, !tbaa !5
  %7344 = add nsw i32 %7343, 1
  store i32 %7344, ptr @test_count, align 4, !tbaa !5
  %7345 = load ptr, ptr %195, align 8, !tbaa !9
  %7346 = call i32 @s2n_connection_set_counting_read(ptr noundef %7345, ptr noundef %205)
  %7347 = getelementptr inbounds %struct.s2n_result, ptr %206, i32 0, i32 0
  store i32 %7346, ptr %7347, align 4
  %7348 = getelementptr inbounds %struct.s2n_result, ptr %206, i32 0, i32 0
  %7349 = load i32, ptr %7348, align 4
  %7350 = call zeroext i1 @s2n_result_is_ok(i32 %7349)
  br i1 %7350, label %7404, label %7351

7351:                                             ; preds = %7342
  br label %7352

7352:                                             ; preds = %7351
  br label %7353

7353:                                             ; preds = %7352
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %7354 = call ptr @__errno_location() #12
  %7355 = load i32, ptr %7354, align 4, !tbaa !5
  store i32 %7355, ptr %207, align 4, !tbaa !5
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @s2n_print_stacktrace(ptr noundef %7356)
  %7358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7359 = trunc i8 %7358 to i1
  br i1 %7359, label %7360, label %7382

7360:                                             ; preds = %7353
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = call i32 @fileno(ptr noundef %7361) #11
  %7363 = call i32 @isatty(i32 noundef %7362) #11
  %7364 = icmp ne i32 %7363, 0
  br i1 %7364, label %7365, label %7382

7365:                                             ; preds = %7360
  %7366 = load i32, ptr %207, align 4, !tbaa !5
  %7367 = call ptr @__errno_location() #12
  store i32 %7366, ptr %7367, align 4, !tbaa !5
  %7368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7369 = load i32, ptr @test_count, align 4, !tbaa !5
  %7370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call ptr @s2n_strerror(i32 noundef %7371, ptr noundef @.str.4)
  %7373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @s2n_strerror_debug(i32 noundef %7374, ptr noundef @.str.4)
  %7376 = call ptr @__errno_location() #12
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call ptr @strerror(i32 noundef %7377) #11
  %7379 = call ptr @__errno_location() #12
  %7380 = load i32, ptr %7379, align 4, !tbaa !5
  %7381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7368, ptr noundef @.str.2, i32 noundef %7369, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 342, ptr noundef %7372, ptr noundef %7375, ptr noundef %7378, i32 noundef %7380) #11
  br label %7399

7382:                                             ; preds = %7360, %7353
  %7383 = load i32, ptr %207, align 4, !tbaa !5
  %7384 = call ptr @__errno_location() #12
  store i32 %7383, ptr %7384, align 4, !tbaa !5
  %7385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7386 = load i32, ptr @test_count, align 4, !tbaa !5
  %7387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7388 = load i32, ptr %7387, align 4, !tbaa !5
  %7389 = call ptr @s2n_strerror(i32 noundef %7388, ptr noundef @.str.4)
  %7390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror_debug(i32 noundef %7391, ptr noundef @.str.4)
  %7393 = call ptr @__errno_location() #12
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @strerror(i32 noundef %7394) #11
  %7396 = call ptr @__errno_location() #12
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7385, ptr noundef @.str.5, i32 noundef %7386, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 342, ptr noundef %7389, ptr noundef %7392, ptr noundef %7395, i32 noundef %7397) #11
  br label %7399

7399:                                             ; preds = %7382, %7365
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %7400

7400:                                             ; preds = %7399
  br label %7401

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

7402:                                             ; No predecessors!
  br label %7403

7403:                                             ; preds = %7402
  br label %7404

7404:                                             ; preds = %7403, %7342
  br label %7405

7405:                                             ; preds = %7404
  br label %7406

7406:                                             ; preds = %7405
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  store i32 0, ptr %208, align 4, !tbaa !5
  br label %7407

7407:                                             ; preds = %7406
  %7408 = load i32, ptr @test_count, align 4, !tbaa !5
  %7409 = add nsw i32 %7408, 1
  store i32 %7409, ptr @test_count, align 4, !tbaa !5
  %7410 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7411 = getelementptr inbounds %struct.s2n_stuffer, ptr %7410, i32 0, i32 2
  %7412 = load i32, ptr %7411, align 4, !tbaa !17
  %7413 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7414 = getelementptr inbounds %struct.s2n_stuffer, ptr %7413, i32 0, i32 1
  %7415 = load i32, ptr %7414, align 8, !tbaa !21
  %7416 = sub i32 %7412, %7415
  %7417 = icmp eq i32 %7416, 0
  br i1 %7417, label %7471, label %7418

7418:                                             ; preds = %7407
  br label %7419

7419:                                             ; preds = %7418
  br label %7420

7420:                                             ; preds = %7419
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %7421 = call ptr @__errno_location() #12
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  store i32 %7422, ptr %209, align 4, !tbaa !5
  %7423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7424 = call i32 @s2n_print_stacktrace(ptr noundef %7423)
  %7425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7426 = trunc i8 %7425 to i1
  br i1 %7426, label %7427, label %7449

7427:                                             ; preds = %7420
  %7428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7429 = call i32 @fileno(ptr noundef %7428) #11
  %7430 = call i32 @isatty(i32 noundef %7429) #11
  %7431 = icmp ne i32 %7430, 0
  br i1 %7431, label %7432, label %7449

7432:                                             ; preds = %7427
  %7433 = load i32, ptr %209, align 4, !tbaa !5
  %7434 = call ptr @__errno_location() #12
  store i32 %7433, ptr %7434, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = load i32, ptr @test_count, align 4, !tbaa !5
  %7437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  %7439 = call ptr @s2n_strerror(i32 noundef %7438, ptr noundef @.str.4)
  %7440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  %7442 = call ptr @s2n_strerror_debug(i32 noundef %7441, ptr noundef @.str.4)
  %7443 = call ptr @__errno_location() #12
  %7444 = load i32, ptr %7443, align 4, !tbaa !5
  %7445 = call ptr @strerror(i32 noundef %7444) #11
  %7446 = call ptr @__errno_location() #12
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7435, ptr noundef @.str.2, i32 noundef %7436, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7439, ptr noundef %7442, ptr noundef %7445, i32 noundef %7447) #11
  br label %7466

7449:                                             ; preds = %7427, %7420
  %7450 = load i32, ptr %209, align 4, !tbaa !5
  %7451 = call ptr @__errno_location() #12
  store i32 %7450, ptr %7451, align 4, !tbaa !5
  %7452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7453 = load i32, ptr @test_count, align 4, !tbaa !5
  %7454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  %7456 = call ptr @s2n_strerror(i32 noundef %7455, ptr noundef @.str.4)
  %7457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7458 = load i32, ptr %7457, align 4, !tbaa !5
  %7459 = call ptr @s2n_strerror_debug(i32 noundef %7458, ptr noundef @.str.4)
  %7460 = call ptr @__errno_location() #12
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call ptr @strerror(i32 noundef %7461) #11
  %7463 = call ptr @__errno_location() #12
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  %7465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7452, ptr noundef @.str.5, i32 noundef %7453, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 345, ptr noundef %7456, ptr noundef %7459, ptr noundef %7462, i32 noundef %7464) #11
  br label %7466

7466:                                             ; preds = %7449, %7432
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %7467

7467:                                             ; preds = %7466
  br label %7468

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

7469:                                             ; No predecessors!
  br label %7470

7470:                                             ; preds = %7469
  br label %7471

7471:                                             ; preds = %7470, %7407
  br label %7472

7472:                                             ; preds = %7471
  br label %7473

7473:                                             ; preds = %7472
  br label %7474

7474:                                             ; preds = %7473
  %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 ptr, ptr %193, align 8, !tbaa !9
  %7478 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %7479 = call i64 @s2n_send(ptr noundef %7477, ptr noundef %7478, i64 noundef 20, ptr noundef %208)
  %7480 = icmp eq i64 %7479, 20
  br i1 %7480, label %7534, label %7481

7481:                                             ; preds = %7474
  br label %7482

7482:                                             ; preds = %7481
  br label %7483

7483:                                             ; preds = %7482
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %7484 = call ptr @__errno_location() #12
  %7485 = load i32, ptr %7484, align 4, !tbaa !5
  store i32 %7485, ptr %210, align 4, !tbaa !5
  %7486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7487 = call i32 @s2n_print_stacktrace(ptr noundef %7486)
  %7488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7489 = trunc i8 %7488 to i1
  br i1 %7489, label %7490, label %7512

7490:                                             ; preds = %7483
  %7491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7492 = call i32 @fileno(ptr noundef %7491) #11
  %7493 = call i32 @isatty(i32 noundef %7492) #11
  %7494 = icmp ne i32 %7493, 0
  br i1 %7494, label %7495, label %7512

7495:                                             ; preds = %7490
  %7496 = load i32, ptr %210, align 4, !tbaa !5
  %7497 = call ptr @__errno_location() #12
  store i32 %7496, ptr %7497, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @s2n_strerror(i32 noundef %7501, ptr noundef @.str.4)
  %7503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call ptr @s2n_strerror_debug(i32 noundef %7504, ptr noundef @.str.4)
  %7506 = call ptr @__errno_location() #12
  %7507 = load i32, ptr %7506, align 4, !tbaa !5
  %7508 = call ptr @strerror(i32 noundef %7507) #11
  %7509 = call ptr @__errno_location() #12
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7498, ptr noundef @.str.2, i32 noundef %7499, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7502, ptr noundef %7505, ptr noundef %7508, i32 noundef %7510) #11
  br label %7529

7512:                                             ; preds = %7490, %7483
  %7513 = load i32, ptr %210, align 4, !tbaa !5
  %7514 = call ptr @__errno_location() #12
  store i32 %7513, ptr %7514, align 4, !tbaa !5
  %7515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7516 = load i32, ptr @test_count, align 4, !tbaa !5
  %7517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7518 = load i32, ptr %7517, align 4, !tbaa !5
  %7519 = call ptr @s2n_strerror(i32 noundef %7518, ptr noundef @.str.4)
  %7520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7521 = load i32, ptr %7520, align 4, !tbaa !5
  %7522 = call ptr @s2n_strerror_debug(i32 noundef %7521, ptr noundef @.str.4)
  %7523 = call ptr @__errno_location() #12
  %7524 = load i32, ptr %7523, align 4, !tbaa !5
  %7525 = call ptr @strerror(i32 noundef %7524) #11
  %7526 = call ptr @__errno_location() #12
  %7527 = load i32, ptr %7526, align 4, !tbaa !5
  %7528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7515, ptr noundef @.str.5, i32 noundef %7516, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 346, ptr noundef %7519, ptr noundef %7522, ptr noundef %7525, i32 noundef %7527) #11
  br label %7529

7529:                                             ; preds = %7512, %7495
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %7530

7530:                                             ; preds = %7529
  br label %7531

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

7532:                                             ; No predecessors!
  br label %7533

7533:                                             ; preds = %7532
  br label %7534

7534:                                             ; preds = %7533, %7474
  br label %7535

7535:                                             ; preds = %7534
  br label %7536

7536:                                             ; preds = %7535
  br label %7537

7537:                                             ; preds = %7536
  %7538 = load i32, ptr @test_count, align 4, !tbaa !5
  %7539 = add nsw i32 %7538, 1
  store i32 %7539, ptr @test_count, align 4, !tbaa !5
  %7540 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7541 = getelementptr inbounds %struct.s2n_stuffer, ptr %7540, i32 0, i32 2
  %7542 = load i32, ptr %7541, align 4, !tbaa !17
  %7543 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7544 = getelementptr inbounds %struct.s2n_stuffer, ptr %7543, i32 0, i32 1
  %7545 = load i32, ptr %7544, align 8, !tbaa !21
  %7546 = sub i32 %7542, %7545
  %7547 = load i32, ptr %47, align 4, !tbaa !5
  %7548 = icmp eq i32 %7546, %7547
  br i1 %7548, label %7602, label %7549

7549:                                             ; preds = %7537
  br label %7550

7550:                                             ; preds = %7549
  br label %7551

7551:                                             ; preds = %7550
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %7552 = call ptr @__errno_location() #12
  %7553 = load i32, ptr %7552, align 4, !tbaa !5
  store i32 %7553, ptr %211, align 4, !tbaa !5
  %7554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7555 = call i32 @s2n_print_stacktrace(ptr noundef %7554)
  %7556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7557 = trunc i8 %7556 to i1
  br i1 %7557, label %7558, label %7580

7558:                                             ; preds = %7551
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = call i32 @fileno(ptr noundef %7559) #11
  %7561 = call i32 @isatty(i32 noundef %7560) #11
  %7562 = icmp ne i32 %7561, 0
  br i1 %7562, label %7563, label %7580

7563:                                             ; preds = %7558
  %7564 = load i32, ptr %211, align 4, !tbaa !5
  %7565 = call ptr @__errno_location() #12
  store i32 %7564, ptr %7565, align 4, !tbaa !5
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7569, ptr noundef @.str.4)
  %7571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call ptr @s2n_strerror_debug(i32 noundef %7572, ptr noundef @.str.4)
  %7574 = call ptr @__errno_location() #12
  %7575 = load i32, ptr %7574, align 4, !tbaa !5
  %7576 = call ptr @strerror(i32 noundef %7575) #11
  %7577 = call ptr @__errno_location() #12
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7566, ptr noundef @.str.2, i32 noundef %7567, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7570, ptr noundef %7573, ptr noundef %7576, i32 noundef %7578) #11
  br label %7597

7580:                                             ; preds = %7558, %7551
  %7581 = load i32, ptr %211, align 4, !tbaa !5
  %7582 = call ptr @__errno_location() #12
  store i32 %7581, ptr %7582, align 4, !tbaa !5
  %7583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7584 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7586, ptr noundef @.str.4)
  %7588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7589 = load i32, ptr %7588, align 4, !tbaa !5
  %7590 = call ptr @s2n_strerror_debug(i32 noundef %7589, ptr noundef @.str.4)
  %7591 = call ptr @__errno_location() #12
  %7592 = load i32, ptr %7591, align 4, !tbaa !5
  %7593 = call ptr @strerror(i32 noundef %7592) #11
  %7594 = call ptr @__errno_location() #12
  %7595 = load i32, ptr %7594, align 4, !tbaa !5
  %7596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7583, ptr noundef @.str.5, i32 noundef %7584, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 347, ptr noundef %7587, ptr noundef %7590, ptr noundef %7593, i32 noundef %7595) #11
  br label %7597

7597:                                             ; preds = %7580, %7563
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %7598

7598:                                             ; preds = %7597
  br label %7599

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

7600:                                             ; No predecessors!
  br label %7601

7601:                                             ; preds = %7600
  br label %7602

7602:                                             ; preds = %7601, %7537
  br label %7603

7603:                                             ; preds = %7602
  br label %7604

7604:                                             ; preds = %7603
  %7605 = load i32, ptr %47, align 4, !tbaa !5
  %7606 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7607 = getelementptr inbounds %struct.s2n_stuffer, ptr %7606, i32 0, i32 2
  %7608 = load i32, ptr %7607, align 4, !tbaa !17
  %7609 = sub i32 %7608, %7605
  store i32 %7609, ptr %7607, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #11
  store i64 0, ptr %212, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr %213) #11
  call void @llvm.memset.p0.i64(ptr align 16 %213, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #11
  store i64 1, ptr %214, align 8, !tbaa !15
  br label %7610

7610:                                             ; preds = %8149, %7604
  %7611 = load i64, ptr %214, align 8, !tbaa !15
  %7612 = load i32, ptr %47, align 4, !tbaa !5
  %7613 = zext i32 %7612 to i64
  %7614 = icmp ult i64 %7611, %7613
  br i1 %7614, label %7616, label %7615

7615:                                             ; preds = %7610
  store i32 705, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #11
  br label %8152

7616:                                             ; preds = %7610
  br label %7617

7617:                                             ; preds = %7616
  br label %7618

7618:                                             ; preds = %7617
  br label %7619

7619:                                             ; preds = %7618
  %7620 = load i32, ptr @test_count, align 4, !tbaa !5
  %7621 = add nsw i32 %7620, 1
  store i32 %7621, ptr @test_count, align 4, !tbaa !5
  %7622 = load ptr, ptr %195, align 8, !tbaa !9
  %7623 = getelementptr inbounds [20 x i8], ptr %213, i64 0, i64 0
  %7624 = call i64 @s2n_recv(ptr noundef %7622, ptr noundef %7623, i64 noundef 20, ptr noundef %208)
  %7625 = icmp eq i64 %7624, -1
  br i1 %7625, label %7679, label %7626

7626:                                             ; preds = %7619
  br label %7627

7627:                                             ; preds = %7626
  br label %7628

7628:                                             ; preds = %7627
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %7629 = call ptr @__errno_location() #12
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  store i32 %7630, ptr %215, align 4, !tbaa !5
  %7631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7632 = call i32 @s2n_print_stacktrace(ptr noundef %7631)
  %7633 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7634 = trunc i8 %7633 to i1
  br i1 %7634, label %7635, label %7657

7635:                                             ; preds = %7628
  %7636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7637 = call i32 @fileno(ptr noundef %7636) #11
  %7638 = call i32 @isatty(i32 noundef %7637) #11
  %7639 = icmp ne i32 %7638, 0
  br i1 %7639, label %7640, label %7657

7640:                                             ; preds = %7635
  %7641 = load i32, ptr %215, align 4, !tbaa !5
  %7642 = call ptr @__errno_location() #12
  store i32 %7641, ptr %7642, align 4, !tbaa !5
  %7643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7644 = load i32, ptr @test_count, align 4, !tbaa !5
  %7645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7646 = load i32, ptr %7645, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef @.str.4)
  %7648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  %7650 = call ptr @s2n_strerror_debug(i32 noundef %7649, ptr noundef @.str.4)
  %7651 = call ptr @__errno_location() #12
  %7652 = load i32, ptr %7651, align 4, !tbaa !5
  %7653 = call ptr @strerror(i32 noundef %7652) #11
  %7654 = call ptr @__errno_location() #12
  %7655 = load i32, ptr %7654, align 4, !tbaa !5
  %7656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7643, ptr noundef @.str.2, i32 noundef %7644, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7647, ptr noundef %7650, ptr noundef %7653, i32 noundef %7655) #11
  br label %7674

7657:                                             ; preds = %7635, %7628
  %7658 = load i32, ptr %215, align 4, !tbaa !5
  %7659 = call ptr @__errno_location() #12
  store i32 %7658, ptr %7659, align 4, !tbaa !5
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = load i32, ptr @test_count, align 4, !tbaa !5
  %7662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7663 = load i32, ptr %7662, align 4, !tbaa !5
  %7664 = call ptr @s2n_strerror(i32 noundef %7663, ptr noundef @.str.4)
  %7665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  %7667 = call ptr @s2n_strerror_debug(i32 noundef %7666, ptr noundef @.str.4)
  %7668 = call ptr @__errno_location() #12
  %7669 = load i32, ptr %7668, align 4, !tbaa !5
  %7670 = call ptr @strerror(i32 noundef %7669) #11
  %7671 = call ptr @__errno_location() #12
  %7672 = load i32, ptr %7671, align 4, !tbaa !5
  %7673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7660, ptr noundef @.str.5, i32 noundef %7661, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7664, ptr noundef %7667, ptr noundef %7670, i32 noundef %7672) #11
  br label %7674

7674:                                             ; preds = %7657, %7640
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %7675

7675:                                             ; preds = %7674
  br label %7676

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

7677:                                             ; No predecessors!
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678, %7619
  br label %7680

7680:                                             ; preds = %7679
  br label %7681

7681:                                             ; preds = %7680
  br label %7682

7682:                                             ; preds = %7681
  %7683 = load i32, ptr @test_count, align 4, !tbaa !5
  %7684 = add nsw i32 %7683, 1
  store i32 %7684, ptr @test_count, align 4, !tbaa !5
  %7685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7686 = load i32, ptr %7685, align 4, !tbaa !5
  %7687 = icmp eq i32 %7686, 201326592
  br i1 %7687, label %7741, label %7688

7688:                                             ; preds = %7682
  br label %7689

7689:                                             ; preds = %7688
  br label %7690

7690:                                             ; preds = %7689
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %7691 = call ptr @__errno_location() #12
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  store i32 %7692, ptr %216, align 4, !tbaa !5
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @s2n_print_stacktrace(ptr noundef %7693)
  %7695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7696 = trunc i8 %7695 to i1
  br i1 %7696, label %7697, label %7719

7697:                                             ; preds = %7690
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = call i32 @fileno(ptr noundef %7698) #11
  %7700 = call i32 @isatty(i32 noundef %7699) #11
  %7701 = icmp ne i32 %7700, 0
  br i1 %7701, label %7702, label %7719

7702:                                             ; preds = %7697
  %7703 = load i32, ptr %216, align 4, !tbaa !5
  %7704 = call ptr @__errno_location() #12
  store i32 %7703, ptr %7704, align 4, !tbaa !5
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = load i32, ptr @test_count, align 4, !tbaa !5
  %7707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call ptr @s2n_strerror(i32 noundef %7708, ptr noundef @.str.4)
  %7710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7711 = load i32, ptr %7710, align 4, !tbaa !5
  %7712 = call ptr @s2n_strerror_debug(i32 noundef %7711, ptr noundef @.str.4)
  %7713 = call ptr @__errno_location() #12
  %7714 = load i32, ptr %7713, align 4, !tbaa !5
  %7715 = call ptr @strerror(i32 noundef %7714) #11
  %7716 = call ptr @__errno_location() #12
  %7717 = load i32, ptr %7716, align 4, !tbaa !5
  %7718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7705, ptr noundef @.str.2, i32 noundef %7706, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7709, ptr noundef %7712, ptr noundef %7715, i32 noundef %7717) #11
  br label %7736

7719:                                             ; preds = %7697, %7690
  %7720 = load i32, ptr %216, align 4, !tbaa !5
  %7721 = call ptr @__errno_location() #12
  store i32 %7720, ptr %7721, align 4, !tbaa !5
  %7722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @s2n_strerror(i32 noundef %7725, ptr noundef @.str.4)
  %7727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call ptr @s2n_strerror_debug(i32 noundef %7728, ptr noundef @.str.4)
  %7730 = call ptr @__errno_location() #12
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call ptr @strerror(i32 noundef %7731) #11
  %7733 = call ptr @__errno_location() #12
  %7734 = load i32, ptr %7733, align 4, !tbaa !5
  %7735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7722, ptr noundef @.str.5, i32 noundef %7723, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7726, ptr noundef %7729, ptr noundef %7732, i32 noundef %7734) #11
  br label %7736

7736:                                             ; preds = %7719, %7702
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

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

7739:                                             ; No predecessors!
  br label %7740

7740:                                             ; preds = %7739
  br label %7741

7741:                                             ; preds = %7740, %7682
  br label %7742

7742:                                             ; preds = %7741
  br label %7743

7743:                                             ; preds = %7742
  br label %7744

7744:                                             ; preds = %7743
  %7745 = load i32, ptr @test_count, align 4, !tbaa !5
  %7746 = add nsw i32 %7745, 1
  store i32 %7746, ptr @test_count, align 4, !tbaa !5
  %7747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7748 = load i32, ptr %7747, align 4, !tbaa !5
  %7749 = call ptr @s2n_strerror_debug(i32 noundef %7748, ptr noundef @.str.4)
  %7750 = icmp eq ptr %7749, null
  br i1 %7750, label %7751, label %7804

7751:                                             ; preds = %7744
  br label %7752

7752:                                             ; preds = %7751
  br label %7753

7753:                                             ; preds = %7752
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %7754 = call ptr @__errno_location() #12
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  store i32 %7755, ptr %217, align 4, !tbaa !5
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = call i32 @s2n_print_stacktrace(ptr noundef %7756)
  %7758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7759 = trunc i8 %7758 to i1
  br i1 %7759, label %7760, label %7782

7760:                                             ; preds = %7753
  %7761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7762 = call i32 @fileno(ptr noundef %7761) #11
  %7763 = call i32 @isatty(i32 noundef %7762) #11
  %7764 = icmp ne i32 %7763, 0
  br i1 %7764, label %7765, label %7782

7765:                                             ; preds = %7760
  %7766 = load i32, ptr %217, align 4, !tbaa !5
  %7767 = call ptr @__errno_location() #12
  store i32 %7766, ptr %7767, align 4, !tbaa !5
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = load i32, ptr @test_count, align 4, !tbaa !5
  %7770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7771 = load i32, ptr %7770, align 4, !tbaa !5
  %7772 = call ptr @s2n_strerror(i32 noundef %7771, ptr noundef @.str.4)
  %7773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7774 = load i32, ptr %7773, align 4, !tbaa !5
  %7775 = call ptr @s2n_strerror_debug(i32 noundef %7774, ptr noundef @.str.4)
  %7776 = call ptr @__errno_location() #12
  %7777 = load i32, ptr %7776, align 4, !tbaa !5
  %7778 = call ptr @strerror(i32 noundef %7777) #11
  %7779 = call ptr @__errno_location() #12
  %7780 = load i32, ptr %7779, align 4, !tbaa !5
  %7781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7768, ptr noundef @.str.2, i32 noundef %7769, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7772, ptr noundef %7775, ptr noundef %7778, i32 noundef %7780) #11
  br label %7799

7782:                                             ; preds = %7760, %7753
  %7783 = load i32, ptr %217, align 4, !tbaa !5
  %7784 = call ptr @__errno_location() #12
  store i32 %7783, ptr %7784, align 4, !tbaa !5
  %7785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7786 = load i32, ptr @test_count, align 4, !tbaa !5
  %7787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror(i32 noundef %7788, ptr noundef @.str.4)
  %7790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call ptr @s2n_strerror_debug(i32 noundef %7791, ptr noundef @.str.4)
  %7793 = call ptr @__errno_location() #12
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @strerror(i32 noundef %7794) #11
  %7796 = call ptr @__errno_location() #12
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7785, ptr noundef @.str.5, i32 noundef %7786, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 355, ptr noundef %7789, ptr noundef %7792, ptr noundef %7795, i32 noundef %7797) #11
  br label %7799

7799:                                             ; preds = %7782, %7765
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %7800

7800:                                             ; preds = %7799
  br label %7801

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

7802:                                             ; No predecessors!
  br label %7803

7803:                                             ; preds = %7802
  br label %7804

7804:                                             ; preds = %7803, %7744
  br label %7805

7805:                                             ; preds = %7804
  br label %7806

7806:                                             ; preds = %7805
  br label %7807

7807:                                             ; preds = %7806
  br label %7808

7808:                                             ; preds = %7807
  br label %7809

7809:                                             ; preds = %7808
  %7810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7810, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7811 = call ptr @__errno_location() #12
  store i32 0, ptr %7811, align 4, !tbaa !5
  br label %7812

7812:                                             ; preds = %7809
  br label %7813

7813:                                             ; preds = %7812
  br label %7814

7814:                                             ; preds = %7813
  br label %7815

7815:                                             ; preds = %7814
  %7816 = load i64, ptr %212, align 8, !tbaa !15
  %7817 = add i64 %7816, 1
  store i64 %7817, ptr %212, align 8, !tbaa !15
  br label %7818

7818:                                             ; preds = %7815
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = add nsw i32 %7819, 1
  store i32 %7820, ptr @test_count, align 4, !tbaa !5
  %7821 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %205, i32 0, i32 0
  %7822 = load i64, ptr %7821, align 8, !tbaa !22
  %7823 = load i64, ptr %212, align 8, !tbaa !15
  %7824 = icmp eq i64 %7822, %7823
  br i1 %7824, label %7878, label %7825

7825:                                             ; preds = %7818
  br label %7826

7826:                                             ; preds = %7825
  br label %7827

7827:                                             ; preds = %7826
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %7828 = call ptr @__errno_location() #12
  %7829 = load i32, ptr %7828, align 4, !tbaa !5
  store i32 %7829, ptr %218, align 4, !tbaa !5
  %7830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7831 = call i32 @s2n_print_stacktrace(ptr noundef %7830)
  %7832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7833 = trunc i8 %7832 to i1
  br i1 %7833, label %7834, label %7856

7834:                                             ; preds = %7827
  %7835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7836 = call i32 @fileno(ptr noundef %7835) #11
  %7837 = call i32 @isatty(i32 noundef %7836) #11
  %7838 = icmp ne i32 %7837, 0
  br i1 %7838, label %7839, label %7856

7839:                                             ; preds = %7834
  %7840 = load i32, ptr %218, align 4, !tbaa !5
  %7841 = call ptr @__errno_location() #12
  store i32 %7840, ptr %7841, align 4, !tbaa !5
  %7842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7843 = load i32, ptr @test_count, align 4, !tbaa !5
  %7844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7845 = load i32, ptr %7844, align 4, !tbaa !5
  %7846 = call ptr @s2n_strerror(i32 noundef %7845, ptr noundef @.str.4)
  %7847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7848 = load i32, ptr %7847, align 4, !tbaa !5
  %7849 = call ptr @s2n_strerror_debug(i32 noundef %7848, ptr noundef @.str.4)
  %7850 = call ptr @__errno_location() #12
  %7851 = load i32, ptr %7850, align 4, !tbaa !5
  %7852 = call ptr @strerror(i32 noundef %7851) #11
  %7853 = call ptr @__errno_location() #12
  %7854 = load i32, ptr %7853, align 4, !tbaa !5
  %7855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7842, ptr noundef @.str.2, i32 noundef %7843, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 357, ptr noundef %7846, ptr noundef %7849, ptr noundef %7852, i32 noundef %7854) #11
  br label %7873

7856:                                             ; preds = %7834, %7827
  %7857 = load i32, ptr %218, align 4, !tbaa !5
  %7858 = call ptr @__errno_location() #12
  store i32 %7857, ptr %7858, align 4, !tbaa !5
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = load i32, ptr @test_count, align 4, !tbaa !5
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @s2n_strerror_debug(i32 noundef %7865, ptr noundef @.str.4)
  %7867 = call ptr @__errno_location() #12
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @strerror(i32 noundef %7868) #11
  %7870 = call ptr @__errno_location() #12
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7859, ptr noundef @.str.5, i32 noundef %7860, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 357, ptr noundef %7863, ptr noundef %7866, ptr noundef %7869, i32 noundef %7871) #11
  br label %7873

7873:                                             ; preds = %7856, %7839
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %7874

7874:                                             ; preds = %7873
  br label %7875

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

7876:                                             ; No predecessors!
  br label %7877

7877:                                             ; preds = %7876
  br label %7878

7878:                                             ; preds = %7877, %7818
  br label %7879

7879:                                             ; preds = %7878
  br label %7880

7880:                                             ; preds = %7879
  %7881 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %7882 = getelementptr inbounds %struct.s2n_stuffer, ptr %7881, i32 0, i32 2
  %7883 = load i32, ptr %7882, align 4, !tbaa !17
  %7884 = add i32 %7883, 1
  store i32 %7884, ptr %7882, align 4, !tbaa !17
  br label %7885

7885:                                             ; preds = %7880
  br label %7886

7886:                                             ; preds = %7885
  br label %7887

7887:                                             ; preds = %7886
  %7888 = load i32, ptr @test_count, align 4, !tbaa !5
  %7889 = add nsw i32 %7888, 1
  store i32 %7889, ptr @test_count, align 4, !tbaa !5
  %7890 = load ptr, ptr %195, align 8, !tbaa !9
  %7891 = getelementptr inbounds [20 x i8], ptr %213, i64 0, i64 0
  %7892 = call i64 @s2n_recv(ptr noundef %7890, ptr noundef %7891, i64 noundef 20, ptr noundef %208)
  %7893 = icmp eq i64 %7892, -1
  br i1 %7893, label %7947, label %7894

7894:                                             ; preds = %7887
  br label %7895

7895:                                             ; preds = %7894
  br label %7896

7896:                                             ; preds = %7895
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %7897 = call ptr @__errno_location() #12
  %7898 = load i32, ptr %7897, align 4, !tbaa !5
  store i32 %7898, ptr %219, align 4, !tbaa !5
  %7899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7900 = call i32 @s2n_print_stacktrace(ptr noundef %7899)
  %7901 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7902 = trunc i8 %7901 to i1
  br i1 %7902, label %7903, label %7925

7903:                                             ; preds = %7896
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = call i32 @fileno(ptr noundef %7904) #11
  %7906 = call i32 @isatty(i32 noundef %7905) #11
  %7907 = icmp ne i32 %7906, 0
  br i1 %7907, label %7908, label %7925

7908:                                             ; preds = %7903
  %7909 = load i32, ptr %219, align 4, !tbaa !5
  %7910 = call ptr @__errno_location() #12
  store i32 %7909, ptr %7910, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  %7915 = call ptr @s2n_strerror(i32 noundef %7914, ptr noundef @.str.4)
  %7916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror_debug(i32 noundef %7917, ptr noundef @.str.4)
  %7919 = call ptr @__errno_location() #12
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @strerror(i32 noundef %7920) #11
  %7922 = call ptr @__errno_location() #12
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7911, ptr noundef @.str.2, i32 noundef %7912, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7915, ptr noundef %7918, ptr noundef %7921, i32 noundef %7923) #11
  br label %7942

7925:                                             ; preds = %7903, %7896
  %7926 = load i32, ptr %219, align 4, !tbaa !5
  %7927 = call ptr @__errno_location() #12
  store i32 %7926, ptr %7927, align 4, !tbaa !5
  %7928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7929 = load i32, ptr @test_count, align 4, !tbaa !5
  %7930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7931 = load i32, ptr %7930, align 4, !tbaa !5
  %7932 = call ptr @s2n_strerror(i32 noundef %7931, ptr noundef @.str.4)
  %7933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror_debug(i32 noundef %7934, ptr noundef @.str.4)
  %7936 = call ptr @__errno_location() #12
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @strerror(i32 noundef %7937) #11
  %7939 = call ptr @__errno_location() #12
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7928, ptr noundef @.str.5, i32 noundef %7929, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7932, ptr noundef %7935, ptr noundef %7938, i32 noundef %7940) #11
  br label %7942

7942:                                             ; preds = %7925, %7908
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %7943

7943:                                             ; preds = %7942
  br label %7944

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

7945:                                             ; No predecessors!
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946, %7887
  br label %7948

7948:                                             ; preds = %7947
  br label %7949

7949:                                             ; preds = %7948
  br label %7950

7950:                                             ; preds = %7949
  %7951 = load i32, ptr @test_count, align 4, !tbaa !5
  %7952 = add nsw i32 %7951, 1
  store i32 %7952, ptr @test_count, align 4, !tbaa !5
  %7953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  %7955 = icmp eq i32 %7954, 201326592
  br i1 %7955, label %8009, label %7956

7956:                                             ; preds = %7950
  br label %7957

7957:                                             ; preds = %7956
  br label %7958

7958:                                             ; preds = %7957
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %7959 = call ptr @__errno_location() #12
  %7960 = load i32, ptr %7959, align 4, !tbaa !5
  store i32 %7960, ptr %220, align 4, !tbaa !5
  %7961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7962 = call i32 @s2n_print_stacktrace(ptr noundef %7961)
  %7963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7964 = trunc i8 %7963 to i1
  br i1 %7964, label %7965, label %7987

7965:                                             ; preds = %7958
  %7966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7967 = call i32 @fileno(ptr noundef %7966) #11
  %7968 = call i32 @isatty(i32 noundef %7967) #11
  %7969 = icmp ne i32 %7968, 0
  br i1 %7969, label %7970, label %7987

7970:                                             ; preds = %7965
  %7971 = load i32, ptr %220, align 4, !tbaa !5
  %7972 = call ptr @__errno_location() #12
  store i32 %7971, ptr %7972, align 4, !tbaa !5
  %7973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7974 = load i32, ptr @test_count, align 4, !tbaa !5
  %7975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7976 = load i32, ptr %7975, align 4, !tbaa !5
  %7977 = call ptr @s2n_strerror(i32 noundef %7976, ptr noundef @.str.4)
  %7978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7979 = load i32, ptr %7978, align 4, !tbaa !5
  %7980 = call ptr @s2n_strerror_debug(i32 noundef %7979, ptr noundef @.str.4)
  %7981 = call ptr @__errno_location() #12
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @strerror(i32 noundef %7982) #11
  %7984 = call ptr @__errno_location() #12
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7973, ptr noundef @.str.2, i32 noundef %7974, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7977, ptr noundef %7980, ptr noundef %7983, i32 noundef %7985) #11
  br label %8004

7987:                                             ; preds = %7965, %7958
  %7988 = load i32, ptr %220, align 4, !tbaa !5
  %7989 = call ptr @__errno_location() #12
  store i32 %7988, ptr %7989, align 4, !tbaa !5
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = load i32, ptr @test_count, align 4, !tbaa !5
  %7992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7993 = load i32, ptr %7992, align 4, !tbaa !5
  %7994 = call ptr @s2n_strerror(i32 noundef %7993, ptr noundef @.str.4)
  %7995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7996 = load i32, ptr %7995, align 4, !tbaa !5
  %7997 = call ptr @s2n_strerror_debug(i32 noundef %7996, ptr noundef @.str.4)
  %7998 = call ptr @__errno_location() #12
  %7999 = load i32, ptr %7998, align 4, !tbaa !5
  %8000 = call ptr @strerror(i32 noundef %7999) #11
  %8001 = call ptr @__errno_location() #12
  %8002 = load i32, ptr %8001, align 4, !tbaa !5
  %8003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7990, ptr noundef @.str.5, i32 noundef %7991, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 362, ptr noundef %7994, ptr noundef %7997, ptr noundef %8000, i32 noundef %8002) #11
  br label %8004

8004:                                             ; preds = %7987, %7970
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %8005

8005:                                             ; preds = %8004
  br label %8006

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

8007:                                             ; No predecessors!
  br label %8008

8008:                                             ; preds = %8007
  br label %8009

8009:                                             ; preds = %8008, %7950
  br label %8010

8010:                                             ; preds = %8009
  br label %8011

8011:                                             ; preds = %8010
  br label %8012

8012:                                             ; preds = %8011
  %8013 = load i32, ptr @test_count, align 4, !tbaa !5
  %8014 = add nsw i32 %8013, 1
  store i32 %8014, ptr @test_count, align 4, !tbaa !5
  %8015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8016 = load i32, ptr %8015, align 4, !tbaa !5
  %8017 = call ptr @s2n_strerror_debug(i32 noundef %8016, ptr noundef @.str.4)
  %8018 = icmp eq ptr %8017, null
  br i1 %8018, label %8019, label %8072

8019:                                             ; preds = %8012
  br label %8020

8020:                                             ; preds = %8019
  br label %8021

8021:                                             ; preds = %8020
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %8022 = call ptr @__errno_location() #12
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  store i32 %8023, ptr %221, align 4, !tbaa !5
  %8024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8025 = call i32 @s2n_print_stacktrace(ptr noundef %8024)
  %8026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8027 = trunc i8 %8026 to i1
  br i1 %8027, label %8028, label %8050

8028:                                             ; preds = %8021
  %8029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8030 = call i32 @fileno(ptr noundef %8029) #11
  %8031 = call i32 @isatty(i32 noundef %8030) #11
  %8032 = icmp ne i32 %8031, 0
  br i1 %8032, label %8033, label %8050

8033:                                             ; preds = %8028
  %8034 = load i32, ptr %221, align 4, !tbaa !5
  %8035 = call ptr @__errno_location() #12
  store i32 %8034, ptr %8035, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8039 = load i32, ptr %8038, align 4, !tbaa !5
  %8040 = call ptr @s2n_strerror(i32 noundef %8039, ptr noundef @.str.4)
  %8041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8042 = load i32, ptr %8041, align 4, !tbaa !5
  %8043 = call ptr @s2n_strerror_debug(i32 noundef %8042, ptr noundef @.str.4)
  %8044 = call ptr @__errno_location() #12
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call ptr @strerror(i32 noundef %8045) #11
  %8047 = call ptr @__errno_location() #12
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8036, ptr noundef @.str.2, i32 noundef %8037, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 362, ptr noundef %8040, ptr noundef %8043, ptr noundef %8046, i32 noundef %8048) #11
  br label %8067

8050:                                             ; preds = %8028, %8021
  %8051 = load i32, ptr %221, align 4, !tbaa !5
  %8052 = call ptr @__errno_location() #12
  store i32 %8051, ptr %8052, align 4, !tbaa !5
  %8053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8054 = load i32, ptr @test_count, align 4, !tbaa !5
  %8055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8056 = load i32, ptr %8055, align 4, !tbaa !5
  %8057 = call ptr @s2n_strerror(i32 noundef %8056, ptr noundef @.str.4)
  %8058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8059 = load i32, ptr %8058, align 4, !tbaa !5
  %8060 = call ptr @s2n_strerror_debug(i32 noundef %8059, ptr noundef @.str.4)
  %8061 = call ptr @__errno_location() #12
  %8062 = load i32, ptr %8061, align 4, !tbaa !5
  %8063 = call ptr @strerror(i32 noundef %8062) #11
  %8064 = call ptr @__errno_location() #12
  %8065 = load i32, ptr %8064, align 4, !tbaa !5
  %8066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8053, ptr noundef @.str.5, i32 noundef %8054, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 362, ptr noundef %8057, ptr noundef %8060, ptr noundef %8063, i32 noundef %8065) #11
  br label %8067

8067:                                             ; preds = %8050, %8033
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %8068

8068:                                             ; preds = %8067
  br label %8069

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

8070:                                             ; No predecessors!
  br label %8071

8071:                                             ; preds = %8070
  br label %8072

8072:                                             ; preds = %8071, %8012
  br label %8073

8073:                                             ; preds = %8072
  br label %8074

8074:                                             ; preds = %8073
  br label %8075

8075:                                             ; preds = %8074
  br label %8076

8076:                                             ; preds = %8075
  br label %8077

8077:                                             ; preds = %8076
  %8078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8078, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8079 = call ptr @__errno_location() #12
  store i32 0, ptr %8079, align 4, !tbaa !5
  br label %8080

8080:                                             ; preds = %8077
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

8083:                                             ; preds = %8082
  %8084 = load i64, ptr %212, align 8, !tbaa !15
  %8085 = add i64 %8084, 2
  store i64 %8085, ptr %212, align 8, !tbaa !15
  br label %8086

8086:                                             ; preds = %8083
  %8087 = load i32, ptr @test_count, align 4, !tbaa !5
  %8088 = add nsw i32 %8087, 1
  store i32 %8088, ptr @test_count, align 4, !tbaa !5
  %8089 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %205, i32 0, i32 0
  %8090 = load i64, ptr %8089, align 8, !tbaa !22
  %8091 = load i64, ptr %212, align 8, !tbaa !15
  %8092 = icmp eq i64 %8090, %8091
  br i1 %8092, label %8146, label %8093

8093:                                             ; preds = %8086
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %8096 = call ptr @__errno_location() #12
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  store i32 %8097, ptr %222, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @s2n_print_stacktrace(ptr noundef %8098)
  %8100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8101 = trunc i8 %8100 to i1
  br i1 %8101, label %8102, label %8124

8102:                                             ; preds = %8095
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @fileno(ptr noundef %8103) #11
  %8105 = call i32 @isatty(i32 noundef %8104) #11
  %8106 = icmp ne i32 %8105, 0
  br i1 %8106, label %8107, label %8124

8107:                                             ; preds = %8102
  %8108 = load i32, ptr %222, align 4, !tbaa !5
  %8109 = call ptr @__errno_location() #12
  store i32 %8108, ptr %8109, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror(i32 noundef %8113, ptr noundef @.str.4)
  %8115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror_debug(i32 noundef %8116, ptr noundef @.str.4)
  %8118 = call ptr @__errno_location() #12
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call ptr @strerror(i32 noundef %8119) #11
  %8121 = call ptr @__errno_location() #12
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8110, ptr noundef @.str.2, i32 noundef %8111, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 364, ptr noundef %8114, ptr noundef %8117, ptr noundef %8120, i32 noundef %8122) #11
  br label %8141

8124:                                             ; preds = %8102, %8095
  %8125 = load i32, ptr %222, align 4, !tbaa !5
  %8126 = call ptr @__errno_location() #12
  store i32 %8125, ptr %8126, align 4, !tbaa !5
  %8127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror(i32 noundef %8130, ptr noundef @.str.4)
  %8132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror_debug(i32 noundef %8133, ptr noundef @.str.4)
  %8135 = call ptr @__errno_location() #12
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @strerror(i32 noundef %8136) #11
  %8138 = call ptr @__errno_location() #12
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8127, ptr noundef @.str.5, i32 noundef %8128, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 364, ptr noundef %8131, ptr noundef %8134, ptr noundef %8137, i32 noundef %8139) #11
  br label %8141

8141:                                             ; preds = %8124, %8107
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

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

8144:                                             ; No predecessors!
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145, %8086
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147
  br label %8149

8149:                                             ; preds = %8148
  %8150 = load i64, ptr %214, align 8, !tbaa !15
  %8151 = add i64 %8150, 1
  store i64 %8151, ptr %214, align 8, !tbaa !15
  br label %7610, !llvm.loop !59

8152:                                             ; preds = %7615
  %8153 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %199, i32 0, i32 1
  %8154 = getelementptr inbounds %struct.s2n_stuffer, ptr %8153, i32 0, i32 2
  %8155 = load i32, ptr %8154, align 4, !tbaa !17
  %8156 = add i32 %8155, 1
  store i32 %8156, ptr %8154, align 4, !tbaa !17
  br label %8157

8157:                                             ; preds = %8152
  %8158 = load i32, ptr @test_count, align 4, !tbaa !5
  %8159 = add nsw i32 %8158, 1
  store i32 %8159, ptr @test_count, align 4, !tbaa !5
  %8160 = load ptr, ptr %195, align 8, !tbaa !9
  %8161 = getelementptr inbounds [20 x i8], ptr %213, i64 0, i64 0
  %8162 = call i64 @s2n_recv(ptr noundef %8160, ptr noundef %8161, i64 noundef 20, ptr noundef %208)
  %8163 = icmp eq i64 %8162, 20
  br i1 %8163, label %8217, label %8164

8164:                                             ; preds = %8157
  br label %8165

8165:                                             ; preds = %8164
  br label %8166

8166:                                             ; preds = %8165
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %8167 = call ptr @__errno_location() #12
  %8168 = load i32, ptr %8167, align 4, !tbaa !5
  store i32 %8168, ptr %223, align 4, !tbaa !5
  %8169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8170 = call i32 @s2n_print_stacktrace(ptr noundef %8169)
  %8171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8172 = trunc i8 %8171 to i1
  br i1 %8172, label %8173, label %8195

8173:                                             ; preds = %8166
  %8174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8175 = call i32 @fileno(ptr noundef %8174) #11
  %8176 = call i32 @isatty(i32 noundef %8175) #11
  %8177 = icmp ne i32 %8176, 0
  br i1 %8177, label %8178, label %8195

8178:                                             ; preds = %8173
  %8179 = load i32, ptr %223, align 4, !tbaa !5
  %8180 = call ptr @__errno_location() #12
  store i32 %8179, ptr %8180, align 4, !tbaa !5
  %8181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8182 = load i32, ptr @test_count, align 4, !tbaa !5
  %8183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call ptr @s2n_strerror(i32 noundef %8184, ptr noundef @.str.4)
  %8186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8187 = load i32, ptr %8186, align 4, !tbaa !5
  %8188 = call ptr @s2n_strerror_debug(i32 noundef %8187, ptr noundef @.str.4)
  %8189 = call ptr @__errno_location() #12
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call ptr @strerror(i32 noundef %8190) #11
  %8192 = call ptr @__errno_location() #12
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8181, ptr noundef @.str.2, i32 noundef %8182, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 369, ptr noundef %8185, ptr noundef %8188, ptr noundef %8191, i32 noundef %8193) #11
  br label %8212

8195:                                             ; preds = %8173, %8166
  %8196 = load i32, ptr %223, align 4, !tbaa !5
  %8197 = call ptr @__errno_location() #12
  store i32 %8196, ptr %8197, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = load i32, ptr @test_count, align 4, !tbaa !5
  %8200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call ptr @s2n_strerror(i32 noundef %8201, ptr noundef @.str.4)
  %8203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8204 = load i32, ptr %8203, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror_debug(i32 noundef %8204, ptr noundef @.str.4)
  %8206 = call ptr @__errno_location() #12
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call ptr @strerror(i32 noundef %8207) #11
  %8209 = call ptr @__errno_location() #12
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  %8211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8198, ptr noundef @.str.5, i32 noundef %8199, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 369, ptr noundef %8202, ptr noundef %8205, ptr noundef %8208, i32 noundef %8210) #11
  br label %8212

8212:                                             ; preds = %8195, %8178
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

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

8215:                                             ; No predecessors!
  br label %8216

8216:                                             ; preds = %8215
  br label %8217

8217:                                             ; preds = %8216, %8157
  br label %8218

8218:                                             ; preds = %8217
  br label %8219

8219:                                             ; preds = %8218
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

8221:                                             ; preds = %8220
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = add nsw i32 %8222, 1
  store i32 %8223, ptr @test_count, align 4, !tbaa !5
  %8224 = getelementptr inbounds [20 x i8], ptr %213, i64 0, i64 0
  %8225 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %8226 = call i32 @memcmp(ptr noundef %8224, ptr noundef %8225, i64 noundef 20) #14
  %8227 = icmp eq i32 %8226, 0
  br i1 %8227, label %8281, label %8228

8228:                                             ; preds = %8221
  br label %8229

8229:                                             ; preds = %8228
  br label %8230

8230:                                             ; preds = %8229
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %8231 = call ptr @__errno_location() #12
  %8232 = load i32, ptr %8231, align 4, !tbaa !5
  store i32 %8232, ptr %224, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = call i32 @s2n_print_stacktrace(ptr noundef %8233)
  %8235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8236 = trunc i8 %8235 to i1
  br i1 %8236, label %8237, label %8259

8237:                                             ; preds = %8230
  %8238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8239 = call i32 @fileno(ptr noundef %8238) #11
  %8240 = call i32 @isatty(i32 noundef %8239) #11
  %8241 = icmp ne i32 %8240, 0
  br i1 %8241, label %8242, label %8259

8242:                                             ; preds = %8237
  %8243 = load i32, ptr %224, align 4, !tbaa !5
  %8244 = call ptr @__errno_location() #12
  store i32 %8243, ptr %8244, align 4, !tbaa !5
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = load i32, ptr @test_count, align 4, !tbaa !5
  %8247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8248 = load i32, ptr %8247, align 4, !tbaa !5
  %8249 = call ptr @s2n_strerror(i32 noundef %8248, ptr noundef @.str.4)
  %8250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8251 = load i32, ptr %8250, align 4, !tbaa !5
  %8252 = call ptr @s2n_strerror_debug(i32 noundef %8251, ptr noundef @.str.4)
  %8253 = call ptr @__errno_location() #12
  %8254 = load i32, ptr %8253, align 4, !tbaa !5
  %8255 = call ptr @strerror(i32 noundef %8254) #11
  %8256 = call ptr @__errno_location() #12
  %8257 = load i32, ptr %8256, align 4, !tbaa !5
  %8258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8245, ptr noundef @.str.2, i32 noundef %8246, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8249, ptr noundef %8252, ptr noundef %8255, i32 noundef %8257) #11
  br label %8276

8259:                                             ; preds = %8237, %8230
  %8260 = load i32, ptr %224, align 4, !tbaa !5
  %8261 = call ptr @__errno_location() #12
  store i32 %8260, ptr %8261, align 4, !tbaa !5
  %8262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8263 = load i32, ptr @test_count, align 4, !tbaa !5
  %8264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8265 = load i32, ptr %8264, align 4, !tbaa !5
  %8266 = call ptr @s2n_strerror(i32 noundef %8265, ptr noundef @.str.4)
  %8267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8268 = load i32, ptr %8267, align 4, !tbaa !5
  %8269 = call ptr @s2n_strerror_debug(i32 noundef %8268, ptr noundef @.str.4)
  %8270 = call ptr @__errno_location() #12
  %8271 = load i32, ptr %8270, align 4, !tbaa !5
  %8272 = call ptr @strerror(i32 noundef %8271) #11
  %8273 = call ptr @__errno_location() #12
  %8274 = load i32, ptr %8273, align 4, !tbaa !5
  %8275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8262, ptr noundef @.str.5, i32 noundef %8263, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 370, ptr noundef %8266, ptr noundef %8269, ptr noundef %8272, i32 noundef %8274) #11
  br label %8276

8276:                                             ; preds = %8259, %8242
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %8277

8277:                                             ; preds = %8276
  br label %8278

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

8279:                                             ; No predecessors!
  br label %8280

8280:                                             ; preds = %8279
  br label %8281

8281:                                             ; preds = %8280, %8221
  br label %8282

8282:                                             ; preds = %8281
  br label %8283

8283:                                             ; preds = %8282
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

8285:                                             ; preds = %8284
  %8286 = load i64, ptr %212, align 8, !tbaa !15
  %8287 = add i64 %8286, 1
  store i64 %8287, ptr %212, align 8, !tbaa !15
  br label %8288

8288:                                             ; preds = %8285
  %8289 = load i32, ptr @test_count, align 4, !tbaa !5
  %8290 = add nsw i32 %8289, 1
  store i32 %8290, ptr @test_count, align 4, !tbaa !5
  %8291 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %205, i32 0, i32 0
  %8292 = load i64, ptr %8291, align 8, !tbaa !22
  %8293 = load i64, ptr %212, align 8, !tbaa !15
  %8294 = icmp eq i64 %8292, %8293
  br i1 %8294, label %8348, label %8295

8295:                                             ; preds = %8288
  br label %8296

8296:                                             ; preds = %8295
  br label %8297

8297:                                             ; preds = %8296
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %8298 = call ptr @__errno_location() #12
  %8299 = load i32, ptr %8298, align 4, !tbaa !5
  store i32 %8299, ptr %225, align 4, !tbaa !5
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = call i32 @s2n_print_stacktrace(ptr noundef %8300)
  %8302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8303 = trunc i8 %8302 to i1
  br i1 %8303, label %8304, label %8326

8304:                                             ; preds = %8297
  %8305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8306 = call i32 @fileno(ptr noundef %8305) #11
  %8307 = call i32 @isatty(i32 noundef %8306) #11
  %8308 = icmp ne i32 %8307, 0
  br i1 %8308, label %8309, label %8326

8309:                                             ; preds = %8304
  %8310 = load i32, ptr %225, align 4, !tbaa !5
  %8311 = call ptr @__errno_location() #12
  store i32 %8310, ptr %8311, align 4, !tbaa !5
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = load i32, ptr @test_count, align 4, !tbaa !5
  %8314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @s2n_strerror(i32 noundef %8315, ptr noundef @.str.4)
  %8317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call ptr @s2n_strerror_debug(i32 noundef %8318, ptr noundef @.str.4)
  %8320 = call ptr @__errno_location() #12
  %8321 = load i32, ptr %8320, align 4, !tbaa !5
  %8322 = call ptr @strerror(i32 noundef %8321) #11
  %8323 = call ptr @__errno_location() #12
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8312, ptr noundef @.str.2, i32 noundef %8313, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 372, ptr noundef %8316, ptr noundef %8319, ptr noundef %8322, i32 noundef %8324) #11
  br label %8343

8326:                                             ; preds = %8304, %8297
  %8327 = load i32, ptr %225, align 4, !tbaa !5
  %8328 = call ptr @__errno_location() #12
  store i32 %8327, ptr %8328, align 4, !tbaa !5
  %8329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8330 = load i32, ptr @test_count, align 4, !tbaa !5
  %8331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8332 = load i32, ptr %8331, align 4, !tbaa !5
  %8333 = call ptr @s2n_strerror(i32 noundef %8332, ptr noundef @.str.4)
  %8334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8335 = load i32, ptr %8334, align 4, !tbaa !5
  %8336 = call ptr @s2n_strerror_debug(i32 noundef %8335, ptr noundef @.str.4)
  %8337 = call ptr @__errno_location() #12
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = call ptr @strerror(i32 noundef %8338) #11
  %8340 = call ptr @__errno_location() #12
  %8341 = load i32, ptr %8340, align 4, !tbaa !5
  %8342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8329, ptr noundef @.str.5, i32 noundef %8330, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 372, ptr noundef %8333, ptr noundef %8336, ptr noundef %8339, i32 noundef %8341) #11
  br label %8343

8343:                                             ; preds = %8326, %8309
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %8344

8344:                                             ; preds = %8343
  br label %8345

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

8346:                                             ; No predecessors!
  br label %8347

8347:                                             ; preds = %8346
  br label %8348

8348:                                             ; preds = %8347, %8288
  br label %8349

8349:                                             ; preds = %8348
  br label %8350

8350:                                             ; preds = %8349
  call void @llvm.lifetime.end.p0(i64 20, ptr %213) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %205) #11
  %8351 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %199)
  %8352 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %8351, ptr %8352, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %199) #11
  %8353 = call i32 @s2n_connection_ptr_free(ptr noundef %195)
  %8354 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %8353, ptr %8354, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #11
  %8355 = call i32 @s2n_connection_ptr_free(ptr noundef %193)
  %8356 = getelementptr inbounds %struct.s2n_result, ptr %228, i32 0, i32 0
  store i32 %8355, ptr %8356, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  call void @llvm.lifetime.start.p0(i64 54, ptr %229) #11
  %8357 = getelementptr inbounds %struct.anon, ptr %229, i32 0, i32 0
  store i16 0, ptr %8357, align 2, !tbaa !60
  %8358 = getelementptr inbounds %struct.anon, ptr %229, i32 0, i32 1
  %8359 = load i32, ptr %47, align 4, !tbaa !5
  %8360 = trunc i32 %8359 to i16
  store i16 %8360, ptr %8358, align 2, !tbaa !62
  %8361 = getelementptr inbounds %struct.anon, ptr %229, i32 0, i32 2
  store i8 1, ptr %8361, align 2, !tbaa !63
  %8362 = getelementptr inbounds %struct.anon, ptr %229, i64 1
  %8363 = getelementptr inbounds %struct.anon, ptr %8362, i32 0, i32 0
  store i16 10, ptr %8363, align 2, !tbaa !60
  %8364 = getelementptr inbounds %struct.anon, ptr %8362, i32 0, i32 1
  %8365 = load i32, ptr %47, align 4, !tbaa !5
  %8366 = add i32 10, %8365
  %8367 = trunc i32 %8366 to i16
  store i16 %8367, ptr %8364, align 2, !tbaa !62
  %8368 = getelementptr inbounds %struct.anon, ptr %8362, i32 0, i32 2
  store i8 1, ptr %8368, align 2, !tbaa !63
  %8369 = getelementptr inbounds %struct.anon, ptr %229, i64 2
  %8370 = getelementptr inbounds %struct.anon, ptr %8369, i32 0, i32 0
  store i16 1000, ptr %8370, align 2, !tbaa !60
  %8371 = getelementptr inbounds %struct.anon, ptr %8369, i32 0, i32 1
  %8372 = load i32, ptr %47, align 4, !tbaa !5
  %8373 = add i32 1000, %8372
  %8374 = trunc i32 %8373 to i16
  store i16 %8374, ptr %8371, align 2, !tbaa !62
  %8375 = getelementptr inbounds %struct.anon, ptr %8369, i32 0, i32 2
  store i8 1, ptr %8375, align 2, !tbaa !63
  %8376 = getelementptr inbounds %struct.anon, ptr %229, i64 3
  %8377 = getelementptr inbounds %struct.anon, ptr %8376, i32 0, i32 0
  %8378 = load i32, ptr %47, align 4, !tbaa !5
  %8379 = zext i32 %8378 to i64
  %8380 = sub i64 16384, %8379
  %8381 = trunc i64 %8380 to i16
  store i16 %8381, ptr %8377, align 2, !tbaa !60
  %8382 = getelementptr inbounds %struct.anon, ptr %8376, i32 0, i32 1
  store i16 0, ptr %8382, align 2, !tbaa !62
  %8383 = getelementptr inbounds %struct.anon, ptr %8376, i32 0, i32 2
  store i8 1, ptr %8383, align 2, !tbaa !63
  %8384 = getelementptr inbounds %struct.anon, ptr %229, i64 4
  %8385 = getelementptr inbounds %struct.anon, ptr %8384, i32 0, i32 0
  store i16 16379, ptr %8385, align 2, !tbaa !60
  %8386 = getelementptr inbounds %struct.anon, ptr %8384, i32 0, i32 1
  %8387 = load i32, ptr %47, align 4, !tbaa !5
  %8388 = sub i32 %8387, 5
  %8389 = trunc i32 %8388 to i16
  store i16 %8389, ptr %8386, align 2, !tbaa !62
  %8390 = getelementptr inbounds %struct.anon, ptr %8384, i32 0, i32 2
  store i8 2, ptr %8390, align 2, !tbaa !63
  %8391 = getelementptr inbounds %struct.anon, ptr %229, i64 5
  %8392 = getelementptr inbounds %struct.anon, ptr %8391, i32 0, i32 0
  store i16 16378, ptr %8392, align 2, !tbaa !60
  %8393 = getelementptr inbounds %struct.anon, ptr %8391, i32 0, i32 1
  %8394 = load i32, ptr %47, align 4, !tbaa !5
  %8395 = sub i32 %8394, 5
  %8396 = trunc i32 %8395 to i16
  store i16 %8396, ptr %8393, align 2, !tbaa !62
  %8397 = getelementptr inbounds %struct.anon, ptr %8391, i32 0, i32 2
  store i8 2, ptr %8397, align 2, !tbaa !63
  %8398 = getelementptr inbounds %struct.anon, ptr %229, i64 6
  %8399 = getelementptr inbounds %struct.anon, ptr %8398, i32 0, i32 0
  store i16 16381, ptr %8399, align 2, !tbaa !60
  %8400 = getelementptr inbounds %struct.anon, ptr %8398, i32 0, i32 1
  %8401 = load i32, ptr %47, align 4, !tbaa !5
  %8402 = trunc i32 %8401 to i16
  store i16 %8402, ptr %8400, align 2, !tbaa !62
  %8403 = getelementptr inbounds %struct.anon, ptr %8398, i32 0, i32 2
  store i8 1, ptr %8403, align 2, !tbaa !63
  %8404 = getelementptr inbounds %struct.anon, ptr %229, i64 7
  %8405 = getelementptr inbounds %struct.anon, ptr %8404, i32 0, i32 0
  store i16 16383, ptr %8405, align 2, !tbaa !60
  %8406 = getelementptr inbounds %struct.anon, ptr %8404, i32 0, i32 1
  %8407 = load i32, ptr %47, align 4, !tbaa !5
  %8408 = trunc i32 %8407 to i16
  store i16 %8408, ptr %8406, align 2, !tbaa !62
  %8409 = getelementptr inbounds %struct.anon, ptr %8404, i32 0, i32 2
  store i8 1, ptr %8409, align 2, !tbaa !63
  %8410 = getelementptr inbounds %struct.anon, ptr %229, i64 8
  %8411 = getelementptr inbounds %struct.anon, ptr %8410, i32 0, i32 0
  store i16 16384, ptr %8411, align 2, !tbaa !60
  %8412 = getelementptr inbounds %struct.anon, ptr %8410, i32 0, i32 1
  %8413 = load i32, ptr %47, align 4, !tbaa !5
  %8414 = trunc i32 %8413 to i16
  store i16 %8414, ptr %8412, align 2, !tbaa !62
  %8415 = getelementptr inbounds %struct.anon, ptr %8410, i32 0, i32 2
  store i8 1, ptr %8415, align 2, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #11
  store i64 0, ptr %230, align 8, !tbaa !15
  br label %8416

8416:                                             ; preds = %9668, %8350
  %8417 = load i64, ptr %230, align 8, !tbaa !15
  %8418 = icmp ult i64 %8417, 9
  br i1 %8418, label %8420, label %8419

8419:                                             ; preds = %8416
  store i32 788, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #11
  br label %9671

8420:                                             ; preds = %8416
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #11
  %8421 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %8421, ptr %231, align 8, !tbaa !9
  br label %8422

8422:                                             ; preds = %8420
  %8423 = load i32, ptr @test_count, align 4, !tbaa !5
  %8424 = add nsw i32 %8423, 1
  store i32 %8424, ptr @test_count, align 4, !tbaa !5
  %8425 = load ptr, ptr %231, align 8, !tbaa !9
  %8426 = load ptr, ptr %13, align 8, !tbaa !9
  %8427 = call i32 @s2n_connection_set_config(ptr noundef %8425, ptr noundef %8426)
  %8428 = icmp eq i32 %8427, -1
  br i1 %8428, label %8429, label %8482

8429:                                             ; preds = %8422
  br label %8430

8430:                                             ; preds = %8429
  br label %8431

8431:                                             ; preds = %8430
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %8432 = call ptr @__errno_location() #12
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  store i32 %8433, ptr %232, align 4, !tbaa !5
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = call i32 @s2n_print_stacktrace(ptr noundef %8434)
  %8436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8437 = trunc i8 %8436 to i1
  br i1 %8437, label %8438, label %8460

8438:                                             ; preds = %8431
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = call i32 @fileno(ptr noundef %8439) #11
  %8441 = call i32 @isatty(i32 noundef %8440) #11
  %8442 = icmp ne i32 %8441, 0
  br i1 %8442, label %8443, label %8460

8443:                                             ; preds = %8438
  %8444 = load i32, ptr %232, align 4, !tbaa !5
  %8445 = call ptr @__errno_location() #12
  store i32 %8444, ptr %8445, align 4, !tbaa !5
  %8446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8447 = load i32, ptr @test_count, align 4, !tbaa !5
  %8448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call ptr @s2n_strerror(i32 noundef %8449, ptr noundef @.str.4)
  %8451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call ptr @s2n_strerror_debug(i32 noundef %8452, ptr noundef @.str.4)
  %8454 = call ptr @__errno_location() #12
  %8455 = load i32, ptr %8454, align 4, !tbaa !5
  %8456 = call ptr @strerror(i32 noundef %8455) #11
  %8457 = call ptr @__errno_location() #12
  %8458 = load i32, ptr %8457, align 4, !tbaa !5
  %8459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8446, ptr noundef @.str.2, i32 noundef %8447, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 420, ptr noundef %8450, ptr noundef %8453, ptr noundef %8456, i32 noundef %8458) #11
  br label %8477

8460:                                             ; preds = %8438, %8431
  %8461 = load i32, ptr %232, align 4, !tbaa !5
  %8462 = call ptr @__errno_location() #12
  store i32 %8461, ptr %8462, align 4, !tbaa !5
  %8463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8464 = load i32, ptr @test_count, align 4, !tbaa !5
  %8465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @s2n_strerror(i32 noundef %8466, ptr noundef @.str.4)
  %8468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call ptr @s2n_strerror_debug(i32 noundef %8469, ptr noundef @.str.4)
  %8471 = call ptr @__errno_location() #12
  %8472 = load i32, ptr %8471, align 4, !tbaa !5
  %8473 = call ptr @strerror(i32 noundef %8472) #11
  %8474 = call ptr @__errno_location() #12
  %8475 = load i32, ptr %8474, align 4, !tbaa !5
  %8476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8463, ptr noundef @.str.5, i32 noundef %8464, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 420, ptr noundef %8467, ptr noundef %8470, ptr noundef %8473, i32 noundef %8475) #11
  br label %8477

8477:                                             ; preds = %8460, %8443
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

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

8480:                                             ; No predecessors!
  br label %8481

8481:                                             ; preds = %8480
  br label %8482

8482:                                             ; preds = %8481, %8422
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  call void @llvm.lifetime.start.p0(i64 8, ptr %233) #11
  %8485 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %8485, ptr %233, align 8, !tbaa !9
  br label %8486

8486:                                             ; preds = %8484
  %8487 = load i32, ptr @test_count, align 4, !tbaa !5
  %8488 = add nsw i32 %8487, 1
  store i32 %8488, ptr @test_count, align 4, !tbaa !5
  %8489 = load ptr, ptr %233, align 8, !tbaa !9
  %8490 = load ptr, ptr %13, align 8, !tbaa !9
  %8491 = call i32 @s2n_connection_set_config(ptr noundef %8489, ptr noundef %8490)
  %8492 = icmp eq i32 %8491, -1
  br i1 %8492, label %8493, label %8546

8493:                                             ; preds = %8486
  br label %8494

8494:                                             ; preds = %8493
  br label %8495

8495:                                             ; preds = %8494
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %8496 = call ptr @__errno_location() #12
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  store i32 %8497, ptr %234, align 4, !tbaa !5
  %8498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8499 = call i32 @s2n_print_stacktrace(ptr noundef %8498)
  %8500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8501 = trunc i8 %8500 to i1
  br i1 %8501, label %8502, label %8524

8502:                                             ; preds = %8495
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = call i32 @fileno(ptr noundef %8503) #11
  %8505 = call i32 @isatty(i32 noundef %8504) #11
  %8506 = icmp ne i32 %8505, 0
  br i1 %8506, label %8507, label %8524

8507:                                             ; preds = %8502
  %8508 = load i32, ptr %234, align 4, !tbaa !5
  %8509 = call ptr @__errno_location() #12
  store i32 %8508, ptr %8509, align 4, !tbaa !5
  %8510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8511 = load i32, ptr @test_count, align 4, !tbaa !5
  %8512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call ptr @s2n_strerror(i32 noundef %8513, ptr noundef @.str.4)
  %8515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror_debug(i32 noundef %8516, ptr noundef @.str.4)
  %8518 = call ptr @__errno_location() #12
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @strerror(i32 noundef %8519) #11
  %8521 = call ptr @__errno_location() #12
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8510, ptr noundef @.str.2, i32 noundef %8511, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8514, ptr noundef %8517, ptr noundef %8520, i32 noundef %8522) #11
  br label %8541

8524:                                             ; preds = %8502, %8495
  %8525 = load i32, ptr %234, align 4, !tbaa !5
  %8526 = call ptr @__errno_location() #12
  store i32 %8525, ptr %8526, align 4, !tbaa !5
  %8527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8528 = load i32, ptr @test_count, align 4, !tbaa !5
  %8529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8530 = load i32, ptr %8529, align 4, !tbaa !5
  %8531 = call ptr @s2n_strerror(i32 noundef %8530, ptr noundef @.str.4)
  %8532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror_debug(i32 noundef %8533, ptr noundef @.str.4)
  %8535 = call ptr @__errno_location() #12
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @strerror(i32 noundef %8536) #11
  %8538 = call ptr @__errno_location() #12
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8527, ptr noundef @.str.5, i32 noundef %8528, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 423, ptr noundef %8531, ptr noundef %8534, ptr noundef %8537, i32 noundef %8539) #11
  br label %8541

8541:                                             ; preds = %8524, %8507
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %8542

8542:                                             ; preds = %8541
  br label %8543

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

8544:                                             ; No predecessors!
  br label %8545

8545:                                             ; preds = %8544
  br label %8546

8546:                                             ; preds = %8545, %8486
  br label %8547

8547:                                             ; preds = %8546
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = add nsw i32 %8550, 1
  store i32 %8551, ptr @test_count, align 4, !tbaa !5
  %8552 = load ptr, ptr %231, align 8, !tbaa !9
  %8553 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %8552, i1 noundef zeroext true)
  %8554 = icmp eq i32 %8553, -1
  br i1 %8554, label %8555, label %8608

8555:                                             ; preds = %8549
  br label %8556

8556:                                             ; preds = %8555
  br label %8557

8557:                                             ; preds = %8556
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %8558 = call ptr @__errno_location() #12
  %8559 = load i32, ptr %8558, align 4, !tbaa !5
  store i32 %8559, ptr %235, align 4, !tbaa !5
  %8560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8561 = call i32 @s2n_print_stacktrace(ptr noundef %8560)
  %8562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8563 = trunc i8 %8562 to i1
  br i1 %8563, label %8564, label %8586

8564:                                             ; preds = %8557
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @fileno(ptr noundef %8565) #11
  %8567 = call i32 @isatty(i32 noundef %8566) #11
  %8568 = icmp ne i32 %8567, 0
  br i1 %8568, label %8569, label %8586

8569:                                             ; preds = %8564
  %8570 = load i32, ptr %235, align 4, !tbaa !5
  %8571 = call ptr @__errno_location() #12
  store i32 %8570, ptr %8571, align 4, !tbaa !5
  %8572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8573 = load i32, ptr @test_count, align 4, !tbaa !5
  %8574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call ptr @s2n_strerror(i32 noundef %8575, ptr noundef @.str.4)
  %8577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror_debug(i32 noundef %8578, ptr noundef @.str.4)
  %8580 = call ptr @__errno_location() #12
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #11
  %8583 = call ptr @__errno_location() #12
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8572, ptr noundef @.str.2, i32 noundef %8573, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 425, ptr noundef %8576, ptr noundef %8579, ptr noundef %8582, i32 noundef %8584) #11
  br label %8603

8586:                                             ; preds = %8564, %8557
  %8587 = load i32, ptr %235, align 4, !tbaa !5
  %8588 = call ptr @__errno_location() #12
  store i32 %8587, ptr %8588, align 4, !tbaa !5
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = load i32, ptr @test_count, align 4, !tbaa !5
  %8591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8592 = load i32, ptr %8591, align 4, !tbaa !5
  %8593 = call ptr @s2n_strerror(i32 noundef %8592, ptr noundef @.str.4)
  %8594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8595 = load i32, ptr %8594, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror_debug(i32 noundef %8595, ptr noundef @.str.4)
  %8597 = call ptr @__errno_location() #12
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  %8599 = call ptr @strerror(i32 noundef %8598) #11
  %8600 = call ptr @__errno_location() #12
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8589, ptr noundef @.str.5, i32 noundef %8590, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 425, ptr noundef %8593, ptr noundef %8596, ptr noundef %8599, i32 noundef %8601) #11
  br label %8603

8603:                                             ; preds = %8586, %8569
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %8604

8604:                                             ; preds = %8603
  br label %8605

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

8606:                                             ; No predecessors!
  br label %8607

8607:                                             ; preds = %8606
  br label %8608

8608:                                             ; preds = %8607, %8549
  br label %8609

8609:                                             ; preds = %8608
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610
  %8612 = load i32, ptr @test_count, align 4, !tbaa !5
  %8613 = add nsw i32 %8612, 1
  store i32 %8613, ptr @test_count, align 4, !tbaa !5
  %8614 = load ptr, ptr %233, align 8, !tbaa !9
  %8615 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %8614, i1 noundef zeroext true)
  %8616 = icmp eq i32 %8615, -1
  br i1 %8616, label %8617, label %8670

8617:                                             ; preds = %8611
  br label %8618

8618:                                             ; preds = %8617
  br label %8619

8619:                                             ; preds = %8618
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %8620 = call ptr @__errno_location() #12
  %8621 = load i32, ptr %8620, align 4, !tbaa !5
  store i32 %8621, ptr %236, align 4, !tbaa !5
  %8622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8623 = call i32 @s2n_print_stacktrace(ptr noundef %8622)
  %8624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8625 = trunc i8 %8624 to i1
  br i1 %8625, label %8626, label %8648

8626:                                             ; preds = %8619
  %8627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8628 = call i32 @fileno(ptr noundef %8627) #11
  %8629 = call i32 @isatty(i32 noundef %8628) #11
  %8630 = icmp ne i32 %8629, 0
  br i1 %8630, label %8631, label %8648

8631:                                             ; preds = %8626
  %8632 = load i32, ptr %236, align 4, !tbaa !5
  %8633 = call ptr @__errno_location() #12
  store i32 %8632, ptr %8633, align 4, !tbaa !5
  %8634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8635 = load i32, ptr @test_count, align 4, !tbaa !5
  %8636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  %8638 = call ptr @s2n_strerror(i32 noundef %8637, ptr noundef @.str.4)
  %8639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call ptr @s2n_strerror_debug(i32 noundef %8640, ptr noundef @.str.4)
  %8642 = call ptr @__errno_location() #12
  %8643 = load i32, ptr %8642, align 4, !tbaa !5
  %8644 = call ptr @strerror(i32 noundef %8643) #11
  %8645 = call ptr @__errno_location() #12
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8634, ptr noundef @.str.2, i32 noundef %8635, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 426, ptr noundef %8638, ptr noundef %8641, ptr noundef %8644, i32 noundef %8646) #11
  br label %8665

8648:                                             ; preds = %8626, %8619
  %8649 = load i32, ptr %236, align 4, !tbaa !5
  %8650 = call ptr @__errno_location() #12
  store i32 %8649, ptr %8650, align 4, !tbaa !5
  %8651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8652 = load i32, ptr @test_count, align 4, !tbaa !5
  %8653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8654 = load i32, ptr %8653, align 4, !tbaa !5
  %8655 = call ptr @s2n_strerror(i32 noundef %8654, ptr noundef @.str.4)
  %8656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8657 = load i32, ptr %8656, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror_debug(i32 noundef %8657, ptr noundef @.str.4)
  %8659 = call ptr @__errno_location() #12
  %8660 = load i32, ptr %8659, align 4, !tbaa !5
  %8661 = call ptr @strerror(i32 noundef %8660) #11
  %8662 = call ptr @__errno_location() #12
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8651, ptr noundef @.str.5, i32 noundef %8652, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 426, ptr noundef %8655, ptr noundef %8658, ptr noundef %8661, i32 noundef %8663) #11
  br label %8665

8665:                                             ; preds = %8648, %8631
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %8666

8666:                                             ; preds = %8665
  br label %8667

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

8668:                                             ; No predecessors!
  br label %8669

8669:                                             ; preds = %8668
  br label %8670

8670:                                             ; preds = %8669, %8611
  br label %8671

8671:                                             ; preds = %8670
  br label %8672

8672:                                             ; preds = %8671
  call void @llvm.lifetime.start.p0(i64 80, ptr %237) #11
  call void @llvm.memset.p0.i64(ptr align 8 %237, i8 0, i64 80, i1 false)
  br label %8673

8673:                                             ; preds = %8672
  %8674 = load i32, ptr @test_count, align 4, !tbaa !5
  %8675 = add nsw i32 %8674, 1
  store i32 %8675, ptr @test_count, align 4, !tbaa !5
  %8676 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %237)
  %8677 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  store i32 %8676, ptr %8677, align 4
  %8678 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  %8679 = load i32, ptr %8678, align 4
  %8680 = call zeroext i1 @s2n_result_is_ok(i32 %8679)
  br i1 %8680, label %8734, label %8681

8681:                                             ; preds = %8673
  br label %8682

8682:                                             ; preds = %8681
  br label %8683

8683:                                             ; preds = %8682
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %8684 = call ptr @__errno_location() #12
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  store i32 %8685, ptr %239, align 4, !tbaa !5
  %8686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8687 = call i32 @s2n_print_stacktrace(ptr noundef %8686)
  %8688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8689 = trunc i8 %8688 to i1
  br i1 %8689, label %8690, label %8712

8690:                                             ; preds = %8683
  %8691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8692 = call i32 @fileno(ptr noundef %8691) #11
  %8693 = call i32 @isatty(i32 noundef %8692) #11
  %8694 = icmp ne i32 %8693, 0
  br i1 %8694, label %8695, label %8712

8695:                                             ; preds = %8690
  %8696 = load i32, ptr %239, align 4, !tbaa !5
  %8697 = call ptr @__errno_location() #12
  store i32 %8696, ptr %8697, align 4, !tbaa !5
  %8698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8699 = load i32, ptr @test_count, align 4, !tbaa !5
  %8700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call ptr @s2n_strerror(i32 noundef %8701, ptr noundef @.str.4)
  %8703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8704 = load i32, ptr %8703, align 4, !tbaa !5
  %8705 = call ptr @s2n_strerror_debug(i32 noundef %8704, ptr noundef @.str.4)
  %8706 = call ptr @__errno_location() #12
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @strerror(i32 noundef %8707) #11
  %8709 = call ptr @__errno_location() #12
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8698, ptr noundef @.str.2, i32 noundef %8699, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 429, ptr noundef %8702, ptr noundef %8705, ptr noundef %8708, i32 noundef %8710) #11
  br label %8729

8712:                                             ; preds = %8690, %8683
  %8713 = load i32, ptr %239, align 4, !tbaa !5
  %8714 = call ptr @__errno_location() #12
  store i32 %8713, ptr %8714, align 4, !tbaa !5
  %8715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8716 = load i32, ptr @test_count, align 4, !tbaa !5
  %8717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @s2n_strerror(i32 noundef %8718, ptr noundef @.str.4)
  %8720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call ptr @s2n_strerror_debug(i32 noundef %8721, ptr noundef @.str.4)
  %8723 = call ptr @__errno_location() #12
  %8724 = load i32, ptr %8723, align 4, !tbaa !5
  %8725 = call ptr @strerror(i32 noundef %8724) #11
  %8726 = call ptr @__errno_location() #12
  %8727 = load i32, ptr %8726, align 4, !tbaa !5
  %8728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8715, ptr noundef @.str.5, i32 noundef %8716, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 429, ptr noundef %8719, ptr noundef %8722, ptr noundef %8725, i32 noundef %8727) #11
  br label %8729

8729:                                             ; preds = %8712, %8695
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %8730

8730:                                             ; preds = %8729
  br label %8731

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

8732:                                             ; No predecessors!
  br label %8733

8733:                                             ; preds = %8732
  br label %8734

8734:                                             ; preds = %8733, %8673
  br label %8735

8735:                                             ; preds = %8734
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

8737:                                             ; preds = %8736
  %8738 = load i32, ptr @test_count, align 4, !tbaa !5
  %8739 = add nsw i32 %8738, 1
  store i32 %8739, ptr @test_count, align 4, !tbaa !5
  %8740 = load ptr, ptr %231, align 8, !tbaa !9
  %8741 = load ptr, ptr %233, align 8, !tbaa !9
  %8742 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %8740, ptr noundef %8741, ptr noundef %237)
  %8743 = getelementptr inbounds %struct.s2n_result, ptr %240, i32 0, i32 0
  store i32 %8742, ptr %8743, align 4
  %8744 = getelementptr inbounds %struct.s2n_result, ptr %240, i32 0, i32 0
  %8745 = load i32, ptr %8744, align 4
  %8746 = call zeroext i1 @s2n_result_is_ok(i32 %8745)
  br i1 %8746, label %8800, label %8747

8747:                                             ; preds = %8737
  br label %8748

8748:                                             ; preds = %8747
  br label %8749

8749:                                             ; preds = %8748
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %8750 = call ptr @__errno_location() #12
  %8751 = load i32, ptr %8750, align 4, !tbaa !5
  store i32 %8751, ptr %241, align 4, !tbaa !5
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @s2n_print_stacktrace(ptr noundef %8752)
  %8754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8755 = trunc i8 %8754 to i1
  br i1 %8755, label %8756, label %8778

8756:                                             ; preds = %8749
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = call i32 @fileno(ptr noundef %8757) #11
  %8759 = call i32 @isatty(i32 noundef %8758) #11
  %8760 = icmp ne i32 %8759, 0
  br i1 %8760, label %8761, label %8778

8761:                                             ; preds = %8756
  %8762 = load i32, ptr %241, align 4, !tbaa !5
  %8763 = call ptr @__errno_location() #12
  store i32 %8762, ptr %8763, align 4, !tbaa !5
  %8764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8765 = load i32, ptr @test_count, align 4, !tbaa !5
  %8766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8767 = load i32, ptr %8766, align 4, !tbaa !5
  %8768 = call ptr @s2n_strerror(i32 noundef %8767, ptr noundef @.str.4)
  %8769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8770 = load i32, ptr %8769, align 4, !tbaa !5
  %8771 = call ptr @s2n_strerror_debug(i32 noundef %8770, ptr noundef @.str.4)
  %8772 = call ptr @__errno_location() #12
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call ptr @strerror(i32 noundef %8773) #11
  %8775 = call ptr @__errno_location() #12
  %8776 = load i32, ptr %8775, align 4, !tbaa !5
  %8777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8764, ptr noundef @.str.2, i32 noundef %8765, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 430, ptr noundef %8768, ptr noundef %8771, ptr noundef %8774, i32 noundef %8776) #11
  br label %8795

8778:                                             ; preds = %8756, %8749
  %8779 = load i32, ptr %241, align 4, !tbaa !5
  %8780 = call ptr @__errno_location() #12
  store i32 %8779, ptr %8780, align 4, !tbaa !5
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = load i32, ptr @test_count, align 4, !tbaa !5
  %8783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8784 = load i32, ptr %8783, align 4, !tbaa !5
  %8785 = call ptr @s2n_strerror(i32 noundef %8784, ptr noundef @.str.4)
  %8786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8787 = load i32, ptr %8786, align 4, !tbaa !5
  %8788 = call ptr @s2n_strerror_debug(i32 noundef %8787, ptr noundef @.str.4)
  %8789 = call ptr @__errno_location() #12
  %8790 = load i32, ptr %8789, align 4, !tbaa !5
  %8791 = call ptr @strerror(i32 noundef %8790) #11
  %8792 = call ptr @__errno_location() #12
  %8793 = load i32, ptr %8792, align 4, !tbaa !5
  %8794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8781, ptr noundef @.str.5, i32 noundef %8782, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 430, ptr noundef %8785, ptr noundef %8788, ptr noundef %8791, i32 noundef %8793) #11
  br label %8795

8795:                                             ; preds = %8778, %8761
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %8796

8796:                                             ; preds = %8795
  br label %8797

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

8798:                                             ; No predecessors!
  br label %8799

8799:                                             ; preds = %8798
  br label %8800

8800:                                             ; preds = %8799, %8737
  br label %8801

8801:                                             ; preds = %8800
  br label %8802

8802:                                             ; preds = %8801
  br label %8803

8803:                                             ; preds = %8802
  %8804 = load i32, ptr @test_count, align 4, !tbaa !5
  %8805 = add nsw i32 %8804, 1
  store i32 %8805, ptr @test_count, align 4, !tbaa !5
  %8806 = load ptr, ptr %233, align 8, !tbaa !9
  %8807 = load ptr, ptr %231, align 8, !tbaa !9
  %8808 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %8806, ptr noundef %8807)
  %8809 = icmp eq i32 %8808, -1
  br i1 %8809, label %8810, label %8863

8810:                                             ; preds = %8803
  br label %8811

8811:                                             ; preds = %8810
  br label %8812

8812:                                             ; preds = %8811
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %8813 = call ptr @__errno_location() #12
  %8814 = load i32, ptr %8813, align 4, !tbaa !5
  store i32 %8814, ptr %242, align 4, !tbaa !5
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = call i32 @s2n_print_stacktrace(ptr noundef %8815)
  %8817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8818 = trunc i8 %8817 to i1
  br i1 %8818, label %8819, label %8841

8819:                                             ; preds = %8812
  %8820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8821 = call i32 @fileno(ptr noundef %8820) #11
  %8822 = call i32 @isatty(i32 noundef %8821) #11
  %8823 = icmp ne i32 %8822, 0
  br i1 %8823, label %8824, label %8841

8824:                                             ; preds = %8819
  %8825 = load i32, ptr %242, align 4, !tbaa !5
  %8826 = call ptr @__errno_location() #12
  store i32 %8825, ptr %8826, align 4, !tbaa !5
  %8827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8828 = load i32, ptr @test_count, align 4, !tbaa !5
  %8829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @s2n_strerror(i32 noundef %8830, ptr noundef @.str.4)
  %8832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call ptr @s2n_strerror_debug(i32 noundef %8833, ptr noundef @.str.4)
  %8835 = call ptr @__errno_location() #12
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call ptr @strerror(i32 noundef %8836) #11
  %8838 = call ptr @__errno_location() #12
  %8839 = load i32, ptr %8838, align 4, !tbaa !5
  %8840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8827, ptr noundef @.str.2, i32 noundef %8828, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 431, ptr noundef %8831, ptr noundef %8834, ptr noundef %8837, i32 noundef %8839) #11
  br label %8858

8841:                                             ; preds = %8819, %8812
  %8842 = load i32, ptr %242, align 4, !tbaa !5
  %8843 = call ptr @__errno_location() #12
  store i32 %8842, ptr %8843, align 4, !tbaa !5
  %8844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8845 = load i32, ptr @test_count, align 4, !tbaa !5
  %8846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  %8848 = call ptr @s2n_strerror(i32 noundef %8847, ptr noundef @.str.4)
  %8849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call ptr @s2n_strerror_debug(i32 noundef %8850, ptr noundef @.str.4)
  %8852 = call ptr @__errno_location() #12
  %8853 = load i32, ptr %8852, align 4, !tbaa !5
  %8854 = call ptr @strerror(i32 noundef %8853) #11
  %8855 = call ptr @__errno_location() #12
  %8856 = load i32, ptr %8855, align 4, !tbaa !5
  %8857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8844, ptr noundef @.str.5, i32 noundef %8845, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 431, ptr noundef %8848, ptr noundef %8851, ptr noundef %8854, i32 noundef %8856) #11
  br label %8858

8858:                                             ; preds = %8841, %8824
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

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

8861:                                             ; No predecessors!
  br label %8862

8862:                                             ; preds = %8861
  br label %8863

8863:                                             ; preds = %8862, %8803
  br label %8864

8864:                                             ; preds = %8863
  br label %8865

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

8866:                                             ; preds = %8865
  %8867 = load i32, ptr @test_count, align 4, !tbaa !5
  %8868 = add nsw i32 %8867, 1
  store i32 %8868, ptr @test_count, align 4, !tbaa !5
  %8869 = load ptr, ptr %233, align 8, !tbaa !9
  %8870 = call i32 @s2n_connection_set_counting_read(ptr noundef %8869, ptr noundef %243)
  %8871 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  store i32 %8870, ptr %8871, align 4
  %8872 = getelementptr inbounds %struct.s2n_result, ptr %244, i32 0, i32 0
  %8873 = load i32, ptr %8872, align 4
  %8874 = call zeroext i1 @s2n_result_is_ok(i32 %8873)
  br i1 %8874, label %8928, label %8875

8875:                                             ; preds = %8866
  br label %8876

8876:                                             ; preds = %8875
  br label %8877

8877:                                             ; preds = %8876
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %8878 = call ptr @__errno_location() #12
  %8879 = load i32, ptr %8878, align 4, !tbaa !5
  store i32 %8879, ptr %245, align 4, !tbaa !5
  %8880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8881 = call i32 @s2n_print_stacktrace(ptr noundef %8880)
  %8882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8883 = trunc i8 %8882 to i1
  br i1 %8883, label %8884, label %8906

8884:                                             ; preds = %8877
  %8885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8886 = call i32 @fileno(ptr noundef %8885) #11
  %8887 = call i32 @isatty(i32 noundef %8886) #11
  %8888 = icmp ne i32 %8887, 0
  br i1 %8888, label %8889, label %8906

8889:                                             ; preds = %8884
  %8890 = load i32, ptr %245, align 4, !tbaa !5
  %8891 = call ptr @__errno_location() #12
  store i32 %8890, ptr %8891, align 4, !tbaa !5
  %8892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8893 = load i32, ptr @test_count, align 4, !tbaa !5
  %8894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8895 = load i32, ptr %8894, align 4, !tbaa !5
  %8896 = call ptr @s2n_strerror(i32 noundef %8895, ptr noundef @.str.4)
  %8897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call ptr @s2n_strerror_debug(i32 noundef %8898, ptr noundef @.str.4)
  %8900 = call ptr @__errno_location() #12
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call ptr @strerror(i32 noundef %8901) #11
  %8903 = call ptr @__errno_location() #12
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8892, ptr noundef @.str.2, i32 noundef %8893, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 434, ptr noundef %8896, ptr noundef %8899, ptr noundef %8902, i32 noundef %8904) #11
  br label %8923

8906:                                             ; preds = %8884, %8877
  %8907 = load i32, ptr %245, align 4, !tbaa !5
  %8908 = call ptr @__errno_location() #12
  store i32 %8907, ptr %8908, align 4, !tbaa !5
  %8909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8910 = load i32, ptr @test_count, align 4, !tbaa !5
  %8911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8912 = load i32, ptr %8911, align 4, !tbaa !5
  %8913 = call ptr @s2n_strerror(i32 noundef %8912, ptr noundef @.str.4)
  %8914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  %8916 = call ptr @s2n_strerror_debug(i32 noundef %8915, ptr noundef @.str.4)
  %8917 = call ptr @__errno_location() #12
  %8918 = load i32, ptr %8917, align 4, !tbaa !5
  %8919 = call ptr @strerror(i32 noundef %8918) #11
  %8920 = call ptr @__errno_location() #12
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  %8922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8909, ptr noundef @.str.5, i32 noundef %8910, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 434, ptr noundef %8913, ptr noundef %8916, ptr noundef %8919, i32 noundef %8921) #11
  br label %8923

8923:                                             ; preds = %8906, %8889
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %8924

8924:                                             ; preds = %8923
  br label %8925

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

8926:                                             ; No predecessors!
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

8928:                                             ; preds = %8927, %8866
  br label %8929

8929:                                             ; preds = %8928
  br label %8930

8930:                                             ; preds = %8929
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  store i32 0, ptr %246, align 4, !tbaa !5
  br label %8931

8931:                                             ; preds = %8930
  %8932 = load i32, ptr @test_count, align 4, !tbaa !5
  %8933 = add nsw i32 %8932, 1
  store i32 %8933, ptr @test_count, align 4, !tbaa !5
  %8934 = load ptr, ptr %231, align 8, !tbaa !9
  %8935 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %8936 = call i64 @s2n_send(ptr noundef %8934, ptr noundef %8935, i64 noundef 20, ptr noundef %246)
  %8937 = icmp eq i64 %8936, 20
  br i1 %8937, label %8991, label %8938

8938:                                             ; preds = %8931
  br label %8939

8939:                                             ; preds = %8938
  br label %8940

8940:                                             ; preds = %8939
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %8941 = call ptr @__errno_location() #12
  %8942 = load i32, ptr %8941, align 4, !tbaa !5
  store i32 %8942, ptr %247, align 4, !tbaa !5
  %8943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8944 = call i32 @s2n_print_stacktrace(ptr noundef %8943)
  %8945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8946 = trunc i8 %8945 to i1
  br i1 %8946, label %8947, label %8969

8947:                                             ; preds = %8940
  %8948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8949 = call i32 @fileno(ptr noundef %8948) #11
  %8950 = call i32 @isatty(i32 noundef %8949) #11
  %8951 = icmp ne i32 %8950, 0
  br i1 %8951, label %8952, label %8969

8952:                                             ; preds = %8947
  %8953 = load i32, ptr %247, align 4, !tbaa !5
  %8954 = call ptr @__errno_location() #12
  store i32 %8953, ptr %8954, align 4, !tbaa !5
  %8955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8956 = load i32, ptr @test_count, align 4, !tbaa !5
  %8957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8958 = load i32, ptr %8957, align 4, !tbaa !5
  %8959 = call ptr @s2n_strerror(i32 noundef %8958, ptr noundef @.str.4)
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror_debug(i32 noundef %8961, ptr noundef @.str.4)
  %8963 = call ptr @__errno_location() #12
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @strerror(i32 noundef %8964) #11
  %8966 = call ptr @__errno_location() #12
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8955, ptr noundef @.str.2, i32 noundef %8956, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 437, ptr noundef %8959, ptr noundef %8962, ptr noundef %8965, i32 noundef %8967) #11
  br label %8986

8969:                                             ; preds = %8947, %8940
  %8970 = load i32, ptr %247, align 4, !tbaa !5
  %8971 = call ptr @__errno_location() #12
  store i32 %8970, ptr %8971, align 4, !tbaa !5
  %8972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8973 = load i32, ptr @test_count, align 4, !tbaa !5
  %8974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8975 = load i32, ptr %8974, align 4, !tbaa !5
  %8976 = call ptr @s2n_strerror(i32 noundef %8975, ptr noundef @.str.4)
  %8977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8978 = load i32, ptr %8977, align 4, !tbaa !5
  %8979 = call ptr @s2n_strerror_debug(i32 noundef %8978, ptr noundef @.str.4)
  %8980 = call ptr @__errno_location() #12
  %8981 = load i32, ptr %8980, align 4, !tbaa !5
  %8982 = call ptr @strerror(i32 noundef %8981) #11
  %8983 = call ptr @__errno_location() #12
  %8984 = load i32, ptr %8983, align 4, !tbaa !5
  %8985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8972, ptr noundef @.str.5, i32 noundef %8973, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 437, ptr noundef %8976, ptr noundef %8979, ptr noundef %8982, i32 noundef %8984) #11
  br label %8986

8986:                                             ; preds = %8969, %8952
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %8987

8987:                                             ; preds = %8986
  br label %8988

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

8989:                                             ; No predecessors!
  br label %8990

8990:                                             ; preds = %8989
  br label %8991

8991:                                             ; preds = %8990, %8931
  br label %8992

8992:                                             ; preds = %8991
  br label %8993

8993:                                             ; preds = %8992
  br label %8994

8994:                                             ; preds = %8993
  %8995 = load i32, ptr @test_count, align 4, !tbaa !5
  %8996 = add nsw i32 %8995, 1
  store i32 %8996, ptr @test_count, align 4, !tbaa !5
  %8997 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %237, i32 0, i32 1
  %8998 = getelementptr inbounds %struct.s2n_stuffer, ptr %8997, i32 0, i32 2
  %8999 = load i32, ptr %8998, align 4, !tbaa !17
  %9000 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %237, i32 0, i32 1
  %9001 = getelementptr inbounds %struct.s2n_stuffer, ptr %9000, i32 0, i32 1
  %9002 = load i32, ptr %9001, align 8, !tbaa !21
  %9003 = sub i32 %8999, %9002
  %9004 = load i32, ptr %47, align 4, !tbaa !5
  %9005 = icmp eq i32 %9003, %9004
  br i1 %9005, label %9059, label %9006

9006:                                             ; preds = %8994
  br label %9007

9007:                                             ; preds = %9006
  br label %9008

9008:                                             ; preds = %9007
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %9009 = call ptr @__errno_location() #12
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  store i32 %9010, ptr %248, align 4, !tbaa !5
  %9011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9012 = call i32 @s2n_print_stacktrace(ptr noundef %9011)
  %9013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9014 = trunc i8 %9013 to i1
  br i1 %9014, label %9015, label %9037

9015:                                             ; preds = %9008
  %9016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9017 = call i32 @fileno(ptr noundef %9016) #11
  %9018 = call i32 @isatty(i32 noundef %9017) #11
  %9019 = icmp ne i32 %9018, 0
  br i1 %9019, label %9020, label %9037

9020:                                             ; preds = %9015
  %9021 = load i32, ptr %248, align 4, !tbaa !5
  %9022 = call ptr @__errno_location() #12
  store i32 %9021, ptr %9022, align 4, !tbaa !5
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = load i32, ptr @test_count, align 4, !tbaa !5
  %9025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @s2n_strerror(i32 noundef %9026, ptr noundef @.str.4)
  %9028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @s2n_strerror_debug(i32 noundef %9029, ptr noundef @.str.4)
  %9031 = call ptr @__errno_location() #12
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call ptr @strerror(i32 noundef %9032) #11
  %9034 = call ptr @__errno_location() #12
  %9035 = load i32, ptr %9034, align 4, !tbaa !5
  %9036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9023, ptr noundef @.str.2, i32 noundef %9024, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 438, ptr noundef %9027, ptr noundef %9030, ptr noundef %9033, i32 noundef %9035) #11
  br label %9054

9037:                                             ; preds = %9015, %9008
  %9038 = load i32, ptr %248, align 4, !tbaa !5
  %9039 = call ptr @__errno_location() #12
  store i32 %9038, ptr %9039, align 4, !tbaa !5
  %9040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9041 = load i32, ptr @test_count, align 4, !tbaa !5
  %9042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror(i32 noundef %9043, ptr noundef @.str.4)
  %9045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call ptr @s2n_strerror_debug(i32 noundef %9046, ptr noundef @.str.4)
  %9048 = call ptr @__errno_location() #12
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call ptr @strerror(i32 noundef %9049) #11
  %9051 = call ptr @__errno_location() #12
  %9052 = load i32, ptr %9051, align 4, !tbaa !5
  %9053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9040, ptr noundef @.str.5, i32 noundef %9041, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 438, ptr noundef %9044, ptr noundef %9047, ptr noundef %9050, i32 noundef %9052) #11
  br label %9054

9054:                                             ; preds = %9037, %9020
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

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

9057:                                             ; No predecessors!
  br label %9058

9058:                                             ; preds = %9057
  br label %9059

9059:                                             ; preds = %9058, %8994
  br label %9060

9060:                                             ; preds = %9059
  br label %9061

9061:                                             ; preds = %9060
  br label %9062

9062:                                             ; preds = %9061
  %9063 = load i32, ptr @test_count, align 4, !tbaa !5
  %9064 = add nsw i32 %9063, 1
  store i32 %9064, ptr @test_count, align 4, !tbaa !5
  %9065 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %237, i32 0, i32 1
  %9066 = call i32 @s2n_stuffer_write_uint8(ptr noundef %9065, i8 noundef zeroext 0)
  %9067 = icmp eq i32 %9066, -1
  br i1 %9067, label %9068, label %9121

9068:                                             ; preds = %9062
  br label %9069

9069:                                             ; preds = %9068
  br label %9070

9070:                                             ; preds = %9069
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %9071 = call ptr @__errno_location() #12
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  store i32 %9072, ptr %249, align 4, !tbaa !5
  %9073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9074 = call i32 @s2n_print_stacktrace(ptr noundef %9073)
  %9075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9076 = trunc i8 %9075 to i1
  br i1 %9076, label %9077, label %9099

9077:                                             ; preds = %9070
  %9078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9079 = call i32 @fileno(ptr noundef %9078) #11
  %9080 = call i32 @isatty(i32 noundef %9079) #11
  %9081 = icmp ne i32 %9080, 0
  br i1 %9081, label %9082, label %9099

9082:                                             ; preds = %9077
  %9083 = load i32, ptr %249, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #12
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call ptr @__errno_location() #12
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #11
  %9096 = call ptr @__errno_location() #12
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.2, i32 noundef %9086, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 442, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #11
  br label %9116

9099:                                             ; preds = %9077, %9070
  %9100 = load i32, ptr %249, align 4, !tbaa !5
  %9101 = call ptr @__errno_location() #12
  store i32 %9100, ptr %9101, align 4, !tbaa !5
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = load i32, ptr @test_count, align 4, !tbaa !5
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror(i32 noundef %9105, ptr noundef @.str.4)
  %9107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @s2n_strerror_debug(i32 noundef %9108, ptr noundef @.str.4)
  %9110 = call ptr @__errno_location() #12
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @strerror(i32 noundef %9111) #11
  %9113 = call ptr @__errno_location() #12
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9102, ptr noundef @.str.5, i32 noundef %9103, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 442, ptr noundef %9106, ptr noundef %9109, ptr noundef %9112, i32 noundef %9114) #11
  br label %9116

9116:                                             ; preds = %9099, %9082
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

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

9119:                                             ; No predecessors!
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120, %9062
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

9123:                                             ; preds = %9122
  call void @llvm.lifetime.start.p0(i64 2, ptr %250) #11
  %9124 = load i64, ptr %230, align 8, !tbaa !15
  %9125 = getelementptr inbounds [9 x %struct.anon], ptr %229, i64 0, i64 %9124
  %9126 = getelementptr inbounds %struct.anon, ptr %9125, i32 0, i32 0
  %9127 = load i16, ptr %9126, align 2, !tbaa !60
  store i16 %9127, ptr %250, align 2, !tbaa !64
  br label %9128

9128:                                             ; preds = %9123
  %9129 = load i32, ptr @test_count, align 4, !tbaa !5
  %9130 = add nsw i32 %9129, 1
  store i32 %9130, ptr @test_count, align 4, !tbaa !5
  %9131 = load ptr, ptr %233, align 8, !tbaa !9
  %9132 = getelementptr inbounds %struct.s2n_connection, ptr %9131, i32 0, i32 39
  %9133 = call i32 @s2n_stuffer_wipe(ptr noundef %9132)
  %9134 = icmp eq i32 %9133, -1
  br i1 %9134, label %9135, label %9188

9135:                                             ; preds = %9128
  br label %9136

9136:                                             ; preds = %9135
  br label %9137

9137:                                             ; preds = %9136
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %9138 = call ptr @__errno_location() #12
  %9139 = load i32, ptr %9138, align 4, !tbaa !5
  store i32 %9139, ptr %251, align 4, !tbaa !5
  %9140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9141 = call i32 @s2n_print_stacktrace(ptr noundef %9140)
  %9142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9143 = trunc i8 %9142 to i1
  br i1 %9143, label %9144, label %9166

9144:                                             ; preds = %9137
  %9145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9146 = call i32 @fileno(ptr noundef %9145) #11
  %9147 = call i32 @isatty(i32 noundef %9146) #11
  %9148 = icmp ne i32 %9147, 0
  br i1 %9148, label %9149, label %9166

9149:                                             ; preds = %9144
  %9150 = load i32, ptr %251, align 4, !tbaa !5
  %9151 = call ptr @__errno_location() #12
  store i32 %9150, ptr %9151, align 4, !tbaa !5
  %9152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9153 = load i32, ptr @test_count, align 4, !tbaa !5
  %9154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror(i32 noundef %9155, ptr noundef @.str.4)
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror_debug(i32 noundef %9158, ptr noundef @.str.4)
  %9160 = call ptr @__errno_location() #12
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @strerror(i32 noundef %9161) #11
  %9163 = call ptr @__errno_location() #12
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9152, ptr noundef @.str.2, i32 noundef %9153, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 445, ptr noundef %9156, ptr noundef %9159, ptr noundef %9162, i32 noundef %9164) #11
  br label %9183

9166:                                             ; preds = %9144, %9137
  %9167 = load i32, ptr %251, align 4, !tbaa !5
  %9168 = call ptr @__errno_location() #12
  store i32 %9167, ptr %9168, align 4, !tbaa !5
  %9169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9170 = load i32, ptr @test_count, align 4, !tbaa !5
  %9171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror(i32 noundef %9172, ptr noundef @.str.4)
  %9174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @s2n_strerror_debug(i32 noundef %9175, ptr noundef @.str.4)
  %9177 = call ptr @__errno_location() #12
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @strerror(i32 noundef %9178) #11
  %9180 = call ptr @__errno_location() #12
  %9181 = load i32, ptr %9180, align 4, !tbaa !5
  %9182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9169, ptr noundef @.str.5, i32 noundef %9170, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 445, ptr noundef %9173, ptr noundef %9176, ptr noundef %9179, i32 noundef %9181) #11
  br label %9183

9183:                                             ; preds = %9166, %9149
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %9184

9184:                                             ; preds = %9183
  br label %9185

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

9186:                                             ; No predecessors!
  br label %9187

9187:                                             ; preds = %9186
  br label %9188

9188:                                             ; preds = %9187, %9128
  br label %9189

9189:                                             ; preds = %9188
  br label %9190

9190:                                             ; preds = %9189
  br label %9191

9191:                                             ; preds = %9190
  %9192 = load i32, ptr @test_count, align 4, !tbaa !5
  %9193 = add nsw i32 %9192, 1
  store i32 %9193, ptr @test_count, align 4, !tbaa !5
  %9194 = load ptr, ptr %233, align 8, !tbaa !9
  %9195 = getelementptr inbounds %struct.s2n_connection, ptr %9194, i32 0, i32 39
  %9196 = load i16, ptr %250, align 2, !tbaa !64
  %9197 = zext i16 %9196 to i32
  %9198 = call i32 @s2n_stuffer_skip_write(ptr noundef %9195, i32 noundef %9197)
  %9199 = icmp eq i32 %9198, -1
  br i1 %9199, label %9200, label %9253

9200:                                             ; preds = %9191
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

9202:                                             ; preds = %9201
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %9203 = call ptr @__errno_location() #12
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  store i32 %9204, ptr %252, align 4, !tbaa !5
  %9205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9206 = call i32 @s2n_print_stacktrace(ptr noundef %9205)
  %9207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9208 = trunc i8 %9207 to i1
  br i1 %9208, label %9209, label %9231

9209:                                             ; preds = %9202
  %9210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9211 = call i32 @fileno(ptr noundef %9210) #11
  %9212 = call i32 @isatty(i32 noundef %9211) #11
  %9213 = icmp ne i32 %9212, 0
  br i1 %9213, label %9214, label %9231

9214:                                             ; preds = %9209
  %9215 = load i32, ptr %252, align 4, !tbaa !5
  %9216 = call ptr @__errno_location() #12
  store i32 %9215, ptr %9216, align 4, !tbaa !5
  %9217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9218 = load i32, ptr @test_count, align 4, !tbaa !5
  %9219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9220 = load i32, ptr %9219, align 4, !tbaa !5
  %9221 = call ptr @s2n_strerror(i32 noundef %9220, ptr noundef @.str.4)
  %9222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9223 = load i32, ptr %9222, align 4, !tbaa !5
  %9224 = call ptr @s2n_strerror_debug(i32 noundef %9223, ptr noundef @.str.4)
  %9225 = call ptr @__errno_location() #12
  %9226 = load i32, ptr %9225, align 4, !tbaa !5
  %9227 = call ptr @strerror(i32 noundef %9226) #11
  %9228 = call ptr @__errno_location() #12
  %9229 = load i32, ptr %9228, align 4, !tbaa !5
  %9230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9217, ptr noundef @.str.2, i32 noundef %9218, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 446, ptr noundef %9221, ptr noundef %9224, ptr noundef %9227, i32 noundef %9229) #11
  br label %9248

9231:                                             ; preds = %9209, %9202
  %9232 = load i32, ptr %252, align 4, !tbaa !5
  %9233 = call ptr @__errno_location() #12
  store i32 %9232, ptr %9233, align 4, !tbaa !5
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = load i32, ptr @test_count, align 4, !tbaa !5
  %9236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9237 = load i32, ptr %9236, align 4, !tbaa !5
  %9238 = call ptr @s2n_strerror(i32 noundef %9237, ptr noundef @.str.4)
  %9239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9240 = load i32, ptr %9239, align 4, !tbaa !5
  %9241 = call ptr @s2n_strerror_debug(i32 noundef %9240, ptr noundef @.str.4)
  %9242 = call ptr @__errno_location() #12
  %9243 = load i32, ptr %9242, align 4, !tbaa !5
  %9244 = call ptr @strerror(i32 noundef %9243) #11
  %9245 = call ptr @__errno_location() #12
  %9246 = load i32, ptr %9245, align 4, !tbaa !5
  %9247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9234, ptr noundef @.str.5, i32 noundef %9235, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 446, ptr noundef %9238, ptr noundef %9241, ptr noundef %9244, i32 noundef %9246) #11
  br label %9248

9248:                                             ; preds = %9231, %9214
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

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

9251:                                             ; No predecessors!
  br label %9252

9252:                                             ; preds = %9251
  br label %9253

9253:                                             ; preds = %9252, %9191
  br label %9254

9254:                                             ; preds = %9253
  br label %9255

9255:                                             ; preds = %9254
  br label %9256

9256:                                             ; preds = %9255
  %9257 = load i32, ptr @test_count, align 4, !tbaa !5
  %9258 = add nsw i32 %9257, 1
  store i32 %9258, ptr @test_count, align 4, !tbaa !5
  %9259 = load ptr, ptr %233, align 8, !tbaa !9
  %9260 = getelementptr inbounds %struct.s2n_connection, ptr %9259, i32 0, i32 39
  %9261 = load i16, ptr %250, align 2, !tbaa !64
  %9262 = zext i16 %9261 to i32
  %9263 = call i32 @s2n_stuffer_skip_read(ptr noundef %9260, i32 noundef %9262)
  %9264 = icmp eq i32 %9263, -1
  br i1 %9264, label %9265, label %9318

9265:                                             ; preds = %9256
  br label %9266

9266:                                             ; preds = %9265
  br label %9267

9267:                                             ; preds = %9266
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %9268 = call ptr @__errno_location() #12
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  store i32 %9269, ptr %253, align 4, !tbaa !5
  %9270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9271 = call i32 @s2n_print_stacktrace(ptr noundef %9270)
  %9272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9273 = trunc i8 %9272 to i1
  br i1 %9273, label %9274, label %9296

9274:                                             ; preds = %9267
  %9275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9276 = call i32 @fileno(ptr noundef %9275) #11
  %9277 = call i32 @isatty(i32 noundef %9276) #11
  %9278 = icmp ne i32 %9277, 0
  br i1 %9278, label %9279, label %9296

9279:                                             ; preds = %9274
  %9280 = load i32, ptr %253, align 4, !tbaa !5
  %9281 = call ptr @__errno_location() #12
  store i32 %9280, ptr %9281, align 4, !tbaa !5
  %9282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9283 = load i32, ptr @test_count, align 4, !tbaa !5
  %9284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9285 = load i32, ptr %9284, align 4, !tbaa !5
  %9286 = call ptr @s2n_strerror(i32 noundef %9285, ptr noundef @.str.4)
  %9287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9288 = load i32, ptr %9287, align 4, !tbaa !5
  %9289 = call ptr @s2n_strerror_debug(i32 noundef %9288, ptr noundef @.str.4)
  %9290 = call ptr @__errno_location() #12
  %9291 = load i32, ptr %9290, align 4, !tbaa !5
  %9292 = call ptr @strerror(i32 noundef %9291) #11
  %9293 = call ptr @__errno_location() #12
  %9294 = load i32, ptr %9293, align 4, !tbaa !5
  %9295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9282, ptr noundef @.str.2, i32 noundef %9283, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 447, ptr noundef %9286, ptr noundef %9289, ptr noundef %9292, i32 noundef %9294) #11
  br label %9313

9296:                                             ; preds = %9274, %9267
  %9297 = load i32, ptr %253, align 4, !tbaa !5
  %9298 = call ptr @__errno_location() #12
  store i32 %9297, ptr %9298, align 4, !tbaa !5
  %9299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9300 = load i32, ptr @test_count, align 4, !tbaa !5
  %9301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9302 = load i32, ptr %9301, align 4, !tbaa !5
  %9303 = call ptr @s2n_strerror(i32 noundef %9302, ptr noundef @.str.4)
  %9304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  %9306 = call ptr @s2n_strerror_debug(i32 noundef %9305, ptr noundef @.str.4)
  %9307 = call ptr @__errno_location() #12
  %9308 = load i32, ptr %9307, align 4, !tbaa !5
  %9309 = call ptr @strerror(i32 noundef %9308) #11
  %9310 = call ptr @__errno_location() #12
  %9311 = load i32, ptr %9310, align 4, !tbaa !5
  %9312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9299, ptr noundef @.str.5, i32 noundef %9300, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 447, ptr noundef %9303, ptr noundef %9306, ptr noundef %9309, i32 noundef %9311) #11
  br label %9313

9313:                                             ; preds = %9296, %9279
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %9314

9314:                                             ; preds = %9313
  br label %9315

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

9316:                                             ; No predecessors!
  br label %9317

9317:                                             ; preds = %9316
  br label %9318

9318:                                             ; preds = %9317, %9256
  br label %9319

9319:                                             ; preds = %9318
  br label %9320

9320:                                             ; preds = %9319
  %9321 = load i16, ptr %250, align 2, !tbaa !64
  %9322 = zext i16 %9321 to i64
  %9323 = icmp ult i64 %9322, 16384
  br i1 %9323, label %9324, label %9389

9324:                                             ; preds = %9320
  br label %9325

9325:                                             ; preds = %9324
  %9326 = load i32, ptr @test_count, align 4, !tbaa !5
  %9327 = add nsw i32 %9326, 1
  store i32 %9327, ptr @test_count, align 4, !tbaa !5
  %9328 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %237, i32 0, i32 1
  %9329 = load ptr, ptr %233, align 8, !tbaa !9
  %9330 = getelementptr inbounds %struct.s2n_connection, ptr %9329, i32 0, i32 39
  %9331 = call i32 @s2n_stuffer_copy(ptr noundef %9328, ptr noundef %9330, i32 noundef 1)
  %9332 = icmp eq i32 %9331, -1
  br i1 %9332, label %9333, label %9386

9333:                                             ; preds = %9325
  br label %9334

9334:                                             ; preds = %9333
  br label %9335

9335:                                             ; preds = %9334
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %9336 = call ptr @__errno_location() #12
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  store i32 %9337, ptr %254, align 4, !tbaa !5
  %9338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9339 = call i32 @s2n_print_stacktrace(ptr noundef %9338)
  %9340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9341 = trunc i8 %9340 to i1
  br i1 %9341, label %9342, label %9364

9342:                                             ; preds = %9335
  %9343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9344 = call i32 @fileno(ptr noundef %9343) #11
  %9345 = call i32 @isatty(i32 noundef %9344) #11
  %9346 = icmp ne i32 %9345, 0
  br i1 %9346, label %9347, label %9364

9347:                                             ; preds = %9342
  %9348 = load i32, ptr %254, align 4, !tbaa !5
  %9349 = call ptr @__errno_location() #12
  store i32 %9348, ptr %9349, align 4, !tbaa !5
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = load i32, ptr @test_count, align 4, !tbaa !5
  %9352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9353 = load i32, ptr %9352, align 4, !tbaa !5
  %9354 = call ptr @s2n_strerror(i32 noundef %9353, ptr noundef @.str.4)
  %9355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9356 = load i32, ptr %9355, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror_debug(i32 noundef %9356, ptr noundef @.str.4)
  %9358 = call ptr @__errno_location() #12
  %9359 = load i32, ptr %9358, align 4, !tbaa !5
  %9360 = call ptr @strerror(i32 noundef %9359) #11
  %9361 = call ptr @__errno_location() #12
  %9362 = load i32, ptr %9361, align 4, !tbaa !5
  %9363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9350, ptr noundef @.str.2, i32 noundef %9351, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 453, ptr noundef %9354, ptr noundef %9357, ptr noundef %9360, i32 noundef %9362) #11
  br label %9381

9364:                                             ; preds = %9342, %9335
  %9365 = load i32, ptr %254, align 4, !tbaa !5
  %9366 = call ptr @__errno_location() #12
  store i32 %9365, ptr %9366, align 4, !tbaa !5
  %9367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9368 = load i32, ptr @test_count, align 4, !tbaa !5
  %9369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9370 = load i32, ptr %9369, align 4, !tbaa !5
  %9371 = call ptr @s2n_strerror(i32 noundef %9370, ptr noundef @.str.4)
  %9372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9373 = load i32, ptr %9372, align 4, !tbaa !5
  %9374 = call ptr @s2n_strerror_debug(i32 noundef %9373, ptr noundef @.str.4)
  %9375 = call ptr @__errno_location() #12
  %9376 = load i32, ptr %9375, align 4, !tbaa !5
  %9377 = call ptr @strerror(i32 noundef %9376) #11
  %9378 = call ptr @__errno_location() #12
  %9379 = load i32, ptr %9378, align 4, !tbaa !5
  %9380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9367, ptr noundef @.str.5, i32 noundef %9368, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 453, ptr noundef %9371, ptr noundef %9374, ptr noundef %9377, i32 noundef %9379) #11
  br label %9381

9381:                                             ; preds = %9364, %9347
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %9382

9382:                                             ; preds = %9381
  br label %9383

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

9384:                                             ; No predecessors!
  br label %9385

9385:                                             ; preds = %9384
  br label %9386

9386:                                             ; preds = %9385, %9325
  br label %9387

9387:                                             ; preds = %9386
  br label %9388

9388:                                             ; preds = %9387
  br label %9389

9389:                                             ; preds = %9388, %9320
  call void @llvm.lifetime.start.p0(i64 20, ptr %255) #11
  call void @llvm.memset.p0.i64(ptr align 16 %255, i8 0, i64 20, i1 false)
  br label %9390

9390:                                             ; preds = %9389
  %9391 = load i32, ptr @test_count, align 4, !tbaa !5
  %9392 = add nsw i32 %9391, 1
  store i32 %9392, ptr @test_count, align 4, !tbaa !5
  %9393 = load ptr, ptr %233, align 8, !tbaa !9
  %9394 = getelementptr inbounds [20 x i8], ptr %255, i64 0, i64 0
  %9395 = call i64 @s2n_recv(ptr noundef %9393, ptr noundef %9394, i64 noundef 20, ptr noundef %246)
  %9396 = icmp eq i64 %9395, 20
  br i1 %9396, label %9450, label %9397

9397:                                             ; preds = %9390
  br label %9398

9398:                                             ; preds = %9397
  br label %9399

9399:                                             ; preds = %9398
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %9400 = call ptr @__errno_location() #12
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  store i32 %9401, ptr %256, align 4, !tbaa !5
  %9402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9403 = call i32 @s2n_print_stacktrace(ptr noundef %9402)
  %9404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9405 = trunc i8 %9404 to i1
  br i1 %9405, label %9406, label %9428

9406:                                             ; preds = %9399
  %9407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9408 = call i32 @fileno(ptr noundef %9407) #11
  %9409 = call i32 @isatty(i32 noundef %9408) #11
  %9410 = icmp ne i32 %9409, 0
  br i1 %9410, label %9411, label %9428

9411:                                             ; preds = %9406
  %9412 = load i32, ptr %256, align 4, !tbaa !5
  %9413 = call ptr @__errno_location() #12
  store i32 %9412, ptr %9413, align 4, !tbaa !5
  %9414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9415 = load i32, ptr @test_count, align 4, !tbaa !5
  %9416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call ptr @s2n_strerror(i32 noundef %9417, ptr noundef @.str.4)
  %9419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9420 = load i32, ptr %9419, align 4, !tbaa !5
  %9421 = call ptr @s2n_strerror_debug(i32 noundef %9420, ptr noundef @.str.4)
  %9422 = call ptr @__errno_location() #12
  %9423 = load i32, ptr %9422, align 4, !tbaa !5
  %9424 = call ptr @strerror(i32 noundef %9423) #11
  %9425 = call ptr @__errno_location() #12
  %9426 = load i32, ptr %9425, align 4, !tbaa !5
  %9427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9414, ptr noundef @.str.2, i32 noundef %9415, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 458, ptr noundef %9418, ptr noundef %9421, ptr noundef %9424, i32 noundef %9426) #11
  br label %9445

9428:                                             ; preds = %9406, %9399
  %9429 = load i32, ptr %256, align 4, !tbaa !5
  %9430 = call ptr @__errno_location() #12
  store i32 %9429, ptr %9430, align 4, !tbaa !5
  %9431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9432 = load i32, ptr @test_count, align 4, !tbaa !5
  %9433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9434 = load i32, ptr %9433, align 4, !tbaa !5
  %9435 = call ptr @s2n_strerror(i32 noundef %9434, ptr noundef @.str.4)
  %9436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  %9438 = call ptr @s2n_strerror_debug(i32 noundef %9437, ptr noundef @.str.4)
  %9439 = call ptr @__errno_location() #12
  %9440 = load i32, ptr %9439, align 4, !tbaa !5
  %9441 = call ptr @strerror(i32 noundef %9440) #11
  %9442 = call ptr @__errno_location() #12
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  %9444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9431, ptr noundef @.str.5, i32 noundef %9432, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 458, ptr noundef %9435, ptr noundef %9438, ptr noundef %9441, i32 noundef %9443) #11
  br label %9445

9445:                                             ; preds = %9428, %9411
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %9446

9446:                                             ; preds = %9445
  br label %9447

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

9448:                                             ; No predecessors!
  br label %9449

9449:                                             ; preds = %9448
  br label %9450

9450:                                             ; preds = %9449, %9390
  br label %9451

9451:                                             ; preds = %9450
  br label %9452

9452:                                             ; preds = %9451
  br label %9453

9453:                                             ; preds = %9452
  br label %9454

9454:                                             ; preds = %9453
  %9455 = load i32, ptr @test_count, align 4, !tbaa !5
  %9456 = add nsw i32 %9455, 1
  store i32 %9456, ptr @test_count, align 4, !tbaa !5
  %9457 = getelementptr inbounds [20 x i8], ptr %255, i64 0, i64 0
  %9458 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %9459 = call i32 @memcmp(ptr noundef %9457, ptr noundef %9458, i64 noundef 20) #14
  %9460 = icmp eq i32 %9459, 0
  br i1 %9460, label %9514, label %9461

9461:                                             ; preds = %9454
  br label %9462

9462:                                             ; preds = %9461
  br label %9463

9463:                                             ; preds = %9462
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %9464 = call ptr @__errno_location() #12
  %9465 = load i32, ptr %9464, align 4, !tbaa !5
  store i32 %9465, ptr %257, align 4, !tbaa !5
  %9466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9467 = call i32 @s2n_print_stacktrace(ptr noundef %9466)
  %9468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9469 = trunc i8 %9468 to i1
  br i1 %9469, label %9470, label %9492

9470:                                             ; preds = %9463
  %9471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9472 = call i32 @fileno(ptr noundef %9471) #11
  %9473 = call i32 @isatty(i32 noundef %9472) #11
  %9474 = icmp ne i32 %9473, 0
  br i1 %9474, label %9475, label %9492

9475:                                             ; preds = %9470
  %9476 = load i32, ptr %257, align 4, !tbaa !5
  %9477 = call ptr @__errno_location() #12
  store i32 %9476, ptr %9477, align 4, !tbaa !5
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = load i32, ptr @test_count, align 4, !tbaa !5
  %9480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9481 = load i32, ptr %9480, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror(i32 noundef %9481, ptr noundef @.str.4)
  %9483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9484 = load i32, ptr %9483, align 4, !tbaa !5
  %9485 = call ptr @s2n_strerror_debug(i32 noundef %9484, ptr noundef @.str.4)
  %9486 = call ptr @__errno_location() #12
  %9487 = load i32, ptr %9486, align 4, !tbaa !5
  %9488 = call ptr @strerror(i32 noundef %9487) #11
  %9489 = call ptr @__errno_location() #12
  %9490 = load i32, ptr %9489, align 4, !tbaa !5
  %9491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9478, ptr noundef @.str.2, i32 noundef %9479, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 459, ptr noundef %9482, ptr noundef %9485, ptr noundef %9488, i32 noundef %9490) #11
  br label %9509

9492:                                             ; preds = %9470, %9463
  %9493 = load i32, ptr %257, align 4, !tbaa !5
  %9494 = call ptr @__errno_location() #12
  store i32 %9493, ptr %9494, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @s2n_strerror(i32 noundef %9498, ptr noundef @.str.4)
  %9500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call ptr @s2n_strerror_debug(i32 noundef %9501, ptr noundef @.str.4)
  %9503 = call ptr @__errno_location() #12
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  %9505 = call ptr @strerror(i32 noundef %9504) #11
  %9506 = call ptr @__errno_location() #12
  %9507 = load i32, ptr %9506, align 4, !tbaa !5
  %9508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9495, ptr noundef @.str.5, i32 noundef %9496, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 459, ptr noundef %9499, ptr noundef %9502, ptr noundef %9505, i32 noundef %9507) #11
  br label %9509

9509:                                             ; preds = %9492, %9475
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %9510

9510:                                             ; preds = %9509
  br label %9511

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

9512:                                             ; No predecessors!
  br label %9513

9513:                                             ; preds = %9512
  br label %9514

9514:                                             ; preds = %9513, %9454
  br label %9515

9515:                                             ; preds = %9514
  br label %9516

9516:                                             ; preds = %9515
  br label %9517

9517:                                             ; preds = %9516
  br label %9518

9518:                                             ; preds = %9517
  br label %9519

9519:                                             ; preds = %9518
  %9520 = load i32, ptr @test_count, align 4, !tbaa !5
  %9521 = add nsw i32 %9520, 1
  store i32 %9521, ptr @test_count, align 4, !tbaa !5
  %9522 = getelementptr inbounds %struct.s2n_recv_wrapper, ptr %243, i32 0, i32 0
  %9523 = load i64, ptr %9522, align 8, !tbaa !22
  %9524 = load i64, ptr %230, align 8, !tbaa !15
  %9525 = getelementptr inbounds [9 x %struct.anon], ptr %229, i64 0, i64 %9524
  %9526 = getelementptr inbounds %struct.anon, ptr %9525, i32 0, i32 2
  %9527 = load i8, ptr %9526, align 2, !tbaa !63
  %9528 = zext i8 %9527 to i64
  %9529 = icmp eq i64 %9523, %9528
  br i1 %9529, label %9583, label %9530

9530:                                             ; preds = %9519
  br label %9531

9531:                                             ; preds = %9530
  br label %9532

9532:                                             ; preds = %9531
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %9533 = call ptr @__errno_location() #12
  %9534 = load i32, ptr %9533, align 4, !tbaa !5
  store i32 %9534, ptr %258, align 4, !tbaa !5
  %9535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9536 = call i32 @s2n_print_stacktrace(ptr noundef %9535)
  %9537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9538 = trunc i8 %9537 to i1
  br i1 %9538, label %9539, label %9561

9539:                                             ; preds = %9532
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = call i32 @fileno(ptr noundef %9540) #11
  %9542 = call i32 @isatty(i32 noundef %9541) #11
  %9543 = icmp ne i32 %9542, 0
  br i1 %9543, label %9544, label %9561

9544:                                             ; preds = %9539
  %9545 = load i32, ptr %258, align 4, !tbaa !5
  %9546 = call ptr @__errno_location() #12
  store i32 %9545, ptr %9546, align 4, !tbaa !5
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = load i32, ptr @test_count, align 4, !tbaa !5
  %9549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9550 = load i32, ptr %9549, align 4, !tbaa !5
  %9551 = call ptr @s2n_strerror(i32 noundef %9550, ptr noundef @.str.4)
  %9552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9553 = load i32, ptr %9552, align 4, !tbaa !5
  %9554 = call ptr @s2n_strerror_debug(i32 noundef %9553, ptr noundef @.str.4)
  %9555 = call ptr @__errno_location() #12
  %9556 = load i32, ptr %9555, align 4, !tbaa !5
  %9557 = call ptr @strerror(i32 noundef %9556) #11
  %9558 = call ptr @__errno_location() #12
  %9559 = load i32, ptr %9558, align 4, !tbaa !5
  %9560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9547, ptr noundef @.str.2, i32 noundef %9548, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 460, ptr noundef %9551, ptr noundef %9554, ptr noundef %9557, i32 noundef %9559) #11
  br label %9578

9561:                                             ; preds = %9539, %9532
  %9562 = load i32, ptr %258, align 4, !tbaa !5
  %9563 = call ptr @__errno_location() #12
  store i32 %9562, ptr %9563, align 4, !tbaa !5
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = load i32, ptr @test_count, align 4, !tbaa !5
  %9566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9567 = load i32, ptr %9566, align 4, !tbaa !5
  %9568 = call ptr @s2n_strerror(i32 noundef %9567, ptr noundef @.str.4)
  %9569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9570 = load i32, ptr %9569, align 4, !tbaa !5
  %9571 = call ptr @s2n_strerror_debug(i32 noundef %9570, ptr noundef @.str.4)
  %9572 = call ptr @__errno_location() #12
  %9573 = load i32, ptr %9572, align 4, !tbaa !5
  %9574 = call ptr @strerror(i32 noundef %9573) #11
  %9575 = call ptr @__errno_location() #12
  %9576 = load i32, ptr %9575, align 4, !tbaa !5
  %9577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9564, ptr noundef @.str.5, i32 noundef %9565, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 460, ptr noundef %9568, ptr noundef %9571, ptr noundef %9574, i32 noundef %9576) #11
  br label %9578

9578:                                             ; preds = %9561, %9544
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %9579

9579:                                             ; preds = %9578
  br label %9580

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

9581:                                             ; No predecessors!
  br label %9582

9582:                                             ; preds = %9581
  br label %9583

9583:                                             ; preds = %9582, %9519
  br label %9584

9584:                                             ; preds = %9583
  br label %9585

9585:                                             ; preds = %9584
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %9586 = load i64, ptr %230, align 8, !tbaa !15
  %9587 = getelementptr inbounds [9 x %struct.anon], ptr %229, i64 0, i64 %9586
  %9588 = getelementptr inbounds %struct.anon, ptr %9587, i32 0, i32 1
  %9589 = load i16, ptr %9588, align 2, !tbaa !62
  %9590 = zext i16 %9589 to i32
  store i32 %9590, ptr %259, align 4, !tbaa !5
  %9591 = load i32, ptr %259, align 4, !tbaa !5
  %9592 = icmp ne i32 %9591, 0
  br i1 %9592, label %9593, label %9596

9593:                                             ; preds = %9585
  %9594 = load i32, ptr %259, align 4, !tbaa !5
  %9595 = add i32 %9594, 1
  store i32 %9595, ptr %259, align 4, !tbaa !5
  br label %9596

9596:                                             ; preds = %9593, %9585
  br label %9597

9597:                                             ; preds = %9596
  %9598 = load i32, ptr @test_count, align 4, !tbaa !5
  %9599 = add nsw i32 %9598, 1
  store i32 %9599, ptr @test_count, align 4, !tbaa !5
  %9600 = load ptr, ptr %233, align 8, !tbaa !9
  %9601 = getelementptr inbounds %struct.s2n_connection, ptr %9600, i32 0, i32 39
  %9602 = getelementptr inbounds %struct.s2n_stuffer, ptr %9601, i32 0, i32 2
  %9603 = load i32, ptr %9602, align 4, !tbaa !51
  %9604 = load i32, ptr %259, align 4, !tbaa !5
  %9605 = icmp eq i32 %9603, %9604
  br i1 %9605, label %9659, label %9606

9606:                                             ; preds = %9597
  br label %9607

9607:                                             ; preds = %9606
  br label %9608

9608:                                             ; preds = %9607
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %9609 = call ptr @__errno_location() #12
  %9610 = load i32, ptr %9609, align 4, !tbaa !5
  store i32 %9610, ptr %260, align 4, !tbaa !5
  %9611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9612 = call i32 @s2n_print_stacktrace(ptr noundef %9611)
  %9613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9614 = trunc i8 %9613 to i1
  br i1 %9614, label %9615, label %9637

9615:                                             ; preds = %9608
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @fileno(ptr noundef %9616) #11
  %9618 = call i32 @isatty(i32 noundef %9617) #11
  %9619 = icmp ne i32 %9618, 0
  br i1 %9619, label %9620, label %9637

9620:                                             ; preds = %9615
  %9621 = load i32, ptr %260, align 4, !tbaa !5
  %9622 = call ptr @__errno_location() #12
  store i32 %9621, ptr %9622, align 4, !tbaa !5
  %9623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9624 = load i32, ptr @test_count, align 4, !tbaa !5
  %9625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @s2n_strerror(i32 noundef %9626, ptr noundef @.str.4)
  %9628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call ptr @s2n_strerror_debug(i32 noundef %9629, ptr noundef @.str.4)
  %9631 = call ptr @__errno_location() #12
  %9632 = load i32, ptr %9631, align 4, !tbaa !5
  %9633 = call ptr @strerror(i32 noundef %9632) #11
  %9634 = call ptr @__errno_location() #12
  %9635 = load i32, ptr %9634, align 4, !tbaa !5
  %9636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9623, ptr noundef @.str.2, i32 noundef %9624, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 466, ptr noundef %9627, ptr noundef %9630, ptr noundef %9633, i32 noundef %9635) #11
  br label %9654

9637:                                             ; preds = %9615, %9608
  %9638 = load i32, ptr %260, align 4, !tbaa !5
  %9639 = call ptr @__errno_location() #12
  store i32 %9638, ptr %9639, align 4, !tbaa !5
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = load i32, ptr @test_count, align 4, !tbaa !5
  %9642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @s2n_strerror(i32 noundef %9643, ptr noundef @.str.4)
  %9645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call ptr @s2n_strerror_debug(i32 noundef %9646, ptr noundef @.str.4)
  %9648 = call ptr @__errno_location() #12
  %9649 = load i32, ptr %9648, align 4, !tbaa !5
  %9650 = call ptr @strerror(i32 noundef %9649) #11
  %9651 = call ptr @__errno_location() #12
  %9652 = load i32, ptr %9651, align 4, !tbaa !5
  %9653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9640, ptr noundef @.str.5, i32 noundef %9641, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 466, ptr noundef %9644, ptr noundef %9647, ptr noundef %9650, i32 noundef %9652) #11
  br label %9654

9654:                                             ; preds = %9637, %9620
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %9655

9655:                                             ; preds = %9654
  br label %9656

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

9657:                                             ; No predecessors!
  br label %9658

9658:                                             ; preds = %9657
  br label %9659

9659:                                             ; preds = %9658, %9597
  br label %9660

9660:                                             ; preds = %9659
  br label %9661

9661:                                             ; preds = %9660
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %255) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %250) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %243) #11
  %9662 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %237)
  %9663 = getelementptr inbounds %struct.s2n_result, ptr %261, i32 0, i32 0
  store i32 %9662, ptr %9663, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %237) #11
  %9664 = call i32 @s2n_connection_ptr_free(ptr noundef %233)
  %9665 = getelementptr inbounds %struct.s2n_result, ptr %262, i32 0, i32 0
  store i32 %9664, ptr %9665, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %233) #11
  %9666 = call i32 @s2n_connection_ptr_free(ptr noundef %231)
  %9667 = getelementptr inbounds %struct.s2n_result, ptr %263, i32 0, i32 0
  store i32 %9666, ptr %9667, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #11
  br label %9668

9668:                                             ; preds = %9661
  %9669 = load i64, ptr %230, align 8, !tbaa !15
  %9670 = add i64 %9669, 1
  store i64 %9670, ptr %230, align 8, !tbaa !15
  br label %8416, !llvm.loop !65

9671:                                             ; preds = %8419
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #11
  %9672 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %9672, ptr %264, align 8, !tbaa !9
  br label %9673

9673:                                             ; preds = %9671
  %9674 = load i32, ptr @test_count, align 4, !tbaa !5
  %9675 = add nsw i32 %9674, 1
  store i32 %9675, ptr @test_count, align 4, !tbaa !5
  %9676 = load ptr, ptr %264, align 8, !tbaa !9
  %9677 = load ptr, ptr %13, align 8, !tbaa !9
  %9678 = call i32 @s2n_connection_set_config(ptr noundef %9676, ptr noundef %9677)
  %9679 = icmp eq i32 %9678, -1
  br i1 %9679, label %9680, label %9733

9680:                                             ; preds = %9673
  br label %9681

9681:                                             ; preds = %9680
  br label %9682

9682:                                             ; preds = %9681
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %9683 = call ptr @__errno_location() #12
  %9684 = load i32, ptr %9683, align 4, !tbaa !5
  store i32 %9684, ptr %265, align 4, !tbaa !5
  %9685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9686 = call i32 @s2n_print_stacktrace(ptr noundef %9685)
  %9687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9688 = trunc i8 %9687 to i1
  br i1 %9688, label %9689, label %9711

9689:                                             ; preds = %9682
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = call i32 @fileno(ptr noundef %9690) #11
  %9692 = call i32 @isatty(i32 noundef %9691) #11
  %9693 = icmp ne i32 %9692, 0
  br i1 %9693, label %9694, label %9711

9694:                                             ; preds = %9689
  %9695 = load i32, ptr %265, align 4, !tbaa !5
  %9696 = call ptr @__errno_location() #12
  store i32 %9695, ptr %9696, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = load i32, ptr @test_count, align 4, !tbaa !5
  %9699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror(i32 noundef %9700, ptr noundef @.str.4)
  %9702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  %9704 = call ptr @s2n_strerror_debug(i32 noundef %9703, ptr noundef @.str.4)
  %9705 = call ptr @__errno_location() #12
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #11
  %9708 = call ptr @__errno_location() #12
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9697, ptr noundef @.str.2, i32 noundef %9698, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 473, ptr noundef %9701, ptr noundef %9704, ptr noundef %9707, i32 noundef %9709) #11
  br label %9728

9711:                                             ; preds = %9689, %9682
  %9712 = load i32, ptr %265, align 4, !tbaa !5
  %9713 = call ptr @__errno_location() #12
  store i32 %9712, ptr %9713, align 4, !tbaa !5
  %9714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9715 = load i32, ptr @test_count, align 4, !tbaa !5
  %9716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call ptr @s2n_strerror(i32 noundef %9717, ptr noundef @.str.4)
  %9719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9720 = load i32, ptr %9719, align 4, !tbaa !5
  %9721 = call ptr @s2n_strerror_debug(i32 noundef %9720, ptr noundef @.str.4)
  %9722 = call ptr @__errno_location() #12
  %9723 = load i32, ptr %9722, align 4, !tbaa !5
  %9724 = call ptr @strerror(i32 noundef %9723) #11
  %9725 = call ptr @__errno_location() #12
  %9726 = load i32, ptr %9725, align 4, !tbaa !5
  %9727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9714, ptr noundef @.str.5, i32 noundef %9715, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 473, ptr noundef %9718, ptr noundef %9721, ptr noundef %9724, i32 noundef %9726) #11
  br label %9728

9728:                                             ; preds = %9711, %9694
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %9729

9729:                                             ; preds = %9728
  br label %9730

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

9731:                                             ; No predecessors!
  br label %9732

9732:                                             ; preds = %9731
  br label %9733

9733:                                             ; preds = %9732, %9673
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

9735:                                             ; preds = %9734
  call void @llvm.lifetime.start.p0(i64 8, ptr %266) #11
  %9736 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9736, ptr %266, align 8, !tbaa !9
  br label %9737

9737:                                             ; preds = %9735
  %9738 = load i32, ptr @test_count, align 4, !tbaa !5
  %9739 = add nsw i32 %9738, 1
  store i32 %9739, ptr @test_count, align 4, !tbaa !5
  %9740 = load ptr, ptr %266, align 8, !tbaa !9
  %9741 = load ptr, ptr %13, align 8, !tbaa !9
  %9742 = call i32 @s2n_connection_set_config(ptr noundef %9740, ptr noundef %9741)
  %9743 = icmp eq i32 %9742, -1
  br i1 %9743, label %9744, label %9797

9744:                                             ; preds = %9737
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %9747 = call ptr @__errno_location() #12
  %9748 = load i32, ptr %9747, align 4, !tbaa !5
  store i32 %9748, ptr %267, align 4, !tbaa !5
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = call i32 @s2n_print_stacktrace(ptr noundef %9749)
  %9751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9752 = trunc i8 %9751 to i1
  br i1 %9752, label %9753, label %9775

9753:                                             ; preds = %9746
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = call i32 @fileno(ptr noundef %9754) #11
  %9756 = call i32 @isatty(i32 noundef %9755) #11
  %9757 = icmp ne i32 %9756, 0
  br i1 %9757, label %9758, label %9775

9758:                                             ; preds = %9753
  %9759 = load i32, ptr %267, align 4, !tbaa !5
  %9760 = call ptr @__errno_location() #12
  store i32 %9759, ptr %9760, align 4, !tbaa !5
  %9761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9762 = load i32, ptr @test_count, align 4, !tbaa !5
  %9763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9764 = load i32, ptr %9763, align 4, !tbaa !5
  %9765 = call ptr @s2n_strerror(i32 noundef %9764, ptr noundef @.str.4)
  %9766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9767 = load i32, ptr %9766, align 4, !tbaa !5
  %9768 = call ptr @s2n_strerror_debug(i32 noundef %9767, ptr noundef @.str.4)
  %9769 = call ptr @__errno_location() #12
  %9770 = load i32, ptr %9769, align 4, !tbaa !5
  %9771 = call ptr @strerror(i32 noundef %9770) #11
  %9772 = call ptr @__errno_location() #12
  %9773 = load i32, ptr %9772, align 4, !tbaa !5
  %9774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9761, ptr noundef @.str.2, i32 noundef %9762, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 476, ptr noundef %9765, ptr noundef %9768, ptr noundef %9771, i32 noundef %9773) #11
  br label %9792

9775:                                             ; preds = %9753, %9746
  %9776 = load i32, ptr %267, align 4, !tbaa !5
  %9777 = call ptr @__errno_location() #12
  store i32 %9776, ptr %9777, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %9780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call ptr @s2n_strerror(i32 noundef %9781, ptr noundef @.str.4)
  %9783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9784 = load i32, ptr %9783, align 4, !tbaa !5
  %9785 = call ptr @s2n_strerror_debug(i32 noundef %9784, ptr noundef @.str.4)
  %9786 = call ptr @__errno_location() #12
  %9787 = load i32, ptr %9786, align 4, !tbaa !5
  %9788 = call ptr @strerror(i32 noundef %9787) #11
  %9789 = call ptr @__errno_location() #12
  %9790 = load i32, ptr %9789, align 4, !tbaa !5
  %9791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef @.str.5, i32 noundef %9779, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 476, ptr noundef %9782, ptr noundef %9785, ptr noundef %9788, i32 noundef %9790) #11
  br label %9792

9792:                                             ; preds = %9775, %9758
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

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

9795:                                             ; No predecessors!
  br label %9796

9796:                                             ; preds = %9795
  br label %9797

9797:                                             ; preds = %9796, %9737
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  call void @llvm.lifetime.start.p0(i64 80, ptr %268) #11
  call void @llvm.memset.p0.i64(ptr align 8 %268, i8 0, i64 80, i1 false)
  br label %9800

9800:                                             ; preds = %9799
  %9801 = load i32, ptr @test_count, align 4, !tbaa !5
  %9802 = add nsw i32 %9801, 1
  store i32 %9802, ptr @test_count, align 4, !tbaa !5
  %9803 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %268)
  %9804 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  store i32 %9803, ptr %9804, align 4
  %9805 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  %9806 = load i32, ptr %9805, align 4
  %9807 = call zeroext i1 @s2n_result_is_ok(i32 %9806)
  br i1 %9807, label %9861, label %9808

9808:                                             ; preds = %9800
  br label %9809

9809:                                             ; preds = %9808
  br label %9810

9810:                                             ; preds = %9809
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %9811 = call ptr @__errno_location() #12
  %9812 = load i32, ptr %9811, align 4, !tbaa !5
  store i32 %9812, ptr %270, align 4, !tbaa !5
  %9813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9814 = call i32 @s2n_print_stacktrace(ptr noundef %9813)
  %9815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9816 = trunc i8 %9815 to i1
  br i1 %9816, label %9817, label %9839

9817:                                             ; preds = %9810
  %9818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9819 = call i32 @fileno(ptr noundef %9818) #11
  %9820 = call i32 @isatty(i32 noundef %9819) #11
  %9821 = icmp ne i32 %9820, 0
  br i1 %9821, label %9822, label %9839

9822:                                             ; preds = %9817
  %9823 = load i32, ptr %270, align 4, !tbaa !5
  %9824 = call ptr @__errno_location() #12
  store i32 %9823, ptr %9824, align 4, !tbaa !5
  %9825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9826 = load i32, ptr @test_count, align 4, !tbaa !5
  %9827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9828 = load i32, ptr %9827, align 4, !tbaa !5
  %9829 = call ptr @s2n_strerror(i32 noundef %9828, ptr noundef @.str.4)
  %9830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @s2n_strerror_debug(i32 noundef %9831, ptr noundef @.str.4)
  %9833 = call ptr @__errno_location() #12
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @strerror(i32 noundef %9834) #11
  %9836 = call ptr @__errno_location() #12
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9825, ptr noundef @.str.2, i32 noundef %9826, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 479, ptr noundef %9829, ptr noundef %9832, ptr noundef %9835, i32 noundef %9837) #11
  br label %9856

9839:                                             ; preds = %9817, %9810
  %9840 = load i32, ptr %270, align 4, !tbaa !5
  %9841 = call ptr @__errno_location() #12
  store i32 %9840, ptr %9841, align 4, !tbaa !5
  %9842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9843 = load i32, ptr @test_count, align 4, !tbaa !5
  %9844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror(i32 noundef %9845, ptr noundef @.str.4)
  %9847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror_debug(i32 noundef %9848, ptr noundef @.str.4)
  %9850 = call ptr @__errno_location() #12
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @strerror(i32 noundef %9851) #11
  %9853 = call ptr @__errno_location() #12
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9842, ptr noundef @.str.5, i32 noundef %9843, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 479, ptr noundef %9846, ptr noundef %9849, ptr noundef %9852, i32 noundef %9854) #11
  br label %9856

9856:                                             ; preds = %9839, %9822
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %9857

9857:                                             ; preds = %9856
  br label %9858

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

9859:                                             ; No predecessors!
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

9861:                                             ; preds = %9860, %9800
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863
  %9865 = load i32, ptr @test_count, align 4, !tbaa !5
  %9866 = add nsw i32 %9865, 1
  store i32 %9866, ptr @test_count, align 4, !tbaa !5
  %9867 = load ptr, ptr %264, align 8, !tbaa !9
  %9868 = load ptr, ptr %266, align 8, !tbaa !9
  %9869 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %9867, ptr noundef %9868, ptr noundef %268)
  %9870 = getelementptr inbounds %struct.s2n_result, ptr %271, i32 0, i32 0
  store i32 %9869, ptr %9870, align 4
  %9871 = getelementptr inbounds %struct.s2n_result, ptr %271, i32 0, i32 0
  %9872 = load i32, ptr %9871, align 4
  %9873 = call zeroext i1 @s2n_result_is_ok(i32 %9872)
  br i1 %9873, label %9927, label %9874

9874:                                             ; preds = %9864
  br label %9875

9875:                                             ; preds = %9874
  br label %9876

9876:                                             ; preds = %9875
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %9877 = call ptr @__errno_location() #12
  %9878 = load i32, ptr %9877, align 4, !tbaa !5
  store i32 %9878, ptr %272, align 4, !tbaa !5
  %9879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9880 = call i32 @s2n_print_stacktrace(ptr noundef %9879)
  %9881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9882 = trunc i8 %9881 to i1
  br i1 %9882, label %9883, label %9905

9883:                                             ; preds = %9876
  %9884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9885 = call i32 @fileno(ptr noundef %9884) #11
  %9886 = call i32 @isatty(i32 noundef %9885) #11
  %9887 = icmp ne i32 %9886, 0
  br i1 %9887, label %9888, label %9905

9888:                                             ; preds = %9883
  %9889 = load i32, ptr %272, align 4, !tbaa !5
  %9890 = call ptr @__errno_location() #12
  store i32 %9889, ptr %9890, align 4, !tbaa !5
  %9891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9892 = load i32, ptr @test_count, align 4, !tbaa !5
  %9893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9894 = load i32, ptr %9893, align 4, !tbaa !5
  %9895 = call ptr @s2n_strerror(i32 noundef %9894, ptr noundef @.str.4)
  %9896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9897 = load i32, ptr %9896, align 4, !tbaa !5
  %9898 = call ptr @s2n_strerror_debug(i32 noundef %9897, ptr noundef @.str.4)
  %9899 = call ptr @__errno_location() #12
  %9900 = load i32, ptr %9899, align 4, !tbaa !5
  %9901 = call ptr @strerror(i32 noundef %9900) #11
  %9902 = call ptr @__errno_location() #12
  %9903 = load i32, ptr %9902, align 4, !tbaa !5
  %9904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9891, ptr noundef @.str.2, i32 noundef %9892, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9895, ptr noundef %9898, ptr noundef %9901, i32 noundef %9903) #11
  br label %9922

9905:                                             ; preds = %9883, %9876
  %9906 = load i32, ptr %272, align 4, !tbaa !5
  %9907 = call ptr @__errno_location() #12
  store i32 %9906, ptr %9907, align 4, !tbaa !5
  %9908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9909 = load i32, ptr @test_count, align 4, !tbaa !5
  %9910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9911 = load i32, ptr %9910, align 4, !tbaa !5
  %9912 = call ptr @s2n_strerror(i32 noundef %9911, ptr noundef @.str.4)
  %9913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9914 = load i32, ptr %9913, align 4, !tbaa !5
  %9915 = call ptr @s2n_strerror_debug(i32 noundef %9914, ptr noundef @.str.4)
  %9916 = call ptr @__errno_location() #12
  %9917 = load i32, ptr %9916, align 4, !tbaa !5
  %9918 = call ptr @strerror(i32 noundef %9917) #11
  %9919 = call ptr @__errno_location() #12
  %9920 = load i32, ptr %9919, align 4, !tbaa !5
  %9921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9908, ptr noundef @.str.5, i32 noundef %9909, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 480, ptr noundef %9912, ptr noundef %9915, ptr noundef %9918, i32 noundef %9920) #11
  br label %9922

9922:                                             ; preds = %9905, %9888
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %9923

9923:                                             ; preds = %9922
  br label %9924

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

9925:                                             ; No predecessors!
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926, %9864
  br label %9928

9928:                                             ; preds = %9927
  br label %9929

9929:                                             ; preds = %9928
  br label %9930

9930:                                             ; preds = %9929
  %9931 = load i32, ptr @test_count, align 4, !tbaa !5
  %9932 = add nsw i32 %9931, 1
  store i32 %9932, ptr @test_count, align 4, !tbaa !5
  %9933 = load ptr, ptr %266, align 8, !tbaa !9
  %9934 = load ptr, ptr %264, align 8, !tbaa !9
  %9935 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9933, ptr noundef %9934)
  %9936 = icmp eq i32 %9935, -1
  br i1 %9936, label %9937, label %9990

9937:                                             ; preds = %9930
  br label %9938

9938:                                             ; preds = %9937
  br label %9939

9939:                                             ; preds = %9938
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %9940 = call ptr @__errno_location() #12
  %9941 = load i32, ptr %9940, align 4, !tbaa !5
  store i32 %9941, ptr %273, align 4, !tbaa !5
  %9942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9943 = call i32 @s2n_print_stacktrace(ptr noundef %9942)
  %9944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9945 = trunc i8 %9944 to i1
  br i1 %9945, label %9946, label %9968

9946:                                             ; preds = %9939
  %9947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9948 = call i32 @fileno(ptr noundef %9947) #11
  %9949 = call i32 @isatty(i32 noundef %9948) #11
  %9950 = icmp ne i32 %9949, 0
  br i1 %9950, label %9951, label %9968

9951:                                             ; preds = %9946
  %9952 = load i32, ptr %273, align 4, !tbaa !5
  %9953 = call ptr @__errno_location() #12
  store i32 %9952, ptr %9953, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = load i32, ptr @test_count, align 4, !tbaa !5
  %9956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call ptr @s2n_strerror(i32 noundef %9957, ptr noundef @.str.4)
  %9959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @s2n_strerror_debug(i32 noundef %9960, ptr noundef @.str.4)
  %9962 = call ptr @__errno_location() #12
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call ptr @strerror(i32 noundef %9963) #11
  %9965 = call ptr @__errno_location() #12
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9954, ptr noundef @.str.2, i32 noundef %9955, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9958, ptr noundef %9961, ptr noundef %9964, i32 noundef %9966) #11
  br label %9985

9968:                                             ; preds = %9946, %9939
  %9969 = load i32, ptr %273, align 4, !tbaa !5
  %9970 = call ptr @__errno_location() #12
  store i32 %9969, ptr %9970, align 4, !tbaa !5
  %9971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9972 = load i32, ptr @test_count, align 4, !tbaa !5
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef @.str.4)
  %9979 = call ptr @__errno_location() #12
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call ptr @strerror(i32 noundef %9980) #11
  %9982 = call ptr @__errno_location() #12
  %9983 = load i32, ptr %9982, align 4, !tbaa !5
  %9984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9971, ptr noundef @.str.5, i32 noundef %9972, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 481, ptr noundef %9975, ptr noundef %9978, ptr noundef %9981, i32 noundef %9983) #11
  br label %9985

9985:                                             ; preds = %9968, %9951
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

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

9988:                                             ; No predecessors!
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989, %9930
  br label %9991

9991:                                             ; preds = %9990
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  %9994 = load i32, ptr @test_count, align 4, !tbaa !5
  %9995 = add nsw i32 %9994, 1
  store i32 %9995, ptr @test_count, align 4, !tbaa !5
  %9996 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %268, i32 0, i32 1
  %9997 = call i32 @s2n_stuffer_wipe(ptr noundef %9996)
  %9998 = icmp eq i32 %9997, -1
  br i1 %9998, label %9999, label %10052

9999:                                             ; preds = %9993
  br label %10000

10000:                                            ; preds = %9999
  br label %10001

10001:                                            ; preds = %10000
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %10002 = call ptr @__errno_location() #12
  %10003 = load i32, ptr %10002, align 4, !tbaa !5
  store i32 %10003, ptr %274, align 4, !tbaa !5
  %10004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10005 = call i32 @s2n_print_stacktrace(ptr noundef %10004)
  %10006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10007 = trunc i8 %10006 to i1
  br i1 %10007, label %10008, label %10030

10008:                                            ; preds = %10001
  %10009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10010 = call i32 @fileno(ptr noundef %10009) #11
  %10011 = call i32 @isatty(i32 noundef %10010) #11
  %10012 = icmp ne i32 %10011, 0
  br i1 %10012, label %10013, label %10030

10013:                                            ; preds = %10008
  %10014 = load i32, ptr %274, align 4, !tbaa !5
  %10015 = call ptr @__errno_location() #12
  store i32 %10014, ptr %10015, align 4, !tbaa !5
  %10016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10017 = load i32, ptr @test_count, align 4, !tbaa !5
  %10018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10019 = load i32, ptr %10018, align 4, !tbaa !5
  %10020 = call ptr @s2n_strerror(i32 noundef %10019, ptr noundef @.str.4)
  %10021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10022 = load i32, ptr %10021, align 4, !tbaa !5
  %10023 = call ptr @s2n_strerror_debug(i32 noundef %10022, ptr noundef @.str.4)
  %10024 = call ptr @__errno_location() #12
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call ptr @strerror(i32 noundef %10025) #11
  %10027 = call ptr @__errno_location() #12
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10016, ptr noundef @.str.2, i32 noundef %10017, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 482, ptr noundef %10020, ptr noundef %10023, ptr noundef %10026, i32 noundef %10028) #11
  br label %10047

10030:                                            ; preds = %10008, %10001
  %10031 = load i32, ptr %274, align 4, !tbaa !5
  %10032 = call ptr @__errno_location() #12
  store i32 %10031, ptr %10032, align 4, !tbaa !5
  %10033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10034 = load i32, ptr @test_count, align 4, !tbaa !5
  %10035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10036 = load i32, ptr %10035, align 4, !tbaa !5
  %10037 = call ptr @s2n_strerror(i32 noundef %10036, ptr noundef @.str.4)
  %10038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10039 = load i32, ptr %10038, align 4, !tbaa !5
  %10040 = call ptr @s2n_strerror_debug(i32 noundef %10039, ptr noundef @.str.4)
  %10041 = call ptr @__errno_location() #12
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call ptr @strerror(i32 noundef %10042) #11
  %10044 = call ptr @__errno_location() #12
  %10045 = load i32, ptr %10044, align 4, !tbaa !5
  %10046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10033, ptr noundef @.str.5, i32 noundef %10034, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 482, ptr noundef %10037, ptr noundef %10040, ptr noundef %10043, i32 noundef %10045) #11
  br label %10047

10047:                                            ; preds = %10030, %10013
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %10048

10048:                                            ; preds = %10047
  br label %10049

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

10050:                                            ; No predecessors!
  br label %10051

10051:                                            ; preds = %10050
  br label %10052

10052:                                            ; preds = %10051, %9993
  br label %10053

10053:                                            ; preds = %10052
  br label %10054

10054:                                            ; preds = %10053
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  store i32 0, ptr %275, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 20, ptr %276) #11
  call void @llvm.memset.p0.i64(ptr align 16 %276, i8 0, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #11
  store i64 100, ptr %277, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #11
  store i64 0, ptr %278, align 8, !tbaa !15
  br label %10055

10055:                                            ; preds = %10186, %10054
  %10056 = load i64, ptr %278, align 8, !tbaa !15
  %10057 = icmp ult i64 %10056, 100
  br i1 %10057, label %10059, label %10058

10058:                                            ; preds = %10055
  store i32 943, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #11
  br label %10189

10059:                                            ; preds = %10055
  br label %10060

10060:                                            ; preds = %10059
  %10061 = load i32, ptr @test_count, align 4, !tbaa !5
  %10062 = add nsw i32 %10061, 1
  store i32 %10062, ptr @test_count, align 4, !tbaa !5
  %10063 = load ptr, ptr %264, align 8, !tbaa !9
  %10064 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %10065 = call i64 @s2n_send(ptr noundef %10063, ptr noundef %10064, i64 noundef 20, ptr noundef %275)
  %10066 = icmp eq i64 %10065, 20
  br i1 %10066, label %10120, label %10067

10067:                                            ; preds = %10060
  br label %10068

10068:                                            ; preds = %10067
  br label %10069

10069:                                            ; preds = %10068
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %10070 = call ptr @__errno_location() #12
  %10071 = load i32, ptr %10070, align 4, !tbaa !5
  store i32 %10071, ptr %279, align 4, !tbaa !5
  %10072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10073 = call i32 @s2n_print_stacktrace(ptr noundef %10072)
  %10074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10075 = trunc i8 %10074 to i1
  br i1 %10075, label %10076, label %10098

10076:                                            ; preds = %10069
  %10077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10078 = call i32 @fileno(ptr noundef %10077) #11
  %10079 = call i32 @isatty(i32 noundef %10078) #11
  %10080 = icmp ne i32 %10079, 0
  br i1 %10080, label %10081, label %10098

10081:                                            ; preds = %10076
  %10082 = load i32, ptr %279, align 4, !tbaa !5
  %10083 = call ptr @__errno_location() #12
  store i32 %10082, ptr %10083, align 4, !tbaa !5
  %10084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10085 = load i32, ptr @test_count, align 4, !tbaa !5
  %10086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10087 = load i32, ptr %10086, align 4, !tbaa !5
  %10088 = call ptr @s2n_strerror(i32 noundef %10087, ptr noundef @.str.4)
  %10089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10090 = load i32, ptr %10089, align 4, !tbaa !5
  %10091 = call ptr @s2n_strerror_debug(i32 noundef %10090, ptr noundef @.str.4)
  %10092 = call ptr @__errno_location() #12
  %10093 = load i32, ptr %10092, align 4, !tbaa !5
  %10094 = call ptr @strerror(i32 noundef %10093) #11
  %10095 = call ptr @__errno_location() #12
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10084, ptr noundef @.str.2, i32 noundef %10085, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 490, ptr noundef %10088, ptr noundef %10091, ptr noundef %10094, i32 noundef %10096) #11
  br label %10115

10098:                                            ; preds = %10076, %10069
  %10099 = load i32, ptr %279, align 4, !tbaa !5
  %10100 = call ptr @__errno_location() #12
  store i32 %10099, ptr %10100, align 4, !tbaa !5
  %10101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10102 = load i32, ptr @test_count, align 4, !tbaa !5
  %10103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10104 = load i32, ptr %10103, align 4, !tbaa !5
  %10105 = call ptr @s2n_strerror(i32 noundef %10104, ptr noundef @.str.4)
  %10106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10107 = load i32, ptr %10106, align 4, !tbaa !5
  %10108 = call ptr @s2n_strerror_debug(i32 noundef %10107, ptr noundef @.str.4)
  %10109 = call ptr @__errno_location() #12
  %10110 = load i32, ptr %10109, align 4, !tbaa !5
  %10111 = call ptr @strerror(i32 noundef %10110) #11
  %10112 = call ptr @__errno_location() #12
  %10113 = load i32, ptr %10112, align 4, !tbaa !5
  %10114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10101, ptr noundef @.str.5, i32 noundef %10102, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 490, ptr noundef %10105, ptr noundef %10108, ptr noundef %10111, i32 noundef %10113) #11
  br label %10115

10115:                                            ; preds = %10098, %10081
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %10116

10116:                                            ; preds = %10115
  br label %10117

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

10118:                                            ; No predecessors!
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

10120:                                            ; preds = %10119, %10060
  br label %10121

10121:                                            ; preds = %10120
  br label %10122

10122:                                            ; preds = %10121
  br label %10123

10123:                                            ; preds = %10122
  %10124 = load i32, ptr @test_count, align 4, !tbaa !5
  %10125 = add nsw i32 %10124, 1
  store i32 %10125, ptr @test_count, align 4, !tbaa !5
  %10126 = load ptr, ptr %264, align 8, !tbaa !9
  %10127 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %10128 = call i64 @s2n_send(ptr noundef %10126, ptr noundef %10127, i64 noundef 20, ptr noundef %275)
  %10129 = icmp eq i64 %10128, 20
  br i1 %10129, label %10183, label %10130

10130:                                            ; preds = %10123
  br label %10131

10131:                                            ; preds = %10130
  br label %10132

10132:                                            ; preds = %10131
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %10133 = call ptr @__errno_location() #12
  %10134 = load i32, ptr %10133, align 4, !tbaa !5
  store i32 %10134, ptr %280, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @s2n_print_stacktrace(ptr noundef %10135)
  %10137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10138 = trunc i8 %10137 to i1
  br i1 %10138, label %10139, label %10161

10139:                                            ; preds = %10132
  %10140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10141 = call i32 @fileno(ptr noundef %10140) #11
  %10142 = call i32 @isatty(i32 noundef %10141) #11
  %10143 = icmp ne i32 %10142, 0
  br i1 %10143, label %10144, label %10161

10144:                                            ; preds = %10139
  %10145 = load i32, ptr %280, align 4, !tbaa !5
  %10146 = call ptr @__errno_location() #12
  store i32 %10145, ptr %10146, align 4, !tbaa !5
  %10147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10148 = load i32, ptr @test_count, align 4, !tbaa !5
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror(i32 noundef %10150, ptr noundef @.str.4)
  %10152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @s2n_strerror_debug(i32 noundef %10153, ptr noundef @.str.4)
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call ptr @strerror(i32 noundef %10156) #11
  %10158 = call ptr @__errno_location() #12
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10147, ptr noundef @.str.2, i32 noundef %10148, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 491, ptr noundef %10151, ptr noundef %10154, ptr noundef %10157, i32 noundef %10159) #11
  br label %10178

10161:                                            ; preds = %10139, %10132
  %10162 = load i32, ptr %280, align 4, !tbaa !5
  %10163 = call ptr @__errno_location() #12
  store i32 %10162, ptr %10163, align 4, !tbaa !5
  %10164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10165 = load i32, ptr @test_count, align 4, !tbaa !5
  %10166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror(i32 noundef %10167, ptr noundef @.str.4)
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @s2n_strerror_debug(i32 noundef %10170, ptr noundef @.str.4)
  %10172 = call ptr @__errno_location() #12
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @strerror(i32 noundef %10173) #11
  %10175 = call ptr @__errno_location() #12
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10164, ptr noundef @.str.5, i32 noundef %10165, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 491, ptr noundef %10168, ptr noundef %10171, ptr noundef %10174, i32 noundef %10176) #11
  br label %10178

10178:                                            ; preds = %10161, %10144
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

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

10181:                                            ; No predecessors!
  br label %10182

10182:                                            ; preds = %10181
  br label %10183

10183:                                            ; preds = %10182, %10123
  br label %10184

10184:                                            ; preds = %10183
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  %10187 = load i64, ptr %278, align 8, !tbaa !15
  %10188 = add i64 %10187, 1
  store i64 %10188, ptr %278, align 8, !tbaa !15
  br label %10055, !llvm.loop !66

10189:                                            ; preds = %10058
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #11
  store i64 0, ptr %281, align 8, !tbaa !15
  br label %10190

10190:                                            ; preds = %10646, %10189
  %10191 = load i64, ptr %281, align 8, !tbaa !15
  %10192 = icmp ult i64 %10191, 50
  br i1 %10192, label %10194, label %10193

10193:                                            ; preds = %10190
  store i32 958, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #11
  br label %10649

10194:                                            ; preds = %10190
  br label %10195

10195:                                            ; preds = %10194
  %10196 = load i32, ptr @test_count, align 4, !tbaa !5
  %10197 = add nsw i32 %10196, 1
  store i32 %10197, ptr @test_count, align 4, !tbaa !5
  %10198 = load ptr, ptr %266, align 8, !tbaa !9
  %10199 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %10198, i1 noundef zeroext true)
  %10200 = icmp eq i32 %10199, -1
  br i1 %10200, label %10201, label %10254

10201:                                            ; preds = %10195
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

10203:                                            ; preds = %10202
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %10204 = call ptr @__errno_location() #12
  %10205 = load i32, ptr %10204, align 4, !tbaa !5
  store i32 %10205, ptr %282, align 4, !tbaa !5
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = call i32 @s2n_print_stacktrace(ptr noundef %10206)
  %10208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10209 = trunc i8 %10208 to i1
  br i1 %10209, label %10210, label %10232

10210:                                            ; preds = %10203
  %10211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10212 = call i32 @fileno(ptr noundef %10211) #11
  %10213 = call i32 @isatty(i32 noundef %10212) #11
  %10214 = icmp ne i32 %10213, 0
  br i1 %10214, label %10215, label %10232

10215:                                            ; preds = %10210
  %10216 = load i32, ptr %282, align 4, !tbaa !5
  %10217 = call ptr @__errno_location() #12
  store i32 %10216, ptr %10217, align 4, !tbaa !5
  %10218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10221, ptr noundef @.str.4)
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror_debug(i32 noundef %10224, ptr noundef @.str.4)
  %10226 = call ptr @__errno_location() #12
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @strerror(i32 noundef %10227) #11
  %10229 = call ptr @__errno_location() #12
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10218, ptr noundef @.str.2, i32 noundef %10219, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 495, ptr noundef %10222, ptr noundef %10225, ptr noundef %10228, i32 noundef %10230) #11
  br label %10249

10232:                                            ; preds = %10210, %10203
  %10233 = load i32, ptr %282, align 4, !tbaa !5
  %10234 = call ptr @__errno_location() #12
  store i32 %10233, ptr %10234, align 4, !tbaa !5
  %10235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10236 = load i32, ptr @test_count, align 4, !tbaa !5
  %10237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10238 = load i32, ptr %10237, align 4, !tbaa !5
  %10239 = call ptr @s2n_strerror(i32 noundef %10238, ptr noundef @.str.4)
  %10240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10241 = load i32, ptr %10240, align 4, !tbaa !5
  %10242 = call ptr @s2n_strerror_debug(i32 noundef %10241, ptr noundef @.str.4)
  %10243 = call ptr @__errno_location() #12
  %10244 = load i32, ptr %10243, align 4, !tbaa !5
  %10245 = call ptr @strerror(i32 noundef %10244) #11
  %10246 = call ptr @__errno_location() #12
  %10247 = load i32, ptr %10246, align 4, !tbaa !5
  %10248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef @.str.5, i32 noundef %10236, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 495, ptr noundef %10239, ptr noundef %10242, ptr noundef %10245, i32 noundef %10247) #11
  br label %10249

10249:                                            ; preds = %10232, %10215
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

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

10252:                                            ; No predecessors!
  br label %10253

10253:                                            ; preds = %10252
  br label %10254

10254:                                            ; preds = %10253, %10195
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  br label %10257

10257:                                            ; preds = %10256
  %10258 = load i32, ptr @test_count, align 4, !tbaa !5
  %10259 = add nsw i32 %10258, 1
  store i32 %10259, ptr @test_count, align 4, !tbaa !5
  %10260 = load ptr, ptr %266, align 8, !tbaa !9
  %10261 = getelementptr inbounds [20 x i8], ptr %276, i64 0, i64 0
  %10262 = call i64 @s2n_recv(ptr noundef %10260, ptr noundef %10261, i64 noundef 20, ptr noundef %275)
  %10263 = icmp eq i64 %10262, 20
  br i1 %10263, label %10317, label %10264

10264:                                            ; preds = %10257
  br label %10265

10265:                                            ; preds = %10264
  br label %10266

10266:                                            ; preds = %10265
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %10267 = call ptr @__errno_location() #12
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  store i32 %10268, ptr %283, align 4, !tbaa !5
  %10269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10270 = call i32 @s2n_print_stacktrace(ptr noundef %10269)
  %10271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10272 = trunc i8 %10271 to i1
  br i1 %10272, label %10273, label %10295

10273:                                            ; preds = %10266
  %10274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10275 = call i32 @fileno(ptr noundef %10274) #11
  %10276 = call i32 @isatty(i32 noundef %10275) #11
  %10277 = icmp ne i32 %10276, 0
  br i1 %10277, label %10278, label %10295

10278:                                            ; preds = %10273
  %10279 = load i32, ptr %283, align 4, !tbaa !5
  %10280 = call ptr @__errno_location() #12
  store i32 %10279, ptr %10280, align 4, !tbaa !5
  %10281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10282 = load i32, ptr @test_count, align 4, !tbaa !5
  %10283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10284 = load i32, ptr %10283, align 4, !tbaa !5
  %10285 = call ptr @s2n_strerror(i32 noundef %10284, ptr noundef @.str.4)
  %10286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10287 = load i32, ptr %10286, align 4, !tbaa !5
  %10288 = call ptr @s2n_strerror_debug(i32 noundef %10287, ptr noundef @.str.4)
  %10289 = call ptr @__errno_location() #12
  %10290 = load i32, ptr %10289, align 4, !tbaa !5
  %10291 = call ptr @strerror(i32 noundef %10290) #11
  %10292 = call ptr @__errno_location() #12
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  %10294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10281, ptr noundef @.str.2, i32 noundef %10282, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 496, ptr noundef %10285, ptr noundef %10288, ptr noundef %10291, i32 noundef %10293) #11
  br label %10312

10295:                                            ; preds = %10273, %10266
  %10296 = load i32, ptr %283, align 4, !tbaa !5
  %10297 = call ptr @__errno_location() #12
  store i32 %10296, ptr %10297, align 4, !tbaa !5
  %10298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10299 = load i32, ptr @test_count, align 4, !tbaa !5
  %10300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10301 = load i32, ptr %10300, align 4, !tbaa !5
  %10302 = call ptr @s2n_strerror(i32 noundef %10301, ptr noundef @.str.4)
  %10303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10304 = load i32, ptr %10303, align 4, !tbaa !5
  %10305 = call ptr @s2n_strerror_debug(i32 noundef %10304, ptr noundef @.str.4)
  %10306 = call ptr @__errno_location() #12
  %10307 = load i32, ptr %10306, align 4, !tbaa !5
  %10308 = call ptr @strerror(i32 noundef %10307) #11
  %10309 = call ptr @__errno_location() #12
  %10310 = load i32, ptr %10309, align 4, !tbaa !5
  %10311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10298, ptr noundef @.str.5, i32 noundef %10299, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 496, ptr noundef %10302, ptr noundef %10305, ptr noundef %10308, i32 noundef %10310) #11
  br label %10312

10312:                                            ; preds = %10295, %10278
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %10313

10313:                                            ; preds = %10312
  br label %10314

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

10315:                                            ; No predecessors!
  br label %10316

10316:                                            ; preds = %10315
  br label %10317

10317:                                            ; preds = %10316, %10257
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  %10322 = load i32, ptr @test_count, align 4, !tbaa !5
  %10323 = add nsw i32 %10322, 1
  store i32 %10323, ptr @test_count, align 4, !tbaa !5
  %10324 = getelementptr inbounds [20 x i8], ptr %276, i64 0, i64 0
  %10325 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %10326 = call i32 @memcmp(ptr noundef %10324, ptr noundef %10325, i64 noundef 20) #14
  %10327 = icmp eq i32 %10326, 0
  br i1 %10327, label %10381, label %10328

10328:                                            ; preds = %10321
  br label %10329

10329:                                            ; preds = %10328
  br label %10330

10330:                                            ; preds = %10329
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %10331 = call ptr @__errno_location() #12
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  store i32 %10332, ptr %284, align 4, !tbaa !5
  %10333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10334 = call i32 @s2n_print_stacktrace(ptr noundef %10333)
  %10335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10336 = trunc i8 %10335 to i1
  br i1 %10336, label %10337, label %10359

10337:                                            ; preds = %10330
  %10338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10339 = call i32 @fileno(ptr noundef %10338) #11
  %10340 = call i32 @isatty(i32 noundef %10339) #11
  %10341 = icmp ne i32 %10340, 0
  br i1 %10341, label %10342, label %10359

10342:                                            ; preds = %10337
  %10343 = load i32, ptr %284, align 4, !tbaa !5
  %10344 = call ptr @__errno_location() #12
  store i32 %10343, ptr %10344, align 4, !tbaa !5
  %10345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10346 = load i32, ptr @test_count, align 4, !tbaa !5
  %10347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call ptr @s2n_strerror(i32 noundef %10348, ptr noundef @.str.4)
  %10350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call ptr @s2n_strerror_debug(i32 noundef %10351, ptr noundef @.str.4)
  %10353 = call ptr @__errno_location() #12
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @strerror(i32 noundef %10354) #11
  %10356 = call ptr @__errno_location() #12
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10345, ptr noundef @.str.2, i32 noundef %10346, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 497, ptr noundef %10349, ptr noundef %10352, ptr noundef %10355, i32 noundef %10357) #11
  br label %10376

10359:                                            ; preds = %10337, %10330
  %10360 = load i32, ptr %284, align 4, !tbaa !5
  %10361 = call ptr @__errno_location() #12
  store i32 %10360, ptr %10361, align 4, !tbaa !5
  %10362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10365 = load i32, ptr %10364, align 4, !tbaa !5
  %10366 = call ptr @s2n_strerror(i32 noundef %10365, ptr noundef @.str.4)
  %10367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10368 = load i32, ptr %10367, align 4, !tbaa !5
  %10369 = call ptr @s2n_strerror_debug(i32 noundef %10368, ptr noundef @.str.4)
  %10370 = call ptr @__errno_location() #12
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @strerror(i32 noundef %10371) #11
  %10373 = call ptr @__errno_location() #12
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10362, ptr noundef @.str.5, i32 noundef %10363, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 497, ptr noundef %10366, ptr noundef %10369, ptr noundef %10372, i32 noundef %10374) #11
  br label %10376

10376:                                            ; preds = %10359, %10342
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %10377

10377:                                            ; preds = %10376
  br label %10378

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

10379:                                            ; No predecessors!
  br label %10380

10380:                                            ; preds = %10379
  br label %10381

10381:                                            ; preds = %10380, %10321
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  br label %10386

10386:                                            ; preds = %10385
  %10387 = load i32, ptr @test_count, align 4, !tbaa !5
  %10388 = add nsw i32 %10387, 1
  store i32 %10388, ptr @test_count, align 4, !tbaa !5
  %10389 = load ptr, ptr %266, align 8, !tbaa !9
  %10390 = getelementptr inbounds %struct.s2n_connection, ptr %10389, i32 0, i32 39
  %10391 = getelementptr inbounds %struct.s2n_stuffer, ptr %10390, i32 0, i32 2
  %10392 = load i32, ptr %10391, align 4, !tbaa !51
  %10393 = load ptr, ptr %266, align 8, !tbaa !9
  %10394 = getelementptr inbounds %struct.s2n_connection, ptr %10393, i32 0, i32 39
  %10395 = getelementptr inbounds %struct.s2n_stuffer, ptr %10394, i32 0, i32 1
  %10396 = load i32, ptr %10395, align 8, !tbaa !67
  %10397 = sub i32 %10392, %10396
  %10398 = icmp ne i32 %10397, 0
  br i1 %10398, label %10452, label %10399

10399:                                            ; preds = %10386
  br label %10400

10400:                                            ; preds = %10399
  br label %10401

10401:                                            ; preds = %10400
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %10402 = call ptr @__errno_location() #12
  %10403 = load i32, ptr %10402, align 4, !tbaa !5
  store i32 %10403, ptr %285, align 4, !tbaa !5
  %10404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10405 = call i32 @s2n_print_stacktrace(ptr noundef %10404)
  %10406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10407 = trunc i8 %10406 to i1
  br i1 %10407, label %10408, label %10430

10408:                                            ; preds = %10401
  %10409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10410 = call i32 @fileno(ptr noundef %10409) #11
  %10411 = call i32 @isatty(i32 noundef %10410) #11
  %10412 = icmp ne i32 %10411, 0
  br i1 %10412, label %10413, label %10430

10413:                                            ; preds = %10408
  %10414 = load i32, ptr %285, align 4, !tbaa !5
  %10415 = call ptr @__errno_location() #12
  store i32 %10414, ptr %10415, align 4, !tbaa !5
  %10416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10417 = load i32, ptr @test_count, align 4, !tbaa !5
  %10418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call ptr @s2n_strerror(i32 noundef %10419, ptr noundef @.str.4)
  %10421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call ptr @s2n_strerror_debug(i32 noundef %10422, ptr noundef @.str.4)
  %10424 = call ptr @__errno_location() #12
  %10425 = load i32, ptr %10424, align 4, !tbaa !5
  %10426 = call ptr @strerror(i32 noundef %10425) #11
  %10427 = call ptr @__errno_location() #12
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  %10429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10416, ptr noundef @.str.2, i32 noundef %10417, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 498, ptr noundef %10420, ptr noundef %10423, ptr noundef %10426, i32 noundef %10428) #11
  br label %10447

10430:                                            ; preds = %10408, %10401
  %10431 = load i32, ptr %285, align 4, !tbaa !5
  %10432 = call ptr @__errno_location() #12
  store i32 %10431, ptr %10432, align 4, !tbaa !5
  %10433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10434 = load i32, ptr @test_count, align 4, !tbaa !5
  %10435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10436 = load i32, ptr %10435, align 4, !tbaa !5
  %10437 = call ptr @s2n_strerror(i32 noundef %10436, ptr noundef @.str.4)
  %10438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  %10440 = call ptr @s2n_strerror_debug(i32 noundef %10439, ptr noundef @.str.4)
  %10441 = call ptr @__errno_location() #12
  %10442 = load i32, ptr %10441, align 4, !tbaa !5
  %10443 = call ptr @strerror(i32 noundef %10442) #11
  %10444 = call ptr @__errno_location() #12
  %10445 = load i32, ptr %10444, align 4, !tbaa !5
  %10446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10433, ptr noundef @.str.5, i32 noundef %10434, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 498, ptr noundef %10437, ptr noundef %10440, ptr noundef %10443, i32 noundef %10445) #11
  br label %10447

10447:                                            ; preds = %10430, %10413
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %10448

10448:                                            ; preds = %10447
  br label %10449

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

10450:                                            ; No predecessors!
  br label %10451

10451:                                            ; preds = %10450
  br label %10452

10452:                                            ; preds = %10451, %10386
  br label %10453

10453:                                            ; preds = %10452
  br label %10454

10454:                                            ; preds = %10453
  br label %10455

10455:                                            ; preds = %10454
  %10456 = load i32, ptr @test_count, align 4, !tbaa !5
  %10457 = add nsw i32 %10456, 1
  store i32 %10457, ptr @test_count, align 4, !tbaa !5
  %10458 = load ptr, ptr %266, align 8, !tbaa !9
  %10459 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %10458, i1 noundef zeroext false)
  %10460 = icmp eq i32 %10459, -1
  br i1 %10460, label %10461, label %10514

10461:                                            ; preds = %10455
  br label %10462

10462:                                            ; preds = %10461
  br label %10463

10463:                                            ; preds = %10462
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %10464 = call ptr @__errno_location() #12
  %10465 = load i32, ptr %10464, align 4, !tbaa !5
  store i32 %10465, ptr %286, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @s2n_print_stacktrace(ptr noundef %10466)
  %10468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10469 = trunc i8 %10468 to i1
  br i1 %10469, label %10470, label %10492

10470:                                            ; preds = %10463
  %10471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10472 = call i32 @fileno(ptr noundef %10471) #11
  %10473 = call i32 @isatty(i32 noundef %10472) #11
  %10474 = icmp ne i32 %10473, 0
  br i1 %10474, label %10475, label %10492

10475:                                            ; preds = %10470
  %10476 = load i32, ptr %286, align 4, !tbaa !5
  %10477 = call ptr @__errno_location() #12
  store i32 %10476, ptr %10477, align 4, !tbaa !5
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = load i32, ptr @test_count, align 4, !tbaa !5
  %10480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call ptr @s2n_strerror(i32 noundef %10481, ptr noundef @.str.4)
  %10483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10484 = load i32, ptr %10483, align 4, !tbaa !5
  %10485 = call ptr @s2n_strerror_debug(i32 noundef %10484, ptr noundef @.str.4)
  %10486 = call ptr @__errno_location() #12
  %10487 = load i32, ptr %10486, align 4, !tbaa !5
  %10488 = call ptr @strerror(i32 noundef %10487) #11
  %10489 = call ptr @__errno_location() #12
  %10490 = load i32, ptr %10489, align 4, !tbaa !5
  %10491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10478, ptr noundef @.str.2, i32 noundef %10479, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 500, ptr noundef %10482, ptr noundef %10485, ptr noundef %10488, i32 noundef %10490) #11
  br label %10509

10492:                                            ; preds = %10470, %10463
  %10493 = load i32, ptr %286, align 4, !tbaa !5
  %10494 = call ptr @__errno_location() #12
  store i32 %10493, ptr %10494, align 4, !tbaa !5
  %10495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10496 = load i32, ptr @test_count, align 4, !tbaa !5
  %10497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10498 = load i32, ptr %10497, align 4, !tbaa !5
  %10499 = call ptr @s2n_strerror(i32 noundef %10498, ptr noundef @.str.4)
  %10500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10501 = load i32, ptr %10500, align 4, !tbaa !5
  %10502 = call ptr @s2n_strerror_debug(i32 noundef %10501, ptr noundef @.str.4)
  %10503 = call ptr @__errno_location() #12
  %10504 = load i32, ptr %10503, align 4, !tbaa !5
  %10505 = call ptr @strerror(i32 noundef %10504) #11
  %10506 = call ptr @__errno_location() #12
  %10507 = load i32, ptr %10506, align 4, !tbaa !5
  %10508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10495, ptr noundef @.str.5, i32 noundef %10496, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 500, ptr noundef %10499, ptr noundef %10502, ptr noundef %10505, i32 noundef %10507) #11
  br label %10509

10509:                                            ; preds = %10492, %10475
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

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

10512:                                            ; No predecessors!
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513, %10455
  br label %10515

10515:                                            ; preds = %10514
  br label %10516

10516:                                            ; preds = %10515
  br label %10517

10517:                                            ; preds = %10516
  %10518 = load i32, ptr @test_count, align 4, !tbaa !5
  %10519 = add nsw i32 %10518, 1
  store i32 %10519, ptr @test_count, align 4, !tbaa !5
  %10520 = load ptr, ptr %266, align 8, !tbaa !9
  %10521 = getelementptr inbounds [20 x i8], ptr %276, i64 0, i64 0
  %10522 = call i64 @s2n_recv(ptr noundef %10520, ptr noundef %10521, i64 noundef 20, ptr noundef %275)
  %10523 = icmp eq i64 %10522, 20
  br i1 %10523, label %10577, label %10524

10524:                                            ; preds = %10517
  br label %10525

10525:                                            ; preds = %10524
  br label %10526

10526:                                            ; preds = %10525
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %10527 = call ptr @__errno_location() #12
  %10528 = load i32, ptr %10527, align 4, !tbaa !5
  store i32 %10528, ptr %287, align 4, !tbaa !5
  %10529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10530 = call i32 @s2n_print_stacktrace(ptr noundef %10529)
  %10531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10532 = trunc i8 %10531 to i1
  br i1 %10532, label %10533, label %10555

10533:                                            ; preds = %10526
  %10534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10535 = call i32 @fileno(ptr noundef %10534) #11
  %10536 = call i32 @isatty(i32 noundef %10535) #11
  %10537 = icmp ne i32 %10536, 0
  br i1 %10537, label %10538, label %10555

10538:                                            ; preds = %10533
  %10539 = load i32, ptr %287, align 4, !tbaa !5
  %10540 = call ptr @__errno_location() #12
  store i32 %10539, ptr %10540, align 4, !tbaa !5
  %10541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10542 = load i32, ptr @test_count, align 4, !tbaa !5
  %10543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10544 = load i32, ptr %10543, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror(i32 noundef %10544, ptr noundef @.str.4)
  %10546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10547 = load i32, ptr %10546, align 4, !tbaa !5
  %10548 = call ptr @s2n_strerror_debug(i32 noundef %10547, ptr noundef @.str.4)
  %10549 = call ptr @__errno_location() #12
  %10550 = load i32, ptr %10549, align 4, !tbaa !5
  %10551 = call ptr @strerror(i32 noundef %10550) #11
  %10552 = call ptr @__errno_location() #12
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10541, ptr noundef @.str.2, i32 noundef %10542, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 501, ptr noundef %10545, ptr noundef %10548, ptr noundef %10551, i32 noundef %10553) #11
  br label %10572

10555:                                            ; preds = %10533, %10526
  %10556 = load i32, ptr %287, align 4, !tbaa !5
  %10557 = call ptr @__errno_location() #12
  store i32 %10556, ptr %10557, align 4, !tbaa !5
  %10558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10559 = load i32, ptr @test_count, align 4, !tbaa !5
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror(i32 noundef %10561, ptr noundef @.str.4)
  %10563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @s2n_strerror_debug(i32 noundef %10564, ptr noundef @.str.4)
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call ptr @strerror(i32 noundef %10567) #11
  %10569 = call ptr @__errno_location() #12
  %10570 = load i32, ptr %10569, align 4, !tbaa !5
  %10571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10558, ptr noundef @.str.5, i32 noundef %10559, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 501, ptr noundef %10562, ptr noundef %10565, ptr noundef %10568, i32 noundef %10570) #11
  br label %10572

10572:                                            ; preds = %10555, %10538
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

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

10575:                                            ; No predecessors!
  br label %10576

10576:                                            ; preds = %10575
  br label %10577

10577:                                            ; preds = %10576, %10517
  br label %10578

10578:                                            ; preds = %10577
  br label %10579

10579:                                            ; preds = %10578
  br label %10580

10580:                                            ; preds = %10579
  br label %10581

10581:                                            ; preds = %10580
  %10582 = load i32, ptr @test_count, align 4, !tbaa !5
  %10583 = add nsw i32 %10582, 1
  store i32 %10583, ptr @test_count, align 4, !tbaa !5
  %10584 = getelementptr inbounds [20 x i8], ptr %276, i64 0, i64 0
  %10585 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %10586 = call i32 @memcmp(ptr noundef %10584, ptr noundef %10585, i64 noundef 20) #14
  %10587 = icmp eq i32 %10586, 0
  br i1 %10587, label %10641, label %10588

10588:                                            ; preds = %10581
  br label %10589

10589:                                            ; preds = %10588
  br label %10590

10590:                                            ; preds = %10589
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %10591 = call ptr @__errno_location() #12
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  store i32 %10592, ptr %288, align 4, !tbaa !5
  %10593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10594 = call i32 @s2n_print_stacktrace(ptr noundef %10593)
  %10595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10596 = trunc i8 %10595 to i1
  br i1 %10596, label %10597, label %10619

10597:                                            ; preds = %10590
  %10598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10599 = call i32 @fileno(ptr noundef %10598) #11
  %10600 = call i32 @isatty(i32 noundef %10599) #11
  %10601 = icmp ne i32 %10600, 0
  br i1 %10601, label %10602, label %10619

10602:                                            ; preds = %10597
  %10603 = load i32, ptr %288, align 4, !tbaa !5
  %10604 = call ptr @__errno_location() #12
  store i32 %10603, ptr %10604, align 4, !tbaa !5
  %10605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10606 = load i32, ptr @test_count, align 4, !tbaa !5
  %10607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10608 = load i32, ptr %10607, align 4, !tbaa !5
  %10609 = call ptr @s2n_strerror(i32 noundef %10608, ptr noundef @.str.4)
  %10610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10611 = load i32, ptr %10610, align 4, !tbaa !5
  %10612 = call ptr @s2n_strerror_debug(i32 noundef %10611, ptr noundef @.str.4)
  %10613 = call ptr @__errno_location() #12
  %10614 = load i32, ptr %10613, align 4, !tbaa !5
  %10615 = call ptr @strerror(i32 noundef %10614) #11
  %10616 = call ptr @__errno_location() #12
  %10617 = load i32, ptr %10616, align 4, !tbaa !5
  %10618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10605, ptr noundef @.str.2, i32 noundef %10606, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 502, ptr noundef %10609, ptr noundef %10612, ptr noundef %10615, i32 noundef %10617) #11
  br label %10636

10619:                                            ; preds = %10597, %10590
  %10620 = load i32, ptr %288, align 4, !tbaa !5
  %10621 = call ptr @__errno_location() #12
  store i32 %10620, ptr %10621, align 4, !tbaa !5
  %10622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10623 = load i32, ptr @test_count, align 4, !tbaa !5
  %10624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10625 = load i32, ptr %10624, align 4, !tbaa !5
  %10626 = call ptr @s2n_strerror(i32 noundef %10625, ptr noundef @.str.4)
  %10627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10628 = load i32, ptr %10627, align 4, !tbaa !5
  %10629 = call ptr @s2n_strerror_debug(i32 noundef %10628, ptr noundef @.str.4)
  %10630 = call ptr @__errno_location() #12
  %10631 = load i32, ptr %10630, align 4, !tbaa !5
  %10632 = call ptr @strerror(i32 noundef %10631) #11
  %10633 = call ptr @__errno_location() #12
  %10634 = load i32, ptr %10633, align 4, !tbaa !5
  %10635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10622, ptr noundef @.str.5, i32 noundef %10623, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 502, ptr noundef %10626, ptr noundef %10629, ptr noundef %10632, i32 noundef %10634) #11
  br label %10636

10636:                                            ; preds = %10619, %10602
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %10637

10637:                                            ; preds = %10636
  br label %10638

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

10639:                                            ; No predecessors!
  br label %10640

10640:                                            ; preds = %10639
  br label %10641

10641:                                            ; preds = %10640, %10581
  br label %10642

10642:                                            ; preds = %10641
  br label %10643

10643:                                            ; preds = %10642
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644
  br label %10646

10646:                                            ; preds = %10645
  %10647 = load i64, ptr %281, align 8, !tbaa !15
  %10648 = add i64 %10647, 1
  store i64 %10648, ptr %281, align 8, !tbaa !15
  br label %10190, !llvm.loop !68

10649:                                            ; preds = %10193
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %276) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  %10650 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %268)
  %10651 = getelementptr inbounds %struct.s2n_result, ptr %289, i32 0, i32 0
  store i32 %10650, ptr %10651, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %268) #11
  %10652 = call i32 @s2n_connection_ptr_free(ptr noundef %266)
  %10653 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  store i32 %10652, ptr %10653, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %266) #11
  %10654 = call i32 @s2n_connection_ptr_free(ptr noundef %264)
  %10655 = getelementptr inbounds %struct.s2n_result, ptr %291, i32 0, i32 0
  store i32 %10654, ptr %10655, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #11
  %10656 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10656, ptr %292, align 8, !tbaa !9
  br label %10657

10657:                                            ; preds = %10649
  %10658 = load i32, ptr @test_count, align 4, !tbaa !5
  %10659 = add nsw i32 %10658, 1
  store i32 %10659, ptr @test_count, align 4, !tbaa !5
  %10660 = load ptr, ptr %292, align 8, !tbaa !9
  %10661 = load ptr, ptr %13, align 8, !tbaa !9
  %10662 = call i32 @s2n_connection_set_config(ptr noundef %10660, ptr noundef %10661)
  %10663 = icmp eq i32 %10662, -1
  br i1 %10663, label %10664, label %10717

10664:                                            ; preds = %10657
  br label %10665

10665:                                            ; preds = %10664
  br label %10666

10666:                                            ; preds = %10665
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %10667 = call ptr @__errno_location() #12
  %10668 = load i32, ptr %10667, align 4, !tbaa !5
  store i32 %10668, ptr %293, align 4, !tbaa !5
  %10669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10670 = call i32 @s2n_print_stacktrace(ptr noundef %10669)
  %10671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10672 = trunc i8 %10671 to i1
  br i1 %10672, label %10673, label %10695

10673:                                            ; preds = %10666
  %10674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10675 = call i32 @fileno(ptr noundef %10674) #11
  %10676 = call i32 @isatty(i32 noundef %10675) #11
  %10677 = icmp ne i32 %10676, 0
  br i1 %10677, label %10678, label %10695

10678:                                            ; preds = %10673
  %10679 = load i32, ptr %293, align 4, !tbaa !5
  %10680 = call ptr @__errno_location() #12
  store i32 %10679, ptr %10680, align 4, !tbaa !5
  %10681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = call ptr @s2n_strerror(i32 noundef %10684, ptr noundef @.str.4)
  %10686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10687 = load i32, ptr %10686, align 4, !tbaa !5
  %10688 = call ptr @s2n_strerror_debug(i32 noundef %10687, ptr noundef @.str.4)
  %10689 = call ptr @__errno_location() #12
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #11
  %10692 = call ptr @__errno_location() #12
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef @.str.2, i32 noundef %10682, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 510, ptr noundef %10685, ptr noundef %10688, ptr noundef %10691, i32 noundef %10693) #11
  br label %10712

10695:                                            ; preds = %10673, %10666
  %10696 = load i32, ptr %293, align 4, !tbaa !5
  %10697 = call ptr @__errno_location() #12
  store i32 %10696, ptr %10697, align 4, !tbaa !5
  %10698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10699 = load i32, ptr @test_count, align 4, !tbaa !5
  %10700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10701 = load i32, ptr %10700, align 4, !tbaa !5
  %10702 = call ptr @s2n_strerror(i32 noundef %10701, ptr noundef @.str.4)
  %10703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10704 = load i32, ptr %10703, align 4, !tbaa !5
  %10705 = call ptr @s2n_strerror_debug(i32 noundef %10704, ptr noundef @.str.4)
  %10706 = call ptr @__errno_location() #12
  %10707 = load i32, ptr %10706, align 4, !tbaa !5
  %10708 = call ptr @strerror(i32 noundef %10707) #11
  %10709 = call ptr @__errno_location() #12
  %10710 = load i32, ptr %10709, align 4, !tbaa !5
  %10711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10698, ptr noundef @.str.5, i32 noundef %10699, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 510, ptr noundef %10702, ptr noundef %10705, ptr noundef %10708, i32 noundef %10710) #11
  br label %10712

10712:                                            ; preds = %10695, %10678
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %10713

10713:                                            ; preds = %10712
  br label %10714

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

10715:                                            ; No predecessors!
  br label %10716

10716:                                            ; preds = %10715
  br label %10717

10717:                                            ; preds = %10716, %10657
  br label %10718

10718:                                            ; preds = %10717
  br label %10719

10719:                                            ; preds = %10718
  call void @llvm.lifetime.start.p0(i64 8, ptr %294) #11
  %10720 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %10720, ptr %294, align 8, !tbaa !9
  br label %10721

10721:                                            ; preds = %10719
  %10722 = load i32, ptr @test_count, align 4, !tbaa !5
  %10723 = add nsw i32 %10722, 1
  store i32 %10723, ptr @test_count, align 4, !tbaa !5
  %10724 = load ptr, ptr %294, align 8, !tbaa !9
  %10725 = load ptr, ptr %13, align 8, !tbaa !9
  %10726 = call i32 @s2n_connection_set_config(ptr noundef %10724, ptr noundef %10725)
  %10727 = icmp eq i32 %10726, -1
  br i1 %10727, label %10728, label %10781

10728:                                            ; preds = %10721
  br label %10729

10729:                                            ; preds = %10728
  br label %10730

10730:                                            ; preds = %10729
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %10731 = call ptr @__errno_location() #12
  %10732 = load i32, ptr %10731, align 4, !tbaa !5
  store i32 %10732, ptr %295, align 4, !tbaa !5
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = call i32 @s2n_print_stacktrace(ptr noundef %10733)
  %10735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10736 = trunc i8 %10735 to i1
  br i1 %10736, label %10737, label %10759

10737:                                            ; preds = %10730
  %10738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10739 = call i32 @fileno(ptr noundef %10738) #11
  %10740 = call i32 @isatty(i32 noundef %10739) #11
  %10741 = icmp ne i32 %10740, 0
  br i1 %10741, label %10742, label %10759

10742:                                            ; preds = %10737
  %10743 = load i32, ptr %295, align 4, !tbaa !5
  %10744 = call ptr @__errno_location() #12
  store i32 %10743, ptr %10744, align 4, !tbaa !5
  %10745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call ptr @s2n_strerror(i32 noundef %10748, ptr noundef @.str.4)
  %10750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call ptr @s2n_strerror_debug(i32 noundef %10751, ptr noundef @.str.4)
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  %10755 = call ptr @strerror(i32 noundef %10754) #11
  %10756 = call ptr @__errno_location() #12
  %10757 = load i32, ptr %10756, align 4, !tbaa !5
  %10758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10745, ptr noundef @.str.2, i32 noundef %10746, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10749, ptr noundef %10752, ptr noundef %10755, i32 noundef %10757) #11
  br label %10776

10759:                                            ; preds = %10737, %10730
  %10760 = load i32, ptr %295, align 4, !tbaa !5
  %10761 = call ptr @__errno_location() #12
  store i32 %10760, ptr %10761, align 4, !tbaa !5
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = load i32, ptr @test_count, align 4, !tbaa !5
  %10764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10765 = load i32, ptr %10764, align 4, !tbaa !5
  %10766 = call ptr @s2n_strerror(i32 noundef %10765, ptr noundef @.str.4)
  %10767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10768 = load i32, ptr %10767, align 4, !tbaa !5
  %10769 = call ptr @s2n_strerror_debug(i32 noundef %10768, ptr noundef @.str.4)
  %10770 = call ptr @__errno_location() #12
  %10771 = load i32, ptr %10770, align 4, !tbaa !5
  %10772 = call ptr @strerror(i32 noundef %10771) #11
  %10773 = call ptr @__errno_location() #12
  %10774 = load i32, ptr %10773, align 4, !tbaa !5
  %10775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10762, ptr noundef @.str.5, i32 noundef %10763, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 513, ptr noundef %10766, ptr noundef %10769, ptr noundef %10772, i32 noundef %10774) #11
  br label %10776

10776:                                            ; preds = %10759, %10742
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %10777

10777:                                            ; preds = %10776
  br label %10778

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

10779:                                            ; No predecessors!
  br label %10780

10780:                                            ; preds = %10779
  br label %10781

10781:                                            ; preds = %10780, %10721
  br label %10782

10782:                                            ; preds = %10781
  br label %10783

10783:                                            ; preds = %10782
  br label %10784

10784:                                            ; preds = %10783
  %10785 = load i32, ptr @test_count, align 4, !tbaa !5
  %10786 = add nsw i32 %10785, 1
  store i32 %10786, ptr @test_count, align 4, !tbaa !5
  %10787 = load ptr, ptr %292, align 8, !tbaa !9
  %10788 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %10787, i1 noundef zeroext true)
  %10789 = icmp eq i32 %10788, -1
  br i1 %10789, label %10790, label %10843

10790:                                            ; preds = %10784
  br label %10791

10791:                                            ; preds = %10790
  br label %10792

10792:                                            ; preds = %10791
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %10793 = call ptr @__errno_location() #12
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  store i32 %10794, ptr %296, align 4, !tbaa !5
  %10795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10796 = call i32 @s2n_print_stacktrace(ptr noundef %10795)
  %10797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10798 = trunc i8 %10797 to i1
  br i1 %10798, label %10799, label %10821

10799:                                            ; preds = %10792
  %10800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10801 = call i32 @fileno(ptr noundef %10800) #11
  %10802 = call i32 @isatty(i32 noundef %10801) #11
  %10803 = icmp ne i32 %10802, 0
  br i1 %10803, label %10804, label %10821

10804:                                            ; preds = %10799
  %10805 = load i32, ptr %296, align 4, !tbaa !5
  %10806 = call ptr @__errno_location() #12
  store i32 %10805, ptr %10806, align 4, !tbaa !5
  %10807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10808 = load i32, ptr @test_count, align 4, !tbaa !5
  %10809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10810 = load i32, ptr %10809, align 4, !tbaa !5
  %10811 = call ptr @s2n_strerror(i32 noundef %10810, ptr noundef @.str.4)
  %10812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10813 = load i32, ptr %10812, align 4, !tbaa !5
  %10814 = call ptr @s2n_strerror_debug(i32 noundef %10813, ptr noundef @.str.4)
  %10815 = call ptr @__errno_location() #12
  %10816 = load i32, ptr %10815, align 4, !tbaa !5
  %10817 = call ptr @strerror(i32 noundef %10816) #11
  %10818 = call ptr @__errno_location() #12
  %10819 = load i32, ptr %10818, align 4, !tbaa !5
  %10820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10807, ptr noundef @.str.2, i32 noundef %10808, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 515, ptr noundef %10811, ptr noundef %10814, ptr noundef %10817, i32 noundef %10819) #11
  br label %10838

10821:                                            ; preds = %10799, %10792
  %10822 = load i32, ptr %296, align 4, !tbaa !5
  %10823 = call ptr @__errno_location() #12
  store i32 %10822, ptr %10823, align 4, !tbaa !5
  %10824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10825 = load i32, ptr @test_count, align 4, !tbaa !5
  %10826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10827 = load i32, ptr %10826, align 4, !tbaa !5
  %10828 = call ptr @s2n_strerror(i32 noundef %10827, ptr noundef @.str.4)
  %10829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10830 = load i32, ptr %10829, align 4, !tbaa !5
  %10831 = call ptr @s2n_strerror_debug(i32 noundef %10830, ptr noundef @.str.4)
  %10832 = call ptr @__errno_location() #12
  %10833 = load i32, ptr %10832, align 4, !tbaa !5
  %10834 = call ptr @strerror(i32 noundef %10833) #11
  %10835 = call ptr @__errno_location() #12
  %10836 = load i32, ptr %10835, align 4, !tbaa !5
  %10837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10824, ptr noundef @.str.5, i32 noundef %10825, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 515, ptr noundef %10828, ptr noundef %10831, ptr noundef %10834, i32 noundef %10836) #11
  br label %10838

10838:                                            ; preds = %10821, %10804
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %10839

10839:                                            ; preds = %10838
  br label %10840

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

10841:                                            ; No predecessors!
  br label %10842

10842:                                            ; preds = %10841
  br label %10843

10843:                                            ; preds = %10842, %10784
  br label %10844

10844:                                            ; preds = %10843
  br label %10845

10845:                                            ; preds = %10844
  br label %10846

10846:                                            ; preds = %10845
  %10847 = load i32, ptr @test_count, align 4, !tbaa !5
  %10848 = add nsw i32 %10847, 1
  store i32 %10848, ptr @test_count, align 4, !tbaa !5
  %10849 = load ptr, ptr %294, align 8, !tbaa !9
  %10850 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %10849, i1 noundef zeroext true)
  %10851 = icmp eq i32 %10850, -1
  br i1 %10851, label %10852, label %10905

10852:                                            ; preds = %10846
  br label %10853

10853:                                            ; preds = %10852
  br label %10854

10854:                                            ; preds = %10853
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %10855 = call ptr @__errno_location() #12
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  store i32 %10856, ptr %297, align 4, !tbaa !5
  %10857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10858 = call i32 @s2n_print_stacktrace(ptr noundef %10857)
  %10859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10860 = trunc i8 %10859 to i1
  br i1 %10860, label %10861, label %10883

10861:                                            ; preds = %10854
  %10862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10863 = call i32 @fileno(ptr noundef %10862) #11
  %10864 = call i32 @isatty(i32 noundef %10863) #11
  %10865 = icmp ne i32 %10864, 0
  br i1 %10865, label %10866, label %10883

10866:                                            ; preds = %10861
  %10867 = load i32, ptr %297, align 4, !tbaa !5
  %10868 = call ptr @__errno_location() #12
  store i32 %10867, ptr %10868, align 4, !tbaa !5
  %10869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10870 = load i32, ptr @test_count, align 4, !tbaa !5
  %10871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10872 = load i32, ptr %10871, align 4, !tbaa !5
  %10873 = call ptr @s2n_strerror(i32 noundef %10872, ptr noundef @.str.4)
  %10874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10875 = load i32, ptr %10874, align 4, !tbaa !5
  %10876 = call ptr @s2n_strerror_debug(i32 noundef %10875, ptr noundef @.str.4)
  %10877 = call ptr @__errno_location() #12
  %10878 = load i32, ptr %10877, align 4, !tbaa !5
  %10879 = call ptr @strerror(i32 noundef %10878) #11
  %10880 = call ptr @__errno_location() #12
  %10881 = load i32, ptr %10880, align 4, !tbaa !5
  %10882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10869, ptr noundef @.str.2, i32 noundef %10870, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 516, ptr noundef %10873, ptr noundef %10876, ptr noundef %10879, i32 noundef %10881) #11
  br label %10900

10883:                                            ; preds = %10861, %10854
  %10884 = load i32, ptr %297, align 4, !tbaa !5
  %10885 = call ptr @__errno_location() #12
  store i32 %10884, ptr %10885, align 4, !tbaa !5
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = load i32, ptr @test_count, align 4, !tbaa !5
  %10888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10889 = load i32, ptr %10888, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror(i32 noundef %10889, ptr noundef @.str.4)
  %10891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10892 = load i32, ptr %10891, align 4, !tbaa !5
  %10893 = call ptr @s2n_strerror_debug(i32 noundef %10892, ptr noundef @.str.4)
  %10894 = call ptr @__errno_location() #12
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call ptr @strerror(i32 noundef %10895) #11
  %10897 = call ptr @__errno_location() #12
  %10898 = load i32, ptr %10897, align 4, !tbaa !5
  %10899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10886, ptr noundef @.str.5, i32 noundef %10887, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 516, ptr noundef %10890, ptr noundef %10893, ptr noundef %10896, i32 noundef %10898) #11
  br label %10900

10900:                                            ; preds = %10883, %10866
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %10901

10901:                                            ; preds = %10900
  br label %10902

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

10903:                                            ; No predecessors!
  br label %10904

10904:                                            ; preds = %10903
  br label %10905

10905:                                            ; preds = %10904, %10846
  br label %10906

10906:                                            ; preds = %10905
  br label %10907

10907:                                            ; preds = %10906
  call void @llvm.lifetime.start.p0(i64 80, ptr %298) #11
  call void @llvm.memset.p0.i64(ptr align 8 %298, i8 0, i64 80, i1 false)
  br label %10908

10908:                                            ; preds = %10907
  %10909 = load i32, ptr @test_count, align 4, !tbaa !5
  %10910 = add nsw i32 %10909, 1
  store i32 %10910, ptr @test_count, align 4, !tbaa !5
  %10911 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %298)
  %10912 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  store i32 %10911, ptr %10912, align 4
  %10913 = getelementptr inbounds %struct.s2n_result, ptr %299, i32 0, i32 0
  %10914 = load i32, ptr %10913, align 4
  %10915 = call zeroext i1 @s2n_result_is_ok(i32 %10914)
  br i1 %10915, label %10969, label %10916

10916:                                            ; preds = %10908
  br label %10917

10917:                                            ; preds = %10916
  br label %10918

10918:                                            ; preds = %10917
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %10919 = call ptr @__errno_location() #12
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  store i32 %10920, ptr %300, align 4, !tbaa !5
  %10921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10922 = call i32 @s2n_print_stacktrace(ptr noundef %10921)
  %10923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10924 = trunc i8 %10923 to i1
  br i1 %10924, label %10925, label %10947

10925:                                            ; preds = %10918
  %10926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10927 = call i32 @fileno(ptr noundef %10926) #11
  %10928 = call i32 @isatty(i32 noundef %10927) #11
  %10929 = icmp ne i32 %10928, 0
  br i1 %10929, label %10930, label %10947

10930:                                            ; preds = %10925
  %10931 = load i32, ptr %300, align 4, !tbaa !5
  %10932 = call ptr @__errno_location() #12
  store i32 %10931, ptr %10932, align 4, !tbaa !5
  %10933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10934 = load i32, ptr @test_count, align 4, !tbaa !5
  %10935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10936 = load i32, ptr %10935, align 4, !tbaa !5
  %10937 = call ptr @s2n_strerror(i32 noundef %10936, ptr noundef @.str.4)
  %10938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10939 = load i32, ptr %10938, align 4, !tbaa !5
  %10940 = call ptr @s2n_strerror_debug(i32 noundef %10939, ptr noundef @.str.4)
  %10941 = call ptr @__errno_location() #12
  %10942 = load i32, ptr %10941, align 4, !tbaa !5
  %10943 = call ptr @strerror(i32 noundef %10942) #11
  %10944 = call ptr @__errno_location() #12
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  %10946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10933, ptr noundef @.str.2, i32 noundef %10934, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10937, ptr noundef %10940, ptr noundef %10943, i32 noundef %10945) #11
  br label %10964

10947:                                            ; preds = %10925, %10918
  %10948 = load i32, ptr %300, align 4, !tbaa !5
  %10949 = call ptr @__errno_location() #12
  store i32 %10948, ptr %10949, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10953 = load i32, ptr %10952, align 4, !tbaa !5
  %10954 = call ptr @s2n_strerror(i32 noundef %10953, ptr noundef @.str.4)
  %10955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10956 = load i32, ptr %10955, align 4, !tbaa !5
  %10957 = call ptr @s2n_strerror_debug(i32 noundef %10956, ptr noundef @.str.4)
  %10958 = call ptr @__errno_location() #12
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  %10960 = call ptr @strerror(i32 noundef %10959) #11
  %10961 = call ptr @__errno_location() #12
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef @.str.5, i32 noundef %10951, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 519, ptr noundef %10954, ptr noundef %10957, ptr noundef %10960, i32 noundef %10962) #11
  br label %10964

10964:                                            ; preds = %10947, %10930
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %10965

10965:                                            ; preds = %10964
  br label %10966

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

10967:                                            ; No predecessors!
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968, %10908
  br label %10970

10970:                                            ; preds = %10969
  br label %10971

10971:                                            ; preds = %10970
  br label %10972

10972:                                            ; preds = %10971
  %10973 = load i32, ptr @test_count, align 4, !tbaa !5
  %10974 = add nsw i32 %10973, 1
  store i32 %10974, ptr @test_count, align 4, !tbaa !5
  %10975 = load ptr, ptr %292, align 8, !tbaa !9
  %10976 = load ptr, ptr %294, align 8, !tbaa !9
  %10977 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %10975, ptr noundef %10976, ptr noundef %298)
  %10978 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  store i32 %10977, ptr %10978, align 4
  %10979 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  %10980 = load i32, ptr %10979, align 4
  %10981 = call zeroext i1 @s2n_result_is_ok(i32 %10980)
  br i1 %10981, label %11035, label %10982

10982:                                            ; preds = %10972
  br label %10983

10983:                                            ; preds = %10982
  br label %10984

10984:                                            ; preds = %10983
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %10985 = call ptr @__errno_location() #12
  %10986 = load i32, ptr %10985, align 4, !tbaa !5
  store i32 %10986, ptr %302, align 4, !tbaa !5
  %10987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10988 = call i32 @s2n_print_stacktrace(ptr noundef %10987)
  %10989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10990 = trunc i8 %10989 to i1
  br i1 %10990, label %10991, label %11013

10991:                                            ; preds = %10984
  %10992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10993 = call i32 @fileno(ptr noundef %10992) #11
  %10994 = call i32 @isatty(i32 noundef %10993) #11
  %10995 = icmp ne i32 %10994, 0
  br i1 %10995, label %10996, label %11013

10996:                                            ; preds = %10991
  %10997 = load i32, ptr %302, align 4, !tbaa !5
  %10998 = call ptr @__errno_location() #12
  store i32 %10997, ptr %10998, align 4, !tbaa !5
  %10999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11000 = load i32, ptr @test_count, align 4, !tbaa !5
  %11001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = call ptr @s2n_strerror(i32 noundef %11002, ptr noundef @.str.4)
  %11004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11005 = load i32, ptr %11004, align 4, !tbaa !5
  %11006 = call ptr @s2n_strerror_debug(i32 noundef %11005, ptr noundef @.str.4)
  %11007 = call ptr @__errno_location() #12
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  %11009 = call ptr @strerror(i32 noundef %11008) #11
  %11010 = call ptr @__errno_location() #12
  %11011 = load i32, ptr %11010, align 4, !tbaa !5
  %11012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10999, ptr noundef @.str.2, i32 noundef %11000, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 520, ptr noundef %11003, ptr noundef %11006, ptr noundef %11009, i32 noundef %11011) #11
  br label %11030

11013:                                            ; preds = %10991, %10984
  %11014 = load i32, ptr %302, align 4, !tbaa !5
  %11015 = call ptr @__errno_location() #12
  store i32 %11014, ptr %11015, align 4, !tbaa !5
  %11016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11017 = load i32, ptr @test_count, align 4, !tbaa !5
  %11018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11019 = load i32, ptr %11018, align 4, !tbaa !5
  %11020 = call ptr @s2n_strerror(i32 noundef %11019, ptr noundef @.str.4)
  %11021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11022 = load i32, ptr %11021, align 4, !tbaa !5
  %11023 = call ptr @s2n_strerror_debug(i32 noundef %11022, ptr noundef @.str.4)
  %11024 = call ptr @__errno_location() #12
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call ptr @strerror(i32 noundef %11025) #11
  %11027 = call ptr @__errno_location() #12
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11016, ptr noundef @.str.5, i32 noundef %11017, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 520, ptr noundef %11020, ptr noundef %11023, ptr noundef %11026, i32 noundef %11028) #11
  br label %11030

11030:                                            ; preds = %11013, %10996
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %11031

11031:                                            ; preds = %11030
  br label %11032

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

11033:                                            ; No predecessors!
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034, %10972
  br label %11036

11036:                                            ; preds = %11035
  br label %11037

11037:                                            ; preds = %11036
  br label %11038

11038:                                            ; preds = %11037
  %11039 = load i32, ptr @test_count, align 4, !tbaa !5
  %11040 = add nsw i32 %11039, 1
  store i32 %11040, ptr @test_count, align 4, !tbaa !5
  %11041 = load ptr, ptr %294, align 8, !tbaa !9
  %11042 = load ptr, ptr %292, align 8, !tbaa !9
  %11043 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11041, ptr noundef %11042)
  %11044 = icmp eq i32 %11043, -1
  br i1 %11044, label %11045, label %11098

11045:                                            ; preds = %11038
  br label %11046

11046:                                            ; preds = %11045
  br label %11047

11047:                                            ; preds = %11046
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %11048 = call ptr @__errno_location() #12
  %11049 = load i32, ptr %11048, align 4, !tbaa !5
  store i32 %11049, ptr %303, align 4, !tbaa !5
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = call i32 @s2n_print_stacktrace(ptr noundef %11050)
  %11052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11053 = trunc i8 %11052 to i1
  br i1 %11053, label %11054, label %11076

11054:                                            ; preds = %11047
  %11055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11056 = call i32 @fileno(ptr noundef %11055) #11
  %11057 = call i32 @isatty(i32 noundef %11056) #11
  %11058 = icmp ne i32 %11057, 0
  br i1 %11058, label %11059, label %11076

11059:                                            ; preds = %11054
  %11060 = load i32, ptr %303, align 4, !tbaa !5
  %11061 = call ptr @__errno_location() #12
  store i32 %11060, ptr %11061, align 4, !tbaa !5
  %11062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11063 = load i32, ptr @test_count, align 4, !tbaa !5
  %11064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11065 = load i32, ptr %11064, align 4, !tbaa !5
  %11066 = call ptr @s2n_strerror(i32 noundef %11065, ptr noundef @.str.4)
  %11067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11068 = load i32, ptr %11067, align 4, !tbaa !5
  %11069 = call ptr @s2n_strerror_debug(i32 noundef %11068, ptr noundef @.str.4)
  %11070 = call ptr @__errno_location() #12
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  %11072 = call ptr @strerror(i32 noundef %11071) #11
  %11073 = call ptr @__errno_location() #12
  %11074 = load i32, ptr %11073, align 4, !tbaa !5
  %11075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11062, ptr noundef @.str.2, i32 noundef %11063, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11066, ptr noundef %11069, ptr noundef %11072, i32 noundef %11074) #11
  br label %11093

11076:                                            ; preds = %11054, %11047
  %11077 = load i32, ptr %303, align 4, !tbaa !5
  %11078 = call ptr @__errno_location() #12
  store i32 %11077, ptr %11078, align 4, !tbaa !5
  %11079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11080 = load i32, ptr @test_count, align 4, !tbaa !5
  %11081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11082 = load i32, ptr %11081, align 4, !tbaa !5
  %11083 = call ptr @s2n_strerror(i32 noundef %11082, ptr noundef @.str.4)
  %11084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @s2n_strerror_debug(i32 noundef %11085, ptr noundef @.str.4)
  %11087 = call ptr @__errno_location() #12
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @strerror(i32 noundef %11088) #11
  %11090 = call ptr @__errno_location() #12
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11079, ptr noundef @.str.5, i32 noundef %11080, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 521, ptr noundef %11083, ptr noundef %11086, ptr noundef %11089, i32 noundef %11091) #11
  br label %11093

11093:                                            ; preds = %11076, %11059
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %11094

11094:                                            ; preds = %11093
  br label %11095

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

11096:                                            ; No predecessors!
  br label %11097

11097:                                            ; preds = %11096
  br label %11098

11098:                                            ; preds = %11097, %11038
  br label %11099

11099:                                            ; preds = %11098
  br label %11100

11100:                                            ; preds = %11099
  br label %11101

11101:                                            ; preds = %11100
  %11102 = load i32, ptr @test_count, align 4, !tbaa !5
  %11103 = add nsw i32 %11102, 1
  store i32 %11103, ptr @test_count, align 4, !tbaa !5
  %11104 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %298, i32 0, i32 1
  %11105 = call i32 @s2n_stuffer_wipe(ptr noundef %11104)
  %11106 = icmp eq i32 %11105, -1
  br i1 %11106, label %11107, label %11160

11107:                                            ; preds = %11101
  br label %11108

11108:                                            ; preds = %11107
  br label %11109

11109:                                            ; preds = %11108
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %11110 = call ptr @__errno_location() #12
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  store i32 %11111, ptr %304, 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 %304, 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.64, ptr noundef @.str.1, i32 noundef 522, ptr noundef %11128, ptr noundef %11131, ptr noundef %11134, i32 noundef %11136) #11
  br label %11155

11138:                                            ; preds = %11116, %11109
  %11139 = load i32, ptr %304, 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.64, ptr noundef @.str.1, i32 noundef 522, 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 %304) #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, %11101
  br label %11161

11161:                                            ; preds = %11160
  br label %11162

11162:                                            ; preds = %11161
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  store i32 0, ptr %305, align 4, !tbaa !5
  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 %292, align 8, !tbaa !9
  %11167 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %11168 = call i64 @s2n_send(ptr noundef %11166, ptr noundef %11167, i64 noundef 20, ptr noundef %305)
  %11169 = icmp eq i64 %11168, 20
  br i1 %11169, label %11223, label %11170

11170:                                            ; preds = %11163
  br label %11171

11171:                                            ; preds = %11170
  br label %11172

11172:                                            ; preds = %11171
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %11173 = call ptr @__errno_location() #12
  %11174 = load i32, ptr %11173, align 4, !tbaa !5
  store i32 %11174, ptr %306, 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 %306, 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.25, ptr noundef @.str.1, i32 noundef 526, ptr noundef %11191, ptr noundef %11194, ptr noundef %11197, i32 noundef %11199) #11
  br label %11218

11201:                                            ; preds = %11179, %11172
  %11202 = load i32, ptr %306, 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.25, ptr noundef @.str.1, i32 noundef 526, 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 %306) #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
  br label %11226

11226:                                            ; preds = %11225
  %11227 = load i32, ptr @test_count, align 4, !tbaa !5
  %11228 = add nsw i32 %11227, 1
  store i32 %11228, ptr @test_count, align 4, !tbaa !5
  %11229 = load ptr, ptr %292, align 8, !tbaa !9
  %11230 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %11231 = call i64 @s2n_send(ptr noundef %11229, ptr noundef %11230, i64 noundef 20, ptr noundef %305)
  %11232 = icmp eq i64 %11231, 20
  br i1 %11232, label %11286, label %11233

11233:                                            ; preds = %11226
  br label %11234

11234:                                            ; preds = %11233
  br label %11235

11235:                                            ; preds = %11234
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %11236 = call ptr @__errno_location() #12
  %11237 = load i32, ptr %11236, align 4, !tbaa !5
  store i32 %11237, ptr %307, align 4, !tbaa !5
  %11238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11239 = call i32 @s2n_print_stacktrace(ptr noundef %11238)
  %11240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11241 = trunc i8 %11240 to i1
  br i1 %11241, label %11242, label %11264

11242:                                            ; preds = %11235
  %11243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11244 = call i32 @fileno(ptr noundef %11243) #11
  %11245 = call i32 @isatty(i32 noundef %11244) #11
  %11246 = icmp ne i32 %11245, 0
  br i1 %11246, label %11247, label %11264

11247:                                            ; preds = %11242
  %11248 = load i32, ptr %307, align 4, !tbaa !5
  %11249 = call ptr @__errno_location() #12
  store i32 %11248, ptr %11249, align 4, !tbaa !5
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = load i32, ptr @test_count, align 4, !tbaa !5
  %11252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call ptr @s2n_strerror(i32 noundef %11253, ptr noundef @.str.4)
  %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_debug(i32 noundef %11256, ptr noundef @.str.4)
  %11258 = call ptr @__errno_location() #12
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @strerror(i32 noundef %11259) #11
  %11261 = call ptr @__errno_location() #12
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11250, ptr noundef @.str.2, i32 noundef %11251, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 527, ptr noundef %11254, ptr noundef %11257, ptr noundef %11260, i32 noundef %11262) #11
  br label %11281

11264:                                            ; preds = %11242, %11235
  %11265 = load i32, ptr %307, align 4, !tbaa !5
  %11266 = call ptr @__errno_location() #12
  store i32 %11265, ptr %11266, align 4, !tbaa !5
  %11267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11268 = load i32, ptr @test_count, align 4, !tbaa !5
  %11269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @s2n_strerror(i32 noundef %11270, ptr noundef @.str.4)
  %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_debug(i32 noundef %11273, ptr noundef @.str.4)
  %11275 = call ptr @__errno_location() #12
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @strerror(i32 noundef %11276) #11
  %11278 = call ptr @__errno_location() #12
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11267, ptr noundef @.str.5, i32 noundef %11268, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 527, ptr noundef %11271, ptr noundef %11274, ptr noundef %11277, i32 noundef %11279) #11
  br label %11281

11281:                                            ; preds = %11264, %11247
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %11282

11282:                                            ; preds = %11281
  br label %11283

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

11284:                                            ; No predecessors!
  br label %11285

11285:                                            ; preds = %11284
  br label %11286

11286:                                            ; preds = %11285, %11226
  br label %11287

11287:                                            ; preds = %11286
  br label %11288

11288:                                            ; preds = %11287
  %11289 = load i32, ptr %47, align 4, !tbaa !5
  %11290 = udiv i32 %11289, 2
  %11291 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %298, i32 0, i32 1
  %11292 = getelementptr inbounds %struct.s2n_stuffer, ptr %11291, i32 0, i32 2
  store i32 %11290, ptr %11292, align 4, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 20, ptr %308) #11
  call void @llvm.memset.p0.i64(ptr align 16 %308, i8 0, i64 20, i1 false)
  br label %11293

11293:                                            ; preds = %11288
  br label %11294

11294:                                            ; preds = %11293
  br label %11295

11295:                                            ; preds = %11294
  %11296 = load i32, ptr @test_count, align 4, !tbaa !5
  %11297 = add nsw i32 %11296, 1
  store i32 %11297, ptr @test_count, align 4, !tbaa !5
  %11298 = load ptr, ptr %294, align 8, !tbaa !9
  %11299 = getelementptr inbounds [20 x i8], ptr %308, i64 0, i64 0
  %11300 = call i64 @s2n_recv(ptr noundef %11298, ptr noundef %11299, i64 noundef 20, ptr noundef %305)
  %11301 = icmp eq i64 %11300, -1
  br i1 %11301, label %11355, label %11302

11302:                                            ; preds = %11295
  br label %11303

11303:                                            ; preds = %11302
  br label %11304

11304:                                            ; preds = %11303
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %11305 = call ptr @__errno_location() #12
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  store i32 %11306, ptr %309, 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 %309, 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.67, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11323, ptr noundef %11326, ptr noundef %11329, i32 noundef %11331) #11
  br label %11350

11333:                                            ; preds = %11311, %11304
  %11334 = load i32, ptr %309, 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.67, ptr noundef @.str.1, i32 noundef 534, 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 %309) #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, %11295
  br label %11356

11356:                                            ; preds = %11355
  br label %11357

11357:                                            ; preds = %11356
  br label %11358

11358:                                            ; preds = %11357
  %11359 = load i32, ptr @test_count, align 4, !tbaa !5
  %11360 = add nsw i32 %11359, 1
  store i32 %11360, ptr @test_count, align 4, !tbaa !5
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = icmp eq i32 %11362, 201326592
  br i1 %11363, label %11417, label %11364

11364:                                            ; preds = %11358
  br label %11365

11365:                                            ; preds = %11364
  br label %11366

11366:                                            ; preds = %11365
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %11367 = call ptr @__errno_location() #12
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  store i32 %11368, ptr %310, align 4, !tbaa !5
  %11369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11370 = call i32 @s2n_print_stacktrace(ptr noundef %11369)
  %11371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11372 = trunc i8 %11371 to i1
  br i1 %11372, label %11373, label %11395

11373:                                            ; preds = %11366
  %11374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11375 = call i32 @fileno(ptr noundef %11374) #11
  %11376 = call i32 @isatty(i32 noundef %11375) #11
  %11377 = icmp ne i32 %11376, 0
  br i1 %11377, label %11378, label %11395

11378:                                            ; preds = %11373
  %11379 = load i32, ptr %310, align 4, !tbaa !5
  %11380 = call ptr @__errno_location() #12
  store i32 %11379, ptr %11380, align 4, !tbaa !5
  %11381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11382 = load i32, ptr @test_count, align 4, !tbaa !5
  %11383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11384 = load i32, ptr %11383, align 4, !tbaa !5
  %11385 = call ptr @s2n_strerror(i32 noundef %11384, ptr noundef @.str.4)
  %11386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11387 = load i32, ptr %11386, align 4, !tbaa !5
  %11388 = call ptr @s2n_strerror_debug(i32 noundef %11387, ptr noundef @.str.4)
  %11389 = call ptr @__errno_location() #12
  %11390 = load i32, ptr %11389, align 4, !tbaa !5
  %11391 = call ptr @strerror(i32 noundef %11390) #11
  %11392 = call ptr @__errno_location() #12
  %11393 = load i32, ptr %11392, align 4, !tbaa !5
  %11394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11381, ptr noundef @.str.2, i32 noundef %11382, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11385, ptr noundef %11388, ptr noundef %11391, i32 noundef %11393) #11
  br label %11412

11395:                                            ; preds = %11373, %11366
  %11396 = load i32, ptr %310, align 4, !tbaa !5
  %11397 = call ptr @__errno_location() #12
  store i32 %11396, ptr %11397, align 4, !tbaa !5
  %11398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11399 = load i32, ptr @test_count, align 4, !tbaa !5
  %11400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call ptr @s2n_strerror(i32 noundef %11401, ptr noundef @.str.4)
  %11403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  %11405 = call ptr @s2n_strerror_debug(i32 noundef %11404, ptr noundef @.str.4)
  %11406 = call ptr @__errno_location() #12
  %11407 = load i32, ptr %11406, align 4, !tbaa !5
  %11408 = call ptr @strerror(i32 noundef %11407) #11
  %11409 = call ptr @__errno_location() #12
  %11410 = load i32, ptr %11409, align 4, !tbaa !5
  %11411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11398, ptr noundef @.str.5, i32 noundef %11399, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11402, ptr noundef %11405, ptr noundef %11408, i32 noundef %11410) #11
  br label %11412

11412:                                            ; preds = %11395, %11378
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %11413

11413:                                            ; preds = %11412
  br label %11414

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

11415:                                            ; No predecessors!
  br label %11416

11416:                                            ; preds = %11415
  br label %11417

11417:                                            ; preds = %11416, %11358
  br label %11418

11418:                                            ; preds = %11417
  br label %11419

11419:                                            ; preds = %11418
  br label %11420

11420:                                            ; preds = %11419
  %11421 = load i32, ptr @test_count, align 4, !tbaa !5
  %11422 = add nsw i32 %11421, 1
  store i32 %11422, ptr @test_count, align 4, !tbaa !5
  %11423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11424 = load i32, ptr %11423, align 4, !tbaa !5
  %11425 = call ptr @s2n_strerror_debug(i32 noundef %11424, ptr noundef @.str.4)
  %11426 = icmp eq ptr %11425, null
  br i1 %11426, label %11427, label %11480

11427:                                            ; preds = %11420
  br label %11428

11428:                                            ; preds = %11427
  br label %11429

11429:                                            ; preds = %11428
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %11430 = call ptr @__errno_location() #12
  %11431 = load i32, ptr %11430, align 4, !tbaa !5
  store i32 %11431, ptr %311, align 4, !tbaa !5
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = call i32 @s2n_print_stacktrace(ptr noundef %11432)
  %11434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11435 = trunc i8 %11434 to i1
  br i1 %11435, label %11436, label %11458

11436:                                            ; preds = %11429
  %11437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11438 = call i32 @fileno(ptr noundef %11437) #11
  %11439 = call i32 @isatty(i32 noundef %11438) #11
  %11440 = icmp ne i32 %11439, 0
  br i1 %11440, label %11441, label %11458

11441:                                            ; preds = %11436
  %11442 = load i32, ptr %311, align 4, !tbaa !5
  %11443 = call ptr @__errno_location() #12
  store i32 %11442, ptr %11443, align 4, !tbaa !5
  %11444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11445 = load i32, ptr @test_count, align 4, !tbaa !5
  %11446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11447 = load i32, ptr %11446, align 4, !tbaa !5
  %11448 = call ptr @s2n_strerror(i32 noundef %11447, ptr noundef @.str.4)
  %11449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11450 = load i32, ptr %11449, align 4, !tbaa !5
  %11451 = call ptr @s2n_strerror_debug(i32 noundef %11450, ptr noundef @.str.4)
  %11452 = call ptr @__errno_location() #12
  %11453 = load i32, ptr %11452, align 4, !tbaa !5
  %11454 = call ptr @strerror(i32 noundef %11453) #11
  %11455 = call ptr @__errno_location() #12
  %11456 = load i32, ptr %11455, align 4, !tbaa !5
  %11457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11444, ptr noundef @.str.2, i32 noundef %11445, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11448, ptr noundef %11451, ptr noundef %11454, i32 noundef %11456) #11
  br label %11475

11458:                                            ; preds = %11436, %11429
  %11459 = load i32, ptr %311, align 4, !tbaa !5
  %11460 = call ptr @__errno_location() #12
  store i32 %11459, ptr %11460, align 4, !tbaa !5
  %11461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11462 = load i32, ptr @test_count, align 4, !tbaa !5
  %11463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call ptr @s2n_strerror(i32 noundef %11464, ptr noundef @.str.4)
  %11466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11467 = load i32, ptr %11466, align 4, !tbaa !5
  %11468 = call ptr @s2n_strerror_debug(i32 noundef %11467, ptr noundef @.str.4)
  %11469 = call ptr @__errno_location() #12
  %11470 = load i32, ptr %11469, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #11
  %11472 = call ptr @__errno_location() #12
  %11473 = load i32, ptr %11472, align 4, !tbaa !5
  %11474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11461, ptr noundef @.str.5, i32 noundef %11462, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 534, ptr noundef %11465, ptr noundef %11468, ptr noundef %11471, i32 noundef %11473) #11
  br label %11475

11475:                                            ; preds = %11458, %11441
  call void @llvm.lifetime.end.p0(i64 4, ptr %311) #11
  br label %11476

11476:                                            ; preds = %11475
  br label %11477

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

11478:                                            ; No predecessors!
  br label %11479

11479:                                            ; preds = %11478
  br label %11480

11480:                                            ; preds = %11479, %11420
  br label %11481

11481:                                            ; preds = %11480
  br label %11482

11482:                                            ; preds = %11481
  br label %11483

11483:                                            ; preds = %11482
  br label %11484

11484:                                            ; preds = %11483
  br label %11485

11485:                                            ; preds = %11484
  %11486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11486, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11487 = call ptr @__errno_location() #12
  store i32 0, ptr %11487, align 4, !tbaa !5
  br label %11488

11488:                                            ; preds = %11485
  br label %11489

11489:                                            ; preds = %11488
  br label %11490

11490:                                            ; preds = %11489
  br label %11491

11491:                                            ; preds = %11490
  br label %11492

11492:                                            ; preds = %11491
  %11493 = load i32, ptr @test_count, align 4, !tbaa !5
  %11494 = add nsw i32 %11493, 1
  store i32 %11494, ptr @test_count, align 4, !tbaa !5
  %11495 = load ptr, ptr %294, align 8, !tbaa !9
  %11496 = getelementptr inbounds %struct.s2n_connection, ptr %11495, i32 0, i32 40
  %11497 = getelementptr inbounds %struct.s2n_stuffer, ptr %11496, i32 0, i32 2
  %11498 = load i32, ptr %11497, align 4, !tbaa !69
  %11499 = load ptr, ptr %294, align 8, !tbaa !9
  %11500 = getelementptr inbounds %struct.s2n_connection, ptr %11499, i32 0, i32 40
  %11501 = getelementptr inbounds %struct.s2n_stuffer, ptr %11500, i32 0, i32 1
  %11502 = load i32, ptr %11501, align 8, !tbaa !70
  %11503 = sub i32 %11498, %11502
  %11504 = icmp ne i32 %11503, 0
  br i1 %11504, label %11558, label %11505

11505:                                            ; preds = %11492
  br label %11506

11506:                                            ; preds = %11505
  br label %11507

11507:                                            ; preds = %11506
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %11508 = call ptr @__errno_location() #12
  %11509 = load i32, ptr %11508, align 4, !tbaa !5
  store i32 %11509, ptr %312, align 4, !tbaa !5
  %11510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11511 = call i32 @s2n_print_stacktrace(ptr noundef %11510)
  %11512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11513 = trunc i8 %11512 to i1
  br i1 %11513, label %11514, label %11536

11514:                                            ; preds = %11507
  %11515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11516 = call i32 @fileno(ptr noundef %11515) #11
  %11517 = call i32 @isatty(i32 noundef %11516) #11
  %11518 = icmp ne i32 %11517, 0
  br i1 %11518, label %11519, label %11536

11519:                                            ; preds = %11514
  %11520 = load i32, ptr %312, align 4, !tbaa !5
  %11521 = call ptr @__errno_location() #12
  store i32 %11520, ptr %11521, align 4, !tbaa !5
  %11522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call ptr @s2n_strerror(i32 noundef %11525, ptr noundef @.str.4)
  %11527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror_debug(i32 noundef %11528, ptr noundef @.str.4)
  %11530 = call ptr @__errno_location() #12
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @strerror(i32 noundef %11531) #11
  %11533 = call ptr @__errno_location() #12
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11522, ptr noundef @.str.2, i32 noundef %11523, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 535, ptr noundef %11526, ptr noundef %11529, ptr noundef %11532, i32 noundef %11534) #11
  br label %11553

11536:                                            ; preds = %11514, %11507
  %11537 = load i32, ptr %312, align 4, !tbaa !5
  %11538 = call ptr @__errno_location() #12
  store i32 %11537, ptr %11538, align 4, !tbaa !5
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = load i32, ptr @test_count, align 4, !tbaa !5
  %11541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call ptr @s2n_strerror(i32 noundef %11542, ptr noundef @.str.4)
  %11544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror_debug(i32 noundef %11545, ptr noundef @.str.4)
  %11547 = call ptr @__errno_location() #12
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @strerror(i32 noundef %11548) #11
  %11550 = call ptr @__errno_location() #12
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11539, ptr noundef @.str.5, i32 noundef %11540, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 535, ptr noundef %11543, ptr noundef %11546, ptr noundef %11549, i32 noundef %11551) #11
  br label %11553

11553:                                            ; preds = %11536, %11519
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %11554

11554:                                            ; preds = %11553
  br label %11555

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

11556:                                            ; No predecessors!
  br label %11557

11557:                                            ; preds = %11556
  br label %11558

11558:                                            ; preds = %11557, %11492
  br label %11559

11559:                                            ; preds = %11558
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  br label %11562

11562:                                            ; preds = %11561
  br label %11563

11563:                                            ; preds = %11562
  %11564 = load i32, ptr @test_count, align 4, !tbaa !5
  %11565 = add nsw i32 %11564, 1
  store i32 %11565, ptr @test_count, align 4, !tbaa !5
  %11566 = load ptr, ptr %294, align 8, !tbaa !9
  %11567 = call i32 @s2n_connection_release_buffers(ptr noundef %11566)
  %11568 = icmp eq i32 %11567, -1
  br i1 %11568, label %11622, label %11569

11569:                                            ; preds = %11563
  br label %11570

11570:                                            ; preds = %11569
  br label %11571

11571:                                            ; preds = %11570
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %11572 = call ptr @__errno_location() #12
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  store i32 %11573, ptr %313, align 4, !tbaa !5
  %11574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11575 = call i32 @s2n_print_stacktrace(ptr noundef %11574)
  %11576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11577 = trunc i8 %11576 to i1
  br i1 %11577, label %11578, label %11600

11578:                                            ; preds = %11571
  %11579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11580 = call i32 @fileno(ptr noundef %11579) #11
  %11581 = call i32 @isatty(i32 noundef %11580) #11
  %11582 = icmp ne i32 %11581, 0
  br i1 %11582, label %11583, label %11600

11583:                                            ; preds = %11578
  %11584 = load i32, ptr %313, align 4, !tbaa !5
  %11585 = call ptr @__errno_location() #12
  store i32 %11584, ptr %11585, align 4, !tbaa !5
  %11586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11587 = load i32, ptr @test_count, align 4, !tbaa !5
  %11588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11589 = load i32, ptr %11588, align 4, !tbaa !5
  %11590 = call ptr @s2n_strerror(i32 noundef %11589, ptr noundef @.str.4)
  %11591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11592 = load i32, ptr %11591, align 4, !tbaa !5
  %11593 = call ptr @s2n_strerror_debug(i32 noundef %11592, ptr noundef @.str.4)
  %11594 = call ptr @__errno_location() #12
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  %11596 = call ptr @strerror(i32 noundef %11595) #11
  %11597 = call ptr @__errno_location() #12
  %11598 = load i32, ptr %11597, align 4, !tbaa !5
  %11599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11586, ptr noundef @.str.2, i32 noundef %11587, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11590, ptr noundef %11593, ptr noundef %11596, i32 noundef %11598) #11
  br label %11617

11600:                                            ; preds = %11578, %11571
  %11601 = load i32, ptr %313, align 4, !tbaa !5
  %11602 = call ptr @__errno_location() #12
  store i32 %11601, ptr %11602, align 4, !tbaa !5
  %11603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11604 = load i32, ptr @test_count, align 4, !tbaa !5
  %11605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  %11607 = call ptr @s2n_strerror(i32 noundef %11606, ptr noundef @.str.4)
  %11608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11609 = load i32, ptr %11608, align 4, !tbaa !5
  %11610 = call ptr @s2n_strerror_debug(i32 noundef %11609, ptr noundef @.str.4)
  %11611 = call ptr @__errno_location() #12
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  %11613 = call ptr @strerror(i32 noundef %11612) #11
  %11614 = call ptr @__errno_location() #12
  %11615 = load i32, ptr %11614, align 4, !tbaa !5
  %11616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11603, ptr noundef @.str.5, i32 noundef %11604, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11607, ptr noundef %11610, ptr noundef %11613, i32 noundef %11615) #11
  br label %11617

11617:                                            ; preds = %11600, %11583
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %11618

11618:                                            ; preds = %11617
  br label %11619

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

11620:                                            ; No predecessors!
  br label %11621

11621:                                            ; preds = %11620
  br label %11622

11622:                                            ; preds = %11621, %11563
  br label %11623

11623:                                            ; preds = %11622
  br label %11624

11624:                                            ; preds = %11623
  br label %11625

11625:                                            ; preds = %11624
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = add nsw i32 %11626, 1
  store i32 %11627, ptr @test_count, align 4, !tbaa !5
  %11628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11629 = load i32, ptr %11628, align 4, !tbaa !5
  %11630 = icmp eq i32 %11629, 402653204
  br i1 %11630, label %11684, label %11631

11631:                                            ; preds = %11625
  br label %11632

11632:                                            ; preds = %11631
  br label %11633

11633:                                            ; preds = %11632
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %11634 = call ptr @__errno_location() #12
  %11635 = load i32, ptr %11634, align 4, !tbaa !5
  store i32 %11635, ptr %314, align 4, !tbaa !5
  %11636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11637 = call i32 @s2n_print_stacktrace(ptr noundef %11636)
  %11638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11639 = trunc i8 %11638 to i1
  br i1 %11639, label %11640, label %11662

11640:                                            ; preds = %11633
  %11641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11642 = call i32 @fileno(ptr noundef %11641) #11
  %11643 = call i32 @isatty(i32 noundef %11642) #11
  %11644 = icmp ne i32 %11643, 0
  br i1 %11644, label %11645, label %11662

11645:                                            ; preds = %11640
  %11646 = load i32, ptr %314, align 4, !tbaa !5
  %11647 = call ptr @__errno_location() #12
  store i32 %11646, ptr %11647, align 4, !tbaa !5
  %11648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11649 = load i32, ptr @test_count, align 4, !tbaa !5
  %11650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call ptr @s2n_strerror(i32 noundef %11651, ptr noundef @.str.4)
  %11653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror_debug(i32 noundef %11654, ptr noundef @.str.4)
  %11656 = call ptr @__errno_location() #12
  %11657 = load i32, ptr %11656, align 4, !tbaa !5
  %11658 = call ptr @strerror(i32 noundef %11657) #11
  %11659 = call ptr @__errno_location() #12
  %11660 = load i32, ptr %11659, align 4, !tbaa !5
  %11661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11648, ptr noundef @.str.2, i32 noundef %11649, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11652, ptr noundef %11655, ptr noundef %11658, i32 noundef %11660) #11
  br label %11679

11662:                                            ; preds = %11640, %11633
  %11663 = load i32, ptr %314, align 4, !tbaa !5
  %11664 = call ptr @__errno_location() #12
  store i32 %11663, ptr %11664, align 4, !tbaa !5
  %11665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11666 = load i32, ptr @test_count, align 4, !tbaa !5
  %11667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11668 = load i32, ptr %11667, align 4, !tbaa !5
  %11669 = call ptr @s2n_strerror(i32 noundef %11668, ptr noundef @.str.4)
  %11670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11671 = load i32, ptr %11670, align 4, !tbaa !5
  %11672 = call ptr @s2n_strerror_debug(i32 noundef %11671, ptr noundef @.str.4)
  %11673 = call ptr @__errno_location() #12
  %11674 = load i32, ptr %11673, align 4, !tbaa !5
  %11675 = call ptr @strerror(i32 noundef %11674) #11
  %11676 = call ptr @__errno_location() #12
  %11677 = load i32, ptr %11676, align 4, !tbaa !5
  %11678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11665, ptr noundef @.str.5, i32 noundef %11666, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11669, ptr noundef %11672, ptr noundef %11675, i32 noundef %11677) #11
  br label %11679

11679:                                            ; preds = %11662, %11645
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %11680

11680:                                            ; preds = %11679
  br label %11681

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

11682:                                            ; No predecessors!
  br label %11683

11683:                                            ; preds = %11682
  br label %11684

11684:                                            ; preds = %11683, %11625
  br label %11685

11685:                                            ; preds = %11684
  br label %11686

11686:                                            ; preds = %11685
  br label %11687

11687:                                            ; preds = %11686
  %11688 = load i32, ptr @test_count, align 4, !tbaa !5
  %11689 = add nsw i32 %11688, 1
  store i32 %11689, ptr @test_count, align 4, !tbaa !5
  %11690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11691 = load i32, ptr %11690, align 4, !tbaa !5
  %11692 = call ptr @s2n_strerror_debug(i32 noundef %11691, ptr noundef @.str.4)
  %11693 = icmp eq ptr %11692, null
  br i1 %11693, label %11694, label %11747

11694:                                            ; preds = %11687
  br label %11695

11695:                                            ; preds = %11694
  br label %11696

11696:                                            ; preds = %11695
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %11697 = call ptr @__errno_location() #12
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  store i32 %11698, ptr %315, align 4, !tbaa !5
  %11699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11700 = call i32 @s2n_print_stacktrace(ptr noundef %11699)
  %11701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11702 = trunc i8 %11701 to i1
  br i1 %11702, label %11703, label %11725

11703:                                            ; preds = %11696
  %11704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11705 = call i32 @fileno(ptr noundef %11704) #11
  %11706 = call i32 @isatty(i32 noundef %11705) #11
  %11707 = icmp ne i32 %11706, 0
  br i1 %11707, label %11708, label %11725

11708:                                            ; preds = %11703
  %11709 = load i32, ptr %315, align 4, !tbaa !5
  %11710 = call ptr @__errno_location() #12
  store i32 %11709, ptr %11710, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = load i32, ptr @test_count, align 4, !tbaa !5
  %11713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11714 = load i32, ptr %11713, align 4, !tbaa !5
  %11715 = call ptr @s2n_strerror(i32 noundef %11714, ptr noundef @.str.4)
  %11716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11717 = load i32, ptr %11716, align 4, !tbaa !5
  %11718 = call ptr @s2n_strerror_debug(i32 noundef %11717, ptr noundef @.str.4)
  %11719 = call ptr @__errno_location() #12
  %11720 = load i32, ptr %11719, align 4, !tbaa !5
  %11721 = call ptr @strerror(i32 noundef %11720) #11
  %11722 = call ptr @__errno_location() #12
  %11723 = load i32, ptr %11722, align 4, !tbaa !5
  %11724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11711, ptr noundef @.str.2, i32 noundef %11712, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11715, ptr noundef %11718, ptr noundef %11721, i32 noundef %11723) #11
  br label %11742

11725:                                            ; preds = %11703, %11696
  %11726 = load i32, ptr %315, align 4, !tbaa !5
  %11727 = call ptr @__errno_location() #12
  store i32 %11726, ptr %11727, align 4, !tbaa !5
  %11728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11729 = load i32, ptr @test_count, align 4, !tbaa !5
  %11730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11731 = load i32, ptr %11730, align 4, !tbaa !5
  %11732 = call ptr @s2n_strerror(i32 noundef %11731, ptr noundef @.str.4)
  %11733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11734 = load i32, ptr %11733, align 4, !tbaa !5
  %11735 = call ptr @s2n_strerror_debug(i32 noundef %11734, ptr noundef @.str.4)
  %11736 = call ptr @__errno_location() #12
  %11737 = load i32, ptr %11736, align 4, !tbaa !5
  %11738 = call ptr @strerror(i32 noundef %11737) #11
  %11739 = call ptr @__errno_location() #12
  %11740 = load i32, ptr %11739, align 4, !tbaa !5
  %11741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11728, ptr noundef @.str.5, i32 noundef %11729, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 538, ptr noundef %11732, ptr noundef %11735, ptr noundef %11738, i32 noundef %11740) #11
  br label %11742

11742:                                            ; preds = %11725, %11708
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %11743

11743:                                            ; preds = %11742
  br label %11744

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

11745:                                            ; No predecessors!
  br label %11746

11746:                                            ; preds = %11745
  br label %11747

11747:                                            ; preds = %11746, %11687
  br label %11748

11748:                                            ; preds = %11747
  br label %11749

11749:                                            ; preds = %11748
  br label %11750

11750:                                            ; preds = %11749
  br label %11751

11751:                                            ; preds = %11750
  br label %11752

11752:                                            ; preds = %11751
  %11753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11753, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11754 = call ptr @__errno_location() #12
  store i32 0, ptr %11754, align 4, !tbaa !5
  br label %11755

11755:                                            ; preds = %11752
  br label %11756

11756:                                            ; preds = %11755
  br label %11757

11757:                                            ; preds = %11756
  br label %11758

11758:                                            ; preds = %11757
  %11759 = load i32, ptr %47, align 4, !tbaa !5
  %11760 = mul i32 %11759, 2
  %11761 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %298, i32 0, i32 1
  %11762 = getelementptr inbounds %struct.s2n_stuffer, ptr %11761, i32 0, i32 2
  store i32 %11760, ptr %11762, align 4, !tbaa !17
  br label %11763

11763:                                            ; preds = %11758
  %11764 = load i32, ptr @test_count, align 4, !tbaa !5
  %11765 = add nsw i32 %11764, 1
  store i32 %11765, ptr @test_count, align 4, !tbaa !5
  %11766 = load ptr, ptr %294, align 8, !tbaa !9
  %11767 = getelementptr inbounds [20 x i8], ptr %308, i64 0, i64 0
  %11768 = call i64 @s2n_recv(ptr noundef %11766, ptr noundef %11767, i64 noundef 20, ptr noundef %305)
  %11769 = icmp eq i64 %11768, 20
  br i1 %11769, label %11823, label %11770

11770:                                            ; preds = %11763
  br label %11771

11771:                                            ; preds = %11770
  br label %11772

11772:                                            ; preds = %11771
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %11773 = call ptr @__errno_location() #12
  %11774 = load i32, ptr %11773, align 4, !tbaa !5
  store i32 %11774, ptr %316, align 4, !tbaa !5
  %11775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11776 = call i32 @s2n_print_stacktrace(ptr noundef %11775)
  %11777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11778 = trunc i8 %11777 to i1
  br i1 %11778, label %11779, label %11801

11779:                                            ; preds = %11772
  %11780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11781 = call i32 @fileno(ptr noundef %11780) #11
  %11782 = call i32 @isatty(i32 noundef %11781) #11
  %11783 = icmp ne i32 %11782, 0
  br i1 %11783, label %11784, label %11801

11784:                                            ; preds = %11779
  %11785 = load i32, ptr %316, align 4, !tbaa !5
  %11786 = call ptr @__errno_location() #12
  store i32 %11785, ptr %11786, align 4, !tbaa !5
  %11787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11788 = load i32, ptr @test_count, align 4, !tbaa !5
  %11789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror(i32 noundef %11790, ptr noundef @.str.4)
  %11792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11793 = load i32, ptr %11792, align 4, !tbaa !5
  %11794 = call ptr @s2n_strerror_debug(i32 noundef %11793, ptr noundef @.str.4)
  %11795 = call ptr @__errno_location() #12
  %11796 = load i32, ptr %11795, align 4, !tbaa !5
  %11797 = call ptr @strerror(i32 noundef %11796) #11
  %11798 = call ptr @__errno_location() #12
  %11799 = load i32, ptr %11798, align 4, !tbaa !5
  %11800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11787, ptr noundef @.str.2, i32 noundef %11788, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 543, ptr noundef %11791, ptr noundef %11794, ptr noundef %11797, i32 noundef %11799) #11
  br label %11818

11801:                                            ; preds = %11779, %11772
  %11802 = load i32, ptr %316, align 4, !tbaa !5
  %11803 = call ptr @__errno_location() #12
  store i32 %11802, ptr %11803, align 4, !tbaa !5
  %11804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11805 = load i32, ptr @test_count, align 4, !tbaa !5
  %11806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11807 = load i32, ptr %11806, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror(i32 noundef %11807, ptr noundef @.str.4)
  %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_debug(i32 noundef %11810, ptr noundef @.str.4)
  %11812 = call ptr @__errno_location() #12
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call ptr @strerror(i32 noundef %11813) #11
  %11815 = call ptr @__errno_location() #12
  %11816 = load i32, ptr %11815, align 4, !tbaa !5
  %11817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11804, ptr noundef @.str.5, i32 noundef %11805, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 543, ptr noundef %11808, ptr noundef %11811, ptr noundef %11814, i32 noundef %11816) #11
  br label %11818

11818:                                            ; preds = %11801, %11784
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

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

11821:                                            ; No predecessors!
  br label %11822

11822:                                            ; preds = %11821
  br label %11823

11823:                                            ; preds = %11822, %11763
  br label %11824

11824:                                            ; preds = %11823
  br label %11825

11825:                                            ; preds = %11824
  br label %11826

11826:                                            ; preds = %11825
  br label %11827

11827:                                            ; preds = %11826
  %11828 = load i32, ptr @test_count, align 4, !tbaa !5
  %11829 = add nsw i32 %11828, 1
  store i32 %11829, ptr @test_count, align 4, !tbaa !5
  %11830 = getelementptr inbounds [20 x i8], ptr %308, i64 0, i64 0
  %11831 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %11832 = call i32 @memcmp(ptr noundef %11830, ptr noundef %11831, i64 noundef 20) #14
  %11833 = icmp eq i32 %11832, 0
  br i1 %11833, label %11887, label %11834

11834:                                            ; preds = %11827
  br label %11835

11835:                                            ; preds = %11834
  br label %11836

11836:                                            ; preds = %11835
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %11837 = call ptr @__errno_location() #12
  %11838 = load i32, ptr %11837, align 4, !tbaa !5
  store i32 %11838, ptr %317, align 4, !tbaa !5
  %11839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11840 = call i32 @s2n_print_stacktrace(ptr noundef %11839)
  %11841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11842 = trunc i8 %11841 to i1
  br i1 %11842, label %11843, label %11865

11843:                                            ; preds = %11836
  %11844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11845 = call i32 @fileno(ptr noundef %11844) #11
  %11846 = call i32 @isatty(i32 noundef %11845) #11
  %11847 = icmp ne i32 %11846, 0
  br i1 %11847, label %11848, label %11865

11848:                                            ; preds = %11843
  %11849 = load i32, ptr %317, align 4, !tbaa !5
  %11850 = call ptr @__errno_location() #12
  store i32 %11849, ptr %11850, align 4, !tbaa !5
  %11851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11852 = load i32, ptr @test_count, align 4, !tbaa !5
  %11853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11854 = load i32, ptr %11853, align 4, !tbaa !5
  %11855 = call ptr @s2n_strerror(i32 noundef %11854, ptr noundef @.str.4)
  %11856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @s2n_strerror_debug(i32 noundef %11857, ptr noundef @.str.4)
  %11859 = call ptr @__errno_location() #12
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call ptr @strerror(i32 noundef %11860) #11
  %11862 = call ptr @__errno_location() #12
  %11863 = load i32, ptr %11862, align 4, !tbaa !5
  %11864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11851, ptr noundef @.str.2, i32 noundef %11852, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 544, ptr noundef %11855, ptr noundef %11858, ptr noundef %11861, i32 noundef %11863) #11
  br label %11882

11865:                                            ; preds = %11843, %11836
  %11866 = load i32, ptr %317, align 4, !tbaa !5
  %11867 = call ptr @__errno_location() #12
  store i32 %11866, ptr %11867, align 4, !tbaa !5
  %11868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11869 = load i32, ptr @test_count, align 4, !tbaa !5
  %11870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11871 = load i32, ptr %11870, align 4, !tbaa !5
  %11872 = call ptr @s2n_strerror(i32 noundef %11871, ptr noundef @.str.4)
  %11873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11874 = load i32, ptr %11873, align 4, !tbaa !5
  %11875 = call ptr @s2n_strerror_debug(i32 noundef %11874, ptr noundef @.str.4)
  %11876 = call ptr @__errno_location() #12
  %11877 = load i32, ptr %11876, align 4, !tbaa !5
  %11878 = call ptr @strerror(i32 noundef %11877) #11
  %11879 = call ptr @__errno_location() #12
  %11880 = load i32, ptr %11879, align 4, !tbaa !5
  %11881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11868, ptr noundef @.str.5, i32 noundef %11869, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 544, ptr noundef %11872, ptr noundef %11875, ptr noundef %11878, i32 noundef %11880) #11
  br label %11882

11882:                                            ; preds = %11865, %11848
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %11883

11883:                                            ; preds = %11882
  br label %11884

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

11885:                                            ; No predecessors!
  br label %11886

11886:                                            ; preds = %11885
  br label %11887

11887:                                            ; preds = %11886, %11827
  br label %11888

11888:                                            ; preds = %11887
  br label %11889

11889:                                            ; preds = %11888
  br label %11890

11890:                                            ; preds = %11889
  br label %11891

11891:                                            ; preds = %11890
  br label %11892

11892:                                            ; preds = %11891
  %11893 = load i32, ptr @test_count, align 4, !tbaa !5
  %11894 = add nsw i32 %11893, 1
  store i32 %11894, ptr @test_count, align 4, !tbaa !5
  %11895 = load ptr, ptr %294, align 8, !tbaa !9
  %11896 = getelementptr inbounds %struct.s2n_connection, ptr %11895, i32 0, i32 39
  %11897 = getelementptr inbounds %struct.s2n_stuffer, ptr %11896, i32 0, i32 2
  %11898 = load i32, ptr %11897, align 4, !tbaa !51
  %11899 = load ptr, ptr %294, align 8, !tbaa !9
  %11900 = getelementptr inbounds %struct.s2n_connection, ptr %11899, i32 0, i32 39
  %11901 = getelementptr inbounds %struct.s2n_stuffer, ptr %11900, i32 0, i32 1
  %11902 = load i32, ptr %11901, align 8, !tbaa !67
  %11903 = sub i32 %11898, %11902
  %11904 = icmp ne i32 %11903, 0
  br i1 %11904, label %11958, label %11905

11905:                                            ; preds = %11892
  br label %11906

11906:                                            ; preds = %11905
  br label %11907

11907:                                            ; preds = %11906
  call void @llvm.lifetime.start.p0(i64 4, ptr %318) #11
  %11908 = call ptr @__errno_location() #12
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  store i32 %11909, ptr %318, align 4, !tbaa !5
  %11910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11911 = call i32 @s2n_print_stacktrace(ptr noundef %11910)
  %11912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11913 = trunc i8 %11912 to i1
  br i1 %11913, label %11914, label %11936

11914:                                            ; preds = %11907
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = call i32 @fileno(ptr noundef %11915) #11
  %11917 = call i32 @isatty(i32 noundef %11916) #11
  %11918 = icmp ne i32 %11917, 0
  br i1 %11918, label %11919, label %11936

11919:                                            ; preds = %11914
  %11920 = load i32, ptr %318, align 4, !tbaa !5
  %11921 = call ptr @__errno_location() #12
  store i32 %11920, ptr %11921, align 4, !tbaa !5
  %11922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11923 = load i32, ptr @test_count, align 4, !tbaa !5
  %11924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11925 = load i32, ptr %11924, align 4, !tbaa !5
  %11926 = call ptr @s2n_strerror(i32 noundef %11925, ptr noundef @.str.4)
  %11927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call ptr @s2n_strerror_debug(i32 noundef %11928, ptr noundef @.str.4)
  %11930 = call ptr @__errno_location() #12
  %11931 = load i32, ptr %11930, align 4, !tbaa !5
  %11932 = call ptr @strerror(i32 noundef %11931) #11
  %11933 = call ptr @__errno_location() #12
  %11934 = load i32, ptr %11933, align 4, !tbaa !5
  %11935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11922, ptr noundef @.str.2, i32 noundef %11923, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 547, ptr noundef %11926, ptr noundef %11929, ptr noundef %11932, i32 noundef %11934) #11
  br label %11953

11936:                                            ; preds = %11914, %11907
  %11937 = load i32, ptr %318, align 4, !tbaa !5
  %11938 = call ptr @__errno_location() #12
  store i32 %11937, ptr %11938, align 4, !tbaa !5
  %11939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11940 = load i32, ptr @test_count, align 4, !tbaa !5
  %11941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11942 = load i32, ptr %11941, align 4, !tbaa !5
  %11943 = call ptr @s2n_strerror(i32 noundef %11942, ptr noundef @.str.4)
  %11944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11945 = load i32, ptr %11944, align 4, !tbaa !5
  %11946 = call ptr @s2n_strerror_debug(i32 noundef %11945, ptr noundef @.str.4)
  %11947 = call ptr @__errno_location() #12
  %11948 = load i32, ptr %11947, align 4, !tbaa !5
  %11949 = call ptr @strerror(i32 noundef %11948) #11
  %11950 = call ptr @__errno_location() #12
  %11951 = load i32, ptr %11950, align 4, !tbaa !5
  %11952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11939, ptr noundef @.str.5, i32 noundef %11940, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 547, ptr noundef %11943, ptr noundef %11946, ptr noundef %11949, i32 noundef %11951) #11
  br label %11953

11953:                                            ; preds = %11936, %11919
  call void @llvm.lifetime.end.p0(i64 4, ptr %318) #11
  br label %11954

11954:                                            ; preds = %11953
  br label %11955

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

11956:                                            ; No predecessors!
  br label %11957

11957:                                            ; preds = %11956
  br label %11958

11958:                                            ; preds = %11957, %11892
  br label %11959

11959:                                            ; preds = %11958
  br label %11960

11960:                                            ; preds = %11959
  br label %11961

11961:                                            ; preds = %11960
  %11962 = load i32, ptr @test_count, align 4, !tbaa !5
  %11963 = add nsw i32 %11962, 1
  store i32 %11963, ptr @test_count, align 4, !tbaa !5
  %11964 = load ptr, ptr %294, align 8, !tbaa !9
  %11965 = call i32 @s2n_connection_release_buffers(ptr noundef %11964)
  %11966 = icmp eq i32 %11965, -1
  br i1 %11966, label %11967, label %12020

11967:                                            ; preds = %11961
  br label %11968

11968:                                            ; preds = %11967
  br label %11969

11969:                                            ; preds = %11968
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %11970 = call ptr @__errno_location() #12
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  store i32 %11971, ptr %319, align 4, !tbaa !5
  %11972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11973 = call i32 @s2n_print_stacktrace(ptr noundef %11972)
  %11974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11975 = trunc i8 %11974 to i1
  br i1 %11975, label %11976, label %11998

11976:                                            ; preds = %11969
  %11977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11978 = call i32 @fileno(ptr noundef %11977) #11
  %11979 = call i32 @isatty(i32 noundef %11978) #11
  %11980 = icmp ne i32 %11979, 0
  br i1 %11980, label %11981, label %11998

11981:                                            ; preds = %11976
  %11982 = load i32, ptr %319, align 4, !tbaa !5
  %11983 = call ptr @__errno_location() #12
  store i32 %11982, ptr %11983, align 4, !tbaa !5
  %11984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11985 = load i32, ptr @test_count, align 4, !tbaa !5
  %11986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call ptr @s2n_strerror(i32 noundef %11987, ptr noundef @.str.4)
  %11989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11990 = load i32, ptr %11989, align 4, !tbaa !5
  %11991 = call ptr @s2n_strerror_debug(i32 noundef %11990, ptr noundef @.str.4)
  %11992 = call ptr @__errno_location() #12
  %11993 = load i32, ptr %11992, align 4, !tbaa !5
  %11994 = call ptr @strerror(i32 noundef %11993) #11
  %11995 = call ptr @__errno_location() #12
  %11996 = load i32, ptr %11995, align 4, !tbaa !5
  %11997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11984, ptr noundef @.str.2, i32 noundef %11985, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 548, ptr noundef %11988, ptr noundef %11991, ptr noundef %11994, i32 noundef %11996) #11
  br label %12015

11998:                                            ; preds = %11976, %11969
  %11999 = load i32, ptr %319, align 4, !tbaa !5
  %12000 = call ptr @__errno_location() #12
  store i32 %11999, ptr %12000, align 4, !tbaa !5
  %12001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12002 = load i32, ptr @test_count, align 4, !tbaa !5
  %12003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call ptr @s2n_strerror(i32 noundef %12004, ptr noundef @.str.4)
  %12006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12007 = load i32, ptr %12006, align 4, !tbaa !5
  %12008 = call ptr @s2n_strerror_debug(i32 noundef %12007, ptr noundef @.str.4)
  %12009 = call ptr @__errno_location() #12
  %12010 = load i32, ptr %12009, align 4, !tbaa !5
  %12011 = call ptr @strerror(i32 noundef %12010) #11
  %12012 = call ptr @__errno_location() #12
  %12013 = load i32, ptr %12012, align 4, !tbaa !5
  %12014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12001, ptr noundef @.str.5, i32 noundef %12002, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 548, ptr noundef %12005, ptr noundef %12008, ptr noundef %12011, i32 noundef %12013) #11
  br label %12015

12015:                                            ; preds = %11998, %11981
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %12016

12016:                                            ; preds = %12015
  br label %12017

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

12018:                                            ; No predecessors!
  br label %12019

12019:                                            ; preds = %12018
  br label %12020

12020:                                            ; preds = %12019, %11961
  br label %12021

12021:                                            ; preds = %12020
  br label %12022

12022:                                            ; preds = %12021
  br label %12023

12023:                                            ; preds = %12022
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = add nsw i32 %12024, 1
  store i32 %12025, ptr @test_count, align 4, !tbaa !5
  %12026 = load ptr, ptr %294, align 8, !tbaa !9
  %12027 = getelementptr inbounds %struct.s2n_connection, ptr %12026, i32 0, i32 39
  %12028 = getelementptr inbounds %struct.s2n_stuffer, ptr %12027, i32 0, i32 2
  %12029 = load i32, ptr %12028, align 4, !tbaa !51
  %12030 = load ptr, ptr %294, align 8, !tbaa !9
  %12031 = getelementptr inbounds %struct.s2n_connection, ptr %12030, i32 0, i32 39
  %12032 = getelementptr inbounds %struct.s2n_stuffer, ptr %12031, i32 0, i32 1
  %12033 = load i32, ptr %12032, align 8, !tbaa !67
  %12034 = sub i32 %12029, %12033
  %12035 = icmp ne i32 %12034, 0
  br i1 %12035, label %12089, label %12036

12036:                                            ; preds = %12023
  br label %12037

12037:                                            ; preds = %12036
  br label %12038

12038:                                            ; preds = %12037
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %12039 = call ptr @__errno_location() #12
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  store i32 %12040, ptr %320, align 4, !tbaa !5
  %12041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12042 = call i32 @s2n_print_stacktrace(ptr noundef %12041)
  %12043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12044 = trunc i8 %12043 to i1
  br i1 %12044, label %12045, label %12067

12045:                                            ; preds = %12038
  %12046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12047 = call i32 @fileno(ptr noundef %12046) #11
  %12048 = call i32 @isatty(i32 noundef %12047) #11
  %12049 = icmp ne i32 %12048, 0
  br i1 %12049, label %12050, label %12067

12050:                                            ; preds = %12045
  %12051 = load i32, ptr %320, align 4, !tbaa !5
  %12052 = call ptr @__errno_location() #12
  store i32 %12051, ptr %12052, align 4, !tbaa !5
  %12053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12054 = load i32, ptr @test_count, align 4, !tbaa !5
  %12055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call ptr @s2n_strerror(i32 noundef %12056, ptr noundef @.str.4)
  %12058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12059 = load i32, ptr %12058, align 4, !tbaa !5
  %12060 = call ptr @s2n_strerror_debug(i32 noundef %12059, ptr noundef @.str.4)
  %12061 = call ptr @__errno_location() #12
  %12062 = load i32, ptr %12061, align 4, !tbaa !5
  %12063 = call ptr @strerror(i32 noundef %12062) #11
  %12064 = call ptr @__errno_location() #12
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  %12066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12053, ptr noundef @.str.2, i32 noundef %12054, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 549, ptr noundef %12057, ptr noundef %12060, ptr noundef %12063, i32 noundef %12065) #11
  br label %12084

12067:                                            ; preds = %12045, %12038
  %12068 = load i32, ptr %320, align 4, !tbaa !5
  %12069 = call ptr @__errno_location() #12
  store i32 %12068, ptr %12069, align 4, !tbaa !5
  %12070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12071 = load i32, ptr @test_count, align 4, !tbaa !5
  %12072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12073 = load i32, ptr %12072, align 4, !tbaa !5
  %12074 = call ptr @s2n_strerror(i32 noundef %12073, ptr noundef @.str.4)
  %12075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12076 = load i32, ptr %12075, align 4, !tbaa !5
  %12077 = call ptr @s2n_strerror_debug(i32 noundef %12076, ptr noundef @.str.4)
  %12078 = call ptr @__errno_location() #12
  %12079 = load i32, ptr %12078, align 4, !tbaa !5
  %12080 = call ptr @strerror(i32 noundef %12079) #11
  %12081 = call ptr @__errno_location() #12
  %12082 = load i32, ptr %12081, align 4, !tbaa !5
  %12083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12070, ptr noundef @.str.5, i32 noundef %12071, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 549, ptr noundef %12074, ptr noundef %12077, ptr noundef %12080, i32 noundef %12082) #11
  br label %12084

12084:                                            ; preds = %12067, %12050
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #11
  br label %12085

12085:                                            ; preds = %12084
  br label %12086

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

12087:                                            ; No predecessors!
  br label %12088

12088:                                            ; preds = %12087
  br label %12089

12089:                                            ; preds = %12088, %12023
  br label %12090

12090:                                            ; preds = %12089
  br label %12091

12091:                                            ; preds = %12090
  br label %12092

12092:                                            ; preds = %12091
  %12093 = load i32, ptr @test_count, align 4, !tbaa !5
  %12094 = add nsw i32 %12093, 1
  store i32 %12094, ptr @test_count, align 4, !tbaa !5
  %12095 = load ptr, ptr %294, align 8, !tbaa !9
  %12096 = getelementptr inbounds [20 x i8], ptr %308, i64 0, i64 0
  %12097 = call i64 @s2n_recv(ptr noundef %12095, ptr noundef %12096, i64 noundef 20, ptr noundef %305)
  %12098 = icmp eq i64 %12097, 20
  br i1 %12098, label %12152, label %12099

12099:                                            ; preds = %12092
  br label %12100

12100:                                            ; preds = %12099
  br label %12101

12101:                                            ; preds = %12100
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %12102 = call ptr @__errno_location() #12
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  store i32 %12103, ptr %321, align 4, !tbaa !5
  %12104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12105 = call i32 @s2n_print_stacktrace(ptr noundef %12104)
  %12106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12107 = trunc i8 %12106 to i1
  br i1 %12107, label %12108, label %12130

12108:                                            ; preds = %12101
  %12109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12110 = call i32 @fileno(ptr noundef %12109) #11
  %12111 = call i32 @isatty(i32 noundef %12110) #11
  %12112 = icmp ne i32 %12111, 0
  br i1 %12112, label %12113, label %12130

12113:                                            ; preds = %12108
  %12114 = load i32, ptr %321, align 4, !tbaa !5
  %12115 = call ptr @__errno_location() #12
  store i32 %12114, ptr %12115, align 4, !tbaa !5
  %12116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12117 = load i32, ptr @test_count, align 4, !tbaa !5
  %12118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12119 = load i32, ptr %12118, align 4, !tbaa !5
  %12120 = call ptr @s2n_strerror(i32 noundef %12119, ptr noundef @.str.4)
  %12121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12122 = load i32, ptr %12121, align 4, !tbaa !5
  %12123 = call ptr @s2n_strerror_debug(i32 noundef %12122, ptr noundef @.str.4)
  %12124 = call ptr @__errno_location() #12
  %12125 = load i32, ptr %12124, align 4, !tbaa !5
  %12126 = call ptr @strerror(i32 noundef %12125) #11
  %12127 = call ptr @__errno_location() #12
  %12128 = load i32, ptr %12127, align 4, !tbaa !5
  %12129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12116, ptr noundef @.str.2, i32 noundef %12117, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 552, ptr noundef %12120, ptr noundef %12123, ptr noundef %12126, i32 noundef %12128) #11
  br label %12147

12130:                                            ; preds = %12108, %12101
  %12131 = load i32, ptr %321, align 4, !tbaa !5
  %12132 = call ptr @__errno_location() #12
  store i32 %12131, ptr %12132, align 4, !tbaa !5
  %12133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12134 = load i32, ptr @test_count, align 4, !tbaa !5
  %12135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12136 = load i32, ptr %12135, align 4, !tbaa !5
  %12137 = call ptr @s2n_strerror(i32 noundef %12136, ptr noundef @.str.4)
  %12138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12139 = load i32, ptr %12138, align 4, !tbaa !5
  %12140 = call ptr @s2n_strerror_debug(i32 noundef %12139, ptr noundef @.str.4)
  %12141 = call ptr @__errno_location() #12
  %12142 = load i32, ptr %12141, align 4, !tbaa !5
  %12143 = call ptr @strerror(i32 noundef %12142) #11
  %12144 = call ptr @__errno_location() #12
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12133, ptr noundef @.str.5, i32 noundef %12134, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 552, ptr noundef %12137, ptr noundef %12140, ptr noundef %12143, i32 noundef %12145) #11
  br label %12147

12147:                                            ; preds = %12130, %12113
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %12148

12148:                                            ; preds = %12147
  br label %12149

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

12150:                                            ; No predecessors!
  br label %12151

12151:                                            ; preds = %12150
  br label %12152

12152:                                            ; preds = %12151, %12092
  br label %12153

12153:                                            ; preds = %12152
  br label %12154

12154:                                            ; preds = %12153
  br label %12155

12155:                                            ; preds = %12154
  br label %12156

12156:                                            ; preds = %12155
  %12157 = load i32, ptr @test_count, align 4, !tbaa !5
  %12158 = add nsw i32 %12157, 1
  store i32 %12158, ptr @test_count, align 4, !tbaa !5
  %12159 = getelementptr inbounds [20 x i8], ptr %308, i64 0, i64 0
  %12160 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %12161 = call i32 @memcmp(ptr noundef %12159, ptr noundef %12160, i64 noundef 20) #14
  %12162 = icmp eq i32 %12161, 0
  br i1 %12162, label %12216, label %12163

12163:                                            ; preds = %12156
  br label %12164

12164:                                            ; preds = %12163
  br label %12165

12165:                                            ; preds = %12164
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %12166 = call ptr @__errno_location() #12
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  store i32 %12167, ptr %322, align 4, !tbaa !5
  %12168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12169 = call i32 @s2n_print_stacktrace(ptr noundef %12168)
  %12170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12171 = trunc i8 %12170 to i1
  br i1 %12171, label %12172, label %12194

12172:                                            ; preds = %12165
  %12173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12174 = call i32 @fileno(ptr noundef %12173) #11
  %12175 = call i32 @isatty(i32 noundef %12174) #11
  %12176 = icmp ne i32 %12175, 0
  br i1 %12176, label %12177, label %12194

12177:                                            ; preds = %12172
  %12178 = load i32, ptr %322, align 4, !tbaa !5
  %12179 = call ptr @__errno_location() #12
  store i32 %12178, ptr %12179, align 4, !tbaa !5
  %12180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12181 = load i32, ptr @test_count, align 4, !tbaa !5
  %12182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12183 = load i32, ptr %12182, align 4, !tbaa !5
  %12184 = call ptr @s2n_strerror(i32 noundef %12183, ptr noundef @.str.4)
  %12185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12186 = load i32, ptr %12185, align 4, !tbaa !5
  %12187 = call ptr @s2n_strerror_debug(i32 noundef %12186, ptr noundef @.str.4)
  %12188 = call ptr @__errno_location() #12
  %12189 = load i32, ptr %12188, align 4, !tbaa !5
  %12190 = call ptr @strerror(i32 noundef %12189) #11
  %12191 = call ptr @__errno_location() #12
  %12192 = load i32, ptr %12191, align 4, !tbaa !5
  %12193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12180, ptr noundef @.str.2, i32 noundef %12181, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 553, ptr noundef %12184, ptr noundef %12187, ptr noundef %12190, i32 noundef %12192) #11
  br label %12211

12194:                                            ; preds = %12172, %12165
  %12195 = load i32, ptr %322, align 4, !tbaa !5
  %12196 = call ptr @__errno_location() #12
  store i32 %12195, ptr %12196, align 4, !tbaa !5
  %12197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12198 = load i32, ptr @test_count, align 4, !tbaa !5
  %12199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12200 = load i32, ptr %12199, align 4, !tbaa !5
  %12201 = call ptr @s2n_strerror(i32 noundef %12200, ptr noundef @.str.4)
  %12202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12203 = load i32, ptr %12202, align 4, !tbaa !5
  %12204 = call ptr @s2n_strerror_debug(i32 noundef %12203, ptr noundef @.str.4)
  %12205 = call ptr @__errno_location() #12
  %12206 = load i32, ptr %12205, align 4, !tbaa !5
  %12207 = call ptr @strerror(i32 noundef %12206) #11
  %12208 = call ptr @__errno_location() #12
  %12209 = load i32, ptr %12208, align 4, !tbaa !5
  %12210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12197, ptr noundef @.str.5, i32 noundef %12198, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 553, ptr noundef %12201, ptr noundef %12204, ptr noundef %12207, i32 noundef %12209) #11
  br label %12211

12211:                                            ; preds = %12194, %12177
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

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

12214:                                            ; No predecessors!
  br label %12215

12215:                                            ; preds = %12214
  br label %12216

12216:                                            ; preds = %12215, %12156
  br label %12217

12217:                                            ; preds = %12216
  br label %12218

12218:                                            ; preds = %12217
  br label %12219

12219:                                            ; preds = %12218
  br label %12220

12220:                                            ; preds = %12219
  call void @llvm.lifetime.end.p0(i64 20, ptr %308) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  %12221 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %298)
  %12222 = getelementptr inbounds %struct.s2n_result, ptr %323, i32 0, i32 0
  store i32 %12221, ptr %12222, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %298) #11
  %12223 = call i32 @s2n_connection_ptr_free(ptr noundef %294)
  %12224 = getelementptr inbounds %struct.s2n_result, ptr %324, i32 0, i32 0
  store i32 %12223, ptr %12224, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %294) #11
  %12225 = call i32 @s2n_connection_ptr_free(ptr noundef %292)
  %12226 = getelementptr inbounds %struct.s2n_result, ptr %325, i32 0, i32 0
  store i32 %12225, ptr %12226, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #11
  br label %12227

12227:                                            ; preds = %12220
  %12228 = load i32, ptr @test_count, align 4, !tbaa !5
  %12229 = add nsw i32 %12228, 1
  store i32 %12229, ptr @test_count, align 4, !tbaa !5
  %12230 = call i32 @s2n_peek_buffered(ptr noundef null)
  %12231 = icmp eq i32 %12230, 0
  br i1 %12231, label %12285, label %12232

12232:                                            ; preds = %12227
  br label %12233

12233:                                            ; preds = %12232
  br label %12234

12234:                                            ; preds = %12233
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %12235 = call ptr @__errno_location() #12
  %12236 = load i32, ptr %12235, align 4, !tbaa !5
  store i32 %12236, ptr %326, align 4, !tbaa !5
  %12237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12238 = call i32 @s2n_print_stacktrace(ptr noundef %12237)
  %12239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12240 = trunc i8 %12239 to i1
  br i1 %12240, label %12241, label %12263

12241:                                            ; preds = %12234
  %12242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12243 = call i32 @fileno(ptr noundef %12242) #11
  %12244 = call i32 @isatty(i32 noundef %12243) #11
  %12245 = icmp ne i32 %12244, 0
  br i1 %12245, label %12246, label %12263

12246:                                            ; preds = %12241
  %12247 = load i32, ptr %326, align 4, !tbaa !5
  %12248 = call ptr @__errno_location() #12
  store i32 %12247, ptr %12248, align 4, !tbaa !5
  %12249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12250 = load i32, ptr @test_count, align 4, !tbaa !5
  %12251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12252 = load i32, ptr %12251, align 4, !tbaa !5
  %12253 = call ptr @s2n_strerror(i32 noundef %12252, ptr noundef @.str.4)
  %12254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12255 = load i32, ptr %12254, align 4, !tbaa !5
  %12256 = call ptr @s2n_strerror_debug(i32 noundef %12255, ptr noundef @.str.4)
  %12257 = call ptr @__errno_location() #12
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = call ptr @strerror(i32 noundef %12258) #11
  %12260 = call ptr @__errno_location() #12
  %12261 = load i32, ptr %12260, align 4, !tbaa !5
  %12262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12249, ptr noundef @.str.2, i32 noundef %12250, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 558, ptr noundef %12253, ptr noundef %12256, ptr noundef %12259, i32 noundef %12261) #11
  br label %12280

12263:                                            ; preds = %12241, %12234
  %12264 = load i32, ptr %326, align 4, !tbaa !5
  %12265 = call ptr @__errno_location() #12
  store i32 %12264, ptr %12265, align 4, !tbaa !5
  %12266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12267 = load i32, ptr @test_count, align 4, !tbaa !5
  %12268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12269 = load i32, ptr %12268, align 4, !tbaa !5
  %12270 = call ptr @s2n_strerror(i32 noundef %12269, ptr noundef @.str.4)
  %12271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12272 = load i32, ptr %12271, align 4, !tbaa !5
  %12273 = call ptr @s2n_strerror_debug(i32 noundef %12272, ptr noundef @.str.4)
  %12274 = call ptr @__errno_location() #12
  %12275 = load i32, ptr %12274, align 4, !tbaa !5
  %12276 = call ptr @strerror(i32 noundef %12275) #11
  %12277 = call ptr @__errno_location() #12
  %12278 = load i32, ptr %12277, align 4, !tbaa !5
  %12279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12266, ptr noundef @.str.5, i32 noundef %12267, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 558, ptr noundef %12270, ptr noundef %12273, ptr noundef %12276, i32 noundef %12278) #11
  br label %12280

12280:                                            ; preds = %12263, %12246
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %12281

12281:                                            ; preds = %12280
  br label %12282

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

12283:                                            ; No predecessors!
  br label %12284

12284:                                            ; preds = %12283
  br label %12285

12285:                                            ; preds = %12284, %12227
  br label %12286

12286:                                            ; preds = %12285
  br label %12287

12287:                                            ; preds = %12286
  call void @llvm.lifetime.start.p0(i64 8, ptr %327) #11
  %12288 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12288, ptr %327, align 8, !tbaa !9
  br label %12289

12289:                                            ; preds = %12287
  %12290 = load i32, ptr @test_count, align 4, !tbaa !5
  %12291 = add nsw i32 %12290, 1
  store i32 %12291, ptr @test_count, align 4, !tbaa !5
  %12292 = load ptr, ptr %327, align 8, !tbaa !9
  %12293 = load ptr, ptr %17, align 8, !tbaa !9
  %12294 = call i32 @s2n_connection_set_config(ptr noundef %12292, ptr noundef %12293)
  %12295 = icmp eq i32 %12294, -1
  br i1 %12295, label %12296, label %12349

12296:                                            ; preds = %12289
  br label %12297

12297:                                            ; preds = %12296
  br label %12298

12298:                                            ; preds = %12297
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %12299 = call ptr @__errno_location() #12
  %12300 = load i32, ptr %12299, align 4, !tbaa !5
  store i32 %12300, ptr %328, align 4, !tbaa !5
  %12301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12302 = call i32 @s2n_print_stacktrace(ptr noundef %12301)
  %12303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12304 = trunc i8 %12303 to i1
  br i1 %12304, label %12305, label %12327

12305:                                            ; preds = %12298
  %12306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12307 = call i32 @fileno(ptr noundef %12306) #11
  %12308 = call i32 @isatty(i32 noundef %12307) #11
  %12309 = icmp ne i32 %12308, 0
  br i1 %12309, label %12310, label %12327

12310:                                            ; preds = %12305
  %12311 = load i32, ptr %328, align 4, !tbaa !5
  %12312 = call ptr @__errno_location() #12
  store i32 %12311, ptr %12312, align 4, !tbaa !5
  %12313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12314 = load i32, ptr @test_count, align 4, !tbaa !5
  %12315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12316 = load i32, ptr %12315, align 4, !tbaa !5
  %12317 = call ptr @s2n_strerror(i32 noundef %12316, ptr noundef @.str.4)
  %12318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12319 = load i32, ptr %12318, align 4, !tbaa !5
  %12320 = call ptr @s2n_strerror_debug(i32 noundef %12319, ptr noundef @.str.4)
  %12321 = call ptr @__errno_location() #12
  %12322 = load i32, ptr %12321, align 4, !tbaa !5
  %12323 = call ptr @strerror(i32 noundef %12322) #11
  %12324 = call ptr @__errno_location() #12
  %12325 = load i32, ptr %12324, align 4, !tbaa !5
  %12326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12313, ptr noundef @.str.2, i32 noundef %12314, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12317, ptr noundef %12320, ptr noundef %12323, i32 noundef %12325) #11
  br label %12344

12327:                                            ; preds = %12305, %12298
  %12328 = load i32, ptr %328, align 4, !tbaa !5
  %12329 = call ptr @__errno_location() #12
  store i32 %12328, ptr %12329, align 4, !tbaa !5
  %12330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12331 = load i32, ptr @test_count, align 4, !tbaa !5
  %12332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12333 = load i32, ptr %12332, align 4, !tbaa !5
  %12334 = call ptr @s2n_strerror(i32 noundef %12333, ptr noundef @.str.4)
  %12335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12336 = load i32, ptr %12335, align 4, !tbaa !5
  %12337 = call ptr @s2n_strerror_debug(i32 noundef %12336, ptr noundef @.str.4)
  %12338 = call ptr @__errno_location() #12
  %12339 = load i32, ptr %12338, align 4, !tbaa !5
  %12340 = call ptr @strerror(i32 noundef %12339) #11
  %12341 = call ptr @__errno_location() #12
  %12342 = load i32, ptr %12341, align 4, !tbaa !5
  %12343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12330, ptr noundef @.str.5, i32 noundef %12331, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 562, ptr noundef %12334, ptr noundef %12337, ptr noundef %12340, i32 noundef %12342) #11
  br label %12344

12344:                                            ; preds = %12327, %12310
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %12345

12345:                                            ; preds = %12344
  br label %12346

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

12347:                                            ; No predecessors!
  br label %12348

12348:                                            ; preds = %12347
  br label %12349

12349:                                            ; preds = %12348, %12289
  br label %12350

12350:                                            ; preds = %12349
  br label %12351

12351:                                            ; preds = %12350
  call void @llvm.lifetime.start.p0(i64 8, ptr %329) #11
  %12352 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12352, ptr %329, align 8, !tbaa !9
  br label %12353

12353:                                            ; preds = %12351
  %12354 = load i32, ptr @test_count, align 4, !tbaa !5
  %12355 = add nsw i32 %12354, 1
  store i32 %12355, ptr @test_count, align 4, !tbaa !5
  %12356 = load ptr, ptr %329, align 8, !tbaa !9
  %12357 = load ptr, ptr %17, align 8, !tbaa !9
  %12358 = call i32 @s2n_connection_set_config(ptr noundef %12356, ptr noundef %12357)
  %12359 = icmp eq i32 %12358, -1
  br i1 %12359, label %12360, label %12413

12360:                                            ; preds = %12353
  br label %12361

12361:                                            ; preds = %12360
  br label %12362

12362:                                            ; preds = %12361
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %12363 = call ptr @__errno_location() #12
  %12364 = load i32, ptr %12363, align 4, !tbaa !5
  store i32 %12364, ptr %330, align 4, !tbaa !5
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = call i32 @s2n_print_stacktrace(ptr noundef %12365)
  %12367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12368 = trunc i8 %12367 to i1
  br i1 %12368, label %12369, label %12391

12369:                                            ; preds = %12362
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = call i32 @fileno(ptr noundef %12370) #11
  %12372 = call i32 @isatty(i32 noundef %12371) #11
  %12373 = icmp ne i32 %12372, 0
  br i1 %12373, label %12374, label %12391

12374:                                            ; preds = %12369
  %12375 = load i32, ptr %330, align 4, !tbaa !5
  %12376 = call ptr @__errno_location() #12
  store i32 %12375, ptr %12376, align 4, !tbaa !5
  %12377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12378 = load i32, ptr @test_count, align 4, !tbaa !5
  %12379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12380 = load i32, ptr %12379, align 4, !tbaa !5
  %12381 = call ptr @s2n_strerror(i32 noundef %12380, ptr noundef @.str.4)
  %12382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12383 = load i32, ptr %12382, align 4, !tbaa !5
  %12384 = call ptr @s2n_strerror_debug(i32 noundef %12383, ptr noundef @.str.4)
  %12385 = call ptr @__errno_location() #12
  %12386 = load i32, ptr %12385, align 4, !tbaa !5
  %12387 = call ptr @strerror(i32 noundef %12386) #11
  %12388 = call ptr @__errno_location() #12
  %12389 = load i32, ptr %12388, align 4, !tbaa !5
  %12390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12377, ptr noundef @.str.2, i32 noundef %12378, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 566, ptr noundef %12381, ptr noundef %12384, ptr noundef %12387, i32 noundef %12389) #11
  br label %12408

12391:                                            ; preds = %12369, %12362
  %12392 = load i32, ptr %330, align 4, !tbaa !5
  %12393 = call ptr @__errno_location() #12
  store i32 %12392, ptr %12393, align 4, !tbaa !5
  %12394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12395 = load i32, ptr @test_count, align 4, !tbaa !5
  %12396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12397 = load i32, ptr %12396, align 4, !tbaa !5
  %12398 = call ptr @s2n_strerror(i32 noundef %12397, ptr noundef @.str.4)
  %12399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12400 = load i32, ptr %12399, align 4, !tbaa !5
  %12401 = call ptr @s2n_strerror_debug(i32 noundef %12400, ptr noundef @.str.4)
  %12402 = call ptr @__errno_location() #12
  %12403 = load i32, ptr %12402, align 4, !tbaa !5
  %12404 = call ptr @strerror(i32 noundef %12403) #11
  %12405 = call ptr @__errno_location() #12
  %12406 = load i32, ptr %12405, align 4, !tbaa !5
  %12407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12394, ptr noundef @.str.5, i32 noundef %12395, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 566, ptr noundef %12398, ptr noundef %12401, ptr noundef %12404, i32 noundef %12406) #11
  br label %12408

12408:                                            ; preds = %12391, %12374
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

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

12411:                                            ; No predecessors!
  br label %12412

12412:                                            ; preds = %12411
  br label %12413

12413:                                            ; preds = %12412, %12353
  br label %12414

12414:                                            ; preds = %12413
  br label %12415

12415:                                            ; preds = %12414
  call void @llvm.lifetime.start.p0(i64 48, ptr %331) #11
  %12416 = getelementptr inbounds %struct.anon.0, ptr %331, i32 0, i32 0
  store i32 1, ptr %12416, align 4, !tbaa !71
  %12417 = getelementptr inbounds %struct.anon.0, ptr %331, i32 0, i32 1
  store i32 19, ptr %12417, align 4, !tbaa !73
  %12418 = getelementptr inbounds %struct.anon.0, ptr %331, i32 0, i32 2
  %12419 = load i32, ptr %47, align 4, !tbaa !5
  store i32 %12419, ptr %12418, align 4, !tbaa !74
  %12420 = getelementptr inbounds %struct.anon.0, ptr %331, i64 1
  %12421 = getelementptr inbounds %struct.anon.0, ptr %12420, i32 0, i32 0
  store i32 19, ptr %12421, align 4, !tbaa !71
  %12422 = getelementptr inbounds %struct.anon.0, ptr %12420, i32 0, i32 1
  store i32 1, ptr %12422, align 4, !tbaa !73
  %12423 = getelementptr inbounds %struct.anon.0, ptr %12420, i32 0, i32 2
  %12424 = load i32, ptr %47, align 4, !tbaa !5
  store i32 %12424, ptr %12423, align 4, !tbaa !74
  %12425 = getelementptr inbounds %struct.anon.0, ptr %331, i64 2
  %12426 = getelementptr inbounds %struct.anon.0, ptr %12425, i32 0, i32 0
  store i32 20, ptr %12426, align 4, !tbaa !71
  %12427 = getelementptr inbounds %struct.anon.0, ptr %12425, i32 0, i32 1
  store i32 0, ptr %12427, align 4, !tbaa !73
  %12428 = getelementptr inbounds %struct.anon.0, ptr %12425, i32 0, i32 2
  %12429 = load i32, ptr %47, align 4, !tbaa !5
  store i32 %12429, ptr %12428, align 4, !tbaa !74
  %12430 = getelementptr inbounds %struct.anon.0, ptr %331, i64 3
  %12431 = getelementptr inbounds %struct.anon.0, ptr %12430, i32 0, i32 0
  store i32 21, ptr %12431, align 4, !tbaa !71
  %12432 = getelementptr inbounds %struct.anon.0, ptr %12430, i32 0, i32 1
  store i32 19, ptr %12432, align 4, !tbaa !73
  %12433 = getelementptr inbounds %struct.anon.0, ptr %12430, i32 0, i32 2
  store i32 0, ptr %12433, align 4, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #11
  store i64 0, ptr %332, align 8, !tbaa !15
  br label %12434

12434:                                            ; preds = %13211, %12415
  %12435 = load i64, ptr %332, align 8, !tbaa !15
  %12436 = icmp ult i64 %12435, 4
  br i1 %12436, label %12438, label %12437

12437:                                            ; preds = %12434
  store i32 1185, ptr %97, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #11
  br label %13214

12438:                                            ; preds = %12434
  call void @llvm.lifetime.start.p0(i64 80, ptr %333) #11
  call void @llvm.memset.p0.i64(ptr align 8 %333, i8 0, i64 80, i1 false)
  br label %12439

12439:                                            ; preds = %12438
  %12440 = load i32, ptr @test_count, align 4, !tbaa !5
  %12441 = add nsw i32 %12440, 1
  store i32 %12441, ptr @test_count, align 4, !tbaa !5
  %12442 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %333)
  %12443 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  store i32 %12442, ptr %12443, align 4
  %12444 = getelementptr inbounds %struct.s2n_result, ptr %334, i32 0, i32 0
  %12445 = load i32, ptr %12444, align 4
  %12446 = call zeroext i1 @s2n_result_is_ok(i32 %12445)
  br i1 %12446, label %12500, label %12447

12447:                                            ; preds = %12439
  br label %12448

12448:                                            ; preds = %12447
  br label %12449

12449:                                            ; preds = %12448
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %12450 = call ptr @__errno_location() #12
  %12451 = load i32, ptr %12450, align 4, !tbaa !5
  store i32 %12451, ptr %335, align 4, !tbaa !5
  %12452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12453 = call i32 @s2n_print_stacktrace(ptr noundef %12452)
  %12454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12455 = trunc i8 %12454 to i1
  br i1 %12455, label %12456, label %12478

12456:                                            ; preds = %12449
  %12457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12458 = call i32 @fileno(ptr noundef %12457) #11
  %12459 = call i32 @isatty(i32 noundef %12458) #11
  %12460 = icmp ne i32 %12459, 0
  br i1 %12460, label %12461, label %12478

12461:                                            ; preds = %12456
  %12462 = load i32, ptr %335, align 4, !tbaa !5
  %12463 = call ptr @__errno_location() #12
  store i32 %12462, ptr %12463, align 4, !tbaa !5
  %12464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12465 = load i32, ptr @test_count, align 4, !tbaa !5
  %12466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12467 = load i32, ptr %12466, align 4, !tbaa !5
  %12468 = call ptr @s2n_strerror(i32 noundef %12467, ptr noundef @.str.4)
  %12469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12470 = load i32, ptr %12469, align 4, !tbaa !5
  %12471 = call ptr @s2n_strerror_debug(i32 noundef %12470, ptr noundef @.str.4)
  %12472 = call ptr @__errno_location() #12
  %12473 = load i32, ptr %12472, align 4, !tbaa !5
  %12474 = call ptr @strerror(i32 noundef %12473) #11
  %12475 = call ptr @__errno_location() #12
  %12476 = load i32, ptr %12475, align 4, !tbaa !5
  %12477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12464, ptr noundef @.str.2, i32 noundef %12465, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 596, ptr noundef %12468, ptr noundef %12471, ptr noundef %12474, i32 noundef %12476) #11
  br label %12495

12478:                                            ; preds = %12456, %12449
  %12479 = load i32, ptr %335, align 4, !tbaa !5
  %12480 = call ptr @__errno_location() #12
  store i32 %12479, ptr %12480, align 4, !tbaa !5
  %12481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12482 = load i32, ptr @test_count, align 4, !tbaa !5
  %12483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12484 = load i32, ptr %12483, align 4, !tbaa !5
  %12485 = call ptr @s2n_strerror(i32 noundef %12484, ptr noundef @.str.4)
  %12486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12487 = load i32, ptr %12486, align 4, !tbaa !5
  %12488 = call ptr @s2n_strerror_debug(i32 noundef %12487, ptr noundef @.str.4)
  %12489 = call ptr @__errno_location() #12
  %12490 = load i32, ptr %12489, align 4, !tbaa !5
  %12491 = call ptr @strerror(i32 noundef %12490) #11
  %12492 = call ptr @__errno_location() #12
  %12493 = load i32, ptr %12492, align 4, !tbaa !5
  %12494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12481, ptr noundef @.str.5, i32 noundef %12482, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 596, ptr noundef %12485, ptr noundef %12488, ptr noundef %12491, i32 noundef %12493) #11
  br label %12495

12495:                                            ; preds = %12478, %12461
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %12496

12496:                                            ; preds = %12495
  br label %12497

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

12498:                                            ; No predecessors!
  br label %12499

12499:                                            ; preds = %12498
  br label %12500

12500:                                            ; preds = %12499, %12439
  br label %12501

12501:                                            ; preds = %12500
  br label %12502

12502:                                            ; preds = %12501
  br label %12503

12503:                                            ; preds = %12502
  %12504 = load i32, ptr @test_count, align 4, !tbaa !5
  %12505 = add nsw i32 %12504, 1
  store i32 %12505, ptr @test_count, align 4, !tbaa !5
  %12506 = load ptr, ptr %327, align 8, !tbaa !9
  %12507 = load ptr, ptr %329, align 8, !tbaa !9
  %12508 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %12506, ptr noundef %12507, ptr noundef %333)
  %12509 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  store i32 %12508, ptr %12509, align 4
  %12510 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  %12511 = load i32, ptr %12510, align 4
  %12512 = call zeroext i1 @s2n_result_is_ok(i32 %12511)
  br i1 %12512, label %12566, label %12513

12513:                                            ; preds = %12503
  br label %12514

12514:                                            ; preds = %12513
  br label %12515

12515:                                            ; preds = %12514
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %12516 = call ptr @__errno_location() #12
  %12517 = load i32, ptr %12516, align 4, !tbaa !5
  store i32 %12517, ptr %337, align 4, !tbaa !5
  %12518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12519 = call i32 @s2n_print_stacktrace(ptr noundef %12518)
  %12520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12521 = trunc i8 %12520 to i1
  br i1 %12521, label %12522, label %12544

12522:                                            ; preds = %12515
  %12523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12524 = call i32 @fileno(ptr noundef %12523) #11
  %12525 = call i32 @isatty(i32 noundef %12524) #11
  %12526 = icmp ne i32 %12525, 0
  br i1 %12526, label %12527, label %12544

12527:                                            ; preds = %12522
  %12528 = load i32, ptr %337, align 4, !tbaa !5
  %12529 = call ptr @__errno_location() #12
  store i32 %12528, ptr %12529, align 4, !tbaa !5
  %12530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12531 = load i32, ptr @test_count, align 4, !tbaa !5
  %12532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12533 = load i32, ptr %12532, align 4, !tbaa !5
  %12534 = call ptr @s2n_strerror(i32 noundef %12533, ptr noundef @.str.4)
  %12535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12536 = load i32, ptr %12535, align 4, !tbaa !5
  %12537 = call ptr @s2n_strerror_debug(i32 noundef %12536, ptr noundef @.str.4)
  %12538 = call ptr @__errno_location() #12
  %12539 = load i32, ptr %12538, align 4, !tbaa !5
  %12540 = call ptr @strerror(i32 noundef %12539) #11
  %12541 = call ptr @__errno_location() #12
  %12542 = load i32, ptr %12541, align 4, !tbaa !5
  %12543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12530, ptr noundef @.str.2, i32 noundef %12531, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 597, ptr noundef %12534, ptr noundef %12537, ptr noundef %12540, i32 noundef %12542) #11
  br label %12561

12544:                                            ; preds = %12522, %12515
  %12545 = load i32, ptr %337, align 4, !tbaa !5
  %12546 = call ptr @__errno_location() #12
  store i32 %12545, ptr %12546, align 4, !tbaa !5
  %12547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12548 = load i32, ptr @test_count, align 4, !tbaa !5
  %12549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12550 = load i32, ptr %12549, align 4, !tbaa !5
  %12551 = call ptr @s2n_strerror(i32 noundef %12550, ptr noundef @.str.4)
  %12552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12553 = load i32, ptr %12552, align 4, !tbaa !5
  %12554 = call ptr @s2n_strerror_debug(i32 noundef %12553, ptr noundef @.str.4)
  %12555 = call ptr @__errno_location() #12
  %12556 = load i32, ptr %12555, align 4, !tbaa !5
  %12557 = call ptr @strerror(i32 noundef %12556) #11
  %12558 = call ptr @__errno_location() #12
  %12559 = load i32, ptr %12558, align 4, !tbaa !5
  %12560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12547, ptr noundef @.str.5, i32 noundef %12548, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 597, ptr noundef %12551, ptr noundef %12554, ptr noundef %12557, i32 noundef %12559) #11
  br label %12561

12561:                                            ; preds = %12544, %12527
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %12562

12562:                                            ; preds = %12561
  br label %12563

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

12564:                                            ; No predecessors!
  br label %12565

12565:                                            ; preds = %12564
  br label %12566

12566:                                            ; preds = %12565, %12503
  br label %12567

12567:                                            ; preds = %12566
  br label %12568

12568:                                            ; preds = %12567
  br label %12569

12569:                                            ; preds = %12568
  %12570 = load i32, ptr @test_count, align 4, !tbaa !5
  %12571 = add nsw i32 %12570, 1
  store i32 %12571, ptr @test_count, align 4, !tbaa !5
  %12572 = load ptr, ptr %329, align 8, !tbaa !9
  %12573 = load ptr, ptr %327, align 8, !tbaa !9
  %12574 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %12572, ptr noundef %12573)
  %12575 = icmp eq i32 %12574, -1
  br i1 %12575, label %12576, label %12629

12576:                                            ; preds = %12569
  br label %12577

12577:                                            ; preds = %12576
  br label %12578

12578:                                            ; preds = %12577
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %12579 = call ptr @__errno_location() #12
  %12580 = load i32, ptr %12579, align 4, !tbaa !5
  store i32 %12580, ptr %338, align 4, !tbaa !5
  %12581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12582 = call i32 @s2n_print_stacktrace(ptr noundef %12581)
  %12583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12584 = trunc i8 %12583 to i1
  br i1 %12584, label %12585, label %12607

12585:                                            ; preds = %12578
  %12586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12587 = call i32 @fileno(ptr noundef %12586) #11
  %12588 = call i32 @isatty(i32 noundef %12587) #11
  %12589 = icmp ne i32 %12588, 0
  br i1 %12589, label %12590, label %12607

12590:                                            ; preds = %12585
  %12591 = load i32, ptr %338, align 4, !tbaa !5
  %12592 = call ptr @__errno_location() #12
  store i32 %12591, ptr %12592, align 4, !tbaa !5
  %12593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12594 = load i32, ptr @test_count, align 4, !tbaa !5
  %12595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12596 = load i32, ptr %12595, align 4, !tbaa !5
  %12597 = call ptr @s2n_strerror(i32 noundef %12596, ptr noundef @.str.4)
  %12598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12599 = load i32, ptr %12598, align 4, !tbaa !5
  %12600 = call ptr @s2n_strerror_debug(i32 noundef %12599, ptr noundef @.str.4)
  %12601 = call ptr @__errno_location() #12
  %12602 = load i32, ptr %12601, align 4, !tbaa !5
  %12603 = call ptr @strerror(i32 noundef %12602) #11
  %12604 = call ptr @__errno_location() #12
  %12605 = load i32, ptr %12604, align 4, !tbaa !5
  %12606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12593, ptr noundef @.str.2, i32 noundef %12594, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 598, ptr noundef %12597, ptr noundef %12600, ptr noundef %12603, i32 noundef %12605) #11
  br label %12624

12607:                                            ; preds = %12585, %12578
  %12608 = load i32, ptr %338, align 4, !tbaa !5
  %12609 = call ptr @__errno_location() #12
  store i32 %12608, ptr %12609, align 4, !tbaa !5
  %12610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12611 = load i32, ptr @test_count, align 4, !tbaa !5
  %12612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12613 = load i32, ptr %12612, align 4, !tbaa !5
  %12614 = call ptr @s2n_strerror(i32 noundef %12613, ptr noundef @.str.4)
  %12615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12616 = load i32, ptr %12615, align 4, !tbaa !5
  %12617 = call ptr @s2n_strerror_debug(i32 noundef %12616, ptr noundef @.str.4)
  %12618 = call ptr @__errno_location() #12
  %12619 = load i32, ptr %12618, align 4, !tbaa !5
  %12620 = call ptr @strerror(i32 noundef %12619) #11
  %12621 = call ptr @__errno_location() #12
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12610, ptr noundef @.str.5, i32 noundef %12611, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 598, ptr noundef %12614, ptr noundef %12617, ptr noundef %12620, i32 noundef %12622) #11
  br label %12624

12624:                                            ; preds = %12607, %12590
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %12625

12625:                                            ; preds = %12624
  br label %12626

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

12627:                                            ; No predecessors!
  br label %12628

12628:                                            ; preds = %12627
  br label %12629

12629:                                            ; preds = %12628, %12569
  br label %12630

12630:                                            ; preds = %12629
  br label %12631

12631:                                            ; preds = %12630
  br label %12632

12632:                                            ; preds = %12631
  %12633 = load i32, ptr @test_count, align 4, !tbaa !5
  %12634 = add nsw i32 %12633, 1
  store i32 %12634, ptr @test_count, align 4, !tbaa !5
  %12635 = getelementptr inbounds %struct.s2n_test_io_stuffer_pair, ptr %333, i32 0, i32 1
  %12636 = call i32 @s2n_stuffer_wipe(ptr noundef %12635)
  %12637 = icmp eq i32 %12636, -1
  br i1 %12637, label %12638, label %12691

12638:                                            ; preds = %12632
  br label %12639

12639:                                            ; preds = %12638
  br label %12640

12640:                                            ; preds = %12639
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #11
  %12641 = call ptr @__errno_location() #12
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  store i32 %12642, ptr %339, align 4, !tbaa !5
  %12643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12644 = call i32 @s2n_print_stacktrace(ptr noundef %12643)
  %12645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12646 = trunc i8 %12645 to i1
  br i1 %12646, label %12647, label %12669

12647:                                            ; preds = %12640
  %12648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12649 = call i32 @fileno(ptr noundef %12648) #11
  %12650 = call i32 @isatty(i32 noundef %12649) #11
  %12651 = icmp ne i32 %12650, 0
  br i1 %12651, label %12652, label %12669

12652:                                            ; preds = %12647
  %12653 = load i32, ptr %339, align 4, !tbaa !5
  %12654 = call ptr @__errno_location() #12
  store i32 %12653, ptr %12654, align 4, !tbaa !5
  %12655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12656 = load i32, ptr @test_count, align 4, !tbaa !5
  %12657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12658 = load i32, ptr %12657, align 4, !tbaa !5
  %12659 = call ptr @s2n_strerror(i32 noundef %12658, ptr noundef @.str.4)
  %12660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12661 = load i32, ptr %12660, align 4, !tbaa !5
  %12662 = call ptr @s2n_strerror_debug(i32 noundef %12661, ptr noundef @.str.4)
  %12663 = call ptr @__errno_location() #12
  %12664 = load i32, ptr %12663, align 4, !tbaa !5
  %12665 = call ptr @strerror(i32 noundef %12664) #11
  %12666 = call ptr @__errno_location() #12
  %12667 = load i32, ptr %12666, align 4, !tbaa !5
  %12668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12655, ptr noundef @.str.2, i32 noundef %12656, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12659, ptr noundef %12662, ptr noundef %12665, i32 noundef %12667) #11
  br label %12686

12669:                                            ; preds = %12647, %12640
  %12670 = load i32, ptr %339, align 4, !tbaa !5
  %12671 = call ptr @__errno_location() #12
  store i32 %12670, ptr %12671, align 4, !tbaa !5
  %12672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12673 = load i32, ptr @test_count, align 4, !tbaa !5
  %12674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12675 = load i32, ptr %12674, align 4, !tbaa !5
  %12676 = call ptr @s2n_strerror(i32 noundef %12675, ptr noundef @.str.4)
  %12677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12678 = load i32, ptr %12677, align 4, !tbaa !5
  %12679 = call ptr @s2n_strerror_debug(i32 noundef %12678, ptr noundef @.str.4)
  %12680 = call ptr @__errno_location() #12
  %12681 = load i32, ptr %12680, align 4, !tbaa !5
  %12682 = call ptr @strerror(i32 noundef %12681) #11
  %12683 = call ptr @__errno_location() #12
  %12684 = load i32, ptr %12683, align 4, !tbaa !5
  %12685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12672, ptr noundef @.str.5, i32 noundef %12673, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 599, ptr noundef %12676, ptr noundef %12679, ptr noundef %12682, i32 noundef %12684) #11
  br label %12686

12686:                                            ; preds = %12669, %12652
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #11
  br label %12687

12687:                                            ; preds = %12686
  br label %12688

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

12689:                                            ; No predecessors!
  br label %12690

12690:                                            ; preds = %12689
  br label %12691

12691:                                            ; preds = %12690, %12632
  br label %12692

12692:                                            ; preds = %12691
  br label %12693

12693:                                            ; preds = %12692
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  store i32 0, ptr %340, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr %341) #11
  call void @llvm.memset.p0.i64(ptr align 16 %341, i8 0, i64 40, i1 false)
  br label %12694

12694:                                            ; preds = %12693
  %12695 = load i32, ptr @test_count, align 4, !tbaa !5
  %12696 = add nsw i32 %12695, 1
  store i32 %12696, ptr @test_count, align 4, !tbaa !5
  %12697 = load ptr, ptr %327, align 8, !tbaa !9
  %12698 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %12699 = call i64 @s2n_send(ptr noundef %12697, ptr noundef %12698, i64 noundef 20, ptr noundef %340)
  %12700 = icmp eq i64 %12699, 20
  br i1 %12700, label %12754, label %12701

12701:                                            ; preds = %12694
  br label %12702

12702:                                            ; preds = %12701
  br label %12703

12703:                                            ; preds = %12702
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %12704 = call ptr @__errno_location() #12
  %12705 = load i32, ptr %12704, align 4, !tbaa !5
  store i32 %12705, ptr %342, align 4, !tbaa !5
  %12706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12707 = call i32 @s2n_print_stacktrace(ptr noundef %12706)
  %12708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12709 = trunc i8 %12708 to i1
  br i1 %12709, label %12710, label %12732

12710:                                            ; preds = %12703
  %12711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12712 = call i32 @fileno(ptr noundef %12711) #11
  %12713 = call i32 @isatty(i32 noundef %12712) #11
  %12714 = icmp ne i32 %12713, 0
  br i1 %12714, label %12715, label %12732

12715:                                            ; preds = %12710
  %12716 = load i32, ptr %342, align 4, !tbaa !5
  %12717 = call ptr @__errno_location() #12
  store i32 %12716, ptr %12717, align 4, !tbaa !5
  %12718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12719 = load i32, ptr @test_count, align 4, !tbaa !5
  %12720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12721 = load i32, ptr %12720, align 4, !tbaa !5
  %12722 = call ptr @s2n_strerror(i32 noundef %12721, ptr noundef @.str.4)
  %12723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12724 = load i32, ptr %12723, align 4, !tbaa !5
  %12725 = call ptr @s2n_strerror_debug(i32 noundef %12724, ptr noundef @.str.4)
  %12726 = call ptr @__errno_location() #12
  %12727 = load i32, ptr %12726, align 4, !tbaa !5
  %12728 = call ptr @strerror(i32 noundef %12727) #11
  %12729 = call ptr @__errno_location() #12
  %12730 = load i32, ptr %12729, align 4, !tbaa !5
  %12731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12718, ptr noundef @.str.2, i32 noundef %12719, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 604, ptr noundef %12722, ptr noundef %12725, ptr noundef %12728, i32 noundef %12730) #11
  br label %12749

12732:                                            ; preds = %12710, %12703
  %12733 = load i32, ptr %342, align 4, !tbaa !5
  %12734 = call ptr @__errno_location() #12
  store i32 %12733, ptr %12734, align 4, !tbaa !5
  %12735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12736 = load i32, ptr @test_count, align 4, !tbaa !5
  %12737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12738 = load i32, ptr %12737, align 4, !tbaa !5
  %12739 = call ptr @s2n_strerror(i32 noundef %12738, ptr noundef @.str.4)
  %12740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12741 = load i32, ptr %12740, align 4, !tbaa !5
  %12742 = call ptr @s2n_strerror_debug(i32 noundef %12741, ptr noundef @.str.4)
  %12743 = call ptr @__errno_location() #12
  %12744 = load i32, ptr %12743, align 4, !tbaa !5
  %12745 = call ptr @strerror(i32 noundef %12744) #11
  %12746 = call ptr @__errno_location() #12
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12735, ptr noundef @.str.5, i32 noundef %12736, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 604, ptr noundef %12739, ptr noundef %12742, ptr noundef %12745, i32 noundef %12747) #11
  br label %12749

12749:                                            ; preds = %12732, %12715
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %12750

12750:                                            ; preds = %12749
  br label %12751

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

12752:                                            ; No predecessors!
  br label %12753

12753:                                            ; preds = %12752
  br label %12754

12754:                                            ; preds = %12753, %12694
  br label %12755

12755:                                            ; preds = %12754
  br label %12756

12756:                                            ; preds = %12755
  br label %12757

12757:                                            ; preds = %12756
  %12758 = load i32, ptr @test_count, align 4, !tbaa !5
  %12759 = add nsw i32 %12758, 1
  store i32 %12759, ptr @test_count, align 4, !tbaa !5
  %12760 = load ptr, ptr %327, align 8, !tbaa !9
  %12761 = getelementptr inbounds [20 x i8], ptr %9, i64 0, i64 0
  %12762 = call i64 @s2n_send(ptr noundef %12760, ptr noundef %12761, i64 noundef 20, ptr noundef %340)
  %12763 = icmp eq i64 %12762, 20
  br i1 %12763, label %12817, label %12764

12764:                                            ; preds = %12757
  br label %12765

12765:                                            ; preds = %12764
  br label %12766

12766:                                            ; preds = %12765
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %12767 = call ptr @__errno_location() #12
  %12768 = load i32, ptr %12767, align 4, !tbaa !5
  store i32 %12768, ptr %343, align 4, !tbaa !5
  %12769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12770 = call i32 @s2n_print_stacktrace(ptr noundef %12769)
  %12771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12772 = trunc i8 %12771 to i1
  br i1 %12772, label %12773, label %12795

12773:                                            ; preds = %12766
  %12774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12775 = call i32 @fileno(ptr noundef %12774) #11
  %12776 = call i32 @isatty(i32 noundef %12775) #11
  %12777 = icmp ne i32 %12776, 0
  br i1 %12777, label %12778, label %12795

12778:                                            ; preds = %12773
  %12779 = load i32, ptr %343, align 4, !tbaa !5
  %12780 = call ptr @__errno_location() #12
  store i32 %12779, ptr %12780, align 4, !tbaa !5
  %12781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12782 = load i32, ptr @test_count, align 4, !tbaa !5
  %12783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12784 = load i32, ptr %12783, align 4, !tbaa !5
  %12785 = call ptr @s2n_strerror(i32 noundef %12784, ptr noundef @.str.4)
  %12786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12787 = load i32, ptr %12786, align 4, !tbaa !5
  %12788 = call ptr @s2n_strerror_debug(i32 noundef %12787, ptr noundef @.str.4)
  %12789 = call ptr @__errno_location() #12
  %12790 = load i32, ptr %12789, align 4, !tbaa !5
  %12791 = call ptr @strerror(i32 noundef %12790) #11
  %12792 = call ptr @__errno_location() #12
  %12793 = load i32, ptr %12792, align 4, !tbaa !5
  %12794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12781, ptr noundef @.str.2, i32 noundef %12782, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 605, ptr noundef %12785, ptr noundef %12788, ptr noundef %12791, i32 noundef %12793) #11
  br label %12812

12795:                                            ; preds = %12773, %12766
  %12796 = load i32, ptr %343, align 4, !tbaa !5
  %12797 = call ptr @__errno_location() #12
  store i32 %12796, ptr %12797, align 4, !tbaa !5
  %12798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12799 = load i32, ptr @test_count, align 4, !tbaa !5
  %12800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12801 = load i32, ptr %12800, align 4, !tbaa !5
  %12802 = call ptr @s2n_strerror(i32 noundef %12801, ptr noundef @.str.4)
  %12803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12804 = load i32, ptr %12803, align 4, !tbaa !5
  %12805 = call ptr @s2n_strerror_debug(i32 noundef %12804, ptr noundef @.str.4)
  %12806 = call ptr @__errno_location() #12
  %12807 = load i32, ptr %12806, align 4, !tbaa !5
  %12808 = call ptr @strerror(i32 noundef %12807) #11
  %12809 = call ptr @__errno_location() #12
  %12810 = load i32, ptr %12809, align 4, !tbaa !5
  %12811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12798, ptr noundef @.str.5, i32 noundef %12799, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 605, ptr noundef %12802, ptr noundef %12805, ptr noundef %12808, i32 noundef %12810) #11
  br label %12812

12812:                                            ; preds = %12795, %12778
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %12813

12813:                                            ; preds = %12812
  br label %12814

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

12815:                                            ; No predecessors!
  br label %12816

12816:                                            ; preds = %12815
  br label %12817

12817:                                            ; preds = %12816, %12757
  br label %12818

12818:                                            ; preds = %12817
  br label %12819

12819:                                            ; preds = %12818
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %12820 = load i64, ptr %332, align 8, !tbaa !15
  %12821 = getelementptr inbounds [4 x %struct.anon.0], ptr %331, i64 0, i64 %12820
  %12822 = getelementptr inbounds %struct.anon.0, ptr %12821, i32 0, i32 0
  %12823 = load i32, ptr %12822, align 4, !tbaa !71
  store i32 %12823, ptr %344, align 4, !tbaa !5
  br label %12824

12824:                                            ; preds = %12819
  %12825 = load i32, ptr @test_count, align 4, !tbaa !5
  %12826 = add nsw i32 %12825, 1
  store i32 %12826, ptr @test_count, align 4, !tbaa !5
  %12827 = load ptr, ptr %329, align 8, !tbaa !9
  %12828 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %12827, i1 noundef zeroext true)
  %12829 = icmp eq i32 %12828, -1
  br i1 %12829, label %12830, label %12883

12830:                                            ; preds = %12824
  br label %12831

12831:                                            ; preds = %12830
  br label %12832

12832:                                            ; preds = %12831
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %12833 = call ptr @__errno_location() #12
  %12834 = load i32, ptr %12833, align 4, !tbaa !5
  store i32 %12834, ptr %345, align 4, !tbaa !5
  %12835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12836 = call i32 @s2n_print_stacktrace(ptr noundef %12835)
  %12837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12838 = trunc i8 %12837 to i1
  br i1 %12838, label %12839, label %12861

12839:                                            ; preds = %12832
  %12840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12841 = call i32 @fileno(ptr noundef %12840) #11
  %12842 = call i32 @isatty(i32 noundef %12841) #11
  %12843 = icmp ne i32 %12842, 0
  br i1 %12843, label %12844, label %12861

12844:                                            ; preds = %12839
  %12845 = load i32, ptr %345, align 4, !tbaa !5
  %12846 = call ptr @__errno_location() #12
  store i32 %12845, ptr %12846, align 4, !tbaa !5
  %12847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12848 = load i32, ptr @test_count, align 4, !tbaa !5
  %12849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12850 = load i32, ptr %12849, align 4, !tbaa !5
  %12851 = call ptr @s2n_strerror(i32 noundef %12850, ptr noundef @.str.4)
  %12852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12853 = load i32, ptr %12852, align 4, !tbaa !5
  %12854 = call ptr @s2n_strerror_debug(i32 noundef %12853, ptr noundef @.str.4)
  %12855 = call ptr @__errno_location() #12
  %12856 = load i32, ptr %12855, align 4, !tbaa !5
  %12857 = call ptr @strerror(i32 noundef %12856) #11
  %12858 = call ptr @__errno_location() #12
  %12859 = load i32, ptr %12858, align 4, !tbaa !5
  %12860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12847, ptr noundef @.str.2, i32 noundef %12848, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12851, ptr noundef %12854, ptr noundef %12857, i32 noundef %12859) #11
  br label %12878

12861:                                            ; preds = %12839, %12832
  %12862 = load i32, ptr %345, align 4, !tbaa !5
  %12863 = call ptr @__errno_location() #12
  store i32 %12862, ptr %12863, align 4, !tbaa !5
  %12864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12865 = load i32, ptr @test_count, align 4, !tbaa !5
  %12866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12867 = load i32, ptr %12866, align 4, !tbaa !5
  %12868 = call ptr @s2n_strerror(i32 noundef %12867, ptr noundef @.str.4)
  %12869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12870 = load i32, ptr %12869, align 4, !tbaa !5
  %12871 = call ptr @s2n_strerror_debug(i32 noundef %12870, ptr noundef @.str.4)
  %12872 = call ptr @__errno_location() #12
  %12873 = load i32, ptr %12872, align 4, !tbaa !5
  %12874 = call ptr @strerror(i32 noundef %12873) #11
  %12875 = call ptr @__errno_location() #12
  %12876 = load i32, ptr %12875, align 4, !tbaa !5
  %12877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12864, ptr noundef @.str.5, i32 noundef %12865, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 608, ptr noundef %12868, ptr noundef %12871, ptr noundef %12874, i32 noundef %12876) #11
  br label %12878

12878:                                            ; preds = %12861, %12844
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %12879

12879:                                            ; preds = %12878
  br label %12880

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

12881:                                            ; No predecessors!
  br label %12882

12882:                                            ; preds = %12881
  br label %12883

12883:                                            ; preds = %12882, %12824
  br label %12884

12884:                                            ; preds = %12883
  br label %12885

12885:                                            ; preds = %12884
  br label %12886

12886:                                            ; preds = %12885
  %12887 = load i32, ptr @test_count, align 4, !tbaa !5
  %12888 = add nsw i32 %12887, 1
  store i32 %12888, ptr @test_count, align 4, !tbaa !5
  %12889 = load ptr, ptr %329, align 8, !tbaa !9
  %12890 = getelementptr inbounds [40 x i8], ptr %341, i64 0, i64 0
  %12891 = load i32, ptr %344, align 4, !tbaa !5
  %12892 = zext i32 %12891 to i64
  %12893 = call i64 @s2n_recv(ptr noundef %12889, ptr noundef %12890, i64 noundef %12892, ptr noundef %340)
  %12894 = load i32, ptr %344, align 4, !tbaa !5
  %12895 = zext i32 %12894 to i64
  %12896 = icmp eq i64 %12893, %12895
  br i1 %12896, label %12950, label %12897

12897:                                            ; preds = %12886
  br label %12898

12898:                                            ; preds = %12897
  br label %12899

12899:                                            ; preds = %12898
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %12900 = call ptr @__errno_location() #12
  %12901 = load i32, ptr %12900, align 4, !tbaa !5
  store i32 %12901, ptr %346, align 4, !tbaa !5
  %12902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12903 = call i32 @s2n_print_stacktrace(ptr noundef %12902)
  %12904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12905 = trunc i8 %12904 to i1
  br i1 %12905, label %12906, label %12928

12906:                                            ; preds = %12899
  %12907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12908 = call i32 @fileno(ptr noundef %12907) #11
  %12909 = call i32 @isatty(i32 noundef %12908) #11
  %12910 = icmp ne i32 %12909, 0
  br i1 %12910, label %12911, label %12928

12911:                                            ; preds = %12906
  %12912 = load i32, ptr %346, align 4, !tbaa !5
  %12913 = call ptr @__errno_location() #12
  store i32 %12912, ptr %12913, align 4, !tbaa !5
  %12914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12915 = load i32, ptr @test_count, align 4, !tbaa !5
  %12916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12917 = load i32, ptr %12916, align 4, !tbaa !5
  %12918 = call ptr @s2n_strerror(i32 noundef %12917, ptr noundef @.str.4)
  %12919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12920 = load i32, ptr %12919, align 4, !tbaa !5
  %12921 = call ptr @s2n_strerror_debug(i32 noundef %12920, ptr noundef @.str.4)
  %12922 = call ptr @__errno_location() #12
  %12923 = load i32, ptr %12922, align 4, !tbaa !5
  %12924 = call ptr @strerror(i32 noundef %12923) #11
  %12925 = call ptr @__errno_location() #12
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  %12927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12914, ptr noundef @.str.2, i32 noundef %12915, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 609, ptr noundef %12918, ptr noundef %12921, ptr noundef %12924, i32 noundef %12926) #11
  br label %12945

12928:                                            ; preds = %12906, %12899
  %12929 = load i32, ptr %346, align 4, !tbaa !5
  %12930 = call ptr @__errno_location() #12
  store i32 %12929, ptr %12930, align 4, !tbaa !5
  %12931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12932 = load i32, ptr @test_count, align 4, !tbaa !5
  %12933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12934 = load i32, ptr %12933, align 4, !tbaa !5
  %12935 = call ptr @s2n_strerror(i32 noundef %12934, ptr noundef @.str.4)
  %12936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @s2n_strerror_debug(i32 noundef %12937, ptr noundef @.str.4)
  %12939 = call ptr @__errno_location() #12
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call ptr @strerror(i32 noundef %12940) #11
  %12942 = call ptr @__errno_location() #12
  %12943 = load i32, ptr %12942, align 4, !tbaa !5
  %12944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12931, ptr noundef @.str.5, i32 noundef %12932, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 609, ptr noundef %12935, ptr noundef %12938, ptr noundef %12941, i32 noundef %12943) #11
  br label %12945

12945:                                            ; preds = %12928, %12911
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %12946

12946:                                            ; preds = %12945
  br label %12947

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

12948:                                            ; No predecessors!
  br label %12949

12949:                                            ; preds = %12948
  br label %12950

12950:                                            ; preds = %12949, %12886
  br label %12951

12951:                                            ; preds = %12950
  br label %12952

12952:                                            ; preds = %12951
  br label %12953

12953:                                            ; preds = %12952
  %12954 = load i32, ptr @test_count, align 4, !tbaa !5
  %12955 = add nsw i32 %12954, 1
  store i32 %12955, ptr @test_count, align 4, !tbaa !5
  %12956 = load ptr, ptr %329, align 8, !tbaa !9
  %12957 = call i32 @s2n_peek_buffered(ptr noundef %12956)
  %12958 = load i64, ptr %332, align 8, !tbaa !15
  %12959 = getelementptr inbounds [4 x %struct.anon.0], ptr %331, i64 0, i64 %12958
  %12960 = getelementptr inbounds %struct.anon.0, ptr %12959, i32 0, i32 2
  %12961 = load i32, ptr %12960, align 4, !tbaa !74
  %12962 = icmp eq i32 %12957, %12961
  br i1 %12962, label %13016, label %12963

12963:                                            ; preds = %12953
  br label %12964

12964:                                            ; preds = %12963
  br label %12965

12965:                                            ; preds = %12964
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %12966 = call ptr @__errno_location() #12
  %12967 = load i32, ptr %12966, align 4, !tbaa !5
  store i32 %12967, ptr %347, align 4, !tbaa !5
  %12968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12969 = call i32 @s2n_print_stacktrace(ptr noundef %12968)
  %12970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12971 = trunc i8 %12970 to i1
  br i1 %12971, label %12972, label %12994

12972:                                            ; preds = %12965
  %12973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12974 = call i32 @fileno(ptr noundef %12973) #11
  %12975 = call i32 @isatty(i32 noundef %12974) #11
  %12976 = icmp ne i32 %12975, 0
  br i1 %12976, label %12977, label %12994

12977:                                            ; preds = %12972
  %12978 = load i32, ptr %347, align 4, !tbaa !5
  %12979 = call ptr @__errno_location() #12
  store i32 %12978, ptr %12979, align 4, !tbaa !5
  %12980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12981 = load i32, ptr @test_count, align 4, !tbaa !5
  %12982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12983 = load i32, ptr %12982, align 4, !tbaa !5
  %12984 = call ptr @s2n_strerror(i32 noundef %12983, ptr noundef @.str.4)
  %12985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12986 = load i32, ptr %12985, align 4, !tbaa !5
  %12987 = call ptr @s2n_strerror_debug(i32 noundef %12986, ptr noundef @.str.4)
  %12988 = call ptr @__errno_location() #12
  %12989 = load i32, ptr %12988, align 4, !tbaa !5
  %12990 = call ptr @strerror(i32 noundef %12989) #11
  %12991 = call ptr @__errno_location() #12
  %12992 = load i32, ptr %12991, align 4, !tbaa !5
  %12993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12980, ptr noundef @.str.2, i32 noundef %12981, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 610, ptr noundef %12984, ptr noundef %12987, ptr noundef %12990, i32 noundef %12992) #11
  br label %13011

12994:                                            ; preds = %12972, %12965
  %12995 = load i32, ptr %347, align 4, !tbaa !5
  %12996 = call ptr @__errno_location() #12
  store i32 %12995, ptr %12996, align 4, !tbaa !5
  %12997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12998 = load i32, ptr @test_count, align 4, !tbaa !5
  %12999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13000 = load i32, ptr %12999, align 4, !tbaa !5
  %13001 = call ptr @s2n_strerror(i32 noundef %13000, ptr noundef @.str.4)
  %13002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13003 = load i32, ptr %13002, align 4, !tbaa !5
  %13004 = call ptr @s2n_strerror_debug(i32 noundef %13003, ptr noundef @.str.4)
  %13005 = call ptr @__errno_location() #12
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @strerror(i32 noundef %13006) #11
  %13008 = call ptr @__errno_location() #12
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12997, ptr noundef @.str.5, i32 noundef %12998, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 610, ptr noundef %13001, ptr noundef %13004, ptr noundef %13007, i32 noundef %13009) #11
  br label %13011

13011:                                            ; preds = %12994, %12977
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %13012

13012:                                            ; preds = %13011
  br label %13013

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

13014:                                            ; No predecessors!
  br label %13015

13015:                                            ; preds = %13014
  br label %13016

13016:                                            ; preds = %13015, %12953
  br label %13017

13017:                                            ; preds = %13016
  br label %13018

13018:                                            ; preds = %13017
  br label %13019

13019:                                            ; preds = %13018
  %13020 = load i32, ptr @test_count, align 4, !tbaa !5
  %13021 = add nsw i32 %13020, 1
  store i32 %13021, ptr @test_count, align 4, !tbaa !5
  %13022 = load ptr, ptr %329, align 8, !tbaa !9
  %13023 = call i32 @s2n_peek(ptr noundef %13022)
  %13024 = load i64, ptr %332, align 8, !tbaa !15
  %13025 = getelementptr inbounds [4 x %struct.anon.0], ptr %331, i64 0, i64 %13024
  %13026 = getelementptr inbounds %struct.anon.0, ptr %13025, i32 0, i32 1
  %13027 = load i32, ptr %13026, align 4, !tbaa !73
  %13028 = icmp eq i32 %13023, %13027
  br i1 %13028, label %13082, label %13029

13029:                                            ; preds = %13019
  br label %13030

13030:                                            ; preds = %13029
  br label %13031

13031:                                            ; preds = %13030
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %13032 = call ptr @__errno_location() #12
  %13033 = load i32, ptr %13032, align 4, !tbaa !5
  store i32 %13033, ptr %348, align 4, !tbaa !5
  %13034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13035 = call i32 @s2n_print_stacktrace(ptr noundef %13034)
  %13036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13037 = trunc i8 %13036 to i1
  br i1 %13037, label %13038, label %13060

13038:                                            ; preds = %13031
  %13039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13040 = call i32 @fileno(ptr noundef %13039) #11
  %13041 = call i32 @isatty(i32 noundef %13040) #11
  %13042 = icmp ne i32 %13041, 0
  br i1 %13042, label %13043, label %13060

13043:                                            ; preds = %13038
  %13044 = load i32, ptr %348, align 4, !tbaa !5
  %13045 = call ptr @__errno_location() #12
  store i32 %13044, ptr %13045, align 4, !tbaa !5
  %13046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13047 = load i32, ptr @test_count, align 4, !tbaa !5
  %13048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13049 = load i32, ptr %13048, align 4, !tbaa !5
  %13050 = call ptr @s2n_strerror(i32 noundef %13049, ptr noundef @.str.4)
  %13051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13052 = load i32, ptr %13051, align 4, !tbaa !5
  %13053 = call ptr @s2n_strerror_debug(i32 noundef %13052, ptr noundef @.str.4)
  %13054 = call ptr @__errno_location() #12
  %13055 = load i32, ptr %13054, align 4, !tbaa !5
  %13056 = call ptr @strerror(i32 noundef %13055) #11
  %13057 = call ptr @__errno_location() #12
  %13058 = load i32, ptr %13057, align 4, !tbaa !5
  %13059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13046, ptr noundef @.str.2, i32 noundef %13047, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 611, ptr noundef %13050, ptr noundef %13053, ptr noundef %13056, i32 noundef %13058) #11
  br label %13077

13060:                                            ; preds = %13038, %13031
  %13061 = load i32, ptr %348, align 4, !tbaa !5
  %13062 = call ptr @__errno_location() #12
  store i32 %13061, ptr %13062, align 4, !tbaa !5
  %13063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13064 = load i32, ptr @test_count, align 4, !tbaa !5
  %13065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13066 = load i32, ptr %13065, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror(i32 noundef %13066, ptr noundef @.str.4)
  %13068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @s2n_strerror_debug(i32 noundef %13069, ptr noundef @.str.4)
  %13071 = call ptr @__errno_location() #12
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @strerror(i32 noundef %13072) #11
  %13074 = call ptr @__errno_location() #12
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13063, ptr noundef @.str.5, i32 noundef %13064, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 611, ptr noundef %13067, ptr noundef %13070, ptr noundef %13073, i32 noundef %13075) #11
  br label %13077

13077:                                            ; preds = %13060, %13043
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %13078

13078:                                            ; preds = %13077
  br label %13079

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

13080:                                            ; No predecessors!
  br label %13081

13081:                                            ; preds = %13080
  br label %13082

13082:                                            ; preds = %13081, %13019
  br label %13083

13083:                                            ; preds = %13082
  br label %13084

13084:                                            ; preds = %13083
  br label %13085

13085:                                            ; preds = %13084
  %13086 = load i32, ptr @test_count, align 4, !tbaa !5
  %13087 = add nsw i32 %13086, 1
  store i32 %13087, ptr @test_count, align 4, !tbaa !5
  %13088 = load ptr, ptr %327, align 8, !tbaa !9
  %13089 = call i32 @s2n_connection_wipe(ptr noundef %13088)
  %13090 = icmp eq i32 %13089, -1
  br i1 %13090, label %13091, label %13144

13091:                                            ; preds = %13085
  br label %13092

13092:                                            ; preds = %13091
  br label %13093

13093:                                            ; preds = %13092
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %13094 = call ptr @__errno_location() #12
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  store i32 %13095, ptr %349, align 4, !tbaa !5
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = call i32 @s2n_print_stacktrace(ptr noundef %13096)
  %13098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13099 = trunc i8 %13098 to i1
  br i1 %13099, label %13100, label %13122

13100:                                            ; preds = %13093
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = call i32 @fileno(ptr noundef %13101) #11
  %13103 = call i32 @isatty(i32 noundef %13102) #11
  %13104 = icmp ne i32 %13103, 0
  br i1 %13104, label %13105, label %13122

13105:                                            ; preds = %13100
  %13106 = load i32, ptr %349, align 4, !tbaa !5
  %13107 = call ptr @__errno_location() #12
  store i32 %13106, ptr %13107, align 4, !tbaa !5
  %13108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13109 = load i32, ptr @test_count, align 4, !tbaa !5
  %13110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13111 = load i32, ptr %13110, align 4, !tbaa !5
  %13112 = call ptr @s2n_strerror(i32 noundef %13111, ptr noundef @.str.4)
  %13113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13114 = load i32, ptr %13113, align 4, !tbaa !5
  %13115 = call ptr @s2n_strerror_debug(i32 noundef %13114, ptr noundef @.str.4)
  %13116 = call ptr @__errno_location() #12
  %13117 = load i32, ptr %13116, align 4, !tbaa !5
  %13118 = call ptr @strerror(i32 noundef %13117) #11
  %13119 = call ptr @__errno_location() #12
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  %13121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13108, ptr noundef @.str.2, i32 noundef %13109, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 613, ptr noundef %13112, ptr noundef %13115, ptr noundef %13118, i32 noundef %13120) #11
  br label %13139

13122:                                            ; preds = %13100, %13093
  %13123 = load i32, ptr %349, align 4, !tbaa !5
  %13124 = call ptr @__errno_location() #12
  store i32 %13123, ptr %13124, align 4, !tbaa !5
  %13125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13126 = load i32, ptr @test_count, align 4, !tbaa !5
  %13127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13128 = load i32, ptr %13127, align 4, !tbaa !5
  %13129 = call ptr @s2n_strerror(i32 noundef %13128, ptr noundef @.str.4)
  %13130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13131 = load i32, ptr %13130, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror_debug(i32 noundef %13131, ptr noundef @.str.4)
  %13133 = call ptr @__errno_location() #12
  %13134 = load i32, ptr %13133, align 4, !tbaa !5
  %13135 = call ptr @strerror(i32 noundef %13134) #11
  %13136 = call ptr @__errno_location() #12
  %13137 = load i32, ptr %13136, align 4, !tbaa !5
  %13138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13125, ptr noundef @.str.5, i32 noundef %13126, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 613, ptr noundef %13129, ptr noundef %13132, ptr noundef %13135, i32 noundef %13137) #11
  br label %13139

13139:                                            ; preds = %13122, %13105
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %13140

13140:                                            ; preds = %13139
  br label %13141

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

13142:                                            ; No predecessors!
  br label %13143

13143:                                            ; preds = %13142
  br label %13144

13144:                                            ; preds = %13143, %13085
  br label %13145

13145:                                            ; preds = %13144
  br label %13146

13146:                                            ; preds = %13145
  br label %13147

13147:                                            ; preds = %13146
  %13148 = load i32, ptr @test_count, align 4, !tbaa !5
  %13149 = add nsw i32 %13148, 1
  store i32 %13149, ptr @test_count, align 4, !tbaa !5
  %13150 = load ptr, ptr %329, align 8, !tbaa !9
  %13151 = call i32 @s2n_connection_wipe(ptr noundef %13150)
  %13152 = icmp eq i32 %13151, -1
  br i1 %13152, label %13153, label %13206

13153:                                            ; preds = %13147
  br label %13154

13154:                                            ; preds = %13153
  br label %13155

13155:                                            ; preds = %13154
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %13156 = call ptr @__errno_location() #12
  %13157 = load i32, ptr %13156, align 4, !tbaa !5
  store i32 %13157, ptr %350, align 4, !tbaa !5
  %13158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13159 = call i32 @s2n_print_stacktrace(ptr noundef %13158)
  %13160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13161 = trunc i8 %13160 to i1
  br i1 %13161, label %13162, label %13184

13162:                                            ; preds = %13155
  %13163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13164 = call i32 @fileno(ptr noundef %13163) #11
  %13165 = call i32 @isatty(i32 noundef %13164) #11
  %13166 = icmp ne i32 %13165, 0
  br i1 %13166, label %13167, label %13184

13167:                                            ; preds = %13162
  %13168 = load i32, ptr %350, align 4, !tbaa !5
  %13169 = call ptr @__errno_location() #12
  store i32 %13168, ptr %13169, align 4, !tbaa !5
  %13170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13171 = load i32, ptr @test_count, align 4, !tbaa !5
  %13172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13173 = load i32, ptr %13172, align 4, !tbaa !5
  %13174 = call ptr @s2n_strerror(i32 noundef %13173, ptr noundef @.str.4)
  %13175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13176 = load i32, ptr %13175, align 4, !tbaa !5
  %13177 = call ptr @s2n_strerror_debug(i32 noundef %13176, ptr noundef @.str.4)
  %13178 = call ptr @__errno_location() #12
  %13179 = load i32, ptr %13178, align 4, !tbaa !5
  %13180 = call ptr @strerror(i32 noundef %13179) #11
  %13181 = call ptr @__errno_location() #12
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  %13183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13170, ptr noundef @.str.2, i32 noundef %13171, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 614, ptr noundef %13174, ptr noundef %13177, ptr noundef %13180, i32 noundef %13182) #11
  br label %13201

13184:                                            ; preds = %13162, %13155
  %13185 = load i32, ptr %350, align 4, !tbaa !5
  %13186 = call ptr @__errno_location() #12
  store i32 %13185, ptr %13186, align 4, !tbaa !5
  %13187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13188 = load i32, ptr @test_count, align 4, !tbaa !5
  %13189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13190 = load i32, ptr %13189, align 4, !tbaa !5
  %13191 = call ptr @s2n_strerror(i32 noundef %13190, ptr noundef @.str.4)
  %13192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13193 = load i32, ptr %13192, align 4, !tbaa !5
  %13194 = call ptr @s2n_strerror_debug(i32 noundef %13193, ptr noundef @.str.4)
  %13195 = call ptr @__errno_location() #12
  %13196 = load i32, ptr %13195, align 4, !tbaa !5
  %13197 = call ptr @strerror(i32 noundef %13196) #11
  %13198 = call ptr @__errno_location() #12
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13187, ptr noundef @.str.5, i32 noundef %13188, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 614, ptr noundef %13191, ptr noundef %13194, ptr noundef %13197, i32 noundef %13199) #11
  br label %13201

13201:                                            ; preds = %13184, %13167
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %13202

13202:                                            ; preds = %13201
  br label %13203

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

13204:                                            ; No predecessors!
  br label %13205

13205:                                            ; preds = %13204
  br label %13206

13206:                                            ; preds = %13205, %13147
  br label %13207

13207:                                            ; preds = %13206
  br label %13208

13208:                                            ; preds = %13207
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %341) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  %13209 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %333)
  %13210 = getelementptr inbounds %struct.s2n_result, ptr %351, i32 0, i32 0
  store i32 %13209, ptr %13210, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %333) #11
  br label %13211

13211:                                            ; preds = %13208
  %13212 = load i64, ptr %332, align 8, !tbaa !15
  %13213 = add i64 %13212, 1
  store i64 %13213, ptr %332, align 8, !tbaa !15
  br label %12434, !llvm.loop !75

13214:                                            ; preds = %12437
  call void @llvm.lifetime.end.p0(i64 48, ptr %331) #11
  %13215 = call i32 @s2n_connection_ptr_free(ptr noundef %329)
  %13216 = getelementptr inbounds %struct.s2n_result, ptr %352, i32 0, i32 0
  store i32 %13215, ptr %13216, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %329) #11
  %13217 = call i32 @s2n_connection_ptr_free(ptr noundef %327)
  %13218 = getelementptr inbounds %struct.s2n_result, ptr %353, i32 0, i32 0
  store i32 %13217, ptr %13218, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #11
  br label %13219

13219:                                            ; preds = %13214
  br label %13220

13220:                                            ; preds = %13219
  %13221 = call i32 @s2n_cleanup()
  %13222 = icmp eq i32 %13221, -1
  br i1 %13222, label %13223, label %13276

13223:                                            ; preds = %13220
  br label %13224

13224:                                            ; preds = %13223
  br label %13225

13225:                                            ; preds = %13224
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %13226 = call ptr @__errno_location() #12
  %13227 = load i32, ptr %13226, align 4, !tbaa !5
  store i32 %13227, ptr %354, align 4, !tbaa !5
  %13228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13229 = call i32 @s2n_print_stacktrace(ptr noundef %13228)
  %13230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13231 = trunc i8 %13230 to i1
  br i1 %13231, label %13232, label %13254

13232:                                            ; preds = %13225
  %13233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13234 = call i32 @fileno(ptr noundef %13233) #11
  %13235 = call i32 @isatty(i32 noundef %13234) #11
  %13236 = icmp ne i32 %13235, 0
  br i1 %13236, label %13237, label %13254

13237:                                            ; preds = %13232
  %13238 = load i32, ptr %354, align 4, !tbaa !5
  %13239 = call ptr @__errno_location() #12
  store i32 %13238, ptr %13239, align 4, !tbaa !5
  %13240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13241 = load i32, ptr @test_count, align 4, !tbaa !5
  %13242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  %13244 = call ptr @s2n_strerror(i32 noundef %13243, ptr noundef @.str.4)
  %13245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror_debug(i32 noundef %13246, ptr noundef @.str.4)
  %13248 = call ptr @__errno_location() #12
  %13249 = load i32, ptr %13248, align 4, !tbaa !5
  %13250 = call ptr @strerror(i32 noundef %13249) #11
  %13251 = call ptr @__errno_location() #12
  %13252 = load i32, ptr %13251, align 4, !tbaa !5
  %13253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13240, ptr noundef @.str.2, i32 noundef %13241, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 618, ptr noundef %13244, ptr noundef %13247, ptr noundef %13250, i32 noundef %13252) #11
  br label %13271

13254:                                            ; preds = %13232, %13225
  %13255 = load i32, ptr %354, align 4, !tbaa !5
  %13256 = call ptr @__errno_location() #12
  store i32 %13255, ptr %13256, align 4, !tbaa !5
  %13257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13258 = load i32, ptr @test_count, align 4, !tbaa !5
  %13259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13260 = load i32, ptr %13259, align 4, !tbaa !5
  %13261 = call ptr @s2n_strerror(i32 noundef %13260, ptr noundef @.str.4)
  %13262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13263 = load i32, ptr %13262, align 4, !tbaa !5
  %13264 = call ptr @s2n_strerror_debug(i32 noundef %13263, ptr noundef @.str.4)
  %13265 = call ptr @__errno_location() #12
  %13266 = load i32, ptr %13265, align 4, !tbaa !5
  %13267 = call ptr @strerror(i32 noundef %13266) #11
  %13268 = call ptr @__errno_location() #12
  %13269 = load i32, ptr %13268, align 4, !tbaa !5
  %13270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13257, ptr noundef @.str.5, i32 noundef %13258, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 618, ptr noundef %13261, ptr noundef %13264, ptr noundef %13267, i32 noundef %13269) #11
  br label %13271

13271:                                            ; preds = %13254, %13237
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %13272

13272:                                            ; preds = %13271
  br label %13273

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

13274:                                            ; No predecessors!
  br label %13275

13275:                                            ; preds = %13274
  br label %13276

13276:                                            ; preds = %13275, %13220
  br label %13277

13277:                                            ; preds = %13276
  br label %13278

13278:                                            ; preds = %13277
  br label %13279

13279:                                            ; preds = %13278
  br label %13280

13280:                                            ; preds = %13279
  %13281 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %13282 = icmp eq i32 %13281, -1
  br i1 %13282, label %13283, label %13336

13283:                                            ; preds = %13280
  br label %13284

13284:                                            ; preds = %13283
  br label %13285

13285:                                            ; preds = %13284
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %13286 = call ptr @__errno_location() #12
  %13287 = load i32, ptr %13286, align 4, !tbaa !5
  store i32 %13287, ptr %355, align 4, !tbaa !5
  %13288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13289 = call i32 @s2n_print_stacktrace(ptr noundef %13288)
  %13290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13291 = trunc i8 %13290 to i1
  br i1 %13291, label %13292, label %13314

13292:                                            ; preds = %13285
  %13293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13294 = call i32 @fileno(ptr noundef %13293) #11
  %13295 = call i32 @isatty(i32 noundef %13294) #11
  %13296 = icmp ne i32 %13295, 0
  br i1 %13296, label %13297, label %13314

13297:                                            ; preds = %13292
  %13298 = load i32, ptr %355, align 4, !tbaa !5
  %13299 = call ptr @__errno_location() #12
  store i32 %13298, ptr %13299, align 4, !tbaa !5
  %13300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13301 = load i32, ptr @test_count, align 4, !tbaa !5
  %13302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13303 = load i32, ptr %13302, align 4, !tbaa !5
  %13304 = call ptr @s2n_strerror(i32 noundef %13303, ptr noundef @.str.4)
  %13305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13306 = load i32, ptr %13305, align 4, !tbaa !5
  %13307 = call ptr @s2n_strerror_debug(i32 noundef %13306, ptr noundef @.str.4)
  %13308 = call ptr @__errno_location() #12
  %13309 = load i32, ptr %13308, align 4, !tbaa !5
  %13310 = call ptr @strerror(i32 noundef %13309) #11
  %13311 = call ptr @__errno_location() #12
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  %13313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13300, ptr noundef @.str.2, i32 noundef %13301, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 618, ptr noundef %13304, ptr noundef %13307, ptr noundef %13310, i32 noundef %13312) #11
  br label %13331

13314:                                            ; preds = %13292, %13285
  %13315 = load i32, ptr %355, align 4, !tbaa !5
  %13316 = call ptr @__errno_location() #12
  store i32 %13315, ptr %13316, align 4, !tbaa !5
  %13317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13318 = load i32, ptr @test_count, align 4, !tbaa !5
  %13319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13320 = load i32, ptr %13319, align 4, !tbaa !5
  %13321 = call ptr @s2n_strerror(i32 noundef %13320, ptr noundef @.str.4)
  %13322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13323 = load i32, ptr %13322, align 4, !tbaa !5
  %13324 = call ptr @s2n_strerror_debug(i32 noundef %13323, ptr noundef @.str.4)
  %13325 = call ptr @__errno_location() #12
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call ptr @strerror(i32 noundef %13326) #11
  %13328 = call ptr @__errno_location() #12
  %13329 = load i32, ptr %13328, align 4, !tbaa !5
  %13330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13317, ptr noundef @.str.5, i32 noundef %13318, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 618, ptr noundef %13321, ptr noundef %13324, ptr noundef %13327, i32 noundef %13329) #11
  br label %13331

13331:                                            ; preds = %13314, %13297
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %13332

13332:                                            ; preds = %13331
  br label %13333

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

13334:                                            ; No predecessors!
  br label %13335

13335:                                            ; preds = %13334
  br label %13336

13336:                                            ; preds = %13335, %13280
  br label %13337

13337:                                            ; preds = %13336
  br label %13338

13338:                                            ; preds = %13337
  %13339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13340 = trunc i8 %13339 to i1
  br i1 %13340, label %13341, label %13357

13341:                                            ; preds = %13338
  %13342 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13343 = call i32 @fileno(ptr noundef %13342) #11
  %13344 = call i32 @isatty(i32 noundef %13343) #11
  %13345 = icmp ne i32 %13344, 0
  br i1 %13345, label %13346, label %13357

13346:                                            ; preds = %13341
  %13347 = load i32, ptr @test_count, align 4, !tbaa !5
  %13348 = icmp ne i32 %13347, 0
  br i1 %13348, label %13349, label %13353

13349:                                            ; preds = %13346
  %13350 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13351 = load i32, ptr @test_count, align 4, !tbaa !5
  %13352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13350, ptr noundef @.str.79, i32 noundef %13351) #11
  br label %13356

13353:                                            ; preds = %13346
  %13354 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13354, ptr noundef @.str.80) #11
  br label %13356

13356:                                            ; preds = %13353, %13349
  br label %13368

13357:                                            ; preds = %13341, %13338
  %13358 = load i32, ptr @test_count, align 4, !tbaa !5
  %13359 = icmp ne i32 %13358, 0
  br i1 %13359, label %13360, label %13364

13360:                                            ; preds = %13357
  %13361 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13362 = load i32, ptr @test_count, align 4, !tbaa !5
  %13363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13361, ptr noundef @.str.81, i32 noundef %13362) #11
  br label %13367

13364:                                            ; preds = %13357
  %13365 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13365, ptr noundef @.str.82) #11
  br label %13367

13367:                                            ; preds = %13364, %13360
  br label %13368

13368:                                            ; preds = %13367, %13356
  store i32 0, ptr %3, align 4
  store i32 1, ptr %97, align 4
  br label %13373

13369:                                            ; No predecessors!
  br label %13370

13370:                                            ; preds = %13369
  br label %13371

13371:                                            ; preds = %13370
  br label %13372

13372:                                            ; preds = %13371
  store i32 0, ptr %97, align 4
  br label %13373

13373:                                            ; preds = %13372, %13368
  call void @llvm.lifetime.end.p0(i64 54, ptr %229) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  %13374 = call i32 @s2n_config_ptr_free(ptr noundef %17)
  %13375 = getelementptr inbounds %struct.s2n_result, ptr %356, i32 0, i32 0
  store i32 %13374, ptr %13375, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  %13376 = call i32 @s2n_config_ptr_free(ptr noundef %13)
  %13377 = getelementptr inbounds %struct.s2n_result, ptr %357, i32 0, i32 0
  store i32 %13376, ptr %13377, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #11
  %13378 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %11)
  %13379 = getelementptr inbounds %struct.s2n_result, ptr %358, i32 0, i32 0
  store i32 %13378, ptr %13379, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 20, ptr %9) #11
  %13380 = load i32, ptr %97, align 4
  switch i32 %13380, label %13383 [
    i32 0, label %13381
    i32 1, label %13381
  ]

13381:                                            ; preds = %13373, %13373
  %13382 = load i32, ptr %3, align 4
  ret i32 %13382

13383:                                            ; preds = %13373
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

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

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_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) #2

declare i32 @s2n_config_set_recv_multi_record(ptr noundef, i1 noundef zeroext) #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

; 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_io_stuffer_pair_free(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #9

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

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

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) #2

declare i32 @s2n_connection_set_recv_buffering(ptr noundef, i1 noundef zeroext) #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 i32 @s2n_free(ptr noundef) #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_release_buffers(ptr noundef) #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #2

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) #2

declare i32 @s2n_peek_buffered(ptr noundef) #2

declare i32 @s2n_peek(ptr noundef) #2

declare i32 @s2n_connection_wipe(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind 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 = !{!18, !6, i64 68}
!18 = !{!"s2n_test_io_stuffer_pair", !19, i64 0, !19, i64 40}
!19 = !{!"s2n_stuffer", !20, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!20 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!21 = !{!18, !6, i64 64}
!22 = !{!23, !16, i64 0}
!23 = !{!"s2n_recv_wrapper", !16, i64 0, !10, i64 8, !10, i64 16}
!24 = !{!25, !38, i64 2208}
!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, !33, i64 1144, !36, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !19, i64 1776, !19, i64 1816, !19, i64 1856, !19, i64 1896, !6, i64 1936, !16, i64 1944, !7, i64 1952, !19, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !39, i64 2004, !39, i64 2008, !40, i64 2016, !38, i64 2208, !6, i64 2212, !38, i64 2216, !16, i64 2224, !7, i64 2232, !16, i64 2240, !16, i64 2248, !16, i64 2256, !39, i64 2264, !39, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !20, i64 2792, !6, i64 2816, !20, i64 2824, !20, i64 2848, !20, i64 2872, !42, i64 2896, !44, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !20, i64 3784, !6, i64 3808, !46, i64 3816, !7, i64 3848, !19, i64 3992, !20, i64 4032, !20, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !38, i64 4084, !38, i64 4086, !6, i64 4088, !6, i64 4092, !20, i64 4096, !6, i64 4120, !47, i64 4128, !39, 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, !20, i64 448, !20, 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, !20, i64 8, !20, i64 32, !20, i64 56, !12, i64 80}
!33 = !{!"s2n_handshake_parameters", !34, i64 0, !34, i64 48, !20, i64 96, !6, i64 120, !35, 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}
!34 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!35 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!36 = !{!"s2n_psk_parameters", !6, i64 0, !37, i64 8, !38, i64 40, !38, i64 42, !10, i64 48, !6, i64 56}
!37 = !{!"s2n_array", !20, i64 0, !6, i64 24, !6, i64 28}
!38 = !{!"short", !7, i64 0}
!39 = !{!"", !6, i64 0}
!40 = !{!"s2n_handshake", !19, 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, !41, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!41 = !{!"s2n_offered_early_data", !10, i64 0}
!42 = !{!"s2n_client_hello", !20, i64 0, !43, i64 24, !20, i64 728, !20, i64 752, !20, 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}
!43 = !{!"", !7, i64 0, !20, i64 672, !38, i64 696}
!44 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !38, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !45, i64 48, !12, i64 52}
!45 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!46 = !{!"s2n_ticket_fields", !20, i64 0, !6, i64 24}
!47 = !{!"s2n_post_handshake", !19, i64 0, !7, i64 40}
!48 = !{!20, !10, i64 0}
!49 = !{!20, !6, i64 8}
!50 = !{!25, !6, i64 1824}
!51 = !{!25, !6, i64 1844}
!52 = distinct !{!52, !53}
!53 = !{!"llvm.loop.mustprogress"}
!54 = distinct !{!54, !53}
!55 = !{!25, !6, i64 1828}
!56 = distinct !{!56, !53}
!57 = distinct !{!57, !53}
!58 = distinct !{!58, !53}
!59 = distinct !{!59, !53}
!60 = !{!61, !38, i64 0}
!61 = !{!"", !38, i64 0, !38, i64 2, !7, i64 4}
!62 = !{!61, !38, i64 2}
!63 = !{!61, !7, i64 4}
!64 = !{!38, !38, i64 0}
!65 = distinct !{!65, !53}
!66 = distinct !{!66, !53}
!67 = !{!25, !6, i64 1840}
!68 = distinct !{!68, !53}
!69 = !{!25, !6, i64 1884}
!70 = !{!25, !6, i64 1880}
!71 = !{!72, !6, i64 0}
!72 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8}
!73 = !{!72, !6, i64 4}
!74 = !{!72, !6, i64 8}
!75 = distinct !{!75, !53}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_recv_wrapper = type { i64, ptr, ptr }
%struct.anon = type { i16, i16, i8 }
%struct.anon.0 = type { i32, 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
@__const.main.test_data = external hidden unnamed_addr constant [20 x i8], align 16
@.str.8 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [20 x i8], align 16
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %10 = alloca %struct.s2n_recv_wrapper, align 8
  %11 = alloca i32, align 4
  %12 = alloca [20 x i8], align 16
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %19 = alloca %struct.s2n_recv_wrapper, align 8
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_blob, align 8
  %22 = alloca [20 x i8], align 16
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %26 = alloca %struct.s2n_recv_wrapper, align 8
  %27 = alloca i32, align 4
  %28 = alloca [20 x i8], align 16
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %32 = alloca %struct.s2n_recv_wrapper, align 8
  %33 = alloca i32, align 4
  %34 = alloca [20 x i8], align 16
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %38 = alloca %struct.s2n_recv_wrapper, align 8
  %39 = alloca i32, align 4
  %40 = alloca [20 x i8], align 16
  %41 = alloca i32, align 4
  %42 = alloca [20 x i8], align 16
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %46 = alloca %struct.s2n_recv_wrapper, align 8
  %47 = alloca i32, align 4
  %48 = alloca [20 x i8], align 16
  %49 = alloca [9 x %struct.anon], align 16
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %53 = alloca %struct.s2n_recv_wrapper, align 8
  %54 = alloca i32, align 4
  %55 = alloca [20 x i8], align 16
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %59 = alloca i32, align 4
  %60 = alloca [20 x i8], align 16
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %64 = alloca i32, align 4
  %65 = alloca [20 x i8], align 16
  %66 = alloca ptr, align 8
  %67 = alloca ptr, align 8
  %68 = alloca [4 x %struct.anon.0], align 16
  %69 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %70 = alloca i32, align 4
  %71 = alloca [40 x i8], align 16
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %72 = load ptr, ptr @stdout, align 8, !tbaa !9
  %73 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %72, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %74 = load ptr, ptr @stdout, align 8, !tbaa !9
  %75 = tail call i32 @fflush(ptr noundef %74)
  %76 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %77 = icmp eq i32 %76, -1
  br i1 %77, label %78, label %102

78:                                               ; preds = %2
  %79 = tail call ptr @__errno_location() #13
  %80 = load i32, ptr %79, align 4, !tbaa !5
  %81 = load ptr, ptr @stderr, align 8, !tbaa !9
  %82 = tail call i32 @s2n_print_stacktrace(ptr noundef %81) #12
  %83 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %84 = trunc nuw i8 %83 to i1
  br i1 %84, label %85, label %89

85:                                               ; preds = %78
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = tail call i32 @fileno(ptr noundef %86) #12
  %88 = tail call i32 @isatty(i32 noundef %87) #12
  %.not785 = icmp eq i32 %88, 0
  br i1 %.not785, label %89, label %90

89:                                               ; preds = %85, %78
  br label %90

90:                                               ; preds = %85, %89
  %.str.5.sink = phi ptr [ @.str.5, %89 ], [ @.str.2, %85 ]
  store i32 %80, ptr %79, align 4, !tbaa !5
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = load i32, ptr @test_count, align 4, !tbaa !5
  %93 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = tail call ptr @s2n_strerror(i32 noundef %94, ptr noundef nonnull @.str.4) #12
  %96 = load i32, ptr %93, align 4, !tbaa !5
  %97 = tail call ptr @s2n_strerror_debug(i32 noundef %96, ptr noundef nonnull @.str.4) #12
  %98 = load i32, ptr %79, align 4, !tbaa !5
  %99 = tail call ptr @strerror(i32 noundef %98) #12
  %100 = load i32, ptr %79, align 4, !tbaa !5
  %101 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %91, ptr noundef nonnull %.str.5.sink, i32 noundef %92, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %95, ptr noundef %97, ptr noundef %99, i32 noundef %100) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

102:                                              ; preds = %2
  %103 = load i32, ptr @test_count, align 4, !tbaa !5
  %104 = add nsw i32 %103, 1
  store i32 %104, ptr @test_count, align 4, !tbaa !5
  %105 = tail call i32 @s2n_enable_atexit() #12
  %106 = icmp eq i32 %105, -1
  br i1 %106, label %107, label %131

107:                                              ; preds = %102
  %108 = tail call ptr @__errno_location() #13
  %109 = load i32, ptr %108, align 4, !tbaa !5
  %110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %111 = tail call i32 @s2n_print_stacktrace(ptr noundef %110) #12
  %112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %113 = trunc nuw i8 %112 to i1
  br i1 %113, label %114, label %118

114:                                              ; preds = %107
  %115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %116 = tail call i32 @fileno(ptr noundef %115) #12
  %117 = tail call i32 @isatty(i32 noundef %116) #12
  %.not784 = icmp eq i32 %117, 0
  br i1 %.not784, label %118, label %119

118:                                              ; preds = %114, %107
  br label %119

119:                                              ; preds = %114, %118
  %.str.5.sink882 = phi ptr [ @.str.5, %118 ], [ @.str.2, %114 ]
  store i32 %109, ptr %108, align 4, !tbaa !5
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = load i32, ptr @test_count, align 4, !tbaa !5
  %122 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %123 = load i32, ptr %122, align 4, !tbaa !5
  %124 = tail call ptr @s2n_strerror(i32 noundef %123, ptr noundef nonnull @.str.4) #12
  %125 = load i32, ptr %122, align 4, !tbaa !5
  %126 = tail call ptr @s2n_strerror_debug(i32 noundef %125, ptr noundef nonnull @.str.4) #12
  %127 = load i32, ptr %108, align 4, !tbaa !5
  %128 = tail call ptr @strerror(i32 noundef %127) #12
  %129 = load i32, ptr %108, align 4, !tbaa !5
  %130 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %120, ptr noundef nonnull %.str.5.sink882, i32 noundef %121, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %124, ptr noundef %126, ptr noundef %128, i32 noundef %129) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

131:                                              ; preds = %102
  %132 = tail call i32 @s2n_init() #12
  %133 = icmp eq i32 %132, -1
  br i1 %133, label %134, label %158

134:                                              ; preds = %131
  %135 = tail call ptr @__errno_location() #13
  %136 = load i32, ptr %135, align 4, !tbaa !5
  %137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %138 = tail call i32 @s2n_print_stacktrace(ptr noundef %137) #12
  %139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %140 = trunc nuw i8 %139 to i1
  br i1 %140, label %141, label %145

141:                                              ; preds = %134
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = tail call i32 @fileno(ptr noundef %142) #12
  %144 = tail call i32 @isatty(i32 noundef %143) #12
  %.not783 = icmp eq i32 %144, 0
  br i1 %.not783, label %145, label %146

145:                                              ; preds = %141, %134
  br label %146

146:                                              ; preds = %141, %145
  %.str.5.sink893 = phi ptr [ @.str.5, %145 ], [ @.str.2, %141 ]
  store i32 %136, ptr %135, align 4, !tbaa !5
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = load i32, ptr @test_count, align 4, !tbaa !5
  %149 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %150 = load i32, ptr %149, align 4, !tbaa !5
  %151 = tail call ptr @s2n_strerror(i32 noundef %150, ptr noundef nonnull @.str.4) #12
  %152 = load i32, ptr %149, align 4, !tbaa !5
  %153 = tail call ptr @s2n_strerror_debug(i32 noundef %152, ptr noundef nonnull @.str.4) #12
  %154 = load i32, ptr %135, align 4, !tbaa !5
  %155 = tail call ptr @strerror(i32 noundef %154) #12
  %156 = load i32, ptr %135, align 4, !tbaa !5
  %157 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %147, ptr noundef nonnull %.str.5.sink893, i32 noundef %148, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %151, ptr noundef %153, ptr noundef %155, i32 noundef %156) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

158:                                              ; preds = %131
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %3, ptr noundef nonnull align 16 dereferenceable(20) @__const.main.test_data, i64 20, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  %159 = load i32, ptr @test_count, align 4, !tbaa !5
  %160 = add nsw i32 %159, 1
  store i32 %160, ptr @test_count, align 4, !tbaa !5
  %161 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %4, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.9) #12
  %162 = icmp eq i32 %161, -1
  br i1 %162, label %163, label %187

163:                                              ; preds = %158
  %164 = tail call ptr @__errno_location() #13
  %165 = load i32, ptr %164, align 4, !tbaa !5
  %166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %167 = call i32 @s2n_print_stacktrace(ptr noundef %166) #12
  %168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %169 = trunc nuw i8 %168 to i1
  br i1 %169, label %170, label %174

170:                                              ; preds = %163
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = call i32 @fileno(ptr noundef %171) #12
  %173 = call i32 @isatty(i32 noundef %172) #12
  %.not782 = icmp eq i32 %173, 0
  br i1 %.not782, label %174, label %175

174:                                              ; preds = %170, %163
  br label %175

175:                                              ; preds = %170, %174
  %.str.5.sink904 = phi ptr [ @.str.5, %174 ], [ @.str.2, %170 ]
  store i32 %165, ptr %164, align 4, !tbaa !5
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = load i32, ptr @test_count, align 4, !tbaa !5
  %178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %179 = load i32, ptr %178, align 4, !tbaa !5
  %180 = call ptr @s2n_strerror(i32 noundef %179, ptr noundef nonnull @.str.4) #12
  %181 = load i32, ptr %178, align 4, !tbaa !5
  %182 = call ptr @s2n_strerror_debug(i32 noundef %181, ptr noundef nonnull @.str.4) #12
  %183 = load i32, ptr %164, align 4, !tbaa !5
  %184 = call ptr @strerror(i32 noundef %183) #12
  %185 = load i32, ptr %164, align 4, !tbaa !5
  %186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %176, ptr noundef nonnull %.str.5.sink904, i32 noundef %177, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 60, ptr noundef %180, ptr noundef %182, ptr noundef %184, i32 noundef %185) #14
  call void @exit(i32 noundef 1) #15
  unreachable

187:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %188 = call ptr @s2n_config_new() #12
  store ptr %188, ptr %5, align 8, !tbaa !9
  %189 = load i32, ptr @test_count, align 4, !tbaa !5
  %190 = add nsw i32 %189, 1
  store i32 %190, ptr @test_count, align 4, !tbaa !5
  %191 = load ptr, ptr %4, align 8, !tbaa !9
  %192 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %188, ptr noundef %191) #12
  %193 = icmp eq i32 %192, -1
  br i1 %193, label %194, label %218

194:                                              ; preds = %187
  %195 = tail call ptr @__errno_location() #13
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %198 = call i32 @s2n_print_stacktrace(ptr noundef %197) #12
  %199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %200 = trunc nuw i8 %199 to i1
  br i1 %200, label %201, label %205

201:                                              ; preds = %194
  %202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %203 = call i32 @fileno(ptr noundef %202) #12
  %204 = call i32 @isatty(i32 noundef %203) #12
  %.not781 = icmp eq i32 %204, 0
  br i1 %.not781, label %205, label %206

205:                                              ; preds = %201, %194
  br label %206

206:                                              ; preds = %201, %205
  %.str.5.sink915 = phi ptr [ @.str.5, %205 ], [ @.str.2, %201 ]
  store i32 %196, ptr %195, align 4, !tbaa !5
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = load i32, ptr @test_count, align 4, !tbaa !5
  %209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %210 = load i32, ptr %209, align 4, !tbaa !5
  %211 = call ptr @s2n_strerror(i32 noundef %210, ptr noundef nonnull @.str.4) #12
  %212 = load i32, ptr %209, align 4, !tbaa !5
  %213 = call ptr @s2n_strerror_debug(i32 noundef %212, ptr noundef nonnull @.str.4) #12
  %214 = load i32, ptr %195, align 4, !tbaa !5
  %215 = call ptr @strerror(i32 noundef %214) #12
  %216 = load i32, ptr %195, align 4, !tbaa !5
  %217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %207, ptr noundef nonnull %.str.5.sink915, i32 noundef %208, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %211, ptr noundef %213, ptr noundef %215, i32 noundef %216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

218:                                              ; preds = %187
  %219 = load i32, ptr @test_count, align 4, !tbaa !5
  %220 = add nsw i32 %219, 1
  store i32 %220, ptr @test_count, align 4, !tbaa !5
  %221 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %188, ptr noundef nonnull @.str.12) #12
  %222 = icmp eq i32 %221, -1
  br i1 %222, label %223, label %247

223:                                              ; preds = %218
  %224 = tail call ptr @__errno_location() #13
  %225 = load i32, ptr %224, align 4, !tbaa !5
  %226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %227 = call i32 @s2n_print_stacktrace(ptr noundef %226) #12
  %228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %229 = trunc nuw i8 %228 to i1
  br i1 %229, label %230, label %234

230:                                              ; preds = %223
  %231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %232 = call i32 @fileno(ptr noundef %231) #12
  %233 = call i32 @isatty(i32 noundef %232) #12
  %.not780 = icmp eq i32 %233, 0
  br i1 %.not780, label %234, label %235

234:                                              ; preds = %230, %223
  br label %235

235:                                              ; preds = %230, %234
  %.str.5.sink926 = phi ptr [ @.str.5, %234 ], [ @.str.2, %230 ]
  store i32 %225, ptr %224, align 4, !tbaa !5
  %236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %237 = load i32, ptr @test_count, align 4, !tbaa !5
  %238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = call ptr @s2n_strerror(i32 noundef %239, ptr noundef nonnull @.str.4) #12
  %241 = load i32, ptr %238, align 4, !tbaa !5
  %242 = call ptr @s2n_strerror_debug(i32 noundef %241, ptr noundef nonnull @.str.4) #12
  %243 = load i32, ptr %224, align 4, !tbaa !5
  %244 = call ptr @strerror(i32 noundef %243) #12
  %245 = load i32, ptr %224, align 4, !tbaa !5
  %246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %236, ptr noundef nonnull %.str.5.sink926, i32 noundef %237, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %240, ptr noundef %242, ptr noundef %244, i32 noundef %245) #14
  call void @exit(i32 noundef 1) #15
  unreachable

247:                                              ; preds = %218
  %248 = load i32, ptr @test_count, align 4, !tbaa !5
  %249 = add nsw i32 %248, 1
  store i32 %249, ptr @test_count, align 4, !tbaa !5
  %250 = call i32 @s2n_config_disable_x509_verification(ptr noundef %188) #12
  %251 = icmp eq i32 %250, -1
  br i1 %251, label %252, label %276

252:                                              ; preds = %247
  %253 = tail call ptr @__errno_location() #13
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %256 = call i32 @s2n_print_stacktrace(ptr noundef %255) #12
  %257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %258 = trunc nuw i8 %257 to i1
  br i1 %258, label %259, label %263

259:                                              ; preds = %252
  %260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %261 = call i32 @fileno(ptr noundef %260) #12
  %262 = call i32 @isatty(i32 noundef %261) #12
  %.not779 = icmp eq i32 %262, 0
  br i1 %.not779, label %263, label %264

263:                                              ; preds = %259, %252
  br label %264

264:                                              ; preds = %259, %263
  %.str.5.sink937 = phi ptr [ @.str.5, %263 ], [ @.str.2, %259 ]
  store i32 %254, ptr %253, align 4, !tbaa !5
  %265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %266 = load i32, ptr @test_count, align 4, !tbaa !5
  %267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = call ptr @s2n_strerror(i32 noundef %268, ptr noundef nonnull @.str.4) #12
  %270 = load i32, ptr %267, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror_debug(i32 noundef %270, ptr noundef nonnull @.str.4) #12
  %272 = load i32, ptr %253, align 4, !tbaa !5
  %273 = call ptr @strerror(i32 noundef %272) #12
  %274 = load i32, ptr %253, align 4, !tbaa !5
  %275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %265, ptr noundef nonnull %.str.5.sink937, i32 noundef %266, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %269, ptr noundef %271, ptr noundef %273, i32 noundef %274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

276:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #12
  %277 = call ptr @s2n_config_new() #12
  store ptr %277, ptr %6, align 8, !tbaa !9
  %278 = load i32, ptr @test_count, align 4, !tbaa !5
  %279 = add nsw i32 %278, 1
  store i32 %279, ptr @test_count, align 4, !tbaa !5
  %280 = load ptr, ptr %4, align 8, !tbaa !9
  %281 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %277, ptr noundef %280) #12
  %282 = icmp eq i32 %281, -1
  br i1 %282, label %283, label %307

283:                                              ; preds = %276
  %284 = tail call ptr @__errno_location() #13
  %285 = load i32, ptr %284, align 4, !tbaa !5
  %286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %287 = call i32 @s2n_print_stacktrace(ptr noundef %286) #12
  %288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %289 = trunc nuw i8 %288 to i1
  br i1 %289, label %290, label %294

290:                                              ; preds = %283
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = call i32 @fileno(ptr noundef %291) #12
  %293 = call i32 @isatty(i32 noundef %292) #12
  %.not778 = icmp eq i32 %293, 0
  br i1 %.not778, label %294, label %295

294:                                              ; preds = %290, %283
  br label %295

295:                                              ; preds = %290, %294
  %.str.5.sink948 = phi ptr [ @.str.5, %294 ], [ @.str.2, %290 ]
  store i32 %285, ptr %284, align 4, !tbaa !5
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = call ptr @s2n_strerror(i32 noundef %299, ptr noundef nonnull @.str.4) #12
  %301 = load i32, ptr %298, align 4, !tbaa !5
  %302 = call ptr @s2n_strerror_debug(i32 noundef %301, ptr noundef nonnull @.str.4) #12
  %303 = load i32, ptr %284, align 4, !tbaa !5
  %304 = call ptr @strerror(i32 noundef %303) #12
  %305 = load i32, ptr %284, align 4, !tbaa !5
  %306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %296, ptr noundef nonnull %.str.5.sink948, i32 noundef %297, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %300, ptr noundef %302, ptr noundef %304, i32 noundef %305) #14
  call void @exit(i32 noundef 1) #15
  unreachable

307:                                              ; preds = %276
  %308 = load i32, ptr @test_count, align 4, !tbaa !5
  %309 = add nsw i32 %308, 1
  store i32 %309, ptr @test_count, align 4, !tbaa !5
  %310 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %277, ptr noundef nonnull @.str.12) #12
  %311 = icmp eq i32 %310, -1
  br i1 %311, label %312, label %336

312:                                              ; preds = %307
  %313 = tail call ptr @__errno_location() #13
  %314 = load i32, ptr %313, align 4, !tbaa !5
  %315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %316 = call i32 @s2n_print_stacktrace(ptr noundef %315) #12
  %317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %318 = trunc nuw i8 %317 to i1
  br i1 %318, label %319, label %323

319:                                              ; preds = %312
  %320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %321 = call i32 @fileno(ptr noundef %320) #12
  %322 = call i32 @isatty(i32 noundef %321) #12
  %.not777 = icmp eq i32 %322, 0
  br i1 %.not777, label %323, label %324

323:                                              ; preds = %319, %312
  br label %324

324:                                              ; preds = %319, %323
  %.str.5.sink959 = phi ptr [ @.str.5, %323 ], [ @.str.2, %319 ]
  store i32 %314, ptr %313, align 4, !tbaa !5
  %325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %326 = load i32, ptr @test_count, align 4, !tbaa !5
  %327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror(i32 noundef %328, ptr noundef nonnull @.str.4) #12
  %330 = load i32, ptr %327, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror_debug(i32 noundef %330, ptr noundef nonnull @.str.4) #12
  %332 = load i32, ptr %313, align 4, !tbaa !5
  %333 = call ptr @strerror(i32 noundef %332) #12
  %334 = load i32, ptr %313, align 4, !tbaa !5
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %325, ptr noundef nonnull %.str.5.sink959, i32 noundef %326, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %329, ptr noundef %331, ptr noundef %333, i32 noundef %334) #14
  call void @exit(i32 noundef 1) #15
  unreachable

336:                                              ; preds = %307
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = add nsw i32 %337, 1
  store i32 %338, ptr @test_count, align 4, !tbaa !5
  %339 = call i32 @s2n_config_disable_x509_verification(ptr noundef %277) #12
  %340 = icmp eq i32 %339, -1
  br i1 %340, label %341, label %365

341:                                              ; preds = %336
  %342 = tail call ptr @__errno_location() #13
  %343 = load i32, ptr %342, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @s2n_print_stacktrace(ptr noundef %344) #12
  %346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %347 = trunc nuw i8 %346 to i1
  br i1 %347, label %348, label %352

348:                                              ; preds = %341
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @fileno(ptr noundef %349) #12
  %351 = call i32 @isatty(i32 noundef %350) #12
  %.not776 = icmp eq i32 %351, 0
  br i1 %.not776, label %352, label %353

352:                                              ; preds = %348, %341
  br label %353

353:                                              ; preds = %348, %352
  %.str.5.sink970 = phi ptr [ @.str.5, %352 ], [ @.str.2, %348 ]
  store i32 %343, ptr %342, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror(i32 noundef %357, ptr noundef nonnull @.str.4) #12
  %359 = load i32, ptr %356, align 4, !tbaa !5
  %360 = call ptr @s2n_strerror_debug(i32 noundef %359, ptr noundef nonnull @.str.4) #12
  %361 = load i32, ptr %342, align 4, !tbaa !5
  %362 = call ptr @strerror(i32 noundef %361) #12
  %363 = load i32, ptr %342, align 4, !tbaa !5
  %364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef nonnull %.str.5.sink970, i32 noundef %355, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %358, ptr noundef %360, ptr noundef %362, i32 noundef %363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

365:                                              ; preds = %336
  %366 = load i32, ptr @test_count, align 4, !tbaa !5
  %367 = add nsw i32 %366, 1
  store i32 %367, ptr @test_count, align 4, !tbaa !5
  %368 = call i32 @s2n_config_set_recv_multi_record(ptr noundef %277, i1 noundef zeroext true) #12
  %369 = icmp eq i32 %368, -1
  br i1 %369, label %370, label %394

370:                                              ; preds = %365
  %371 = tail call ptr @__errno_location() #13
  %372 = load i32, ptr %371, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373) #12
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc nuw i8 %375 to i1
  br i1 %376, label %377, label %381

377:                                              ; preds = %370
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = call i32 @fileno(ptr noundef %378) #12
  %380 = call i32 @isatty(i32 noundef %379) #12
  %.not775 = icmp eq i32 %380, 0
  br i1 %.not775, label %381, label %382

381:                                              ; preds = %377, %370
  br label %382

382:                                              ; preds = %377, %381
  %.str.5.sink981 = phi ptr [ @.str.5, %381 ], [ @.str.2, %377 ]
  store i32 %372, ptr %371, align 4, !tbaa !5
  %383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %384 = load i32, ptr @test_count, align 4, !tbaa !5
  %385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %386 = load i32, ptr %385, align 4, !tbaa !5
  %387 = call ptr @s2n_strerror(i32 noundef %386, ptr noundef nonnull @.str.4) #12
  %388 = load i32, ptr %385, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror_debug(i32 noundef %388, ptr noundef nonnull @.str.4) #12
  %390 = load i32, ptr %371, align 4, !tbaa !5
  %391 = call ptr @strerror(i32 noundef %390) #12
  %392 = load i32, ptr %371, align 4, !tbaa !5
  %393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %383, ptr noundef nonnull %.str.5.sink981, i32 noundef %384, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %387, ptr noundef %389, ptr noundef %391, i32 noundef %392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

394:                                              ; preds = %365
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #12
  %395 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %395, ptr %7, align 8, !tbaa !9
  %396 = load i32, ptr @test_count, align 4, !tbaa !5
  %397 = add nsw i32 %396, 1
  store i32 %397, ptr @test_count, align 4, !tbaa !5
  %398 = call i32 @s2n_connection_set_config(ptr noundef %395, ptr noundef %188) #12
  %399 = icmp eq i32 %398, -1
  br i1 %399, label %400, label %424

400:                                              ; preds = %394
  %401 = tail call ptr @__errno_location() #13
  %402 = load i32, ptr %401, align 4, !tbaa !5
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @s2n_print_stacktrace(ptr noundef %403) #12
  %405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %406 = trunc nuw i8 %405 to i1
  br i1 %406, label %407, label %411

407:                                              ; preds = %400
  %408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %409 = call i32 @fileno(ptr noundef %408) #12
  %410 = call i32 @isatty(i32 noundef %409) #12
  %.not774 = icmp eq i32 %410, 0
  br i1 %.not774, label %411, label %412

411:                                              ; preds = %407, %400
  br label %412

412:                                              ; preds = %407, %411
  %.str.5.sink992 = phi ptr [ @.str.5, %411 ], [ @.str.2, %407 ]
  store i32 %402, ptr %401, align 4, !tbaa !5
  %413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %416 = load i32, ptr %415, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror(i32 noundef %416, ptr noundef nonnull @.str.4) #12
  %418 = load i32, ptr %415, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror_debug(i32 noundef %418, ptr noundef nonnull @.str.4) #12
  %420 = load i32, ptr %401, align 4, !tbaa !5
  %421 = call ptr @strerror(i32 noundef %420) #12
  %422 = load i32, ptr %401, align 4, !tbaa !5
  %423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %413, ptr noundef nonnull %.str.5.sink992, i32 noundef %414, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %417, ptr noundef %419, ptr noundef %421, i32 noundef %422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

424:                                              ; preds = %394
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  %425 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %425, ptr %8, align 8, !tbaa !9
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = add nsw i32 %426, 1
  store i32 %427, ptr @test_count, align 4, !tbaa !5
  %428 = call i32 @s2n_connection_set_config(ptr noundef %425, ptr noundef %188) #12
  %429 = icmp eq i32 %428, -1
  br i1 %429, label %430, label %454

430:                                              ; preds = %424
  %431 = tail call ptr @__errno_location() #13
  %432 = load i32, ptr %431, align 4, !tbaa !5
  %433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %434 = call i32 @s2n_print_stacktrace(ptr noundef %433) #12
  %435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %436 = trunc nuw i8 %435 to i1
  br i1 %436, label %437, label %441

437:                                              ; preds = %430
  %438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %439 = call i32 @fileno(ptr noundef %438) #12
  %440 = call i32 @isatty(i32 noundef %439) #12
  %.not773 = icmp eq i32 %440, 0
  br i1 %.not773, label %441, label %442

441:                                              ; preds = %437, %430
  br label %442

442:                                              ; preds = %437, %441
  %.str.5.sink1003 = phi ptr [ @.str.5, %441 ], [ @.str.2, %437 ]
  store i32 %432, ptr %431, 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 nonnull @.str.4) #12
  %448 = load i32, ptr %445, align 4, !tbaa !5
  %449 = call ptr @s2n_strerror_debug(i32 noundef %448, ptr noundef nonnull @.str.4) #12
  %450 = load i32, ptr %431, align 4, !tbaa !5
  %451 = call ptr @strerror(i32 noundef %450) #12
  %452 = load i32, ptr %431, align 4, !tbaa !5
  %453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %443, ptr noundef nonnull %.str.5.sink1003, i32 noundef %444, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %447, ptr noundef %449, ptr noundef %451, i32 noundef %452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

454:                                              ; preds = %424
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %9) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %9, i8 0, i64 80, i1 false)
  %455 = load i32, ptr @test_count, align 4, !tbaa !5
  %456 = add nsw i32 %455, 1
  store i32 %456, ptr @test_count, align 4, !tbaa !5
  %457 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %9) #12
  %458 = call zeroext i1 @s2n_result_is_ok(i32 %457)
  br i1 %458, label %483, label %459

459:                                              ; preds = %454
  %460 = tail call ptr @__errno_location() #13
  %461 = load i32, ptr %460, align 4, !tbaa !5
  %462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %463 = call i32 @s2n_print_stacktrace(ptr noundef %462) #12
  %464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %465 = trunc nuw i8 %464 to i1
  br i1 %465, label %466, label %470

466:                                              ; preds = %459
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = call i32 @fileno(ptr noundef %467) #12
  %469 = call i32 @isatty(i32 noundef %468) #12
  %.not = icmp eq i32 %469, 0
  br i1 %.not, label %470, label %471

470:                                              ; preds = %466, %459
  br label %471

471:                                              ; preds = %466, %470
  %.str.5.sink1014 = phi ptr [ @.str.5, %470 ], [ @.str.2, %466 ]
  store i32 %461, ptr %460, align 4, !tbaa !5
  %472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %473 = load i32, ptr @test_count, align 4, !tbaa !5
  %474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %475 = load i32, ptr %474, align 4, !tbaa !5
  %476 = call ptr @s2n_strerror(i32 noundef %475, ptr noundef nonnull @.str.4) #12
  %477 = load i32, ptr %474, align 4, !tbaa !5
  %478 = call ptr @s2n_strerror_debug(i32 noundef %477, ptr noundef nonnull @.str.4) #12
  %479 = load i32, ptr %460, align 4, !tbaa !5
  %480 = call ptr @strerror(i32 noundef %479) #12
  %481 = load i32, ptr %460, align 4, !tbaa !5
  %482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %472, ptr noundef nonnull %.str.5.sink1014, i32 noundef %473, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %476, ptr noundef %478, ptr noundef %480, i32 noundef %481) #14
  call void @exit(i32 noundef 1) #15
  unreachable

483:                                              ; preds = %454
  %484 = load i32, ptr @test_count, align 4, !tbaa !5
  %485 = add nsw i32 %484, 1
  store i32 %485, ptr @test_count, align 4, !tbaa !5
  %486 = load ptr, ptr %7, align 8, !tbaa !9
  %487 = load ptr, ptr %8, align 8, !tbaa !9
  %488 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %486, ptr noundef %487, ptr noundef nonnull %9) #12
  %489 = call zeroext i1 @s2n_result_is_ok(i32 %488)
  br i1 %489, label %514, label %490

490:                                              ; preds = %483
  %491 = tail call ptr @__errno_location() #13
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = call i32 @s2n_print_stacktrace(ptr noundef %493) #12
  %495 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %496 = trunc nuw i8 %495 to i1
  br i1 %496, label %497, label %501

497:                                              ; preds = %490
  %498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %499 = call i32 @fileno(ptr noundef %498) #12
  %500 = call i32 @isatty(i32 noundef %499) #12
  %.not569 = icmp eq i32 %500, 0
  br i1 %.not569, label %501, label %502

501:                                              ; preds = %497, %490
  br label %502

502:                                              ; preds = %497, %501
  %.str.5.sink1025 = phi ptr [ @.str.5, %501 ], [ @.str.2, %497 ]
  store i32 %492, ptr %491, align 4, !tbaa !5
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %506, ptr noundef nonnull @.str.4) #12
  %508 = load i32, ptr %505, align 4, !tbaa !5
  %509 = call ptr @s2n_strerror_debug(i32 noundef %508, ptr noundef nonnull @.str.4) #12
  %510 = load i32, ptr %491, align 4, !tbaa !5
  %511 = call ptr @strerror(i32 noundef %510) #12
  %512 = load i32, ptr %491, align 4, !tbaa !5
  %513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %503, ptr noundef nonnull %.str.5.sink1025, i32 noundef %504, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %507, ptr noundef %509, ptr noundef %511, i32 noundef %512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

514:                                              ; preds = %483
  %515 = load i32, ptr @test_count, align 4, !tbaa !5
  %516 = add nsw i32 %515, 1
  store i32 %516, ptr @test_count, align 4, !tbaa !5
  %517 = load ptr, ptr %8, align 8, !tbaa !9
  %518 = load ptr, ptr %7, align 8, !tbaa !9
  %519 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %517, ptr noundef %518) #12
  %520 = icmp eq i32 %519, -1
  br i1 %520, label %521, label %545

521:                                              ; preds = %514
  %522 = tail call ptr @__errno_location() #13
  %523 = load i32, ptr %522, align 4, !tbaa !5
  %524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %525 = call i32 @s2n_print_stacktrace(ptr noundef %524) #12
  %526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %527 = trunc nuw i8 %526 to i1
  br i1 %527, label %528, label %532

528:                                              ; preds = %521
  %529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %530 = call i32 @fileno(ptr noundef %529) #12
  %531 = call i32 @isatty(i32 noundef %530) #12
  %.not772 = icmp eq i32 %531, 0
  br i1 %.not772, label %532, label %533

532:                                              ; preds = %528, %521
  br label %533

533:                                              ; preds = %528, %532
  %.str.5.sink1036 = phi ptr [ @.str.5, %532 ], [ @.str.2, %528 ]
  store i32 %523, ptr %522, align 4, !tbaa !5
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = load i32, ptr @test_count, align 4, !tbaa !5
  %536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = call ptr @s2n_strerror(i32 noundef %537, ptr noundef nonnull @.str.4) #12
  %539 = load i32, ptr %536, align 4, !tbaa !5
  %540 = call ptr @s2n_strerror_debug(i32 noundef %539, ptr noundef nonnull @.str.4) #12
  %541 = load i32, ptr %522, align 4, !tbaa !5
  %542 = call ptr @strerror(i32 noundef %541) #12
  %543 = load i32, ptr %522, align 4, !tbaa !5
  %544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %534, ptr noundef nonnull %.str.5.sink1036, i32 noundef %535, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %538, ptr noundef %540, ptr noundef %542, i32 noundef %543) #14
  call void @exit(i32 noundef 1) #15
  unreachable

545:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, i8 0, i64 24, i1 false)
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = add nsw i32 %546, 1
  store i32 %547, ptr @test_count, align 4, !tbaa !5
  %548 = load ptr, ptr %8, align 8, !tbaa !9
  %549 = call i32 @s2n_connection_set_counting_read(ptr noundef %548, ptr noundef nonnull %10)
  %550 = call zeroext i1 @s2n_result_is_ok(i32 %549)
  br i1 %550, label %575, label %551

551:                                              ; preds = %545
  %552 = tail call ptr @__errno_location() #13
  %553 = load i32, ptr %552, align 4, !tbaa !5
  %554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %555 = call i32 @s2n_print_stacktrace(ptr noundef %554) #12
  %556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %557 = trunc nuw i8 %556 to i1
  br i1 %557, label %558, label %562

558:                                              ; preds = %551
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = call i32 @fileno(ptr noundef %559) #12
  %561 = call i32 @isatty(i32 noundef %560) #12
  %.not570 = icmp eq i32 %561, 0
  br i1 %.not570, label %562, label %563

562:                                              ; preds = %558, %551
  br label %563

563:                                              ; preds = %558, %562
  %.str.5.sink1047 = phi ptr [ @.str.5, %562 ], [ @.str.2, %558 ]
  store i32 %553, ptr %552, align 4, !tbaa !5
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = load i32, ptr @test_count, align 4, !tbaa !5
  %566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %567 = load i32, ptr %566, align 4, !tbaa !5
  %568 = call ptr @s2n_strerror(i32 noundef %567, ptr noundef nonnull @.str.4) #12
  %569 = load i32, ptr %566, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror_debug(i32 noundef %569, ptr noundef nonnull @.str.4) #12
  %571 = load i32, ptr %552, align 4, !tbaa !5
  %572 = call ptr @strerror(i32 noundef %571) #12
  %573 = load i32, ptr %552, align 4, !tbaa !5
  %574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %564, ptr noundef nonnull %.str.5.sink1047, i32 noundef %565, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %568, ptr noundef %570, ptr noundef %572, i32 noundef %573) #14
  call void @exit(i32 noundef 1) #15
  unreachable

575:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #12
  store i32 0, ptr %11, align 4, !tbaa !5
  %576 = load i32, ptr @test_count, align 4, !tbaa !5
  %577 = add nsw i32 %576, 1
  store i32 %577, ptr @test_count, align 4, !tbaa !5
  %578 = load ptr, ptr %7, align 8, !tbaa !9
  %579 = call i64 @s2n_send(ptr noundef %578, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %11) #12
  %580 = icmp eq i64 %579, 20
  br i1 %580, label %605, label %581

581:                                              ; preds = %575
  %582 = tail call ptr @__errno_location() #13
  %583 = load i32, ptr %582, align 4, !tbaa !5
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = call i32 @s2n_print_stacktrace(ptr noundef %584) #12
  %586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %587 = trunc nuw i8 %586 to i1
  br i1 %587, label %588, label %592

588:                                              ; preds = %581
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = call i32 @fileno(ptr noundef %589) #12
  %591 = call i32 @isatty(i32 noundef %590) #12
  %.not571 = icmp eq i32 %591, 0
  br i1 %.not571, label %592, label %593

592:                                              ; preds = %588, %581
  br label %593

593:                                              ; preds = %588, %592
  %.str.5.sink1058 = phi ptr [ @.str.5, %592 ], [ @.str.2, %588 ]
  store i32 %583, ptr %582, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %597 = load i32, ptr %596, align 4, !tbaa !5
  %598 = call ptr @s2n_strerror(i32 noundef %597, ptr noundef nonnull @.str.4) #12
  %599 = load i32, ptr %596, align 4, !tbaa !5
  %600 = call ptr @s2n_strerror_debug(i32 noundef %599, ptr noundef nonnull @.str.4) #12
  %601 = load i32, ptr %582, align 4, !tbaa !5
  %602 = call ptr @strerror(i32 noundef %601) #12
  %603 = load i32, ptr %582, align 4, !tbaa !5
  %604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef nonnull %.str.5.sink1058, i32 noundef %595, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %598, ptr noundef %600, ptr noundef %602, i32 noundef %603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

605:                                              ; preds = %575
  %606 = getelementptr inbounds i8, ptr %9, i64 68
  %607 = load i32, ptr %606, align 4, !tbaa !15
  %608 = getelementptr inbounds i8, ptr %9, i64 64
  %609 = load i32, ptr %608, align 8, !tbaa !19
  %610 = sub i32 %607, %609
  %611 = load i32, ptr @test_count, align 4, !tbaa !5
  %612 = add nsw i32 %611, 1
  store i32 %612, ptr @test_count, align 4, !tbaa !5
  %613 = zext i32 %610 to i64
  %614 = icmp ugt i32 %610, 20
  br i1 %614, label %639, label %615

615:                                              ; preds = %605
  %616 = tail call ptr @__errno_location() #13
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 @s2n_print_stacktrace(ptr noundef %618) #12
  %620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %621 = trunc nuw i8 %620 to i1
  br i1 %621, label %622, label %626

622:                                              ; preds = %615
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = call i32 @fileno(ptr noundef %623) #12
  %625 = call i32 @isatty(i32 noundef %624) #12
  %.not572 = icmp eq i32 %625, 0
  br i1 %.not572, label %626, label %627

626:                                              ; preds = %622, %615
  br label %627

627:                                              ; preds = %622, %626
  %.str.5.sink1069 = phi ptr [ @.str.5, %626 ], [ @.str.2, %622 ]
  store i32 %617, ptr %616, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call ptr @s2n_strerror(i32 noundef %631, ptr noundef nonnull @.str.4) #12
  %633 = load i32, ptr %630, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror_debug(i32 noundef %633, ptr noundef nonnull @.str.4) #12
  %635 = load i32, ptr %616, align 4, !tbaa !5
  %636 = call ptr @strerror(i32 noundef %635) #12
  %637 = load i32, ptr %616, align 4, !tbaa !5
  %638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %628, ptr noundef nonnull %.str.5.sink1069, i32 noundef %629, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %632, ptr noundef %634, ptr noundef %636, i32 noundef %637) #14
  call void @exit(i32 noundef 1) #15
  unreachable

639:                                              ; preds = %605
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %12, i8 0, i64 20, i1 false)
  %640 = add nsw i32 %611, 2
  store i32 %640, ptr @test_count, align 4, !tbaa !5
  %641 = load ptr, ptr %8, align 8, !tbaa !9
  %642 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %641, i1 noundef zeroext true) #12
  %643 = icmp eq i32 %642, -1
  br i1 %643, label %644, label %668

644:                                              ; preds = %639
  %645 = tail call ptr @__errno_location() #13
  %646 = load i32, ptr %645, align 4, !tbaa !5
  %647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %648 = call i32 @s2n_print_stacktrace(ptr noundef %647) #12
  %649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %650 = trunc nuw i8 %649 to i1
  br i1 %650, label %651, label %655

651:                                              ; preds = %644
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = call i32 @fileno(ptr noundef %652) #12
  %654 = call i32 @isatty(i32 noundef %653) #12
  %.not771 = icmp eq i32 %654, 0
  br i1 %.not771, label %655, label %656

655:                                              ; preds = %651, %644
  br label %656

656:                                              ; preds = %651, %655
  %.str.5.sink1080 = phi ptr [ @.str.5, %655 ], [ @.str.2, %651 ]
  store i32 %646, ptr %645, align 4, !tbaa !5
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = load i32, ptr @test_count, align 4, !tbaa !5
  %659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call ptr @s2n_strerror(i32 noundef %660, ptr noundef nonnull @.str.4) #12
  %662 = load i32, ptr %659, align 4, !tbaa !5
  %663 = call ptr @s2n_strerror_debug(i32 noundef %662, ptr noundef nonnull @.str.4) #12
  %664 = load i32, ptr %645, align 4, !tbaa !5
  %665 = call ptr @strerror(i32 noundef %664) #12
  %666 = load i32, ptr %645, align 4, !tbaa !5
  %667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %657, ptr noundef nonnull %.str.5.sink1080, i32 noundef %658, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %661, ptr noundef %663, ptr noundef %665, i32 noundef %666) #14
  call void @exit(i32 noundef 1) #15
  unreachable

668:                                              ; preds = %639
  %669 = load i32, ptr @test_count, align 4, !tbaa !5
  %670 = add nsw i32 %669, 1
  store i32 %670, ptr @test_count, align 4, !tbaa !5
  %671 = load ptr, ptr %8, align 8, !tbaa !9
  %672 = call i64 @s2n_recv(ptr noundef %671, ptr noundef nonnull %12, i64 noundef 20, ptr noundef nonnull %11) #12
  %673 = icmp eq i64 %672, 20
  br i1 %673, label %698, label %674

674:                                              ; preds = %668
  %675 = tail call ptr @__errno_location() #13
  %676 = load i32, ptr %675, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = call i32 @s2n_print_stacktrace(ptr noundef %677) #12
  %679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %680 = trunc nuw i8 %679 to i1
  br i1 %680, label %681, label %685

681:                                              ; preds = %674
  %682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %683 = call i32 @fileno(ptr noundef %682) #12
  %684 = call i32 @isatty(i32 noundef %683) #12
  %.not573 = icmp eq i32 %684, 0
  br i1 %.not573, label %685, label %686

685:                                              ; preds = %681, %674
  br label %686

686:                                              ; preds = %681, %685
  %.str.5.sink1091 = phi ptr [ @.str.5, %685 ], [ @.str.2, %681 ]
  store i32 %676, ptr %675, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = load i32, ptr @test_count, align 4, !tbaa !5
  %689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call ptr @s2n_strerror(i32 noundef %690, ptr noundef nonnull @.str.4) #12
  %692 = load i32, ptr %689, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror_debug(i32 noundef %692, ptr noundef nonnull @.str.4) #12
  %694 = load i32, ptr %675, align 4, !tbaa !5
  %695 = call ptr @strerror(i32 noundef %694) #12
  %696 = load i32, ptr %675, align 4, !tbaa !5
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %687, ptr noundef nonnull %.str.5.sink1091, i32 noundef %688, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %691, ptr noundef %693, ptr noundef %695, i32 noundef %696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

698:                                              ; preds = %668
  %699 = load i32, ptr @test_count, align 4, !tbaa !5
  %700 = add nsw i32 %699, 1
  store i32 %700, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %12, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %701 = icmp eq i32 %bcmp, 0
  br i1 %701, label %726, label %702

702:                                              ; preds = %698
  %703 = tail call ptr @__errno_location() #13
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = call i32 @s2n_print_stacktrace(ptr noundef %705) #12
  %707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %708 = trunc nuw i8 %707 to i1
  br i1 %708, label %709, label %713

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

713:                                              ; preds = %709, %702
  br label %714

714:                                              ; preds = %709, %713
  %.str.5.sink1102 = phi ptr [ @.str.5, %713 ], [ @.str.2, %709 ]
  store i32 %704, ptr %703, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = load i32, ptr @test_count, align 4, !tbaa !5
  %717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %718 = load i32, ptr %717, align 4, !tbaa !5
  %719 = call ptr @s2n_strerror(i32 noundef %718, ptr noundef nonnull @.str.4) #12
  %720 = load i32, ptr %717, align 4, !tbaa !5
  %721 = call ptr @s2n_strerror_debug(i32 noundef %720, ptr noundef nonnull @.str.4) #12
  %722 = load i32, ptr %703, align 4, !tbaa !5
  %723 = call ptr @strerror(i32 noundef %722) #12
  %724 = load i32, ptr %703, align 4, !tbaa !5
  %725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %715, ptr noundef nonnull %.str.5.sink1102, i32 noundef %716, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %719, ptr noundef %721, ptr noundef %723, i32 noundef %724) #14
  call void @exit(i32 noundef 1) #15
  unreachable

726:                                              ; preds = %698
  %727 = add nsw i32 %699, 2
  store i32 %727, ptr @test_count, align 4, !tbaa !5
  %728 = load i64, ptr %10, align 8, !tbaa !20
  %729 = icmp eq i64 %728, 1
  br i1 %729, label %754, label %730

730:                                              ; preds = %726
  %731 = tail call ptr @__errno_location() #13
  %732 = load i32, ptr %731, align 4, !tbaa !5
  %733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %734 = call i32 @s2n_print_stacktrace(ptr noundef %733) #12
  %735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %736 = trunc nuw i8 %735 to i1
  br i1 %736, label %737, label %741

737:                                              ; preds = %730
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = call i32 @fileno(ptr noundef %738) #12
  %740 = call i32 @isatty(i32 noundef %739) #12
  %.not575 = icmp eq i32 %740, 0
  br i1 %.not575, label %741, label %742

741:                                              ; preds = %737, %730
  br label %742

742:                                              ; preds = %737, %741
  %.str.5.sink1113 = phi ptr [ @.str.5, %741 ], [ @.str.2, %737 ]
  store i32 %732, ptr %731, align 4, !tbaa !5
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = load i32, ptr @test_count, align 4, !tbaa !5
  %745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call ptr @s2n_strerror(i32 noundef %746, ptr noundef nonnull @.str.4) #12
  %748 = load i32, ptr %745, align 4, !tbaa !5
  %749 = call ptr @s2n_strerror_debug(i32 noundef %748, ptr noundef nonnull @.str.4) #12
  %750 = load i32, ptr %731, align 4, !tbaa !5
  %751 = call ptr @strerror(i32 noundef %750) #12
  %752 = load i32, ptr %731, align 4, !tbaa !5
  %753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %743, ptr noundef nonnull %.str.5.sink1113, i32 noundef %744, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %747, ptr noundef %749, ptr noundef %751, i32 noundef %752) #14
  call void @exit(i32 noundef 1) #15
  unreachable

754:                                              ; preds = %726
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #12
  %755 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %9) #12
  %756 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  %757 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #12
  %758 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %758, ptr %13, align 8, !tbaa !9
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = add nsw i32 %759, 1
  store i32 %760, ptr @test_count, align 4, !tbaa !5
  %761 = call i32 @s2n_connection_set_config(ptr noundef %758, ptr noundef %188) #12
  %762 = icmp eq i32 %761, -1
  br i1 %762, label %763, label %787

763:                                              ; preds = %754
  %764 = tail call ptr @__errno_location() #13
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = call i32 @s2n_print_stacktrace(ptr noundef %766) #12
  %768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %769 = trunc nuw i8 %768 to i1
  br i1 %769, label %770, label %774

770:                                              ; preds = %763
  %771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %772 = call i32 @fileno(ptr noundef %771) #12
  %773 = call i32 @isatty(i32 noundef %772) #12
  %.not770 = icmp eq i32 %773, 0
  br i1 %.not770, label %774, label %775

774:                                              ; preds = %770, %763
  br label %775

775:                                              ; preds = %770, %774
  %.str.5.sink1124 = phi ptr [ @.str.5, %774 ], [ @.str.2, %770 ]
  store i32 %765, ptr %764, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = load i32, ptr @test_count, align 4, !tbaa !5
  %778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror(i32 noundef %779, ptr noundef nonnull @.str.4) #12
  %781 = load i32, ptr %778, align 4, !tbaa !5
  %782 = call ptr @s2n_strerror_debug(i32 noundef %781, ptr noundef nonnull @.str.4) #12
  %783 = load i32, ptr %764, align 4, !tbaa !5
  %784 = call ptr @strerror(i32 noundef %783) #12
  %785 = load i32, ptr %764, align 4, !tbaa !5
  %786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %776, ptr noundef nonnull %.str.5.sink1124, i32 noundef %777, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %780, ptr noundef %782, ptr noundef %784, i32 noundef %785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

787:                                              ; preds = %754
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  %788 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %788, ptr %14, align 8, !tbaa !9
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = add nsw i32 %789, 1
  store i32 %790, ptr @test_count, align 4, !tbaa !5
  %791 = call i32 @s2n_connection_set_config(ptr noundef %788, ptr noundef %188) #12
  %792 = icmp eq i32 %791, -1
  br i1 %792, label %793, label %817

793:                                              ; preds = %787
  %794 = tail call ptr @__errno_location() #13
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = call i32 @s2n_print_stacktrace(ptr noundef %796) #12
  %798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %799 = trunc nuw i8 %798 to i1
  br i1 %799, label %800, label %804

800:                                              ; preds = %793
  %801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %802 = call i32 @fileno(ptr noundef %801) #12
  %803 = call i32 @isatty(i32 noundef %802) #12
  %.not769 = icmp eq i32 %803, 0
  br i1 %.not769, label %804, label %805

804:                                              ; preds = %800, %793
  br label %805

805:                                              ; preds = %800, %804
  %.str.5.sink1135 = phi ptr [ @.str.5, %804 ], [ @.str.2, %800 ]
  store i32 %795, ptr %794, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = load i32, ptr @test_count, align 4, !tbaa !5
  %808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %809 = load i32, ptr %808, align 4, !tbaa !5
  %810 = call ptr @s2n_strerror(i32 noundef %809, ptr noundef nonnull @.str.4) #12
  %811 = load i32, ptr %808, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror_debug(i32 noundef %811, ptr noundef nonnull @.str.4) #12
  %813 = load i32, ptr %794, align 4, !tbaa !5
  %814 = call ptr @strerror(i32 noundef %813) #12
  %815 = load i32, ptr %794, align 4, !tbaa !5
  %816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %806, ptr noundef nonnull %.str.5.sink1135, i32 noundef %807, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %810, ptr noundef %812, ptr noundef %814, i32 noundef %815) #14
  call void @exit(i32 noundef 1) #15
  unreachable

817:                                              ; preds = %787
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = add nsw i32 %818, 1
  store i32 %819, ptr @test_count, align 4, !tbaa !5
  %820 = load ptr, ptr %13, align 8, !tbaa !9
  %821 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %820, i1 noundef zeroext true) #12
  %822 = icmp eq i32 %821, -1
  br i1 %822, label %823, label %847

823:                                              ; preds = %817
  %824 = tail call ptr @__errno_location() #13
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = call i32 @s2n_print_stacktrace(ptr noundef %826) #12
  %828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %829 = trunc nuw i8 %828 to i1
  br i1 %829, label %830, label %834

830:                                              ; preds = %823
  %831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %832 = call i32 @fileno(ptr noundef %831) #12
  %833 = call i32 @isatty(i32 noundef %832) #12
  %.not768 = icmp eq i32 %833, 0
  br i1 %.not768, label %834, label %835

834:                                              ; preds = %830, %823
  br label %835

835:                                              ; preds = %830, %834
  %.str.5.sink1146 = phi ptr [ @.str.5, %834 ], [ @.str.2, %830 ]
  store i32 %825, ptr %824, align 4, !tbaa !5
  %836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %837 = load i32, ptr @test_count, align 4, !tbaa !5
  %838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %839 = load i32, ptr %838, align 4, !tbaa !5
  %840 = call ptr @s2n_strerror(i32 noundef %839, ptr noundef nonnull @.str.4) #12
  %841 = load i32, ptr %838, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror_debug(i32 noundef %841, ptr noundef nonnull @.str.4) #12
  %843 = load i32, ptr %824, align 4, !tbaa !5
  %844 = call ptr @strerror(i32 noundef %843) #12
  %845 = load i32, ptr %824, align 4, !tbaa !5
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %836, ptr noundef nonnull %.str.5.sink1146, i32 noundef %837, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %840, ptr noundef %842, ptr noundef %844, i32 noundef %845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

847:                                              ; preds = %817
  %848 = load i32, ptr @test_count, align 4, !tbaa !5
  %849 = add nsw i32 %848, 1
  store i32 %849, ptr @test_count, align 4, !tbaa !5
  %850 = load ptr, ptr %14, align 8, !tbaa !9
  %851 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %850, i1 noundef zeroext true) #12
  %852 = icmp eq i32 %851, -1
  br i1 %852, label %853, label %877

853:                                              ; preds = %847
  %854 = tail call ptr @__errno_location() #13
  %855 = load i32, ptr %854, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @s2n_print_stacktrace(ptr noundef %856) #12
  %858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %859 = trunc nuw i8 %858 to i1
  br i1 %859, label %860, label %864

860:                                              ; preds = %853
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @fileno(ptr noundef %861) #12
  %863 = call i32 @isatty(i32 noundef %862) #12
  %.not767 = icmp eq i32 %863, 0
  br i1 %.not767, label %864, label %865

864:                                              ; preds = %860, %853
  br label %865

865:                                              ; preds = %860, %864
  %.str.5.sink1157 = phi ptr [ @.str.5, %864 ], [ @.str.2, %860 ]
  store i32 %855, ptr %854, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = load i32, ptr @test_count, align 4, !tbaa !5
  %868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @s2n_strerror(i32 noundef %869, ptr noundef nonnull @.str.4) #12
  %871 = load i32, ptr %868, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror_debug(i32 noundef %871, ptr noundef nonnull @.str.4) #12
  %873 = load i32, ptr %854, align 4, !tbaa !5
  %874 = call ptr @strerror(i32 noundef %873) #12
  %875 = load i32, ptr %854, align 4, !tbaa !5
  %876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef nonnull %.str.5.sink1157, i32 noundef %867, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %870, ptr noundef %872, ptr noundef %874, i32 noundef %875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

877:                                              ; preds = %847
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %15) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %15, i8 0, i64 80, i1 false)
  %878 = load i32, ptr @test_count, align 4, !tbaa !5
  %879 = add nsw i32 %878, 1
  store i32 %879, ptr @test_count, align 4, !tbaa !5
  %880 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %15) #12
  %881 = call zeroext i1 @s2n_result_is_ok(i32 %880)
  br i1 %881, label %906, label %882

882:                                              ; preds = %877
  %883 = tail call ptr @__errno_location() #13
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %886 = call i32 @s2n_print_stacktrace(ptr noundef %885) #12
  %887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %888 = trunc nuw i8 %887 to i1
  br i1 %888, label %889, label %893

889:                                              ; preds = %882
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = call i32 @fileno(ptr noundef %890) #12
  %892 = call i32 @isatty(i32 noundef %891) #12
  %.not576 = icmp eq i32 %892, 0
  br i1 %.not576, label %893, label %894

893:                                              ; preds = %889, %882
  br label %894

894:                                              ; preds = %889, %893
  %.str.5.sink1168 = phi ptr [ @.str.5, %893 ], [ @.str.2, %889 ]
  store i32 %884, ptr %883, align 4, !tbaa !5
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = load i32, ptr @test_count, align 4, !tbaa !5
  %897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %898 = load i32, ptr %897, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror(i32 noundef %898, ptr noundef nonnull @.str.4) #12
  %900 = load i32, ptr %897, align 4, !tbaa !5
  %901 = call ptr @s2n_strerror_debug(i32 noundef %900, ptr noundef nonnull @.str.4) #12
  %902 = load i32, ptr %883, align 4, !tbaa !5
  %903 = call ptr @strerror(i32 noundef %902) #12
  %904 = load i32, ptr %883, align 4, !tbaa !5
  %905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %895, ptr noundef nonnull %.str.5.sink1168, i32 noundef %896, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %899, ptr noundef %901, ptr noundef %903, i32 noundef %904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

906:                                              ; preds = %877
  %907 = load i32, ptr @test_count, align 4, !tbaa !5
  %908 = add nsw i32 %907, 1
  store i32 %908, ptr @test_count, align 4, !tbaa !5
  %909 = load ptr, ptr %13, align 8, !tbaa !9
  %910 = load ptr, ptr %14, align 8, !tbaa !9
  %911 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %909, ptr noundef %910, ptr noundef nonnull %15) #12
  %912 = call zeroext i1 @s2n_result_is_ok(i32 %911)
  br i1 %912, label %937, label %913

913:                                              ; preds = %906
  %914 = tail call ptr @__errno_location() #13
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @s2n_print_stacktrace(ptr noundef %916) #12
  %918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %919 = trunc nuw i8 %918 to i1
  br i1 %919, label %920, label %924

920:                                              ; preds = %913
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = call i32 @fileno(ptr noundef %921) #12
  %923 = call i32 @isatty(i32 noundef %922) #12
  %.not577 = icmp eq i32 %923, 0
  br i1 %.not577, label %924, label %925

924:                                              ; preds = %920, %913
  br label %925

925:                                              ; preds = %920, %924
  %.str.5.sink1179 = phi ptr [ @.str.5, %924 ], [ @.str.2, %920 ]
  store i32 %915, ptr %914, align 4, !tbaa !5
  %926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %927 = load i32, ptr @test_count, align 4, !tbaa !5
  %928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %929 = load i32, ptr %928, align 4, !tbaa !5
  %930 = call ptr @s2n_strerror(i32 noundef %929, ptr noundef nonnull @.str.4) #12
  %931 = load i32, ptr %928, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror_debug(i32 noundef %931, ptr noundef nonnull @.str.4) #12
  %933 = load i32, ptr %914, align 4, !tbaa !5
  %934 = call ptr @strerror(i32 noundef %933) #12
  %935 = load i32, ptr %914, align 4, !tbaa !5
  %936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %926, ptr noundef nonnull %.str.5.sink1179, i32 noundef %927, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %930, ptr noundef %932, ptr noundef %934, i32 noundef %935) #14
  call void @exit(i32 noundef 1) #15
  unreachable

937:                                              ; preds = %906
  %938 = load i32, ptr @test_count, align 4, !tbaa !5
  %939 = add nsw i32 %938, 1
  store i32 %939, ptr @test_count, align 4, !tbaa !5
  %940 = load ptr, ptr %14, align 8, !tbaa !9
  %941 = load ptr, ptr %13, align 8, !tbaa !9
  %942 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %940, ptr noundef %941) #12
  %943 = icmp eq i32 %942, -1
  br i1 %943, label %944, label %968

944:                                              ; preds = %937
  %945 = tail call ptr @__errno_location() #13
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = call i32 @s2n_print_stacktrace(ptr noundef %947) #12
  %949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %950 = trunc nuw i8 %949 to i1
  br i1 %950, label %951, label %955

951:                                              ; preds = %944
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = call i32 @fileno(ptr noundef %952) #12
  %954 = call i32 @isatty(i32 noundef %953) #12
  %.not766 = icmp eq i32 %954, 0
  br i1 %.not766, label %955, label %956

955:                                              ; preds = %951, %944
  br label %956

956:                                              ; preds = %951, %955
  %.str.5.sink1190 = phi ptr [ @.str.5, %955 ], [ @.str.2, %951 ]
  store i32 %946, ptr %945, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %960 = load i32, ptr %959, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror(i32 noundef %960, ptr noundef nonnull @.str.4) #12
  %962 = load i32, ptr %959, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef nonnull @.str.4) #12
  %964 = load i32, ptr %945, align 4, !tbaa !5
  %965 = call ptr @strerror(i32 noundef %964) #12
  %966 = load i32, ptr %945, align 4, !tbaa !5
  %967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %957, ptr noundef nonnull %.str.5.sink1190, i32 noundef %958, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %961, ptr noundef %963, ptr noundef %965, i32 noundef %966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

968:                                              ; preds = %937
  %969 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %15) #12
  %970 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  %971 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %972 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %972, ptr %16, align 8, !tbaa !9
  %973 = load i32, ptr @test_count, align 4, !tbaa !5
  %974 = add nsw i32 %973, 1
  store i32 %974, ptr @test_count, align 4, !tbaa !5
  %975 = call i32 @s2n_connection_set_config(ptr noundef %972, ptr noundef %188) #12
  %976 = icmp eq i32 %975, -1
  br i1 %976, label %977, label %1001

977:                                              ; preds = %968
  %978 = tail call ptr @__errno_location() #13
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @s2n_print_stacktrace(ptr noundef %980) #12
  %982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %983 = trunc nuw i8 %982 to i1
  br i1 %983, label %984, label %988

984:                                              ; preds = %977
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = call i32 @fileno(ptr noundef %985) #12
  %987 = call i32 @isatty(i32 noundef %986) #12
  %.not765 = icmp eq i32 %987, 0
  br i1 %.not765, label %988, label %989

988:                                              ; preds = %984, %977
  br label %989

989:                                              ; preds = %984, %988
  %.str.5.sink1201 = phi ptr [ @.str.5, %988 ], [ @.str.2, %984 ]
  store i32 %979, ptr %978, align 4, !tbaa !5
  %990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call ptr @s2n_strerror(i32 noundef %993, ptr noundef nonnull @.str.4) #12
  %995 = load i32, ptr %992, align 4, !tbaa !5
  %996 = call ptr @s2n_strerror_debug(i32 noundef %995, ptr noundef nonnull @.str.4) #12
  %997 = load i32, ptr %978, align 4, !tbaa !5
  %998 = call ptr @strerror(i32 noundef %997) #12
  %999 = load i32, ptr %978, align 4, !tbaa !5
  %1000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %990, ptr noundef nonnull %.str.5.sink1201, i32 noundef %991, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %994, ptr noundef %996, ptr noundef %998, i32 noundef %999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1001:                                             ; preds = %968
  %1002 = load ptr, ptr %16, align 8, !tbaa !9
  %1003 = getelementptr inbounds i8, ptr %1002, i64 2208
  store i16 -1, ptr %1003, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  %1004 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1004, ptr %17, align 8, !tbaa !9
  %1005 = load i32, ptr @test_count, align 4, !tbaa !5
  %1006 = add nsw i32 %1005, 1
  store i32 %1006, ptr @test_count, align 4, !tbaa !5
  %1007 = call i32 @s2n_connection_set_config(ptr noundef %1004, ptr noundef %188) #12
  %1008 = icmp eq i32 %1007, -1
  br i1 %1008, label %1009, label %1033

1009:                                             ; preds = %1001
  %1010 = tail call ptr @__errno_location() #13
  %1011 = load i32, ptr %1010, align 4, !tbaa !5
  %1012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1013 = call i32 @s2n_print_stacktrace(ptr noundef %1012) #12
  %1014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1015 = trunc nuw i8 %1014 to i1
  br i1 %1015, label %1016, label %1020

1016:                                             ; preds = %1009
  %1017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1018 = call i32 @fileno(ptr noundef %1017) #12
  %1019 = call i32 @isatty(i32 noundef %1018) #12
  %.not764 = icmp eq i32 %1019, 0
  br i1 %.not764, label %1020, label %1021

1020:                                             ; preds = %1016, %1009
  br label %1021

1021:                                             ; preds = %1016, %1020
  %.str.5.sink1212 = phi ptr [ @.str.5, %1020 ], [ @.str.2, %1016 ]
  store i32 %1011, ptr %1010, align 4, !tbaa !5
  %1022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1023 = load i32, ptr @test_count, align 4, !tbaa !5
  %1024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call ptr @s2n_strerror(i32 noundef %1025, ptr noundef nonnull @.str.4) #12
  %1027 = load i32, ptr %1024, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror_debug(i32 noundef %1027, ptr noundef nonnull @.str.4) #12
  %1029 = load i32, ptr %1010, align 4, !tbaa !5
  %1030 = call ptr @strerror(i32 noundef %1029) #12
  %1031 = load i32, ptr %1010, align 4, !tbaa !5
  %1032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1022, ptr noundef nonnull %.str.5.sink1212, i32 noundef %1023, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1026, ptr noundef %1028, ptr noundef %1030, i32 noundef %1031) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1033:                                             ; preds = %1001
  %1034 = load i32, ptr @test_count, align 4, !tbaa !5
  %1035 = add nsw i32 %1034, 1
  store i32 %1035, ptr @test_count, align 4, !tbaa !5
  %1036 = load ptr, ptr %16, align 8, !tbaa !9
  %1037 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1036, i1 noundef zeroext true) #12
  %1038 = icmp eq i32 %1037, -1
  br i1 %1038, label %1039, label %1063

1039:                                             ; preds = %1033
  %1040 = tail call ptr @__errno_location() #13
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1043 = call i32 @s2n_print_stacktrace(ptr noundef %1042) #12
  %1044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1045 = trunc nuw i8 %1044 to i1
  br i1 %1045, label %1046, label %1050

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

1050:                                             ; preds = %1046, %1039
  br label %1051

1051:                                             ; preds = %1046, %1050
  %.str.5.sink1223 = phi ptr [ @.str.5, %1050 ], [ @.str.2, %1046 ]
  store i32 %1041, ptr %1040, align 4, !tbaa !5
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = load i32, ptr @test_count, align 4, !tbaa !5
  %1054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = call ptr @s2n_strerror(i32 noundef %1055, ptr noundef nonnull @.str.4) #12
  %1057 = load i32, ptr %1054, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef nonnull @.str.4) #12
  %1059 = load i32, ptr %1040, align 4, !tbaa !5
  %1060 = call ptr @strerror(i32 noundef %1059) #12
  %1061 = load i32, ptr %1040, align 4, !tbaa !5
  %1062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1052, ptr noundef nonnull %.str.5.sink1223, i32 noundef %1053, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %1056, ptr noundef %1058, ptr noundef %1060, i32 noundef %1061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1063:                                             ; preds = %1033
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = add nsw i32 %1064, 1
  store i32 %1065, ptr @test_count, align 4, !tbaa !5
  %1066 = load ptr, ptr %17, align 8, !tbaa !9
  %1067 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1066, i1 noundef zeroext true) #12
  %1068 = icmp eq i32 %1067, -1
  br i1 %1068, label %1069, label %1093

1069:                                             ; preds = %1063
  %1070 = tail call ptr @__errno_location() #13
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @s2n_print_stacktrace(ptr noundef %1072) #12
  %1074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1075 = trunc nuw i8 %1074 to i1
  br i1 %1075, label %1076, label %1080

1076:                                             ; preds = %1069
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @fileno(ptr noundef %1077) #12
  %1079 = call i32 @isatty(i32 noundef %1078) #12
  %.not762 = icmp eq i32 %1079, 0
  br i1 %.not762, label %1080, label %1081

1080:                                             ; preds = %1076, %1069
  br label %1081

1081:                                             ; preds = %1076, %1080
  %.str.5.sink1234 = phi ptr [ @.str.5, %1080 ], [ @.str.2, %1076 ]
  store i32 %1071, ptr %1070, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror(i32 noundef %1085, ptr noundef nonnull @.str.4) #12
  %1087 = load i32, ptr %1084, align 4, !tbaa !5
  %1088 = call ptr @s2n_strerror_debug(i32 noundef %1087, ptr noundef nonnull @.str.4) #12
  %1089 = load i32, ptr %1070, align 4, !tbaa !5
  %1090 = call ptr @strerror(i32 noundef %1089) #12
  %1091 = load i32, ptr %1070, align 4, !tbaa !5
  %1092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1082, ptr noundef nonnull %.str.5.sink1234, i32 noundef %1083, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1086, ptr noundef %1088, ptr noundef %1090, i32 noundef %1091) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1093:                                             ; preds = %1063
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %18) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %18, i8 0, i64 80, i1 false)
  %1094 = load i32, ptr @test_count, align 4, !tbaa !5
  %1095 = add nsw i32 %1094, 1
  store i32 %1095, ptr @test_count, align 4, !tbaa !5
  %1096 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %18) #12
  %1097 = call zeroext i1 @s2n_result_is_ok(i32 %1096)
  br i1 %1097, label %1122, label %1098

1098:                                             ; preds = %1093
  %1099 = tail call ptr @__errno_location() #13
  %1100 = load i32, ptr %1099, align 4, !tbaa !5
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @s2n_print_stacktrace(ptr noundef %1101) #12
  %1103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1104 = trunc nuw i8 %1103 to i1
  br i1 %1104, label %1105, label %1109

1105:                                             ; preds = %1098
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = call i32 @fileno(ptr noundef %1106) #12
  %1108 = call i32 @isatty(i32 noundef %1107) #12
  %.not578 = icmp eq i32 %1108, 0
  br i1 %.not578, label %1109, label %1110

1109:                                             ; preds = %1105, %1098
  br label %1110

1110:                                             ; preds = %1105, %1109
  %.str.5.sink1245 = phi ptr [ @.str.5, %1109 ], [ @.str.2, %1105 ]
  store i32 %1100, ptr %1099, align 4, !tbaa !5
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = load i32, ptr @test_count, align 4, !tbaa !5
  %1113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1114 = load i32, ptr %1113, align 4, !tbaa !5
  %1115 = call ptr @s2n_strerror(i32 noundef %1114, ptr noundef nonnull @.str.4) #12
  %1116 = load i32, ptr %1113, align 4, !tbaa !5
  %1117 = call ptr @s2n_strerror_debug(i32 noundef %1116, ptr noundef nonnull @.str.4) #12
  %1118 = load i32, ptr %1099, align 4, !tbaa !5
  %1119 = call ptr @strerror(i32 noundef %1118) #12
  %1120 = load i32, ptr %1099, align 4, !tbaa !5
  %1121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1111, ptr noundef nonnull %.str.5.sink1245, i32 noundef %1112, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1115, ptr noundef %1117, ptr noundef %1119, i32 noundef %1120) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1122:                                             ; preds = %1093
  %1123 = load i32, ptr @test_count, align 4, !tbaa !5
  %1124 = add nsw i32 %1123, 1
  store i32 %1124, ptr @test_count, align 4, !tbaa !5
  %1125 = load ptr, ptr %16, align 8, !tbaa !9
  %1126 = load ptr, ptr %17, align 8, !tbaa !9
  %1127 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1125, ptr noundef %1126, ptr noundef nonnull %18) #12
  %1128 = call zeroext i1 @s2n_result_is_ok(i32 %1127)
  br i1 %1128, label %1153, label %1129

1129:                                             ; preds = %1122
  %1130 = tail call ptr @__errno_location() #13
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @s2n_print_stacktrace(ptr noundef %1132) #12
  %1134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1135 = trunc nuw i8 %1134 to i1
  br i1 %1135, label %1136, label %1140

1136:                                             ; preds = %1129
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = call i32 @fileno(ptr noundef %1137) #12
  %1139 = call i32 @isatty(i32 noundef %1138) #12
  %.not579 = icmp eq i32 %1139, 0
  br i1 %.not579, label %1140, label %1141

1140:                                             ; preds = %1136, %1129
  br label %1141

1141:                                             ; preds = %1136, %1140
  %.str.5.sink1256 = phi ptr [ @.str.5, %1140 ], [ @.str.2, %1136 ]
  store i32 %1131, ptr %1130, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef nonnull @.str.4) #12
  %1147 = load i32, ptr %1144, align 4, !tbaa !5
  %1148 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef nonnull @.str.4) #12
  %1149 = load i32, ptr %1130, align 4, !tbaa !5
  %1150 = call ptr @strerror(i32 noundef %1149) #12
  %1151 = load i32, ptr %1130, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef nonnull %.str.5.sink1256, i32 noundef %1143, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1146, ptr noundef %1148, ptr noundef %1150, i32 noundef %1151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1153:                                             ; preds = %1122
  %1154 = load i32, ptr @test_count, align 4, !tbaa !5
  %1155 = add nsw i32 %1154, 1
  store i32 %1155, ptr @test_count, align 4, !tbaa !5
  %1156 = load ptr, ptr %17, align 8, !tbaa !9
  %1157 = load ptr, ptr %16, align 8, !tbaa !9
  %1158 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1156, ptr noundef %1157) #12
  %1159 = icmp eq i32 %1158, -1
  br i1 %1159, label %1160, label %1184

1160:                                             ; preds = %1153
  %1161 = tail call ptr @__errno_location() #13
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @s2n_print_stacktrace(ptr noundef %1163) #12
  %1165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1166 = trunc nuw i8 %1165 to i1
  br i1 %1166, label %1167, label %1171

1167:                                             ; preds = %1160
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 @fileno(ptr noundef %1168) #12
  %1170 = call i32 @isatty(i32 noundef %1169) #12
  %.not761 = icmp eq i32 %1170, 0
  br i1 %.not761, label %1171, label %1172

1171:                                             ; preds = %1167, %1160
  br label %1172

1172:                                             ; preds = %1167, %1171
  %.str.5.sink1267 = phi ptr [ @.str.5, %1171 ], [ @.str.2, %1167 ]
  store i32 %1162, ptr %1161, align 4, !tbaa !5
  %1173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror(i32 noundef %1176, ptr noundef nonnull @.str.4) #12
  %1178 = load i32, ptr %1175, align 4, !tbaa !5
  %1179 = call ptr @s2n_strerror_debug(i32 noundef %1178, ptr noundef nonnull @.str.4) #12
  %1180 = load i32, ptr %1161, align 4, !tbaa !5
  %1181 = call ptr @strerror(i32 noundef %1180) #12
  %1182 = load i32, ptr %1161, align 4, !tbaa !5
  %1183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1173, ptr noundef nonnull %.str.5.sink1267, i32 noundef %1174, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1177, ptr noundef %1179, ptr noundef %1181, i32 noundef %1182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1184:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %19, i8 0, i64 24, i1 false)
  %1185 = load i32, ptr @test_count, align 4, !tbaa !5
  %1186 = add nsw i32 %1185, 1
  store i32 %1186, ptr @test_count, align 4, !tbaa !5
  %1187 = load ptr, ptr %17, align 8, !tbaa !9
  %1188 = call i32 @s2n_connection_set_counting_read(ptr noundef %1187, ptr noundef nonnull %19)
  %1189 = call zeroext i1 @s2n_result_is_ok(i32 %1188)
  br i1 %1189, label %1214, label %1190

1190:                                             ; preds = %1184
  %1191 = tail call ptr @__errno_location() #13
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @s2n_print_stacktrace(ptr noundef %1193) #12
  %1195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1196 = trunc nuw i8 %1195 to i1
  br i1 %1196, label %1197, label %1201

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

1201:                                             ; preds = %1197, %1190
  br label %1202

1202:                                             ; preds = %1197, %1201
  %.str.5.sink1278 = phi ptr [ @.str.5, %1201 ], [ @.str.2, %1197 ]
  store i32 %1192, ptr %1191, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %1205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror(i32 noundef %1206, ptr noundef nonnull @.str.4) #12
  %1208 = load i32, ptr %1205, align 4, !tbaa !5
  %1209 = call ptr @s2n_strerror_debug(i32 noundef %1208, ptr noundef nonnull @.str.4) #12
  %1210 = load i32, ptr %1191, align 4, !tbaa !5
  %1211 = call ptr @strerror(i32 noundef %1210) #12
  %1212 = load i32, ptr %1191, align 4, !tbaa !5
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1203, ptr noundef nonnull %.str.5.sink1278, i32 noundef %1204, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1207, ptr noundef %1209, ptr noundef %1211, i32 noundef %1212) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1214:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #12
  store i32 0, ptr %20, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %21, i8 0, i64 24, i1 false)
  %1215 = load i32, ptr @test_count, align 4, !tbaa !5
  %1216 = add nsw i32 %1215, 1
  store i32 %1216, ptr @test_count, align 4, !tbaa !5
  %1217 = call i32 @s2n_alloc(ptr noundef nonnull %21, i32 noundef 16384) #12
  %1218 = icmp eq i32 %1217, -1
  br i1 %1218, label %1219, label %1243

1219:                                             ; preds = %1214
  %1220 = tail call ptr @__errno_location() #13
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = call i32 @s2n_print_stacktrace(ptr noundef %1222) #12
  %1224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1225 = trunc nuw i8 %1224 to i1
  br i1 %1225, label %1226, label %1230

1226:                                             ; preds = %1219
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = call i32 @fileno(ptr noundef %1227) #12
  %1229 = call i32 @isatty(i32 noundef %1228) #12
  %.not760 = icmp eq i32 %1229, 0
  br i1 %.not760, label %1230, label %1231

1230:                                             ; preds = %1226, %1219
  br label %1231

1231:                                             ; preds = %1226, %1230
  %.str.5.sink1289 = phi ptr [ @.str.5, %1230 ], [ @.str.2, %1226 ]
  store i32 %1221, ptr %1220, align 4, !tbaa !5
  %1232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1233 = load i32, ptr @test_count, align 4, !tbaa !5
  %1234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1235 = load i32, ptr %1234, align 4, !tbaa !5
  %1236 = call ptr @s2n_strerror(i32 noundef %1235, ptr noundef nonnull @.str.4) #12
  %1237 = load i32, ptr %1234, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef nonnull @.str.4) #12
  %1239 = load i32, ptr %1220, align 4, !tbaa !5
  %1240 = call ptr @strerror(i32 noundef %1239) #12
  %1241 = load i32, ptr %1220, align 4, !tbaa !5
  %1242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1232, ptr noundef nonnull %.str.5.sink1289, i32 noundef %1233, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1236, ptr noundef %1238, ptr noundef %1240, i32 noundef %1241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1243:                                             ; preds = %1214
  %1244 = load i32, ptr @test_count, align 4, !tbaa !5
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !5
  %1246 = load ptr, ptr %16, align 8, !tbaa !9
  %1247 = load ptr, ptr %21, align 8, !tbaa !47
  %1248 = getelementptr inbounds i8, ptr %21, i64 8
  %1249 = load i32, ptr %1248, align 8, !tbaa !48
  %1250 = zext i32 %1249 to i64
  %1251 = call i64 @s2n_send(ptr noundef %1246, ptr noundef %1247, i64 noundef %1250, ptr noundef nonnull %20) #12
  %1252 = load i32, ptr %1248, align 8, !tbaa !48
  %1253 = zext i32 %1252 to i64
  %1254 = icmp eq i64 %1251, %1253
  br i1 %1254, label %1279, label %1255

1255:                                             ; preds = %1243
  %1256 = tail call ptr @__errno_location() #13
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @s2n_print_stacktrace(ptr noundef %1258) #12
  %1260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1261 = trunc nuw i8 %1260 to i1
  br i1 %1261, label %1262, label %1266

1262:                                             ; preds = %1255
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = call i32 @fileno(ptr noundef %1263) #12
  %1265 = call i32 @isatty(i32 noundef %1264) #12
  %.not581 = icmp eq i32 %1265, 0
  br i1 %.not581, label %1266, label %1267

1266:                                             ; preds = %1262, %1255
  br label %1267

1267:                                             ; preds = %1262, %1266
  %.str.5.sink1300 = phi ptr [ @.str.5, %1266 ], [ @.str.2, %1262 ]
  store i32 %1257, ptr %1256, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror(i32 noundef %1271, ptr noundef nonnull @.str.4) #12
  %1273 = load i32, ptr %1270, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror_debug(i32 noundef %1273, ptr noundef nonnull @.str.4) #12
  %1275 = load i32, ptr %1256, align 4, !tbaa !5
  %1276 = call ptr @strerror(i32 noundef %1275) #12
  %1277 = load i32, ptr %1256, align 4, !tbaa !5
  %1278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef nonnull %.str.5.sink1300, i32 noundef %1269, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1272, ptr noundef %1274, ptr noundef %1276, i32 noundef %1277) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1279:                                             ; preds = %1243
  %1280 = getelementptr inbounds i8, ptr %18, i64 68
  %1281 = load i32, ptr %1280, align 4, !tbaa !15
  %1282 = getelementptr inbounds i8, ptr %18, i64 64
  %1283 = load i32, ptr %1282, align 8, !tbaa !19
  %1284 = sub i32 %1281, %1283
  %1285 = zext i32 %1284 to i64
  %1286 = add nsw i64 %1285, -5
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = add nsw i32 %1287, 1
  store i32 %1288, ptr @test_count, align 4, !tbaa !5
  %1289 = icmp ugt i64 %1286, 16384
  br i1 %1289, label %1314, label %1290

1290:                                             ; preds = %1279
  %1291 = tail call ptr @__errno_location() #13
  %1292 = load i32, ptr %1291, align 4, !tbaa !5
  %1293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1294 = call i32 @s2n_print_stacktrace(ptr noundef %1293) #12
  %1295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1296 = trunc nuw i8 %1295 to i1
  br i1 %1296, label %1297, label %1301

1297:                                             ; preds = %1290
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = call i32 @fileno(ptr noundef %1298) #12
  %1300 = call i32 @isatty(i32 noundef %1299) #12
  %.not582 = icmp eq i32 %1300, 0
  br i1 %.not582, label %1301, label %1302

1301:                                             ; preds = %1297, %1290
  br label %1302

1302:                                             ; preds = %1297, %1301
  %.str.5.sink1311 = phi ptr [ @.str.5, %1301 ], [ @.str.2, %1297 ]
  store i32 %1292, ptr %1291, align 4, !tbaa !5
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = load i32, ptr @test_count, align 4, !tbaa !5
  %1305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror(i32 noundef %1306, ptr noundef nonnull @.str.4) #12
  %1308 = load i32, ptr %1305, align 4, !tbaa !5
  %1309 = call ptr @s2n_strerror_debug(i32 noundef %1308, ptr noundef nonnull @.str.4) #12
  %1310 = load i32, ptr %1291, align 4, !tbaa !5
  %1311 = call ptr @strerror(i32 noundef %1310) #12
  %1312 = load i32, ptr %1291, align 4, !tbaa !5
  %1313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1303, ptr noundef nonnull %.str.5.sink1311, i32 noundef %1304, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1307, ptr noundef %1309, ptr noundef %1311, i32 noundef %1312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1314:                                             ; preds = %1279
  %1315 = add nsw i32 %1287, 2
  store i32 %1315, ptr @test_count, align 4, !tbaa !5
  %1316 = load ptr, ptr %17, align 8, !tbaa !9
  %1317 = load ptr, ptr %21, align 8, !tbaa !47
  %1318 = call i64 @s2n_recv(ptr noundef %1316, ptr noundef %1317, i64 noundef %1251, ptr noundef nonnull %20) #12
  %1319 = load i32, ptr %1248, align 8, !tbaa !48
  %1320 = zext i32 %1319 to i64
  %1321 = icmp eq i64 %1318, %1320
  br i1 %1321, label %1346, label %1322

1322:                                             ; preds = %1314
  %1323 = tail call ptr @__errno_location() #13
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = call i32 @s2n_print_stacktrace(ptr noundef %1325) #12
  %1327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1328 = trunc nuw i8 %1327 to i1
  br i1 %1328, label %1329, label %1333

1329:                                             ; preds = %1322
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @fileno(ptr noundef %1330) #12
  %1332 = call i32 @isatty(i32 noundef %1331) #12
  %.not583 = icmp eq i32 %1332, 0
  br i1 %.not583, label %1333, label %1334

1333:                                             ; preds = %1329, %1322
  br label %1334

1334:                                             ; preds = %1329, %1333
  %.str.5.sink1322 = phi ptr [ @.str.5, %1333 ], [ @.str.2, %1329 ]
  store i32 %1324, ptr %1323, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef nonnull @.str.4) #12
  %1340 = load i32, ptr %1337, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef nonnull @.str.4) #12
  %1342 = load i32, ptr %1323, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #12
  %1344 = load i32, ptr %1323, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef nonnull %.str.5.sink1322, i32 noundef %1336, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1339, ptr noundef %1341, ptr noundef %1343, i32 noundef %1344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1346:                                             ; preds = %1314
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = add nsw i32 %1347, 1
  store i32 %1348, ptr @test_count, align 4, !tbaa !5
  %1349 = load ptr, ptr %17, align 8, !tbaa !9
  %1350 = getelementptr inbounds i8, ptr %1349, i64 1824
  %1351 = load i32, ptr %1350, align 8, !tbaa !49
  %1352 = getelementptr inbounds i8, ptr %1349, i64 1844
  %1353 = load i32, ptr %1352, align 4, !tbaa !50
  %1354 = sub i32 %1351, %1353
  %1355 = zext i32 %1354 to i64
  %1356 = icmp ult i64 %1286, %1355
  br i1 %1356, label %1381, label %1357

1357:                                             ; preds = %1346
  %1358 = tail call ptr @__errno_location() #13
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = call i32 @s2n_print_stacktrace(ptr noundef %1360) #12
  %1362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1363 = trunc nuw i8 %1362 to i1
  br i1 %1363, label %1364, label %1368

1364:                                             ; preds = %1357
  %1365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1366 = call i32 @fileno(ptr noundef %1365) #12
  %1367 = call i32 @isatty(i32 noundef %1366) #12
  %.not584 = icmp eq i32 %1367, 0
  br i1 %.not584, label %1368, label %1369

1368:                                             ; preds = %1364, %1357
  br label %1369

1369:                                             ; preds = %1364, %1368
  %.str.5.sink1333 = phi ptr [ @.str.5, %1368 ], [ @.str.2, %1364 ]
  store i32 %1359, ptr %1358, align 4, !tbaa !5
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = load i32, ptr @test_count, align 4, !tbaa !5
  %1372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror(i32 noundef %1373, ptr noundef nonnull @.str.4) #12
  %1375 = load i32, ptr %1372, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef nonnull @.str.4) #12
  %1377 = load i32, ptr %1358, align 4, !tbaa !5
  %1378 = call ptr @strerror(i32 noundef %1377) #12
  %1379 = load i32, ptr %1358, align 4, !tbaa !5
  %1380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1370, ptr noundef nonnull %.str.5.sink1333, i32 noundef %1371, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1374, ptr noundef %1376, ptr noundef %1378, i32 noundef %1379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1381:                                             ; preds = %1346
  %1382 = add nsw i32 %1347, 2
  store i32 %1382, ptr @test_count, align 4, !tbaa !5
  %1383 = load i64, ptr %19, align 8, !tbaa !20
  %1384 = icmp eq i64 %1383, 2
  br i1 %1384, label %1409, label %1385

1385:                                             ; preds = %1381
  %1386 = tail call ptr @__errno_location() #13
  %1387 = load i32, ptr %1386, align 4, !tbaa !5
  %1388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1389 = call i32 @s2n_print_stacktrace(ptr noundef %1388) #12
  %1390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1391 = trunc nuw i8 %1390 to i1
  br i1 %1391, label %1392, label %1396

1392:                                             ; preds = %1385
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = call i32 @fileno(ptr noundef %1393) #12
  %1395 = call i32 @isatty(i32 noundef %1394) #12
  %.not585 = icmp eq i32 %1395, 0
  br i1 %.not585, label %1396, label %1397

1396:                                             ; preds = %1392, %1385
  br label %1397

1397:                                             ; preds = %1392, %1396
  %.str.5.sink1344 = phi ptr [ @.str.5, %1396 ], [ @.str.2, %1392 ]
  store i32 %1387, ptr %1386, align 4, !tbaa !5
  %1398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1399 = load i32, ptr @test_count, align 4, !tbaa !5
  %1400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1401 = load i32, ptr %1400, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror(i32 noundef %1401, ptr noundef nonnull @.str.4) #12
  %1403 = load i32, ptr %1400, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror_debug(i32 noundef %1403, ptr noundef nonnull @.str.4) #12
  %1405 = load i32, ptr %1386, align 4, !tbaa !5
  %1406 = call ptr @strerror(i32 noundef %1405) #12
  %1407 = load i32, ptr %1386, align 4, !tbaa !5
  %1408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1398, ptr noundef nonnull %.str.5.sink1344, i32 noundef %1399, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1402, ptr noundef %1404, ptr noundef %1406, i32 noundef %1407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1409:                                             ; preds = %1381
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %22) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %22, i8 0, i64 20, i1 false)
  %1410 = add nsw i32 %1347, 3
  store i32 %1410, ptr @test_count, align 4, !tbaa !5
  %1411 = load ptr, ptr %16, align 8, !tbaa !9
  %1412 = call i64 @s2n_send(ptr noundef %1411, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %20) #12
  %1413 = icmp eq i64 %1412, 20
  br i1 %1413, label %1438, label %1414

1414:                                             ; preds = %1409
  %1415 = tail call ptr @__errno_location() #13
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = call i32 @s2n_print_stacktrace(ptr noundef %1417) #12
  %1419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1420 = trunc nuw i8 %1419 to i1
  br i1 %1420, label %1421, label %1425

1421:                                             ; preds = %1414
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = call i32 @fileno(ptr noundef %1422) #12
  %1424 = call i32 @isatty(i32 noundef %1423) #12
  %.not586 = icmp eq i32 %1424, 0
  br i1 %.not586, label %1425, label %1426

1425:                                             ; preds = %1421, %1414
  br label %1426

1426:                                             ; preds = %1421, %1425
  %.str.5.sink1355 = phi ptr [ @.str.5, %1425 ], [ @.str.2, %1421 ]
  store i32 %1416, ptr %1415, align 4, !tbaa !5
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.4) #12
  %1432 = load i32, ptr %1429, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.4) #12
  %1434 = load i32, ptr %1415, align 4, !tbaa !5
  %1435 = call ptr @strerror(i32 noundef %1434) #12
  %1436 = load i32, ptr %1415, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1427, ptr noundef nonnull %.str.5.sink1355, i32 noundef %1428, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1438:                                             ; preds = %1409
  %1439 = load i32, ptr @test_count, align 4, !tbaa !5
  %1440 = add nsw i32 %1439, 1
  store i32 %1440, ptr @test_count, align 4, !tbaa !5
  %1441 = load ptr, ptr %17, align 8, !tbaa !9
  %1442 = call i64 @s2n_recv(ptr noundef %1441, ptr noundef nonnull %22, i64 noundef 20, ptr noundef nonnull %20) #12
  %1443 = icmp eq i64 %1442, 20
  br i1 %1443, label %1468, label %1444

1444:                                             ; preds = %1438
  %1445 = tail call ptr @__errno_location() #13
  %1446 = load i32, ptr %1445, align 4, !tbaa !5
  %1447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1448 = call i32 @s2n_print_stacktrace(ptr noundef %1447) #12
  %1449 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1450 = trunc nuw i8 %1449 to i1
  br i1 %1450, label %1451, label %1455

1451:                                             ; preds = %1444
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @fileno(ptr noundef %1452) #12
  %1454 = call i32 @isatty(i32 noundef %1453) #12
  %.not587 = icmp eq i32 %1454, 0
  br i1 %.not587, label %1455, label %1456

1455:                                             ; preds = %1451, %1444
  br label %1456

1456:                                             ; preds = %1451, %1455
  %.str.5.sink1366 = phi ptr [ @.str.5, %1455 ], [ @.str.2, %1451 ]
  store i32 %1446, ptr %1445, align 4, !tbaa !5
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = load i32, ptr @test_count, align 4, !tbaa !5
  %1459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @s2n_strerror(i32 noundef %1460, ptr noundef nonnull @.str.4) #12
  %1462 = load i32, ptr %1459, align 4, !tbaa !5
  %1463 = call ptr @s2n_strerror_debug(i32 noundef %1462, ptr noundef nonnull @.str.4) #12
  %1464 = load i32, ptr %1445, align 4, !tbaa !5
  %1465 = call ptr @strerror(i32 noundef %1464) #12
  %1466 = load i32, ptr %1445, align 4, !tbaa !5
  %1467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1457, ptr noundef nonnull %.str.5.sink1366, i32 noundef %1458, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1461, ptr noundef %1463, ptr noundef %1465, i32 noundef %1466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1468:                                             ; preds = %1438
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = add nsw i32 %1469, 1
  store i32 %1470, ptr @test_count, align 4, !tbaa !5
  %bcmp588 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %22, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %1471 = icmp eq i32 %bcmp588, 0
  br i1 %1471, label %1496, label %1472

1472:                                             ; preds = %1468
  %1473 = tail call ptr @__errno_location() #13
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @s2n_print_stacktrace(ptr noundef %1475) #12
  %1477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1478 = trunc nuw i8 %1477 to i1
  br i1 %1478, label %1479, label %1483

1479:                                             ; preds = %1472
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = call i32 @fileno(ptr noundef %1480) #12
  %1482 = call i32 @isatty(i32 noundef %1481) #12
  %.not589 = icmp eq i32 %1482, 0
  br i1 %.not589, label %1483, label %1484

1483:                                             ; preds = %1479, %1472
  br label %1484

1484:                                             ; preds = %1479, %1483
  %.str.5.sink1377 = phi ptr [ @.str.5, %1483 ], [ @.str.2, %1479 ]
  store i32 %1474, ptr %1473, align 4, !tbaa !5
  %1485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1486 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1488, ptr noundef nonnull @.str.4) #12
  %1490 = load i32, ptr %1487, align 4, !tbaa !5
  %1491 = call ptr @s2n_strerror_debug(i32 noundef %1490, ptr noundef nonnull @.str.4) #12
  %1492 = load i32, ptr %1473, align 4, !tbaa !5
  %1493 = call ptr @strerror(i32 noundef %1492) #12
  %1494 = load i32, ptr %1473, align 4, !tbaa !5
  %1495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1485, ptr noundef nonnull %.str.5.sink1377, i32 noundef %1486, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1489, ptr noundef %1491, ptr noundef %1493, i32 noundef %1494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1496:                                             ; preds = %1468
  %1497 = add nsw i32 %1469, 2
  store i32 %1497, ptr @test_count, align 4, !tbaa !5
  %1498 = load i64, ptr %19, align 8, !tbaa !20
  %1499 = icmp eq i64 %1498, 3
  br i1 %1499, label %1524, label %1500

1500:                                             ; preds = %1496
  %1501 = tail call ptr @__errno_location() #13
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @s2n_print_stacktrace(ptr noundef %1503) #12
  %1505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1506 = trunc nuw i8 %1505 to i1
  br i1 %1506, label %1507, label %1511

1507:                                             ; preds = %1500
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = call i32 @fileno(ptr noundef %1508) #12
  %1510 = call i32 @isatty(i32 noundef %1509) #12
  %.not590 = icmp eq i32 %1510, 0
  br i1 %.not590, label %1511, label %1512

1511:                                             ; preds = %1507, %1500
  br label %1512

1512:                                             ; preds = %1507, %1511
  %.str.5.sink1388 = phi ptr [ @.str.5, %1511 ], [ @.str.2, %1507 ]
  store i32 %1502, ptr %1501, align 4, !tbaa !5
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = load i32, ptr @test_count, align 4, !tbaa !5
  %1515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call ptr @s2n_strerror(i32 noundef %1516, ptr noundef nonnull @.str.4) #12
  %1518 = load i32, ptr %1515, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef nonnull @.str.4) #12
  %1520 = load i32, ptr %1501, align 4, !tbaa !5
  %1521 = call ptr @strerror(i32 noundef %1520) #12
  %1522 = load i32, ptr %1501, align 4, !tbaa !5
  %1523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1513, ptr noundef nonnull %.str.5.sink1388, i32 noundef %1514, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1517, ptr noundef %1519, ptr noundef %1521, i32 noundef %1522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1524:                                             ; preds = %1496
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %22) #12
  %1525 = call i32 @s2n_free(ptr noundef nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #12
  %1526 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %18) #12
  %1527 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  %1528 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  br label %1535

1529:                                             ; preds = %2135
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  %1530 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1530, ptr %29, align 8, !tbaa !9
  %1531 = load i32, ptr @test_count, align 4, !tbaa !5
  %1532 = add nsw i32 %1531, 1
  store i32 %1532, ptr @test_count, align 4, !tbaa !5
  %1533 = call i32 @s2n_connection_set_config(ptr noundef %1530, ptr noundef %277) #12
  %1534 = icmp eq i32 %1533, -1
  br i1 %1534, label %2139, label %2163

1535:                                             ; preds = %1524, %2135
  %.not742 = phi i1 [ true, %1524 ], [ false, %2135 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %1536 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %1536, ptr %23, align 8, !tbaa !9
  %1537 = load i32, ptr @test_count, align 4, !tbaa !5
  %1538 = add nsw i32 %1537, 1
  store i32 %1538, ptr @test_count, align 4, !tbaa !5
  %1539 = call i32 @s2n_connection_set_config(ptr noundef %1536, ptr noundef %188) #12
  %1540 = icmp eq i32 %1539, -1
  br i1 %1540, label %1541, label %1565

1541:                                             ; preds = %1535
  %1542 = tail call ptr @__errno_location() #13
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = call i32 @s2n_print_stacktrace(ptr noundef %1544) #12
  %1546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1547 = trunc nuw i8 %1546 to i1
  br i1 %1547, label %1548, label %1552

1548:                                             ; preds = %1541
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = call i32 @fileno(ptr noundef %1549) #12
  %1551 = call i32 @isatty(i32 noundef %1550) #12
  %.not759 = icmp eq i32 %1551, 0
  br i1 %.not759, label %1552, label %1553

1552:                                             ; preds = %1548, %1541
  br label %1553

1553:                                             ; preds = %1548, %1552
  %.str.5.sink1399 = phi ptr [ @.str.5, %1552 ], [ @.str.2, %1548 ]
  store i32 %1543, ptr %1542, align 4, !tbaa !5
  %1554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1555 = load i32, ptr @test_count, align 4, !tbaa !5
  %1556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror(i32 noundef %1557, ptr noundef nonnull @.str.4) #12
  %1559 = load i32, ptr %1556, align 4, !tbaa !5
  %1560 = call ptr @s2n_strerror_debug(i32 noundef %1559, ptr noundef nonnull @.str.4) #12
  %1561 = load i32, ptr %1542, align 4, !tbaa !5
  %1562 = call ptr @strerror(i32 noundef %1561) #12
  %1563 = load i32, ptr %1542, align 4, !tbaa !5
  %1564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1554, ptr noundef nonnull %.str.5.sink1399, i32 noundef %1555, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1558, ptr noundef %1560, ptr noundef %1562, i32 noundef %1563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1565:                                             ; preds = %1535
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  %1566 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %1566, ptr %24, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = add nsw i32 %1567, 1
  store i32 %1568, ptr @test_count, align 4, !tbaa !5
  %1569 = call i32 @s2n_connection_set_config(ptr noundef %1566, ptr noundef %188) #12
  %1570 = icmp eq i32 %1569, -1
  br i1 %1570, label %1571, label %1595

1571:                                             ; preds = %1565
  %1572 = tail call ptr @__errno_location() #13
  %1573 = load i32, ptr %1572, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = call i32 @s2n_print_stacktrace(ptr noundef %1574) #12
  %1576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1577 = trunc nuw i8 %1576 to i1
  br i1 %1577, label %1578, label %1582

1578:                                             ; preds = %1571
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @fileno(ptr noundef %1579) #12
  %1581 = call i32 @isatty(i32 noundef %1580) #12
  %.not758 = icmp eq i32 %1581, 0
  br i1 %.not758, label %1582, label %1583

1582:                                             ; preds = %1578, %1571
  br label %1583

1583:                                             ; preds = %1578, %1582
  %.str.5.sink1410 = phi ptr [ @.str.5, %1582 ], [ @.str.2, %1578 ]
  store i32 %1573, ptr %1572, align 4, !tbaa !5
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = load i32, ptr @test_count, align 4, !tbaa !5
  %1586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call ptr @s2n_strerror(i32 noundef %1587, ptr noundef nonnull @.str.4) #12
  %1589 = load i32, ptr %1586, align 4, !tbaa !5
  %1590 = call ptr @s2n_strerror_debug(i32 noundef %1589, ptr noundef nonnull @.str.4) #12
  %1591 = load i32, ptr %1572, align 4, !tbaa !5
  %1592 = call ptr @strerror(i32 noundef %1591) #12
  %1593 = load i32, ptr %1572, align 4, !tbaa !5
  %1594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1584, ptr noundef nonnull %.str.5.sink1410, i32 noundef %1585, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1588, ptr noundef %1590, ptr noundef %1592, i32 noundef %1593) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1595:                                             ; preds = %1565
  br i1 %.not742, label %1656, label %1596

1596:                                             ; preds = %1595
  %1597 = load i32, ptr @test_count, align 4, !tbaa !5
  %1598 = add nsw i32 %1597, 1
  store i32 %1598, ptr @test_count, align 4, !tbaa !5
  %1599 = load ptr, ptr %23, align 8, !tbaa !9
  %1600 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1599, i1 noundef zeroext true) #12
  %1601 = icmp eq i32 %1600, -1
  br i1 %1601, label %1602, label %1626

1602:                                             ; preds = %1596
  %1603 = tail call ptr @__errno_location() #13
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @s2n_print_stacktrace(ptr noundef %1605) #12
  %1607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1608 = trunc nuw i8 %1607 to i1
  br i1 %1608, label %1609, label %1613

1609:                                             ; preds = %1602
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @fileno(ptr noundef %1610) #12
  %1612 = call i32 @isatty(i32 noundef %1611) #12
  %.not757 = icmp eq i32 %1612, 0
  br i1 %.not757, label %1613, label %1614

1613:                                             ; preds = %1609, %1602
  br label %1614

1614:                                             ; preds = %1609, %1613
  %.str.5.sink1421 = phi ptr [ @.str.5, %1613 ], [ @.str.2, %1609 ]
  store i32 %1604, ptr %1603, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1618 = load i32, ptr %1617, align 4, !tbaa !5
  %1619 = call ptr @s2n_strerror(i32 noundef %1618, ptr noundef nonnull @.str.4) #12
  %1620 = load i32, ptr %1617, align 4, !tbaa !5
  %1621 = call ptr @s2n_strerror_debug(i32 noundef %1620, ptr noundef nonnull @.str.4) #12
  %1622 = load i32, ptr %1603, align 4, !tbaa !5
  %1623 = call ptr @strerror(i32 noundef %1622) #12
  %1624 = load i32, ptr %1603, align 4, !tbaa !5
  %1625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1615, ptr noundef nonnull %.str.5.sink1421, i32 noundef %1616, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %1619, ptr noundef %1621, ptr noundef %1623, i32 noundef %1624) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1626:                                             ; preds = %1596
  %1627 = load i32, ptr @test_count, align 4, !tbaa !5
  %1628 = add nsw i32 %1627, 1
  store i32 %1628, ptr @test_count, align 4, !tbaa !5
  %1629 = load ptr, ptr %24, align 8, !tbaa !9
  %1630 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %1629, i1 noundef zeroext true) #12
  %1631 = icmp eq i32 %1630, -1
  br i1 %1631, label %1632, label %1656

1632:                                             ; preds = %1626
  %1633 = tail call ptr @__errno_location() #13
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1636 = call i32 @s2n_print_stacktrace(ptr noundef %1635) #12
  %1637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1638 = trunc nuw i8 %1637 to i1
  br i1 %1638, label %1639, label %1643

1639:                                             ; preds = %1632
  %1640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1641 = call i32 @fileno(ptr noundef %1640) #12
  %1642 = call i32 @isatty(i32 noundef %1641) #12
  %.not756 = icmp eq i32 %1642, 0
  br i1 %.not756, label %1643, label %1644

1643:                                             ; preds = %1639, %1632
  br label %1644

1644:                                             ; preds = %1639, %1643
  %.str.5.sink1432 = phi ptr [ @.str.5, %1643 ], [ @.str.2, %1639 ]
  store i32 %1634, ptr %1633, align 4, !tbaa !5
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = load i32, ptr @test_count, align 4, !tbaa !5
  %1647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @s2n_strerror(i32 noundef %1648, ptr noundef nonnull @.str.4) #12
  %1650 = load i32, ptr %1647, align 4, !tbaa !5
  %1651 = call ptr @s2n_strerror_debug(i32 noundef %1650, ptr noundef nonnull @.str.4) #12
  %1652 = load i32, ptr %1633, align 4, !tbaa !5
  %1653 = call ptr @strerror(i32 noundef %1652) #12
  %1654 = load i32, ptr %1633, align 4, !tbaa !5
  %1655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1645, ptr noundef nonnull %.str.5.sink1432, i32 noundef %1646, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1649, ptr noundef %1651, ptr noundef %1653, i32 noundef %1654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1656:                                             ; preds = %1626, %1595
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %25, i8 0, i64 80, i1 false)
  %1657 = load i32, ptr @test_count, align 4, !tbaa !5
  %1658 = add nsw i32 %1657, 1
  store i32 %1658, ptr @test_count, align 4, !tbaa !5
  %1659 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %25) #12
  %1660 = call zeroext i1 @s2n_result_is_ok(i32 %1659)
  br i1 %1660, label %1685, label %1661

1661:                                             ; preds = %1656
  %1662 = tail call ptr @__errno_location() #13
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @s2n_print_stacktrace(ptr noundef %1664) #12
  %1666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1667 = trunc nuw i8 %1666 to i1
  br i1 %1667, label %1668, label %1672

1668:                                             ; preds = %1661
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = call i32 @fileno(ptr noundef %1669) #12
  %1671 = call i32 @isatty(i32 noundef %1670) #12
  %.not743 = icmp eq i32 %1671, 0
  br i1 %.not743, label %1672, label %1673

1672:                                             ; preds = %1668, %1661
  br label %1673

1673:                                             ; preds = %1668, %1672
  %.str.5.sink1443 = phi ptr [ @.str.5, %1672 ], [ @.str.2, %1668 ]
  store i32 %1663, ptr %1662, align 4, !tbaa !5
  %1674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1675 = load i32, ptr @test_count, align 4, !tbaa !5
  %1676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror(i32 noundef %1677, ptr noundef nonnull @.str.4) #12
  %1679 = load i32, ptr %1676, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror_debug(i32 noundef %1679, ptr noundef nonnull @.str.4) #12
  %1681 = load i32, ptr %1662, align 4, !tbaa !5
  %1682 = call ptr @strerror(i32 noundef %1681) #12
  %1683 = load i32, ptr %1662, align 4, !tbaa !5
  %1684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1674, ptr noundef nonnull %.str.5.sink1443, i32 noundef %1675, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1678, ptr noundef %1680, ptr noundef %1682, i32 noundef %1683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1685:                                             ; preds = %1656
  %1686 = load i32, ptr @test_count, align 4, !tbaa !5
  %1687 = add nsw i32 %1686, 1
  store i32 %1687, ptr @test_count, align 4, !tbaa !5
  %1688 = load ptr, ptr %23, align 8, !tbaa !9
  %1689 = load ptr, ptr %24, align 8, !tbaa !9
  %1690 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %1688, ptr noundef %1689, ptr noundef nonnull %25) #12
  %1691 = call zeroext i1 @s2n_result_is_ok(i32 %1690)
  br i1 %1691, label %1716, label %1692

1692:                                             ; preds = %1685
  %1693 = tail call ptr @__errno_location() #13
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @s2n_print_stacktrace(ptr noundef %1695) #12
  %1697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1698 = trunc nuw i8 %1697 to i1
  br i1 %1698, label %1699, label %1703

1699:                                             ; preds = %1692
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = call i32 @fileno(ptr noundef %1700) #12
  %1702 = call i32 @isatty(i32 noundef %1701) #12
  %.not744 = icmp eq i32 %1702, 0
  br i1 %.not744, label %1703, label %1704

1703:                                             ; preds = %1699, %1692
  br label %1704

1704:                                             ; preds = %1699, %1703
  %.str.5.sink1454 = phi ptr [ @.str.5, %1703 ], [ @.str.2, %1699 ]
  store i32 %1694, ptr %1693, align 4, !tbaa !5
  %1705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1706 = load i32, ptr @test_count, align 4, !tbaa !5
  %1707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror(i32 noundef %1708, ptr noundef nonnull @.str.4) #12
  %1710 = load i32, ptr %1707, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror_debug(i32 noundef %1710, ptr noundef nonnull @.str.4) #12
  %1712 = load i32, ptr %1693, align 4, !tbaa !5
  %1713 = call ptr @strerror(i32 noundef %1712) #12
  %1714 = load i32, ptr %1693, align 4, !tbaa !5
  %1715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1705, ptr noundef nonnull %.str.5.sink1454, i32 noundef %1706, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1709, ptr noundef %1711, ptr noundef %1713, i32 noundef %1714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1716:                                             ; preds = %1685
  %1717 = load i32, ptr @test_count, align 4, !tbaa !5
  %1718 = add nsw i32 %1717, 1
  store i32 %1718, ptr @test_count, align 4, !tbaa !5
  %1719 = load ptr, ptr %24, align 8, !tbaa !9
  %1720 = load ptr, ptr %23, align 8, !tbaa !9
  %1721 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %1719, ptr noundef %1720) #12
  %1722 = icmp eq i32 %1721, -1
  br i1 %1722, label %1723, label %1747

1723:                                             ; preds = %1716
  %1724 = tail call ptr @__errno_location() #13
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @s2n_print_stacktrace(ptr noundef %1726) #12
  %1728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1729 = trunc nuw i8 %1728 to i1
  br i1 %1729, label %1730, label %1734

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

1734:                                             ; preds = %1730, %1723
  br label %1735

1735:                                             ; preds = %1730, %1734
  %.str.5.sink1465 = phi ptr [ @.str.5, %1734 ], [ @.str.2, %1730 ]
  store i32 %1725, ptr %1724, align 4, !tbaa !5
  %1736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1737 = load i32, ptr @test_count, align 4, !tbaa !5
  %1738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1739 = load i32, ptr %1738, align 4, !tbaa !5
  %1740 = call ptr @s2n_strerror(i32 noundef %1739, ptr noundef nonnull @.str.4) #12
  %1741 = load i32, ptr %1738, align 4, !tbaa !5
  %1742 = call ptr @s2n_strerror_debug(i32 noundef %1741, ptr noundef nonnull @.str.4) #12
  %1743 = load i32, ptr %1724, align 4, !tbaa !5
  %1744 = call ptr @strerror(i32 noundef %1743) #12
  %1745 = load i32, ptr %1724, align 4, !tbaa !5
  %1746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1736, ptr noundef nonnull %.str.5.sink1465, i32 noundef %1737, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1740, ptr noundef %1742, ptr noundef %1744, i32 noundef %1745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1747:                                             ; preds = %1716
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %26, i8 0, i64 24, i1 false)
  %1748 = load i32, ptr @test_count, align 4, !tbaa !5
  %1749 = add nsw i32 %1748, 1
  store i32 %1749, ptr @test_count, align 4, !tbaa !5
  %1750 = load ptr, ptr %24, align 8, !tbaa !9
  %1751 = call i32 @s2n_connection_set_counting_read(ptr noundef %1750, ptr noundef nonnull %26)
  %1752 = call zeroext i1 @s2n_result_is_ok(i32 %1751)
  br i1 %1752, label %1777, label %1753

1753:                                             ; preds = %1747
  %1754 = tail call ptr @__errno_location() #13
  %1755 = load i32, ptr %1754, align 4, !tbaa !5
  %1756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1757 = call i32 @s2n_print_stacktrace(ptr noundef %1756) #12
  %1758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1759 = trunc nuw i8 %1758 to i1
  br i1 %1759, label %1760, label %1764

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

1764:                                             ; preds = %1760, %1753
  br label %1765

1765:                                             ; preds = %1760, %1764
  %.str.5.sink1476 = phi ptr [ @.str.5, %1764 ], [ @.str.2, %1760 ]
  store i32 %1755, ptr %1754, align 4, !tbaa !5
  %1766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1767 = load i32, ptr @test_count, align 4, !tbaa !5
  %1768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  %1770 = call ptr @s2n_strerror(i32 noundef %1769, ptr noundef nonnull @.str.4) #12
  %1771 = load i32, ptr %1768, align 4, !tbaa !5
  %1772 = call ptr @s2n_strerror_debug(i32 noundef %1771, ptr noundef nonnull @.str.4) #12
  %1773 = load i32, ptr %1754, align 4, !tbaa !5
  %1774 = call ptr @strerror(i32 noundef %1773) #12
  %1775 = load i32, ptr %1754, align 4, !tbaa !5
  %1776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1766, ptr noundef nonnull %.str.5.sink1476, i32 noundef %1767, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1770, ptr noundef %1772, ptr noundef %1774, i32 noundef %1775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1777:                                             ; preds = %1747
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #12
  store i32 0, ptr %27, align 4, !tbaa !5
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = add nsw i32 %1778, 1
  store i32 %1779, ptr @test_count, align 4, !tbaa !5
  %1780 = load ptr, ptr %23, align 8, !tbaa !9
  %1781 = call i64 @s2n_send(ptr noundef %1780, ptr noundef nonnull %3, i64 noundef 1, ptr noundef nonnull %27) #12
  %1782 = icmp eq i64 %1781, 1
  br i1 %1782, label %1783, label %1914

1783:                                             ; preds = %1777
  %1784 = load i32, ptr @test_count, align 4, !tbaa !5
  %1785 = add nsw i32 %1784, 1
  store i32 %1785, ptr @test_count, align 4, !tbaa !5
  %1786 = load ptr, ptr %23, align 8, !tbaa !9
  %1787 = call i64 @s2n_send(ptr noundef %1786, ptr noundef nonnull %3, i64 noundef 2, ptr noundef nonnull %27) #12
  %1788 = icmp eq i64 %1787, 2
  br i1 %1788, label %1789, label %1914

1789:                                             ; preds = %1783
  %1790 = load i32, ptr @test_count, align 4, !tbaa !5
  %1791 = add nsw i32 %1790, 1
  store i32 %1791, ptr @test_count, align 4, !tbaa !5
  %1792 = load ptr, ptr %23, align 8, !tbaa !9
  %1793 = call i64 @s2n_send(ptr noundef %1792, ptr noundef nonnull %3, i64 noundef 3, ptr noundef nonnull %27) #12
  %1794 = icmp eq i64 %1793, 3
  br i1 %1794, label %1795, label %1914

1795:                                             ; preds = %1789
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = add nsw i32 %1796, 1
  store i32 %1797, ptr @test_count, align 4, !tbaa !5
  %1798 = load ptr, ptr %23, align 8, !tbaa !9
  %1799 = call i64 @s2n_send(ptr noundef %1798, ptr noundef nonnull %3, i64 noundef 4, ptr noundef nonnull %27) #12
  %1800 = icmp eq i64 %1799, 4
  br i1 %1800, label %1801, label %1914

1801:                                             ; preds = %1795
  %1802 = load i32, ptr @test_count, align 4, !tbaa !5
  %1803 = add nsw i32 %1802, 1
  store i32 %1803, ptr @test_count, align 4, !tbaa !5
  %1804 = load ptr, ptr %23, align 8, !tbaa !9
  %1805 = call i64 @s2n_send(ptr noundef %1804, ptr noundef nonnull %3, i64 noundef 5, ptr noundef nonnull %27) #12
  %1806 = icmp eq i64 %1805, 5
  br i1 %1806, label %1807, label %1914

1807:                                             ; preds = %1801
  %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 %23, align 8, !tbaa !9
  %1811 = call i64 @s2n_send(ptr noundef %1810, ptr noundef nonnull %3, i64 noundef 6, ptr noundef nonnull %27) #12
  %1812 = icmp eq i64 %1811, 6
  br i1 %1812, label %1813, label %1914

1813:                                             ; preds = %1807
  %1814 = load i32, ptr @test_count, align 4, !tbaa !5
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr @test_count, align 4, !tbaa !5
  %1816 = load ptr, ptr %23, align 8, !tbaa !9
  %1817 = call i64 @s2n_send(ptr noundef %1816, ptr noundef nonnull %3, i64 noundef 7, ptr noundef nonnull %27) #12
  %1818 = icmp eq i64 %1817, 7
  br i1 %1818, label %1819, label %1914

1819:                                             ; preds = %1813
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = add nsw i32 %1820, 1
  store i32 %1821, ptr @test_count, align 4, !tbaa !5
  %1822 = load ptr, ptr %23, align 8, !tbaa !9
  %1823 = call i64 @s2n_send(ptr noundef %1822, ptr noundef nonnull %3, i64 noundef 8, ptr noundef nonnull %27) #12
  %1824 = icmp eq i64 %1823, 8
  br i1 %1824, label %1825, label %1914

1825:                                             ; preds = %1819
  %1826 = load i32, ptr @test_count, align 4, !tbaa !5
  %1827 = add nsw i32 %1826, 1
  store i32 %1827, ptr @test_count, align 4, !tbaa !5
  %1828 = load ptr, ptr %23, align 8, !tbaa !9
  %1829 = call i64 @s2n_send(ptr noundef %1828, ptr noundef nonnull %3, i64 noundef 9, ptr noundef nonnull %27) #12
  %1830 = icmp eq i64 %1829, 9
  br i1 %1830, label %1831, label %1914

1831:                                             ; preds = %1825
  %1832 = load i32, ptr @test_count, align 4, !tbaa !5
  %1833 = add nsw i32 %1832, 1
  store i32 %1833, ptr @test_count, align 4, !tbaa !5
  %1834 = load ptr, ptr %23, align 8, !tbaa !9
  %1835 = call i64 @s2n_send(ptr noundef %1834, ptr noundef nonnull %3, i64 noundef 10, ptr noundef nonnull %27) #12
  %1836 = icmp eq i64 %1835, 10
  br i1 %1836, label %1837, label %1914

1837:                                             ; preds = %1831
  %1838 = load i32, ptr @test_count, align 4, !tbaa !5
  %1839 = add nsw i32 %1838, 1
  store i32 %1839, ptr @test_count, align 4, !tbaa !5
  %1840 = load ptr, ptr %23, align 8, !tbaa !9
  %1841 = call i64 @s2n_send(ptr noundef %1840, ptr noundef nonnull %3, i64 noundef 11, ptr noundef nonnull %27) #12
  %1842 = icmp eq i64 %1841, 11
  br i1 %1842, label %1843, label %1914

1843:                                             ; preds = %1837
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = add nsw i32 %1844, 1
  store i32 %1845, ptr @test_count, align 4, !tbaa !5
  %1846 = load ptr, ptr %23, align 8, !tbaa !9
  %1847 = call i64 @s2n_send(ptr noundef %1846, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %27) #12
  %1848 = icmp eq i64 %1847, 12
  br i1 %1848, label %1849, label %1914

1849:                                             ; preds = %1843
  %1850 = load i32, ptr @test_count, align 4, !tbaa !5
  %1851 = add nsw i32 %1850, 1
  store i32 %1851, ptr @test_count, align 4, !tbaa !5
  %1852 = load ptr, ptr %23, align 8, !tbaa !9
  %1853 = call i64 @s2n_send(ptr noundef %1852, ptr noundef nonnull %3, i64 noundef 13, ptr noundef nonnull %27) #12
  %1854 = icmp eq i64 %1853, 13
  br i1 %1854, label %1855, label %1914

1855:                                             ; preds = %1849
  %1856 = load i32, ptr @test_count, align 4, !tbaa !5
  %1857 = add nsw i32 %1856, 1
  store i32 %1857, ptr @test_count, align 4, !tbaa !5
  %1858 = load ptr, ptr %23, align 8, !tbaa !9
  %1859 = call i64 @s2n_send(ptr noundef %1858, ptr noundef nonnull %3, i64 noundef 14, ptr noundef nonnull %27) #12
  %1860 = icmp eq i64 %1859, 14
  br i1 %1860, label %1861, label %1914

1861:                                             ; preds = %1855
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = add nsw i32 %1862, 1
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = load ptr, ptr %23, align 8, !tbaa !9
  %1865 = call i64 @s2n_send(ptr noundef %1864, ptr noundef nonnull %3, i64 noundef 15, ptr noundef nonnull %27) #12
  %1866 = icmp eq i64 %1865, 15
  br i1 %1866, label %1867, label %1914

1867:                                             ; preds = %1861
  %1868 = load i32, ptr @test_count, align 4, !tbaa !5
  %1869 = add nsw i32 %1868, 1
  store i32 %1869, ptr @test_count, align 4, !tbaa !5
  %1870 = load ptr, ptr %23, align 8, !tbaa !9
  %1871 = call i64 @s2n_send(ptr noundef %1870, ptr noundef nonnull %3, i64 noundef 16, ptr noundef nonnull %27) #12
  %1872 = icmp eq i64 %1871, 16
  br i1 %1872, label %1873, label %1914

1873:                                             ; preds = %1867
  %1874 = load i32, ptr @test_count, align 4, !tbaa !5
  %1875 = add nsw i32 %1874, 1
  store i32 %1875, ptr @test_count, align 4, !tbaa !5
  %1876 = load ptr, ptr %23, align 8, !tbaa !9
  %1877 = call i64 @s2n_send(ptr noundef %1876, ptr noundef nonnull %3, i64 noundef 17, ptr noundef nonnull %27) #12
  %1878 = icmp eq i64 %1877, 17
  br i1 %1878, label %1879, label %1914

1879:                                             ; preds = %1873
  %1880 = load i32, ptr @test_count, align 4, !tbaa !5
  %1881 = add nsw i32 %1880, 1
  store i32 %1881, ptr @test_count, align 4, !tbaa !5
  %1882 = load ptr, ptr %23, align 8, !tbaa !9
  %1883 = call i64 @s2n_send(ptr noundef %1882, ptr noundef nonnull %3, i64 noundef 18, ptr noundef nonnull %27) #12
  %1884 = icmp eq i64 %1883, 18
  br i1 %1884, label %1885, label %1914

1885:                                             ; preds = %1879
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = add nsw i32 %1886, 1
  store i32 %1887, ptr @test_count, align 4, !tbaa !5
  %1888 = load ptr, ptr %23, align 8, !tbaa !9
  %1889 = call i64 @s2n_send(ptr noundef %1888, ptr noundef nonnull %3, i64 noundef 19, ptr noundef nonnull %27) #12
  %1890 = icmp eq i64 %1889, 19
  br i1 %1890, label %1891, label %1914

1891:                                             ; preds = %1885
  %1892 = load i32, ptr @test_count, align 4, !tbaa !5
  %1893 = add nsw i32 %1892, 1
  store i32 %1893, ptr @test_count, align 4, !tbaa !5
  %1894 = load ptr, ptr %23, align 8, !tbaa !9
  %1895 = call i64 @s2n_send(ptr noundef %1894, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %27) #12
  %1896 = icmp eq i64 %1895, 20
  br i1 %1896, label %1897, label %1914

1897:                                             ; preds = %1891
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %28) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %28, i8 0, i64 20, i1 false)
  %.pre857 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not742, label %.split.us, label %.split

.split.us:                                        ; preds = %1897, %1912
  %1898 = phi i32 [ %1908, %1912 ], [ %.pre857, %1897 ]
  %.0549816.us = phi i64 [ %1913, %1912 ], [ 1, %1897 ]
  %1899 = add nsw i32 %1898, 1
  store i32 %1899, ptr @test_count, align 4, !tbaa !5
  %1900 = load ptr, ptr %24, align 8, !tbaa !9
  %1901 = call i64 @s2n_recv(ptr noundef %1900, ptr noundef nonnull %28, i64 noundef %.0549816.us, ptr noundef nonnull %27) #12
  %1902 = icmp eq i64 %1901, %.0549816.us
  br i1 %1902, label %1903, label %.split818.us

1903:                                             ; preds = %.split.us
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = add nsw i32 %1904, 1
  store i32 %1905, ptr @test_count, align 4, !tbaa !5
  %bcmp750.us = call i32 @bcmp(ptr noundef nonnull dereferenceable(1) %28, ptr noundef nonnull dereferenceable(1) %3, i64 %.0549816.us)
  %1906 = icmp eq i32 %bcmp750.us, 0
  br i1 %1906, label %1907, label %.split820.us

1907:                                             ; preds = %1903
  %1908 = add nsw i32 %1904, 2
  store i32 %1908, ptr @test_count, align 4, !tbaa !5
  %1909 = load i64, ptr %26, align 8, !tbaa !20
  %1910 = shl nuw nsw i64 %.0549816.us, 1
  %1911 = icmp eq i64 %1909, %1910
  br i1 %1911, label %1912, label %.split822.us

1912:                                             ; preds = %1907
  %1913 = add nuw nsw i64 %.0549816.us, 1
  %exitcond849.not = icmp eq i64 %1913, 21
  br i1 %exitcond849.not, label %.split824.us, label %.split.us, !llvm.loop !51

1914:                                             ; preds = %1891, %1885, %1879, %1873, %1867, %1861, %1855, %1849, %1843, %1837, %1831, %1825, %1819, %1813, %1807, %1801, %1795, %1789, %1783, %1777
  %1915 = tail call ptr @__errno_location() #13
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1918 = call i32 @s2n_print_stacktrace(ptr noundef %1917) #12
  %1919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1920 = trunc nuw i8 %1919 to i1
  br i1 %1920, label %1921, label %1925

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

1925:                                             ; preds = %1921, %1914
  br label %1926

1926:                                             ; preds = %1921, %1925
  %.str.5.sink1487 = phi ptr [ @.str.5, %1925 ], [ @.str.2, %1921 ]
  store i32 %1916, ptr %1915, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = load i32, ptr @test_count, align 4, !tbaa !5
  %1929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror(i32 noundef %1930, ptr noundef nonnull @.str.4) #12
  %1932 = load i32, ptr %1929, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef nonnull @.str.4) #12
  %1934 = load i32, ptr %1915, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #12
  %1936 = load i32, ptr %1915, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1927, ptr noundef nonnull %.str.5.sink1487, i32 noundef %1928, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1931, ptr noundef %1933, ptr noundef %1935, i32 noundef %1936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.split824.us:                                     ; preds = %2050, %1912
  %1938 = phi i32 [ %1908, %1912 ], [ %2000, %2050 ]
  %1939 = add nsw i32 %1938, 1
  store i32 %1939, ptr @test_count, align 4, !tbaa !5
  %1940 = load ptr, ptr %24, align 8, !tbaa !9
  %1941 = getelementptr inbounds i8, ptr %1940, i64 1828
  %1942 = load i32, ptr %1941, align 4, !tbaa !53
  %1943 = icmp eq i32 %1942, 16384
  br i1 %1943, label %2076, label %2052

.split:                                           ; preds = %1897, %2050
  %1944 = phi i32 [ %2000, %2050 ], [ %.pre857, %1897 ]
  %.0549816 = phi i64 [ %2051, %2050 ], [ 1, %1897 ]
  %1945 = add nsw i32 %1944, 1
  store i32 %1945, ptr @test_count, align 4, !tbaa !5
  %1946 = load ptr, ptr %24, align 8, !tbaa !9
  %1947 = call i64 @s2n_recv(ptr noundef %1946, ptr noundef nonnull %28, i64 noundef %.0549816, ptr noundef nonnull %27) #12
  %1948 = icmp eq i64 %1947, %.0549816
  br i1 %1948, label %1972, label %.split818.us

.split818.us:                                     ; preds = %.split, %.split.us
  %1949 = tail call ptr @__errno_location() #13
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1952 = call i32 @s2n_print_stacktrace(ptr noundef %1951) #12
  %1953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1954 = trunc nuw i8 %1953 to i1
  br i1 %1954, label %1955, label %1959

1955:                                             ; preds = %.split818.us
  %1956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1957 = call i32 @fileno(ptr noundef %1956) #12
  %1958 = call i32 @isatty(i32 noundef %1957) #12
  %.not749 = icmp eq i32 %1958, 0
  br i1 %.not749, label %1959, label %1960

1959:                                             ; preds = %1955, %.split818.us
  br label %1960

1960:                                             ; preds = %1955, %1959
  %.str.5.sink1498 = phi ptr [ @.str.5, %1959 ], [ @.str.2, %1955 ]
  store i32 %1950, ptr %1949, align 4, !tbaa !5
  %1961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1962 = load i32, ptr @test_count, align 4, !tbaa !5
  %1963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1964 = load i32, ptr %1963, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror(i32 noundef %1964, ptr noundef nonnull @.str.4) #12
  %1966 = load i32, ptr %1963, align 4, !tbaa !5
  %1967 = call ptr @s2n_strerror_debug(i32 noundef %1966, ptr noundef nonnull @.str.4) #12
  %1968 = load i32, ptr %1949, align 4, !tbaa !5
  %1969 = call ptr @strerror(i32 noundef %1968) #12
  %1970 = load i32, ptr %1949, align 4, !tbaa !5
  %1971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1961, ptr noundef nonnull %.str.5.sink1498, i32 noundef %1962, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %1965, ptr noundef %1967, ptr noundef %1969, i32 noundef %1970) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1972:                                             ; preds = %.split
  %1973 = load i32, ptr @test_count, align 4, !tbaa !5
  %1974 = add nsw i32 %1973, 1
  store i32 %1974, ptr @test_count, align 4, !tbaa !5
  %bcmp750 = call i32 @bcmp(ptr noundef nonnull dereferenceable(1) %28, ptr noundef nonnull dereferenceable(1) %3, i64 %.0549816)
  %1975 = icmp eq i32 %bcmp750, 0
  br i1 %1975, label %1999, label %.split820.us

.split820.us:                                     ; preds = %1972, %1903
  %1976 = tail call ptr @__errno_location() #13
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = call i32 @s2n_print_stacktrace(ptr noundef %1978) #12
  %1980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1981 = trunc nuw i8 %1980 to i1
  br i1 %1981, label %1982, label %1986

1982:                                             ; preds = %.split820.us
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = call i32 @fileno(ptr noundef %1983) #12
  %1985 = call i32 @isatty(i32 noundef %1984) #12
  %.not751 = icmp eq i32 %1985, 0
  br i1 %.not751, label %1986, label %1987

1986:                                             ; preds = %1982, %.split820.us
  br label %1987

1987:                                             ; preds = %1982, %1986
  %.str.5.sink1509 = phi ptr [ @.str.5, %1986 ], [ @.str.2, %1982 ]
  store i32 %1977, ptr %1976, align 4, !tbaa !5
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = load i32, ptr @test_count, align 4, !tbaa !5
  %1990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror(i32 noundef %1991, ptr noundef nonnull @.str.4) #12
  %1993 = load i32, ptr %1990, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef nonnull @.str.4) #12
  %1995 = load i32, ptr %1976, align 4, !tbaa !5
  %1996 = call ptr @strerror(i32 noundef %1995) #12
  %1997 = load i32, ptr %1976, align 4, !tbaa !5
  %1998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1988, ptr noundef nonnull %.str.5.sink1509, i32 noundef %1989, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1992, ptr noundef %1994, ptr noundef %1996, i32 noundef %1997) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1999:                                             ; preds = %1972
  %2000 = add nsw i32 %1973, 2
  store i32 %2000, ptr @test_count, align 4, !tbaa !5
  %2001 = load i64, ptr %26, align 8, !tbaa !20
  %2002 = icmp eq i64 %2001, 1
  br i1 %2002, label %2050, label %2003

2003:                                             ; preds = %1999
  %2004 = tail call ptr @__errno_location() #13
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2007 = call i32 @s2n_print_stacktrace(ptr noundef %2006) #12
  %2008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2009 = trunc nuw i8 %2008 to i1
  br i1 %2009, label %2010, label %2014

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

2014:                                             ; preds = %2010, %2003
  br label %2015

2015:                                             ; preds = %2010, %2014
  %.str.5.sink1520 = phi ptr [ @.str.5, %2014 ], [ @.str.2, %2010 ]
  store i32 %2005, ptr %2004, align 4, !tbaa !5
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = load i32, ptr @test_count, align 4, !tbaa !5
  %2018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.4) #12
  %2021 = load i32, ptr %2018, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.4) #12
  %2023 = load i32, ptr %2004, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #12
  %2025 = load i32, ptr %2004, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2016, ptr noundef nonnull %.str.5.sink1520, i32 noundef %2017, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.split822.us:                                     ; preds = %1907
  %2027 = tail call ptr @__errno_location() #13
  %2028 = load i32, ptr %2027, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = call i32 @s2n_print_stacktrace(ptr noundef %2029) #12
  %2031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2032 = trunc nuw i8 %2031 to i1
  br i1 %2032, label %2033, label %2037

2033:                                             ; preds = %.split822.us
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @fileno(ptr noundef %2034) #12
  %2036 = call i32 @isatty(i32 noundef %2035) #12
  %.not752 = icmp eq i32 %2036, 0
  br i1 %.not752, label %2037, label %2038

2037:                                             ; preds = %2033, %.split822.us
  br label %2038

2038:                                             ; preds = %2033, %2037
  %.str.5.sink1531 = phi ptr [ @.str.5, %2037 ], [ @.str.2, %2033 ]
  store i32 %2028, ptr %2027, align 4, !tbaa !5
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = load i32, ptr @test_count, align 4, !tbaa !5
  %2041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2042 = load i32, ptr %2041, align 4, !tbaa !5
  %2043 = call ptr @s2n_strerror(i32 noundef %2042, ptr noundef nonnull @.str.4) #12
  %2044 = load i32, ptr %2041, align 4, !tbaa !5
  %2045 = call ptr @s2n_strerror_debug(i32 noundef %2044, ptr noundef nonnull @.str.4) #12
  %2046 = load i32, ptr %2027, align 4, !tbaa !5
  %2047 = call ptr @strerror(i32 noundef %2046) #12
  %2048 = load i32, ptr %2027, align 4, !tbaa !5
  %2049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2039, ptr noundef nonnull %.str.5.sink1531, i32 noundef %2040, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %2043, ptr noundef %2045, ptr noundef %2047, i32 noundef %2048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2050:                                             ; preds = %1999
  %2051 = add nuw nsw i64 %.0549816, 1
  %exitcond.not = icmp eq i64 %2051, 21
  br i1 %exitcond.not, label %.split824.us, label %.split, !llvm.loop !51

2052:                                             ; preds = %.split824.us
  %2053 = tail call ptr @__errno_location() #13
  %2054 = load i32, ptr %2053, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @s2n_print_stacktrace(ptr noundef %2055) #12
  %2057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2058 = trunc nuw i8 %2057 to i1
  br i1 %2058, label %2059, label %2063

2059:                                             ; preds = %2052
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @fileno(ptr noundef %2060) #12
  %2062 = call i32 @isatty(i32 noundef %2061) #12
  %.not746 = icmp eq i32 %2062, 0
  br i1 %.not746, label %2063, label %2064

2063:                                             ; preds = %2059, %2052
  br label %2064

2064:                                             ; preds = %2059, %2063
  %.str.5.sink1542 = phi ptr [ @.str.5, %2063 ], [ @.str.2, %2059 ]
  store i32 %2054, ptr %2053, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror(i32 noundef %2068, ptr noundef nonnull @.str.4) #12
  %2070 = load i32, ptr %2067, align 4, !tbaa !5
  %2071 = call ptr @s2n_strerror_debug(i32 noundef %2070, ptr noundef nonnull @.str.4) #12
  %2072 = load i32, ptr %2053, align 4, !tbaa !5
  %2073 = call ptr @strerror(i32 noundef %2072) #12
  %2074 = load i32, ptr %2053, align 4, !tbaa !5
  %2075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef nonnull %.str.5.sink1542, i32 noundef %2066, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %2069, ptr noundef %2071, ptr noundef %2073, i32 noundef %2074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2076:                                             ; preds = %.split824.us
  %2077 = add nsw i32 %1938, 2
  store i32 %2077, ptr @test_count, align 4, !tbaa !5
  %2078 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %1940) #12
  %2079 = icmp eq i32 %2078, -1
  br i1 %2079, label %2080, label %2104

2080:                                             ; preds = %2076
  %2081 = tail call ptr @__errno_location() #13
  %2082 = load i32, ptr %2081, align 4, !tbaa !5
  %2083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2084 = call i32 @s2n_print_stacktrace(ptr noundef %2083) #12
  %2085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2086 = trunc nuw i8 %2085 to i1
  br i1 %2086, label %2087, label %2091

2087:                                             ; preds = %2080
  %2088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2089 = call i32 @fileno(ptr noundef %2088) #12
  %2090 = call i32 @isatty(i32 noundef %2089) #12
  %.not748 = icmp eq i32 %2090, 0
  br i1 %.not748, label %2091, label %2092

2091:                                             ; preds = %2087, %2080
  br label %2092

2092:                                             ; preds = %2087, %2091
  %.str.5.sink1553 = phi ptr [ @.str.5, %2091 ], [ @.str.2, %2087 ]
  store i32 %2082, ptr %2081, align 4, !tbaa !5
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = load i32, ptr @test_count, align 4, !tbaa !5
  %2095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2096 = load i32, ptr %2095, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror(i32 noundef %2096, ptr noundef nonnull @.str.4) #12
  %2098 = load i32, ptr %2095, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef nonnull @.str.4) #12
  %2100 = load i32, ptr %2081, align 4, !tbaa !5
  %2101 = call ptr @strerror(i32 noundef %2100) #12
  %2102 = load i32, ptr %2081, align 4, !tbaa !5
  %2103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2093, ptr noundef nonnull %.str.5.sink1553, i32 noundef %2094, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2097, ptr noundef %2099, ptr noundef %2101, i32 noundef %2102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2104:                                             ; preds = %2076
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = add nsw i32 %2105, 1
  store i32 %2106, ptr @test_count, align 4, !tbaa !5
  %2107 = load ptr, ptr %24, align 8, !tbaa !9
  %2108 = getelementptr inbounds i8, ptr %2107, i64 1828
  %2109 = load i32, ptr %2108, align 4, !tbaa !53
  %2110 = icmp eq i32 %2109, 0
  br i1 %2110, label %2135, label %2111

2111:                                             ; preds = %2104
  %2112 = tail call ptr @__errno_location() #13
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2115 = call i32 @s2n_print_stacktrace(ptr noundef %2114) #12
  %2116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2117 = trunc nuw i8 %2116 to i1
  br i1 %2117, label %2118, label %2122

2118:                                             ; preds = %2111
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @fileno(ptr noundef %2119) #12
  %2121 = call i32 @isatty(i32 noundef %2120) #12
  %.not747 = icmp eq i32 %2121, 0
  br i1 %.not747, label %2122, label %2123

2122:                                             ; preds = %2118, %2111
  br label %2123

2123:                                             ; preds = %2118, %2122
  %.str.5.sink1564 = phi ptr [ @.str.5, %2122 ], [ @.str.2, %2118 ]
  store i32 %2113, ptr %2112, align 4, !tbaa !5
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2127, ptr noundef nonnull @.str.4) #12
  %2129 = load i32, ptr %2126, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror_debug(i32 noundef %2129, ptr noundef nonnull @.str.4) #12
  %2131 = load i32, ptr %2112, align 4, !tbaa !5
  %2132 = call ptr @strerror(i32 noundef %2131) #12
  %2133 = load i32, ptr %2112, align 4, !tbaa !5
  %2134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2124, ptr noundef nonnull %.str.5.sink1564, i32 noundef %2125, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2128, ptr noundef %2130, ptr noundef %2132, i32 noundef %2133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2135:                                             ; preds = %2104
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #12
  %2136 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %25) #12
  %2137 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  %2138 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  br i1 %.not742, label %1535, label %1529, !llvm.loop !54

2139:                                             ; preds = %1529
  %2140 = tail call ptr @__errno_location() #13
  %2141 = load i32, ptr %2140, align 4, !tbaa !5
  %2142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2143 = call i32 @s2n_print_stacktrace(ptr noundef %2142) #12
  %2144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2145 = trunc nuw i8 %2144 to i1
  br i1 %2145, label %2146, label %2150

2146:                                             ; preds = %2139
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = call i32 @fileno(ptr noundef %2147) #12
  %2149 = call i32 @isatty(i32 noundef %2148) #12
  %.not741 = icmp eq i32 %2149, 0
  br i1 %.not741, label %2150, label %2151

2150:                                             ; preds = %2146, %2139
  br label %2151

2151:                                             ; preds = %2146, %2150
  %.str.5.sink1575 = phi ptr [ @.str.5, %2150 ], [ @.str.2, %2146 ]
  store i32 %2141, ptr %2140, align 4, !tbaa !5
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2153 = load i32, ptr @test_count, align 4, !tbaa !5
  %2154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2155 = load i32, ptr %2154, align 4, !tbaa !5
  %2156 = call ptr @s2n_strerror(i32 noundef %2155, ptr noundef nonnull @.str.4) #12
  %2157 = load i32, ptr %2154, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror_debug(i32 noundef %2157, ptr noundef nonnull @.str.4) #12
  %2159 = load i32, ptr %2140, align 4, !tbaa !5
  %2160 = call ptr @strerror(i32 noundef %2159) #12
  %2161 = load i32, ptr %2140, align 4, !tbaa !5
  %2162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2152, ptr noundef nonnull %.str.5.sink1575, i32 noundef %2153, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %2156, ptr noundef %2158, ptr noundef %2160, i32 noundef %2161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2163:                                             ; preds = %1529
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  %2164 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2164, ptr %30, align 8, !tbaa !9
  %2165 = load i32, ptr @test_count, align 4, !tbaa !5
  %2166 = add nsw i32 %2165, 1
  store i32 %2166, ptr @test_count, align 4, !tbaa !5
  %2167 = call i32 @s2n_connection_set_config(ptr noundef %2164, ptr noundef %277) #12
  %2168 = icmp eq i32 %2167, -1
  br i1 %2168, label %2169, label %2193

2169:                                             ; preds = %2163
  %2170 = tail call ptr @__errno_location() #13
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2173 = call i32 @s2n_print_stacktrace(ptr noundef %2172) #12
  %2174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2175 = trunc nuw i8 %2174 to i1
  br i1 %2175, label %2176, label %2180

2176:                                             ; preds = %2169
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @fileno(ptr noundef %2177) #12
  %2179 = call i32 @isatty(i32 noundef %2178) #12
  %.not740 = icmp eq i32 %2179, 0
  br i1 %.not740, label %2180, label %2181

2180:                                             ; preds = %2176, %2169
  br label %2181

2181:                                             ; preds = %2176, %2180
  %.str.5.sink1586 = phi ptr [ @.str.5, %2180 ], [ @.str.2, %2176 ]
  store i32 %2171, ptr %2170, align 4, !tbaa !5
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = load i32, ptr @test_count, align 4, !tbaa !5
  %2184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror(i32 noundef %2185, ptr noundef nonnull @.str.4) #12
  %2187 = load i32, ptr %2184, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror_debug(i32 noundef %2187, ptr noundef nonnull @.str.4) #12
  %2189 = load i32, ptr %2170, align 4, !tbaa !5
  %2190 = call ptr @strerror(i32 noundef %2189) #12
  %2191 = load i32, ptr %2170, align 4, !tbaa !5
  %2192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2182, ptr noundef nonnull %.str.5.sink1586, i32 noundef %2183, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2186, ptr noundef %2188, ptr noundef %2190, i32 noundef %2191) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2193:                                             ; preds = %2163
  %2194 = load i32, ptr @test_count, align 4, !tbaa !5
  %2195 = add nsw i32 %2194, 1
  store i32 %2195, ptr @test_count, align 4, !tbaa !5
  %2196 = load ptr, ptr %29, align 8, !tbaa !9
  %2197 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2196, i1 noundef zeroext true) #12
  %2198 = icmp eq i32 %2197, -1
  br i1 %2198, label %2199, label %2223

2199:                                             ; preds = %2193
  %2200 = tail call ptr @__errno_location() #13
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = call i32 @s2n_print_stacktrace(ptr noundef %2202) #12
  %2204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2205 = trunc nuw i8 %2204 to i1
  br i1 %2205, label %2206, label %2210

2206:                                             ; preds = %2199
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @fileno(ptr noundef %2207) #12
  %2209 = call i32 @isatty(i32 noundef %2208) #12
  %.not739 = icmp eq i32 %2209, 0
  br i1 %.not739, label %2210, label %2211

2210:                                             ; preds = %2206, %2199
  br label %2211

2211:                                             ; preds = %2206, %2210
  %.str.5.sink1597 = phi ptr [ @.str.5, %2210 ], [ @.str.2, %2206 ]
  store i32 %2201, ptr %2200, align 4, !tbaa !5
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = load i32, ptr @test_count, align 4, !tbaa !5
  %2214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2215 = load i32, ptr %2214, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #12
  %2217 = load i32, ptr %2214, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #12
  %2219 = load i32, ptr %2200, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #12
  %2221 = load i32, ptr %2200, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2212, ptr noundef nonnull %.str.5.sink1597, i32 noundef %2213, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2223:                                             ; preds = %2193
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = add nsw i32 %2224, 1
  store i32 %2225, ptr @test_count, align 4, !tbaa !5
  %2226 = load ptr, ptr %30, align 8, !tbaa !9
  %2227 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2226, i1 noundef zeroext true) #12
  %2228 = icmp eq i32 %2227, -1
  br i1 %2228, label %2229, label %2253

2229:                                             ; preds = %2223
  %2230 = tail call ptr @__errno_location() #13
  %2231 = load i32, ptr %2230, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @s2n_print_stacktrace(ptr noundef %2232) #12
  %2234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2235 = trunc nuw i8 %2234 to i1
  br i1 %2235, label %2236, label %2240

2236:                                             ; preds = %2229
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @fileno(ptr noundef %2237) #12
  %2239 = call i32 @isatty(i32 noundef %2238) #12
  %.not738 = icmp eq i32 %2239, 0
  br i1 %.not738, label %2240, label %2241

2240:                                             ; preds = %2236, %2229
  br label %2241

2241:                                             ; preds = %2236, %2240
  %.str.5.sink1608 = phi ptr [ @.str.5, %2240 ], [ @.str.2, %2236 ]
  store i32 %2231, ptr %2230, align 4, !tbaa !5
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2245 = load i32, ptr %2244, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror(i32 noundef %2245, ptr noundef nonnull @.str.4) #12
  %2247 = load i32, ptr %2244, align 4, !tbaa !5
  %2248 = call ptr @s2n_strerror_debug(i32 noundef %2247, ptr noundef nonnull @.str.4) #12
  %2249 = load i32, ptr %2230, align 4, !tbaa !5
  %2250 = call ptr @strerror(i32 noundef %2249) #12
  %2251 = load i32, ptr %2230, align 4, !tbaa !5
  %2252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2242, ptr noundef nonnull %.str.5.sink1608, i32 noundef %2243, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %2246, ptr noundef %2248, ptr noundef %2250, i32 noundef %2251) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2253:                                             ; preds = %2223
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %31) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %31, i8 0, i64 80, i1 false)
  %2254 = load i32, ptr @test_count, align 4, !tbaa !5
  %2255 = add nsw i32 %2254, 1
  store i32 %2255, ptr @test_count, align 4, !tbaa !5
  %2256 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %31) #12
  %2257 = call zeroext i1 @s2n_result_is_ok(i32 %2256)
  br i1 %2257, label %2282, label %2258

2258:                                             ; preds = %2253
  %2259 = tail call ptr @__errno_location() #13
  %2260 = load i32, ptr %2259, align 4, !tbaa !5
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = call i32 @s2n_print_stacktrace(ptr noundef %2261) #12
  %2263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2264 = trunc nuw i8 %2263 to i1
  br i1 %2264, label %2265, label %2269

2265:                                             ; preds = %2258
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = call i32 @fileno(ptr noundef %2266) #12
  %2268 = call i32 @isatty(i32 noundef %2267) #12
  %.not591 = icmp eq i32 %2268, 0
  br i1 %.not591, label %2269, label %2270

2269:                                             ; preds = %2265, %2258
  br label %2270

2270:                                             ; preds = %2265, %2269
  %.str.5.sink1619 = phi ptr [ @.str.5, %2269 ], [ @.str.2, %2265 ]
  store i32 %2260, ptr %2259, align 4, !tbaa !5
  %2271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2272 = load i32, ptr @test_count, align 4, !tbaa !5
  %2273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call ptr @s2n_strerror(i32 noundef %2274, ptr noundef nonnull @.str.4) #12
  %2276 = load i32, ptr %2273, align 4, !tbaa !5
  %2277 = call ptr @s2n_strerror_debug(i32 noundef %2276, ptr noundef nonnull @.str.4) #12
  %2278 = load i32, ptr %2259, align 4, !tbaa !5
  %2279 = call ptr @strerror(i32 noundef %2278) #12
  %2280 = load i32, ptr %2259, align 4, !tbaa !5
  %2281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2271, ptr noundef nonnull %.str.5.sink1619, i32 noundef %2272, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2275, ptr noundef %2277, ptr noundef %2279, i32 noundef %2280) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2282:                                             ; preds = %2253
  %2283 = load i32, ptr @test_count, align 4, !tbaa !5
  %2284 = add nsw i32 %2283, 1
  store i32 %2284, ptr @test_count, align 4, !tbaa !5
  %2285 = load ptr, ptr %29, align 8, !tbaa !9
  %2286 = load ptr, ptr %30, align 8, !tbaa !9
  %2287 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2285, ptr noundef %2286, ptr noundef nonnull %31) #12
  %2288 = call zeroext i1 @s2n_result_is_ok(i32 %2287)
  br i1 %2288, label %2313, label %2289

2289:                                             ; preds = %2282
  %2290 = tail call ptr @__errno_location() #13
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @s2n_print_stacktrace(ptr noundef %2292) #12
  %2294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2295 = trunc nuw i8 %2294 to i1
  br i1 %2295, label %2296, label %2300

2296:                                             ; preds = %2289
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = call i32 @fileno(ptr noundef %2297) #12
  %2299 = call i32 @isatty(i32 noundef %2298) #12
  %.not592 = icmp eq i32 %2299, 0
  br i1 %.not592, label %2300, label %2301

2300:                                             ; preds = %2296, %2289
  br label %2301

2301:                                             ; preds = %2296, %2300
  %.str.5.sink1630 = phi ptr [ @.str.5, %2300 ], [ @.str.2, %2296 ]
  store i32 %2291, ptr %2290, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call ptr @s2n_strerror(i32 noundef %2305, ptr noundef nonnull @.str.4) #12
  %2307 = load i32, ptr %2304, align 4, !tbaa !5
  %2308 = call ptr @s2n_strerror_debug(i32 noundef %2307, ptr noundef nonnull @.str.4) #12
  %2309 = load i32, ptr %2290, align 4, !tbaa !5
  %2310 = call ptr @strerror(i32 noundef %2309) #12
  %2311 = load i32, ptr %2290, align 4, !tbaa !5
  %2312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef nonnull %.str.5.sink1630, i32 noundef %2303, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %2306, ptr noundef %2308, ptr noundef %2310, i32 noundef %2311) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2313:                                             ; preds = %2282
  %2314 = load i32, ptr @test_count, align 4, !tbaa !5
  %2315 = add nsw i32 %2314, 1
  store i32 %2315, ptr @test_count, align 4, !tbaa !5
  %2316 = load ptr, ptr %30, align 8, !tbaa !9
  %2317 = load ptr, ptr %29, align 8, !tbaa !9
  %2318 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2316, ptr noundef %2317) #12
  %2319 = icmp eq i32 %2318, -1
  br i1 %2319, label %2320, label %2344

2320:                                             ; preds = %2313
  %2321 = tail call ptr @__errno_location() #13
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = call i32 @s2n_print_stacktrace(ptr noundef %2323) #12
  %2325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2326 = trunc nuw i8 %2325 to i1
  br i1 %2326, label %2327, label %2331

2327:                                             ; preds = %2320
  %2328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2329 = call i32 @fileno(ptr noundef %2328) #12
  %2330 = call i32 @isatty(i32 noundef %2329) #12
  %.not737 = icmp eq i32 %2330, 0
  br i1 %.not737, label %2331, label %2332

2331:                                             ; preds = %2327, %2320
  br label %2332

2332:                                             ; preds = %2327, %2331
  %.str.5.sink1641 = phi ptr [ @.str.5, %2331 ], [ @.str.2, %2327 ]
  store i32 %2322, ptr %2321, align 4, !tbaa !5
  %2333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call ptr @s2n_strerror(i32 noundef %2336, ptr noundef nonnull @.str.4) #12
  %2338 = load i32, ptr %2335, align 4, !tbaa !5
  %2339 = call ptr @s2n_strerror_debug(i32 noundef %2338, ptr noundef nonnull @.str.4) #12
  %2340 = load i32, ptr %2321, align 4, !tbaa !5
  %2341 = call ptr @strerror(i32 noundef %2340) #12
  %2342 = load i32, ptr %2321, align 4, !tbaa !5
  %2343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2333, ptr noundef nonnull %.str.5.sink1641, i32 noundef %2334, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2337, ptr noundef %2339, ptr noundef %2341, i32 noundef %2342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2344:                                             ; preds = %2313
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %32, i8 0, i64 24, i1 false)
  %2345 = load i32, ptr @test_count, align 4, !tbaa !5
  %2346 = add nsw i32 %2345, 1
  store i32 %2346, ptr @test_count, align 4, !tbaa !5
  %2347 = load ptr, ptr %30, align 8, !tbaa !9
  %2348 = call i32 @s2n_connection_set_counting_read(ptr noundef %2347, ptr noundef nonnull %32)
  %2349 = call zeroext i1 @s2n_result_is_ok(i32 %2348)
  br i1 %2349, label %2374, label %2350

2350:                                             ; preds = %2344
  %2351 = tail call ptr @__errno_location() #13
  %2352 = load i32, ptr %2351, align 4, !tbaa !5
  %2353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2354 = call i32 @s2n_print_stacktrace(ptr noundef %2353) #12
  %2355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2356 = trunc nuw i8 %2355 to i1
  br i1 %2356, label %2357, label %2361

2357:                                             ; preds = %2350
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = call i32 @fileno(ptr noundef %2358) #12
  %2360 = call i32 @isatty(i32 noundef %2359) #12
  %.not593 = icmp eq i32 %2360, 0
  br i1 %.not593, label %2361, label %2362

2361:                                             ; preds = %2357, %2350
  br label %2362

2362:                                             ; preds = %2357, %2361
  %.str.5.sink1652 = phi ptr [ @.str.5, %2361 ], [ @.str.2, %2357 ]
  store i32 %2352, ptr %2351, align 4, !tbaa !5
  %2363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2364 = load i32, ptr @test_count, align 4, !tbaa !5
  %2365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2366 = load i32, ptr %2365, align 4, !tbaa !5
  %2367 = call ptr @s2n_strerror(i32 noundef %2366, ptr noundef nonnull @.str.4) #12
  %2368 = load i32, ptr %2365, align 4, !tbaa !5
  %2369 = call ptr @s2n_strerror_debug(i32 noundef %2368, ptr noundef nonnull @.str.4) #12
  %2370 = load i32, ptr %2351, align 4, !tbaa !5
  %2371 = call ptr @strerror(i32 noundef %2370) #12
  %2372 = load i32, ptr %2351, align 4, !tbaa !5
  %2373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2363, ptr noundef nonnull %.str.5.sink1652, i32 noundef %2364, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %2367, ptr noundef %2369, ptr noundef %2371, i32 noundef %2372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2374:                                             ; preds = %2344
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #12
  store i32 0, ptr %33, align 4, !tbaa !5
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = add nsw i32 %2375, 1
  store i32 %2376, ptr @test_count, align 4, !tbaa !5
  %2377 = load ptr, ptr %29, align 8, !tbaa !9
  %2378 = call i64 @s2n_send(ptr noundef %2377, ptr noundef nonnull %3, i64 noundef 1, ptr noundef nonnull %33) #12
  %2379 = icmp eq i64 %2378, 1
  br i1 %2379, label %2380, label %2519

2380:                                             ; preds = %2374
  %2381 = load i32, ptr @test_count, align 4, !tbaa !5
  %2382 = add nsw i32 %2381, 1
  store i32 %2382, ptr @test_count, align 4, !tbaa !5
  %2383 = load ptr, ptr %29, align 8, !tbaa !9
  %2384 = getelementptr inbounds i8, ptr %3, i64 1
  %2385 = call i64 @s2n_send(ptr noundef %2383, ptr noundef nonnull %2384, i64 noundef 1, ptr noundef nonnull %33) #12
  %2386 = icmp eq i64 %2385, 1
  br i1 %2386, label %2387, label %2519

2387:                                             ; preds = %2380
  %2388 = load i32, ptr @test_count, align 4, !tbaa !5
  %2389 = add nsw i32 %2388, 1
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = load ptr, ptr %29, align 8, !tbaa !9
  %2391 = getelementptr inbounds i8, ptr %3, i64 2
  %2392 = call i64 @s2n_send(ptr noundef %2390, ptr noundef nonnull %2391, i64 noundef 1, ptr noundef nonnull %33) #12
  %2393 = icmp eq i64 %2392, 1
  br i1 %2393, label %2394, label %2519

2394:                                             ; preds = %2387
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = add nsw i32 %2395, 1
  store i32 %2396, ptr @test_count, align 4, !tbaa !5
  %2397 = load ptr, ptr %29, align 8, !tbaa !9
  %2398 = getelementptr inbounds i8, ptr %3, i64 3
  %2399 = call i64 @s2n_send(ptr noundef %2397, ptr noundef nonnull %2398, i64 noundef 1, ptr noundef nonnull %33) #12
  %2400 = icmp eq i64 %2399, 1
  br i1 %2400, label %2401, label %2519

2401:                                             ; preds = %2394
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = add nsw i32 %2402, 1
  store i32 %2403, ptr @test_count, align 4, !tbaa !5
  %2404 = load ptr, ptr %29, align 8, !tbaa !9
  %2405 = getelementptr inbounds i8, ptr %3, i64 4
  %2406 = call i64 @s2n_send(ptr noundef %2404, ptr noundef nonnull %2405, i64 noundef 1, ptr noundef nonnull %33) #12
  %2407 = icmp eq i64 %2406, 1
  br i1 %2407, label %2408, label %2519

2408:                                             ; preds = %2401
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = add nsw i32 %2409, 1
  store i32 %2410, ptr @test_count, align 4, !tbaa !5
  %2411 = load ptr, ptr %29, align 8, !tbaa !9
  %2412 = getelementptr inbounds i8, ptr %3, i64 5
  %2413 = call i64 @s2n_send(ptr noundef %2411, ptr noundef nonnull %2412, i64 noundef 1, ptr noundef nonnull %33) #12
  %2414 = icmp eq i64 %2413, 1
  br i1 %2414, label %2415, label %2519

2415:                                             ; preds = %2408
  %2416 = load i32, ptr @test_count, align 4, !tbaa !5
  %2417 = add nsw i32 %2416, 1
  store i32 %2417, ptr @test_count, align 4, !tbaa !5
  %2418 = load ptr, ptr %29, align 8, !tbaa !9
  %2419 = getelementptr inbounds i8, ptr %3, i64 6
  %2420 = call i64 @s2n_send(ptr noundef %2418, ptr noundef nonnull %2419, i64 noundef 1, ptr noundef nonnull %33) #12
  %2421 = icmp eq i64 %2420, 1
  br i1 %2421, label %2422, label %2519

2422:                                             ; preds = %2415
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = add nsw i32 %2423, 1
  store i32 %2424, ptr @test_count, align 4, !tbaa !5
  %2425 = load ptr, ptr %29, align 8, !tbaa !9
  %2426 = getelementptr inbounds i8, ptr %3, i64 7
  %2427 = call i64 @s2n_send(ptr noundef %2425, ptr noundef nonnull %2426, i64 noundef 1, ptr noundef nonnull %33) #12
  %2428 = icmp eq i64 %2427, 1
  br i1 %2428, label %2429, label %2519

2429:                                             ; preds = %2422
  %2430 = load i32, ptr @test_count, align 4, !tbaa !5
  %2431 = add nsw i32 %2430, 1
  store i32 %2431, ptr @test_count, align 4, !tbaa !5
  %2432 = load ptr, ptr %29, align 8, !tbaa !9
  %2433 = getelementptr inbounds i8, ptr %3, i64 8
  %2434 = call i64 @s2n_send(ptr noundef %2432, ptr noundef nonnull %2433, i64 noundef 1, ptr noundef nonnull %33) #12
  %2435 = icmp eq i64 %2434, 1
  br i1 %2435, label %2436, label %2519

2436:                                             ; preds = %2429
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = add nsw i32 %2437, 1
  store i32 %2438, ptr @test_count, align 4, !tbaa !5
  %2439 = load ptr, ptr %29, align 8, !tbaa !9
  %2440 = getelementptr inbounds i8, ptr %3, i64 9
  %2441 = call i64 @s2n_send(ptr noundef %2439, ptr noundef nonnull %2440, i64 noundef 1, ptr noundef nonnull %33) #12
  %2442 = icmp eq i64 %2441, 1
  br i1 %2442, label %2443, label %2519

2443:                                             ; preds = %2436
  %2444 = load i32, ptr @test_count, align 4, !tbaa !5
  %2445 = add nsw i32 %2444, 1
  store i32 %2445, ptr @test_count, align 4, !tbaa !5
  %2446 = load ptr, ptr %29, align 8, !tbaa !9
  %2447 = getelementptr inbounds i8, ptr %3, i64 10
  %2448 = call i64 @s2n_send(ptr noundef %2446, ptr noundef nonnull %2447, i64 noundef 1, ptr noundef nonnull %33) #12
  %2449 = icmp eq i64 %2448, 1
  br i1 %2449, label %2450, label %2519

2450:                                             ; preds = %2443
  %2451 = load i32, ptr @test_count, align 4, !tbaa !5
  %2452 = add nsw i32 %2451, 1
  store i32 %2452, ptr @test_count, align 4, !tbaa !5
  %2453 = load ptr, ptr %29, align 8, !tbaa !9
  %2454 = getelementptr inbounds i8, ptr %3, i64 11
  %2455 = call i64 @s2n_send(ptr noundef %2453, ptr noundef nonnull %2454, i64 noundef 1, ptr noundef nonnull %33) #12
  %2456 = icmp eq i64 %2455, 1
  br i1 %2456, label %2457, label %2519

2457:                                             ; preds = %2450
  %2458 = load i32, ptr @test_count, align 4, !tbaa !5
  %2459 = add nsw i32 %2458, 1
  store i32 %2459, ptr @test_count, align 4, !tbaa !5
  %2460 = load ptr, ptr %29, align 8, !tbaa !9
  %2461 = getelementptr inbounds i8, ptr %3, i64 12
  %2462 = call i64 @s2n_send(ptr noundef %2460, ptr noundef nonnull %2461, i64 noundef 1, ptr noundef nonnull %33) #12
  %2463 = icmp eq i64 %2462, 1
  br i1 %2463, label %2464, label %2519

2464:                                             ; preds = %2457
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = add nsw i32 %2465, 1
  store i32 %2466, ptr @test_count, align 4, !tbaa !5
  %2467 = load ptr, ptr %29, align 8, !tbaa !9
  %2468 = getelementptr inbounds i8, ptr %3, i64 13
  %2469 = call i64 @s2n_send(ptr noundef %2467, ptr noundef nonnull %2468, i64 noundef 1, ptr noundef nonnull %33) #12
  %2470 = icmp eq i64 %2469, 1
  br i1 %2470, label %2471, label %2519

2471:                                             ; preds = %2464
  %2472 = load i32, ptr @test_count, align 4, !tbaa !5
  %2473 = add nsw i32 %2472, 1
  store i32 %2473, ptr @test_count, align 4, !tbaa !5
  %2474 = load ptr, ptr %29, align 8, !tbaa !9
  %2475 = getelementptr inbounds i8, ptr %3, i64 14
  %2476 = call i64 @s2n_send(ptr noundef %2474, ptr noundef nonnull %2475, i64 noundef 1, ptr noundef nonnull %33) #12
  %2477 = icmp eq i64 %2476, 1
  br i1 %2477, label %2478, label %2519

2478:                                             ; preds = %2471
  %2479 = load i32, ptr @test_count, align 4, !tbaa !5
  %2480 = add nsw i32 %2479, 1
  store i32 %2480, ptr @test_count, align 4, !tbaa !5
  %2481 = load ptr, ptr %29, align 8, !tbaa !9
  %2482 = getelementptr inbounds i8, ptr %3, i64 15
  %2483 = call i64 @s2n_send(ptr noundef %2481, ptr noundef nonnull %2482, i64 noundef 1, ptr noundef nonnull %33) #12
  %2484 = icmp eq i64 %2483, 1
  br i1 %2484, label %2485, label %2519

2485:                                             ; preds = %2478
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = add nsw i32 %2486, 1
  store i32 %2487, ptr @test_count, align 4, !tbaa !5
  %2488 = load ptr, ptr %29, align 8, !tbaa !9
  %2489 = getelementptr inbounds i8, ptr %3, i64 16
  %2490 = call i64 @s2n_send(ptr noundef %2488, ptr noundef nonnull %2489, i64 noundef 1, ptr noundef nonnull %33) #12
  %2491 = icmp eq i64 %2490, 1
  br i1 %2491, label %2492, label %2519

2492:                                             ; preds = %2485
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = add nsw i32 %2493, 1
  store i32 %2494, ptr @test_count, align 4, !tbaa !5
  %2495 = load ptr, ptr %29, align 8, !tbaa !9
  %2496 = getelementptr inbounds i8, ptr %3, i64 17
  %2497 = call i64 @s2n_send(ptr noundef %2495, ptr noundef nonnull %2496, i64 noundef 1, ptr noundef nonnull %33) #12
  %2498 = icmp eq i64 %2497, 1
  br i1 %2498, label %2499, label %2519

2499:                                             ; preds = %2492
  %2500 = load i32, ptr @test_count, align 4, !tbaa !5
  %2501 = add nsw i32 %2500, 1
  store i32 %2501, ptr @test_count, align 4, !tbaa !5
  %2502 = load ptr, ptr %29, align 8, !tbaa !9
  %2503 = getelementptr inbounds i8, ptr %3, i64 18
  %2504 = call i64 @s2n_send(ptr noundef %2502, ptr noundef nonnull %2503, i64 noundef 1, ptr noundef nonnull %33) #12
  %2505 = icmp eq i64 %2504, 1
  br i1 %2505, label %2506, label %2519

2506:                                             ; preds = %2499
  %2507 = load i32, ptr @test_count, align 4, !tbaa !5
  %2508 = add nsw i32 %2507, 1
  store i32 %2508, ptr @test_count, align 4, !tbaa !5
  %2509 = load ptr, ptr %29, align 8, !tbaa !9
  %2510 = getelementptr inbounds i8, ptr %3, i64 19
  %2511 = call i64 @s2n_send(ptr noundef %2509, ptr noundef nonnull %2510, i64 noundef 1, ptr noundef nonnull %33) #12
  %2512 = icmp eq i64 %2511, 1
  br i1 %2512, label %2513, label %2519

2513:                                             ; preds = %2506
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %34) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %34, i8 0, i64 20, i1 false)
  %2514 = load i32, ptr @test_count, align 4, !tbaa !5
  %2515 = add nsw i32 %2514, 1
  store i32 %2515, ptr @test_count, align 4, !tbaa !5
  %2516 = load ptr, ptr %30, align 8, !tbaa !9
  %2517 = call i64 @s2n_recv(ptr noundef %2516, ptr noundef nonnull %34, i64 noundef 20, ptr noundef nonnull %33) #12
  %2518 = icmp eq i64 %2517, 20
  br i1 %2518, label %2567, label %2543

2519:                                             ; preds = %2506, %2499, %2492, %2485, %2478, %2471, %2464, %2457, %2450, %2443, %2436, %2429, %2422, %2415, %2408, %2401, %2394, %2387, %2380, %2374
  %2520 = tail call ptr @__errno_location() #13
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2523 = call i32 @s2n_print_stacktrace(ptr noundef %2522) #12
  %2524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2525 = trunc nuw i8 %2524 to i1
  br i1 %2525, label %2526, label %2530

2526:                                             ; preds = %2519
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = call i32 @fileno(ptr noundef %2527) #12
  %2529 = call i32 @isatty(i32 noundef %2528) #12
  %.not736 = icmp eq i32 %2529, 0
  br i1 %.not736, label %2530, label %2531

2530:                                             ; preds = %2526, %2519
  br label %2531

2531:                                             ; preds = %2526, %2530
  %.str.5.sink1663 = phi ptr [ @.str.5, %2530 ], [ @.str.2, %2526 ]
  store i32 %2521, ptr %2520, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2535 = load i32, ptr %2534, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror(i32 noundef %2535, ptr noundef nonnull @.str.4) #12
  %2537 = load i32, ptr %2534, align 4, !tbaa !5
  %2538 = call ptr @s2n_strerror_debug(i32 noundef %2537, ptr noundef nonnull @.str.4) #12
  %2539 = load i32, ptr %2520, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #12
  %2541 = load i32, ptr %2520, align 4, !tbaa !5
  %2542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2532, ptr noundef nonnull %.str.5.sink1663, i32 noundef %2533, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2536, ptr noundef %2538, ptr noundef %2540, i32 noundef %2541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2543:                                             ; preds = %2513
  %2544 = tail call ptr @__errno_location() #13
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2547 = call i32 @s2n_print_stacktrace(ptr noundef %2546) #12
  %2548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2549 = trunc nuw i8 %2548 to i1
  br i1 %2549, label %2550, label %2554

2550:                                             ; preds = %2543
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = call i32 @fileno(ptr noundef %2551) #12
  %2553 = call i32 @isatty(i32 noundef %2552) #12
  %.not594 = icmp eq i32 %2553, 0
  br i1 %.not594, label %2554, label %2555

2554:                                             ; preds = %2550, %2543
  br label %2555

2555:                                             ; preds = %2550, %2554
  %.str.5.sink1674 = phi ptr [ @.str.5, %2554 ], [ @.str.2, %2550 ]
  store i32 %2545, ptr %2544, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror(i32 noundef %2559, ptr noundef nonnull @.str.4) #12
  %2561 = load i32, ptr %2558, align 4, !tbaa !5
  %2562 = call ptr @s2n_strerror_debug(i32 noundef %2561, ptr noundef nonnull @.str.4) #12
  %2563 = load i32, ptr %2544, align 4, !tbaa !5
  %2564 = call ptr @strerror(i32 noundef %2563) #12
  %2565 = load i32, ptr %2544, align 4, !tbaa !5
  %2566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2556, ptr noundef nonnull %.str.5.sink1674, i32 noundef %2557, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2560, ptr noundef %2562, ptr noundef %2564, i32 noundef %2565) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2567:                                             ; preds = %2513
  %2568 = load i32, ptr @test_count, align 4, !tbaa !5
  %2569 = add nsw i32 %2568, 1
  store i32 %2569, ptr @test_count, align 4, !tbaa !5
  %bcmp595 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %34, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %2570 = icmp eq i32 %bcmp595, 0
  br i1 %2570, label %2595, label %2571

2571:                                             ; preds = %2567
  %2572 = tail call ptr @__errno_location() #13
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @s2n_print_stacktrace(ptr noundef %2574) #12
  %2576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2577 = trunc nuw i8 %2576 to i1
  br i1 %2577, label %2578, label %2582

2578:                                             ; preds = %2571
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = call i32 @fileno(ptr noundef %2579) #12
  %2581 = call i32 @isatty(i32 noundef %2580) #12
  %.not596 = icmp eq i32 %2581, 0
  br i1 %.not596, label %2582, label %2583

2582:                                             ; preds = %2578, %2571
  br label %2583

2583:                                             ; preds = %2578, %2582
  %.str.5.sink1685 = phi ptr [ @.str.5, %2582 ], [ @.str.2, %2578 ]
  store i32 %2573, ptr %2572, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2587 = load i32, ptr %2586, align 4, !tbaa !5
  %2588 = call ptr @s2n_strerror(i32 noundef %2587, ptr noundef nonnull @.str.4) #12
  %2589 = load i32, ptr %2586, align 4, !tbaa !5
  %2590 = call ptr @s2n_strerror_debug(i32 noundef %2589, ptr noundef nonnull @.str.4) #12
  %2591 = load i32, ptr %2572, align 4, !tbaa !5
  %2592 = call ptr @strerror(i32 noundef %2591) #12
  %2593 = load i32, ptr %2572, align 4, !tbaa !5
  %2594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2584, ptr noundef nonnull %.str.5.sink1685, i32 noundef %2585, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2588, ptr noundef %2590, ptr noundef %2592, i32 noundef %2593) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2595:                                             ; preds = %2567
  %2596 = add nsw i32 %2568, 2
  store i32 %2596, ptr @test_count, align 4, !tbaa !5
  %2597 = load i64, ptr %32, align 8, !tbaa !20
  %2598 = icmp eq i64 %2597, 1
  br i1 %2598, label %2623, label %2599

2599:                                             ; preds = %2595
  %2600 = tail call ptr @__errno_location() #13
  %2601 = load i32, ptr %2600, align 4, !tbaa !5
  %2602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2603 = call i32 @s2n_print_stacktrace(ptr noundef %2602) #12
  %2604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2605 = trunc nuw i8 %2604 to i1
  br i1 %2605, label %2606, label %2610

2606:                                             ; preds = %2599
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @fileno(ptr noundef %2607) #12
  %2609 = call i32 @isatty(i32 noundef %2608) #12
  %.not597 = icmp eq i32 %2609, 0
  br i1 %.not597, label %2610, label %2611

2610:                                             ; preds = %2606, %2599
  br label %2611

2611:                                             ; preds = %2606, %2610
  %.str.5.sink1696 = phi ptr [ @.str.5, %2610 ], [ @.str.2, %2606 ]
  store i32 %2601, ptr %2600, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = load i32, ptr @test_count, align 4, !tbaa !5
  %2614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = call ptr @s2n_strerror(i32 noundef %2615, ptr noundef nonnull @.str.4) #12
  %2617 = load i32, ptr %2614, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror_debug(i32 noundef %2617, ptr noundef nonnull @.str.4) #12
  %2619 = load i32, ptr %2600, align 4, !tbaa !5
  %2620 = call ptr @strerror(i32 noundef %2619) #12
  %2621 = load i32, ptr %2600, align 4, !tbaa !5
  %2622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2612, ptr noundef nonnull %.str.5.sink1696, i32 noundef %2613, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2616, ptr noundef %2618, ptr noundef %2620, i32 noundef %2621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2623:                                             ; preds = %2595
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #12
  %2624 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %31) #12
  %2625 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  %2626 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  %2627 = getelementptr inbounds i8, ptr %37, i64 68
  %2628 = getelementptr inbounds i8, ptr %37, i64 64
  %2629 = getelementptr inbounds i8, ptr %37, i64 40
  %2630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  br label %2637

2631:                                             ; preds = %3323
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %2632 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2632, ptr %43, align 8, !tbaa !9
  %2633 = load i32, ptr @test_count, align 4, !tbaa !5
  %2634 = add nsw i32 %2633, 1
  store i32 %2634, ptr @test_count, align 4, !tbaa !5
  %2635 = call i32 @s2n_connection_set_config(ptr noundef %2632, ptr noundef %188) #12
  %2636 = icmp eq i32 %2635, -1
  br i1 %2636, label %3328, label %3350

2637:                                             ; preds = %2623, %3323
  %.0551827 = phi i64 [ 0, %2623 ], [ %3327, %3323 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %2638 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %2638, ptr %35, align 8, !tbaa !9
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = add nsw i32 %2639, 1
  store i32 %2640, ptr @test_count, align 4, !tbaa !5
  %2641 = call i32 @s2n_connection_set_config(ptr noundef %2638, ptr noundef %188) #12
  %2642 = icmp eq i32 %2641, -1
  br i1 %2642, label %2643, label %2666

2643:                                             ; preds = %2637
  %2644 = tail call ptr @__errno_location() #13
  %2645 = load i32, ptr %2644, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @s2n_print_stacktrace(ptr noundef %2646) #12
  %2648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2649 = trunc nuw i8 %2648 to i1
  br i1 %2649, label %2650, label %2654

2650:                                             ; preds = %2643
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = call i32 @fileno(ptr noundef %2651) #12
  %2653 = call i32 @isatty(i32 noundef %2652) #12
  %.not735 = icmp eq i32 %2653, 0
  br i1 %.not735, label %2654, label %2655

2654:                                             ; preds = %2650, %2643
  br label %2655

2655:                                             ; preds = %2650, %2654
  %.str.5.sink1707 = phi ptr [ @.str.5, %2654 ], [ @.str.2, %2650 ]
  store i32 %2645, ptr %2644, align 4, !tbaa !5
  %2656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2657 = load i32, ptr @test_count, align 4, !tbaa !5
  %2658 = load i32, ptr %2630, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror(i32 noundef %2658, ptr noundef nonnull @.str.4) #12
  %2660 = load i32, ptr %2630, align 4, !tbaa !5
  %2661 = call ptr @s2n_strerror_debug(i32 noundef %2660, ptr noundef nonnull @.str.4) #12
  %2662 = load i32, ptr %2644, align 4, !tbaa !5
  %2663 = call ptr @strerror(i32 noundef %2662) #12
  %2664 = load i32, ptr %2644, align 4, !tbaa !5
  %2665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2656, ptr noundef nonnull %.str.5.sink1707, i32 noundef %2657, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2659, ptr noundef %2661, ptr noundef %2663, i32 noundef %2664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2666:                                             ; preds = %2637
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  %2667 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %2667, ptr %36, align 8, !tbaa !9
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr @test_count, align 4, !tbaa !5
  %2670 = call i32 @s2n_connection_set_config(ptr noundef %2667, ptr noundef %188) #12
  %2671 = icmp eq i32 %2670, -1
  br i1 %2671, label %2672, label %2695

2672:                                             ; preds = %2666
  %2673 = tail call ptr @__errno_location() #13
  %2674 = load i32, ptr %2673, align 4, !tbaa !5
  %2675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2676 = call i32 @s2n_print_stacktrace(ptr noundef %2675) #12
  %2677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2678 = trunc nuw i8 %2677 to i1
  br i1 %2678, label %2679, label %2683

2679:                                             ; preds = %2672
  %2680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2681 = call i32 @fileno(ptr noundef %2680) #12
  %2682 = call i32 @isatty(i32 noundef %2681) #12
  %.not734 = icmp eq i32 %2682, 0
  br i1 %.not734, label %2683, label %2684

2683:                                             ; preds = %2679, %2672
  br label %2684

2684:                                             ; preds = %2679, %2683
  %.str.5.sink1716 = phi ptr [ @.str.5, %2683 ], [ @.str.2, %2679 ]
  store i32 %2674, ptr %2673, align 4, !tbaa !5
  %2685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2686 = load i32, ptr @test_count, align 4, !tbaa !5
  %2687 = load i32, ptr %2630, align 4, !tbaa !5
  %2688 = call ptr @s2n_strerror(i32 noundef %2687, ptr noundef nonnull @.str.4) #12
  %2689 = load i32, ptr %2630, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror_debug(i32 noundef %2689, ptr noundef nonnull @.str.4) #12
  %2691 = load i32, ptr %2673, align 4, !tbaa !5
  %2692 = call ptr @strerror(i32 noundef %2691) #12
  %2693 = load i32, ptr %2673, align 4, !tbaa !5
  %2694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2685, ptr noundef nonnull %.str.5.sink1716, i32 noundef %2686, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2688, ptr noundef %2690, ptr noundef %2692, i32 noundef %2693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2695:                                             ; preds = %2666
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = add nsw i32 %2696, 1
  store i32 %2697, ptr @test_count, align 4, !tbaa !5
  %2698 = load ptr, ptr %35, align 8, !tbaa !9
  %2699 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2698, i1 noundef zeroext true) #12
  %2700 = icmp eq i32 %2699, -1
  br i1 %2700, label %2701, label %2724

2701:                                             ; preds = %2695
  %2702 = tail call ptr @__errno_location() #13
  %2703 = load i32, ptr %2702, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = call i32 @s2n_print_stacktrace(ptr noundef %2704) #12
  %2706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2707 = trunc nuw i8 %2706 to i1
  br i1 %2707, label %2708, label %2712

2708:                                             ; preds = %2701
  %2709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2710 = call i32 @fileno(ptr noundef %2709) #12
  %2711 = call i32 @isatty(i32 noundef %2710) #12
  %.not733 = icmp eq i32 %2711, 0
  br i1 %.not733, label %2712, label %2713

2712:                                             ; preds = %2708, %2701
  br label %2713

2713:                                             ; preds = %2708, %2712
  %.str.5.sink1725 = phi ptr [ @.str.5, %2712 ], [ @.str.2, %2708 ]
  store i32 %2703, ptr %2702, align 4, !tbaa !5
  %2714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2715 = load i32, ptr @test_count, align 4, !tbaa !5
  %2716 = load i32, ptr %2630, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror(i32 noundef %2716, ptr noundef nonnull @.str.4) #12
  %2718 = load i32, ptr %2630, align 4, !tbaa !5
  %2719 = call ptr @s2n_strerror_debug(i32 noundef %2718, ptr noundef nonnull @.str.4) #12
  %2720 = load i32, ptr %2702, align 4, !tbaa !5
  %2721 = call ptr @strerror(i32 noundef %2720) #12
  %2722 = load i32, ptr %2702, align 4, !tbaa !5
  %2723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2714, ptr noundef nonnull %.str.5.sink1725, i32 noundef %2715, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2717, ptr noundef %2719, ptr noundef %2721, i32 noundef %2722) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2724:                                             ; preds = %2695
  %2725 = load i32, ptr @test_count, align 4, !tbaa !5
  %2726 = add nsw i32 %2725, 1
  store i32 %2726, ptr @test_count, align 4, !tbaa !5
  %2727 = load ptr, ptr %36, align 8, !tbaa !9
  %2728 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %2727, i1 noundef zeroext true) #12
  %2729 = icmp eq i32 %2728, -1
  br i1 %2729, label %2730, label %2753

2730:                                             ; preds = %2724
  %2731 = tail call ptr @__errno_location() #13
  %2732 = load i32, ptr %2731, align 4, !tbaa !5
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2734 = call i32 @s2n_print_stacktrace(ptr noundef %2733) #12
  %2735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2736 = trunc nuw i8 %2735 to i1
  br i1 %2736, label %2737, label %2741

2737:                                             ; preds = %2730
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2739 = call i32 @fileno(ptr noundef %2738) #12
  %2740 = call i32 @isatty(i32 noundef %2739) #12
  %.not732 = icmp eq i32 %2740, 0
  br i1 %.not732, label %2741, label %2742

2741:                                             ; preds = %2737, %2730
  br label %2742

2742:                                             ; preds = %2737, %2741
  %.str.5.sink1734 = phi ptr [ @.str.5, %2741 ], [ @.str.2, %2737 ]
  store i32 %2732, ptr %2731, align 4, !tbaa !5
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2744 = load i32, ptr @test_count, align 4, !tbaa !5
  %2745 = load i32, ptr %2630, align 4, !tbaa !5
  %2746 = call ptr @s2n_strerror(i32 noundef %2745, ptr noundef nonnull @.str.4) #12
  %2747 = load i32, ptr %2630, align 4, !tbaa !5
  %2748 = call ptr @s2n_strerror_debug(i32 noundef %2747, ptr noundef nonnull @.str.4) #12
  %2749 = load i32, ptr %2731, align 4, !tbaa !5
  %2750 = call ptr @strerror(i32 noundef %2749) #12
  %2751 = load i32, ptr %2731, align 4, !tbaa !5
  %2752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2743, ptr noundef nonnull %.str.5.sink1734, i32 noundef %2744, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %2746, ptr noundef %2748, ptr noundef %2750, i32 noundef %2751) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2753:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %37) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %37, i8 0, i64 80, i1 false)
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = add nsw i32 %2754, 1
  store i32 %2755, ptr @test_count, align 4, !tbaa !5
  %2756 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %37) #12
  %2757 = call zeroext i1 @s2n_result_is_ok(i32 %2756)
  br i1 %2757, label %2781, label %2758

2758:                                             ; preds = %2753
  %2759 = tail call ptr @__errno_location() #13
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = call i32 @s2n_print_stacktrace(ptr noundef %2761) #12
  %2763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2764 = trunc nuw i8 %2763 to i1
  br i1 %2764, label %2765, label %2769

2765:                                             ; preds = %2758
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = call i32 @fileno(ptr noundef %2766) #12
  %2768 = call i32 @isatty(i32 noundef %2767) #12
  %.not709 = icmp eq i32 %2768, 0
  br i1 %.not709, label %2769, label %2770

2769:                                             ; preds = %2765, %2758
  br label %2770

2770:                                             ; preds = %2765, %2769
  %.str.5.sink1743 = phi ptr [ @.str.5, %2769 ], [ @.str.2, %2765 ]
  store i32 %2760, ptr %2759, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = load i32, ptr %2630, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror(i32 noundef %2773, ptr noundef nonnull @.str.4) #12
  %2775 = load i32, ptr %2630, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror_debug(i32 noundef %2775, ptr noundef nonnull @.str.4) #12
  %2777 = load i32, ptr %2759, align 4, !tbaa !5
  %2778 = call ptr @strerror(i32 noundef %2777) #12
  %2779 = load i32, ptr %2759, align 4, !tbaa !5
  %2780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef nonnull %.str.5.sink1743, i32 noundef %2772, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %2774, ptr noundef %2776, ptr noundef %2778, i32 noundef %2779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2781:                                             ; preds = %2753
  %2782 = load i32, ptr @test_count, align 4, !tbaa !5
  %2783 = add nsw i32 %2782, 1
  store i32 %2783, ptr @test_count, align 4, !tbaa !5
  %2784 = load ptr, ptr %35, align 8, !tbaa !9
  %2785 = load ptr, ptr %36, align 8, !tbaa !9
  %2786 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %2784, ptr noundef %2785, ptr noundef nonnull %37) #12
  %2787 = call zeroext i1 @s2n_result_is_ok(i32 %2786)
  br i1 %2787, label %2811, label %2788

2788:                                             ; preds = %2781
  %2789 = tail call ptr @__errno_location() #13
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2792 = call i32 @s2n_print_stacktrace(ptr noundef %2791) #12
  %2793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2794 = trunc nuw i8 %2793 to i1
  br i1 %2794, label %2795, label %2799

2795:                                             ; preds = %2788
  %2796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2797 = call i32 @fileno(ptr noundef %2796) #12
  %2798 = call i32 @isatty(i32 noundef %2797) #12
  %.not710 = icmp eq i32 %2798, 0
  br i1 %.not710, label %2799, label %2800

2799:                                             ; preds = %2795, %2788
  br label %2800

2800:                                             ; preds = %2795, %2799
  %.str.5.sink1752 = phi ptr [ @.str.5, %2799 ], [ @.str.2, %2795 ]
  store i32 %2790, ptr %2789, align 4, !tbaa !5
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = load i32, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %2630, align 4, !tbaa !5
  %2804 = call ptr @s2n_strerror(i32 noundef %2803, ptr noundef nonnull @.str.4) #12
  %2805 = load i32, ptr %2630, align 4, !tbaa !5
  %2806 = call ptr @s2n_strerror_debug(i32 noundef %2805, ptr noundef nonnull @.str.4) #12
  %2807 = load i32, ptr %2789, align 4, !tbaa !5
  %2808 = call ptr @strerror(i32 noundef %2807) #12
  %2809 = load i32, ptr %2789, align 4, !tbaa !5
  %2810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2801, ptr noundef nonnull %.str.5.sink1752, i32 noundef %2802, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %2804, ptr noundef %2806, ptr noundef %2808, i32 noundef %2809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2811:                                             ; preds = %2781
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = add nsw i32 %2812, 1
  store i32 %2813, ptr @test_count, align 4, !tbaa !5
  %2814 = load ptr, ptr %36, align 8, !tbaa !9
  %2815 = load ptr, ptr %35, align 8, !tbaa !9
  %2816 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %2814, ptr noundef %2815) #12
  %2817 = icmp eq i32 %2816, -1
  br i1 %2817, label %2818, label %2841

2818:                                             ; preds = %2811
  %2819 = tail call ptr @__errno_location() #13
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = call i32 @s2n_print_stacktrace(ptr noundef %2821) #12
  %2823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2824 = trunc nuw i8 %2823 to i1
  br i1 %2824, label %2825, label %2829

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

2829:                                             ; preds = %2825, %2818
  br label %2830

2830:                                             ; preds = %2825, %2829
  %.str.5.sink1761 = phi ptr [ @.str.5, %2829 ], [ @.str.2, %2825 ]
  store i32 %2820, ptr %2819, align 4, !tbaa !5
  %2831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2832 = load i32, ptr @test_count, align 4, !tbaa !5
  %2833 = load i32, ptr %2630, align 4, !tbaa !5
  %2834 = call ptr @s2n_strerror(i32 noundef %2833, ptr noundef nonnull @.str.4) #12
  %2835 = load i32, ptr %2630, align 4, !tbaa !5
  %2836 = call ptr @s2n_strerror_debug(i32 noundef %2835, ptr noundef nonnull @.str.4) #12
  %2837 = load i32, ptr %2819, align 4, !tbaa !5
  %2838 = call ptr @strerror(i32 noundef %2837) #12
  %2839 = load i32, ptr %2819, align 4, !tbaa !5
  %2840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2831, ptr noundef nonnull %.str.5.sink1761, i32 noundef %2832, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2834, ptr noundef %2836, ptr noundef %2838, i32 noundef %2839) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2841:                                             ; preds = %2811
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %38, i8 0, i64 24, i1 false)
  %2842 = load i32, ptr @test_count, align 4, !tbaa !5
  %2843 = add nsw i32 %2842, 1
  store i32 %2843, ptr @test_count, align 4, !tbaa !5
  %2844 = load ptr, ptr %36, align 8, !tbaa !9
  %2845 = call i32 @s2n_connection_set_counting_read(ptr noundef %2844, ptr noundef nonnull %38)
  %2846 = call zeroext i1 @s2n_result_is_ok(i32 %2845)
  br i1 %2846, label %2870, label %2847

2847:                                             ; preds = %2841
  %2848 = tail call ptr @__errno_location() #13
  %2849 = load i32, ptr %2848, align 4, !tbaa !5
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2851 = call i32 @s2n_print_stacktrace(ptr noundef %2850) #12
  %2852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2853 = trunc nuw i8 %2852 to i1
  br i1 %2853, label %2854, label %2858

2854:                                             ; preds = %2847
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = call i32 @fileno(ptr noundef %2855) #12
  %2857 = call i32 @isatty(i32 noundef %2856) #12
  %.not711 = icmp eq i32 %2857, 0
  br i1 %.not711, label %2858, label %2859

2858:                                             ; preds = %2854, %2847
  br label %2859

2859:                                             ; preds = %2854, %2858
  %.str.5.sink1770 = phi ptr [ @.str.5, %2858 ], [ @.str.2, %2854 ]
  store i32 %2849, ptr %2848, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = load i32, ptr @test_count, align 4, !tbaa !5
  %2862 = load i32, ptr %2630, align 4, !tbaa !5
  %2863 = call ptr @s2n_strerror(i32 noundef %2862, ptr noundef nonnull @.str.4) #12
  %2864 = load i32, ptr %2630, align 4, !tbaa !5
  %2865 = call ptr @s2n_strerror_debug(i32 noundef %2864, ptr noundef nonnull @.str.4) #12
  %2866 = load i32, ptr %2848, align 4, !tbaa !5
  %2867 = call ptr @strerror(i32 noundef %2866) #12
  %2868 = load i32, ptr %2848, align 4, !tbaa !5
  %2869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2860, ptr noundef nonnull %.str.5.sink1770, i32 noundef %2861, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2863, ptr noundef %2865, ptr noundef %2867, i32 noundef %2868) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2870:                                             ; preds = %2841
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #12
  store i32 0, ptr %39, align 4, !tbaa !5
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = add nsw i32 %2871, 1
  store i32 %2872, ptr @test_count, align 4, !tbaa !5
  %2873 = load ptr, ptr %35, align 8, !tbaa !9
  %2874 = call i64 @s2n_send(ptr noundef %2873, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %39) #12
  %2875 = icmp eq i64 %2874, 20
  br i1 %2875, label %2899, label %2876

2876:                                             ; preds = %2870
  %2877 = tail call ptr @__errno_location() #13
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2880 = call i32 @s2n_print_stacktrace(ptr noundef %2879) #12
  %2881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2882 = trunc nuw i8 %2881 to i1
  br i1 %2882, label %2883, label %2887

2883:                                             ; preds = %2876
  %2884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2885 = call i32 @fileno(ptr noundef %2884) #12
  %2886 = call i32 @isatty(i32 noundef %2885) #12
  %.not712 = icmp eq i32 %2886, 0
  br i1 %.not712, label %2887, label %2888

2887:                                             ; preds = %2883, %2876
  br label %2888

2888:                                             ; preds = %2883, %2887
  %.str.5.sink1779 = phi ptr [ @.str.5, %2887 ], [ @.str.2, %2883 ]
  store i32 %2878, ptr %2877, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = load i32, ptr %2630, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror(i32 noundef %2891, ptr noundef nonnull @.str.4) #12
  %2893 = load i32, ptr %2630, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror_debug(i32 noundef %2893, ptr noundef nonnull @.str.4) #12
  %2895 = load i32, ptr %2877, align 4, !tbaa !5
  %2896 = call ptr @strerror(i32 noundef %2895) #12
  %2897 = load i32, ptr %2877, align 4, !tbaa !5
  %2898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2889, ptr noundef nonnull %.str.5.sink1779, i32 noundef %2890, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %2892, ptr noundef %2894, ptr noundef %2896, i32 noundef %2897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2899:                                             ; preds = %2870
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr @test_count, align 4, !tbaa !5
  %2902 = load i32, ptr %2627, align 4, !tbaa !15
  %2903 = load i32, ptr %2628, align 8, !tbaa !19
  %2904 = sub i32 %2902, %2903
  %2905 = icmp eq i32 %2904, %610
  br i1 %2905, label %2929, label %2906

2906:                                             ; preds = %2899
  %2907 = tail call ptr @__errno_location() #13
  %2908 = load i32, ptr %2907, align 4, !tbaa !5
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = call i32 @s2n_print_stacktrace(ptr noundef %2909) #12
  %2911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2912 = trunc nuw i8 %2911 to i1
  br i1 %2912, label %2913, label %2917

2913:                                             ; preds = %2906
  %2914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2915 = call i32 @fileno(ptr noundef %2914) #12
  %2916 = call i32 @isatty(i32 noundef %2915) #12
  %.not713 = icmp eq i32 %2916, 0
  br i1 %.not713, label %2917, label %2918

2917:                                             ; preds = %2913, %2906
  br label %2918

2918:                                             ; preds = %2913, %2917
  %.str.5.sink1788 = phi ptr [ @.str.5, %2917 ], [ @.str.2, %2913 ]
  store i32 %2908, ptr %2907, align 4, !tbaa !5
  %2919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = load i32, ptr %2630, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror(i32 noundef %2921, ptr noundef nonnull @.str.4) #12
  %2923 = load i32, ptr %2630, align 4, !tbaa !5
  %2924 = call ptr @s2n_strerror_debug(i32 noundef %2923, ptr noundef nonnull @.str.4) #12
  %2925 = load i32, ptr %2907, align 4, !tbaa !5
  %2926 = call ptr @strerror(i32 noundef %2925) #12
  %2927 = load i32, ptr %2907, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2919, ptr noundef nonnull %.str.5.sink1788, i32 noundef %2920, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %2922, ptr noundef %2924, ptr noundef %2926, i32 noundef %2927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2929:                                             ; preds = %2899
  %2930 = add nsw i32 %2900, 2
  store i32 %2930, ptr @test_count, align 4, !tbaa !5
  %2931 = load ptr, ptr %36, align 8, !tbaa !9
  %2932 = getelementptr inbounds i8, ptr %2931, i64 1816
  %2933 = trunc i64 %.0551827 to i32
  %2934 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %2629, ptr noundef nonnull %2932, i32 noundef %2933) #12
  %2935 = icmp eq i32 %2934, -1
  br i1 %2935, label %2936, label %2959

2936:                                             ; preds = %2929
  %2937 = tail call ptr @__errno_location() #13
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @s2n_print_stacktrace(ptr noundef %2939) #12
  %2941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2942 = trunc nuw i8 %2941 to i1
  br i1 %2942, label %2943, label %2947

2943:                                             ; preds = %2936
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = call i32 @fileno(ptr noundef %2944) #12
  %2946 = call i32 @isatty(i32 noundef %2945) #12
  %.not730 = icmp eq i32 %2946, 0
  br i1 %.not730, label %2947, label %2948

2947:                                             ; preds = %2943, %2936
  br label %2948

2948:                                             ; preds = %2943, %2947
  %.str.5.sink1797 = phi ptr [ @.str.5, %2947 ], [ @.str.2, %2943 ]
  store i32 %2938, ptr %2937, align 4, !tbaa !5
  %2949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2950 = load i32, ptr @test_count, align 4, !tbaa !5
  %2951 = load i32, ptr %2630, align 4, !tbaa !5
  %2952 = call ptr @s2n_strerror(i32 noundef %2951, ptr noundef nonnull @.str.4) #12
  %2953 = load i32, ptr %2630, align 4, !tbaa !5
  %2954 = call ptr @s2n_strerror_debug(i32 noundef %2953, ptr noundef nonnull @.str.4) #12
  %2955 = load i32, ptr %2937, align 4, !tbaa !5
  %2956 = call ptr @strerror(i32 noundef %2955) #12
  %2957 = load i32, ptr %2937, align 4, !tbaa !5
  %2958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2949, ptr noundef nonnull %.str.5.sink1797, i32 noundef %2950, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2952, ptr noundef %2954, ptr noundef %2956, i32 noundef %2957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2959:                                             ; preds = %2929
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %40) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %40, i8 0, i64 20, i1 false)
  %2960 = load i32, ptr @test_count, align 4, !tbaa !5
  %2961 = add nsw i32 %2960, 1
  store i32 %2961, ptr @test_count, align 4, !tbaa !5
  %2962 = load ptr, ptr %36, align 8, !tbaa !9
  %2963 = call i64 @s2n_recv(ptr noundef %2962, ptr noundef nonnull %40, i64 noundef 20, ptr noundef nonnull %39) #12
  %2964 = icmp eq i64 %2963, 20
  br i1 %2964, label %2988, label %2965

2965:                                             ; preds = %2959
  %2966 = tail call ptr @__errno_location() #13
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2969 = call i32 @s2n_print_stacktrace(ptr noundef %2968) #12
  %2970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2971 = trunc nuw i8 %2970 to i1
  br i1 %2971, label %2972, label %2976

2972:                                             ; preds = %2965
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = call i32 @fileno(ptr noundef %2973) #12
  %2975 = call i32 @isatty(i32 noundef %2974) #12
  %.not714 = icmp eq i32 %2975, 0
  br i1 %.not714, label %2976, label %2977

2976:                                             ; preds = %2972, %2965
  br label %2977

2977:                                             ; preds = %2972, %2976
  %.str.5.sink1806 = phi ptr [ @.str.5, %2976 ], [ @.str.2, %2972 ]
  store i32 %2967, ptr %2966, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = load i32, ptr %2630, align 4, !tbaa !5
  %2981 = call ptr @s2n_strerror(i32 noundef %2980, ptr noundef nonnull @.str.4) #12
  %2982 = load i32, ptr %2630, align 4, !tbaa !5
  %2983 = call ptr @s2n_strerror_debug(i32 noundef %2982, ptr noundef nonnull @.str.4) #12
  %2984 = load i32, ptr %2966, align 4, !tbaa !5
  %2985 = call ptr @strerror(i32 noundef %2984) #12
  %2986 = load i32, ptr %2966, align 4, !tbaa !5
  %2987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2978, ptr noundef nonnull %.str.5.sink1806, i32 noundef %2979, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2981, ptr noundef %2983, ptr noundef %2985, i32 noundef %2986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2988:                                             ; preds = %2959
  %2989 = load i32, ptr @test_count, align 4, !tbaa !5
  %2990 = add nsw i32 %2989, 1
  store i32 %2990, ptr @test_count, align 4, !tbaa !5
  %bcmp715 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %40, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %2991 = icmp eq i32 %bcmp715, 0
  br i1 %2991, label %3015, label %2992

2992:                                             ; preds = %2988
  %2993 = tail call ptr @__errno_location() #13
  %2994 = load i32, ptr %2993, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = call i32 @s2n_print_stacktrace(ptr noundef %2995) #12
  %2997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2998 = trunc nuw i8 %2997 to i1
  br i1 %2998, label %2999, label %3003

2999:                                             ; preds = %2992
  %3000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3001 = call i32 @fileno(ptr noundef %3000) #12
  %3002 = call i32 @isatty(i32 noundef %3001) #12
  %.not716 = icmp eq i32 %3002, 0
  br i1 %.not716, label %3003, label %3004

3003:                                             ; preds = %2999, %2992
  br label %3004

3004:                                             ; preds = %2999, %3003
  %.str.5.sink1815 = phi ptr [ @.str.5, %3003 ], [ @.str.2, %2999 ]
  store i32 %2994, ptr %2993, align 4, !tbaa !5
  %3005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3006 = load i32, ptr @test_count, align 4, !tbaa !5
  %3007 = load i32, ptr %2630, align 4, !tbaa !5
  %3008 = call ptr @s2n_strerror(i32 noundef %3007, ptr noundef nonnull @.str.4) #12
  %3009 = load i32, ptr %2630, align 4, !tbaa !5
  %3010 = call ptr @s2n_strerror_debug(i32 noundef %3009, ptr noundef nonnull @.str.4) #12
  %3011 = load i32, ptr %2993, align 4, !tbaa !5
  %3012 = call ptr @strerror(i32 noundef %3011) #12
  %3013 = load i32, ptr %2993, align 4, !tbaa !5
  %3014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3005, ptr noundef nonnull %.str.5.sink1815, i32 noundef %3006, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %3008, ptr noundef %3010, ptr noundef %3012, i32 noundef %3013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3015:                                             ; preds = %2988
  %3016 = add nsw i32 %2989, 2
  store i32 %3016, ptr @test_count, align 4, !tbaa !5
  %3017 = load i64, ptr %38, align 8, !tbaa !20
  %3018 = icmp eq i64 %3017, 1
  br i1 %3018, label %3042, label %3019

3019:                                             ; preds = %3015
  %3020 = tail call ptr @__errno_location() #13
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = call i32 @s2n_print_stacktrace(ptr noundef %3022) #12
  %3024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3025 = trunc nuw i8 %3024 to i1
  br i1 %3025, label %3026, label %3030

3026:                                             ; preds = %3019
  %3027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3028 = call i32 @fileno(ptr noundef %3027) #12
  %3029 = call i32 @isatty(i32 noundef %3028) #12
  %.not717 = icmp eq i32 %3029, 0
  br i1 %.not717, label %3030, label %3031

3030:                                             ; preds = %3026, %3019
  br label %3031

3031:                                             ; preds = %3026, %3030
  %.str.5.sink1824 = phi ptr [ @.str.5, %3030 ], [ @.str.2, %3026 ]
  store i32 %3021, ptr %3020, align 4, !tbaa !5
  %3032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3033 = load i32, ptr @test_count, align 4, !tbaa !5
  %3034 = load i32, ptr %2630, align 4, !tbaa !5
  %3035 = call ptr @s2n_strerror(i32 noundef %3034, ptr noundef nonnull @.str.4) #12
  %3036 = load i32, ptr %2630, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror_debug(i32 noundef %3036, ptr noundef nonnull @.str.4) #12
  %3038 = load i32, ptr %3020, align 4, !tbaa !5
  %3039 = call ptr @strerror(i32 noundef %3038) #12
  %3040 = load i32, ptr %3020, align 4, !tbaa !5
  %3041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3032, ptr noundef nonnull %.str.5.sink1824, i32 noundef %3033, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %3035, ptr noundef %3037, ptr noundef %3039, i32 noundef %3040) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3042:                                             ; preds = %3015
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #12
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #12
  store i32 0, ptr %41, align 4, !tbaa !5
  %3043 = add nsw i32 %2989, 3
  store i32 %3043, ptr @test_count, align 4, !tbaa !5
  %3044 = load i32, ptr %2627, align 4, !tbaa !15
  %3045 = load i32, ptr %2628, align 8, !tbaa !19
  %3046 = icmp eq i32 %3044, %3045
  br i1 %3046, label %3070, label %3047

3047:                                             ; preds = %3042
  %3048 = tail call ptr @__errno_location() #13
  %3049 = load i32, ptr %3048, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @s2n_print_stacktrace(ptr noundef %3050) #12
  %3052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc nuw i8 %3052 to i1
  br i1 %3053, label %3054, label %3058

3054:                                             ; preds = %3047
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = call i32 @fileno(ptr noundef %3055) #12
  %3057 = call i32 @isatty(i32 noundef %3056) #12
  %.not718 = icmp eq i32 %3057, 0
  br i1 %.not718, label %3058, label %3059

3058:                                             ; preds = %3054, %3047
  br label %3059

3059:                                             ; preds = %3054, %3058
  %.str.5.sink1833 = phi ptr [ @.str.5, %3058 ], [ @.str.2, %3054 ]
  store i32 %3049, ptr %3048, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = load i32, ptr @test_count, align 4, !tbaa !5
  %3062 = load i32, ptr %2630, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef nonnull @.str.4) #12
  %3064 = load i32, ptr %2630, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror_debug(i32 noundef %3064, ptr noundef nonnull @.str.4) #12
  %3066 = load i32, ptr %3048, align 4, !tbaa !5
  %3067 = call ptr @strerror(i32 noundef %3066) #12
  %3068 = load i32, ptr %3048, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3060, ptr noundef nonnull %.str.5.sink1833, i32 noundef %3061, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %3063, ptr noundef %3065, ptr noundef %3067, i32 noundef %3068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3070:                                             ; preds = %3042
  %3071 = add nsw i32 %2989, 4
  store i32 %3071, ptr @test_count, align 4, !tbaa !5
  %3072 = load ptr, ptr %35, align 8, !tbaa !9
  %3073 = call i64 @s2n_send(ptr noundef %3072, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %41) #12
  %3074 = icmp eq i64 %3073, 20
  br i1 %3074, label %3098, label %3075

3075:                                             ; preds = %3070
  %3076 = tail call ptr @__errno_location() #13
  %3077 = load i32, ptr %3076, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = call i32 @s2n_print_stacktrace(ptr noundef %3078) #12
  %3080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3081 = trunc nuw i8 %3080 to i1
  br i1 %3081, label %3082, label %3086

3082:                                             ; preds = %3075
  %3083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3084 = call i32 @fileno(ptr noundef %3083) #12
  %3085 = call i32 @isatty(i32 noundef %3084) #12
  %.not719 = icmp eq i32 %3085, 0
  br i1 %.not719, label %3086, label %3087

3086:                                             ; preds = %3082, %3075
  br label %3087

3087:                                             ; preds = %3082, %3086
  %.str.5.sink1842 = phi ptr [ @.str.5, %3086 ], [ @.str.2, %3082 ]
  store i32 %3077, ptr %3076, align 4, !tbaa !5
  %3088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3089 = load i32, ptr @test_count, align 4, !tbaa !5
  %3090 = load i32, ptr %2630, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror(i32 noundef %3090, ptr noundef nonnull @.str.4) #12
  %3092 = load i32, ptr %2630, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror_debug(i32 noundef %3092, ptr noundef nonnull @.str.4) #12
  %3094 = load i32, ptr %3076, align 4, !tbaa !5
  %3095 = call ptr @strerror(i32 noundef %3094) #12
  %3096 = load i32, ptr %3076, align 4, !tbaa !5
  %3097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3088, ptr noundef nonnull %.str.5.sink1842, i32 noundef %3089, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3091, ptr noundef %3093, ptr noundef %3095, i32 noundef %3096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3098:                                             ; preds = %3070
  %3099 = load i32, ptr @test_count, align 4, !tbaa !5
  %3100 = add nsw i32 %3099, 1
  store i32 %3100, ptr @test_count, align 4, !tbaa !5
  %3101 = load i32, ptr %2627, align 4, !tbaa !15
  %3102 = load i32, ptr %2628, align 8, !tbaa !19
  %3103 = sub i32 %3101, %3102
  %3104 = icmp eq i32 %3103, %610
  br i1 %3104, label %3128, label %3105

3105:                                             ; preds = %3098
  %3106 = tail call ptr @__errno_location() #13
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = call i32 @s2n_print_stacktrace(ptr noundef %3108) #12
  %3110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3111 = trunc nuw i8 %3110 to i1
  br i1 %3111, label %3112, label %3116

3112:                                             ; preds = %3105
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = call i32 @fileno(ptr noundef %3113) #12
  %3115 = call i32 @isatty(i32 noundef %3114) #12
  %.not720 = icmp eq i32 %3115, 0
  br i1 %.not720, label %3116, label %3117

3116:                                             ; preds = %3112, %3105
  br label %3117

3117:                                             ; preds = %3112, %3116
  %.str.5.sink1851 = phi ptr [ @.str.5, %3116 ], [ @.str.2, %3112 ]
  store i32 %3107, ptr %3106, align 4, !tbaa !5
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = load i32, ptr %2630, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror(i32 noundef %3120, ptr noundef nonnull @.str.4) #12
  %3122 = load i32, ptr %2630, align 4, !tbaa !5
  %3123 = call ptr @s2n_strerror_debug(i32 noundef %3122, ptr noundef nonnull @.str.4) #12
  %3124 = load i32, ptr %3106, align 4, !tbaa !5
  %3125 = call ptr @strerror(i32 noundef %3124) #12
  %3126 = load i32, ptr %3106, align 4, !tbaa !5
  %3127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3118, ptr noundef nonnull %.str.5.sink1851, i32 noundef %3119, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %3121, ptr noundef %3123, ptr noundef %3125, i32 noundef %3126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3128:                                             ; preds = %3098
  %3129 = sub i32 %610, %2933
  %3130 = sub i32 %3101, %3129
  store i32 %3130, ptr %2627, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %42) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %42, i8 0, i64 20, i1 false)
  %3131 = add nsw i32 %3099, 2
  store i32 %3131, ptr @test_count, align 4, !tbaa !5
  %3132 = load ptr, ptr %36, align 8, !tbaa !9
  %3133 = call i64 @s2n_recv(ptr noundef %3132, ptr noundef nonnull %42, i64 noundef 20, ptr noundef nonnull %41) #12
  %3134 = icmp eq i64 %3133, -1
  br i1 %3134, label %3158, label %3135

3135:                                             ; preds = %3128
  %3136 = tail call ptr @__errno_location() #13
  %3137 = load i32, ptr %3136, align 4, !tbaa !5
  %3138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3139 = call i32 @s2n_print_stacktrace(ptr noundef %3138) #12
  %3140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3141 = trunc nuw i8 %3140 to i1
  br i1 %3141, label %3142, label %3146

3142:                                             ; preds = %3135
  %3143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3144 = call i32 @fileno(ptr noundef %3143) #12
  %3145 = call i32 @isatty(i32 noundef %3144) #12
  %.not721 = icmp eq i32 %3145, 0
  br i1 %.not721, label %3146, label %3147

3146:                                             ; preds = %3142, %3135
  br label %3147

3147:                                             ; preds = %3142, %3146
  %.str.5.sink1860 = phi ptr [ @.str.5, %3146 ], [ @.str.2, %3142 ]
  store i32 %3137, ptr %3136, align 4, !tbaa !5
  %3148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3149 = load i32, ptr @test_count, align 4, !tbaa !5
  %3150 = load i32, ptr %2630, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror(i32 noundef %3150, ptr noundef nonnull @.str.4) #12
  %3152 = load i32, ptr %2630, align 4, !tbaa !5
  %3153 = call ptr @s2n_strerror_debug(i32 noundef %3152, ptr noundef nonnull @.str.4) #12
  %3154 = load i32, ptr %3136, align 4, !tbaa !5
  %3155 = call ptr @strerror(i32 noundef %3154) #12
  %3156 = load i32, ptr %3136, align 4, !tbaa !5
  %3157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3148, ptr noundef nonnull %.str.5.sink1860, i32 noundef %3149, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3151, ptr noundef %3153, ptr noundef %3155, i32 noundef %3156) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3158:                                             ; preds = %3128
  %3159 = load i32, ptr @test_count, align 4, !tbaa !5
  %3160 = add nsw i32 %3159, 1
  store i32 %3160, ptr @test_count, align 4, !tbaa !5
  %3161 = load i32, ptr %2630, align 4, !tbaa !5
  %3162 = icmp eq i32 %3161, 201326592
  br i1 %3162, label %3186, label %3163

3163:                                             ; preds = %3158
  %3164 = tail call ptr @__errno_location() #13
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3167 = call i32 @s2n_print_stacktrace(ptr noundef %3166) #12
  %3168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3169 = trunc nuw i8 %3168 to i1
  br i1 %3169, label %3170, label %3174

3170:                                             ; preds = %3163
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = call i32 @fileno(ptr noundef %3171) #12
  %3173 = call i32 @isatty(i32 noundef %3172) #12
  %.not722 = icmp eq i32 %3173, 0
  br i1 %.not722, label %3174, label %3175

3174:                                             ; preds = %3170, %3163
  br label %3175

3175:                                             ; preds = %3170, %3174
  %.str.5.sink1869 = phi ptr [ @.str.5, %3174 ], [ @.str.2, %3170 ]
  store i32 %3165, ptr %3164, align 4, !tbaa !5
  %3176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3177 = load i32, ptr @test_count, align 4, !tbaa !5
  %3178 = load i32, ptr %2630, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror(i32 noundef %3178, ptr noundef nonnull @.str.4) #12
  %3180 = load i32, ptr %2630, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror_debug(i32 noundef %3180, ptr noundef nonnull @.str.4) #12
  %3182 = load i32, ptr %3164, align 4, !tbaa !5
  %3183 = call ptr @strerror(i32 noundef %3182) #12
  %3184 = load i32, ptr %3164, align 4, !tbaa !5
  %3185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3176, ptr noundef nonnull %.str.5.sink1869, i32 noundef %3177, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3179, ptr noundef %3181, ptr noundef %3183, i32 noundef %3184) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3186:                                             ; preds = %3158
  %3187 = add nsw i32 %3159, 2
  store i32 %3187, ptr @test_count, align 4, !tbaa !5
  %3188 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3189 = icmp eq ptr %3188, null
  br i1 %3189, label %3190, label %3213

3190:                                             ; preds = %3186
  %3191 = tail call ptr @__errno_location() #13
  %3192 = load i32, ptr %3191, align 4, !tbaa !5
  %3193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3194 = call i32 @s2n_print_stacktrace(ptr noundef %3193) #12
  %3195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3196 = trunc nuw i8 %3195 to i1
  br i1 %3196, label %3197, label %3201

3197:                                             ; preds = %3190
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @fileno(ptr noundef %3198) #12
  %3200 = call i32 @isatty(i32 noundef %3199) #12
  %.not729 = icmp eq i32 %3200, 0
  br i1 %.not729, label %3201, label %3202

3201:                                             ; preds = %3197, %3190
  br label %3202

3202:                                             ; preds = %3197, %3201
  %.str.5.sink1878 = phi ptr [ @.str.5, %3201 ], [ @.str.2, %3197 ]
  store i32 %3192, ptr %3191, align 4, !tbaa !5
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = load i32, ptr %2630, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror(i32 noundef %3205, ptr noundef nonnull @.str.4) #12
  %3207 = load i32, ptr %2630, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror_debug(i32 noundef %3207, ptr noundef nonnull @.str.4) #12
  %3209 = load i32, ptr %3191, align 4, !tbaa !5
  %3210 = call ptr @strerror(i32 noundef %3209) #12
  %3211 = load i32, ptr %3191, align 4, !tbaa !5
  %3212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3203, ptr noundef nonnull %.str.5.sink1878, i32 noundef %3204, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3206, ptr noundef %3208, ptr noundef %3210, i32 noundef %3211) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3213:                                             ; preds = %3186
  store i32 0, ptr %2630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %3214 = tail call ptr @__errno_location() #13
  store i32 0, ptr %3214, align 4, !tbaa !5
  %.not723 = icmp eq i64 %.0551827, 0
  %spec.select = select i1 %.not723, i64 2, i64 3
  %3215 = load i32, ptr @test_count, align 4, !tbaa !5
  %3216 = add nsw i32 %3215, 1
  store i32 %3216, ptr @test_count, align 4, !tbaa !5
  %3217 = load i64, ptr %38, align 8, !tbaa !20
  %3218 = icmp eq i64 %3217, %spec.select
  br i1 %3218, label %3241, label %3219

3219:                                             ; preds = %3213
  %3220 = load i32, ptr %3214, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = call i32 @s2n_print_stacktrace(ptr noundef %3221) #12
  %3223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3224 = trunc nuw i8 %3223 to i1
  br i1 %3224, label %3225, label %3229

3225:                                             ; preds = %3219
  %3226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3227 = call i32 @fileno(ptr noundef %3226) #12
  %3228 = call i32 @isatty(i32 noundef %3227) #12
  %.not724 = icmp eq i32 %3228, 0
  br i1 %.not724, label %3229, label %3230

3229:                                             ; preds = %3225, %3219
  br label %3230

3230:                                             ; preds = %3225, %3229
  %.str.5.sink1887 = phi ptr [ @.str.5, %3229 ], [ @.str.2, %3225 ]
  store i32 %3220, ptr %3214, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = load i32, ptr %2630, align 4, !tbaa !5
  %3234 = call ptr @s2n_strerror(i32 noundef %3233, ptr noundef nonnull @.str.4) #12
  %3235 = load i32, ptr %2630, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror_debug(i32 noundef %3235, ptr noundef nonnull @.str.4) #12
  %3237 = load i32, ptr %3214, align 4, !tbaa !5
  %3238 = call ptr @strerror(i32 noundef %3237) #12
  %3239 = load i32, ptr %3214, align 4, !tbaa !5
  %3240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3231, ptr noundef nonnull %.str.5.sink1887, i32 noundef %3232, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %3234, ptr noundef %3236, ptr noundef %3238, i32 noundef %3239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3241:                                             ; preds = %3213
  %3242 = load i32, ptr %2627, align 4, !tbaa !15
  %3243 = add i32 %3242, %3129
  store i32 %3243, ptr %2627, align 4, !tbaa !15
  %3244 = add nsw i32 %3215, 2
  store i32 %3244, ptr @test_count, align 4, !tbaa !5
  %3245 = load ptr, ptr %36, align 8, !tbaa !9
  %3246 = call i64 @s2n_recv(ptr noundef %3245, ptr noundef nonnull %42, i64 noundef 20, ptr noundef nonnull %41) #12
  %3247 = icmp eq i64 %3246, 20
  br i1 %3247, label %3270, label %3248

3248:                                             ; preds = %3241
  %3249 = load i32, ptr %3214, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @s2n_print_stacktrace(ptr noundef %3250) #12
  %3252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3253 = trunc nuw i8 %3252 to i1
  br i1 %3253, label %3254, label %3258

3254:                                             ; preds = %3248
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @fileno(ptr noundef %3255) #12
  %3257 = call i32 @isatty(i32 noundef %3256) #12
  %.not725 = icmp eq i32 %3257, 0
  br i1 %.not725, label %3258, label %3259

3258:                                             ; preds = %3254, %3248
  br label %3259

3259:                                             ; preds = %3254, %3258
  %.str.5.sink1896 = phi ptr [ @.str.5, %3258 ], [ @.str.2, %3254 ]
  store i32 %3249, ptr %3214, align 4, !tbaa !5
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = load i32, ptr @test_count, align 4, !tbaa !5
  %3262 = load i32, ptr %2630, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror(i32 noundef %3262, ptr noundef nonnull @.str.4) #12
  %3264 = load i32, ptr %2630, align 4, !tbaa !5
  %3265 = call ptr @s2n_strerror_debug(i32 noundef %3264, ptr noundef nonnull @.str.4) #12
  %3266 = load i32, ptr %3214, align 4, !tbaa !5
  %3267 = call ptr @strerror(i32 noundef %3266) #12
  %3268 = load i32, ptr %3214, align 4, !tbaa !5
  %3269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3260, ptr noundef nonnull %.str.5.sink1896, i32 noundef %3261, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3263, ptr noundef %3265, ptr noundef %3267, i32 noundef %3268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3270:                                             ; preds = %3241
  %3271 = load i32, ptr @test_count, align 4, !tbaa !5
  %3272 = add nsw i32 %3271, 1
  store i32 %3272, ptr @test_count, align 4, !tbaa !5
  %bcmp726 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %42, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %3273 = icmp eq i32 %bcmp726, 0
  br i1 %3273, label %3296, label %3274

3274:                                             ; preds = %3270
  %3275 = load i32, ptr %3214, align 4, !tbaa !5
  %3276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3277 = call i32 @s2n_print_stacktrace(ptr noundef %3276) #12
  %3278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3279 = trunc nuw i8 %3278 to i1
  br i1 %3279, label %3280, label %3284

3280:                                             ; preds = %3274
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3282 = call i32 @fileno(ptr noundef %3281) #12
  %3283 = call i32 @isatty(i32 noundef %3282) #12
  %.not727 = icmp eq i32 %3283, 0
  br i1 %.not727, label %3284, label %3285

3284:                                             ; preds = %3280, %3274
  br label %3285

3285:                                             ; preds = %3280, %3284
  %.str.5.sink1905 = phi ptr [ @.str.5, %3284 ], [ @.str.2, %3280 ]
  store i32 %3275, ptr %3214, align 4, !tbaa !5
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = load i32, ptr %2630, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror(i32 noundef %3288, ptr noundef nonnull @.str.4) #12
  %3290 = load i32, ptr %2630, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror_debug(i32 noundef %3290, ptr noundef nonnull @.str.4) #12
  %3292 = load i32, ptr %3214, align 4, !tbaa !5
  %3293 = call ptr @strerror(i32 noundef %3292) #12
  %3294 = load i32, ptr %3214, align 4, !tbaa !5
  %3295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3286, ptr noundef nonnull %.str.5.sink1905, i32 noundef %3287, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 318, ptr noundef %3289, ptr noundef %3291, ptr noundef %3293, i32 noundef %3294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3296:                                             ; preds = %3270
  %3297 = add nuw nsw i64 %spec.select, 1
  %3298 = add nsw i32 %3271, 2
  store i32 %3298, ptr @test_count, align 4, !tbaa !5
  %3299 = load i64, ptr %38, align 8, !tbaa !20
  %3300 = icmp eq i64 %3299, %3297
  br i1 %3300, label %3323, label %3301

3301:                                             ; preds = %3296
  %3302 = load i32, ptr %3214, align 4, !tbaa !5
  %3303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3304 = call i32 @s2n_print_stacktrace(ptr noundef %3303) #12
  %3305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3306 = trunc nuw i8 %3305 to i1
  br i1 %3306, label %3307, label %3311

3307:                                             ; preds = %3301
  %3308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3309 = call i32 @fileno(ptr noundef %3308) #12
  %3310 = call i32 @isatty(i32 noundef %3309) #12
  %.not728 = icmp eq i32 %3310, 0
  br i1 %.not728, label %3311, label %3312

3311:                                             ; preds = %3307, %3301
  br label %3312

3312:                                             ; preds = %3307, %3311
  %.str.5.sink1914 = phi ptr [ @.str.5, %3311 ], [ @.str.2, %3307 ]
  store i32 %3302, ptr %3214, align 4, !tbaa !5
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3314 = load i32, ptr @test_count, align 4, !tbaa !5
  %3315 = load i32, ptr %2630, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror(i32 noundef %3315, ptr noundef nonnull @.str.4) #12
  %3317 = load i32, ptr %2630, align 4, !tbaa !5
  %3318 = call ptr @s2n_strerror_debug(i32 noundef %3317, ptr noundef nonnull @.str.4) #12
  %3319 = load i32, ptr %3214, align 4, !tbaa !5
  %3320 = call ptr @strerror(i32 noundef %3319) #12
  %3321 = load i32, ptr %3214, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3313, ptr noundef nonnull %.str.5.sink1914, i32 noundef %3314, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %3316, ptr noundef %3318, ptr noundef %3320, i32 noundef %3321) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3323:                                             ; preds = %3296
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #12
  %3324 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %37) #12
  %3325 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  %3326 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  %3327 = add nuw nsw i64 %.0551827, 1
  %exitcond851.not = icmp eq i64 %3327, %613
  br i1 %exitcond851.not, label %2631, label %2637, !llvm.loop !55

3328:                                             ; preds = %2631
  %3329 = load i32, ptr %3214, align 4, !tbaa !5
  %3330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3331 = call i32 @s2n_print_stacktrace(ptr noundef %3330) #12
  %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 = %3328
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = call i32 @fileno(ptr noundef %3335) #12
  %3337 = call i32 @isatty(i32 noundef %3336) #12
  %.not708 = icmp eq i32 %3337, 0
  br i1 %.not708, label %3338, label %3339

3338:                                             ; preds = %3334, %3328
  br label %3339

3339:                                             ; preds = %3334, %3338
  %.str.5.sink1923 = phi ptr [ @.str.5, %3338 ], [ @.str.2, %3334 ]
  store i32 %3329, ptr %3214, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = load i32, ptr @test_count, align 4, !tbaa !5
  %3342 = load i32, ptr %2630, align 4, !tbaa !5
  %3343 = call ptr @s2n_strerror(i32 noundef %3342, ptr noundef nonnull @.str.4) #12
  %3344 = load i32, ptr %2630, align 4, !tbaa !5
  %3345 = call ptr @s2n_strerror_debug(i32 noundef %3344, ptr noundef nonnull @.str.4) #12
  %3346 = load i32, ptr %3214, align 4, !tbaa !5
  %3347 = call ptr @strerror(i32 noundef %3346) #12
  %3348 = load i32, ptr %3214, align 4, !tbaa !5
  %3349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3340, ptr noundef nonnull %.str.5.sink1923, i32 noundef %3341, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 328, ptr noundef %3343, ptr noundef %3345, ptr noundef %3347, i32 noundef %3348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3350:                                             ; preds = %2631
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #12
  %3351 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %3351, ptr %44, align 8, !tbaa !9
  %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_connection_set_config(ptr noundef %3351, ptr noundef %188) #12
  %3355 = icmp eq i32 %3354, -1
  br i1 %3355, label %3356, label %3378

3356:                                             ; preds = %3350
  %3357 = load i32, ptr %3214, align 4, !tbaa !5
  %3358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3359 = call i32 @s2n_print_stacktrace(ptr noundef %3358) #12
  %3360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3361 = trunc nuw i8 %3360 to i1
  br i1 %3361, label %3362, label %3366

3362:                                             ; preds = %3356
  %3363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3364 = call i32 @fileno(ptr noundef %3363) #12
  %3365 = call i32 @isatty(i32 noundef %3364) #12
  %.not707 = icmp eq i32 %3365, 0
  br i1 %.not707, label %3366, label %3367

3366:                                             ; preds = %3362, %3356
  br label %3367

3367:                                             ; preds = %3362, %3366
  %.str.5.sink1932 = phi ptr [ @.str.5, %3366 ], [ @.str.2, %3362 ]
  store i32 %3357, ptr %3214, align 4, !tbaa !5
  %3368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3369 = load i32, ptr @test_count, align 4, !tbaa !5
  %3370 = load i32, ptr %2630, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror(i32 noundef %3370, ptr noundef nonnull @.str.4) #12
  %3372 = load i32, ptr %2630, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror_debug(i32 noundef %3372, ptr noundef nonnull @.str.4) #12
  %3374 = load i32, ptr %3214, align 4, !tbaa !5
  %3375 = call ptr @strerror(i32 noundef %3374) #12
  %3376 = load i32, ptr %3214, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3368, ptr noundef nonnull %.str.5.sink1932, i32 noundef %3369, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %3371, ptr noundef %3373, ptr noundef %3375, i32 noundef %3376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3378:                                             ; preds = %3350
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = add nsw i32 %3379, 1
  store i32 %3380, ptr @test_count, align 4, !tbaa !5
  %3381 = load ptr, ptr %43, align 8, !tbaa !9
  %3382 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %3381, i1 noundef zeroext true) #12
  %3383 = icmp eq i32 %3382, -1
  br i1 %3383, label %3384, label %3406

3384:                                             ; preds = %3378
  %3385 = load i32, ptr %3214, align 4, !tbaa !5
  %3386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3387 = call i32 @s2n_print_stacktrace(ptr noundef %3386) #12
  %3388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3389 = trunc nuw i8 %3388 to i1
  br i1 %3389, label %3390, label %3394

3390:                                             ; preds = %3384
  %3391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3392 = call i32 @fileno(ptr noundef %3391) #12
  %3393 = call i32 @isatty(i32 noundef %3392) #12
  %.not706 = icmp eq i32 %3393, 0
  br i1 %.not706, label %3394, label %3395

3394:                                             ; preds = %3390, %3384
  br label %3395

3395:                                             ; preds = %3390, %3394
  %.str.5.sink1941 = phi ptr [ @.str.5, %3394 ], [ @.str.2, %3390 ]
  store i32 %3385, ptr %3214, align 4, !tbaa !5
  %3396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3397 = load i32, ptr @test_count, align 4, !tbaa !5
  %3398 = load i32, ptr %2630, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror(i32 noundef %3398, ptr noundef nonnull @.str.4) #12
  %3400 = load i32, ptr %2630, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror_debug(i32 noundef %3400, ptr noundef nonnull @.str.4) #12
  %3402 = load i32, ptr %3214, align 4, !tbaa !5
  %3403 = call ptr @strerror(i32 noundef %3402) #12
  %3404 = load i32, ptr %3214, align 4, !tbaa !5
  %3405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3396, ptr noundef nonnull %.str.5.sink1941, i32 noundef %3397, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %3399, ptr noundef %3401, ptr noundef %3403, i32 noundef %3404) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3406:                                             ; preds = %3378
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = add nsw i32 %3407, 1
  store i32 %3408, ptr @test_count, align 4, !tbaa !5
  %3409 = load ptr, ptr %44, align 8, !tbaa !9
  %3410 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %3409, i1 noundef zeroext true) #12
  %3411 = icmp eq i32 %3410, -1
  br i1 %3411, label %3412, label %3434

3412:                                             ; preds = %3406
  %3413 = load i32, ptr %3214, align 4, !tbaa !5
  %3414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3415 = call i32 @s2n_print_stacktrace(ptr noundef %3414) #12
  %3416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3417 = trunc nuw i8 %3416 to i1
  br i1 %3417, label %3418, label %3422

3418:                                             ; preds = %3412
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @fileno(ptr noundef %3419) #12
  %3421 = call i32 @isatty(i32 noundef %3420) #12
  %.not705 = icmp eq i32 %3421, 0
  br i1 %.not705, label %3422, label %3423

3422:                                             ; preds = %3418, %3412
  br label %3423

3423:                                             ; preds = %3418, %3422
  %.str.5.sink1950 = phi ptr [ @.str.5, %3422 ], [ @.str.2, %3418 ]
  store i32 %3413, ptr %3214, align 4, !tbaa !5
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = load i32, ptr @test_count, align 4, !tbaa !5
  %3426 = load i32, ptr %2630, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror(i32 noundef %3426, ptr noundef nonnull @.str.4) #12
  %3428 = load i32, ptr %2630, align 4, !tbaa !5
  %3429 = call ptr @s2n_strerror_debug(i32 noundef %3428, ptr noundef nonnull @.str.4) #12
  %3430 = load i32, ptr %3214, align 4, !tbaa !5
  %3431 = call ptr @strerror(i32 noundef %3430) #12
  %3432 = load i32, ptr %3214, align 4, !tbaa !5
  %3433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3424, ptr noundef nonnull %.str.5.sink1950, i32 noundef %3425, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %3427, ptr noundef %3429, ptr noundef %3431, i32 noundef %3432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3434:                                             ; preds = %3406
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %45) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %45, i8 0, i64 80, i1 false)
  %3435 = load i32, ptr @test_count, align 4, !tbaa !5
  %3436 = add nsw i32 %3435, 1
  store i32 %3436, ptr @test_count, align 4, !tbaa !5
  %3437 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %45) #12
  %3438 = call zeroext i1 @s2n_result_is_ok(i32 %3437)
  br i1 %3438, label %3461, label %3439

3439:                                             ; preds = %3434
  %3440 = load i32, ptr %3214, align 4, !tbaa !5
  %3441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3442 = call i32 @s2n_print_stacktrace(ptr noundef %3441) #12
  %3443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3444 = trunc nuw i8 %3443 to i1
  br i1 %3444, label %3445, label %3449

3445:                                             ; preds = %3439
  %3446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3447 = call i32 @fileno(ptr noundef %3446) #12
  %3448 = call i32 @isatty(i32 noundef %3447) #12
  %.not598 = icmp eq i32 %3448, 0
  br i1 %.not598, label %3449, label %3450

3449:                                             ; preds = %3445, %3439
  br label %3450

3450:                                             ; preds = %3445, %3449
  %.str.5.sink1959 = phi ptr [ @.str.5, %3449 ], [ @.str.2, %3445 ]
  store i32 %3440, ptr %3214, align 4, !tbaa !5
  %3451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3452 = load i32, ptr @test_count, align 4, !tbaa !5
  %3453 = load i32, ptr %2630, align 4, !tbaa !5
  %3454 = call ptr @s2n_strerror(i32 noundef %3453, ptr noundef nonnull @.str.4) #12
  %3455 = load i32, ptr %2630, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror_debug(i32 noundef %3455, ptr noundef nonnull @.str.4) #12
  %3457 = load i32, ptr %3214, align 4, !tbaa !5
  %3458 = call ptr @strerror(i32 noundef %3457) #12
  %3459 = load i32, ptr %3214, align 4, !tbaa !5
  %3460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3451, ptr noundef nonnull %.str.5.sink1959, i32 noundef %3452, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3454, ptr noundef %3456, ptr noundef %3458, i32 noundef %3459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3461:                                             ; preds = %3434
  %3462 = load i32, ptr @test_count, align 4, !tbaa !5
  %3463 = add nsw i32 %3462, 1
  store i32 %3463, ptr @test_count, align 4, !tbaa !5
  %3464 = load ptr, ptr %43, align 8, !tbaa !9
  %3465 = load ptr, ptr %44, align 8, !tbaa !9
  %3466 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %3464, ptr noundef %3465, ptr noundef nonnull %45) #12
  %3467 = call zeroext i1 @s2n_result_is_ok(i32 %3466)
  br i1 %3467, label %3490, label %3468

3468:                                             ; preds = %3461
  %3469 = load i32, ptr %3214, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = call i32 @s2n_print_stacktrace(ptr noundef %3470) #12
  %3472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3473 = trunc nuw i8 %3472 to i1
  br i1 %3473, label %3474, label %3478

3474:                                             ; preds = %3468
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @fileno(ptr noundef %3475) #12
  %3477 = call i32 @isatty(i32 noundef %3476) #12
  %.not599 = icmp eq i32 %3477, 0
  br i1 %.not599, label %3478, label %3479

3478:                                             ; preds = %3474, %3468
  br label %3479

3479:                                             ; preds = %3474, %3478
  %.str.5.sink1968 = phi ptr [ @.str.5, %3478 ], [ @.str.2, %3474 ]
  store i32 %3469, ptr %3214, align 4, !tbaa !5
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = load i32, ptr @test_count, align 4, !tbaa !5
  %3482 = load i32, ptr %2630, align 4, !tbaa !5
  %3483 = call ptr @s2n_strerror(i32 noundef %3482, ptr noundef nonnull @.str.4) #12
  %3484 = load i32, ptr %2630, align 4, !tbaa !5
  %3485 = call ptr @s2n_strerror_debug(i32 noundef %3484, ptr noundef nonnull @.str.4) #12
  %3486 = load i32, ptr %3214, align 4, !tbaa !5
  %3487 = call ptr @strerror(i32 noundef %3486) #12
  %3488 = load i32, ptr %3214, align 4, !tbaa !5
  %3489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3480, ptr noundef nonnull %.str.5.sink1968, i32 noundef %3481, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 338, ptr noundef %3483, ptr noundef %3485, ptr noundef %3487, i32 noundef %3488) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3490:                                             ; preds = %3461
  %3491 = load i32, ptr @test_count, align 4, !tbaa !5
  %3492 = add nsw i32 %3491, 1
  store i32 %3492, ptr @test_count, align 4, !tbaa !5
  %3493 = load ptr, ptr %44, align 8, !tbaa !9
  %3494 = load ptr, ptr %43, align 8, !tbaa !9
  %3495 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3493, ptr noundef %3494) #12
  %3496 = icmp eq i32 %3495, -1
  br i1 %3496, label %3497, label %3519

3497:                                             ; preds = %3490
  %3498 = load i32, ptr %3214, align 4, !tbaa !5
  %3499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3500 = call i32 @s2n_print_stacktrace(ptr noundef %3499) #12
  %3501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3502 = trunc nuw i8 %3501 to i1
  br i1 %3502, label %3503, label %3507

3503:                                             ; preds = %3497
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = call i32 @fileno(ptr noundef %3504) #12
  %3506 = call i32 @isatty(i32 noundef %3505) #12
  %.not704 = icmp eq i32 %3506, 0
  br i1 %.not704, label %3507, label %3508

3507:                                             ; preds = %3503, %3497
  br label %3508

3508:                                             ; preds = %3503, %3507
  %.str.5.sink1977 = phi ptr [ @.str.5, %3507 ], [ @.str.2, %3503 ]
  store i32 %3498, ptr %3214, align 4, !tbaa !5
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = load i32, ptr @test_count, align 4, !tbaa !5
  %3511 = load i32, ptr %2630, align 4, !tbaa !5
  %3512 = call ptr @s2n_strerror(i32 noundef %3511, ptr noundef nonnull @.str.4) #12
  %3513 = load i32, ptr %2630, align 4, !tbaa !5
  %3514 = call ptr @s2n_strerror_debug(i32 noundef %3513, ptr noundef nonnull @.str.4) #12
  %3515 = load i32, ptr %3214, align 4, !tbaa !5
  %3516 = call ptr @strerror(i32 noundef %3515) #12
  %3517 = load i32, ptr %3214, align 4, !tbaa !5
  %3518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3509, ptr noundef nonnull %.str.5.sink1977, i32 noundef %3510, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %3512, ptr noundef %3514, ptr noundef %3516, i32 noundef %3517) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3519:                                             ; preds = %3490
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %46) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %46, i8 0, i64 24, i1 false)
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = add nsw i32 %3520, 1
  store i32 %3521, ptr @test_count, align 4, !tbaa !5
  %3522 = load ptr, ptr %44, align 8, !tbaa !9
  %3523 = call i32 @s2n_connection_set_counting_read(ptr noundef %3522, ptr noundef nonnull %46)
  %3524 = call zeroext i1 @s2n_result_is_ok(i32 %3523)
  br i1 %3524, label %3547, label %3525

3525:                                             ; preds = %3519
  %3526 = load i32, ptr %3214, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @s2n_print_stacktrace(ptr noundef %3527) #12
  %3529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3530 = trunc nuw i8 %3529 to i1
  br i1 %3530, label %3531, label %3535

3531:                                             ; preds = %3525
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @fileno(ptr noundef %3532) #12
  %3534 = call i32 @isatty(i32 noundef %3533) #12
  %.not600 = icmp eq i32 %3534, 0
  br i1 %.not600, label %3535, label %3536

3535:                                             ; preds = %3531, %3525
  br label %3536

3536:                                             ; preds = %3531, %3535
  %.str.5.sink1986 = phi ptr [ @.str.5, %3535 ], [ @.str.2, %3531 ]
  store i32 %3526, ptr %3214, align 4, !tbaa !5
  %3537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3538 = load i32, ptr @test_count, align 4, !tbaa !5
  %3539 = load i32, ptr %2630, align 4, !tbaa !5
  %3540 = call ptr @s2n_strerror(i32 noundef %3539, ptr noundef nonnull @.str.4) #12
  %3541 = load i32, ptr %2630, align 4, !tbaa !5
  %3542 = call ptr @s2n_strerror_debug(i32 noundef %3541, ptr noundef nonnull @.str.4) #12
  %3543 = load i32, ptr %3214, align 4, !tbaa !5
  %3544 = call ptr @strerror(i32 noundef %3543) #12
  %3545 = load i32, ptr %3214, align 4, !tbaa !5
  %3546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3537, ptr noundef nonnull %.str.5.sink1986, i32 noundef %3538, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %3540, ptr noundef %3542, ptr noundef %3544, i32 noundef %3545) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3547:                                             ; preds = %3519
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #12
  store i32 0, ptr %47, align 4, !tbaa !5
  %3548 = load i32, ptr @test_count, align 4, !tbaa !5
  %3549 = add nsw i32 %3548, 1
  store i32 %3549, ptr @test_count, align 4, !tbaa !5
  %3550 = getelementptr inbounds i8, ptr %45, i64 68
  %3551 = load i32, ptr %3550, align 4, !tbaa !15
  %3552 = getelementptr inbounds i8, ptr %45, i64 64
  %3553 = load i32, ptr %3552, align 8, !tbaa !19
  %3554 = icmp eq i32 %3551, %3553
  br i1 %3554, label %3577, label %3555

3555:                                             ; preds = %3547
  %3556 = load i32, ptr %3214, align 4, !tbaa !5
  %3557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3558 = call i32 @s2n_print_stacktrace(ptr noundef %3557) #12
  %3559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3560 = trunc nuw i8 %3559 to i1
  br i1 %3560, label %3561, label %3565

3561:                                             ; preds = %3555
  %3562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3563 = call i32 @fileno(ptr noundef %3562) #12
  %3564 = call i32 @isatty(i32 noundef %3563) #12
  %.not601 = icmp eq i32 %3564, 0
  br i1 %.not601, label %3565, label %3566

3565:                                             ; preds = %3561, %3555
  br label %3566

3566:                                             ; preds = %3561, %3565
  %.str.5.sink1995 = phi ptr [ @.str.5, %3565 ], [ @.str.2, %3561 ]
  store i32 %3556, ptr %3214, align 4, !tbaa !5
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %3569 = load i32, ptr %2630, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror(i32 noundef %3569, ptr noundef nonnull @.str.4) #12
  %3571 = load i32, ptr %2630, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror_debug(i32 noundef %3571, ptr noundef nonnull @.str.4) #12
  %3573 = load i32, ptr %3214, align 4, !tbaa !5
  %3574 = call ptr @strerror(i32 noundef %3573) #12
  %3575 = load i32, ptr %3214, align 4, !tbaa !5
  %3576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3567, ptr noundef nonnull %.str.5.sink1995, i32 noundef %3568, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 345, ptr noundef %3570, ptr noundef %3572, ptr noundef %3574, i32 noundef %3575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3577:                                             ; preds = %3547
  %3578 = add nsw i32 %3548, 2
  store i32 %3578, ptr @test_count, align 4, !tbaa !5
  %3579 = load ptr, ptr %43, align 8, !tbaa !9
  %3580 = call i64 @s2n_send(ptr noundef %3579, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %47) #12
  %3581 = icmp eq i64 %3580, 20
  br i1 %3581, label %3604, label %3582

3582:                                             ; preds = %3577
  %3583 = load i32, ptr %3214, align 4, !tbaa !5
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = call i32 @s2n_print_stacktrace(ptr noundef %3584) #12
  %3586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3587 = trunc nuw i8 %3586 to i1
  br i1 %3587, label %3588, label %3592

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

3592:                                             ; preds = %3588, %3582
  br label %3593

3593:                                             ; preds = %3588, %3592
  %.str.5.sink2004 = phi ptr [ @.str.5, %3592 ], [ @.str.2, %3588 ]
  store i32 %3583, ptr %3214, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = load i32, ptr @test_count, align 4, !tbaa !5
  %3596 = load i32, ptr %2630, align 4, !tbaa !5
  %3597 = call ptr @s2n_strerror(i32 noundef %3596, ptr noundef nonnull @.str.4) #12
  %3598 = load i32, ptr %2630, align 4, !tbaa !5
  %3599 = call ptr @s2n_strerror_debug(i32 noundef %3598, ptr noundef nonnull @.str.4) #12
  %3600 = load i32, ptr %3214, align 4, !tbaa !5
  %3601 = call ptr @strerror(i32 noundef %3600) #12
  %3602 = load i32, ptr %3214, align 4, !tbaa !5
  %3603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3594, ptr noundef nonnull %.str.5.sink2004, i32 noundef %3595, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3597, ptr noundef %3599, ptr noundef %3601, i32 noundef %3602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3604:                                             ; preds = %3577
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = add nsw i32 %3605, 1
  store i32 %3606, ptr @test_count, align 4, !tbaa !5
  %3607 = load i32, ptr %3550, align 4, !tbaa !15
  %3608 = load i32, ptr %3552, align 8, !tbaa !19
  %3609 = sub i32 %3607, %3608
  %3610 = icmp eq i32 %3609, %610
  br i1 %3610, label %.lr.ph, label %3611

3611:                                             ; preds = %3604
  %3612 = load i32, ptr %3214, align 4, !tbaa !5
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @s2n_print_stacktrace(ptr noundef %3613) #12
  %3615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3616 = trunc nuw i8 %3615 to i1
  br i1 %3616, label %3617, label %3621

3617:                                             ; preds = %3611
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = call i32 @fileno(ptr noundef %3618) #12
  %3620 = call i32 @isatty(i32 noundef %3619) #12
  %.not603 = icmp eq i32 %3620, 0
  br i1 %.not603, label %3621, label %3622

3621:                                             ; preds = %3617, %3611
  br label %3622

3622:                                             ; preds = %3617, %3621
  %.str.5.sink2013 = phi ptr [ @.str.5, %3621 ], [ @.str.2, %3617 ]
  store i32 %3612, ptr %3214, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = load i32, ptr %2630, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror(i32 noundef %3625, ptr noundef nonnull @.str.4) #12
  %3627 = load i32, ptr %2630, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror_debug(i32 noundef %3627, ptr noundef nonnull @.str.4) #12
  %3629 = load i32, ptr %3214, align 4, !tbaa !5
  %3630 = call ptr @strerror(i32 noundef %3629) #12
  %3631 = load i32, ptr %3214, align 4, !tbaa !5
  %3632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef nonnull %.str.5.sink2013, i32 noundef %3624, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 347, ptr noundef %3626, ptr noundef %3628, ptr noundef %3630, i32 noundef %3631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.lr.ph:                                           ; preds = %3604
  %3633 = sub i32 %3607, %610
  store i32 %3633, ptr %3550, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %48) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %48, i8 0, i64 20, i1 false)
  %3634 = mul nuw nsw i64 %613, 3
  br label %3642

3635:                                             ; preds = %3833
  %3636 = add nuw nsw i64 %.0554828, 1
  %exitcond852.not = icmp eq i64 %3636, %613
  br i1 %exitcond852.not, label %._crit_edge, label %3642, !llvm.loop !56

._crit_edge:                                      ; preds = %3635
  %.pre858 = load i32, ptr %3550, align 4, !tbaa !15
  %3637 = add i32 %.pre858, 1
  store i32 %3637, ptr %3550, align 4, !tbaa !15
  %3638 = add nsw i32 %3835, 2
  store i32 %3638, ptr @test_count, align 4, !tbaa !5
  %3639 = load ptr, ptr %44, align 8, !tbaa !9
  %3640 = call i64 @s2n_recv(ptr noundef %3639, ptr noundef nonnull %48, i64 noundef 20, ptr noundef nonnull %47) #12
  %3641 = icmp eq i64 %3640, 20
  br i1 %3641, label %3883, label %3861

3642:                                             ; preds = %.lr.ph, %3635
  %3643 = phi i32 [ %3606, %.lr.ph ], [ %3836, %3635 ]
  %.0553829 = phi i64 [ 0, %.lr.ph ], [ %3834, %3635 ]
  %.0554828 = phi i64 [ 1, %.lr.ph ], [ %3636, %3635 ]
  %3644 = add nsw i32 %3643, 1
  store i32 %3644, ptr @test_count, align 4, !tbaa !5
  %3645 = load ptr, ptr %44, align 8, !tbaa !9
  %3646 = call i64 @s2n_recv(ptr noundef %3645, ptr noundef nonnull %48, i64 noundef 20, ptr noundef nonnull %47) #12
  %3647 = icmp eq i64 %3646, -1
  br i1 %3647, label %3670, label %3648

3648:                                             ; preds = %3642
  %3649 = load i32, ptr %3214, align 4, !tbaa !5
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = call i32 @s2n_print_stacktrace(ptr noundef %3650) #12
  %3652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3653 = trunc nuw i8 %3652 to i1
  br i1 %3653, label %3654, label %3658

3654:                                             ; preds = %3648
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = call i32 @fileno(ptr noundef %3655) #12
  %3657 = call i32 @isatty(i32 noundef %3656) #12
  %.not696 = icmp eq i32 %3657, 0
  br i1 %.not696, label %3658, label %3659

3658:                                             ; preds = %3654, %3648
  br label %3659

3659:                                             ; preds = %3654, %3658
  %.str.5.sink2022 = phi ptr [ @.str.5, %3658 ], [ @.str.2, %3654 ]
  store i32 %3649, ptr %3214, align 4, !tbaa !5
  %3660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3661 = load i32, ptr @test_count, align 4, !tbaa !5
  %3662 = load i32, ptr %2630, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror(i32 noundef %3662, ptr noundef nonnull @.str.4) #12
  %3664 = load i32, ptr %2630, align 4, !tbaa !5
  %3665 = call ptr @s2n_strerror_debug(i32 noundef %3664, ptr noundef nonnull @.str.4) #12
  %3666 = load i32, ptr %3214, align 4, !tbaa !5
  %3667 = call ptr @strerror(i32 noundef %3666) #12
  %3668 = load i32, ptr %3214, align 4, !tbaa !5
  %3669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3660, ptr noundef nonnull %.str.5.sink2022, i32 noundef %3661, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3663, ptr noundef %3665, ptr noundef %3667, i32 noundef %3668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3670:                                             ; preds = %3642
  %3671 = load i32, ptr @test_count, align 4, !tbaa !5
  %3672 = add nsw i32 %3671, 1
  store i32 %3672, ptr @test_count, align 4, !tbaa !5
  %3673 = load i32, ptr %2630, align 4, !tbaa !5
  %3674 = icmp eq i32 %3673, 201326592
  br i1 %3674, label %3697, label %3675

3675:                                             ; preds = %3670
  %3676 = load i32, ptr %3214, align 4, !tbaa !5
  %3677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3678 = call i32 @s2n_print_stacktrace(ptr noundef %3677) #12
  %3679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3680 = trunc nuw i8 %3679 to i1
  br i1 %3680, label %3681, label %3685

3681:                                             ; preds = %3675
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @fileno(ptr noundef %3682) #12
  %3684 = call i32 @isatty(i32 noundef %3683) #12
  %.not697 = icmp eq i32 %3684, 0
  br i1 %.not697, label %3685, label %3686

3685:                                             ; preds = %3681, %3675
  br label %3686

3686:                                             ; preds = %3681, %3685
  %.str.5.sink2031 = phi ptr [ @.str.5, %3685 ], [ @.str.2, %3681 ]
  store i32 %3676, ptr %3214, align 4, !tbaa !5
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = load i32, ptr @test_count, align 4, !tbaa !5
  %3689 = load i32, ptr %2630, align 4, !tbaa !5
  %3690 = call ptr @s2n_strerror(i32 noundef %3689, ptr noundef nonnull @.str.4) #12
  %3691 = load i32, ptr %2630, align 4, !tbaa !5
  %3692 = call ptr @s2n_strerror_debug(i32 noundef %3691, ptr noundef nonnull @.str.4) #12
  %3693 = load i32, ptr %3214, align 4, !tbaa !5
  %3694 = call ptr @strerror(i32 noundef %3693) #12
  %3695 = load i32, ptr %3214, align 4, !tbaa !5
  %3696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3687, ptr noundef nonnull %.str.5.sink2031, i32 noundef %3688, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3690, ptr noundef %3692, ptr noundef %3694, i32 noundef %3695) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3697:                                             ; preds = %3670
  %3698 = add nsw i32 %3671, 2
  store i32 %3698, ptr @test_count, align 4, !tbaa !5
  %3699 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3700 = icmp eq ptr %3699, null
  br i1 %3700, label %3701, label %3723

3701:                                             ; preds = %3697
  %3702 = load i32, ptr %3214, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = call i32 @s2n_print_stacktrace(ptr noundef %3703) #12
  %3705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3706 = trunc nuw i8 %3705 to i1
  br i1 %3706, label %3707, label %3711

3707:                                             ; preds = %3701
  %3708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3709 = call i32 @fileno(ptr noundef %3708) #12
  %3710 = call i32 @isatty(i32 noundef %3709) #12
  %.not703 = icmp eq i32 %3710, 0
  br i1 %.not703, label %3711, label %3712

3711:                                             ; preds = %3707, %3701
  br label %3712

3712:                                             ; preds = %3707, %3711
  %.str.5.sink2040 = phi ptr [ @.str.5, %3711 ], [ @.str.2, %3707 ]
  store i32 %3702, ptr %3214, align 4, !tbaa !5
  %3713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3714 = load i32, ptr @test_count, align 4, !tbaa !5
  %3715 = load i32, ptr %2630, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror(i32 noundef %3715, ptr noundef nonnull @.str.4) #12
  %3717 = load i32, ptr %2630, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror_debug(i32 noundef %3717, ptr noundef nonnull @.str.4) #12
  %3719 = load i32, ptr %3214, align 4, !tbaa !5
  %3720 = call ptr @strerror(i32 noundef %3719) #12
  %3721 = load i32, ptr %3214, align 4, !tbaa !5
  %3722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3713, ptr noundef nonnull %.str.5.sink2040, i32 noundef %3714, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3716, ptr noundef %3718, ptr noundef %3720, i32 noundef %3721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3723:                                             ; preds = %3697
  store i32 0, ptr %2630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3214, align 4, !tbaa !5
  %3724 = add nuw nsw i64 %.0553829, 1
  %3725 = load i32, ptr @test_count, align 4, !tbaa !5
  %3726 = add nsw i32 %3725, 1
  store i32 %3726, ptr @test_count, align 4, !tbaa !5
  %3727 = load i64, ptr %46, align 8, !tbaa !20
  %3728 = icmp eq i64 %3727, %3724
  br i1 %3728, label %3751, label %3729

3729:                                             ; preds = %3723
  %3730 = load i32, ptr %3214, align 4, !tbaa !5
  %3731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3732 = call i32 @s2n_print_stacktrace(ptr noundef %3731) #12
  %3733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3734 = trunc nuw i8 %3733 to i1
  br i1 %3734, label %3735, label %3739

3735:                                             ; preds = %3729
  %3736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3737 = call i32 @fileno(ptr noundef %3736) #12
  %3738 = call i32 @isatty(i32 noundef %3737) #12
  %.not698 = icmp eq i32 %3738, 0
  br i1 %.not698, label %3739, label %3740

3739:                                             ; preds = %3735, %3729
  br label %3740

3740:                                             ; preds = %3735, %3739
  %.str.5.sink2049 = phi ptr [ @.str.5, %3739 ], [ @.str.2, %3735 ]
  store i32 %3730, ptr %3214, align 4, !tbaa !5
  %3741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3742 = load i32, ptr @test_count, align 4, !tbaa !5
  %3743 = load i32, ptr %2630, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror(i32 noundef %3743, ptr noundef nonnull @.str.4) #12
  %3745 = load i32, ptr %2630, align 4, !tbaa !5
  %3746 = call ptr @s2n_strerror_debug(i32 noundef %3745, ptr noundef nonnull @.str.4) #12
  %3747 = load i32, ptr %3214, align 4, !tbaa !5
  %3748 = call ptr @strerror(i32 noundef %3747) #12
  %3749 = load i32, ptr %3214, align 4, !tbaa !5
  %3750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3741, ptr noundef nonnull %.str.5.sink2049, i32 noundef %3742, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %3744, ptr noundef %3746, ptr noundef %3748, i32 noundef %3749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3751:                                             ; preds = %3723
  %3752 = load i32, ptr %3550, align 4, !tbaa !15
  %3753 = add i32 %3752, 1
  store i32 %3753, ptr %3550, align 4, !tbaa !15
  %3754 = add nsw i32 %3725, 2
  store i32 %3754, ptr @test_count, align 4, !tbaa !5
  %3755 = load ptr, ptr %44, align 8, !tbaa !9
  %3756 = call i64 @s2n_recv(ptr noundef %3755, ptr noundef nonnull %48, i64 noundef 20, ptr noundef nonnull %47) #12
  %3757 = icmp eq i64 %3756, -1
  br i1 %3757, label %3780, label %3758

3758:                                             ; preds = %3751
  %3759 = load i32, ptr %3214, align 4, !tbaa !5
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @s2n_print_stacktrace(ptr noundef %3760) #12
  %3762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3763 = trunc nuw i8 %3762 to i1
  br i1 %3763, label %3764, label %3768

3764:                                             ; preds = %3758
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = call i32 @fileno(ptr noundef %3765) #12
  %3767 = call i32 @isatty(i32 noundef %3766) #12
  %.not699 = icmp eq i32 %3767, 0
  br i1 %.not699, label %3768, label %3769

3768:                                             ; preds = %3764, %3758
  br label %3769

3769:                                             ; preds = %3764, %3768
  %.str.5.sink2058 = phi ptr [ @.str.5, %3768 ], [ @.str.2, %3764 ]
  store i32 %3759, ptr %3214, align 4, !tbaa !5
  %3770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3771 = load i32, ptr @test_count, align 4, !tbaa !5
  %3772 = load i32, ptr %2630, align 4, !tbaa !5
  %3773 = call ptr @s2n_strerror(i32 noundef %3772, ptr noundef nonnull @.str.4) #12
  %3774 = load i32, ptr %2630, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror_debug(i32 noundef %3774, ptr noundef nonnull @.str.4) #12
  %3776 = load i32, ptr %3214, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #12
  %3778 = load i32, ptr %3214, align 4, !tbaa !5
  %3779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3770, ptr noundef nonnull %.str.5.sink2058, i32 noundef %3771, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %3773, ptr noundef %3775, ptr noundef %3777, i32 noundef %3778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3780:                                             ; preds = %3751
  %3781 = load i32, ptr @test_count, align 4, !tbaa !5
  %3782 = add nsw i32 %3781, 1
  store i32 %3782, ptr @test_count, align 4, !tbaa !5
  %3783 = load i32, ptr %2630, align 4, !tbaa !5
  %3784 = icmp eq i32 %3783, 201326592
  br i1 %3784, label %3807, label %3785

3785:                                             ; preds = %3780
  %3786 = load i32, ptr %3214, align 4, !tbaa !5
  %3787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3788 = call i32 @s2n_print_stacktrace(ptr noundef %3787) #12
  %3789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3790 = trunc nuw i8 %3789 to i1
  br i1 %3790, label %3791, label %3795

3791:                                             ; preds = %3785
  %3792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3793 = call i32 @fileno(ptr noundef %3792) #12
  %3794 = call i32 @isatty(i32 noundef %3793) #12
  %.not700 = icmp eq i32 %3794, 0
  br i1 %.not700, label %3795, label %3796

3795:                                             ; preds = %3791, %3785
  br label %3796

3796:                                             ; preds = %3791, %3795
  %.str.5.sink2067 = phi ptr [ @.str.5, %3795 ], [ @.str.2, %3791 ]
  store i32 %3786, ptr %3214, align 4, !tbaa !5
  %3797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3798 = load i32, ptr @test_count, align 4, !tbaa !5
  %3799 = load i32, ptr %2630, align 4, !tbaa !5
  %3800 = call ptr @s2n_strerror(i32 noundef %3799, ptr noundef nonnull @.str.4) #12
  %3801 = load i32, ptr %2630, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef nonnull @.str.4) #12
  %3803 = load i32, ptr %3214, align 4, !tbaa !5
  %3804 = call ptr @strerror(i32 noundef %3803) #12
  %3805 = load i32, ptr %3214, align 4, !tbaa !5
  %3806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3797, ptr noundef nonnull %.str.5.sink2067, i32 noundef %3798, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %3800, ptr noundef %3802, ptr noundef %3804, i32 noundef %3805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3807:                                             ; preds = %3780
  %3808 = add nsw i32 %3781, 2
  store i32 %3808, ptr @test_count, align 4, !tbaa !5
  %3809 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3810 = icmp eq ptr %3809, null
  br i1 %3810, label %3811, label %3833

3811:                                             ; preds = %3807
  %3812 = load i32, ptr %3214, align 4, !tbaa !5
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = call i32 @s2n_print_stacktrace(ptr noundef %3813) #12
  %3815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3816 = trunc nuw i8 %3815 to i1
  br i1 %3816, label %3817, label %3821

3817:                                             ; preds = %3811
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = call i32 @fileno(ptr noundef %3818) #12
  %3820 = call i32 @isatty(i32 noundef %3819) #12
  %.not702 = icmp eq i32 %3820, 0
  br i1 %.not702, label %3821, label %3822

3821:                                             ; preds = %3817, %3811
  br label %3822

3822:                                             ; preds = %3817, %3821
  %.str.5.sink2076 = phi ptr [ @.str.5, %3821 ], [ @.str.2, %3817 ]
  store i32 %3812, ptr %3214, align 4, !tbaa !5
  %3823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3824 = load i32, ptr @test_count, align 4, !tbaa !5
  %3825 = load i32, ptr %2630, align 4, !tbaa !5
  %3826 = call ptr @s2n_strerror(i32 noundef %3825, ptr noundef nonnull @.str.4) #12
  %3827 = load i32, ptr %2630, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror_debug(i32 noundef %3827, ptr noundef nonnull @.str.4) #12
  %3829 = load i32, ptr %3214, align 4, !tbaa !5
  %3830 = call ptr @strerror(i32 noundef %3829) #12
  %3831 = load i32, ptr %3214, align 4, !tbaa !5
  %3832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3823, ptr noundef nonnull %.str.5.sink2076, i32 noundef %3824, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %3826, ptr noundef %3828, ptr noundef %3830, i32 noundef %3831) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3833:                                             ; preds = %3807
  store i32 0, ptr %2630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3214, align 4, !tbaa !5
  %3834 = add nuw nsw i64 %.0553829, 3
  %3835 = load i32, ptr @test_count, align 4, !tbaa !5
  %3836 = add nsw i32 %3835, 1
  store i32 %3836, ptr @test_count, align 4, !tbaa !5
  %3837 = load i64, ptr %46, align 8, !tbaa !20
  %3838 = icmp eq i64 %3837, %3834
  br i1 %3838, label %3635, label %3839

3839:                                             ; preds = %3833
  %3840 = load i32, ptr %3214, align 4, !tbaa !5
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @s2n_print_stacktrace(ptr noundef %3841) #12
  %3843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3844 = trunc nuw i8 %3843 to i1
  br i1 %3844, label %3845, label %3849

3845:                                             ; preds = %3839
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = call i32 @fileno(ptr noundef %3846) #12
  %3848 = call i32 @isatty(i32 noundef %3847) #12
  %.not701 = icmp eq i32 %3848, 0
  br i1 %.not701, label %3849, label %3850

3849:                                             ; preds = %3845, %3839
  br label %3850

3850:                                             ; preds = %3845, %3849
  %.str.5.sink2085 = phi ptr [ @.str.5, %3849 ], [ @.str.2, %3845 ]
  store i32 %3840, ptr %3214, align 4, !tbaa !5
  %3851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = load i32, ptr %2630, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror(i32 noundef %3853, ptr noundef nonnull @.str.4) #12
  %3855 = load i32, ptr %2630, align 4, !tbaa !5
  %3856 = call ptr @s2n_strerror_debug(i32 noundef %3855, ptr noundef nonnull @.str.4) #12
  %3857 = load i32, ptr %3214, align 4, !tbaa !5
  %3858 = call ptr @strerror(i32 noundef %3857) #12
  %3859 = load i32, ptr %3214, align 4, !tbaa !5
  %3860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3851, ptr noundef nonnull %.str.5.sink2085, i32 noundef %3852, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %3854, ptr noundef %3856, ptr noundef %3858, i32 noundef %3859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3861:                                             ; preds = %._crit_edge
  %3862 = load i32, ptr %3214, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #12
  %3865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3866 = trunc nuw i8 %3865 to i1
  br i1 %3866, label %3867, label %3871

3867:                                             ; preds = %3861
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @fileno(ptr noundef %3868) #12
  %3870 = call i32 @isatty(i32 noundef %3869) #12
  %.not604 = icmp eq i32 %3870, 0
  br i1 %.not604, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.5.sink2094 = phi ptr [ @.str.5, %3871 ], [ @.str.2, %3867 ]
  store i32 %3862, ptr %3214, align 4, !tbaa !5
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = load i32, ptr @test_count, align 4, !tbaa !5
  %3875 = load i32, ptr %2630, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.4) #12
  %3877 = load i32, ptr %2630, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.4) #12
  %3879 = load i32, ptr %3214, align 4, !tbaa !5
  %3880 = call ptr @strerror(i32 noundef %3879) #12
  %3881 = load i32, ptr %3214, align 4, !tbaa !5
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.5.sink2094, i32 noundef %3874, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3883:                                             ; preds = %._crit_edge
  %3884 = load i32, ptr @test_count, align 4, !tbaa !5
  %3885 = add nsw i32 %3884, 1
  store i32 %3885, ptr @test_count, align 4, !tbaa !5
  %bcmp605 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %48, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %3886 = icmp eq i32 %bcmp605, 0
  br i1 %3886, label %3909, label %3887

3887:                                             ; preds = %3883
  %3888 = load i32, ptr %3214, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = call i32 @s2n_print_stacktrace(ptr noundef %3889) #12
  %3891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3892 = trunc nuw i8 %3891 to i1
  br i1 %3892, label %3893, label %3897

3893:                                             ; preds = %3887
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @fileno(ptr noundef %3894) #12
  %3896 = call i32 @isatty(i32 noundef %3895) #12
  %.not606 = icmp eq i32 %3896, 0
  br i1 %.not606, label %3897, label %3898

3897:                                             ; preds = %3893, %3887
  br label %3898

3898:                                             ; preds = %3893, %3897
  %.str.5.sink2103 = phi ptr [ @.str.5, %3897 ], [ @.str.2, %3893 ]
  store i32 %3888, ptr %3214, align 4, !tbaa !5
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3900 = load i32, ptr @test_count, align 4, !tbaa !5
  %3901 = load i32, ptr %2630, align 4, !tbaa !5
  %3902 = call ptr @s2n_strerror(i32 noundef %3901, ptr noundef nonnull @.str.4) #12
  %3903 = load i32, ptr %2630, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror_debug(i32 noundef %3903, ptr noundef nonnull @.str.4) #12
  %3905 = load i32, ptr %3214, align 4, !tbaa !5
  %3906 = call ptr @strerror(i32 noundef %3905) #12
  %3907 = load i32, ptr %3214, align 4, !tbaa !5
  %3908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef nonnull %.str.5.sink2103, i32 noundef %3900, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %3902, ptr noundef %3904, ptr noundef %3906, i32 noundef %3907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3909:                                             ; preds = %3883
  %3910 = add nsw i64 %3634, -2
  %3911 = add nsw i32 %3884, 2
  store i32 %3911, ptr @test_count, align 4, !tbaa !5
  %3912 = load i64, ptr %46, align 8, !tbaa !20
  %3913 = icmp eq i64 %3912, %3910
  br i1 %3913, label %3936, label %3914

3914:                                             ; preds = %3909
  %3915 = load i32, ptr %3214, align 4, !tbaa !5
  %3916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3917 = call i32 @s2n_print_stacktrace(ptr noundef %3916) #12
  %3918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3919 = trunc nuw i8 %3918 to i1
  br i1 %3919, label %3920, label %3924

3920:                                             ; preds = %3914
  %3921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3922 = call i32 @fileno(ptr noundef %3921) #12
  %3923 = call i32 @isatty(i32 noundef %3922) #12
  %.not607 = icmp eq i32 %3923, 0
  br i1 %.not607, label %3924, label %3925

3924:                                             ; preds = %3920, %3914
  br label %3925

3925:                                             ; preds = %3920, %3924
  %.str.5.sink2112 = phi ptr [ @.str.5, %3924 ], [ @.str.2, %3920 ]
  store i32 %3915, ptr %3214, align 4, !tbaa !5
  %3926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3927 = load i32, ptr @test_count, align 4, !tbaa !5
  %3928 = load i32, ptr %2630, align 4, !tbaa !5
  %3929 = call ptr @s2n_strerror(i32 noundef %3928, ptr noundef nonnull @.str.4) #12
  %3930 = load i32, ptr %2630, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror_debug(i32 noundef %3930, ptr noundef nonnull @.str.4) #12
  %3932 = load i32, ptr %3214, align 4, !tbaa !5
  %3933 = call ptr @strerror(i32 noundef %3932) #12
  %3934 = load i32, ptr %3214, align 4, !tbaa !5
  %3935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3926, ptr noundef nonnull %.str.5.sink2112, i32 noundef %3927, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %3929, ptr noundef %3931, ptr noundef %3933, i32 noundef %3934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3936:                                             ; preds = %3909
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %46) #12
  %3937 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %45) #12
  %3938 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #12
  %3939 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.start.p0(i64 54, ptr nonnull %49) #12
  store i16 0, ptr %49, align 16, !tbaa !57
  %3940 = getelementptr inbounds i8, ptr %49, i64 2
  %3941 = trunc i32 %610 to i16
  store i16 %3941, ptr %3940, align 2, !tbaa !59
  %3942 = getelementptr inbounds i8, ptr %49, i64 4
  store i8 1, ptr %3942, align 4, !tbaa !60
  %3943 = getelementptr inbounds i8, ptr %49, i64 6
  store i16 10, ptr %3943, align 2, !tbaa !57
  %3944 = getelementptr inbounds i8, ptr %49, i64 8
  %3945 = add i16 %3941, 10
  store i16 %3945, ptr %3944, align 8, !tbaa !59
  %3946 = getelementptr inbounds i8, ptr %49, i64 10
  store i8 1, ptr %3946, align 2, !tbaa !60
  %3947 = getelementptr inbounds i8, ptr %49, i64 12
  store i16 1000, ptr %3947, align 4, !tbaa !57
  %3948 = getelementptr inbounds i8, ptr %49, i64 14
  %3949 = add i16 %3941, 1000
  store i16 %3949, ptr %3948, align 2, !tbaa !59
  %3950 = getelementptr inbounds i8, ptr %49, i64 16
  store i8 1, ptr %3950, align 16, !tbaa !60
  %3951 = getelementptr inbounds i8, ptr %49, i64 18
  %3952 = sub i16 16384, %3941
  store i16 %3952, ptr %3951, align 2, !tbaa !57
  %3953 = getelementptr inbounds i8, ptr %49, i64 20
  store i16 0, ptr %3953, align 4, !tbaa !59
  %3954 = getelementptr inbounds i8, ptr %49, i64 22
  store i8 1, ptr %3954, align 2, !tbaa !60
  %3955 = getelementptr inbounds i8, ptr %49, i64 24
  store i16 16379, ptr %3955, align 8, !tbaa !57
  %3956 = getelementptr inbounds i8, ptr %49, i64 26
  %3957 = add i16 %3941, -5
  store i16 %3957, ptr %3956, align 2, !tbaa !59
  %3958 = getelementptr inbounds i8, ptr %49, i64 28
  store i8 2, ptr %3958, align 4, !tbaa !60
  %3959 = getelementptr inbounds i8, ptr %49, i64 30
  store i16 16378, ptr %3959, align 2, !tbaa !57
  %3960 = getelementptr inbounds i8, ptr %49, i64 32
  store i16 %3957, ptr %3960, align 16, !tbaa !59
  %3961 = getelementptr inbounds i8, ptr %49, i64 34
  store i8 2, ptr %3961, align 2, !tbaa !60
  %3962 = getelementptr inbounds i8, ptr %49, i64 36
  store i16 16381, ptr %3962, align 4, !tbaa !57
  %3963 = getelementptr inbounds i8, ptr %49, i64 38
  store i16 %3941, ptr %3963, align 2, !tbaa !59
  %3964 = getelementptr inbounds i8, ptr %49, i64 40
  store i8 1, ptr %3964, align 8, !tbaa !60
  %3965 = getelementptr inbounds i8, ptr %49, i64 42
  store i16 16383, ptr %3965, align 2, !tbaa !57
  %3966 = getelementptr inbounds i8, ptr %49, i64 44
  store i16 %3941, ptr %3966, align 4, !tbaa !59
  %3967 = getelementptr inbounds i8, ptr %49, i64 46
  store i8 1, ptr %3967, align 2, !tbaa !60
  %3968 = getelementptr inbounds i8, ptr %49, i64 48
  store i16 16384, ptr %3968, align 16, !tbaa !57
  %3969 = getelementptr inbounds i8, ptr %49, i64 50
  store i16 %3941, ptr %3969, align 2, !tbaa !59
  %3970 = getelementptr inbounds i8, ptr %49, i64 52
  store i8 1, ptr %3970, align 4, !tbaa !60
  %3971 = getelementptr inbounds i8, ptr %52, i64 40
  %3972 = getelementptr inbounds i8, ptr %52, i64 68
  %3973 = getelementptr inbounds i8, ptr %52, i64 64
  br label %3980

3974:                                             ; preds = %4524
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #12
  %3975 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3975, ptr %56, align 8, !tbaa !9
  %3976 = load i32, ptr @test_count, align 4, !tbaa !5
  %3977 = add nsw i32 %3976, 1
  store i32 %3977, ptr @test_count, align 4, !tbaa !5
  %3978 = call i32 @s2n_connection_set_config(ptr noundef %3975, ptr noundef %188) #12
  %3979 = icmp eq i32 %3978, -1
  br i1 %3979, label %4529, label %4551

3980:                                             ; preds = %3936, %4524
  %.0555830 = phi i64 [ 0, %3936 ], [ %4528, %4524 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #12
  %3981 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %3981, ptr %50, align 8, !tbaa !9
  %3982 = load i32, ptr @test_count, align 4, !tbaa !5
  %3983 = add nsw i32 %3982, 1
  store i32 %3983, ptr @test_count, align 4, !tbaa !5
  %3984 = call i32 @s2n_connection_set_config(ptr noundef %3981, ptr noundef %188) #12
  %3985 = icmp eq i32 %3984, -1
  br i1 %3985, label %3986, label %4008

3986:                                             ; preds = %3980
  %3987 = load i32, ptr %3214, align 4, !tbaa !5
  %3988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3989 = call i32 @s2n_print_stacktrace(ptr noundef %3988) #12
  %3990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3991 = trunc nuw i8 %3990 to i1
  br i1 %3991, label %3992, label %3996

3992:                                             ; preds = %3986
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = call i32 @fileno(ptr noundef %3993) #12
  %3995 = call i32 @isatty(i32 noundef %3994) #12
  %.not695 = icmp eq i32 %3995, 0
  br i1 %.not695, label %3996, label %3997

3996:                                             ; preds = %3992, %3986
  br label %3997

3997:                                             ; preds = %3992, %3996
  %.str.5.sink2121 = phi ptr [ @.str.5, %3996 ], [ @.str.2, %3992 ]
  store i32 %3987, ptr %3214, align 4, !tbaa !5
  %3998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3999 = load i32, ptr @test_count, align 4, !tbaa !5
  %4000 = load i32, ptr %2630, align 4, !tbaa !5
  %4001 = call ptr @s2n_strerror(i32 noundef %4000, ptr noundef nonnull @.str.4) #12
  %4002 = load i32, ptr %2630, align 4, !tbaa !5
  %4003 = call ptr @s2n_strerror_debug(i32 noundef %4002, ptr noundef nonnull @.str.4) #12
  %4004 = load i32, ptr %3214, align 4, !tbaa !5
  %4005 = call ptr @strerror(i32 noundef %4004) #12
  %4006 = load i32, ptr %3214, align 4, !tbaa !5
  %4007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3998, ptr noundef nonnull %.str.5.sink2121, i32 noundef %3999, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %4001, ptr noundef %4003, ptr noundef %4005, i32 noundef %4006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4008:                                             ; preds = %3980
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  %4009 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4009, ptr %51, align 8, !tbaa !9
  %4010 = load i32, ptr @test_count, align 4, !tbaa !5
  %4011 = add nsw i32 %4010, 1
  store i32 %4011, ptr @test_count, align 4, !tbaa !5
  %4012 = call i32 @s2n_connection_set_config(ptr noundef %4009, ptr noundef %188) #12
  %4013 = icmp eq i32 %4012, -1
  br i1 %4013, label %4014, label %4036

4014:                                             ; preds = %4008
  %4015 = load i32, ptr %3214, align 4, !tbaa !5
  %4016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4017 = call i32 @s2n_print_stacktrace(ptr noundef %4016) #12
  %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 = %4014
  %4021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4022 = call i32 @fileno(ptr noundef %4021) #12
  %4023 = call i32 @isatty(i32 noundef %4022) #12
  %.not694 = icmp eq i32 %4023, 0
  br i1 %.not694, label %4024, label %4025

4024:                                             ; preds = %4020, %4014
  br label %4025

4025:                                             ; preds = %4020, %4024
  %.str.5.sink2130 = phi ptr [ @.str.5, %4024 ], [ @.str.2, %4020 ]
  store i32 %4015, ptr %3214, 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 %2630, align 4, !tbaa !5
  %4029 = call ptr @s2n_strerror(i32 noundef %4028, ptr noundef nonnull @.str.4) #12
  %4030 = load i32, ptr %2630, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror_debug(i32 noundef %4030, ptr noundef nonnull @.str.4) #12
  %4032 = load i32, ptr %3214, align 4, !tbaa !5
  %4033 = call ptr @strerror(i32 noundef %4032) #12
  %4034 = load i32, ptr %3214, align 4, !tbaa !5
  %4035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4026, ptr noundef nonnull %.str.5.sink2130, i32 noundef %4027, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %4029, ptr noundef %4031, ptr noundef %4033, i32 noundef %4034) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4036:                                             ; preds = %4008
  %4037 = load i32, ptr @test_count, align 4, !tbaa !5
  %4038 = add nsw i32 %4037, 1
  store i32 %4038, ptr @test_count, align 4, !tbaa !5
  %4039 = load ptr, ptr %50, align 8, !tbaa !9
  %4040 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %4039, i1 noundef zeroext true) #12
  %4041 = icmp eq i32 %4040, -1
  br i1 %4041, label %4042, label %4064

4042:                                             ; preds = %4036
  %4043 = load i32, ptr %3214, align 4, !tbaa !5
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = call i32 @s2n_print_stacktrace(ptr noundef %4044) #12
  %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 = %4042
  %4049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4050 = call i32 @fileno(ptr noundef %4049) #12
  %4051 = call i32 @isatty(i32 noundef %4050) #12
  %.not693 = icmp eq i32 %4051, 0
  br i1 %.not693, label %4052, label %4053

4052:                                             ; preds = %4048, %4042
  br label %4053

4053:                                             ; preds = %4048, %4052
  %.str.5.sink2139 = phi ptr [ @.str.5, %4052 ], [ @.str.2, %4048 ]
  store i32 %4043, ptr %3214, 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 %2630, align 4, !tbaa !5
  %4057 = call ptr @s2n_strerror(i32 noundef %4056, ptr noundef nonnull @.str.4) #12
  %4058 = load i32, ptr %2630, align 4, !tbaa !5
  %4059 = call ptr @s2n_strerror_debug(i32 noundef %4058, ptr noundef nonnull @.str.4) #12
  %4060 = load i32, ptr %3214, align 4, !tbaa !5
  %4061 = call ptr @strerror(i32 noundef %4060) #12
  %4062 = load i32, ptr %3214, align 4, !tbaa !5
  %4063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4054, ptr noundef nonnull %.str.5.sink2139, i32 noundef %4055, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4057, ptr noundef %4059, ptr noundef %4061, i32 noundef %4062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4064:                                             ; preds = %4036
  %4065 = load i32, ptr @test_count, align 4, !tbaa !5
  %4066 = add nsw i32 %4065, 1
  store i32 %4066, ptr @test_count, align 4, !tbaa !5
  %4067 = load ptr, ptr %51, align 8, !tbaa !9
  %4068 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %4067, i1 noundef zeroext true) #12
  %4069 = icmp eq i32 %4068, -1
  br i1 %4069, label %4070, label %4092

4070:                                             ; preds = %4064
  %4071 = load i32, ptr %3214, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @s2n_print_stacktrace(ptr noundef %4072) #12
  %4074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4075 = trunc nuw i8 %4074 to i1
  br i1 %4075, label %4076, label %4080

4076:                                             ; preds = %4070
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = call i32 @fileno(ptr noundef %4077) #12
  %4079 = call i32 @isatty(i32 noundef %4078) #12
  %.not692 = icmp eq i32 %4079, 0
  br i1 %.not692, label %4080, label %4081

4080:                                             ; preds = %4076, %4070
  br label %4081

4081:                                             ; preds = %4076, %4080
  %.str.5.sink2148 = phi ptr [ @.str.5, %4080 ], [ @.str.2, %4076 ]
  store i32 %4071, ptr %3214, align 4, !tbaa !5
  %4082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4083 = load i32, ptr @test_count, align 4, !tbaa !5
  %4084 = load i32, ptr %2630, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror(i32 noundef %4084, ptr noundef nonnull @.str.4) #12
  %4086 = load i32, ptr %2630, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror_debug(i32 noundef %4086, ptr noundef nonnull @.str.4) #12
  %4088 = load i32, ptr %3214, align 4, !tbaa !5
  %4089 = call ptr @strerror(i32 noundef %4088) #12
  %4090 = load i32, ptr %3214, align 4, !tbaa !5
  %4091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4082, ptr noundef nonnull %.str.5.sink2148, i32 noundef %4083, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %4085, ptr noundef %4087, ptr noundef %4089, i32 noundef %4090) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4092:                                             ; preds = %4064
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %52) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %52, i8 0, i64 80, i1 false)
  %4093 = load i32, ptr @test_count, align 4, !tbaa !5
  %4094 = add nsw i32 %4093, 1
  store i32 %4094, ptr @test_count, align 4, !tbaa !5
  %4095 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %52) #12
  %4096 = call zeroext i1 @s2n_result_is_ok(i32 %4095)
  br i1 %4096, label %4119, label %4097

4097:                                             ; preds = %4092
  %4098 = load i32, ptr %3214, align 4, !tbaa !5
  %4099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4100 = call i32 @s2n_print_stacktrace(ptr noundef %4099) #12
  %4101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4102 = trunc nuw i8 %4101 to i1
  br i1 %4102, label %4103, label %4107

4103:                                             ; preds = %4097
  %4104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4105 = call i32 @fileno(ptr noundef %4104) #12
  %4106 = call i32 @isatty(i32 noundef %4105) #12
  %.not675 = icmp eq i32 %4106, 0
  br i1 %.not675, label %4107, label %4108

4107:                                             ; preds = %4103, %4097
  br label %4108

4108:                                             ; preds = %4103, %4107
  %.str.5.sink2157 = phi ptr [ @.str.5, %4107 ], [ @.str.2, %4103 ]
  store i32 %4098, ptr %3214, align 4, !tbaa !5
  %4109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4110 = load i32, ptr @test_count, align 4, !tbaa !5
  %4111 = load i32, ptr %2630, align 4, !tbaa !5
  %4112 = call ptr @s2n_strerror(i32 noundef %4111, ptr noundef nonnull @.str.4) #12
  %4113 = load i32, ptr %2630, align 4, !tbaa !5
  %4114 = call ptr @s2n_strerror_debug(i32 noundef %4113, ptr noundef nonnull @.str.4) #12
  %4115 = load i32, ptr %3214, align 4, !tbaa !5
  %4116 = call ptr @strerror(i32 noundef %4115) #12
  %4117 = load i32, ptr %3214, align 4, !tbaa !5
  %4118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4109, ptr noundef nonnull %.str.5.sink2157, i32 noundef %4110, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 429, ptr noundef %4112, ptr noundef %4114, ptr noundef %4116, i32 noundef %4117) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4119:                                             ; preds = %4092
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = add nsw i32 %4120, 1
  store i32 %4121, ptr @test_count, align 4, !tbaa !5
  %4122 = load ptr, ptr %50, align 8, !tbaa !9
  %4123 = load ptr, ptr %51, align 8, !tbaa !9
  %4124 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4122, ptr noundef %4123, ptr noundef nonnull %52) #12
  %4125 = call zeroext i1 @s2n_result_is_ok(i32 %4124)
  br i1 %4125, label %4148, label %4126

4126:                                             ; preds = %4119
  %4127 = load i32, ptr %3214, align 4, !tbaa !5
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4129 = call i32 @s2n_print_stacktrace(ptr noundef %4128) #12
  %4130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4131 = trunc nuw i8 %4130 to i1
  br i1 %4131, label %4132, label %4136

4132:                                             ; preds = %4126
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4134 = call i32 @fileno(ptr noundef %4133) #12
  %4135 = call i32 @isatty(i32 noundef %4134) #12
  %.not676 = icmp eq i32 %4135, 0
  br i1 %.not676, label %4136, label %4137

4136:                                             ; preds = %4132, %4126
  br label %4137

4137:                                             ; preds = %4132, %4136
  %.str.5.sink2166 = phi ptr [ @.str.5, %4136 ], [ @.str.2, %4132 ]
  store i32 %4127, ptr %3214, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = load i32, ptr @test_count, align 4, !tbaa !5
  %4140 = load i32, ptr %2630, align 4, !tbaa !5
  %4141 = call ptr @s2n_strerror(i32 noundef %4140, ptr noundef nonnull @.str.4) #12
  %4142 = load i32, ptr %2630, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef nonnull @.str.4) #12
  %4144 = load i32, ptr %3214, align 4, !tbaa !5
  %4145 = call ptr @strerror(i32 noundef %4144) #12
  %4146 = load i32, ptr %3214, align 4, !tbaa !5
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4138, ptr noundef nonnull %.str.5.sink2166, i32 noundef %4139, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 430, ptr noundef %4141, ptr noundef %4143, ptr noundef %4145, i32 noundef %4146) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4148:                                             ; preds = %4119
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = add nsw i32 %4149, 1
  store i32 %4150, ptr @test_count, align 4, !tbaa !5
  %4151 = load ptr, ptr %51, align 8, !tbaa !9
  %4152 = load ptr, ptr %50, align 8, !tbaa !9
  %4153 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4151, ptr noundef %4152) #12
  %4154 = icmp eq i32 %4153, -1
  br i1 %4154, label %4155, label %4177

4155:                                             ; preds = %4148
  %4156 = load i32, ptr %3214, align 4, !tbaa !5
  %4157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4158 = call i32 @s2n_print_stacktrace(ptr noundef %4157) #12
  %4159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4160 = trunc nuw i8 %4159 to i1
  br i1 %4160, label %4161, label %4165

4161:                                             ; preds = %4155
  %4162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4163 = call i32 @fileno(ptr noundef %4162) #12
  %4164 = call i32 @isatty(i32 noundef %4163) #12
  %.not691 = icmp eq i32 %4164, 0
  br i1 %.not691, label %4165, label %4166

4165:                                             ; preds = %4161, %4155
  br label %4166

4166:                                             ; preds = %4161, %4165
  %.str.5.sink2175 = phi ptr [ @.str.5, %4165 ], [ @.str.2, %4161 ]
  store i32 %4156, ptr %3214, align 4, !tbaa !5
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = load i32, ptr @test_count, align 4, !tbaa !5
  %4169 = load i32, ptr %2630, align 4, !tbaa !5
  %4170 = call ptr @s2n_strerror(i32 noundef %4169, ptr noundef nonnull @.str.4) #12
  %4171 = load i32, ptr %2630, align 4, !tbaa !5
  %4172 = call ptr @s2n_strerror_debug(i32 noundef %4171, ptr noundef nonnull @.str.4) #12
  %4173 = load i32, ptr %3214, align 4, !tbaa !5
  %4174 = call ptr @strerror(i32 noundef %4173) #12
  %4175 = load i32, ptr %3214, align 4, !tbaa !5
  %4176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4167, ptr noundef nonnull %.str.5.sink2175, i32 noundef %4168, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %4170, ptr noundef %4172, ptr noundef %4174, i32 noundef %4175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4177:                                             ; preds = %4148
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %53, i8 0, i64 24, i1 false)
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = add nsw i32 %4178, 1
  store i32 %4179, ptr @test_count, align 4, !tbaa !5
  %4180 = load ptr, ptr %51, align 8, !tbaa !9
  %4181 = call i32 @s2n_connection_set_counting_read(ptr noundef %4180, ptr noundef nonnull %53)
  %4182 = call zeroext i1 @s2n_result_is_ok(i32 %4181)
  br i1 %4182, label %4205, label %4183

4183:                                             ; preds = %4177
  %4184 = load i32, ptr %3214, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @s2n_print_stacktrace(ptr noundef %4185) #12
  %4187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4188 = trunc nuw i8 %4187 to i1
  br i1 %4188, label %4189, label %4193

4189:                                             ; preds = %4183
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = call i32 @fileno(ptr noundef %4190) #12
  %4192 = call i32 @isatty(i32 noundef %4191) #12
  %.not677 = icmp eq i32 %4192, 0
  br i1 %.not677, label %4193, label %4194

4193:                                             ; preds = %4189, %4183
  br label %4194

4194:                                             ; preds = %4189, %4193
  %.str.5.sink2184 = phi ptr [ @.str.5, %4193 ], [ @.str.2, %4189 ]
  store i32 %4184, ptr %3214, align 4, !tbaa !5
  %4195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4196 = load i32, ptr @test_count, align 4, !tbaa !5
  %4197 = load i32, ptr %2630, align 4, !tbaa !5
  %4198 = call ptr @s2n_strerror(i32 noundef %4197, ptr noundef nonnull @.str.4) #12
  %4199 = load i32, ptr %2630, align 4, !tbaa !5
  %4200 = call ptr @s2n_strerror_debug(i32 noundef %4199, ptr noundef nonnull @.str.4) #12
  %4201 = load i32, ptr %3214, align 4, !tbaa !5
  %4202 = call ptr @strerror(i32 noundef %4201) #12
  %4203 = load i32, ptr %3214, align 4, !tbaa !5
  %4204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4195, ptr noundef nonnull %.str.5.sink2184, i32 noundef %4196, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %4198, ptr noundef %4200, ptr noundef %4202, i32 noundef %4203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4205:                                             ; preds = %4177
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #12
  store i32 0, ptr %54, align 4, !tbaa !5
  %4206 = load i32, ptr @test_count, align 4, !tbaa !5
  %4207 = add nsw i32 %4206, 1
  store i32 %4207, ptr @test_count, align 4, !tbaa !5
  %4208 = load ptr, ptr %50, align 8, !tbaa !9
  %4209 = call i64 @s2n_send(ptr noundef %4208, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %54) #12
  %4210 = icmp eq i64 %4209, 20
  br i1 %4210, label %4233, label %4211

4211:                                             ; preds = %4205
  %4212 = load i32, ptr %3214, align 4, !tbaa !5
  %4213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4214 = call i32 @s2n_print_stacktrace(ptr noundef %4213) #12
  %4215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4216 = trunc nuw i8 %4215 to i1
  br i1 %4216, label %4217, label %4221

4217:                                             ; preds = %4211
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = call i32 @fileno(ptr noundef %4218) #12
  %4220 = call i32 @isatty(i32 noundef %4219) #12
  %.not678 = icmp eq i32 %4220, 0
  br i1 %.not678, label %4221, label %4222

4221:                                             ; preds = %4217, %4211
  br label %4222

4222:                                             ; preds = %4217, %4221
  %.str.5.sink2193 = phi ptr [ @.str.5, %4221 ], [ @.str.2, %4217 ]
  store i32 %4212, ptr %3214, align 4, !tbaa !5
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = load i32, ptr @test_count, align 4, !tbaa !5
  %4225 = load i32, ptr %2630, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror(i32 noundef %4225, ptr noundef nonnull @.str.4) #12
  %4227 = load i32, ptr %2630, align 4, !tbaa !5
  %4228 = call ptr @s2n_strerror_debug(i32 noundef %4227, ptr noundef nonnull @.str.4) #12
  %4229 = load i32, ptr %3214, align 4, !tbaa !5
  %4230 = call ptr @strerror(i32 noundef %4229) #12
  %4231 = load i32, ptr %3214, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4223, ptr noundef nonnull %.str.5.sink2193, i32 noundef %4224, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 437, ptr noundef %4226, ptr noundef %4228, ptr noundef %4230, i32 noundef %4231) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4233:                                             ; preds = %4205
  %4234 = load i32, ptr @test_count, align 4, !tbaa !5
  %4235 = add nsw i32 %4234, 1
  store i32 %4235, ptr @test_count, align 4, !tbaa !5
  %4236 = load i32, ptr %3972, align 4, !tbaa !15
  %4237 = load i32, ptr %3973, align 8, !tbaa !19
  %4238 = sub i32 %4236, %4237
  %4239 = icmp eq i32 %4238, %610
  br i1 %4239, label %4262, label %4240

4240:                                             ; preds = %4233
  %4241 = load i32, ptr %3214, align 4, !tbaa !5
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @s2n_print_stacktrace(ptr noundef %4242) #12
  %4244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4245 = trunc nuw i8 %4244 to i1
  br i1 %4245, label %4246, label %4250

4246:                                             ; preds = %4240
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = call i32 @fileno(ptr noundef %4247) #12
  %4249 = call i32 @isatty(i32 noundef %4248) #12
  %.not679 = icmp eq i32 %4249, 0
  br i1 %.not679, label %4250, label %4251

4250:                                             ; preds = %4246, %4240
  br label %4251

4251:                                             ; preds = %4246, %4250
  %.str.5.sink2202 = phi ptr [ @.str.5, %4250 ], [ @.str.2, %4246 ]
  store i32 %4241, ptr %3214, align 4, !tbaa !5
  %4252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4253 = load i32, ptr @test_count, align 4, !tbaa !5
  %4254 = load i32, ptr %2630, align 4, !tbaa !5
  %4255 = call ptr @s2n_strerror(i32 noundef %4254, ptr noundef nonnull @.str.4) #12
  %4256 = load i32, ptr %2630, align 4, !tbaa !5
  %4257 = call ptr @s2n_strerror_debug(i32 noundef %4256, ptr noundef nonnull @.str.4) #12
  %4258 = load i32, ptr %3214, align 4, !tbaa !5
  %4259 = call ptr @strerror(i32 noundef %4258) #12
  %4260 = load i32, ptr %3214, align 4, !tbaa !5
  %4261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4252, ptr noundef nonnull %.str.5.sink2202, i32 noundef %4253, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 438, ptr noundef %4255, ptr noundef %4257, ptr noundef %4259, i32 noundef %4260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4262:                                             ; preds = %4233
  %4263 = add nsw i32 %4234, 2
  store i32 %4263, ptr @test_count, align 4, !tbaa !5
  %4264 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %3971, i8 noundef zeroext 0) #12
  %4265 = icmp eq i32 %4264, -1
  br i1 %4265, label %4266, label %4288

4266:                                             ; preds = %4262
  %4267 = load i32, ptr %3214, align 4, !tbaa !5
  %4268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4269 = call i32 @s2n_print_stacktrace(ptr noundef %4268) #12
  %4270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4271 = trunc nuw i8 %4270 to i1
  br i1 %4271, label %4272, label %4276

4272:                                             ; preds = %4266
  %4273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4274 = call i32 @fileno(ptr noundef %4273) #12
  %4275 = call i32 @isatty(i32 noundef %4274) #12
  %.not690 = icmp eq i32 %4275, 0
  br i1 %.not690, label %4276, label %4277

4276:                                             ; preds = %4272, %4266
  br label %4277

4277:                                             ; preds = %4272, %4276
  %.str.5.sink2211 = phi ptr [ @.str.5, %4276 ], [ @.str.2, %4272 ]
  store i32 %4267, ptr %3214, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = load i32, ptr @test_count, align 4, !tbaa !5
  %4280 = load i32, ptr %2630, align 4, !tbaa !5
  %4281 = call ptr @s2n_strerror(i32 noundef %4280, ptr noundef nonnull @.str.4) #12
  %4282 = load i32, ptr %2630, align 4, !tbaa !5
  %4283 = call ptr @s2n_strerror_debug(i32 noundef %4282, ptr noundef nonnull @.str.4) #12
  %4284 = load i32, ptr %3214, align 4, !tbaa !5
  %4285 = call ptr @strerror(i32 noundef %4284) #12
  %4286 = load i32, ptr %3214, align 4, !tbaa !5
  %4287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4278, ptr noundef nonnull %.str.5.sink2211, i32 noundef %4279, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 442, ptr noundef %4281, ptr noundef %4283, ptr noundef %4285, i32 noundef %4286) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4288:                                             ; preds = %4262
  %4289 = getelementptr inbounds [9 x %struct.anon], ptr %49, i64 0, i64 %.0555830
  %4290 = load i16, ptr %4289, align 2, !tbaa !57
  %4291 = load i32, ptr @test_count, align 4, !tbaa !5
  %4292 = add nsw i32 %4291, 1
  store i32 %4292, ptr @test_count, align 4, !tbaa !5
  %4293 = load ptr, ptr %51, align 8, !tbaa !9
  %4294 = getelementptr inbounds i8, ptr %4293, i64 1816
  %4295 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %4294) #12
  %4296 = icmp eq i32 %4295, -1
  br i1 %4296, label %4297, label %4319

4297:                                             ; preds = %4288
  %4298 = load i32, ptr %3214, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = call i32 @s2n_print_stacktrace(ptr noundef %4299) #12
  %4301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4302 = trunc nuw i8 %4301 to i1
  br i1 %4302, label %4303, label %4307

4303:                                             ; preds = %4297
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @fileno(ptr noundef %4304) #12
  %4306 = call i32 @isatty(i32 noundef %4305) #12
  %.not689 = icmp eq i32 %4306, 0
  br i1 %.not689, label %4307, label %4308

4307:                                             ; preds = %4303, %4297
  br label %4308

4308:                                             ; preds = %4303, %4307
  %.str.5.sink2220 = phi ptr [ @.str.5, %4307 ], [ @.str.2, %4303 ]
  store i32 %4298, ptr %3214, align 4, !tbaa !5
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = load i32, ptr @test_count, align 4, !tbaa !5
  %4311 = load i32, ptr %2630, align 4, !tbaa !5
  %4312 = call ptr @s2n_strerror(i32 noundef %4311, ptr noundef nonnull @.str.4) #12
  %4313 = load i32, ptr %2630, align 4, !tbaa !5
  %4314 = call ptr @s2n_strerror_debug(i32 noundef %4313, ptr noundef nonnull @.str.4) #12
  %4315 = load i32, ptr %3214, align 4, !tbaa !5
  %4316 = call ptr @strerror(i32 noundef %4315) #12
  %4317 = load i32, ptr %3214, align 4, !tbaa !5
  %4318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4309, ptr noundef nonnull %.str.5.sink2220, i32 noundef %4310, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 445, ptr noundef %4312, ptr noundef %4314, ptr noundef %4316, i32 noundef %4317) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4319:                                             ; preds = %4288
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = add nsw i32 %4320, 1
  store i32 %4321, ptr @test_count, align 4, !tbaa !5
  %4322 = load ptr, ptr %51, align 8, !tbaa !9
  %4323 = getelementptr inbounds i8, ptr %4322, i64 1816
  %4324 = zext i16 %4290 to i32
  %4325 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %4323, i32 noundef %4324) #12
  %4326 = icmp eq i32 %4325, -1
  br i1 %4326, label %4327, label %4349

4327:                                             ; preds = %4319
  %4328 = load i32, ptr %3214, align 4, !tbaa !5
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4330 = call i32 @s2n_print_stacktrace(ptr noundef %4329) #12
  %4331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4332 = trunc nuw i8 %4331 to i1
  br i1 %4332, label %4333, label %4337

4333:                                             ; preds = %4327
  %4334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4335 = call i32 @fileno(ptr noundef %4334) #12
  %4336 = call i32 @isatty(i32 noundef %4335) #12
  %.not688 = icmp eq i32 %4336, 0
  br i1 %.not688, label %4337, label %4338

4337:                                             ; preds = %4333, %4327
  br label %4338

4338:                                             ; preds = %4333, %4337
  %.str.5.sink2229 = phi ptr [ @.str.5, %4337 ], [ @.str.2, %4333 ]
  store i32 %4328, ptr %3214, align 4, !tbaa !5
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = load i32, ptr %2630, align 4, !tbaa !5
  %4342 = call ptr @s2n_strerror(i32 noundef %4341, ptr noundef nonnull @.str.4) #12
  %4343 = load i32, ptr %2630, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror_debug(i32 noundef %4343, ptr noundef nonnull @.str.4) #12
  %4345 = load i32, ptr %3214, align 4, !tbaa !5
  %4346 = call ptr @strerror(i32 noundef %4345) #12
  %4347 = load i32, ptr %3214, align 4, !tbaa !5
  %4348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4339, ptr noundef nonnull %.str.5.sink2229, i32 noundef %4340, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 446, ptr noundef %4342, ptr noundef %4344, ptr noundef %4346, i32 noundef %4347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4349:                                             ; preds = %4319
  %4350 = load i32, ptr @test_count, align 4, !tbaa !5
  %4351 = add nsw i32 %4350, 1
  store i32 %4351, ptr @test_count, align 4, !tbaa !5
  %4352 = load ptr, ptr %51, align 8, !tbaa !9
  %4353 = getelementptr inbounds i8, ptr %4352, i64 1816
  %4354 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %4353, i32 noundef %4324) #12
  %4355 = icmp eq i32 %4354, -1
  br i1 %4355, label %4356, label %4378

4356:                                             ; preds = %4349
  %4357 = load i32, ptr %3214, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = call i32 @s2n_print_stacktrace(ptr noundef %4358) #12
  %4360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4361 = trunc nuw i8 %4360 to i1
  br i1 %4361, label %4362, label %4366

4362:                                             ; preds = %4356
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = call i32 @fileno(ptr noundef %4363) #12
  %4365 = call i32 @isatty(i32 noundef %4364) #12
  %.not687 = icmp eq i32 %4365, 0
  br i1 %.not687, label %4366, label %4367

4366:                                             ; preds = %4362, %4356
  br label %4367

4367:                                             ; preds = %4362, %4366
  %.str.5.sink2238 = phi ptr [ @.str.5, %4366 ], [ @.str.2, %4362 ]
  store i32 %4357, ptr %3214, align 4, !tbaa !5
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = load i32, ptr %2630, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror(i32 noundef %4370, ptr noundef nonnull @.str.4) #12
  %4372 = load i32, ptr %2630, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror_debug(i32 noundef %4372, ptr noundef nonnull @.str.4) #12
  %4374 = load i32, ptr %3214, align 4, !tbaa !5
  %4375 = call ptr @strerror(i32 noundef %4374) #12
  %4376 = load i32, ptr %3214, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4368, ptr noundef nonnull %.str.5.sink2238, i32 noundef %4369, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 447, ptr noundef %4371, ptr noundef %4373, ptr noundef %4375, i32 noundef %4376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4378:                                             ; preds = %4349
  %4379 = icmp ult i16 %4290, 16384
  br i1 %4379, label %4380, label %4409

4380:                                             ; preds = %4378
  %4381 = load i32, ptr @test_count, align 4, !tbaa !5
  %4382 = add nsw i32 %4381, 1
  store i32 %4382, ptr @test_count, align 4, !tbaa !5
  %4383 = load ptr, ptr %51, align 8, !tbaa !9
  %4384 = getelementptr inbounds i8, ptr %4383, i64 1816
  %4385 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %3971, ptr noundef nonnull %4384, i32 noundef 1) #12
  %4386 = icmp eq i32 %4385, -1
  br i1 %4386, label %4387, label %4409

4387:                                             ; preds = %4380
  %4388 = load i32, ptr %3214, align 4, !tbaa !5
  %4389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4390 = call i32 @s2n_print_stacktrace(ptr noundef %4389) #12
  %4391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4392 = trunc nuw i8 %4391 to i1
  br i1 %4392, label %4393, label %4397

4393:                                             ; preds = %4387
  %4394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4395 = call i32 @fileno(ptr noundef %4394) #12
  %4396 = call i32 @isatty(i32 noundef %4395) #12
  %.not686 = icmp eq i32 %4396, 0
  br i1 %.not686, label %4397, label %4398

4397:                                             ; preds = %4393, %4387
  br label %4398

4398:                                             ; preds = %4393, %4397
  %.str.5.sink2247 = phi ptr [ @.str.5, %4397 ], [ @.str.2, %4393 ]
  store i32 %4388, ptr %3214, align 4, !tbaa !5
  %4399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4400 = load i32, ptr @test_count, align 4, !tbaa !5
  %4401 = load i32, ptr %2630, align 4, !tbaa !5
  %4402 = call ptr @s2n_strerror(i32 noundef %4401, ptr noundef nonnull @.str.4) #12
  %4403 = load i32, ptr %2630, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror_debug(i32 noundef %4403, ptr noundef nonnull @.str.4) #12
  %4405 = load i32, ptr %3214, align 4, !tbaa !5
  %4406 = call ptr @strerror(i32 noundef %4405) #12
  %4407 = load i32, ptr %3214, align 4, !tbaa !5
  %4408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4399, ptr noundef nonnull %.str.5.sink2247, i32 noundef %4400, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %4402, ptr noundef %4404, ptr noundef %4406, i32 noundef %4407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4409:                                             ; preds = %4380, %4378
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %55) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %55, i8 0, i64 20, i1 false)
  %4410 = load i32, ptr @test_count, align 4, !tbaa !5
  %4411 = add nsw i32 %4410, 1
  store i32 %4411, ptr @test_count, align 4, !tbaa !5
  %4412 = load ptr, ptr %51, align 8, !tbaa !9
  %4413 = call i64 @s2n_recv(ptr noundef %4412, ptr noundef nonnull %55, i64 noundef 20, ptr noundef nonnull %54) #12
  %4414 = icmp eq i64 %4413, 20
  br i1 %4414, label %4437, label %4415

4415:                                             ; preds = %4409
  %4416 = load i32, ptr %3214, align 4, !tbaa !5
  %4417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4418 = call i32 @s2n_print_stacktrace(ptr noundef %4417) #12
  %4419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4420 = trunc nuw i8 %4419 to i1
  br i1 %4420, label %4421, label %4425

4421:                                             ; preds = %4415
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = call i32 @fileno(ptr noundef %4422) #12
  %4424 = call i32 @isatty(i32 noundef %4423) #12
  %.not680 = icmp eq i32 %4424, 0
  br i1 %.not680, label %4425, label %4426

4425:                                             ; preds = %4421, %4415
  br label %4426

4426:                                             ; preds = %4421, %4425
  %.str.5.sink2256 = phi ptr [ @.str.5, %4425 ], [ @.str.2, %4421 ]
  store i32 %4416, ptr %3214, align 4, !tbaa !5
  %4427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4428 = load i32, ptr @test_count, align 4, !tbaa !5
  %4429 = load i32, ptr %2630, align 4, !tbaa !5
  %4430 = call ptr @s2n_strerror(i32 noundef %4429, ptr noundef nonnull @.str.4) #12
  %4431 = load i32, ptr %2630, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror_debug(i32 noundef %4431, ptr noundef nonnull @.str.4) #12
  %4433 = load i32, ptr %3214, align 4, !tbaa !5
  %4434 = call ptr @strerror(i32 noundef %4433) #12
  %4435 = load i32, ptr %3214, align 4, !tbaa !5
  %4436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4427, ptr noundef nonnull %.str.5.sink2256, i32 noundef %4428, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %4430, ptr noundef %4432, ptr noundef %4434, i32 noundef %4435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4437:                                             ; preds = %4409
  %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
  %bcmp681 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %55, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %4440 = icmp eq i32 %bcmp681, 0
  br i1 %4440, label %4463, label %4441

4441:                                             ; preds = %4437
  %4442 = load i32, ptr %3214, align 4, !tbaa !5
  %4443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4444 = call i32 @s2n_print_stacktrace(ptr noundef %4443) #12
  %4445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4446 = trunc nuw i8 %4445 to i1
  br i1 %4446, label %4447, label %4451

4447:                                             ; preds = %4441
  %4448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4449 = call i32 @fileno(ptr noundef %4448) #12
  %4450 = call i32 @isatty(i32 noundef %4449) #12
  %.not682 = icmp eq i32 %4450, 0
  br i1 %.not682, label %4451, label %4452

4451:                                             ; preds = %4447, %4441
  br label %4452

4452:                                             ; preds = %4447, %4451
  %.str.5.sink2265 = phi ptr [ @.str.5, %4451 ], [ @.str.2, %4447 ]
  store i32 %4442, ptr %3214, align 4, !tbaa !5
  %4453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4454 = load i32, ptr @test_count, align 4, !tbaa !5
  %4455 = load i32, ptr %2630, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror(i32 noundef %4455, ptr noundef nonnull @.str.4) #12
  %4457 = load i32, ptr %2630, align 4, !tbaa !5
  %4458 = call ptr @s2n_strerror_debug(i32 noundef %4457, ptr noundef nonnull @.str.4) #12
  %4459 = load i32, ptr %3214, align 4, !tbaa !5
  %4460 = call ptr @strerror(i32 noundef %4459) #12
  %4461 = load i32, ptr %3214, align 4, !tbaa !5
  %4462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4453, ptr noundef nonnull %.str.5.sink2265, i32 noundef %4454, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %4456, ptr noundef %4458, ptr noundef %4460, i32 noundef %4461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4463:                                             ; preds = %4437
  %4464 = add nsw i32 %4438, 2
  store i32 %4464, ptr @test_count, align 4, !tbaa !5
  %4465 = load i64, ptr %53, align 8, !tbaa !20
  %4466 = getelementptr inbounds i8, ptr %4289, i64 4
  %4467 = load i8, ptr %4466, align 2, !tbaa !60
  %4468 = zext i8 %4467 to i64
  %4469 = icmp eq i64 %4465, %4468
  br i1 %4469, label %4492, label %4470

4470:                                             ; preds = %4463
  %4471 = load i32, ptr %3214, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = call i32 @s2n_print_stacktrace(ptr noundef %4472) #12
  %4474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4475 = trunc nuw i8 %4474 to i1
  br i1 %4475, label %4476, label %4480

4476:                                             ; preds = %4470
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @fileno(ptr noundef %4477) #12
  %4479 = call i32 @isatty(i32 noundef %4478) #12
  %.not683 = icmp eq i32 %4479, 0
  br i1 %.not683, label %4480, label %4481

4480:                                             ; preds = %4476, %4470
  br label %4481

4481:                                             ; preds = %4476, %4480
  %.str.5.sink2274 = phi ptr [ @.str.5, %4480 ], [ @.str.2, %4476 ]
  store i32 %4471, ptr %3214, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = load i32, ptr @test_count, align 4, !tbaa !5
  %4484 = load i32, ptr %2630, align 4, !tbaa !5
  %4485 = call ptr @s2n_strerror(i32 noundef %4484, ptr noundef nonnull @.str.4) #12
  %4486 = load i32, ptr %2630, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef nonnull @.str.4) #12
  %4488 = load i32, ptr %3214, align 4, !tbaa !5
  %4489 = call ptr @strerror(i32 noundef %4488) #12
  %4490 = load i32, ptr %3214, align 4, !tbaa !5
  %4491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4482, ptr noundef nonnull %.str.5.sink2274, i32 noundef %4483, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 460, ptr noundef %4485, ptr noundef %4487, ptr noundef %4489, i32 noundef %4490) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4492:                                             ; preds = %4463
  %4493 = getelementptr inbounds i8, ptr %4289, i64 2
  %4494 = load i16, ptr %4493, align 2, !tbaa !59
  %.not684 = icmp eq i16 %4494, 0
  %4495 = zext i16 %4494 to i32
  %4496 = add nuw nsw i32 %4495, 1
  %.0556 = select i1 %.not684, i32 0, i32 %4496
  %4497 = add nsw i32 %4438, 3
  store i32 %4497, ptr @test_count, align 4, !tbaa !5
  %4498 = load ptr, ptr %51, align 8, !tbaa !9
  %4499 = getelementptr inbounds i8, ptr %4498, i64 1844
  %4500 = load i32, ptr %4499, align 4, !tbaa !50
  %4501 = icmp eq i32 %4500, %.0556
  br i1 %4501, label %4524, label %4502

4502:                                             ; preds = %4492
  %4503 = load i32, ptr %3214, align 4, !tbaa !5
  %4504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4505 = call i32 @s2n_print_stacktrace(ptr noundef %4504) #12
  %4506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4507 = trunc nuw i8 %4506 to i1
  br i1 %4507, label %4508, label %4512

4508:                                             ; preds = %4502
  %4509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4510 = call i32 @fileno(ptr noundef %4509) #12
  %4511 = call i32 @isatty(i32 noundef %4510) #12
  %.not685 = icmp eq i32 %4511, 0
  br i1 %.not685, label %4512, label %4513

4512:                                             ; preds = %4508, %4502
  br label %4513

4513:                                             ; preds = %4508, %4512
  %.str.5.sink2283 = phi ptr [ @.str.5, %4512 ], [ @.str.2, %4508 ]
  store i32 %4503, ptr %3214, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = load i32, ptr @test_count, align 4, !tbaa !5
  %4516 = load i32, ptr %2630, align 4, !tbaa !5
  %4517 = call ptr @s2n_strerror(i32 noundef %4516, ptr noundef nonnull @.str.4) #12
  %4518 = load i32, ptr %2630, align 4, !tbaa !5
  %4519 = call ptr @s2n_strerror_debug(i32 noundef %4518, ptr noundef nonnull @.str.4) #12
  %4520 = load i32, ptr %3214, align 4, !tbaa !5
  %4521 = call ptr @strerror(i32 noundef %4520) #12
  %4522 = load i32, ptr %3214, align 4, !tbaa !5
  %4523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4514, ptr noundef nonnull %.str.5.sink2283, i32 noundef %4515, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 466, ptr noundef %4517, ptr noundef %4519, ptr noundef %4521, i32 noundef %4522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4524:                                             ; preds = %4492
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  %4525 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %52) #12
  %4526 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  %4527 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #12
  %4528 = add nuw nsw i64 %.0555830, 1
  %exitcond853.not = icmp eq i64 %4528, 9
  br i1 %exitcond853.not, label %3974, label %3980, !llvm.loop !61

4529:                                             ; preds = %3974
  %4530 = load i32, ptr %3214, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = call i32 @s2n_print_stacktrace(ptr noundef %4531) #12
  %4533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4534 = trunc nuw i8 %4533 to i1
  br i1 %4534, label %4535, label %4539

4535:                                             ; preds = %4529
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = call i32 @fileno(ptr noundef %4536) #12
  %4538 = call i32 @isatty(i32 noundef %4537) #12
  %.not674 = icmp eq i32 %4538, 0
  br i1 %.not674, label %4539, label %4540

4539:                                             ; preds = %4535, %4529
  br label %4540

4540:                                             ; preds = %4535, %4539
  %.str.5.sink2292 = phi ptr [ @.str.5, %4539 ], [ @.str.2, %4535 ]
  store i32 %4530, ptr %3214, align 4, !tbaa !5
  %4541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4542 = load i32, ptr @test_count, align 4, !tbaa !5
  %4543 = load i32, ptr %2630, align 4, !tbaa !5
  %4544 = call ptr @s2n_strerror(i32 noundef %4543, ptr noundef nonnull @.str.4) #12
  %4545 = load i32, ptr %2630, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror_debug(i32 noundef %4545, ptr noundef nonnull @.str.4) #12
  %4547 = load i32, ptr %3214, align 4, !tbaa !5
  %4548 = call ptr @strerror(i32 noundef %4547) #12
  %4549 = load i32, ptr %3214, align 4, !tbaa !5
  %4550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4541, ptr noundef nonnull %.str.5.sink2292, i32 noundef %4542, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 473, ptr noundef %4544, ptr noundef %4546, ptr noundef %4548, i32 noundef %4549) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4551:                                             ; preds = %3974
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #12
  %4552 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4552, ptr %57, align 8, !tbaa !9
  %4553 = load i32, ptr @test_count, align 4, !tbaa !5
  %4554 = add nsw i32 %4553, 1
  store i32 %4554, ptr @test_count, align 4, !tbaa !5
  %4555 = call i32 @s2n_connection_set_config(ptr noundef %4552, ptr noundef %188) #12
  %4556 = icmp eq i32 %4555, -1
  br i1 %4556, label %4557, label %4579

4557:                                             ; preds = %4551
  %4558 = load i32, ptr %3214, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @s2n_print_stacktrace(ptr noundef %4559) #12
  %4561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4562 = trunc nuw i8 %4561 to i1
  br i1 %4562, label %4563, label %4567

4563:                                             ; preds = %4557
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @fileno(ptr noundef %4564) #12
  %4566 = call i32 @isatty(i32 noundef %4565) #12
  %.not673 = icmp eq i32 %4566, 0
  br i1 %.not673, label %4567, label %4568

4567:                                             ; preds = %4563, %4557
  br label %4568

4568:                                             ; preds = %4563, %4567
  %.str.5.sink2301 = phi ptr [ @.str.5, %4567 ], [ @.str.2, %4563 ]
  store i32 %4558, ptr %3214, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = load i32, ptr %2630, align 4, !tbaa !5
  %4572 = call ptr @s2n_strerror(i32 noundef %4571, ptr noundef nonnull @.str.4) #12
  %4573 = load i32, ptr %2630, align 4, !tbaa !5
  %4574 = call ptr @s2n_strerror_debug(i32 noundef %4573, ptr noundef nonnull @.str.4) #12
  %4575 = load i32, ptr %3214, align 4, !tbaa !5
  %4576 = call ptr @strerror(i32 noundef %4575) #12
  %4577 = load i32, ptr %3214, align 4, !tbaa !5
  %4578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4569, ptr noundef nonnull %.str.5.sink2301, i32 noundef %4570, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 476, ptr noundef %4572, ptr noundef %4574, ptr noundef %4576, i32 noundef %4577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4579:                                             ; preds = %4551
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %58) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %58, i8 0, i64 80, i1 false)
  %4580 = load i32, ptr @test_count, align 4, !tbaa !5
  %4581 = add nsw i32 %4580, 1
  store i32 %4581, ptr @test_count, align 4, !tbaa !5
  %4582 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %58) #12
  %4583 = call zeroext i1 @s2n_result_is_ok(i32 %4582)
  br i1 %4583, label %4606, label %4584

4584:                                             ; preds = %4579
  %4585 = load i32, ptr %3214, align 4, !tbaa !5
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = call i32 @s2n_print_stacktrace(ptr noundef %4586) #12
  %4588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4589 = trunc nuw i8 %4588 to i1
  br i1 %4589, label %4590, label %4594

4590:                                             ; preds = %4584
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @fileno(ptr noundef %4591) #12
  %4593 = call i32 @isatty(i32 noundef %4592) #12
  %.not608 = icmp eq i32 %4593, 0
  br i1 %.not608, label %4594, label %4595

4594:                                             ; preds = %4590, %4584
  br label %4595

4595:                                             ; preds = %4590, %4594
  %.str.5.sink2310 = phi ptr [ @.str.5, %4594 ], [ @.str.2, %4590 ]
  store i32 %4585, ptr %3214, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = load i32, ptr @test_count, align 4, !tbaa !5
  %4598 = load i32, ptr %2630, align 4, !tbaa !5
  %4599 = call ptr @s2n_strerror(i32 noundef %4598, ptr noundef nonnull @.str.4) #12
  %4600 = load i32, ptr %2630, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror_debug(i32 noundef %4600, ptr noundef nonnull @.str.4) #12
  %4602 = load i32, ptr %3214, align 4, !tbaa !5
  %4603 = call ptr @strerror(i32 noundef %4602) #12
  %4604 = load i32, ptr %3214, align 4, !tbaa !5
  %4605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4596, ptr noundef nonnull %.str.5.sink2310, i32 noundef %4597, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 479, ptr noundef %4599, ptr noundef %4601, ptr noundef %4603, i32 noundef %4604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4606:                                             ; preds = %4579
  %4607 = load i32, ptr @test_count, align 4, !tbaa !5
  %4608 = add nsw i32 %4607, 1
  store i32 %4608, ptr @test_count, align 4, !tbaa !5
  %4609 = load ptr, ptr %56, align 8, !tbaa !9
  %4610 = load ptr, ptr %57, align 8, !tbaa !9
  %4611 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %4609, ptr noundef %4610, ptr noundef nonnull %58) #12
  %4612 = call zeroext i1 @s2n_result_is_ok(i32 %4611)
  br i1 %4612, label %4635, label %4613

4613:                                             ; preds = %4606
  %4614 = load i32, ptr %3214, align 4, !tbaa !5
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = call i32 @s2n_print_stacktrace(ptr noundef %4615) #12
  %4617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4618 = trunc nuw i8 %4617 to i1
  br i1 %4618, label %4619, label %4623

4619:                                             ; preds = %4613
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = call i32 @fileno(ptr noundef %4620) #12
  %4622 = call i32 @isatty(i32 noundef %4621) #12
  %.not609 = icmp eq i32 %4622, 0
  br i1 %.not609, label %4623, label %4624

4623:                                             ; preds = %4619, %4613
  br label %4624

4624:                                             ; preds = %4619, %4623
  %.str.5.sink2319 = phi ptr [ @.str.5, %4623 ], [ @.str.2, %4619 ]
  store i32 %4614, ptr %3214, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = load i32, ptr @test_count, align 4, !tbaa !5
  %4627 = load i32, ptr %2630, align 4, !tbaa !5
  %4628 = call ptr @s2n_strerror(i32 noundef %4627, ptr noundef nonnull @.str.4) #12
  %4629 = load i32, ptr %2630, align 4, !tbaa !5
  %4630 = call ptr @s2n_strerror_debug(i32 noundef %4629, ptr noundef nonnull @.str.4) #12
  %4631 = load i32, ptr %3214, align 4, !tbaa !5
  %4632 = call ptr @strerror(i32 noundef %4631) #12
  %4633 = load i32, ptr %3214, align 4, !tbaa !5
  %4634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4625, ptr noundef nonnull %.str.5.sink2319, i32 noundef %4626, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 480, ptr noundef %4628, ptr noundef %4630, ptr noundef %4632, i32 noundef %4633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4635:                                             ; preds = %4606
  %4636 = load i32, ptr @test_count, align 4, !tbaa !5
  %4637 = add nsw i32 %4636, 1
  store i32 %4637, ptr @test_count, align 4, !tbaa !5
  %4638 = load ptr, ptr %57, align 8, !tbaa !9
  %4639 = load ptr, ptr %56, align 8, !tbaa !9
  %4640 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4638, ptr noundef %4639) #12
  %4641 = icmp eq i32 %4640, -1
  br i1 %4641, label %4642, label %4664

4642:                                             ; preds = %4635
  %4643 = load i32, ptr %3214, align 4, !tbaa !5
  %4644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4645 = call i32 @s2n_print_stacktrace(ptr noundef %4644) #12
  %4646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4647 = trunc nuw i8 %4646 to i1
  br i1 %4647, label %4648, label %4652

4648:                                             ; preds = %4642
  %4649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4650 = call i32 @fileno(ptr noundef %4649) #12
  %4651 = call i32 @isatty(i32 noundef %4650) #12
  %.not672 = icmp eq i32 %4651, 0
  br i1 %.not672, label %4652, label %4653

4652:                                             ; preds = %4648, %4642
  br label %4653

4653:                                             ; preds = %4648, %4652
  %.str.5.sink2328 = phi ptr [ @.str.5, %4652 ], [ @.str.2, %4648 ]
  store i32 %4643, ptr %3214, align 4, !tbaa !5
  %4654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4655 = load i32, ptr @test_count, align 4, !tbaa !5
  %4656 = load i32, ptr %2630, align 4, !tbaa !5
  %4657 = call ptr @s2n_strerror(i32 noundef %4656, ptr noundef nonnull @.str.4) #12
  %4658 = load i32, ptr %2630, align 4, !tbaa !5
  %4659 = call ptr @s2n_strerror_debug(i32 noundef %4658, ptr noundef nonnull @.str.4) #12
  %4660 = load i32, ptr %3214, align 4, !tbaa !5
  %4661 = call ptr @strerror(i32 noundef %4660) #12
  %4662 = load i32, ptr %3214, align 4, !tbaa !5
  %4663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4654, ptr noundef nonnull %.str.5.sink2328, i32 noundef %4655, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 481, ptr noundef %4657, ptr noundef %4659, ptr noundef %4661, i32 noundef %4662) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4664:                                             ; preds = %4635
  %4665 = load i32, ptr @test_count, align 4, !tbaa !5
  %4666 = add nsw i32 %4665, 1
  store i32 %4666, ptr @test_count, align 4, !tbaa !5
  %4667 = getelementptr inbounds i8, ptr %58, i64 40
  %4668 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %4667) #12
  %4669 = icmp eq i32 %4668, -1
  br i1 %4669, label %4670, label %4692

4670:                                             ; preds = %4664
  %4671 = load i32, ptr %3214, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = call i32 @s2n_print_stacktrace(ptr noundef %4672) #12
  %4674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4675 = trunc nuw i8 %4674 to i1
  br i1 %4675, label %4676, label %4680

4676:                                             ; preds = %4670
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = call i32 @fileno(ptr noundef %4677) #12
  %4679 = call i32 @isatty(i32 noundef %4678) #12
  %.not671 = icmp eq i32 %4679, 0
  br i1 %.not671, label %4680, label %4681

4680:                                             ; preds = %4676, %4670
  br label %4681

4681:                                             ; preds = %4676, %4680
  %.str.5.sink2337 = phi ptr [ @.str.5, %4680 ], [ @.str.2, %4676 ]
  store i32 %4671, ptr %3214, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = load i32, ptr %2630, align 4, !tbaa !5
  %4685 = call ptr @s2n_strerror(i32 noundef %4684, ptr noundef nonnull @.str.4) #12
  %4686 = load i32, ptr %2630, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef nonnull @.str.4) #12
  %4688 = load i32, ptr %3214, align 4, !tbaa !5
  %4689 = call ptr @strerror(i32 noundef %4688) #12
  %4690 = load i32, ptr %3214, align 4, !tbaa !5
  %4691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef nonnull %.str.5.sink2337, i32 noundef %4683, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 482, ptr noundef %4685, ptr noundef %4687, ptr noundef %4689, i32 noundef %4690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4692:                                             ; preds = %4664
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #12
  store i32 0, ptr %59, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %60) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %60, i8 0, i64 20, i1 false)
  br label %4695

4693:                                             ; preds = %4723
  %4694 = add nuw nsw i64 %.0557831, 1
  %exitcond854.not = icmp eq i64 %4694, 100
  br i1 %exitcond854.not, label %.preheader.preheader, label %4695, !llvm.loop !62

.preheader.preheader:                             ; preds = %4693
  %.pre859 = load i32, ptr @test_count, align 4, !tbaa !5
  br label %.preheader

4695:                                             ; preds = %4692, %4693
  %.0557831 = phi i64 [ 0, %4692 ], [ %4694, %4693 ]
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = add nsw i32 %4696, 1
  store i32 %4697, ptr @test_count, align 4, !tbaa !5
  %4698 = load ptr, ptr %56, align 8, !tbaa !9
  %4699 = call i64 @s2n_send(ptr noundef %4698, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %59) #12
  %4700 = icmp eq i64 %4699, 20
  br i1 %4700, label %4723, label %4701

4701:                                             ; preds = %4695
  %4702 = load i32, ptr %3214, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = call i32 @s2n_print_stacktrace(ptr noundef %4703) #12
  %4705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4706 = trunc nuw i8 %4705 to i1
  br i1 %4706, label %4707, label %4711

4707:                                             ; preds = %4701
  %4708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4709 = call i32 @fileno(ptr noundef %4708) #12
  %4710 = call i32 @isatty(i32 noundef %4709) #12
  %.not669 = icmp eq i32 %4710, 0
  br i1 %.not669, label %4711, label %4712

4711:                                             ; preds = %4707, %4701
  br label %4712

4712:                                             ; preds = %4707, %4711
  %.str.5.sink2346 = phi ptr [ @.str.5, %4711 ], [ @.str.2, %4707 ]
  store i32 %4702, ptr %3214, align 4, !tbaa !5
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = load i32, ptr @test_count, align 4, !tbaa !5
  %4715 = load i32, ptr %2630, align 4, !tbaa !5
  %4716 = call ptr @s2n_strerror(i32 noundef %4715, ptr noundef nonnull @.str.4) #12
  %4717 = load i32, ptr %2630, align 4, !tbaa !5
  %4718 = call ptr @s2n_strerror_debug(i32 noundef %4717, ptr noundef nonnull @.str.4) #12
  %4719 = load i32, ptr %3214, align 4, !tbaa !5
  %4720 = call ptr @strerror(i32 noundef %4719) #12
  %4721 = load i32, ptr %3214, align 4, !tbaa !5
  %4722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4713, ptr noundef nonnull %.str.5.sink2346, i32 noundef %4714, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 490, ptr noundef %4716, ptr noundef %4718, ptr noundef %4720, i32 noundef %4721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4723:                                             ; preds = %4695
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = add nsw i32 %4724, 1
  store i32 %4725, ptr @test_count, align 4, !tbaa !5
  %4726 = load ptr, ptr %56, align 8, !tbaa !9
  %4727 = call i64 @s2n_send(ptr noundef %4726, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %59) #12
  %4728 = icmp eq i64 %4727, 20
  br i1 %4728, label %4693, label %4729

4729:                                             ; preds = %4723
  %4730 = load i32, ptr %3214, align 4, !tbaa !5
  %4731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4732 = call i32 @s2n_print_stacktrace(ptr noundef %4731) #12
  %4733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4734 = trunc nuw i8 %4733 to i1
  br i1 %4734, label %4735, label %4739

4735:                                             ; preds = %4729
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = call i32 @fileno(ptr noundef %4736) #12
  %4738 = call i32 @isatty(i32 noundef %4737) #12
  %.not670 = icmp eq i32 %4738, 0
  br i1 %.not670, label %4739, label %4740

4739:                                             ; preds = %4735, %4729
  br label %4740

4740:                                             ; preds = %4735, %4739
  %.str.5.sink2355 = phi ptr [ @.str.5, %4739 ], [ @.str.2, %4735 ]
  store i32 %4730, ptr %3214, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = load i32, ptr %2630, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror(i32 noundef %4743, ptr noundef nonnull @.str.4) #12
  %4745 = load i32, ptr %2630, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror_debug(i32 noundef %4745, ptr noundef nonnull @.str.4) #12
  %4747 = load i32, ptr %3214, align 4, !tbaa !5
  %4748 = call ptr @strerror(i32 noundef %4747) #12
  %4749 = load i32, ptr %3214, align 4, !tbaa !5
  %4750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef nonnull %.str.5.sink2355, i32 noundef %4742, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 491, ptr noundef %4744, ptr noundef %4746, ptr noundef %4748, i32 noundef %4749) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4751:                                             ; preds = %4927
  %4752 = add nuw nsw i64 %.0558832, 1
  %exitcond855.not = icmp eq i64 %4752, 50
  br i1 %exitcond855.not, label %4753, label %.preheader, !llvm.loop !63

4753:                                             ; preds = %4751
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #12
  %4754 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %58) #12
  %4755 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #12
  %4756 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #12
  %4757 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %4757, ptr %61, align 8, !tbaa !9
  %4758 = load i32, ptr @test_count, align 4, !tbaa !5
  %4759 = add nsw i32 %4758, 1
  store i32 %4759, ptr @test_count, align 4, !tbaa !5
  %4760 = load ptr, ptr %5, align 8, !tbaa !9
  %4761 = call i32 @s2n_connection_set_config(ptr noundef %4757, ptr noundef %4760) #12
  %4762 = icmp eq i32 %4761, -1
  br i1 %4762, label %4953, label %4975

.preheader:                                       ; preds = %.preheader.preheader, %4751
  %4763 = phi i32 [ %4929, %4751 ], [ %.pre859, %.preheader.preheader ]
  %.0558832 = phi i64 [ %4752, %4751 ], [ 0, %.preheader.preheader ]
  %4764 = add nsw i32 %4763, 1
  store i32 %4764, ptr @test_count, align 4, !tbaa !5
  %4765 = load ptr, ptr %57, align 8, !tbaa !9
  %4766 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %4765, i1 noundef zeroext true) #12
  %4767 = icmp eq i32 %4766, -1
  br i1 %4767, label %4768, label %4790

4768:                                             ; preds = %.preheader
  %4769 = load i32, ptr %3214, align 4, !tbaa !5
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = call i32 @s2n_print_stacktrace(ptr noundef %4770) #12
  %4772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4773 = trunc nuw i8 %4772 to i1
  br i1 %4773, label %4774, label %4778

4774:                                             ; preds = %4768
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = call i32 @fileno(ptr noundef %4775) #12
  %4777 = call i32 @isatty(i32 noundef %4776) #12
  %.not668 = icmp eq i32 %4777, 0
  br i1 %.not668, label %4778, label %4779

4778:                                             ; preds = %4774, %4768
  br label %4779

4779:                                             ; preds = %4774, %4778
  %.str.5.sink2364 = phi ptr [ @.str.5, %4778 ], [ @.str.2, %4774 ]
  store i32 %4769, ptr %3214, align 4, !tbaa !5
  %4780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4781 = load i32, ptr @test_count, align 4, !tbaa !5
  %4782 = load i32, ptr %2630, align 4, !tbaa !5
  %4783 = call ptr @s2n_strerror(i32 noundef %4782, ptr noundef nonnull @.str.4) #12
  %4784 = load i32, ptr %2630, align 4, !tbaa !5
  %4785 = call ptr @s2n_strerror_debug(i32 noundef %4784, ptr noundef nonnull @.str.4) #12
  %4786 = load i32, ptr %3214, align 4, !tbaa !5
  %4787 = call ptr @strerror(i32 noundef %4786) #12
  %4788 = load i32, ptr %3214, align 4, !tbaa !5
  %4789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4780, ptr noundef nonnull %.str.5.sink2364, i32 noundef %4781, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %4783, ptr noundef %4785, ptr noundef %4787, i32 noundef %4788) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4790:                                             ; preds = %.preheader
  %4791 = load i32, ptr @test_count, align 4, !tbaa !5
  %4792 = add nsw i32 %4791, 1
  store i32 %4792, ptr @test_count, align 4, !tbaa !5
  %4793 = load ptr, ptr %57, align 8, !tbaa !9
  %4794 = call i64 @s2n_recv(ptr noundef %4793, ptr noundef nonnull %60, i64 noundef 20, ptr noundef nonnull %59) #12
  %4795 = icmp eq i64 %4794, 20
  br i1 %4795, label %4818, label %4796

4796:                                             ; preds = %4790
  %4797 = load i32, ptr %3214, align 4, !tbaa !5
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = call i32 @s2n_print_stacktrace(ptr noundef %4798) #12
  %4800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4801 = trunc nuw i8 %4800 to i1
  br i1 %4801, label %4802, label %4806

4802:                                             ; preds = %4796
  %4803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4804 = call i32 @fileno(ptr noundef %4803) #12
  %4805 = call i32 @isatty(i32 noundef %4804) #12
  %.not659 = icmp eq i32 %4805, 0
  br i1 %.not659, label %4806, label %4807

4806:                                             ; preds = %4802, %4796
  br label %4807

4807:                                             ; preds = %4802, %4806
  %.str.5.sink2373 = phi ptr [ @.str.5, %4806 ], [ @.str.2, %4802 ]
  store i32 %4797, ptr %3214, align 4, !tbaa !5
  %4808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4809 = load i32, ptr @test_count, align 4, !tbaa !5
  %4810 = load i32, ptr %2630, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror(i32 noundef %4810, ptr noundef nonnull @.str.4) #12
  %4812 = load i32, ptr %2630, align 4, !tbaa !5
  %4813 = call ptr @s2n_strerror_debug(i32 noundef %4812, ptr noundef nonnull @.str.4) #12
  %4814 = load i32, ptr %3214, align 4, !tbaa !5
  %4815 = call ptr @strerror(i32 noundef %4814) #12
  %4816 = load i32, ptr %3214, align 4, !tbaa !5
  %4817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4808, ptr noundef nonnull %.str.5.sink2373, i32 noundef %4809, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %4811, ptr noundef %4813, ptr noundef %4815, i32 noundef %4816) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4818:                                             ; preds = %4790
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = add nsw i32 %4819, 1
  store i32 %4820, ptr @test_count, align 4, !tbaa !5
  %bcmp660 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %60, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %4821 = icmp eq i32 %bcmp660, 0
  br i1 %4821, label %4844, label %4822

4822:                                             ; preds = %4818
  %4823 = load i32, ptr %3214, align 4, !tbaa !5
  %4824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4825 = call i32 @s2n_print_stacktrace(ptr noundef %4824) #12
  %4826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4827 = trunc nuw i8 %4826 to i1
  br i1 %4827, label %4828, label %4832

4828:                                             ; preds = %4822
  %4829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4830 = call i32 @fileno(ptr noundef %4829) #12
  %4831 = call i32 @isatty(i32 noundef %4830) #12
  %.not661 = icmp eq i32 %4831, 0
  br i1 %.not661, label %4832, label %4833

4832:                                             ; preds = %4828, %4822
  br label %4833

4833:                                             ; preds = %4828, %4832
  %.str.5.sink2382 = phi ptr [ @.str.5, %4832 ], [ @.str.2, %4828 ]
  store i32 %4823, ptr %3214, align 4, !tbaa !5
  %4834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4835 = load i32, ptr @test_count, align 4, !tbaa !5
  %4836 = load i32, ptr %2630, align 4, !tbaa !5
  %4837 = call ptr @s2n_strerror(i32 noundef %4836, ptr noundef nonnull @.str.4) #12
  %4838 = load i32, ptr %2630, align 4, !tbaa !5
  %4839 = call ptr @s2n_strerror_debug(i32 noundef %4838, ptr noundef nonnull @.str.4) #12
  %4840 = load i32, ptr %3214, align 4, !tbaa !5
  %4841 = call ptr @strerror(i32 noundef %4840) #12
  %4842 = load i32, ptr %3214, align 4, !tbaa !5
  %4843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4834, ptr noundef nonnull %.str.5.sink2382, i32 noundef %4835, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 497, ptr noundef %4837, ptr noundef %4839, ptr noundef %4841, i32 noundef %4842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4844:                                             ; preds = %4818
  %4845 = add nsw i32 %4819, 2
  store i32 %4845, ptr @test_count, align 4, !tbaa !5
  %4846 = load ptr, ptr %57, align 8, !tbaa !9
  %4847 = getelementptr inbounds i8, ptr %4846, i64 1844
  %4848 = load i32, ptr %4847, align 4, !tbaa !50
  %4849 = getelementptr inbounds i8, ptr %4846, i64 1840
  %4850 = load i32, ptr %4849, align 8, !tbaa !64
  %.not662 = icmp eq i32 %4848, %4850
  br i1 %.not662, label %4851, label %4873

4851:                                             ; preds = %4844
  %4852 = load i32, ptr %3214, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @s2n_print_stacktrace(ptr noundef %4853) #12
  %4855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4856 = trunc nuw i8 %4855 to i1
  br i1 %4856, label %4857, label %4861

4857:                                             ; preds = %4851
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = call i32 @fileno(ptr noundef %4858) #12
  %4860 = call i32 @isatty(i32 noundef %4859) #12
  %.not663 = icmp eq i32 %4860, 0
  br i1 %.not663, label %4861, label %4862

4861:                                             ; preds = %4857, %4851
  br label %4862

4862:                                             ; preds = %4857, %4861
  %.str.5.sink2391 = phi ptr [ @.str.5, %4861 ], [ @.str.2, %4857 ]
  store i32 %4852, ptr %3214, align 4, !tbaa !5
  %4863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4864 = load i32, ptr @test_count, align 4, !tbaa !5
  %4865 = load i32, ptr %2630, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror(i32 noundef %4865, ptr noundef nonnull @.str.4) #12
  %4867 = load i32, ptr %2630, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror_debug(i32 noundef %4867, ptr noundef nonnull @.str.4) #12
  %4869 = load i32, ptr %3214, align 4, !tbaa !5
  %4870 = call ptr @strerror(i32 noundef %4869) #12
  %4871 = load i32, ptr %3214, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4863, ptr noundef nonnull %.str.5.sink2391, i32 noundef %4864, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 498, ptr noundef %4866, ptr noundef %4868, ptr noundef %4870, i32 noundef %4871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4873:                                             ; preds = %4844
  %4874 = add nsw i32 %4819, 3
  store i32 %4874, ptr @test_count, align 4, !tbaa !5
  %4875 = call i32 @s2n_connection_set_recv_buffering(ptr noundef nonnull %4846, i1 noundef zeroext false) #12
  %4876 = icmp eq i32 %4875, -1
  br i1 %4876, label %4877, label %4899

4877:                                             ; preds = %4873
  %4878 = load i32, ptr %3214, align 4, !tbaa !5
  %4879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4880 = call i32 @s2n_print_stacktrace(ptr noundef %4879) #12
  %4881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4882 = trunc nuw i8 %4881 to i1
  br i1 %4882, label %4883, label %4887

4883:                                             ; preds = %4877
  %4884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4885 = call i32 @fileno(ptr noundef %4884) #12
  %4886 = call i32 @isatty(i32 noundef %4885) #12
  %.not667 = icmp eq i32 %4886, 0
  br i1 %.not667, label %4887, label %4888

4887:                                             ; preds = %4883, %4877
  br label %4888

4888:                                             ; preds = %4883, %4887
  %.str.5.sink2400 = phi ptr [ @.str.5, %4887 ], [ @.str.2, %4883 ]
  store i32 %4878, ptr %3214, align 4, !tbaa !5
  %4889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4890 = load i32, ptr @test_count, align 4, !tbaa !5
  %4891 = load i32, ptr %2630, align 4, !tbaa !5
  %4892 = call ptr @s2n_strerror(i32 noundef %4891, ptr noundef nonnull @.str.4) #12
  %4893 = load i32, ptr %2630, align 4, !tbaa !5
  %4894 = call ptr @s2n_strerror_debug(i32 noundef %4893, ptr noundef nonnull @.str.4) #12
  %4895 = load i32, ptr %3214, align 4, !tbaa !5
  %4896 = call ptr @strerror(i32 noundef %4895) #12
  %4897 = load i32, ptr %3214, align 4, !tbaa !5
  %4898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4889, ptr noundef nonnull %.str.5.sink2400, i32 noundef %4890, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %4892, ptr noundef %4894, ptr noundef %4896, i32 noundef %4897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4899:                                             ; preds = %4873
  %4900 = load i32, ptr @test_count, align 4, !tbaa !5
  %4901 = add nsw i32 %4900, 1
  store i32 %4901, ptr @test_count, align 4, !tbaa !5
  %4902 = load ptr, ptr %57, align 8, !tbaa !9
  %4903 = call i64 @s2n_recv(ptr noundef %4902, ptr noundef nonnull %60, i64 noundef 20, ptr noundef nonnull %59) #12
  %4904 = icmp eq i64 %4903, 20
  br i1 %4904, label %4927, label %4905

4905:                                             ; preds = %4899
  %4906 = load i32, ptr %3214, align 4, !tbaa !5
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @s2n_print_stacktrace(ptr noundef %4907) #12
  %4909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4910 = trunc nuw i8 %4909 to i1
  br i1 %4910, label %4911, label %4915

4911:                                             ; preds = %4905
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = call i32 @fileno(ptr noundef %4912) #12
  %4914 = call i32 @isatty(i32 noundef %4913) #12
  %.not664 = icmp eq i32 %4914, 0
  br i1 %.not664, label %4915, label %4916

4915:                                             ; preds = %4911, %4905
  br label %4916

4916:                                             ; preds = %4911, %4915
  %.str.5.sink2409 = phi ptr [ @.str.5, %4915 ], [ @.str.2, %4911 ]
  store i32 %4906, ptr %3214, align 4, !tbaa !5
  %4917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4918 = load i32, ptr @test_count, align 4, !tbaa !5
  %4919 = load i32, ptr %2630, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror(i32 noundef %4919, ptr noundef nonnull @.str.4) #12
  %4921 = load i32, ptr %2630, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror_debug(i32 noundef %4921, ptr noundef nonnull @.str.4) #12
  %4923 = load i32, ptr %3214, align 4, !tbaa !5
  %4924 = call ptr @strerror(i32 noundef %4923) #12
  %4925 = load i32, ptr %3214, align 4, !tbaa !5
  %4926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4917, ptr noundef nonnull %.str.5.sink2409, i32 noundef %4918, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %4920, ptr noundef %4922, ptr noundef %4924, i32 noundef %4925) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4927:                                             ; preds = %4899
  %4928 = load i32, ptr @test_count, align 4, !tbaa !5
  %4929 = add nsw i32 %4928, 1
  store i32 %4929, ptr @test_count, align 4, !tbaa !5
  %bcmp665 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %60, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %4930 = icmp eq i32 %bcmp665, 0
  br i1 %4930, label %4751, label %4931

4931:                                             ; preds = %4927
  %4932 = load i32, ptr %3214, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @s2n_print_stacktrace(ptr noundef %4933) #12
  %4935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4936 = trunc nuw i8 %4935 to i1
  br i1 %4936, label %4937, label %4941

4937:                                             ; preds = %4931
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = call i32 @fileno(ptr noundef %4938) #12
  %4940 = call i32 @isatty(i32 noundef %4939) #12
  %.not666 = icmp eq i32 %4940, 0
  br i1 %.not666, label %4941, label %4942

4941:                                             ; preds = %4937, %4931
  br label %4942

4942:                                             ; preds = %4937, %4941
  %.str.5.sink2418 = phi ptr [ @.str.5, %4941 ], [ @.str.2, %4937 ]
  store i32 %4932, ptr %3214, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = load i32, ptr %2630, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror(i32 noundef %4945, ptr noundef nonnull @.str.4) #12
  %4947 = load i32, ptr %2630, align 4, !tbaa !5
  %4948 = call ptr @s2n_strerror_debug(i32 noundef %4947, ptr noundef nonnull @.str.4) #12
  %4949 = load i32, ptr %3214, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #12
  %4951 = load i32, ptr %3214, align 4, !tbaa !5
  %4952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef nonnull %.str.5.sink2418, i32 noundef %4944, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 502, ptr noundef %4946, ptr noundef %4948, ptr noundef %4950, i32 noundef %4951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4953:                                             ; preds = %4753
  %4954 = load i32, ptr %3214, align 4, !tbaa !5
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @s2n_print_stacktrace(ptr noundef %4955) #12
  %4957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4958 = trunc nuw i8 %4957 to i1
  br i1 %4958, label %4959, label %4963

4959:                                             ; preds = %4953
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = call i32 @fileno(ptr noundef %4960) #12
  %4962 = call i32 @isatty(i32 noundef %4961) #12
  %.not658 = icmp eq i32 %4962, 0
  br i1 %.not658, label %4963, label %4964

4963:                                             ; preds = %4959, %4953
  br label %4964

4964:                                             ; preds = %4959, %4963
  %.str.5.sink2427 = phi ptr [ @.str.5, %4963 ], [ @.str.2, %4959 ]
  store i32 %4954, ptr %3214, align 4, !tbaa !5
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = load i32, ptr %2630, align 4, !tbaa !5
  %4968 = call ptr @s2n_strerror(i32 noundef %4967, ptr noundef nonnull @.str.4) #12
  %4969 = load i32, ptr %2630, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef nonnull @.str.4) #12
  %4971 = load i32, ptr %3214, align 4, !tbaa !5
  %4972 = call ptr @strerror(i32 noundef %4971) #12
  %4973 = load i32, ptr %3214, align 4, !tbaa !5
  %4974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4965, ptr noundef nonnull %.str.5.sink2427, i32 noundef %4966, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 510, ptr noundef %4968, ptr noundef %4970, ptr noundef %4972, i32 noundef %4973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4975:                                             ; preds = %4753
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #12
  %4976 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %4976, ptr %62, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = add nsw i32 %4977, 1
  store i32 %4978, ptr @test_count, align 4, !tbaa !5
  %4979 = call i32 @s2n_connection_set_config(ptr noundef %4976, ptr noundef %4760) #12
  %4980 = icmp eq i32 %4979, -1
  br i1 %4980, label %4981, label %5003

4981:                                             ; preds = %4975
  %4982 = load i32, ptr %3214, align 4, !tbaa !5
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = call i32 @s2n_print_stacktrace(ptr noundef %4983) #12
  %4985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4986 = trunc nuw i8 %4985 to i1
  br i1 %4986, label %4987, label %4991

4987:                                             ; preds = %4981
  %4988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4989 = call i32 @fileno(ptr noundef %4988) #12
  %4990 = call i32 @isatty(i32 noundef %4989) #12
  %.not657 = icmp eq i32 %4990, 0
  br i1 %.not657, label %4991, label %4992

4991:                                             ; preds = %4987, %4981
  br label %4992

4992:                                             ; preds = %4987, %4991
  %.str.5.sink2436 = phi ptr [ @.str.5, %4991 ], [ @.str.2, %4987 ]
  store i32 %4982, ptr %3214, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = load i32, ptr %2630, align 4, !tbaa !5
  %4996 = call ptr @s2n_strerror(i32 noundef %4995, ptr noundef nonnull @.str.4) #12
  %4997 = load i32, ptr %2630, align 4, !tbaa !5
  %4998 = call ptr @s2n_strerror_debug(i32 noundef %4997, ptr noundef nonnull @.str.4) #12
  %4999 = load i32, ptr %3214, align 4, !tbaa !5
  %5000 = call ptr @strerror(i32 noundef %4999) #12
  %5001 = load i32, ptr %3214, align 4, !tbaa !5
  %5002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4993, ptr noundef nonnull %.str.5.sink2436, i32 noundef %4994, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %4996, ptr noundef %4998, ptr noundef %5000, i32 noundef %5001) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5003:                                             ; preds = %4975
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = add nsw i32 %5004, 1
  store i32 %5005, ptr @test_count, align 4, !tbaa !5
  %5006 = load ptr, ptr %61, align 8, !tbaa !9
  %5007 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %5006, i1 noundef zeroext true) #12
  %5008 = icmp eq i32 %5007, -1
  br i1 %5008, label %5009, label %5031

5009:                                             ; preds = %5003
  %5010 = load i32, ptr %3214, align 4, !tbaa !5
  %5011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5012 = call i32 @s2n_print_stacktrace(ptr noundef %5011) #12
  %5013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5014 = trunc nuw i8 %5013 to i1
  br i1 %5014, label %5015, label %5019

5015:                                             ; preds = %5009
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @fileno(ptr noundef %5016) #12
  %5018 = call i32 @isatty(i32 noundef %5017) #12
  %.not656 = icmp eq i32 %5018, 0
  br i1 %.not656, label %5019, label %5020

5019:                                             ; preds = %5015, %5009
  br label %5020

5020:                                             ; preds = %5015, %5019
  %.str.5.sink2445 = phi ptr [ @.str.5, %5019 ], [ @.str.2, %5015 ]
  store i32 %5010, ptr %3214, align 4, !tbaa !5
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = load i32, ptr @test_count, align 4, !tbaa !5
  %5023 = load i32, ptr %2630, align 4, !tbaa !5
  %5024 = call ptr @s2n_strerror(i32 noundef %5023, ptr noundef nonnull @.str.4) #12
  %5025 = load i32, ptr %2630, align 4, !tbaa !5
  %5026 = call ptr @s2n_strerror_debug(i32 noundef %5025, ptr noundef nonnull @.str.4) #12
  %5027 = load i32, ptr %3214, align 4, !tbaa !5
  %5028 = call ptr @strerror(i32 noundef %5027) #12
  %5029 = load i32, ptr %3214, align 4, !tbaa !5
  %5030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5021, ptr noundef nonnull %.str.5.sink2445, i32 noundef %5022, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %5024, ptr noundef %5026, ptr noundef %5028, i32 noundef %5029) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5031:                                             ; preds = %5003
  %5032 = load i32, ptr @test_count, align 4, !tbaa !5
  %5033 = add nsw i32 %5032, 1
  store i32 %5033, ptr @test_count, align 4, !tbaa !5
  %5034 = load ptr, ptr %62, align 8, !tbaa !9
  %5035 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %5034, i1 noundef zeroext true) #12
  %5036 = icmp eq i32 %5035, -1
  br i1 %5036, label %5037, label %5059

5037:                                             ; preds = %5031
  %5038 = load i32, ptr %3214, align 4, !tbaa !5
  %5039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5040 = call i32 @s2n_print_stacktrace(ptr noundef %5039) #12
  %5041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5042 = trunc nuw i8 %5041 to i1
  br i1 %5042, label %5043, label %5047

5043:                                             ; preds = %5037
  %5044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5045 = call i32 @fileno(ptr noundef %5044) #12
  %5046 = call i32 @isatty(i32 noundef %5045) #12
  %.not655 = icmp eq i32 %5046, 0
  br i1 %.not655, label %5047, label %5048

5047:                                             ; preds = %5043, %5037
  br label %5048

5048:                                             ; preds = %5043, %5047
  %.str.5.sink2454 = phi ptr [ @.str.5, %5047 ], [ @.str.2, %5043 ]
  store i32 %5038, ptr %3214, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = load i32, ptr @test_count, align 4, !tbaa !5
  %5051 = load i32, ptr %2630, align 4, !tbaa !5
  %5052 = call ptr @s2n_strerror(i32 noundef %5051, ptr noundef nonnull @.str.4) #12
  %5053 = load i32, ptr %2630, align 4, !tbaa !5
  %5054 = call ptr @s2n_strerror_debug(i32 noundef %5053, ptr noundef nonnull @.str.4) #12
  %5055 = load i32, ptr %3214, align 4, !tbaa !5
  %5056 = call ptr @strerror(i32 noundef %5055) #12
  %5057 = load i32, ptr %3214, align 4, !tbaa !5
  %5058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5049, ptr noundef nonnull %.str.5.sink2454, i32 noundef %5050, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 516, ptr noundef %5052, ptr noundef %5054, ptr noundef %5056, i32 noundef %5057) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5059:                                             ; preds = %5031
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %63) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %63, i8 0, i64 80, i1 false)
  %5060 = load i32, ptr @test_count, align 4, !tbaa !5
  %5061 = add nsw i32 %5060, 1
  store i32 %5061, ptr @test_count, align 4, !tbaa !5
  %5062 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %63) #12
  %5063 = call zeroext i1 @s2n_result_is_ok(i32 %5062)
  br i1 %5063, label %5086, label %5064

5064:                                             ; preds = %5059
  %5065 = load i32, ptr %3214, align 4, !tbaa !5
  %5066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5067 = call i32 @s2n_print_stacktrace(ptr noundef %5066) #12
  %5068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5069 = trunc nuw i8 %5068 to i1
  br i1 %5069, label %5070, label %5074

5070:                                             ; preds = %5064
  %5071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5072 = call i32 @fileno(ptr noundef %5071) #12
  %5073 = call i32 @isatty(i32 noundef %5072) #12
  %.not610 = icmp eq i32 %5073, 0
  br i1 %.not610, label %5074, label %5075

5074:                                             ; preds = %5070, %5064
  br label %5075

5075:                                             ; preds = %5070, %5074
  %.str.5.sink2463 = phi ptr [ @.str.5, %5074 ], [ @.str.2, %5070 ]
  store i32 %5065, ptr %3214, align 4, !tbaa !5
  %5076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5077 = load i32, ptr @test_count, align 4, !tbaa !5
  %5078 = load i32, ptr %2630, align 4, !tbaa !5
  %5079 = call ptr @s2n_strerror(i32 noundef %5078, ptr noundef nonnull @.str.4) #12
  %5080 = load i32, ptr %2630, align 4, !tbaa !5
  %5081 = call ptr @s2n_strerror_debug(i32 noundef %5080, ptr noundef nonnull @.str.4) #12
  %5082 = load i32, ptr %3214, align 4, !tbaa !5
  %5083 = call ptr @strerror(i32 noundef %5082) #12
  %5084 = load i32, ptr %3214, align 4, !tbaa !5
  %5085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5076, ptr noundef nonnull %.str.5.sink2463, i32 noundef %5077, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 519, ptr noundef %5079, ptr noundef %5081, ptr noundef %5083, i32 noundef %5084) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5086:                                             ; preds = %5059
  %5087 = load i32, ptr @test_count, align 4, !tbaa !5
  %5088 = add nsw i32 %5087, 1
  store i32 %5088, ptr @test_count, align 4, !tbaa !5
  %5089 = load ptr, ptr %61, align 8, !tbaa !9
  %5090 = load ptr, ptr %62, align 8, !tbaa !9
  %5091 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5089, ptr noundef %5090, ptr noundef nonnull %63) #12
  %5092 = call zeroext i1 @s2n_result_is_ok(i32 %5091)
  br i1 %5092, label %5115, label %5093

5093:                                             ; preds = %5086
  %5094 = load i32, ptr %3214, align 4, !tbaa !5
  %5095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5096 = call i32 @s2n_print_stacktrace(ptr noundef %5095) #12
  %5097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5098 = trunc nuw i8 %5097 to i1
  br i1 %5098, label %5099, label %5103

5099:                                             ; preds = %5093
  %5100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5101 = call i32 @fileno(ptr noundef %5100) #12
  %5102 = call i32 @isatty(i32 noundef %5101) #12
  %.not611 = icmp eq i32 %5102, 0
  br i1 %.not611, label %5103, label %5104

5103:                                             ; preds = %5099, %5093
  br label %5104

5104:                                             ; preds = %5099, %5103
  %.str.5.sink2472 = phi ptr [ @.str.5, %5103 ], [ @.str.2, %5099 ]
  store i32 %5094, ptr %3214, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = load i32, ptr @test_count, align 4, !tbaa !5
  %5107 = load i32, ptr %2630, align 4, !tbaa !5
  %5108 = call ptr @s2n_strerror(i32 noundef %5107, ptr noundef nonnull @.str.4) #12
  %5109 = load i32, ptr %2630, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror_debug(i32 noundef %5109, ptr noundef nonnull @.str.4) #12
  %5111 = load i32, ptr %3214, align 4, !tbaa !5
  %5112 = call ptr @strerror(i32 noundef %5111) #12
  %5113 = load i32, ptr %3214, align 4, !tbaa !5
  %5114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5105, ptr noundef nonnull %.str.5.sink2472, i32 noundef %5106, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %5108, ptr noundef %5110, ptr noundef %5112, i32 noundef %5113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5115:                                             ; preds = %5086
  %5116 = load i32, ptr @test_count, align 4, !tbaa !5
  %5117 = add nsw i32 %5116, 1
  store i32 %5117, ptr @test_count, align 4, !tbaa !5
  %5118 = load ptr, ptr %62, align 8, !tbaa !9
  %5119 = load ptr, ptr %61, align 8, !tbaa !9
  %5120 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5118, ptr noundef %5119) #12
  %5121 = icmp eq i32 %5120, -1
  br i1 %5121, label %5122, label %5144

5122:                                             ; preds = %5115
  %5123 = load i32, ptr %3214, align 4, !tbaa !5
  %5124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5125 = call i32 @s2n_print_stacktrace(ptr noundef %5124) #12
  %5126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5127 = trunc nuw i8 %5126 to i1
  br i1 %5127, label %5128, label %5132

5128:                                             ; preds = %5122
  %5129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5130 = call i32 @fileno(ptr noundef %5129) #12
  %5131 = call i32 @isatty(i32 noundef %5130) #12
  %.not654 = icmp eq i32 %5131, 0
  br i1 %.not654, label %5132, label %5133

5132:                                             ; preds = %5128, %5122
  br label %5133

5133:                                             ; preds = %5128, %5132
  %.str.5.sink2481 = phi ptr [ @.str.5, %5132 ], [ @.str.2, %5128 ]
  store i32 %5123, ptr %3214, align 4, !tbaa !5
  %5134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5135 = load i32, ptr @test_count, align 4, !tbaa !5
  %5136 = load i32, ptr %2630, align 4, !tbaa !5
  %5137 = call ptr @s2n_strerror(i32 noundef %5136, ptr noundef nonnull @.str.4) #12
  %5138 = load i32, ptr %2630, align 4, !tbaa !5
  %5139 = call ptr @s2n_strerror_debug(i32 noundef %5138, ptr noundef nonnull @.str.4) #12
  %5140 = load i32, ptr %3214, align 4, !tbaa !5
  %5141 = call ptr @strerror(i32 noundef %5140) #12
  %5142 = load i32, ptr %3214, align 4, !tbaa !5
  %5143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5134, ptr noundef nonnull %.str.5.sink2481, i32 noundef %5135, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 521, ptr noundef %5137, ptr noundef %5139, ptr noundef %5141, i32 noundef %5142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5144:                                             ; preds = %5115
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = add nsw i32 %5145, 1
  store i32 %5146, ptr @test_count, align 4, !tbaa !5
  %5147 = getelementptr inbounds i8, ptr %63, i64 40
  %5148 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %5147) #12
  %5149 = icmp eq i32 %5148, -1
  br i1 %5149, label %5150, label %5172

5150:                                             ; preds = %5144
  %5151 = load i32, ptr %3214, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = call i32 @s2n_print_stacktrace(ptr noundef %5152) #12
  %5154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5155 = trunc nuw i8 %5154 to i1
  br i1 %5155, label %5156, label %5160

5156:                                             ; preds = %5150
  %5157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5158 = call i32 @fileno(ptr noundef %5157) #12
  %5159 = call i32 @isatty(i32 noundef %5158) #12
  %.not653 = icmp eq i32 %5159, 0
  br i1 %.not653, label %5160, label %5161

5160:                                             ; preds = %5156, %5150
  br label %5161

5161:                                             ; preds = %5156, %5160
  %.str.5.sink2490 = phi ptr [ @.str.5, %5160 ], [ @.str.2, %5156 ]
  store i32 %5151, ptr %3214, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = load i32, ptr %2630, align 4, !tbaa !5
  %5165 = call ptr @s2n_strerror(i32 noundef %5164, ptr noundef nonnull @.str.4) #12
  %5166 = load i32, ptr %2630, align 4, !tbaa !5
  %5167 = call ptr @s2n_strerror_debug(i32 noundef %5166, ptr noundef nonnull @.str.4) #12
  %5168 = load i32, ptr %3214, align 4, !tbaa !5
  %5169 = call ptr @strerror(i32 noundef %5168) #12
  %5170 = load i32, ptr %3214, align 4, !tbaa !5
  %5171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5162, ptr noundef nonnull %.str.5.sink2490, i32 noundef %5163, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5165, ptr noundef %5167, ptr noundef %5169, i32 noundef %5170) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5172:                                             ; preds = %5144
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #12
  store i32 0, ptr %64, align 4, !tbaa !5
  %5173 = load i32, ptr @test_count, align 4, !tbaa !5
  %5174 = add nsw i32 %5173, 1
  store i32 %5174, ptr @test_count, align 4, !tbaa !5
  %5175 = load ptr, ptr %61, align 8, !tbaa !9
  %5176 = call i64 @s2n_send(ptr noundef %5175, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %64) #12
  %5177 = icmp eq i64 %5176, 20
  br i1 %5177, label %5200, label %5178

5178:                                             ; preds = %5172
  %5179 = load i32, ptr %3214, align 4, !tbaa !5
  %5180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5181 = call i32 @s2n_print_stacktrace(ptr noundef %5180) #12
  %5182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5183 = trunc nuw i8 %5182 to i1
  br i1 %5183, label %5184, label %5188

5184:                                             ; preds = %5178
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = call i32 @fileno(ptr noundef %5185) #12
  %5187 = call i32 @isatty(i32 noundef %5186) #12
  %.not612 = icmp eq i32 %5187, 0
  br i1 %.not612, label %5188, label %5189

5188:                                             ; preds = %5184, %5178
  br label %5189

5189:                                             ; preds = %5184, %5188
  %.str.5.sink2499 = phi ptr [ @.str.5, %5188 ], [ @.str.2, %5184 ]
  store i32 %5179, ptr %3214, align 4, !tbaa !5
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = load i32, ptr @test_count, align 4, !tbaa !5
  %5192 = load i32, ptr %2630, align 4, !tbaa !5
  %5193 = call ptr @s2n_strerror(i32 noundef %5192, ptr noundef nonnull @.str.4) #12
  %5194 = load i32, ptr %2630, align 4, !tbaa !5
  %5195 = call ptr @s2n_strerror_debug(i32 noundef %5194, ptr noundef nonnull @.str.4) #12
  %5196 = load i32, ptr %3214, align 4, !tbaa !5
  %5197 = call ptr @strerror(i32 noundef %5196) #12
  %5198 = load i32, ptr %3214, align 4, !tbaa !5
  %5199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5190, ptr noundef nonnull %.str.5.sink2499, i32 noundef %5191, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %5193, ptr noundef %5195, ptr noundef %5197, i32 noundef %5198) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5200:                                             ; preds = %5172
  %5201 = load i32, ptr @test_count, align 4, !tbaa !5
  %5202 = add nsw i32 %5201, 1
  store i32 %5202, ptr @test_count, align 4, !tbaa !5
  %5203 = load ptr, ptr %61, align 8, !tbaa !9
  %5204 = call i64 @s2n_send(ptr noundef %5203, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %64) #12
  %5205 = icmp eq i64 %5204, 20
  br i1 %5205, label %5228, label %5206

5206:                                             ; preds = %5200
  %5207 = load i32, ptr %3214, align 4, !tbaa !5
  %5208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5209 = call i32 @s2n_print_stacktrace(ptr noundef %5208) #12
  %5210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5211 = trunc nuw i8 %5210 to i1
  br i1 %5211, label %5212, label %5216

5212:                                             ; preds = %5206
  %5213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5214 = call i32 @fileno(ptr noundef %5213) #12
  %5215 = call i32 @isatty(i32 noundef %5214) #12
  %.not613 = icmp eq i32 %5215, 0
  br i1 %.not613, label %5216, label %5217

5216:                                             ; preds = %5212, %5206
  br label %5217

5217:                                             ; preds = %5212, %5216
  %.str.5.sink2508 = phi ptr [ @.str.5, %5216 ], [ @.str.2, %5212 ]
  store i32 %5207, ptr %3214, align 4, !tbaa !5
  %5218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5219 = load i32, ptr @test_count, align 4, !tbaa !5
  %5220 = load i32, ptr %2630, align 4, !tbaa !5
  %5221 = call ptr @s2n_strerror(i32 noundef %5220, ptr noundef nonnull @.str.4) #12
  %5222 = load i32, ptr %2630, align 4, !tbaa !5
  %5223 = call ptr @s2n_strerror_debug(i32 noundef %5222, ptr noundef nonnull @.str.4) #12
  %5224 = load i32, ptr %3214, align 4, !tbaa !5
  %5225 = call ptr @strerror(i32 noundef %5224) #12
  %5226 = load i32, ptr %3214, align 4, !tbaa !5
  %5227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5218, ptr noundef nonnull %.str.5.sink2508, i32 noundef %5219, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 527, ptr noundef %5221, ptr noundef %5223, ptr noundef %5225, i32 noundef %5226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5228:                                             ; preds = %5200
  %5229 = lshr i32 %610, 1
  %5230 = getelementptr inbounds i8, ptr %63, i64 68
  store i32 %5229, ptr %5230, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %65) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(20) %65, i8 0, i64 20, i1 false)
  %5231 = load i32, ptr @test_count, align 4, !tbaa !5
  %5232 = add nsw i32 %5231, 1
  store i32 %5232, ptr @test_count, align 4, !tbaa !5
  %5233 = load ptr, ptr %62, align 8, !tbaa !9
  %5234 = call i64 @s2n_recv(ptr noundef %5233, ptr noundef nonnull %65, i64 noundef 20, ptr noundef nonnull %64) #12
  %5235 = icmp eq i64 %5234, -1
  br i1 %5235, label %5258, label %5236

5236:                                             ; preds = %5228
  %5237 = load i32, ptr %3214, align 4, !tbaa !5
  %5238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5239 = call i32 @s2n_print_stacktrace(ptr noundef %5238) #12
  %5240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5241 = trunc nuw i8 %5240 to i1
  br i1 %5241, label %5242, label %5246

5242:                                             ; preds = %5236
  %5243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5244 = call i32 @fileno(ptr noundef %5243) #12
  %5245 = call i32 @isatty(i32 noundef %5244) #12
  %.not614 = icmp eq i32 %5245, 0
  br i1 %.not614, label %5246, label %5247

5246:                                             ; preds = %5242, %5236
  br label %5247

5247:                                             ; preds = %5242, %5246
  %.str.5.sink2517 = phi ptr [ @.str.5, %5246 ], [ @.str.2, %5242 ]
  store i32 %5237, ptr %3214, align 4, !tbaa !5
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = load i32, ptr @test_count, align 4, !tbaa !5
  %5250 = load i32, ptr %2630, align 4, !tbaa !5
  %5251 = call ptr @s2n_strerror(i32 noundef %5250, ptr noundef nonnull @.str.4) #12
  %5252 = load i32, ptr %2630, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror_debug(i32 noundef %5252, ptr noundef nonnull @.str.4) #12
  %5254 = load i32, ptr %3214, align 4, !tbaa !5
  %5255 = call ptr @strerror(i32 noundef %5254) #12
  %5256 = load i32, ptr %3214, align 4, !tbaa !5
  %5257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5248, ptr noundef nonnull %.str.5.sink2517, i32 noundef %5249, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %5251, ptr noundef %5253, ptr noundef %5255, i32 noundef %5256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5258:                                             ; preds = %5228
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = add nsw i32 %5259, 1
  store i32 %5260, ptr @test_count, align 4, !tbaa !5
  %5261 = load i32, ptr %2630, align 4, !tbaa !5
  %5262 = icmp eq i32 %5261, 201326592
  br i1 %5262, label %5285, label %5263

5263:                                             ; preds = %5258
  %5264 = load i32, ptr %3214, align 4, !tbaa !5
  %5265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5266 = call i32 @s2n_print_stacktrace(ptr noundef %5265) #12
  %5267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5268 = trunc nuw i8 %5267 to i1
  br i1 %5268, label %5269, label %5273

5269:                                             ; preds = %5263
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = call i32 @fileno(ptr noundef %5270) #12
  %5272 = call i32 @isatty(i32 noundef %5271) #12
  %.not615 = icmp eq i32 %5272, 0
  br i1 %.not615, label %5273, label %5274

5273:                                             ; preds = %5269, %5263
  br label %5274

5274:                                             ; preds = %5269, %5273
  %.str.5.sink2526 = phi ptr [ @.str.5, %5273 ], [ @.str.2, %5269 ]
  store i32 %5264, ptr %3214, align 4, !tbaa !5
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = load i32, ptr %2630, align 4, !tbaa !5
  %5278 = call ptr @s2n_strerror(i32 noundef %5277, ptr noundef nonnull @.str.4) #12
  %5279 = load i32, ptr %2630, align 4, !tbaa !5
  %5280 = call ptr @s2n_strerror_debug(i32 noundef %5279, ptr noundef nonnull @.str.4) #12
  %5281 = load i32, ptr %3214, align 4, !tbaa !5
  %5282 = call ptr @strerror(i32 noundef %5281) #12
  %5283 = load i32, ptr %3214, align 4, !tbaa !5
  %5284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5275, ptr noundef nonnull %.str.5.sink2526, i32 noundef %5276, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %5278, ptr noundef %5280, ptr noundef %5282, i32 noundef %5283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5285:                                             ; preds = %5258
  %5286 = add nsw i32 %5259, 2
  store i32 %5286, ptr @test_count, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5288 = icmp eq ptr %5287, null
  br i1 %5288, label %5289, label %5311

5289:                                             ; preds = %5285
  %5290 = load i32, ptr %3214, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = call i32 @s2n_print_stacktrace(ptr noundef %5291) #12
  %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 = %5289
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5297 = call i32 @fileno(ptr noundef %5296) #12
  %5298 = call i32 @isatty(i32 noundef %5297) #12
  %.not652 = icmp eq i32 %5298, 0
  br i1 %.not652, label %5299, label %5300

5299:                                             ; preds = %5295, %5289
  br label %5300

5300:                                             ; preds = %5295, %5299
  %.str.5.sink2535 = phi ptr [ @.str.5, %5299 ], [ @.str.2, %5295 ]
  store i32 %5290, ptr %3214, align 4, !tbaa !5
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5302 = load i32, ptr @test_count, align 4, !tbaa !5
  %5303 = load i32, ptr %2630, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror(i32 noundef %5303, ptr noundef nonnull @.str.4) #12
  %5305 = load i32, ptr %2630, align 4, !tbaa !5
  %5306 = call ptr @s2n_strerror_debug(i32 noundef %5305, ptr noundef nonnull @.str.4) #12
  %5307 = load i32, ptr %3214, align 4, !tbaa !5
  %5308 = call ptr @strerror(i32 noundef %5307) #12
  %5309 = load i32, ptr %3214, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5301, ptr noundef nonnull %.str.5.sink2535, i32 noundef %5302, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %5304, ptr noundef %5306, ptr noundef %5308, i32 noundef %5309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5311:                                             ; preds = %5285
  store i32 0, ptr %2630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3214, align 4, !tbaa !5
  %5312 = load i32, ptr @test_count, align 4, !tbaa !5
  %5313 = add nsw i32 %5312, 1
  store i32 %5313, ptr @test_count, align 4, !tbaa !5
  %5314 = load ptr, ptr %62, align 8, !tbaa !9
  %5315 = getelementptr inbounds i8, ptr %5314, i64 1884
  %5316 = load i32, ptr %5315, align 4, !tbaa !65
  %5317 = getelementptr inbounds i8, ptr %5314, i64 1880
  %5318 = load i32, ptr %5317, align 8, !tbaa !66
  %.not616 = icmp eq i32 %5316, %5318
  br i1 %.not616, label %5319, label %5341

5319:                                             ; preds = %5311
  %5320 = load i32, ptr %3214, align 4, !tbaa !5
  %5321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5322 = call i32 @s2n_print_stacktrace(ptr noundef %5321) #12
  %5323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5324 = trunc nuw i8 %5323 to i1
  br i1 %5324, label %5325, label %5329

5325:                                             ; preds = %5319
  %5326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5327 = call i32 @fileno(ptr noundef %5326) #12
  %5328 = call i32 @isatty(i32 noundef %5327) #12
  %.not617 = icmp eq i32 %5328, 0
  br i1 %.not617, label %5329, label %5330

5329:                                             ; preds = %5325, %5319
  br label %5330

5330:                                             ; preds = %5325, %5329
  %.str.5.sink2544 = phi ptr [ @.str.5, %5329 ], [ @.str.2, %5325 ]
  store i32 %5320, ptr %3214, align 4, !tbaa !5
  %5331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5332 = load i32, ptr @test_count, align 4, !tbaa !5
  %5333 = load i32, ptr %2630, align 4, !tbaa !5
  %5334 = call ptr @s2n_strerror(i32 noundef %5333, ptr noundef nonnull @.str.4) #12
  %5335 = load i32, ptr %2630, align 4, !tbaa !5
  %5336 = call ptr @s2n_strerror_debug(i32 noundef %5335, ptr noundef nonnull @.str.4) #12
  %5337 = load i32, ptr %3214, align 4, !tbaa !5
  %5338 = call ptr @strerror(i32 noundef %5337) #12
  %5339 = load i32, ptr %3214, align 4, !tbaa !5
  %5340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5331, ptr noundef nonnull %.str.5.sink2544, i32 noundef %5332, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 535, ptr noundef %5334, ptr noundef %5336, ptr noundef %5338, i32 noundef %5339) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5341:                                             ; preds = %5311
  %5342 = add nsw i32 %5312, 2
  store i32 %5342, ptr @test_count, align 4, !tbaa !5
  %5343 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %5314) #12
  %5344 = icmp eq i32 %5343, -1
  br i1 %5344, label %5367, label %5345

5345:                                             ; preds = %5341
  %5346 = load i32, ptr %3214, align 4, !tbaa !5
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = call i32 @s2n_print_stacktrace(ptr noundef %5347) #12
  %5349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5350 = trunc nuw i8 %5349 to i1
  br i1 %5350, label %5351, label %5355

5351:                                             ; preds = %5345
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5353 = call i32 @fileno(ptr noundef %5352) #12
  %5354 = call i32 @isatty(i32 noundef %5353) #12
  %.not618 = icmp eq i32 %5354, 0
  br i1 %.not618, label %5355, label %5356

5355:                                             ; preds = %5351, %5345
  br label %5356

5356:                                             ; preds = %5351, %5355
  %.str.5.sink2553 = phi ptr [ @.str.5, %5355 ], [ @.str.2, %5351 ]
  store i32 %5346, ptr %3214, align 4, !tbaa !5
  %5357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5358 = load i32, ptr @test_count, align 4, !tbaa !5
  %5359 = load i32, ptr %2630, align 4, !tbaa !5
  %5360 = call ptr @s2n_strerror(i32 noundef %5359, ptr noundef nonnull @.str.4) #12
  %5361 = load i32, ptr %2630, align 4, !tbaa !5
  %5362 = call ptr @s2n_strerror_debug(i32 noundef %5361, ptr noundef nonnull @.str.4) #12
  %5363 = load i32, ptr %3214, align 4, !tbaa !5
  %5364 = call ptr @strerror(i32 noundef %5363) #12
  %5365 = load i32, ptr %3214, align 4, !tbaa !5
  %5366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5357, ptr noundef nonnull %.str.5.sink2553, i32 noundef %5358, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5360, ptr noundef %5362, ptr noundef %5364, i32 noundef %5365) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5367:                                             ; preds = %5341
  %5368 = load i32, ptr @test_count, align 4, !tbaa !5
  %5369 = add nsw i32 %5368, 1
  store i32 %5369, ptr @test_count, align 4, !tbaa !5
  %5370 = load i32, ptr %2630, align 4, !tbaa !5
  %5371 = icmp eq i32 %5370, 402653204
  br i1 %5371, label %5394, label %5372

5372:                                             ; preds = %5367
  %5373 = load i32, ptr %3214, align 4, !tbaa !5
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5375 = call i32 @s2n_print_stacktrace(ptr noundef %5374) #12
  %5376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5377 = trunc nuw i8 %5376 to i1
  br i1 %5377, label %5378, label %5382

5378:                                             ; preds = %5372
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = call i32 @fileno(ptr noundef %5379) #12
  %5381 = call i32 @isatty(i32 noundef %5380) #12
  %.not619 = icmp eq i32 %5381, 0
  br i1 %.not619, label %5382, label %5383

5382:                                             ; preds = %5378, %5372
  br label %5383

5383:                                             ; preds = %5378, %5382
  %.str.5.sink2562 = phi ptr [ @.str.5, %5382 ], [ @.str.2, %5378 ]
  store i32 %5373, ptr %3214, align 4, !tbaa !5
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5385 = load i32, ptr @test_count, align 4, !tbaa !5
  %5386 = load i32, ptr %2630, align 4, !tbaa !5
  %5387 = call ptr @s2n_strerror(i32 noundef %5386, ptr noundef nonnull @.str.4) #12
  %5388 = load i32, ptr %2630, align 4, !tbaa !5
  %5389 = call ptr @s2n_strerror_debug(i32 noundef %5388, ptr noundef nonnull @.str.4) #12
  %5390 = load i32, ptr %3214, align 4, !tbaa !5
  %5391 = call ptr @strerror(i32 noundef %5390) #12
  %5392 = load i32, ptr %3214, align 4, !tbaa !5
  %5393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5384, ptr noundef nonnull %.str.5.sink2562, i32 noundef %5385, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5387, ptr noundef %5389, ptr noundef %5391, i32 noundef %5392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5394:                                             ; preds = %5367
  %5395 = add nsw i32 %5368, 2
  store i32 %5395, ptr @test_count, align 4, !tbaa !5
  %5396 = call ptr @s2n_strerror_debug(i32 noundef 402653204, ptr noundef nonnull @.str.4) #12
  %5397 = icmp eq ptr %5396, null
  br i1 %5397, label %5398, label %5420

5398:                                             ; preds = %5394
  %5399 = load i32, ptr %3214, align 4, !tbaa !5
  %5400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5401 = call i32 @s2n_print_stacktrace(ptr noundef %5400) #12
  %5402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5403 = trunc nuw i8 %5402 to i1
  br i1 %5403, label %5404, label %5408

5404:                                             ; preds = %5398
  %5405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5406 = call i32 @fileno(ptr noundef %5405) #12
  %5407 = call i32 @isatty(i32 noundef %5406) #12
  %.not651 = icmp eq i32 %5407, 0
  br i1 %.not651, label %5408, label %5409

5408:                                             ; preds = %5404, %5398
  br label %5409

5409:                                             ; preds = %5404, %5408
  %.str.5.sink2571 = phi ptr [ @.str.5, %5408 ], [ @.str.2, %5404 ]
  store i32 %5399, ptr %3214, align 4, !tbaa !5
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = load i32, ptr @test_count, align 4, !tbaa !5
  %5412 = load i32, ptr %2630, align 4, !tbaa !5
  %5413 = call ptr @s2n_strerror(i32 noundef %5412, ptr noundef nonnull @.str.4) #12
  %5414 = load i32, ptr %2630, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror_debug(i32 noundef %5414, ptr noundef nonnull @.str.4) #12
  %5416 = load i32, ptr %3214, align 4, !tbaa !5
  %5417 = call ptr @strerror(i32 noundef %5416) #12
  %5418 = load i32, ptr %3214, align 4, !tbaa !5
  %5419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5410, ptr noundef nonnull %.str.5.sink2571, i32 noundef %5411, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5413, ptr noundef %5415, ptr noundef %5417, i32 noundef %5418) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5420:                                             ; preds = %5394
  store i32 0, ptr %2630, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %3214, align 4, !tbaa !5
  %5421 = shl i32 %610, 1
  store i32 %5421, ptr %5230, align 4, !tbaa !15
  %5422 = load i32, ptr @test_count, align 4, !tbaa !5
  %5423 = add nsw i32 %5422, 1
  store i32 %5423, ptr @test_count, align 4, !tbaa !5
  %5424 = load ptr, ptr %62, align 8, !tbaa !9
  %5425 = call i64 @s2n_recv(ptr noundef %5424, ptr noundef nonnull %65, i64 noundef 20, ptr noundef nonnull %64) #12
  %5426 = icmp eq i64 %5425, 20
  br i1 %5426, label %5449, label %5427

5427:                                             ; preds = %5420
  %5428 = load i32, ptr %3214, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = call i32 @s2n_print_stacktrace(ptr noundef %5429) #12
  %5431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5432 = trunc nuw i8 %5431 to i1
  br i1 %5432, label %5433, label %5437

5433:                                             ; preds = %5427
  %5434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5435 = call i32 @fileno(ptr noundef %5434) #12
  %5436 = call i32 @isatty(i32 noundef %5435) #12
  %.not620 = icmp eq i32 %5436, 0
  br i1 %.not620, label %5437, label %5438

5437:                                             ; preds = %5433, %5427
  br label %5438

5438:                                             ; preds = %5433, %5437
  %.str.5.sink2580 = phi ptr [ @.str.5, %5437 ], [ @.str.2, %5433 ]
  store i32 %5428, ptr %3214, align 4, !tbaa !5
  %5439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5440 = load i32, ptr @test_count, align 4, !tbaa !5
  %5441 = load i32, ptr %2630, align 4, !tbaa !5
  %5442 = call ptr @s2n_strerror(i32 noundef %5441, ptr noundef nonnull @.str.4) #12
  %5443 = load i32, ptr %2630, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror_debug(i32 noundef %5443, ptr noundef nonnull @.str.4) #12
  %5445 = load i32, ptr %3214, align 4, !tbaa !5
  %5446 = call ptr @strerror(i32 noundef %5445) #12
  %5447 = load i32, ptr %3214, align 4, !tbaa !5
  %5448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5439, ptr noundef nonnull %.str.5.sink2580, i32 noundef %5440, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 543, ptr noundef %5442, ptr noundef %5444, ptr noundef %5446, i32 noundef %5447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5449:                                             ; preds = %5420
  %5450 = load i32, ptr @test_count, align 4, !tbaa !5
  %5451 = add nsw i32 %5450, 1
  store i32 %5451, ptr @test_count, align 4, !tbaa !5
  %bcmp621 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %65, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %5452 = icmp eq i32 %bcmp621, 0
  br i1 %5452, label %5475, label %5453

5453:                                             ; preds = %5449
  %5454 = load i32, ptr %3214, align 4, !tbaa !5
  %5455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5456 = call i32 @s2n_print_stacktrace(ptr noundef %5455) #12
  %5457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5458 = trunc nuw i8 %5457 to i1
  br i1 %5458, label %5459, label %5463

5459:                                             ; preds = %5453
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = call i32 @fileno(ptr noundef %5460) #12
  %5462 = call i32 @isatty(i32 noundef %5461) #12
  %.not622 = icmp eq i32 %5462, 0
  br i1 %.not622, label %5463, label %5464

5463:                                             ; preds = %5459, %5453
  br label %5464

5464:                                             ; preds = %5459, %5463
  %.str.5.sink2589 = phi ptr [ @.str.5, %5463 ], [ @.str.2, %5459 ]
  store i32 %5454, ptr %3214, align 4, !tbaa !5
  %5465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5466 = load i32, ptr @test_count, align 4, !tbaa !5
  %5467 = load i32, ptr %2630, align 4, !tbaa !5
  %5468 = call ptr @s2n_strerror(i32 noundef %5467, ptr noundef nonnull @.str.4) #12
  %5469 = load i32, ptr %2630, align 4, !tbaa !5
  %5470 = call ptr @s2n_strerror_debug(i32 noundef %5469, ptr noundef nonnull @.str.4) #12
  %5471 = load i32, ptr %3214, align 4, !tbaa !5
  %5472 = call ptr @strerror(i32 noundef %5471) #12
  %5473 = load i32, ptr %3214, align 4, !tbaa !5
  %5474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5465, ptr noundef nonnull %.str.5.sink2589, i32 noundef %5466, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 544, ptr noundef %5468, ptr noundef %5470, ptr noundef %5472, i32 noundef %5473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5475:                                             ; preds = %5449
  %5476 = add nsw i32 %5450, 2
  store i32 %5476, ptr @test_count, align 4, !tbaa !5
  %5477 = load ptr, ptr %62, align 8, !tbaa !9
  %5478 = getelementptr inbounds i8, ptr %5477, i64 1844
  %5479 = load i32, ptr %5478, align 4, !tbaa !50
  %5480 = getelementptr inbounds i8, ptr %5477, i64 1840
  %5481 = load i32, ptr %5480, align 8, !tbaa !64
  %.not623 = icmp eq i32 %5479, %5481
  br i1 %.not623, label %5482, label %5504

5482:                                             ; preds = %5475
  %5483 = load i32, ptr %3214, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = call i32 @s2n_print_stacktrace(ptr noundef %5484) #12
  %5486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5487 = trunc nuw i8 %5486 to i1
  br i1 %5487, label %5488, label %5492

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

5492:                                             ; preds = %5488, %5482
  br label %5493

5493:                                             ; preds = %5488, %5492
  %.str.5.sink2598 = phi ptr [ @.str.5, %5492 ], [ @.str.2, %5488 ]
  store i32 %5483, ptr %3214, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = load i32, ptr @test_count, align 4, !tbaa !5
  %5496 = load i32, ptr %2630, align 4, !tbaa !5
  %5497 = call ptr @s2n_strerror(i32 noundef %5496, ptr noundef nonnull @.str.4) #12
  %5498 = load i32, ptr %2630, align 4, !tbaa !5
  %5499 = call ptr @s2n_strerror_debug(i32 noundef %5498, ptr noundef nonnull @.str.4) #12
  %5500 = load i32, ptr %3214, align 4, !tbaa !5
  %5501 = call ptr @strerror(i32 noundef %5500) #12
  %5502 = load i32, ptr %3214, align 4, !tbaa !5
  %5503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5494, ptr noundef nonnull %.str.5.sink2598, i32 noundef %5495, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %5497, ptr noundef %5499, ptr noundef %5501, i32 noundef %5502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5504:                                             ; preds = %5475
  %5505 = add nsw i32 %5450, 3
  store i32 %5505, ptr @test_count, align 4, !tbaa !5
  %5506 = call i32 @s2n_connection_release_buffers(ptr noundef nonnull %5477) #12
  %5507 = icmp eq i32 %5506, -1
  br i1 %5507, label %5508, label %5530

5508:                                             ; preds = %5504
  %5509 = load i32, ptr %3214, align 4, !tbaa !5
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5511 = call i32 @s2n_print_stacktrace(ptr noundef %5510) #12
  %5512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5513 = trunc nuw i8 %5512 to i1
  br i1 %5513, label %5514, label %5518

5514:                                             ; preds = %5508
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5516 = call i32 @fileno(ptr noundef %5515) #12
  %5517 = call i32 @isatty(i32 noundef %5516) #12
  %.not650 = icmp eq i32 %5517, 0
  br i1 %.not650, label %5518, label %5519

5518:                                             ; preds = %5514, %5508
  br label %5519

5519:                                             ; preds = %5514, %5518
  %.str.5.sink2607 = phi ptr [ @.str.5, %5518 ], [ @.str.2, %5514 ]
  store i32 %5509, ptr %3214, align 4, !tbaa !5
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5521 = load i32, ptr @test_count, align 4, !tbaa !5
  %5522 = load i32, ptr %2630, align 4, !tbaa !5
  %5523 = call ptr @s2n_strerror(i32 noundef %5522, ptr noundef nonnull @.str.4) #12
  %5524 = load i32, ptr %2630, align 4, !tbaa !5
  %5525 = call ptr @s2n_strerror_debug(i32 noundef %5524, ptr noundef nonnull @.str.4) #12
  %5526 = load i32, ptr %3214, align 4, !tbaa !5
  %5527 = call ptr @strerror(i32 noundef %5526) #12
  %5528 = load i32, ptr %3214, align 4, !tbaa !5
  %5529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5520, ptr noundef nonnull %.str.5.sink2607, i32 noundef %5521, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %5523, ptr noundef %5525, ptr noundef %5527, i32 noundef %5528) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5530:                                             ; preds = %5504
  %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
  %5533 = load ptr, ptr %62, align 8, !tbaa !9
  %5534 = getelementptr inbounds i8, ptr %5533, i64 1844
  %5535 = load i32, ptr %5534, align 4, !tbaa !50
  %5536 = getelementptr inbounds i8, ptr %5533, i64 1840
  %5537 = load i32, ptr %5536, align 8, !tbaa !64
  %.not625 = icmp eq i32 %5535, %5537
  br i1 %.not625, label %5538, label %5560

5538:                                             ; preds = %5530
  %5539 = load i32, ptr %3214, align 4, !tbaa !5
  %5540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5541 = call i32 @s2n_print_stacktrace(ptr noundef %5540) #12
  %5542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5543 = trunc nuw i8 %5542 to i1
  br i1 %5543, label %5544, label %5548

5544:                                             ; preds = %5538
  %5545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5546 = call i32 @fileno(ptr noundef %5545) #12
  %5547 = call i32 @isatty(i32 noundef %5546) #12
  %.not626 = icmp eq i32 %5547, 0
  br i1 %.not626, label %5548, label %5549

5548:                                             ; preds = %5544, %5538
  br label %5549

5549:                                             ; preds = %5544, %5548
  %.str.5.sink2616 = phi ptr [ @.str.5, %5548 ], [ @.str.2, %5544 ]
  store i32 %5539, ptr %3214, align 4, !tbaa !5
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = load i32, ptr @test_count, align 4, !tbaa !5
  %5552 = load i32, ptr %2630, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror(i32 noundef %5552, ptr noundef nonnull @.str.4) #12
  %5554 = load i32, ptr %2630, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror_debug(i32 noundef %5554, ptr noundef nonnull @.str.4) #12
  %5556 = load i32, ptr %3214, align 4, !tbaa !5
  %5557 = call ptr @strerror(i32 noundef %5556) #12
  %5558 = load i32, ptr %3214, align 4, !tbaa !5
  %5559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5550, ptr noundef nonnull %.str.5.sink2616, i32 noundef %5551, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 549, ptr noundef %5553, ptr noundef %5555, ptr noundef %5557, i32 noundef %5558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5560:                                             ; preds = %5530
  %5561 = add nsw i32 %5531, 2
  store i32 %5561, ptr @test_count, align 4, !tbaa !5
  %5562 = call i64 @s2n_recv(ptr noundef nonnull %5533, ptr noundef nonnull %65, i64 noundef 20, ptr noundef nonnull %64) #12
  %5563 = icmp eq i64 %5562, 20
  br i1 %5563, label %5586, label %5564

5564:                                             ; preds = %5560
  %5565 = load i32, ptr %3214, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = call i32 @s2n_print_stacktrace(ptr noundef %5566) #12
  %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 = %5564
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = call i32 @fileno(ptr noundef %5571) #12
  %5573 = call i32 @isatty(i32 noundef %5572) #12
  %.not627 = icmp eq i32 %5573, 0
  br i1 %.not627, label %5574, label %5575

5574:                                             ; preds = %5570, %5564
  br label %5575

5575:                                             ; preds = %5570, %5574
  %.str.5.sink2625 = phi ptr [ @.str.5, %5574 ], [ @.str.2, %5570 ]
  store i32 %5565, ptr %3214, align 4, !tbaa !5
  %5576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5577 = load i32, ptr @test_count, align 4, !tbaa !5
  %5578 = load i32, ptr %2630, align 4, !tbaa !5
  %5579 = call ptr @s2n_strerror(i32 noundef %5578, ptr noundef nonnull @.str.4) #12
  %5580 = load i32, ptr %2630, align 4, !tbaa !5
  %5581 = call ptr @s2n_strerror_debug(i32 noundef %5580, ptr noundef nonnull @.str.4) #12
  %5582 = load i32, ptr %3214, align 4, !tbaa !5
  %5583 = call ptr @strerror(i32 noundef %5582) #12
  %5584 = load i32, ptr %3214, align 4, !tbaa !5
  %5585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5576, ptr noundef nonnull %.str.5.sink2625, i32 noundef %5577, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 552, ptr noundef %5579, ptr noundef %5581, ptr noundef %5583, i32 noundef %5584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5586:                                             ; preds = %5560
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = add nsw i32 %5587, 1
  store i32 %5588, ptr @test_count, align 4, !tbaa !5
  %bcmp628 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %65, ptr noundef nonnull dereferenceable(20) %3, i64 20)
  %5589 = icmp eq i32 %bcmp628, 0
  br i1 %5589, label %5612, label %5590

5590:                                             ; preds = %5586
  %5591 = load i32, ptr %3214, align 4, !tbaa !5
  %5592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5593 = call i32 @s2n_print_stacktrace(ptr noundef %5592) #12
  %5594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5595 = trunc nuw i8 %5594 to i1
  br i1 %5595, label %5596, label %5600

5596:                                             ; preds = %5590
  %5597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5598 = call i32 @fileno(ptr noundef %5597) #12
  %5599 = call i32 @isatty(i32 noundef %5598) #12
  %.not629 = icmp eq i32 %5599, 0
  br i1 %.not629, label %5600, label %5601

5600:                                             ; preds = %5596, %5590
  br label %5601

5601:                                             ; preds = %5596, %5600
  %.str.5.sink2634 = phi ptr [ @.str.5, %5600 ], [ @.str.2, %5596 ]
  store i32 %5591, ptr %3214, align 4, !tbaa !5
  %5602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5603 = load i32, ptr @test_count, align 4, !tbaa !5
  %5604 = load i32, ptr %2630, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef nonnull @.str.4) #12
  %5606 = load i32, ptr %2630, align 4, !tbaa !5
  %5607 = call ptr @s2n_strerror_debug(i32 noundef %5606, ptr noundef nonnull @.str.4) #12
  %5608 = load i32, ptr %3214, align 4, !tbaa !5
  %5609 = call ptr @strerror(i32 noundef %5608) #12
  %5610 = load i32, ptr %3214, align 4, !tbaa !5
  %5611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5602, ptr noundef nonnull %.str.5.sink2634, i32 noundef %5603, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %5605, ptr noundef %5607, ptr noundef %5609, i32 noundef %5610) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5612:                                             ; preds = %5586
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #12
  %5613 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %63) #12
  %5614 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #12
  %5615 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #12
  %5616 = load i32, ptr @test_count, align 4, !tbaa !5
  %5617 = add nsw i32 %5616, 1
  store i32 %5617, ptr @test_count, align 4, !tbaa !5
  %5618 = call i32 @s2n_peek_buffered(ptr noundef null) #12
  %5619 = icmp eq i32 %5618, 0
  br i1 %5619, label %5642, label %5620

5620:                                             ; preds = %5612
  %5621 = load i32, ptr %3214, align 4, !tbaa !5
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @s2n_print_stacktrace(ptr noundef %5622) #12
  %5624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5625 = trunc nuw i8 %5624 to i1
  br i1 %5625, label %5626, label %5630

5626:                                             ; preds = %5620
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = call i32 @fileno(ptr noundef %5627) #12
  %5629 = call i32 @isatty(i32 noundef %5628) #12
  %.not630 = icmp eq i32 %5629, 0
  br i1 %.not630, label %5630, label %5631

5630:                                             ; preds = %5626, %5620
  br label %5631

5631:                                             ; preds = %5626, %5630
  %.str.5.sink2643 = phi ptr [ @.str.5, %5630 ], [ @.str.2, %5626 ]
  store i32 %5621, ptr %3214, align 4, !tbaa !5
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = load i32, ptr @test_count, align 4, !tbaa !5
  %5634 = load i32, ptr %2630, align 4, !tbaa !5
  %5635 = call ptr @s2n_strerror(i32 noundef %5634, ptr noundef nonnull @.str.4) #12
  %5636 = load i32, ptr %2630, align 4, !tbaa !5
  %5637 = call ptr @s2n_strerror_debug(i32 noundef %5636, ptr noundef nonnull @.str.4) #12
  %5638 = load i32, ptr %3214, align 4, !tbaa !5
  %5639 = call ptr @strerror(i32 noundef %5638) #12
  %5640 = load i32, ptr %3214, align 4, !tbaa !5
  %5641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5632, ptr noundef nonnull %.str.5.sink2643, i32 noundef %5633, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 558, ptr noundef %5635, ptr noundef %5637, ptr noundef %5639, i32 noundef %5640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5642:                                             ; preds = %5612
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #12
  %5643 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %5643, ptr %66, align 8, !tbaa !9
  %5644 = load i32, ptr @test_count, align 4, !tbaa !5
  %5645 = add nsw i32 %5644, 1
  store i32 %5645, ptr @test_count, align 4, !tbaa !5
  %5646 = load ptr, ptr %6, align 8, !tbaa !9
  %5647 = call i32 @s2n_connection_set_config(ptr noundef %5643, ptr noundef %5646) #12
  %5648 = icmp eq i32 %5647, -1
  br i1 %5648, label %5649, label %5671

5649:                                             ; preds = %5642
  %5650 = load i32, ptr %3214, align 4, !tbaa !5
  %5651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5652 = call i32 @s2n_print_stacktrace(ptr noundef %5651) #12
  %5653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5654 = trunc nuw i8 %5653 to i1
  br i1 %5654, label %5655, label %5659

5655:                                             ; preds = %5649
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @fileno(ptr noundef %5656) #12
  %5658 = call i32 @isatty(i32 noundef %5657) #12
  %.not649 = icmp eq i32 %5658, 0
  br i1 %.not649, label %5659, label %5660

5659:                                             ; preds = %5655, %5649
  br label %5660

5660:                                             ; preds = %5655, %5659
  %.str.5.sink2652 = phi ptr [ @.str.5, %5659 ], [ @.str.2, %5655 ]
  store i32 %5650, ptr %3214, align 4, !tbaa !5
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = load i32, ptr @test_count, align 4, !tbaa !5
  %5663 = load i32, ptr %2630, align 4, !tbaa !5
  %5664 = call ptr @s2n_strerror(i32 noundef %5663, ptr noundef nonnull @.str.4) #12
  %5665 = load i32, ptr %2630, align 4, !tbaa !5
  %5666 = call ptr @s2n_strerror_debug(i32 noundef %5665, ptr noundef nonnull @.str.4) #12
  %5667 = load i32, ptr %3214, align 4, !tbaa !5
  %5668 = call ptr @strerror(i32 noundef %5667) #12
  %5669 = load i32, ptr %3214, align 4, !tbaa !5
  %5670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5661, ptr noundef nonnull %.str.5.sink2652, i32 noundef %5662, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 562, ptr noundef %5664, ptr noundef %5666, ptr noundef %5668, i32 noundef %5669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5671:                                             ; preds = %5642
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #12
  %5672 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5672, ptr %67, align 8, !tbaa !9
  %5673 = load i32, ptr @test_count, align 4, !tbaa !5
  %5674 = add nsw i32 %5673, 1
  store i32 %5674, ptr @test_count, align 4, !tbaa !5
  %5675 = call i32 @s2n_connection_set_config(ptr noundef %5672, ptr noundef %5646) #12
  %5676 = icmp eq i32 %5675, -1
  br i1 %5676, label %5677, label %5699

5677:                                             ; preds = %5671
  %5678 = load i32, ptr %3214, align 4, !tbaa !5
  %5679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5680 = call i32 @s2n_print_stacktrace(ptr noundef %5679) #12
  %5681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5682 = trunc nuw i8 %5681 to i1
  br i1 %5682, label %5683, label %5687

5683:                                             ; preds = %5677
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @fileno(ptr noundef %5684) #12
  %5686 = call i32 @isatty(i32 noundef %5685) #12
  %.not648 = icmp eq i32 %5686, 0
  br i1 %.not648, label %5687, label %5688

5687:                                             ; preds = %5683, %5677
  br label %5688

5688:                                             ; preds = %5683, %5687
  %.str.5.sink2661 = phi ptr [ @.str.5, %5687 ], [ @.str.2, %5683 ]
  store i32 %5678, ptr %3214, align 4, !tbaa !5
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = load i32, ptr @test_count, align 4, !tbaa !5
  %5691 = load i32, ptr %2630, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror(i32 noundef %5691, ptr noundef nonnull @.str.4) #12
  %5693 = load i32, ptr %2630, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror_debug(i32 noundef %5693, ptr noundef nonnull @.str.4) #12
  %5695 = load i32, ptr %3214, align 4, !tbaa !5
  %5696 = call ptr @strerror(i32 noundef %5695) #12
  %5697 = load i32, ptr %3214, align 4, !tbaa !5
  %5698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5689, ptr noundef nonnull %.str.5.sink2661, i32 noundef %5690, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %5692, ptr noundef %5694, ptr noundef %5696, i32 noundef %5697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5699:                                             ; preds = %5671
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %68) #12
  store i32 1, ptr %68, align 16, !tbaa !67
  %5700 = getelementptr inbounds i8, ptr %68, i64 4
  store i32 19, ptr %5700, align 4, !tbaa !69
  %5701 = getelementptr inbounds i8, ptr %68, i64 8
  store i32 %610, ptr %5701, align 8, !tbaa !70
  %5702 = getelementptr inbounds i8, ptr %68, i64 12
  store i32 19, ptr %5702, align 4, !tbaa !67
  %5703 = getelementptr inbounds i8, ptr %68, i64 16
  store i32 1, ptr %5703, align 16, !tbaa !69
  %5704 = getelementptr inbounds i8, ptr %68, i64 20
  store i32 %610, ptr %5704, align 4, !tbaa !70
  %5705 = getelementptr inbounds i8, ptr %68, i64 24
  store i32 20, ptr %5705, align 8, !tbaa !67
  %5706 = getelementptr inbounds i8, ptr %68, i64 28
  store i32 0, ptr %5706, align 4, !tbaa !69
  %5707 = getelementptr inbounds i8, ptr %68, i64 32
  store i32 %610, ptr %5707, align 16, !tbaa !70
  %5708 = getelementptr inbounds i8, ptr %68, i64 36
  store i32 21, ptr %5708, align 4, !tbaa !67
  %5709 = getelementptr inbounds i8, ptr %68, i64 40
  store i32 19, ptr %5709, align 8, !tbaa !69
  %5710 = getelementptr inbounds i8, ptr %68, i64 44
  store i32 0, ptr %5710, align 4, !tbaa !70
  %5711 = getelementptr inbounds i8, ptr %69, i64 40
  br label %5717

5712:                                             ; preds = %6048
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %68) #12
  %5713 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #12
  %5714 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %66) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #12
  %5715 = call i32 @s2n_cleanup() #12
  %5716 = icmp eq i32 %5715, -1
  br i1 %5716, label %6051, label %6073

5717:                                             ; preds = %5699, %6048
  %.0559833 = phi i64 [ 0, %5699 ], [ %6050, %6048 ]
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %69) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %69, i8 0, i64 80, i1 false)
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = add nsw i32 %5718, 1
  store i32 %5719, ptr @test_count, align 4, !tbaa !5
  %5720 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %69) #12
  %5721 = call zeroext i1 @s2n_result_is_ok(i32 %5720)
  br i1 %5721, label %5744, label %5722

5722:                                             ; preds = %5717
  %5723 = load i32, ptr %3214, align 4, !tbaa !5
  %5724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5725 = call i32 @s2n_print_stacktrace(ptr noundef %5724) #12
  %5726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5727 = trunc nuw i8 %5726 to i1
  br i1 %5727, label %5728, label %5732

5728:                                             ; preds = %5722
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5730 = call i32 @fileno(ptr noundef %5729) #12
  %5731 = call i32 @isatty(i32 noundef %5730) #12
  %.not636 = icmp eq i32 %5731, 0
  br i1 %.not636, label %5732, label %5733

5732:                                             ; preds = %5728, %5722
  br label %5733

5733:                                             ; preds = %5728, %5732
  %.str.5.sink2670 = phi ptr [ @.str.5, %5732 ], [ @.str.2, %5728 ]
  store i32 %5723, ptr %3214, align 4, !tbaa !5
  %5734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5735 = load i32, ptr @test_count, align 4, !tbaa !5
  %5736 = load i32, ptr %2630, align 4, !tbaa !5
  %5737 = call ptr @s2n_strerror(i32 noundef %5736, ptr noundef nonnull @.str.4) #12
  %5738 = load i32, ptr %2630, align 4, !tbaa !5
  %5739 = call ptr @s2n_strerror_debug(i32 noundef %5738, ptr noundef nonnull @.str.4) #12
  %5740 = load i32, ptr %3214, align 4, !tbaa !5
  %5741 = call ptr @strerror(i32 noundef %5740) #12
  %5742 = load i32, ptr %3214, align 4, !tbaa !5
  %5743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5734, ptr noundef nonnull %.str.5.sink2670, i32 noundef %5735, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 596, ptr noundef %5737, ptr noundef %5739, ptr noundef %5741, i32 noundef %5742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5744:                                             ; preds = %5717
  %5745 = load i32, ptr @test_count, align 4, !tbaa !5
  %5746 = add nsw i32 %5745, 1
  store i32 %5746, ptr @test_count, align 4, !tbaa !5
  %5747 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %5643, ptr noundef %5672, ptr noundef nonnull %69) #12
  %5748 = call zeroext i1 @s2n_result_is_ok(i32 %5747)
  br i1 %5748, label %5771, label %5749

5749:                                             ; preds = %5744
  %5750 = load i32, ptr %3214, align 4, !tbaa !5
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = call i32 @s2n_print_stacktrace(ptr noundef %5751) #12
  %5753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5754 = trunc nuw i8 %5753 to i1
  br i1 %5754, label %5755, label %5759

5755:                                             ; preds = %5749
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5757 = call i32 @fileno(ptr noundef %5756) #12
  %5758 = call i32 @isatty(i32 noundef %5757) #12
  %.not637 = icmp eq i32 %5758, 0
  br i1 %.not637, label %5759, label %5760

5759:                                             ; preds = %5755, %5749
  br label %5760

5760:                                             ; preds = %5755, %5759
  %.str.5.sink2679 = phi ptr [ @.str.5, %5759 ], [ @.str.2, %5755 ]
  store i32 %5750, ptr %3214, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = load i32, ptr %2630, align 4, !tbaa !5
  %5764 = call ptr @s2n_strerror(i32 noundef %5763, ptr noundef nonnull @.str.4) #12
  %5765 = load i32, ptr %2630, align 4, !tbaa !5
  %5766 = call ptr @s2n_strerror_debug(i32 noundef %5765, ptr noundef nonnull @.str.4) #12
  %5767 = load i32, ptr %3214, align 4, !tbaa !5
  %5768 = call ptr @strerror(i32 noundef %5767) #12
  %5769 = load i32, ptr %3214, align 4, !tbaa !5
  %5770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5761, ptr noundef nonnull %.str.5.sink2679, i32 noundef %5762, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %5764, ptr noundef %5766, ptr noundef %5768, i32 noundef %5769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5771:                                             ; preds = %5744
  %5772 = load i32, ptr @test_count, align 4, !tbaa !5
  %5773 = add nsw i32 %5772, 1
  store i32 %5773, ptr @test_count, align 4, !tbaa !5
  %5774 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5672, ptr noundef %5643) #12
  %5775 = icmp eq i32 %5774, -1
  br i1 %5775, label %5776, label %5798

5776:                                             ; preds = %5771
  %5777 = load i32, ptr %3214, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = call i32 @s2n_print_stacktrace(ptr noundef %5778) #12
  %5780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5781 = trunc nuw i8 %5780 to i1
  br i1 %5781, label %5782, label %5786

5782:                                             ; preds = %5776
  %5783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5784 = call i32 @fileno(ptr noundef %5783) #12
  %5785 = call i32 @isatty(i32 noundef %5784) #12
  %.not647 = icmp eq i32 %5785, 0
  br i1 %.not647, label %5786, label %5787

5786:                                             ; preds = %5782, %5776
  br label %5787

5787:                                             ; preds = %5782, %5786
  %.str.5.sink2688 = phi ptr [ @.str.5, %5786 ], [ @.str.2, %5782 ]
  store i32 %5777, ptr %3214, align 4, !tbaa !5
  %5788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5789 = load i32, ptr @test_count, align 4, !tbaa !5
  %5790 = load i32, ptr %2630, align 4, !tbaa !5
  %5791 = call ptr @s2n_strerror(i32 noundef %5790, ptr noundef nonnull @.str.4) #12
  %5792 = load i32, ptr %2630, align 4, !tbaa !5
  %5793 = call ptr @s2n_strerror_debug(i32 noundef %5792, ptr noundef nonnull @.str.4) #12
  %5794 = load i32, ptr %3214, align 4, !tbaa !5
  %5795 = call ptr @strerror(i32 noundef %5794) #12
  %5796 = load i32, ptr %3214, align 4, !tbaa !5
  %5797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5788, ptr noundef nonnull %.str.5.sink2688, i32 noundef %5789, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %5791, ptr noundef %5793, ptr noundef %5795, i32 noundef %5796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5798:                                             ; preds = %5771
  %5799 = load i32, ptr @test_count, align 4, !tbaa !5
  %5800 = add nsw i32 %5799, 1
  store i32 %5800, ptr @test_count, align 4, !tbaa !5
  %5801 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %5711) #12
  %5802 = icmp eq i32 %5801, -1
  br i1 %5802, label %5803, label %5825

5803:                                             ; preds = %5798
  %5804 = load i32, ptr %3214, align 4, !tbaa !5
  %5805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5806 = call i32 @s2n_print_stacktrace(ptr noundef %5805) #12
  %5807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5808 = trunc nuw i8 %5807 to i1
  br i1 %5808, label %5809, label %5813

5809:                                             ; preds = %5803
  %5810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5811 = call i32 @fileno(ptr noundef %5810) #12
  %5812 = call i32 @isatty(i32 noundef %5811) #12
  %.not646 = icmp eq i32 %5812, 0
  br i1 %.not646, label %5813, label %5814

5813:                                             ; preds = %5809, %5803
  br label %5814

5814:                                             ; preds = %5809, %5813
  %.str.5.sink2697 = phi ptr [ @.str.5, %5813 ], [ @.str.2, %5809 ]
  store i32 %5804, ptr %3214, align 4, !tbaa !5
  %5815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5816 = load i32, ptr @test_count, align 4, !tbaa !5
  %5817 = load i32, ptr %2630, align 4, !tbaa !5
  %5818 = call ptr @s2n_strerror(i32 noundef %5817, ptr noundef nonnull @.str.4) #12
  %5819 = load i32, ptr %2630, align 4, !tbaa !5
  %5820 = call ptr @s2n_strerror_debug(i32 noundef %5819, ptr noundef nonnull @.str.4) #12
  %5821 = load i32, ptr %3214, align 4, !tbaa !5
  %5822 = call ptr @strerror(i32 noundef %5821) #12
  %5823 = load i32, ptr %3214, align 4, !tbaa !5
  %5824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5815, ptr noundef nonnull %.str.5.sink2697, i32 noundef %5816, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %5818, ptr noundef %5820, ptr noundef %5822, i32 noundef %5823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5825:                                             ; preds = %5798
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %70) #12
  store i32 0, ptr %70, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %71) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(40) %71, i8 0, i64 40, i1 false)
  %5826 = load i32, ptr @test_count, align 4, !tbaa !5
  %5827 = add nsw i32 %5826, 1
  store i32 %5827, ptr @test_count, align 4, !tbaa !5
  %5828 = call i64 @s2n_send(ptr noundef %5643, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %70) #12
  %5829 = icmp eq i64 %5828, 20
  br i1 %5829, label %5852, label %5830

5830:                                             ; preds = %5825
  %5831 = load i32, ptr %3214, align 4, !tbaa !5
  %5832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5833 = call i32 @s2n_print_stacktrace(ptr noundef %5832) #12
  %5834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5835 = trunc nuw i8 %5834 to i1
  br i1 %5835, label %5836, label %5840

5836:                                             ; preds = %5830
  %5837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5838 = call i32 @fileno(ptr noundef %5837) #12
  %5839 = call i32 @isatty(i32 noundef %5838) #12
  %.not638 = icmp eq i32 %5839, 0
  br i1 %.not638, label %5840, label %5841

5840:                                             ; preds = %5836, %5830
  br label %5841

5841:                                             ; preds = %5836, %5840
  %.str.5.sink2706 = phi ptr [ @.str.5, %5840 ], [ @.str.2, %5836 ]
  store i32 %5831, ptr %3214, align 4, !tbaa !5
  %5842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5843 = load i32, ptr @test_count, align 4, !tbaa !5
  %5844 = load i32, ptr %2630, align 4, !tbaa !5
  %5845 = call ptr @s2n_strerror(i32 noundef %5844, ptr noundef nonnull @.str.4) #12
  %5846 = load i32, ptr %2630, align 4, !tbaa !5
  %5847 = call ptr @s2n_strerror_debug(i32 noundef %5846, ptr noundef nonnull @.str.4) #12
  %5848 = load i32, ptr %3214, align 4, !tbaa !5
  %5849 = call ptr @strerror(i32 noundef %5848) #12
  %5850 = load i32, ptr %3214, align 4, !tbaa !5
  %5851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5842, ptr noundef nonnull %.str.5.sink2706, i32 noundef %5843, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %5845, ptr noundef %5847, ptr noundef %5849, i32 noundef %5850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5852:                                             ; preds = %5825
  %5853 = load i32, ptr @test_count, align 4, !tbaa !5
  %5854 = add nsw i32 %5853, 1
  store i32 %5854, ptr @test_count, align 4, !tbaa !5
  %5855 = call i64 @s2n_send(ptr noundef %5643, ptr noundef nonnull %3, i64 noundef 20, ptr noundef nonnull %70) #12
  %5856 = icmp eq i64 %5855, 20
  br i1 %5856, label %5879, label %5857

5857:                                             ; preds = %5852
  %5858 = load i32, ptr %3214, align 4, !tbaa !5
  %5859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5860 = call i32 @s2n_print_stacktrace(ptr noundef %5859) #12
  %5861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5862 = trunc nuw i8 %5861 to i1
  br i1 %5862, label %5863, label %5867

5863:                                             ; preds = %5857
  %5864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5865 = call i32 @fileno(ptr noundef %5864) #12
  %5866 = call i32 @isatty(i32 noundef %5865) #12
  %.not639 = icmp eq i32 %5866, 0
  br i1 %.not639, label %5867, label %5868

5867:                                             ; preds = %5863, %5857
  br label %5868

5868:                                             ; preds = %5863, %5867
  %.str.5.sink2715 = phi ptr [ @.str.5, %5867 ], [ @.str.2, %5863 ]
  store i32 %5858, ptr %3214, align 4, !tbaa !5
  %5869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5870 = load i32, ptr @test_count, align 4, !tbaa !5
  %5871 = load i32, ptr %2630, align 4, !tbaa !5
  %5872 = call ptr @s2n_strerror(i32 noundef %5871, ptr noundef nonnull @.str.4) #12
  %5873 = load i32, ptr %2630, align 4, !tbaa !5
  %5874 = call ptr @s2n_strerror_debug(i32 noundef %5873, ptr noundef nonnull @.str.4) #12
  %5875 = load i32, ptr %3214, align 4, !tbaa !5
  %5876 = call ptr @strerror(i32 noundef %5875) #12
  %5877 = load i32, ptr %3214, align 4, !tbaa !5
  %5878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5869, ptr noundef nonnull %.str.5.sink2715, i32 noundef %5870, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %5872, ptr noundef %5874, ptr noundef %5876, i32 noundef %5877) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5879:                                             ; preds = %5852
  %5880 = getelementptr inbounds [4 x %struct.anon.0], ptr %68, i64 0, i64 %.0559833
  %5881 = load i32, ptr %5880, align 4, !tbaa !67
  %5882 = load i32, ptr @test_count, align 4, !tbaa !5
  %5883 = add nsw i32 %5882, 1
  store i32 %5883, ptr @test_count, align 4, !tbaa !5
  %5884 = call i32 @s2n_connection_set_recv_buffering(ptr noundef %5672, i1 noundef zeroext true) #12
  %5885 = icmp eq i32 %5884, -1
  br i1 %5885, label %5886, label %5908

5886:                                             ; preds = %5879
  %5887 = load i32, ptr %3214, align 4, !tbaa !5
  %5888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5889 = call i32 @s2n_print_stacktrace(ptr noundef %5888) #12
  %5890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5891 = trunc nuw i8 %5890 to i1
  br i1 %5891, label %5892, label %5896

5892:                                             ; preds = %5886
  %5893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5894 = call i32 @fileno(ptr noundef %5893) #12
  %5895 = call i32 @isatty(i32 noundef %5894) #12
  %.not645 = icmp eq i32 %5895, 0
  br i1 %.not645, label %5896, label %5897

5896:                                             ; preds = %5892, %5886
  br label %5897

5897:                                             ; preds = %5892, %5896
  %.str.5.sink2724 = phi ptr [ @.str.5, %5896 ], [ @.str.2, %5892 ]
  store i32 %5887, ptr %3214, align 4, !tbaa !5
  %5898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = load i32, ptr %2630, align 4, !tbaa !5
  %5901 = call ptr @s2n_strerror(i32 noundef %5900, ptr noundef nonnull @.str.4) #12
  %5902 = load i32, ptr %2630, align 4, !tbaa !5
  %5903 = call ptr @s2n_strerror_debug(i32 noundef %5902, ptr noundef nonnull @.str.4) #12
  %5904 = load i32, ptr %3214, align 4, !tbaa !5
  %5905 = call ptr @strerror(i32 noundef %5904) #12
  %5906 = load i32, ptr %3214, align 4, !tbaa !5
  %5907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5898, ptr noundef nonnull %.str.5.sink2724, i32 noundef %5899, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %5901, ptr noundef %5903, ptr noundef %5905, i32 noundef %5906) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5908:                                             ; preds = %5879
  %5909 = load i32, ptr @test_count, align 4, !tbaa !5
  %5910 = add nsw i32 %5909, 1
  store i32 %5910, ptr @test_count, align 4, !tbaa !5
  %5911 = zext i32 %5881 to i64
  %5912 = call i64 @s2n_recv(ptr noundef %5672, ptr noundef nonnull %71, i64 noundef %5911, ptr noundef nonnull %70) #12
  %5913 = icmp eq i64 %5912, %5911
  br i1 %5913, label %5936, label %5914

5914:                                             ; preds = %5908
  %5915 = load i32, ptr %3214, align 4, !tbaa !5
  %5916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5917 = call i32 @s2n_print_stacktrace(ptr noundef %5916) #12
  %5918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5919 = trunc nuw i8 %5918 to i1
  br i1 %5919, label %5920, label %5924

5920:                                             ; preds = %5914
  %5921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5922 = call i32 @fileno(ptr noundef %5921) #12
  %5923 = call i32 @isatty(i32 noundef %5922) #12
  %.not640 = icmp eq i32 %5923, 0
  br i1 %.not640, label %5924, label %5925

5924:                                             ; preds = %5920, %5914
  br label %5925

5925:                                             ; preds = %5920, %5924
  %.str.5.sink2733 = phi ptr [ @.str.5, %5924 ], [ @.str.2, %5920 ]
  store i32 %5915, ptr %3214, align 4, !tbaa !5
  %5926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5927 = load i32, ptr @test_count, align 4, !tbaa !5
  %5928 = load i32, ptr %2630, align 4, !tbaa !5
  %5929 = call ptr @s2n_strerror(i32 noundef %5928, ptr noundef nonnull @.str.4) #12
  %5930 = load i32, ptr %2630, align 4, !tbaa !5
  %5931 = call ptr @s2n_strerror_debug(i32 noundef %5930, ptr noundef nonnull @.str.4) #12
  %5932 = load i32, ptr %3214, align 4, !tbaa !5
  %5933 = call ptr @strerror(i32 noundef %5932) #12
  %5934 = load i32, ptr %3214, align 4, !tbaa !5
  %5935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5926, ptr noundef nonnull %.str.5.sink2733, i32 noundef %5927, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 609, ptr noundef %5929, ptr noundef %5931, ptr noundef %5933, i32 noundef %5934) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5936:                                             ; preds = %5908
  %5937 = load i32, ptr @test_count, align 4, !tbaa !5
  %5938 = add nsw i32 %5937, 1
  store i32 %5938, ptr @test_count, align 4, !tbaa !5
  %5939 = call i32 @s2n_peek_buffered(ptr noundef %5672) #12
  %5940 = getelementptr inbounds i8, ptr %5880, i64 8
  %5941 = load i32, ptr %5940, align 4, !tbaa !70
  %5942 = icmp eq i32 %5939, %5941
  br i1 %5942, label %5965, label %5943

5943:                                             ; preds = %5936
  %5944 = load i32, ptr %3214, align 4, !tbaa !5
  %5945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5946 = call i32 @s2n_print_stacktrace(ptr noundef %5945) #12
  %5947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5948 = trunc nuw i8 %5947 to i1
  br i1 %5948, label %5949, label %5953

5949:                                             ; preds = %5943
  %5950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5951 = call i32 @fileno(ptr noundef %5950) #12
  %5952 = call i32 @isatty(i32 noundef %5951) #12
  %.not641 = icmp eq i32 %5952, 0
  br i1 %.not641, label %5953, label %5954

5953:                                             ; preds = %5949, %5943
  br label %5954

5954:                                             ; preds = %5949, %5953
  %.str.5.sink2742 = phi ptr [ @.str.5, %5953 ], [ @.str.2, %5949 ]
  store i32 %5944, ptr %3214, align 4, !tbaa !5
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = load i32, ptr @test_count, align 4, !tbaa !5
  %5957 = load i32, ptr %2630, align 4, !tbaa !5
  %5958 = call ptr @s2n_strerror(i32 noundef %5957, ptr noundef nonnull @.str.4) #12
  %5959 = load i32, ptr %2630, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror_debug(i32 noundef %5959, ptr noundef nonnull @.str.4) #12
  %5961 = load i32, ptr %3214, align 4, !tbaa !5
  %5962 = call ptr @strerror(i32 noundef %5961) #12
  %5963 = load i32, ptr %3214, align 4, !tbaa !5
  %5964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5955, ptr noundef nonnull %.str.5.sink2742, i32 noundef %5956, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %5958, ptr noundef %5960, ptr noundef %5962, i32 noundef %5963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5965:                                             ; preds = %5936
  %5966 = load i32, ptr @test_count, align 4, !tbaa !5
  %5967 = add nsw i32 %5966, 1
  store i32 %5967, ptr @test_count, align 4, !tbaa !5
  %5968 = call i32 @s2n_peek(ptr noundef %5672) #12
  %5969 = getelementptr inbounds i8, ptr %5880, i64 4
  %5970 = load i32, ptr %5969, align 4, !tbaa !69
  %5971 = icmp eq i32 %5968, %5970
  br i1 %5971, label %5994, label %5972

5972:                                             ; preds = %5965
  %5973 = load i32, ptr %3214, align 4, !tbaa !5
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = call i32 @s2n_print_stacktrace(ptr noundef %5974) #12
  %5976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5977 = trunc nuw i8 %5976 to i1
  br i1 %5977, label %5978, label %5982

5978:                                             ; preds = %5972
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = call i32 @fileno(ptr noundef %5979) #12
  %5981 = call i32 @isatty(i32 noundef %5980) #12
  %.not642 = icmp eq i32 %5981, 0
  br i1 %.not642, label %5982, label %5983

5982:                                             ; preds = %5978, %5972
  br label %5983

5983:                                             ; preds = %5978, %5982
  %.str.5.sink2751 = phi ptr [ @.str.5, %5982 ], [ @.str.2, %5978 ]
  store i32 %5973, ptr %3214, align 4, !tbaa !5
  %5984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5985 = load i32, ptr @test_count, align 4, !tbaa !5
  %5986 = load i32, ptr %2630, align 4, !tbaa !5
  %5987 = call ptr @s2n_strerror(i32 noundef %5986, ptr noundef nonnull @.str.4) #12
  %5988 = load i32, ptr %2630, align 4, !tbaa !5
  %5989 = call ptr @s2n_strerror_debug(i32 noundef %5988, ptr noundef nonnull @.str.4) #12
  %5990 = load i32, ptr %3214, align 4, !tbaa !5
  %5991 = call ptr @strerror(i32 noundef %5990) #12
  %5992 = load i32, ptr %3214, align 4, !tbaa !5
  %5993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5984, ptr noundef nonnull %.str.5.sink2751, i32 noundef %5985, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %5987, ptr noundef %5989, ptr noundef %5991, i32 noundef %5992) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5994:                                             ; preds = %5965
  %5995 = load i32, ptr @test_count, align 4, !tbaa !5
  %5996 = add nsw i32 %5995, 1
  store i32 %5996, ptr @test_count, align 4, !tbaa !5
  %5997 = call i32 @s2n_connection_wipe(ptr noundef %5643) #12
  %5998 = icmp eq i32 %5997, -1
  br i1 %5998, label %5999, label %6021

5999:                                             ; preds = %5994
  %6000 = load i32, ptr %3214, align 4, !tbaa !5
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = call i32 @s2n_print_stacktrace(ptr noundef %6001) #12
  %6003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6004 = trunc nuw i8 %6003 to i1
  br i1 %6004, label %6005, label %6009

6005:                                             ; preds = %5999
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = call i32 @fileno(ptr noundef %6006) #12
  %6008 = call i32 @isatty(i32 noundef %6007) #12
  %.not644 = icmp eq i32 %6008, 0
  br i1 %.not644, label %6009, label %6010

6009:                                             ; preds = %6005, %5999
  br label %6010

6010:                                             ; preds = %6005, %6009
  %.str.5.sink2760 = phi ptr [ @.str.5, %6009 ], [ @.str.2, %6005 ]
  store i32 %6000, ptr %3214, align 4, !tbaa !5
  %6011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6012 = load i32, ptr @test_count, align 4, !tbaa !5
  %6013 = load i32, ptr %2630, align 4, !tbaa !5
  %6014 = call ptr @s2n_strerror(i32 noundef %6013, ptr noundef nonnull @.str.4) #12
  %6015 = load i32, ptr %2630, align 4, !tbaa !5
  %6016 = call ptr @s2n_strerror_debug(i32 noundef %6015, ptr noundef nonnull @.str.4) #12
  %6017 = load i32, ptr %3214, align 4, !tbaa !5
  %6018 = call ptr @strerror(i32 noundef %6017) #12
  %6019 = load i32, ptr %3214, align 4, !tbaa !5
  %6020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6011, ptr noundef nonnull %.str.5.sink2760, i32 noundef %6012, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 613, ptr noundef %6014, ptr noundef %6016, ptr noundef %6018, i32 noundef %6019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6021:                                             ; preds = %5994
  %6022 = load i32, ptr @test_count, align 4, !tbaa !5
  %6023 = add nsw i32 %6022, 1
  store i32 %6023, ptr @test_count, align 4, !tbaa !5
  %6024 = call i32 @s2n_connection_wipe(ptr noundef %5672) #12
  %6025 = icmp eq i32 %6024, -1
  br i1 %6025, label %6026, label %6048

6026:                                             ; preds = %6021
  %6027 = load i32, ptr %3214, align 4, !tbaa !5
  %6028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6029 = call i32 @s2n_print_stacktrace(ptr noundef %6028) #12
  %6030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6031 = trunc nuw i8 %6030 to i1
  br i1 %6031, label %6032, label %6036

6032:                                             ; preds = %6026
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = call i32 @fileno(ptr noundef %6033) #12
  %6035 = call i32 @isatty(i32 noundef %6034) #12
  %.not643 = icmp eq i32 %6035, 0
  br i1 %.not643, label %6036, label %6037

6036:                                             ; preds = %6032, %6026
  br label %6037

6037:                                             ; preds = %6032, %6036
  %.str.5.sink2769 = phi ptr [ @.str.5, %6036 ], [ @.str.2, %6032 ]
  store i32 %6027, ptr %3214, align 4, !tbaa !5
  %6038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6039 = load i32, ptr @test_count, align 4, !tbaa !5
  %6040 = load i32, ptr %2630, align 4, !tbaa !5
  %6041 = call ptr @s2n_strerror(i32 noundef %6040, ptr noundef nonnull @.str.4) #12
  %6042 = load i32, ptr %2630, align 4, !tbaa !5
  %6043 = call ptr @s2n_strerror_debug(i32 noundef %6042, ptr noundef nonnull @.str.4) #12
  %6044 = load i32, ptr %3214, align 4, !tbaa !5
  %6045 = call ptr @strerror(i32 noundef %6044) #12
  %6046 = load i32, ptr %3214, align 4, !tbaa !5
  %6047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6038, ptr noundef nonnull %.str.5.sink2769, i32 noundef %6039, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 614, ptr noundef %6041, ptr noundef %6043, ptr noundef %6045, i32 noundef %6046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6048:                                             ; preds = %6021
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %70) #12
  %6049 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %69) #12
  %6050 = add nuw nsw i64 %.0559833, 1
  %exitcond856.not = icmp eq i64 %6050, 4
  br i1 %exitcond856.not, label %5712, label %5717, !llvm.loop !71

6051:                                             ; preds = %5712
  %6052 = load i32, ptr %3214, align 4, !tbaa !5
  %6053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6054 = call i32 @s2n_print_stacktrace(ptr noundef %6053) #12
  %6055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6056 = trunc nuw i8 %6055 to i1
  br i1 %6056, label %6057, label %6061

6057:                                             ; preds = %6051
  %6058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6059 = call i32 @fileno(ptr noundef %6058) #12
  %6060 = call i32 @isatty(i32 noundef %6059) #12
  %.not635 = icmp eq i32 %6060, 0
  br i1 %.not635, label %6061, label %6062

6061:                                             ; preds = %6057, %6051
  br label %6062

6062:                                             ; preds = %6057, %6061
  %.str.5.sink2778 = phi ptr [ @.str.5, %6061 ], [ @.str.2, %6057 ]
  store i32 %6052, ptr %3214, align 4, !tbaa !5
  %6063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6064 = load i32, ptr @test_count, align 4, !tbaa !5
  %6065 = load i32, ptr %2630, align 4, !tbaa !5
  %6066 = call ptr @s2n_strerror(i32 noundef %6065, ptr noundef nonnull @.str.4) #12
  %6067 = load i32, ptr %2630, align 4, !tbaa !5
  %6068 = call ptr @s2n_strerror_debug(i32 noundef %6067, ptr noundef nonnull @.str.4) #12
  %6069 = load i32, ptr %3214, align 4, !tbaa !5
  %6070 = call ptr @strerror(i32 noundef %6069) #12
  %6071 = load i32, ptr %3214, align 4, !tbaa !5
  %6072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6063, ptr noundef nonnull %.str.5.sink2778, i32 noundef %6064, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %6066, ptr noundef %6068, ptr noundef %6070, i32 noundef %6071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6073:                                             ; preds = %5712
  %6074 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %6075 = icmp eq i32 %6074, -1
  br i1 %6075, label %6076, label %6098

6076:                                             ; preds = %6073
  %6077 = load i32, ptr %3214, align 4, !tbaa !5
  %6078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6079 = call i32 @s2n_print_stacktrace(ptr noundef %6078) #12
  %6080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6081 = trunc nuw i8 %6080 to i1
  br i1 %6081, label %6082, label %6086

6082:                                             ; preds = %6076
  %6083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6084 = call i32 @fileno(ptr noundef %6083) #12
  %6085 = call i32 @isatty(i32 noundef %6084) #12
  %.not634 = icmp eq i32 %6085, 0
  br i1 %.not634, label %6086, label %6087

6086:                                             ; preds = %6082, %6076
  br label %6087

6087:                                             ; preds = %6082, %6086
  %.str.5.sink2787 = phi ptr [ @.str.5, %6086 ], [ @.str.2, %6082 ]
  store i32 %6077, ptr %3214, align 4, !tbaa !5
  %6088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6089 = load i32, ptr @test_count, align 4, !tbaa !5
  %6090 = load i32, ptr %2630, align 4, !tbaa !5
  %6091 = call ptr @s2n_strerror(i32 noundef %6090, ptr noundef nonnull @.str.4) #12
  %6092 = load i32, ptr %2630, align 4, !tbaa !5
  %6093 = call ptr @s2n_strerror_debug(i32 noundef %6092, ptr noundef nonnull @.str.4) #12
  %6094 = load i32, ptr %3214, align 4, !tbaa !5
  %6095 = call ptr @strerror(i32 noundef %6094) #12
  %6096 = load i32, ptr %3214, align 4, !tbaa !5
  %6097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6088, ptr noundef nonnull %.str.5.sink2787, i32 noundef %6089, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %6091, ptr noundef %6093, ptr noundef %6095, i32 noundef %6096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6098:                                             ; preds = %6073
  %6099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6100 = trunc nuw i8 %6099 to i1
  br i1 %6100, label %6101, label %6112

6101:                                             ; preds = %6098
  %6102 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6103 = call i32 @fileno(ptr noundef %6102) #12
  %6104 = call i32 @isatty(i32 noundef %6103) #12
  %.not631 = icmp eq i32 %6104, 0
  br i1 %.not631, label %6112, label %6105

6105:                                             ; preds = %6101
  %6106 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not633 = icmp eq i32 %6106, 0
  %6107 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not633, label %6110, label %6108

6108:                                             ; preds = %6105
  %6109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6107, ptr noundef nonnull @.str.79, i32 noundef %6106) #12
  br label %6119

6110:                                             ; preds = %6105
  %6111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6107, ptr noundef nonnull @.str.80) #12
  br label %6119

6112:                                             ; preds = %6101, %6098
  %6113 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not632 = icmp eq i32 %6113, 0
  %6114 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not632, label %6117, label %6115

6115:                                             ; preds = %6112
  %6116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6114, ptr noundef nonnull @.str.81, i32 noundef %6113) #12
  br label %6119

6117:                                             ; preds = %6112
  %6118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6114, ptr noundef nonnull @.str.82) #12
  br label %6119

6119:                                             ; preds = %6115, %6117, %6108, %6110
  call void @llvm.lifetime.end.p0(i64 54, ptr nonnull %49) #12
  %6120 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12
  %6121 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %6122 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %3) #12
  ret i32 0
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

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

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_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_recv_multi_record(ptr noundef, i1 noundef zeroext) 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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #10

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_connection_set_counting_read(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i64 @s2n_send(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_recv_buffering(ptr noundef, i1 noundef zeroext) local_unnamed_addr #2

declare i64 @s2n_recv(ptr noundef, ptr noundef, i64 noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_release_buffers(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_copy(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_read(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_peek_buffered(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_peek(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #11

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { nofree nounwind willreturn memory(argmem: read) }
attributes #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 68}
!16 = !{!"s2n_test_io_stuffer_pair", !17, i64 0, !17, i64 40}
!17 = !{!"s2n_stuffer", !18, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!18 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!19 = !{!16, !6, i64 64}
!20 = !{!21, !22, i64 0}
!21 = !{!"s2n_recv_wrapper", !22, i64 0, !10, i64 8, !10, i64 16}
!22 = !{!"long", !7, i64 0}
!23 = !{!24, !37, i64 2208}
!24 = !{!"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, !25, i64 160, !22, i64 168, !22, 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, !26, i64 240, !10, i64 632, !10, i64 640, !27, i64 648, !32, i64 1144, !35, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !17, i64 1776, !17, i64 1816, !17, i64 1856, !17, i64 1896, !6, i64 1936, !22, i64 1944, !7, i64 1952, !17, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !38, i64 2004, !38, i64 2008, !39, i64 2016, !37, i64 2208, !6, i64 2212, !37, i64 2216, !22, i64 2224, !7, i64 2232, !22, i64 2240, !22, i64 2248, !22, i64 2256, !38, i64 2264, !38, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !18, i64 2792, !6, i64 2816, !18, i64 2824, !18, i64 2848, !18, i64 2872, !41, i64 2896, !43, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !18, i64 3784, !6, i64 3808, !45, i64 3816, !7, i64 3848, !17, i64 3992, !18, i64 4032, !18, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !37, i64 4084, !37, i64 4086, !6, i64 4088, !6, i64 4092, !18, i64 4096, !6, i64 4120, !46, i64 4128, !38, i64 4176, !7, i64 4180, !7, i64 4181}
!25 = !{!"s2n_timer", !22, i64 0}
!26 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!27 = !{!"s2n_kex_parameters", !28, i64 0, !29, i64 8, !7, i64 24, !29, i64 56, !30, i64 72, !30, i64 184, !7, i64 296, !31, i64 360, !18, i64 448, !18, i64 472}
!28 = !{!"s2n_dh_params", !10, i64 0}
!29 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!30 = !{!"s2n_kem_group_params", !10, i64 0, !31, i64 8, !29, i64 96}
!31 = !{!"s2n_kem_params", !10, i64 0, !18, i64 8, !18, i64 32, !18, i64 56, !12, i64 80}
!32 = !{!"s2n_handshake_parameters", !33, i64 0, !33, i64 48, !18, i64 96, !6, i64 120, !34, 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}
!33 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!34 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!35 = !{!"s2n_psk_parameters", !6, i64 0, !36, i64 8, !37, i64 40, !37, i64 42, !10, i64 48, !6, i64 56}
!36 = !{!"s2n_array", !18, i64 0, !6, i64 24, !6, i64 28}
!37 = !{!"short", !7, i64 0}
!38 = !{!"", !6, i64 0}
!39 = !{!"s2n_handshake", !17, 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, !40, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!40 = !{!"s2n_offered_early_data", !10, i64 0}
!41 = !{!"s2n_client_hello", !18, i64 0, !42, i64 24, !18, i64 728, !18, i64 752, !18, 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}
!42 = !{!"", !7, i64 0, !18, i64 672, !37, i64 696}
!43 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !37, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !44, i64 48, !12, i64 52}
!44 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!45 = !{!"s2n_ticket_fields", !18, i64 0, !6, i64 24}
!46 = !{!"s2n_post_handshake", !17, i64 0, !7, i64 40}
!47 = !{!18, !10, i64 0}
!48 = !{!18, !6, i64 8}
!49 = !{!24, !6, i64 1824}
!50 = !{!24, !6, i64 1844}
!51 = distinct !{!51, !52}
!52 = !{!"llvm.loop.mustprogress"}
!53 = !{!24, !6, i64 1828}
!54 = distinct !{!54, !52}
!55 = distinct !{!55, !52}
!56 = distinct !{!56, !52}
!57 = !{!58, !37, i64 0}
!58 = !{!"", !37, i64 0, !37, i64 2, !7, i64 4}
!59 = !{!58, !37, i64 2}
!60 = !{!58, !7, i64 4}
!61 = distinct !{!61, !52}
!62 = distinct !{!62, !52}
!63 = distinct !{!63, !52}
!64 = !{!24, !6, i64 1840}
!65 = !{!24, !6, i64 1884}
!66 = !{!24, !6, i64 1880}
!67 = !{!68, !6, i64 0}
!68 = !{!"", !6, i64 0, !6, i64 4, !6, i64 8}
!69 = !{!68, !6, i64 4}
!70 = !{!68, !6, i64 8}
!71 = distinct !{!71, !52}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyCFGPass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass